teodor-new-chat-ui 3.0.12 → 3.0.13
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/index.esm.js +138 -134
- package/dist/index.umd.js +5 -5
- package/package.json +1 -1
package/dist/index.umd.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(re,i){typeof exports=="object"&&typeof module<"u"?i(exports,require("react/jsx-runtime"),require("react"),require("lucide-react"),require("@radix-ui/react-slot"),require("class-variance-authority"),require("clsx"),require("tailwind-merge"),require("react-dom"),require("react-markdown"),require("remark-gfm")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react","lucide-react","@radix-ui/react-slot","class-variance-authority","clsx","tailwind-merge","react-dom","react-markdown","remark-gfm"],i):(re=typeof globalThis<"u"?globalThis:re||self,i(re.NewChatUI={},re.jsxRuntime,re.React,re.LucideReact,re.reactSlot,re.classVarianceAuthority,re.clsx,re.tailwindMerge,re.ReactDOM,re.ReactMarkdown,re.remarkGfm))})(this,function(re,i,T,X,Ie,Wt,qd,Xd,ws,Yd,Jd){"use strict";var Ln=typeof document<"u"?document.currentScript:null;function ys(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const d=ys(T),gr=ys(ws);function xs(e,t){return function(){return e.apply(t,arguments)}}const{toString:Zd}=Object.prototype,{getPrototypeOf:Fn}=Object,{iterator:mr,toStringTag:Ss}=Symbol,br=(e=>t=>{const r=Zd.call(t);return e[r]||(e[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),$e=e=>(e=e.toLowerCase(),t=>br(t)===e),vr=e=>t=>typeof t===e,{isArray:Ct}=Array,Et=vr("undefined");function Vt(e){return e!==null&&!Et(e)&&e.constructor!==null&&!Et(e.constructor)&&Ee(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const Cs=$e("ArrayBuffer");function Qd(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&Cs(e.buffer),t}const eu=vr("string"),Ee=vr("function"),Es=vr("number"),jt=e=>e!==null&&typeof e=="object",tu=e=>e===!0||e===!1,wr=e=>{if(br(e)!=="object")return!1;const t=Fn(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Ss in e)&&!(mr in e)},ru=e=>{if(!jt(e)||Vt(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},nu=$e("Date"),ou=$e("File"),su=$e("Blob"),au=$e("FileList"),iu=e=>jt(e)&&Ee(e.pipe),cu=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||Ee(e.append)&&((t=br(e))==="formdata"||t==="object"&&Ee(e.toString)&&e.toString()==="[object FormData]"))},lu=$e("URLSearchParams"),[du,uu,fu,pu]=["ReadableStream","Request","Response","Headers"].map($e),hu=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Kt(e,t,{allOwnKeys:r=!1}={}){if(e===null||typeof e>"u")return;let n,o;if(typeof e!="object"&&(e=[e]),Ct(e))for(n=0,o=e.length;n<o;n++)t.call(null,e[n],n,e);else{if(Vt(e))return;const s=r?Object.getOwnPropertyNames(e):Object.keys(e),a=s.length;let c;for(n=0;n<a;n++)c=s[n],t.call(null,e[c],c,e)}}function Ns(e,t){if(Vt(e))return null;t=t.toLowerCase();const r=Object.keys(e);let n=r.length,o;for(;n-- >0;)if(o=r[n],t===o.toLowerCase())return o;return null}const pt=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,Ts=e=>!Et(e)&&e!==pt;function $n(){const{caseless:e,skipUndefined:t}=Ts(this)&&this||{},r={},n=(o,s)=>{const a=e&&Ns(r,s)||s;wr(r[a])&&wr(o)?r[a]=$n(r[a],o):wr(o)?r[a]=$n({},o):Ct(o)?r[a]=o.slice():(!t||!Et(o))&&(r[a]=o)};for(let o=0,s=arguments.length;o<s;o++)arguments[o]&&Kt(arguments[o],n);return r}const gu=(e,t,r,{allOwnKeys:n}={})=>(Kt(t,(o,s)=>{r&&Ee(o)?e[s]=xs(o,r):e[s]=o},{allOwnKeys:n}),e),mu=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),bu=(e,t,r,n)=>{e.prototype=Object.create(t.prototype,n),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),r&&Object.assign(e.prototype,r)},vu=(e,t,r,n)=>{let o,s,a;const c={};if(t=t||{},e==null)return t;do{for(o=Object.getOwnPropertyNames(e),s=o.length;s-- >0;)a=o[s],(!n||n(a,e,t))&&!c[a]&&(t[a]=e[a],c[a]=!0);e=r!==!1&&Fn(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},wu=(e,t,r)=>{e=String(e),(r===void 0||r>e.length)&&(r=e.length),r-=t.length;const n=e.indexOf(t,r);return n!==-1&&n===r},yu=e=>{if(!e)return null;if(Ct(e))return e;let t=e.length;if(!Es(t))return null;const r=new Array(t);for(;t-- >0;)r[t]=e[t];return r},xu=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&Fn(Uint8Array)),Su=(e,t)=>{const n=(e&&e[mr]).call(e);let o;for(;(o=n.next())&&!o.done;){const s=o.value;t.call(e,s[0],s[1])}},Cu=(e,t)=>{let r;const n=[];for(;(r=e.exec(t))!==null;)n.push(r);return n},Eu=$e("HTMLFormElement"),Nu=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(r,n,o){return n.toUpperCase()+o}),As=(({hasOwnProperty:e})=>(t,r)=>e.call(t,r))(Object.prototype),Tu=$e("RegExp"),Ps=(e,t)=>{const r=Object.getOwnPropertyDescriptors(e),n={};Kt(r,(o,s)=>{let a;(a=t(o,s,e))!==!1&&(n[s]=a||o)}),Object.defineProperties(e,n)},Au=e=>{Ps(e,(t,r)=>{if(Ee(e)&&["arguments","caller","callee"].indexOf(r)!==-1)return!1;const n=e[r];if(Ee(n)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")})}})},Pu=(e,t)=>{const r={},n=o=>{o.forEach(s=>{r[s]=!0})};return Ct(e)?n(e):n(String(e).split(t)),r},Iu=()=>{},_u=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function ku(e){return!!(e&&Ee(e.append)&&e[Ss]==="FormData"&&e[mr])}const Ou=e=>{const t=new Array(10),r=(n,o)=>{if(jt(n)){if(t.indexOf(n)>=0)return;if(Vt(n))return n;if(!("toJSON"in n)){t[o]=n;const s=Ct(n)?[]:{};return Kt(n,(a,c)=>{const l=r(a,o+1);!Et(l)&&(s[c]=l)}),t[o]=void 0,s}}return n};return r(e,0)},Mu=$e("AsyncFunction"),Du=e=>e&&(jt(e)||Ee(e))&&Ee(e.then)&&Ee(e.catch),Is=((e,t)=>e?setImmediate:t?((r,n)=>(pt.addEventListener("message",({source:o,data:s})=>{o===pt&&s===r&&n.length&&n.shift()()},!1),o=>{n.push(o),pt.postMessage(r,"*")}))(`axios@${Math.random()}`,[]):r=>setTimeout(r))(typeof setImmediate=="function",Ee(pt.postMessage)),Lu=typeof queueMicrotask<"u"?queueMicrotask.bind(pt):typeof process<"u"&&process.nextTick||Is,S={isArray:Ct,isArrayBuffer:Cs,isBuffer:Vt,isFormData:cu,isArrayBufferView:Qd,isString:eu,isNumber:Es,isBoolean:tu,isObject:jt,isPlainObject:wr,isEmptyObject:ru,isReadableStream:du,isRequest:uu,isResponse:fu,isHeaders:pu,isUndefined:Et,isDate:nu,isFile:ou,isBlob:su,isRegExp:Tu,isFunction:Ee,isStream:iu,isURLSearchParams:lu,isTypedArray:xu,isFileList:au,forEach:Kt,merge:$n,extend:gu,trim:hu,stripBOM:mu,inherits:bu,toFlatObject:vu,kindOf:br,kindOfTest:$e,endsWith:wu,toArray:yu,forEachEntry:Su,matchAll:Cu,isHTMLForm:Eu,hasOwnProperty:As,hasOwnProp:As,reduceDescriptors:Ps,freezeMethods:Au,toObjectSet:Pu,toCamelCase:Nu,noop:Iu,toFiniteNumber:_u,findKey:Ns,global:pt,isContextDefined:Ts,isSpecCompliantForm:ku,toJSONObject:Ou,isAsyncFn:Mu,isThenable:Du,setImmediate:Is,asap:Lu,isIterable:e=>e!=null&&Ee(e[mr])};function oe(e,t,r,n,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),r&&(this.config=r),n&&(this.request=n),o&&(this.response=o,this.status=o.status?o.status:null)}S.inherits(oe,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:S.toJSONObject(this.config),code:this.code,status:this.status}}});const _s=oe.prototype,ks={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{ks[e]={value:e}}),Object.defineProperties(oe,ks),Object.defineProperty(_s,"isAxiosError",{value:!0}),oe.from=(e,t,r,n,o,s)=>{const a=Object.create(_s);S.toFlatObject(e,a,function(u){return u!==Error.prototype},f=>f!=="isAxiosError");const c=e&&e.message?e.message:"Error",l=t==null&&e?e.code:t;return oe.call(a,c,l,r,n,o),e&&a.cause==null&&Object.defineProperty(a,"cause",{value:e,configurable:!0}),a.name=e&&e.name||"Error",s&&Object.assign(a,s),a};const Fu=null;function Bn(e){return S.isPlainObject(e)||S.isArray(e)}function Os(e){return S.endsWith(e,"[]")?e.slice(0,-2):e}function Ms(e,t,r){return e?e.concat(t).map(function(o,s){return o=Os(o),!r&&s?"["+o+"]":o}).join(r?".":""):t}function $u(e){return S.isArray(e)&&!e.some(Bn)}const Bu=S.toFlatObject(S,{},null,function(t){return/^is[A-Z]/.test(t)});function yr(e,t,r){if(!S.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,r=S.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(g,b){return!S.isUndefined(b[g])});const n=r.metaTokens,o=r.visitor||u,s=r.dots,a=r.indexes,l=(r.Blob||typeof Blob<"u"&&Blob)&&S.isSpecCompliantForm(t);if(!S.isFunction(o))throw new TypeError("visitor must be a function");function f(m){if(m===null)return"";if(S.isDate(m))return m.toISOString();if(S.isBoolean(m))return m.toString();if(!l&&S.isBlob(m))throw new oe("Blob is not supported. Use a Buffer instead.");return S.isArrayBuffer(m)||S.isTypedArray(m)?l&&typeof Blob=="function"?new Blob([m]):Buffer.from(m):m}function u(m,g,b){let w=m;if(m&&!b&&typeof m=="object"){if(S.endsWith(g,"{}"))g=n?g:g.slice(0,-2),m=JSON.stringify(m);else if(S.isArray(m)&&$u(m)||(S.isFileList(m)||S.endsWith(g,"[]"))&&(w=S.toArray(m)))return g=Os(g),w.forEach(function(y,C){!(S.isUndefined(y)||y===null)&&t.append(a===!0?Ms([g],C,s):a===null?g:g+"[]",f(y))}),!1}return Bn(m)?!0:(t.append(Ms(b,g,s),f(m)),!1)}const p=[],h=Object.assign(Bu,{defaultVisitor:u,convertValue:f,isVisitable:Bn});function v(m,g){if(!S.isUndefined(m)){if(p.indexOf(m)!==-1)throw Error("Circular reference detected in "+g.join("."));p.push(m),S.forEach(m,function(w,x){(!(S.isUndefined(w)||w===null)&&o.call(t,w,S.isString(x)?x.trim():x,g,h))===!0&&v(w,g?g.concat(x):[x])}),p.pop()}}if(!S.isObject(e))throw new TypeError("data must be an object");return v(e),t}function Ds(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(n){return t[n]})}function Un(e,t){this._pairs=[],e&&yr(e,this,t)}const Ls=Un.prototype;Ls.append=function(t,r){this._pairs.push([t,r])},Ls.toString=function(t){const r=t?function(n){return t.call(this,n,Ds)}:Ds;return this._pairs.map(function(o){return r(o[0])+"="+r(o[1])},"").join("&")};function Uu(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function Fs(e,t,r){if(!t)return e;const n=r&&r.encode||Uu;S.isFunction(r)&&(r={serialize:r});const o=r&&r.serialize;let s;if(o?s=o(t,r):s=S.isURLSearchParams(t)?t.toString():new Un(t,r).toString(n),s){const a=e.indexOf("#");a!==-1&&(e=e.slice(0,a)),e+=(e.indexOf("?")===-1?"?":"&")+s}return e}class $s{constructor(){this.handlers=[]}use(t,r,n){return this.handlers.push({fulfilled:t,rejected:r,synchronous:n?n.synchronous:!1,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){S.forEach(this.handlers,function(n){n!==null&&t(n)})}}const Bs={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Hu={isBrowser:!0,classes:{URLSearchParams:typeof URLSearchParams<"u"?URLSearchParams:Un,FormData:typeof FormData<"u"?FormData:null,Blob:typeof Blob<"u"?Blob:null},protocols:["http","https","file","blob","url","data"]},Hn=typeof window<"u"&&typeof document<"u",zn=typeof navigator=="object"&&navigator||void 0,zu=Hn&&(!zn||["ReactNative","NativeScript","NS"].indexOf(zn.product)<0),Wu=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",Vu=Hn&&window.location.href||"http://localhost",ye={...Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Hn,hasStandardBrowserEnv:zu,hasStandardBrowserWebWorkerEnv:Wu,navigator:zn,origin:Vu},Symbol.toStringTag,{value:"Module"})),...Hu};function ju(e,t){return yr(e,new ye.classes.URLSearchParams,{visitor:function(r,n,o,s){return ye.isNode&&S.isBuffer(r)?(this.append(n,r.toString("base64")),!1):s.defaultVisitor.apply(this,arguments)},...t})}function Ku(e){return S.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function Ru(e){const t={},r=Object.keys(e);let n;const o=r.length;let s;for(n=0;n<o;n++)s=r[n],t[s]=e[s];return t}function Us(e){function t(r,n,o,s){let a=r[s++];if(a==="__proto__")return!0;const c=Number.isFinite(+a),l=s>=r.length;return a=!a&&S.isArray(o)?o.length:a,l?(S.hasOwnProp(o,a)?o[a]=[o[a],n]:o[a]=n,!c):((!o[a]||!S.isObject(o[a]))&&(o[a]=[]),t(r,n,o[a],s)&&S.isArray(o[a])&&(o[a]=Ru(o[a])),!c)}if(S.isFormData(e)&&S.isFunction(e.entries)){const r={};return S.forEachEntry(e,(n,o)=>{t(Ku(n),o,r,0)}),r}return null}function Gu(e,t,r){if(S.isString(e))try{return(t||JSON.parse)(e),S.trim(e)}catch(n){if(n.name!=="SyntaxError")throw n}return(r||JSON.stringify)(e)}const Rt={transitional:Bs,adapter:["xhr","http","fetch"],transformRequest:[function(t,r){const n=r.getContentType()||"",o=n.indexOf("application/json")>-1,s=S.isObject(t);if(s&&S.isHTMLForm(t)&&(t=new FormData(t)),S.isFormData(t))return o?JSON.stringify(Us(t)):t;if(S.isArrayBuffer(t)||S.isBuffer(t)||S.isStream(t)||S.isFile(t)||S.isBlob(t)||S.isReadableStream(t))return t;if(S.isArrayBufferView(t))return t.buffer;if(S.isURLSearchParams(t))return r.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let c;if(s){if(n.indexOf("application/x-www-form-urlencoded")>-1)return ju(t,this.formSerializer).toString();if((c=S.isFileList(t))||n.indexOf("multipart/form-data")>-1){const l=this.env&&this.env.FormData;return yr(c?{"files[]":t}:t,l&&new l,this.formSerializer)}}return s||o?(r.setContentType("application/json",!1),Gu(t)):t}],transformResponse:[function(t){const r=this.transitional||Rt.transitional,n=r&&r.forcedJSONParsing,o=this.responseType==="json";if(S.isResponse(t)||S.isReadableStream(t))return t;if(t&&S.isString(t)&&(n&&!this.responseType||o)){const a=!(r&&r.silentJSONParsing)&&o;try{return JSON.parse(t,this.parseReviver)}catch(c){if(a)throw c.name==="SyntaxError"?oe.from(c,oe.ERR_BAD_RESPONSE,this,null,this.response):c}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:ye.classes.FormData,Blob:ye.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};S.forEach(["delete","get","head","post","put","patch"],e=>{Rt.headers[e]={}});const qu=S.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Xu=e=>{const t={};let r,n,o;return e&&e.split(`
|
|
1
|
+
(function(re,i){typeof exports=="object"&&typeof module<"u"?i(exports,require("react/jsx-runtime"),require("react"),require("lucide-react"),require("@radix-ui/react-slot"),require("class-variance-authority"),require("clsx"),require("tailwind-merge"),require("react-dom"),require("react-markdown"),require("remark-gfm")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react","lucide-react","@radix-ui/react-slot","class-variance-authority","clsx","tailwind-merge","react-dom","react-markdown","remark-gfm"],i):(re=typeof globalThis<"u"?globalThis:re||self,i(re.NewChatUI={},re.jsxRuntime,re.React,re.LucideReact,re.reactSlot,re.classVarianceAuthority,re.clsx,re.tailwindMerge,re.ReactDOM,re.ReactMarkdown,re.remarkGfm))})(this,function(re,i,T,Y,Ie,Wt,qd,Xd,ws,Yd,Jd){"use strict";var Ln=typeof document<"u"?document.currentScript:null;function ys(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const d=ys(T),gr=ys(ws);function xs(e,t){return function(){return e.apply(t,arguments)}}const{toString:Zd}=Object.prototype,{getPrototypeOf:Fn}=Object,{iterator:mr,toStringTag:Ss}=Symbol,br=(e=>t=>{const r=Zd.call(t);return e[r]||(e[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),$e=e=>(e=e.toLowerCase(),t=>br(t)===e),vr=e=>t=>typeof t===e,{isArray:Ct}=Array,Et=vr("undefined");function Vt(e){return e!==null&&!Et(e)&&e.constructor!==null&&!Et(e.constructor)&&Ee(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const Cs=$e("ArrayBuffer");function Qd(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&Cs(e.buffer),t}const eu=vr("string"),Ee=vr("function"),Es=vr("number"),jt=e=>e!==null&&typeof e=="object",tu=e=>e===!0||e===!1,wr=e=>{if(br(e)!=="object")return!1;const t=Fn(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Ss in e)&&!(mr in e)},ru=e=>{if(!jt(e)||Vt(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},nu=$e("Date"),ou=$e("File"),su=$e("Blob"),au=$e("FileList"),iu=e=>jt(e)&&Ee(e.pipe),cu=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||Ee(e.append)&&((t=br(e))==="formdata"||t==="object"&&Ee(e.toString)&&e.toString()==="[object FormData]"))},lu=$e("URLSearchParams"),[du,uu,fu,pu]=["ReadableStream","Request","Response","Headers"].map($e),hu=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Kt(e,t,{allOwnKeys:r=!1}={}){if(e===null||typeof e>"u")return;let n,o;if(typeof e!="object"&&(e=[e]),Ct(e))for(n=0,o=e.length;n<o;n++)t.call(null,e[n],n,e);else{if(Vt(e))return;const s=r?Object.getOwnPropertyNames(e):Object.keys(e),a=s.length;let c;for(n=0;n<a;n++)c=s[n],t.call(null,e[c],c,e)}}function Ns(e,t){if(Vt(e))return null;t=t.toLowerCase();const r=Object.keys(e);let n=r.length,o;for(;n-- >0;)if(o=r[n],t===o.toLowerCase())return o;return null}const pt=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,Ts=e=>!Et(e)&&e!==pt;function $n(){const{caseless:e,skipUndefined:t}=Ts(this)&&this||{},r={},n=(o,s)=>{const a=e&&Ns(r,s)||s;wr(r[a])&&wr(o)?r[a]=$n(r[a],o):wr(o)?r[a]=$n({},o):Ct(o)?r[a]=o.slice():(!t||!Et(o))&&(r[a]=o)};for(let o=0,s=arguments.length;o<s;o++)arguments[o]&&Kt(arguments[o],n);return r}const gu=(e,t,r,{allOwnKeys:n}={})=>(Kt(t,(o,s)=>{r&&Ee(o)?e[s]=xs(o,r):e[s]=o},{allOwnKeys:n}),e),mu=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),bu=(e,t,r,n)=>{e.prototype=Object.create(t.prototype,n),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),r&&Object.assign(e.prototype,r)},vu=(e,t,r,n)=>{let o,s,a;const c={};if(t=t||{},e==null)return t;do{for(o=Object.getOwnPropertyNames(e),s=o.length;s-- >0;)a=o[s],(!n||n(a,e,t))&&!c[a]&&(t[a]=e[a],c[a]=!0);e=r!==!1&&Fn(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},wu=(e,t,r)=>{e=String(e),(r===void 0||r>e.length)&&(r=e.length),r-=t.length;const n=e.indexOf(t,r);return n!==-1&&n===r},yu=e=>{if(!e)return null;if(Ct(e))return e;let t=e.length;if(!Es(t))return null;const r=new Array(t);for(;t-- >0;)r[t]=e[t];return r},xu=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&Fn(Uint8Array)),Su=(e,t)=>{const n=(e&&e[mr]).call(e);let o;for(;(o=n.next())&&!o.done;){const s=o.value;t.call(e,s[0],s[1])}},Cu=(e,t)=>{let r;const n=[];for(;(r=e.exec(t))!==null;)n.push(r);return n},Eu=$e("HTMLFormElement"),Nu=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(r,n,o){return n.toUpperCase()+o}),As=(({hasOwnProperty:e})=>(t,r)=>e.call(t,r))(Object.prototype),Tu=$e("RegExp"),Ps=(e,t)=>{const r=Object.getOwnPropertyDescriptors(e),n={};Kt(r,(o,s)=>{let a;(a=t(o,s,e))!==!1&&(n[s]=a||o)}),Object.defineProperties(e,n)},Au=e=>{Ps(e,(t,r)=>{if(Ee(e)&&["arguments","caller","callee"].indexOf(r)!==-1)return!1;const n=e[r];if(Ee(n)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")})}})},Pu=(e,t)=>{const r={},n=o=>{o.forEach(s=>{r[s]=!0})};return Ct(e)?n(e):n(String(e).split(t)),r},Iu=()=>{},_u=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function ku(e){return!!(e&&Ee(e.append)&&e[Ss]==="FormData"&&e[mr])}const Ou=e=>{const t=new Array(10),r=(n,o)=>{if(jt(n)){if(t.indexOf(n)>=0)return;if(Vt(n))return n;if(!("toJSON"in n)){t[o]=n;const s=Ct(n)?[]:{};return Kt(n,(a,c)=>{const l=r(a,o+1);!Et(l)&&(s[c]=l)}),t[o]=void 0,s}}return n};return r(e,0)},Mu=$e("AsyncFunction"),Du=e=>e&&(jt(e)||Ee(e))&&Ee(e.then)&&Ee(e.catch),Is=((e,t)=>e?setImmediate:t?((r,n)=>(pt.addEventListener("message",({source:o,data:s})=>{o===pt&&s===r&&n.length&&n.shift()()},!1),o=>{n.push(o),pt.postMessage(r,"*")}))(`axios@${Math.random()}`,[]):r=>setTimeout(r))(typeof setImmediate=="function",Ee(pt.postMessage)),Lu=typeof queueMicrotask<"u"?queueMicrotask.bind(pt):typeof process<"u"&&process.nextTick||Is,S={isArray:Ct,isArrayBuffer:Cs,isBuffer:Vt,isFormData:cu,isArrayBufferView:Qd,isString:eu,isNumber:Es,isBoolean:tu,isObject:jt,isPlainObject:wr,isEmptyObject:ru,isReadableStream:du,isRequest:uu,isResponse:fu,isHeaders:pu,isUndefined:Et,isDate:nu,isFile:ou,isBlob:su,isRegExp:Tu,isFunction:Ee,isStream:iu,isURLSearchParams:lu,isTypedArray:xu,isFileList:au,forEach:Kt,merge:$n,extend:gu,trim:hu,stripBOM:mu,inherits:bu,toFlatObject:vu,kindOf:br,kindOfTest:$e,endsWith:wu,toArray:yu,forEachEntry:Su,matchAll:Cu,isHTMLForm:Eu,hasOwnProperty:As,hasOwnProp:As,reduceDescriptors:Ps,freezeMethods:Au,toObjectSet:Pu,toCamelCase:Nu,noop:Iu,toFiniteNumber:_u,findKey:Ns,global:pt,isContextDefined:Ts,isSpecCompliantForm:ku,toJSONObject:Ou,isAsyncFn:Mu,isThenable:Du,setImmediate:Is,asap:Lu,isIterable:e=>e!=null&&Ee(e[mr])};function oe(e,t,r,n,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),r&&(this.config=r),n&&(this.request=n),o&&(this.response=o,this.status=o.status?o.status:null)}S.inherits(oe,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:S.toJSONObject(this.config),code:this.code,status:this.status}}});const _s=oe.prototype,ks={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{ks[e]={value:e}}),Object.defineProperties(oe,ks),Object.defineProperty(_s,"isAxiosError",{value:!0}),oe.from=(e,t,r,n,o,s)=>{const a=Object.create(_s);S.toFlatObject(e,a,function(u){return u!==Error.prototype},f=>f!=="isAxiosError");const c=e&&e.message?e.message:"Error",l=t==null&&e?e.code:t;return oe.call(a,c,l,r,n,o),e&&a.cause==null&&Object.defineProperty(a,"cause",{value:e,configurable:!0}),a.name=e&&e.name||"Error",s&&Object.assign(a,s),a};const Fu=null;function Bn(e){return S.isPlainObject(e)||S.isArray(e)}function Os(e){return S.endsWith(e,"[]")?e.slice(0,-2):e}function Ms(e,t,r){return e?e.concat(t).map(function(o,s){return o=Os(o),!r&&s?"["+o+"]":o}).join(r?".":""):t}function $u(e){return S.isArray(e)&&!e.some(Bn)}const Bu=S.toFlatObject(S,{},null,function(t){return/^is[A-Z]/.test(t)});function yr(e,t,r){if(!S.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,r=S.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(g,b){return!S.isUndefined(b[g])});const n=r.metaTokens,o=r.visitor||u,s=r.dots,a=r.indexes,l=(r.Blob||typeof Blob<"u"&&Blob)&&S.isSpecCompliantForm(t);if(!S.isFunction(o))throw new TypeError("visitor must be a function");function f(m){if(m===null)return"";if(S.isDate(m))return m.toISOString();if(S.isBoolean(m))return m.toString();if(!l&&S.isBlob(m))throw new oe("Blob is not supported. Use a Buffer instead.");return S.isArrayBuffer(m)||S.isTypedArray(m)?l&&typeof Blob=="function"?new Blob([m]):Buffer.from(m):m}function u(m,g,b){let w=m;if(m&&!b&&typeof m=="object"){if(S.endsWith(g,"{}"))g=n?g:g.slice(0,-2),m=JSON.stringify(m);else if(S.isArray(m)&&$u(m)||(S.isFileList(m)||S.endsWith(g,"[]"))&&(w=S.toArray(m)))return g=Os(g),w.forEach(function(y,C){!(S.isUndefined(y)||y===null)&&t.append(a===!0?Ms([g],C,s):a===null?g:g+"[]",f(y))}),!1}return Bn(m)?!0:(t.append(Ms(b,g,s),f(m)),!1)}const p=[],h=Object.assign(Bu,{defaultVisitor:u,convertValue:f,isVisitable:Bn});function v(m,g){if(!S.isUndefined(m)){if(p.indexOf(m)!==-1)throw Error("Circular reference detected in "+g.join("."));p.push(m),S.forEach(m,function(w,x){(!(S.isUndefined(w)||w===null)&&o.call(t,w,S.isString(x)?x.trim():x,g,h))===!0&&v(w,g?g.concat(x):[x])}),p.pop()}}if(!S.isObject(e))throw new TypeError("data must be an object");return v(e),t}function Ds(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(n){return t[n]})}function Un(e,t){this._pairs=[],e&&yr(e,this,t)}const Ls=Un.prototype;Ls.append=function(t,r){this._pairs.push([t,r])},Ls.toString=function(t){const r=t?function(n){return t.call(this,n,Ds)}:Ds;return this._pairs.map(function(o){return r(o[0])+"="+r(o[1])},"").join("&")};function Uu(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function Fs(e,t,r){if(!t)return e;const n=r&&r.encode||Uu;S.isFunction(r)&&(r={serialize:r});const o=r&&r.serialize;let s;if(o?s=o(t,r):s=S.isURLSearchParams(t)?t.toString():new Un(t,r).toString(n),s){const a=e.indexOf("#");a!==-1&&(e=e.slice(0,a)),e+=(e.indexOf("?")===-1?"?":"&")+s}return e}class $s{constructor(){this.handlers=[]}use(t,r,n){return this.handlers.push({fulfilled:t,rejected:r,synchronous:n?n.synchronous:!1,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){S.forEach(this.handlers,function(n){n!==null&&t(n)})}}const Bs={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Hu={isBrowser:!0,classes:{URLSearchParams:typeof URLSearchParams<"u"?URLSearchParams:Un,FormData:typeof FormData<"u"?FormData:null,Blob:typeof Blob<"u"?Blob:null},protocols:["http","https","file","blob","url","data"]},Hn=typeof window<"u"&&typeof document<"u",zn=typeof navigator=="object"&&navigator||void 0,zu=Hn&&(!zn||["ReactNative","NativeScript","NS"].indexOf(zn.product)<0),Wu=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",Vu=Hn&&window.location.href||"http://localhost",ye={...Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Hn,hasStandardBrowserEnv:zu,hasStandardBrowserWebWorkerEnv:Wu,navigator:zn,origin:Vu},Symbol.toStringTag,{value:"Module"})),...Hu};function ju(e,t){return yr(e,new ye.classes.URLSearchParams,{visitor:function(r,n,o,s){return ye.isNode&&S.isBuffer(r)?(this.append(n,r.toString("base64")),!1):s.defaultVisitor.apply(this,arguments)},...t})}function Ku(e){return S.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function Ru(e){const t={},r=Object.keys(e);let n;const o=r.length;let s;for(n=0;n<o;n++)s=r[n],t[s]=e[s];return t}function Us(e){function t(r,n,o,s){let a=r[s++];if(a==="__proto__")return!0;const c=Number.isFinite(+a),l=s>=r.length;return a=!a&&S.isArray(o)?o.length:a,l?(S.hasOwnProp(o,a)?o[a]=[o[a],n]:o[a]=n,!c):((!o[a]||!S.isObject(o[a]))&&(o[a]=[]),t(r,n,o[a],s)&&S.isArray(o[a])&&(o[a]=Ru(o[a])),!c)}if(S.isFormData(e)&&S.isFunction(e.entries)){const r={};return S.forEachEntry(e,(n,o)=>{t(Ku(n),o,r,0)}),r}return null}function Gu(e,t,r){if(S.isString(e))try{return(t||JSON.parse)(e),S.trim(e)}catch(n){if(n.name!=="SyntaxError")throw n}return(r||JSON.stringify)(e)}const Rt={transitional:Bs,adapter:["xhr","http","fetch"],transformRequest:[function(t,r){const n=r.getContentType()||"",o=n.indexOf("application/json")>-1,s=S.isObject(t);if(s&&S.isHTMLForm(t)&&(t=new FormData(t)),S.isFormData(t))return o?JSON.stringify(Us(t)):t;if(S.isArrayBuffer(t)||S.isBuffer(t)||S.isStream(t)||S.isFile(t)||S.isBlob(t)||S.isReadableStream(t))return t;if(S.isArrayBufferView(t))return t.buffer;if(S.isURLSearchParams(t))return r.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let c;if(s){if(n.indexOf("application/x-www-form-urlencoded")>-1)return ju(t,this.formSerializer).toString();if((c=S.isFileList(t))||n.indexOf("multipart/form-data")>-1){const l=this.env&&this.env.FormData;return yr(c?{"files[]":t}:t,l&&new l,this.formSerializer)}}return s||o?(r.setContentType("application/json",!1),Gu(t)):t}],transformResponse:[function(t){const r=this.transitional||Rt.transitional,n=r&&r.forcedJSONParsing,o=this.responseType==="json";if(S.isResponse(t)||S.isReadableStream(t))return t;if(t&&S.isString(t)&&(n&&!this.responseType||o)){const a=!(r&&r.silentJSONParsing)&&o;try{return JSON.parse(t,this.parseReviver)}catch(c){if(a)throw c.name==="SyntaxError"?oe.from(c,oe.ERR_BAD_RESPONSE,this,null,this.response):c}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:ye.classes.FormData,Blob:ye.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};S.forEach(["delete","get","head","post","put","patch"],e=>{Rt.headers[e]={}});const qu=S.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Xu=e=>{const t={};let r,n,o;return e&&e.split(`
|
|
2
2
|
`).forEach(function(a){o=a.indexOf(":"),r=a.substring(0,o).trim().toLowerCase(),n=a.substring(o+1).trim(),!(!r||t[r]&&qu[r])&&(r==="set-cookie"?t[r]?t[r].push(n):t[r]=[n]:t[r]=t[r]?t[r]+", "+n:n)}),t},Hs=Symbol("internals");function Gt(e){return e&&String(e).trim().toLowerCase()}function xr(e){return e===!1||e==null?e:S.isArray(e)?e.map(xr):String(e)}function Yu(e){const t=Object.create(null),r=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let n;for(;n=r.exec(e);)t[n[1]]=n[2];return t}const Ju=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function Wn(e,t,r,n,o){if(S.isFunction(n))return n.call(this,t,r);if(o&&(t=r),!!S.isString(t)){if(S.isString(n))return t.indexOf(n)!==-1;if(S.isRegExp(n))return n.test(t)}}function Zu(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,r,n)=>r.toUpperCase()+n)}function Qu(e,t){const r=S.toCamelCase(" "+t);["get","set","has"].forEach(n=>{Object.defineProperty(e,n+r,{value:function(o,s,a){return this[n].call(this,t,o,s,a)},configurable:!0})})}let Ne=class{constructor(t){t&&this.set(t)}set(t,r,n){const o=this;function s(c,l,f){const u=Gt(l);if(!u)throw new Error("header name must be a non-empty string");const p=S.findKey(o,u);(!p||o[p]===void 0||f===!0||f===void 0&&o[p]!==!1)&&(o[p||l]=xr(c))}const a=(c,l)=>S.forEach(c,(f,u)=>s(f,u,l));if(S.isPlainObject(t)||t instanceof this.constructor)a(t,r);else if(S.isString(t)&&(t=t.trim())&&!Ju(t))a(Xu(t),r);else if(S.isObject(t)&&S.isIterable(t)){let c={},l,f;for(const u of t){if(!S.isArray(u))throw TypeError("Object iterator must return a key-value pair");c[f=u[0]]=(l=c[f])?S.isArray(l)?[...l,u[1]]:[l,u[1]]:u[1]}a(c,r)}else t!=null&&s(r,t,n);return this}get(t,r){if(t=Gt(t),t){const n=S.findKey(this,t);if(n){const o=this[n];if(!r)return o;if(r===!0)return Yu(o);if(S.isFunction(r))return r.call(this,o,n);if(S.isRegExp(r))return r.exec(o);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,r){if(t=Gt(t),t){const n=S.findKey(this,t);return!!(n&&this[n]!==void 0&&(!r||Wn(this,this[n],n,r)))}return!1}delete(t,r){const n=this;let o=!1;function s(a){if(a=Gt(a),a){const c=S.findKey(n,a);c&&(!r||Wn(n,n[c],c,r))&&(delete n[c],o=!0)}}return S.isArray(t)?t.forEach(s):s(t),o}clear(t){const r=Object.keys(this);let n=r.length,o=!1;for(;n--;){const s=r[n];(!t||Wn(this,this[s],s,t,!0))&&(delete this[s],o=!0)}return o}normalize(t){const r=this,n={};return S.forEach(this,(o,s)=>{const a=S.findKey(n,s);if(a){r[a]=xr(o),delete r[s];return}const c=t?Zu(s):String(s).trim();c!==s&&delete r[s],r[c]=xr(o),n[c]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const r=Object.create(null);return S.forEach(this,(n,o)=>{n!=null&&n!==!1&&(r[o]=t&&S.isArray(n)?n.join(", "):n)}),r}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,r])=>t+": "+r).join(`
|
|
3
3
|
`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...r){const n=new this(t);return r.forEach(o=>n.set(o)),n}static accessor(t){const n=(this[Hs]=this[Hs]={accessors:{}}).accessors,o=this.prototype;function s(a){const c=Gt(a);n[c]||(Qu(o,a),n[c]=!0)}return S.isArray(t)?t.forEach(s):s(t),this}};Ne.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),S.reduceDescriptors(Ne.prototype,({value:e},t)=>{let r=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(n){this[r]=n}}}),S.freezeMethods(Ne);function Vn(e,t){const r=this||Rt,n=t||r,o=Ne.from(n.headers);let s=n.data;return S.forEach(e,function(c){s=c.call(r,s,o.normalize(),t?t.status:void 0)}),o.normalize(),s}function zs(e){return!!(e&&e.__CANCEL__)}function Nt(e,t,r){oe.call(this,e??"canceled",oe.ERR_CANCELED,t,r),this.name="CanceledError"}S.inherits(Nt,oe,{__CANCEL__:!0});function Ws(e,t,r){const n=r.config.validateStatus;!r.status||!n||n(r.status)?e(r):t(new oe("Request failed with status code "+r.status,[oe.ERR_BAD_REQUEST,oe.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r))}function ef(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function tf(e,t){e=e||10;const r=new Array(e),n=new Array(e);let o=0,s=0,a;return t=t!==void 0?t:1e3,function(l){const f=Date.now(),u=n[s];a||(a=f),r[o]=l,n[o]=f;let p=s,h=0;for(;p!==o;)h+=r[p++],p=p%e;if(o=(o+1)%e,o===s&&(s=(s+1)%e),f-a<t)return;const v=u&&f-u;return v?Math.round(h*1e3/v):void 0}}function rf(e,t){let r=0,n=1e3/t,o,s;const a=(f,u=Date.now())=>{r=u,o=null,s&&(clearTimeout(s),s=null),e(...f)};return[(...f)=>{const u=Date.now(),p=u-r;p>=n?a(f,u):(o=f,s||(s=setTimeout(()=>{s=null,a(o)},n-p)))},()=>o&&a(o)]}const Sr=(e,t,r=3)=>{let n=0;const o=tf(50,250);return rf(s=>{const a=s.loaded,c=s.lengthComputable?s.total:void 0,l=a-n,f=o(l),u=a<=c;n=a;const p={loaded:a,total:c,progress:c?a/c:void 0,bytes:l,rate:f||void 0,estimated:f&&c&&u?(c-a)/f:void 0,event:s,lengthComputable:c!=null,[t?"download":"upload"]:!0};e(p)},r)},Vs=(e,t)=>{const r=e!=null;return[n=>t[0]({lengthComputable:r,total:e,loaded:n}),t[1]]},js=e=>(...t)=>S.asap(()=>e(...t)),nf=ye.hasStandardBrowserEnv?((e,t)=>r=>(r=new URL(r,ye.origin),e.protocol===r.protocol&&e.host===r.host&&(t||e.port===r.port)))(new URL(ye.origin),ye.navigator&&/(msie|trident)/i.test(ye.navigator.userAgent)):()=>!0,of=ye.hasStandardBrowserEnv?{write(e,t,r,n,o,s){const a=[e+"="+encodeURIComponent(t)];S.isNumber(r)&&a.push("expires="+new Date(r).toGMTString()),S.isString(n)&&a.push("path="+n),S.isString(o)&&a.push("domain="+o),s===!0&&a.push("secure"),document.cookie=a.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function sf(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function af(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function Ks(e,t,r){let n=!sf(t);return e&&(n||r==!1)?af(e,t):t}const Rs=e=>e instanceof Ne?{...e}:e;function ht(e,t){t=t||{};const r={};function n(f,u,p,h){return S.isPlainObject(f)&&S.isPlainObject(u)?S.merge.call({caseless:h},f,u):S.isPlainObject(u)?S.merge({},u):S.isArray(u)?u.slice():u}function o(f,u,p,h){if(S.isUndefined(u)){if(!S.isUndefined(f))return n(void 0,f,p,h)}else return n(f,u,p,h)}function s(f,u){if(!S.isUndefined(u))return n(void 0,u)}function a(f,u){if(S.isUndefined(u)){if(!S.isUndefined(f))return n(void 0,f)}else return n(void 0,u)}function c(f,u,p){if(p in t)return n(f,u);if(p in e)return n(void 0,f)}const l={url:s,method:s,data:s,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,withXSRFToken:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:c,headers:(f,u,p)=>o(Rs(f),Rs(u),p,!0)};return S.forEach(Object.keys({...e,...t}),function(u){const p=l[u]||o,h=p(e[u],t[u],u);S.isUndefined(h)&&p!==c||(r[u]=h)}),r}const Gs=e=>{const t=ht({},e);let{data:r,withXSRFToken:n,xsrfHeaderName:o,xsrfCookieName:s,headers:a,auth:c}=t;if(t.headers=a=Ne.from(a),t.url=Fs(Ks(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),c&&a.set("Authorization","Basic "+btoa((c.username||"")+":"+(c.password?unescape(encodeURIComponent(c.password)):""))),S.isFormData(r)){if(ye.hasStandardBrowserEnv||ye.hasStandardBrowserWebWorkerEnv)a.setContentType(void 0);else if(S.isFunction(r.getHeaders)){const l=r.getHeaders(),f=["content-type","content-length"];Object.entries(l).forEach(([u,p])=>{f.includes(u.toLowerCase())&&a.set(u,p)})}}if(ye.hasStandardBrowserEnv&&(n&&S.isFunction(n)&&(n=n(t)),n||n!==!1&&nf(t.url))){const l=o&&s&&of.read(s);l&&a.set(o,l)}return t},cf=typeof XMLHttpRequest<"u"&&function(e){return new Promise(function(r,n){const o=Gs(e);let s=o.data;const a=Ne.from(o.headers).normalize();let{responseType:c,onUploadProgress:l,onDownloadProgress:f}=o,u,p,h,v,m;function g(){v&&v(),m&&m(),o.cancelToken&&o.cancelToken.unsubscribe(u),o.signal&&o.signal.removeEventListener("abort",u)}let b=new XMLHttpRequest;b.open(o.method.toUpperCase(),o.url,!0),b.timeout=o.timeout;function w(){if(!b)return;const y=Ne.from("getAllResponseHeaders"in b&&b.getAllResponseHeaders()),N={data:!c||c==="text"||c==="json"?b.responseText:b.response,status:b.status,statusText:b.statusText,headers:y,config:e,request:b};Ws(function(E){r(E),g()},function(E){n(E),g()},N),b=null}"onloadend"in b?b.onloadend=w:b.onreadystatechange=function(){!b||b.readyState!==4||b.status===0&&!(b.responseURL&&b.responseURL.indexOf("file:")===0)||setTimeout(w)},b.onabort=function(){b&&(n(new oe("Request aborted",oe.ECONNABORTED,e,b)),b=null)},b.onerror=function(C){const N=C&&C.message?C.message:"Network Error",k=new oe(N,oe.ERR_NETWORK,e,b);k.event=C||null,n(k),b=null},b.ontimeout=function(){let C=o.timeout?"timeout of "+o.timeout+"ms exceeded":"timeout exceeded";const N=o.transitional||Bs;o.timeoutErrorMessage&&(C=o.timeoutErrorMessage),n(new oe(C,N.clarifyTimeoutError?oe.ETIMEDOUT:oe.ECONNABORTED,e,b)),b=null},s===void 0&&a.setContentType(null),"setRequestHeader"in b&&S.forEach(a.toJSON(),function(C,N){b.setRequestHeader(N,C)}),S.isUndefined(o.withCredentials)||(b.withCredentials=!!o.withCredentials),c&&c!=="json"&&(b.responseType=o.responseType),f&&([h,m]=Sr(f,!0),b.addEventListener("progress",h)),l&&b.upload&&([p,v]=Sr(l),b.upload.addEventListener("progress",p),b.upload.addEventListener("loadend",v)),(o.cancelToken||o.signal)&&(u=y=>{b&&(n(!y||y.type?new Nt(null,e,b):y),b.abort(),b=null)},o.cancelToken&&o.cancelToken.subscribe(u),o.signal&&(o.signal.aborted?u():o.signal.addEventListener("abort",u)));const x=ef(o.url);if(x&&ye.protocols.indexOf(x)===-1){n(new oe("Unsupported protocol "+x+":",oe.ERR_BAD_REQUEST,e));return}b.send(s||null)})},lf=(e,t)=>{const{length:r}=e=e?e.filter(Boolean):[];if(t||r){let n=new AbortController,o;const s=function(f){if(!o){o=!0,c();const u=f instanceof Error?f:this.reason;n.abort(u instanceof oe?u:new Nt(u instanceof Error?u.message:u))}};let a=t&&setTimeout(()=>{a=null,s(new oe(`timeout ${t} of ms exceeded`,oe.ETIMEDOUT))},t);const c=()=>{e&&(a&&clearTimeout(a),a=null,e.forEach(f=>{f.unsubscribe?f.unsubscribe(s):f.removeEventListener("abort",s)}),e=null)};e.forEach(f=>f.addEventListener("abort",s));const{signal:l}=n;return l.unsubscribe=()=>S.asap(c),l}},df=function*(e,t){let r=e.byteLength;if(r<t){yield e;return}let n=0,o;for(;n<r;)o=n+t,yield e.slice(n,o),n=o},uf=async function*(e,t){for await(const r of ff(e))yield*df(r,t)},ff=async function*(e){if(e[Symbol.asyncIterator]){yield*e;return}const t=e.getReader();try{for(;;){const{done:r,value:n}=await t.read();if(r)break;yield n}}finally{await t.cancel()}},qs=(e,t,r,n)=>{const o=uf(e,t);let s=0,a,c=l=>{a||(a=!0,n&&n(l))};return new ReadableStream({async pull(l){try{const{done:f,value:u}=await o.next();if(f){c(),l.close();return}let p=u.byteLength;if(r){let h=s+=p;r(h)}l.enqueue(new Uint8Array(u))}catch(f){throw c(f),f}},cancel(l){return c(l),o.return()}},{highWaterMark:2})},Xs=64*1024,{isFunction:Cr}=S,pf=(({Request:e,Response:t})=>({Request:e,Response:t}))(S.global),{ReadableStream:Ys,TextEncoder:Js}=S.global,Zs=(e,...t)=>{try{return!!e(...t)}catch{return!1}},hf=e=>{e=S.merge.call({skipUndefined:!0},pf,e);const{fetch:t,Request:r,Response:n}=e,o=t?Cr(t):typeof fetch=="function",s=Cr(r),a=Cr(n);if(!o)return!1;const c=o&&Cr(Ys),l=o&&(typeof Js=="function"?(m=>g=>m.encode(g))(new Js):async m=>new Uint8Array(await new r(m).arrayBuffer())),f=s&&c&&Zs(()=>{let m=!1;const g=new r(ye.origin,{body:new Ys,method:"POST",get duplex(){return m=!0,"half"}}).headers.has("Content-Type");return m&&!g}),u=a&&c&&Zs(()=>S.isReadableStream(new n("").body)),p={stream:u&&(m=>m.body)};o&&["text","arrayBuffer","blob","formData","stream"].forEach(m=>{!p[m]&&(p[m]=(g,b)=>{let w=g&&g[m];if(w)return w.call(g);throw new oe(`Response type '${m}' is not supported`,oe.ERR_NOT_SUPPORT,b)})});const h=async m=>{if(m==null)return 0;if(S.isBlob(m))return m.size;if(S.isSpecCompliantForm(m))return(await new r(ye.origin,{method:"POST",body:m}).arrayBuffer()).byteLength;if(S.isArrayBufferView(m)||S.isArrayBuffer(m))return m.byteLength;if(S.isURLSearchParams(m)&&(m=m+""),S.isString(m))return(await l(m)).byteLength},v=async(m,g)=>{const b=S.toFiniteNumber(m.getContentLength());return b??h(g)};return async m=>{let{url:g,method:b,data:w,signal:x,cancelToken:y,timeout:C,onDownloadProgress:N,onUploadProgress:k,responseType:E,headers:M,withCredentials:F="same-origin",fetchOptions:_}=Gs(m),B=t||fetch;E=E?(E+"").toLowerCase():"text";let R=lf([x,y&&y.toAbortSignal()],C),U=null;const D=R&&R.unsubscribe&&(()=>{R.unsubscribe()});let z;try{if(k&&f&&b!=="get"&&b!=="head"&&(z=await v(M,w))!==0){let q=new r(g,{method:"POST",body:w,duplex:"half"}),ce;if(S.isFormData(w)&&(ce=q.headers.get("content-type"))&&M.setContentType(ce),q.body){const[$,j]=Vs(z,Sr(js(k)));w=qs(q.body,Xs,$,j)}}S.isString(F)||(F=F?"include":"omit");const O=s&&"credentials"in r.prototype,G={..._,signal:R,method:b.toUpperCase(),headers:M.normalize().toJSON(),body:w,duplex:"half",credentials:O?F:void 0};U=s&&new r(g,G);let L=await(s?B(U,_):B(g,G));const A=u&&(E==="stream"||E==="response");if(u&&(N||A&&D)){const q={};["status","statusText","headers"].forEach(le=>{q[le]=L[le]});const ce=S.toFiniteNumber(L.headers.get("content-length")),[$,j]=N&&Vs(ce,Sr(js(N),!0))||[];L=new n(qs(L.body,Xs,$,()=>{j&&j(),D&&D()}),q)}E=E||"text";let ee=await p[S.findKey(p,E)||"text"](L,m);return!A&&D&&D(),await new Promise((q,ce)=>{Ws(q,ce,{data:ee,headers:Ne.from(L.headers),status:L.status,statusText:L.statusText,config:m,request:U})})}catch(O){throw D&&D(),O&&O.name==="TypeError"&&/Load failed|fetch/i.test(O.message)?Object.assign(new oe("Network Error",oe.ERR_NETWORK,m,U),{cause:O.cause||O}):oe.from(O,O&&O.code,m,U)}}},gf=new Map,Qs=e=>{let t=e?e.env:{};const{fetch:r,Request:n,Response:o}=t,s=[n,o,r];let a=s.length,c=a,l,f,u=gf;for(;c--;)l=s[c],f=u.get(l),f===void 0&&u.set(l,f=c?new Map:hf(t)),u=f;return f};Qs();const jn={http:Fu,xhr:cf,fetch:{get:Qs}};S.forEach(jn,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const ea=e=>`- ${e}`,mf=e=>S.isFunction(e)||e===null||e===!1,ta={getAdapter:(e,t)=>{e=S.isArray(e)?e:[e];const{length:r}=e;let n,o;const s={};for(let a=0;a<r;a++){n=e[a];let c;if(o=n,!mf(n)&&(o=jn[(c=String(n)).toLowerCase()],o===void 0))throw new oe(`Unknown adapter '${c}'`);if(o&&(S.isFunction(o)||(o=o.get(t))))break;s[c||"#"+a]=o}if(!o){const a=Object.entries(s).map(([l,f])=>`adapter ${l} `+(f===!1?"is not supported by the environment":"is not available in the build"));let c=r?a.length>1?`since :
|
|
4
4
|
`+a.map(ea).join(`
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
`+s):n.stack=s}catch{}}throw n}}_request(t,r){typeof t=="string"?(r=r||{},r.url=t):r=t||{},r=ht(this.defaults,r);const{transitional:n,paramsSerializer:o,headers:s}=r;n!==void 0&&Nr.assertOptions(n,{silentJSONParsing:Ke.transitional(Ke.boolean),forcedJSONParsing:Ke.transitional(Ke.boolean),clarifyTimeoutError:Ke.transitional(Ke.boolean)},!1),o!=null&&(S.isFunction(o)?r.paramsSerializer={serialize:o}:Nr.assertOptions(o,{encode:Ke.function,serialize:Ke.function},!0)),r.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?r.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:r.allowAbsoluteUrls=!0),Nr.assertOptions(r,{baseUrl:Ke.spelling("baseURL"),withXsrfToken:Ke.spelling("withXSRFToken")},!0),r.method=(r.method||this.defaults.method||"get").toLowerCase();let a=s&&S.merge(s.common,s[r.method]);s&&S.forEach(["delete","get","head","post","put","patch","common"],m=>{delete s[m]}),r.headers=Ne.concat(a,s);const c=[];let l=!0;this.interceptors.request.forEach(function(g){typeof g.runWhen=="function"&&g.runWhen(r)===!1||(l=l&&g.synchronous,c.unshift(g.fulfilled,g.rejected))});const f=[];this.interceptors.response.forEach(function(g){f.push(g.fulfilled,g.rejected)});let u,p=0,h;if(!l){const m=[ra.bind(this),void 0];for(m.unshift(...c),m.push(...f),h=m.length,u=Promise.resolve(r);p<h;)u=u.then(m[p++],m[p++]);return u}h=c.length;let v=r;for(;p<h;){const m=c[p++],g=c[p++];try{v=m(v)}catch(b){g.call(this,b);break}}try{u=ra.call(this,v)}catch(m){return Promise.reject(m)}for(p=0,h=f.length;p<h;)u=u.then(f[p++],f[p++]);return u}getUri(t){t=ht(this.defaults,t);const r=Ks(t.baseURL,t.url,t.allowAbsoluteUrls);return Fs(r,t.params,t.paramsSerializer)}};S.forEach(["delete","get","head","options"],function(t){gt.prototype[t]=function(r,n){return this.request(ht(n||{},{method:t,url:r,data:(n||{}).data}))}}),S.forEach(["post","put","patch"],function(t){function r(n){return function(s,a,c){return this.request(ht(c||{},{method:t,headers:n?{"Content-Type":"multipart/form-data"}:{},url:s,data:a}))}}gt.prototype[t]=r(),gt.prototype[t+"Form"]=r(!0)});let vf=class Gd{constructor(t){if(typeof t!="function")throw new TypeError("executor must be a function.");let r;this.promise=new Promise(function(s){r=s});const n=this;this.promise.then(o=>{if(!n._listeners)return;let s=n._listeners.length;for(;s-- >0;)n._listeners[s](o);n._listeners=null}),this.promise.then=o=>{let s;const a=new Promise(c=>{n.subscribe(c),s=c}).then(o);return a.cancel=function(){n.unsubscribe(s)},a},t(function(s,a,c){n.reason||(n.reason=new Nt(s,a,c),r(n.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const r=this._listeners.indexOf(t);r!==-1&&this._listeners.splice(r,1)}toAbortSignal(){const t=new AbortController,r=n=>{t.abort(n)};return this.subscribe(r),t.signal.unsubscribe=()=>this.unsubscribe(r),t.signal}static source(){let t;return{token:new Gd(function(o){t=o}),cancel:t}}};function wf(e){return function(r){return e.apply(null,r)}}function yf(e){return S.isObject(e)&&e.isAxiosError===!0}const Rn={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Rn).forEach(([e,t])=>{Rn[t]=e});function sa(e){const t=new gt(e),r=xs(gt.prototype.request,t);return S.extend(r,gt.prototype,t,{allOwnKeys:!0}),S.extend(r,t,null,{allOwnKeys:!0}),r.create=function(o){return sa(ht(e,o))},r}const be=sa(Rt);be.Axios=gt,be.CanceledError=Nt,be.CancelToken=vf,be.isCancel=zs,be.VERSION=na,be.toFormData=yr,be.AxiosError=oe,be.Cancel=be.CanceledError,be.all=function(t){return Promise.all(t)},be.spread=wf,be.isAxiosError=yf,be.mergeConfig=ht,be.AxiosHeaders=Ne,be.formToJSON=e=>Us(S.isHTMLForm(e)?new FormData(e):e),be.getAdapter=ta.getAdapter,be.HttpStatusCode=Rn,be.default=be;const{Axios:Mw,AxiosError:Dw,CanceledError:Lw,isCancel:Fw,CancelToken:$w,VERSION:Bw,all:Uw,Cancel:Hw,isAxiosError:zw,spread:Ww,toFormData:Vw,AxiosHeaders:jw,HttpStatusCode:Kw,formToJSON:Rw,getAdapter:Gw,mergeConfig:qw}=be,Gn={};function Tr(){var e;try{return typeof window<"u"&&((e=window.localStorage)==null?void 0:e.getItem("chat-debug"))==="1"}catch{return!1}}const aa=Gn==null?void 0:Gn.VITE_API_BASE_URL,ia=aa?aa.replace(/\/+$/,""):void 0;!ia&&typeof window<"u"&&console.warn("VITE_API_BASE_URL is not set. The API client will need to be configured via apiConfig prop.");let Ar=null;const qn=new Set;function ca(){return Ar}function Xn(e){Ar=e,qn.forEach(t=>t(e))}function la(e){return qn.add(e),()=>qn.delete(e)}const nt=be.create({baseURL:ia||"http://localhost:8000",timeout:3e4,withCredentials:!0});nt.interceptors.request.use(e=>(Ar&&(e.headers.Authorization=`Bearer ${Ar}`),e)),nt.interceptors.response.use(e=>e,e=>Promise.reject(e));async function Re(e,t){return(await nt.get(e,t)).data}async function Pr(e,t,r){return(await nt.post(e,t,r)).data}async function da(e,t,r){return(await nt.put(e,t,r)).data}async function ua(e,t){return(await nt.delete(e,t)).data}function Te(e){return e&&typeof e=="object"&&"data"in e?e.data:e}class Ir{get baseUrl(){const t=nt.defaults.baseURL||"";return String(t).replace(/\/+$|^\s+|\s+$/g,"")}updateConfig(t){t.baseUrl&&(nt.defaults.baseURL=String(t.baseUrl).replace(/\/+$/g,"")),t.authToken!==void 0&&Xn(t.authToken)}getAuthToken(){return ca()}setAuthToken(t){Xn(t)}onTokenChange(t){return la(t)}async listThreads(){const t=await Re("/chat/threads"),r=Te(t);return(r==null?void 0:r.items)??(t==null?void 0:t.items)??[]}async createThread(t){const n=await Pr("/chat/threads",t?{title:t}:void 0);return Te(n)}async updateThread(t,r){const n=await da(`/chat/threads/${t}`,{title:r});return Te(n)}async deleteThread(t){const r=await ua(`/chat/threads/${t}`);return Te(r)}async threadInfo(t){const r=await Re(`/chat/threads/${t}/info`);return Te(r)}async listAgents(){const t=await Re("/chat/agents"),r=Te(t);return(r==null?void 0:r.items)??[]}async getAgent(t){const r=await Re(`/chat/agents/${t}`);return Te(r)}async getAgentSchema(t){const r=await Re(`/chat/agents/${t}/schema`);return Te(r)}async getMessages(t){const r=await Re(`/chat/threads/${t.threadId}/messages`,{params:{thread_id:t.threadId,checkpoint_id:t.checkpointId,checkpoint_ns:t.checkpointNs,limit:t.limit,before_id:t.beforeId??void 0}});return Te(r)}async getState(t){const r=await Re(`/chat/threads/${t.threadId}/state`,{params:{thread_id:t.threadId,checkpoint_id:t.checkpointId,checkpoint_ns:t.checkpointNs}});return Te(r)}async getStateHistory(t){const r=await Re(`/chat/threads/${t.threadId}/state/history`,{params:{thread_id:t.threadId,checkpoint_id:t.checkpointId,checkpoint_ns:t.checkpointNs}});return Te(r)}async listCheckpoints(t){const r=await Re(`/chat/threads/${t}/checkpoints`,{params:{thread_id:t}});return Te(r)}async uploadExcel(t,r="/upload_excel",n={}){const o=new FormData,s=t.name.replace(/\.[^.]+$/,"").toLowerCase().replace(/[^a-z0-9]+/g,"_").replace(/^_+|_+$/g,"")||`excel_${Date.now()}`,a=(n.tableName??s).trim();o.append("file",t,t.name),o.append("table_name",a),n.sheetName&&o.append("sheet_name",n.sheetName),Tr()&&console.debug("[api.uploadExcel] ->",r,{name:t.name,size:t.size,tableName:a,sheetName:n.sheetName});const c=await Pr(r,o,{headers:{Accept:"application/json"},maxBodyLength:1/0}),l=Te(c);return Tr()&&console.debug("[api.uploadExcel] <-",l),l}async uploadImage(t,r="/upload"){const n=new FormData;n.append("file",t,t.name),Tr()&&console.debug("[api.uploadImage] ->",r,{name:t.name,type:t.type,size:t.size});const o=await Pr(r,n,{headers:{Accept:"application/json"},maxBodyLength:1/0}),s=Te(o);if(Tr()&&console.debug("[api.uploadImage] <-",s),!(s!=null&&s.url))throw new Error("Invalid upload response: missing url");return{url:s.url,mimeType:s.mimeType??t.type,name:s.name??t.name,size:s.size??t.size}}}const Qe=new Ir;function fa(e={}){const t=e.baseUrl??"/api/chat",r=e.streamPath??"/runs/stream",[n,o]=T.useState(e.token??null),s=T.useRef(e.headers??{}),[a,c]=T.useState(!1),[l,f]=T.useState(null),[u,p]=T.useState(""),[h,v]=T.useState(null),m=T.useRef(null),g=T.useCallback(y=>{o(y)},[]),b=T.useCallback(()=>{var y;(y=m.current)==null||y.abort(),m.current=null,c(!1)},[]),w=T.useCallback(()=>{p(""),v(null),f(null)},[]),x=T.useCallback((y,C,N)=>{m.current&&(m.current.abort(),m.current=null),c(!0),f(null),e.autoAppendAssistant!==!1&&p("");const k=new AbortController;return m.current=k,(async()=>{var F,_,B,R,U;const E=(()=>{var D;try{return typeof window<"u"&&((D=window.localStorage)==null?void 0:D.getItem("chat-debug"))==="1"}catch{return!1}})(),M=D=>{var z;try{const O=JSON.parse(JSON.stringify(D));return(z=O==null?void 0:O.payload)!=null&&z.files_info&&Array.isArray(O.payload.files_info)&&(O.payload.files_info=O.payload.files_info.map(G=>({...G,data:G!=null&&G.data?`<base64 ${String(G.data).length} chars>`:G==null?void 0:G.data}))),O}catch{return D}};try{let D={};try{if(n)D={Authorization:`Bearer ${n}`};else if(typeof window<"u"){const ee=window.__AUTH_TOKEN__,q=((F=window.localStorage)==null?void 0:F.getItem("authToken"))||null;let ce=null;try{const j=(_=window.localStorage)==null?void 0:_.getItem("chat-settings");j&&(ce=((B=JSON.parse(j))==null?void 0:B.apiKey)||null)}catch{}const $=ee||q||ce||null;$&&(D={Authorization:`Bearer ${$}`})}}catch{}E&&console.debug("[use-chat] POST",t+r,M(y));const z=await fetch(t+r,{method:"POST",headers:{"Content-Type":"application/json",Accept:"text/event-stream",...D,...s.current},body:JSON.stringify(y),signal:k.signal});if(!z.ok||!z.body){const A=await z.text().catch(()=>"");throw E&&console.debug("[use-chat] non-OK response",z.status,A==null?void 0:A.slice(0,500)),new Error(`stream ${z.status}${A?": "+A:""}`)}try{const A=z.headers.get("X-Thread-Id")||z.headers.get("x-thread-id"),ee=z.headers.get("X-Thread-Created")||z.headers.get("x-thread-created"),q=A??null,ce=String(ee??"").toLowerCase()==="true";try{(R=N==null?void 0:N.onOpen)==null||R.call(N,{threadId:q,created:ce})}catch($){E&&console.debug("[use-chat] onOpen handler threw:",$)}}catch(A){E&&console.debug("[use-chat] failed to read headers:",A)}const O=z.body.getReader(),G=new TextDecoder;let L="";for(;;){const{value:A,done:ee}=await O.read();if(ee)break;L+=G.decode(A,{stream:!0});let q;for(;(q=L.indexOf(`
|
|
7
7
|
|
|
8
8
|
`))>=0;){const ce=L.slice(0,q);L=L.slice(q+2);const $=Sf(ce);if(!$)continue;let j;try{j=JSON.parse($)}catch{E&&console.debug("[use-chat] skip malformed SSE data:",$==null?void 0:$.slice(0,200));continue}const le=xf(j)?j.data:j;if(E&&console.debug("[use-chat] event:",le==null?void 0:le.type,le),C==null||C(le),le.type==="token")e.autoAppendAssistant!==!1&&p(he=>he+le.content);else if(le.type==="message_delta"){const he=le.delta.filter(W=>W.type==="text").map(W=>W.text).join("");he&&e.autoAppendAssistant!==!1&&p(W=>W+he)}else le.type==="checkpoint"?v(le.checkpointId):le.type==="error"&&f(le.message)}}}catch(D){if((D==null?void 0:D.name)==="AbortError")return;const z=(D==null?void 0:D.message)||String(D);E&&console.debug("[use-chat] error:",z),f(z),(U=N==null?void 0:N.onError)==null||U.call(N,z)}finally{c(!1),m.current=null}})(),{close:()=>k.abort()}},[t,n,e.autoAppendAssistant]);return T.useEffect(()=>()=>{var y;return(y=m.current)==null?void 0:y.abort()},[]),{isStreaming:a,error:l,assistantText:u,lastCheckpointId:h,stream:x,stop:b,clear:w,setToken:g}}function xf(e){return!!e&&typeof e=="object"&&e.protocolVersion==="v1"&&"data"in e}function Sf(e){const t=e.split(/\r?\n/),r=[];for(const n of t)if(n&&!n.startsWith(":")&&n.startsWith("data:")){const o=n.slice(5);r.push(o.startsWith(" ")?o.slice(1):o)}return r.length===0?null:r.join(`
|
|
9
|
-
`)}const Cf={messages:[],assemblingId:null,lastCheckpointId:null,toolIndex:{},lastBranch:null};function Ef(e,t){var r,n;switch(t.type){case"reset":return{messages:Yn(((r=t.payload)==null?void 0:r.messages)??[]),assemblingId:null,lastCheckpointId:null,toolIndex:{},lastBranch:null};case"seed":return{...e,messages:Yn(t.payload.messages)};case"prepend":{const o=Yn(t.payload.messages);if(!o.length)return e;const s=new Set(e.messages.map(c=>c.id)),a=o.filter(c=>!s.has(c.id));return a.length?{...e,messages:[...a,...e.messages]}:e}case"user_message":{const o=t.payload.message;if(e.assemblingId){const s=e.messages.findIndex(a=>a.id===e.assemblingId&&a.role==="assistant");if(s>=0){const a=e.messages.slice(0,s),c=e.messages.slice(s);return{...e,messages:[...a,o,...c]}}}return{...e,messages:[...e.messages,o]}}case"event":{const o=t.payload.ev;if(o.type==="message_start"&&o.role==="assistant"){const s=o.id,a=Pf(o.model),c={id:s,role:"assistant",name:a||void 0,model:o.model,createdAt:new Date().toISOString(),content:[]};return{...e,assemblingId:s,messages:[...e.messages,c]}}if(o.type==="token"){const s=e.assemblingId??Jn(e.messages);return s?{...e,messages:Nf(e.messages,s,o.content)}:e}if(o.type==="message_delta"){const s=e.assemblingId??Jn(e.messages);return s?{...e,messages:ha(e.messages,s,o.delta)}:e}if(o.type==="message_end"){const s=e.assemblingId??Jn(e.messages);if(!s)return{...e,assemblingId:null};const a=e.messages,c=a.findIndex(l=>l.id===s&&l.role==="assistant");if(c>=0&&!((n=a[c].content)==null?void 0:n.some(u=>{var p;return(u==null?void 0:u.type)==="text"&&((p=u.text)==null?void 0:p.trim())}))){const u=[...a.slice(0,c),...a.slice(c+1)];return{...e,assemblingId:null,messages:u}}return{...e,assemblingId:null}}if(o.type==="tool_start"){const s=`tool-${o.id}`,a={type:"tool_call",id:o.id,name:o.name,args:o.args},c={id:s,role:"tool",name:o.name,createdAt:new Date().toISOString(),content:[a]};return{...e,messages:[...e.messages,c],toolIndex:{...e.toolIndex,[o.id]:s}}}if(o.type==="tool_result"){const s=e.toolIndex[o.id]??`tool-${o.id}`,a={type:"tool_result",toolCallId:o.id,output:o.output,error:o.error},c=e.messages.find(u=>u.id===s),l={id:s,role:"tool",content:[a],createdAt:new Date().toISOString()},f=c?ha(e.messages,s,[a]):[...e.messages,l];return{...e,messages:f}}if(o.type==="checkpoint"){const s=Af(e.messages,o.checkpointId);return{...e,lastCheckpointId:o.checkpointId,messages:s}}if(o.type==="branch"){const s=o.checkpointId??e.lastCheckpointId;return{...e,lastBranch:o,lastCheckpointId:s??null}}if(o.type==="error"){const s={id:`err-${Date.now()}`,role:"system",content:[{type:"text",text:`Error: ${o.message}`}],createdAt:new Date().toISOString()};return{...e,messages:[...e.messages,s]}}return e}default:return e}}function pa(e=[]){const[t,r]=T.useReducer(Ef,{...Cf,messages:e}),n=T.useCallback(s=>{r({type:"event",payload:{ev:s}})},[]),o=T.useMemo(()=>({reset:s=>r({type:"reset",payload:{messages:s}}),seed:s=>r({type:"seed",payload:{messages:s}}),prepend:s=>r({type:"prepend",payload:{messages:s}}),pushUser:s=>r({type:"user_message",payload:{message:s}}),onEvent:n}),[n]);return{state:t,dispatch:r,...o}}function Yn(e){return e.filter(t=>{if(t.role!=="assistant")return!0;const r=(t.content||[]).some(o=>{var s;return o&&o.type==="text"&&((s=o.text)==null?void 0:s.trim())}),n=(t.content||[]).some(o=>o&&o.type==="image_url");return!!(r||n)})}function Jn(e){for(let t=e.length-1;t>=0;t--)if(e[t].role==="assistant")return e[t].id;return null}function Nf(e,t,r){return e.map(n=>{if(n.id!==t)return n;const o=n.content.slice(),s=o[o.length-1];return s&&s.type==="text"?s.text+=r:o.push({type:"text",text:r}),{...n,content:o}})}function ha(e,t,r){return e.map(n=>n.id===t?{...n,content:Tf(n.content,r)}:n)}function Tf(e,t){const r=e.slice();for(const n of t)if(n.type==="text"){const o=r[r.length-1];(o==null?void 0:o.type)==="text"?o.text+=n.text:r.push({type:"text",text:n.text})}else r.push(n);return r}function Af(e,t){for(let r=e.length-1;r>=0;r--)if(e[r].role==="assistant"){const o={...e[r],checkpointId:t};return[...e.slice(0,r),o,...e.slice(r+1)]}return e}function Pf(e){if(!e)return null;const t=e.split("/");return t[t.length-1]||null}const ga=T.createContext(null);function qt({children:e,apiConfig:t,onError:r,onThreadChange:n,initialThreadId:o=null,historyPageSize:s,enableFileAgentRouting:a=!1,fileAgentId:c="invoice_reader"}){const l=Qe;T.useEffect(()=>{t&&l.updateConfig({baseUrl:t.baseUrl,authToken:t.apiKey})},[l,t]);const{isStreaming:f,error:u,stream:p,stop:h,setToken:v}=fa({baseUrl:l.baseUrl,token:null,headers:t==null?void 0:t.headers,streamPath:"/chat/runs/stream"}),[m,g]=T.useState(()=>typeof l.getAuthToken=="function"?l.getAuthToken():null);T.useEffect(()=>{v(typeof l.getAuthToken=="function"?l.getAuthToken():null);const Q=l.onTokenChange(J=>{g(J),v(J)});return()=>{Q()}},[l,v]);const b=T.useCallback(Q=>{l.setAuthToken(Q)},[l]),{state:w,seed:x,prepend:y,pushUser:C,onEvent:N,reset:k}=pa(),E=s&&s>0?s:6,[M,F]=T.useState(!1),[_,B]=T.useState(!1),[R,U]=T.useState(null),[D,z]=T.useState(void 0),O=T.useCallback((Q,J)=>{const ge=Array.isArray(Q==null?void 0:Q.messages)?Q.messages:[];J==="replace"?x(ge):J==="prepend"&&ge.length&&y(ge),U((Q==null?void 0:Q.nextCursor)??null),F(!!(Q!=null&&Q.hasMore)),z(Oe=>(Q==null?void 0:Q.checkpointId)??Oe??void 0)},[x,y]),[G,L]=T.useState([]),[A,ee]=T.useState(null),q=T.useCallback(async()=>{const Q=await l.listThreads();L(Q)},[l]);T.useEffect(()=>{q().catch(()=>{})},[q]),T.useEffect(()=>{n==null||n(A)},[A,n]);const ce=T.useRef(null);T.useEffect(()=>{o&&ce.current!==o&&(ce.current=o,j(o).catch(()=>{}))},[o]);const $=T.useRef(null),j=T.useCallback(async(Q,J,ge)=>{if($.current!==Q){$.current=Q;try{F(!1),U(null),z(void 0);const Oe=await l.getMessages({threadId:Q,checkpointId:J,checkpointNs:ge,limit:E});ee(Q),O(Oe,"replace")}finally{$.current=null}}},[l,O]),le=T.useCallback(async Q=>l.listCheckpoints(Q),[l]),he=T.useCallback(async Q=>{if(!A)throw new Error("No active thread");F(!1),U(null),z(void 0);const J=await l.getMessages({threadId:A,checkpointId:Q,limit:E});O(J,"replace")},[l,A,O,E]),W=T.useCallback(async()=>{if(!A)throw new Error("No active thread");await j(A)},[A,j]),V=T.useRef(!1);T.useEffect(()=>{const Q=V.current;if(V.current=f,Q&&!f&&A){const J=w.lastCheckpointId??void 0;(async()=>{try{const ge=await l.getMessages({threadId:A,checkpointId:J,limit:E});O(ge,"replace")}catch{}try{await q()}catch{}})()}},[f,A,w.lastCheckpointId,l,O,q]);const se=T.useCallback(async Q=>{const J=await l.createThread(Q);return await q(),await j(J.threadId),J.threadId},[l,q,j]),K=T.useCallback(async Q=>{await l.deleteThread(Q),await q(),A===Q&&(ee(null),k([]),F(!1),U(null),z(void 0))},[l,q,A,k]),Y=T.useCallback(async(Q,J)=>{await l.updateThread(Q,J),await q()},[l,q]),ne=T.useCallback(async(Q,J)=>{var kn;async function ge(ae){return await new Promise((xe,Pe)=>{const je=new FileReader;je.onload=()=>xe(String(je.result)),je.onerror=rt=>Pe(rt),je.readAsDataURL(ae)})}async function Oe(ae){return await new Promise((xe,Pe)=>{const je=new FileReader;je.onload=()=>{try{const rt=je.result;let On="";const Mn=new Uint8Array(rt),vs=Mn.byteLength;for(let I=0;I<vs;I++)On+=String.fromCharCode(Mn[I]);xe(btoa(On))}catch(rt){Pe(rt)}},je.onerror=rt=>Pe(rt),je.readAsArrayBuffer(ae)})}const Ce=[];Q&&Ce.push({type:"text",text:Q});const pr=(J==null?void 0:J.attachments)||[];let ut=[];if(pr.length>0)for(const ae of pr)if(ae.type&&ae.type.startsWith("image/")){let xe=null;try{const Pe=await l.uploadImage(ae,(t==null?void 0:t.uploadPath)||"/upload").catch(()=>null);xe=(Pe==null?void 0:Pe.url)||null}catch{}if(!xe)try{xe=await ge(ae)}catch{xe=null}if(xe){const Pe={type:"image_url",url:xe,mimeType:ae.type,alt:ae.name};Ce.push(Pe)}try{ut.push({filename:ae.name,data:await Oe(ae),mime_type:ae.type||"application/octet-stream"})}catch{}}else{const xe=await ge(ae).catch(()=>null),Pe={type:"file",url:String(xe),mimeType:ae.type||void 0,name:ae.name,size:ae.size};Ce.push(Pe);try{ut.push({filename:ae.name,data:await Oe(ae),mime_type:ae.type||"application/octet-stream"})}catch{}}const Ht={id:((kn=crypto.randomUUID)==null?void 0:kn.call(crypto))||`user-${Date.now()}`,role:"user",content:Ce,createdAt:new Date().toISOString(),checkpointId:(J==null?void 0:J.checkpointId)??w.lastCheckpointId??void 0};C(Ht);const gs={...Ht,content:Ht.content.filter(ae=>ae.type==="text"||ae.type==="image_url")},zt={...(J==null?void 0:J.payloadExtras)??{}},ms=!!zt.edit,In=zt.originalMessageId,_n=typeof In=="string"?In:void 0,bs=(J==null?void 0:J.attachments)&&J.attachments.length>0,hr={...A?{threadId:A}:{},payload:{messages:[gs],attachments:Ht.content.filter(ae=>ae.type==="file").map(ae=>({type:"file",url:ae.url,mimeType:ae.mimeType,name:ae.name,size:ae.size})),files_info:ut,...a&&bs&&c?{agent_id:c}:{},...zt},checkpointId:(J==null?void 0:J.checkpointId)??w.lastCheckpointId??void 0,checkpointNs:J==null?void 0:J.checkpointNs,nodeFilter:J==null?void 0:J.nodeFilter,config:J==null?void 0:J.config,edit:ms,originalMessageId:_n};p(hr,ae=>N(ae),{onError:ae=>console.warn("stream error",ae),onOpen:({threadId:ae,created:xe})=>{!A&&ae&&(ee(ae),xe&&q().catch(()=>{}))}})},[A,C,p,N,w.lastCheckpointId,l,t==null?void 0:t.uploadPath,q,ee]),me=T.useCallback(async Q=>{if(!A)throw new Error("No active thread");if(_||!M)return;const J=R;if(J){B(!0);try{const ge=await l.getMessages({threadId:A,checkpointId:D,limit:(Q==null?void 0:Q.limit)??E,beforeId:J});O(ge,"prepend")}finally{B(!1)}}},[l,A,D,R,M,_,O]),pe={baseUrl:l.baseUrl,token:m,setToken:b,api:l,threads:G,currentThreadId:A,setCurrentThreadId:ee,messages:w.messages,isStreaming:f,error:u,lastCheckpointId:w.lastCheckpointId,streamingAssistantId:w.assemblingId,hasMoreHistory:M,isLoadingHistory:_,loadOlderMessages:me,historyPageSize:E,listCheckpoints:le,navigateToCheckpoint:he,returnToLatest:W,refreshThreads:q,createThread:se,deleteThread:K,renameThread:Y,loadThread:j,send:ne,stop:h};return i.jsx(ga.Provider,{value:pe,children:e})}function Zn(){const e=T.useContext(ga);if(!e)throw new Error("useChat must be used within ChatProvider");return e}function P(...e){return Xd.twMerge(qd.clsx(e))}const If=Wt.cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 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 hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-md px-8",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}}),fe=d.forwardRef(({className:e,variant:t,size:r,asChild:n=!1,...o},s)=>{const a=n?Ie.Slot:"button";return i.jsx(a,{className:P(If({variant:t,size:r,className:e})),ref:s,...o})});fe.displayName="Button";const ma=d.forwardRef(({className:e,...t},r)=>i.jsx("textarea",{className:P("flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",e),ref:r,...t}));ma.displayName="Textarea";const _f=Wt.cva("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function ba({className:e,variant:t,...r}){return i.jsx("div",{className:P(_f({variant:t}),e),...r})}function H(e,t,{checkForDefaultPrevented:r=!0}={}){return function(o){if(e==null||e(o),r===!1||!o.defaultPrevented)return t==null?void 0:t(o)}}function kf(e,t){const r=d.createContext(t),n=s=>{const{children:a,...c}=s,l=d.useMemo(()=>c,Object.values(c));return i.jsx(r.Provider,{value:l,children:a})};n.displayName=e+"Provider";function o(s){const a=d.useContext(r);if(a)return a;if(t!==void 0)return t;throw new Error(`\`${s}\` must be used within \`${e}\``)}return[n,o]}function Be(e,t=[]){let r=[];function n(s,a){const c=d.createContext(a),l=r.length;r=[...r,a];const f=p=>{var w;const{scope:h,children:v,...m}=p,g=((w=h==null?void 0:h[e])==null?void 0:w[l])||c,b=d.useMemo(()=>m,Object.values(m));return i.jsx(g.Provider,{value:b,children:v})};f.displayName=s+"Provider";function u(p,h){var g;const v=((g=h==null?void 0:h[e])==null?void 0:g[l])||c,m=d.useContext(v);if(m)return m;if(a!==void 0)return a;throw new Error(`\`${p}\` must be used within \`${s}\``)}return[f,u]}const o=()=>{const s=r.map(a=>d.createContext(a));return function(c){const l=(c==null?void 0:c[e])||s;return d.useMemo(()=>({[`__scope${e}`]:{...c,[e]:l}}),[c,l])}};return o.scopeName=e,[n,Of(o,...t)]}function Of(...e){const t=e[0];if(e.length===1)return t;const r=()=>{const n=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(s){const a=n.reduce((c,{useScope:l,scopeName:f})=>{const p=l(s)[`__scope${f}`];return{...c,...p}},{});return d.useMemo(()=>({[`__scope${t.scopeName}`]:a}),[a])}};return r.scopeName=t.scopeName,r}var ve=globalThis!=null&&globalThis.document?d.useLayoutEffect:()=>{},Mf=d[" useInsertionEffect ".trim().toString()]||ve;function ot({prop:e,defaultProp:t,onChange:r=()=>{},caller:n}){const[o,s,a]=Df({defaultProp:t,onChange:r}),c=e!==void 0,l=c?e:o;{const u=d.useRef(e!==void 0);d.useEffect(()=>{const p=u.current;p!==c&&console.warn(`${n} is changing from ${p?"controlled":"uncontrolled"} to ${c?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),u.current=c},[c,n])}const f=d.useCallback(u=>{var p;if(c){const h=Lf(u)?u(e):u;h!==e&&((p=a.current)==null||p.call(a,h))}else s(u)},[c,e,s,a]);return[l,f]}function Df({defaultProp:e,onChange:t}){const[r,n]=d.useState(e),o=d.useRef(r),s=d.useRef(t);return Mf(()=>{s.current=t},[t]),d.useEffect(()=>{var a;o.current!==r&&((a=s.current)==null||a.call(s,r),o.current=r)},[r,o]),[r,n,s]}function Lf(e){return typeof e=="function"}function va(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function Qn(...e){return t=>{let r=!1;const n=e.map(o=>{const s=va(o,t);return!r&&typeof s=="function"&&(r=!0),s});if(r)return()=>{for(let o=0;o<n.length;o++){const s=n[o];typeof s=="function"?s():va(e[o],null)}}}}function ie(...e){return d.useCallback(Qn(...e),e)}var Ff=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],te=Ff.reduce((e,t)=>{const r=Ie.createSlot(`Primitive.${t}`),n=d.forwardRef((o,s)=>{const{asChild:a,...c}=o,l=a?r:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),i.jsx(l,{...c,ref:s})});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{});function wa(e,t){e&&gr.flushSync(()=>e.dispatchEvent(t))}function $f(e,t){return d.useReducer((r,n)=>t[r][n]??r,e)}var Ae=e=>{const{present:t,children:r}=e,n=Bf(t),o=typeof r=="function"?r({present:n.isPresent}):d.Children.only(r),s=ie(n.ref,Uf(o));return typeof r=="function"||n.isPresent?d.cloneElement(o,{ref:s}):null};Ae.displayName="Presence";function Bf(e){const[t,r]=d.useState(),n=d.useRef(null),o=d.useRef(e),s=d.useRef("none"),a=e?"mounted":"unmounted",[c,l]=$f(a,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return d.useEffect(()=>{const f=_r(n.current);s.current=c==="mounted"?f:"none"},[c]),ve(()=>{const f=n.current,u=o.current;if(u!==e){const h=s.current,v=_r(f);e?l("MOUNT"):v==="none"||(f==null?void 0:f.display)==="none"?l("UNMOUNT"):l(u&&h!==v?"ANIMATION_OUT":"UNMOUNT"),o.current=e}},[e,l]),ve(()=>{if(t){let f;const u=t.ownerDocument.defaultView??window,p=v=>{const g=_r(n.current).includes(CSS.escape(v.animationName));if(v.target===t&&g&&(l("ANIMATION_END"),!o.current)){const b=t.style.animationFillMode;t.style.animationFillMode="forwards",f=u.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=b)})}},h=v=>{v.target===t&&(s.current=_r(n.current))};return t.addEventListener("animationstart",h),t.addEventListener("animationcancel",p),t.addEventListener("animationend",p),()=>{u.clearTimeout(f),t.removeEventListener("animationstart",h),t.removeEventListener("animationcancel",p),t.removeEventListener("animationend",p)}}else l("ANIMATION_END")},[t,l]),{isPresent:["mounted","unmountSuspended"].includes(c),ref:d.useCallback(f=>{n.current=f?getComputedStyle(f):null,r(f)},[])}}function _r(e){return(e==null?void 0:e.animationName)||"none"}function Uf(e){var n,o;let t=(n=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:n.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=(o=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:o.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}var Hf=d[" useId ".trim().toString()]||(()=>{}),zf=0;function Ue(e){const[t,r]=d.useState(Hf());return ve(()=>{r(n=>n??String(zf++))},[e]),t?`radix-${t}`:""}var kr="Collapsible",[Wf,Xw]=Be(kr),[Vf,eo]=Wf(kr),ya=d.forwardRef((e,t)=>{const{__scopeCollapsible:r,open:n,defaultOpen:o,disabled:s,onOpenChange:a,...c}=e,[l,f]=ot({prop:n,defaultProp:o??!1,onChange:a,caller:kr});return i.jsx(Vf,{scope:r,disabled:s,contentId:Ue(),open:l,onOpenToggle:d.useCallback(()=>f(u=>!u),[f]),children:i.jsx(te.div,{"data-state":ro(l),"data-disabled":s?"":void 0,...c,ref:t})})});ya.displayName=kr;var xa="CollapsibleTrigger",Sa=d.forwardRef((e,t)=>{const{__scopeCollapsible:r,...n}=e,o=eo(xa,r);return i.jsx(te.button,{type:"button","aria-controls":o.contentId,"aria-expanded":o.open||!1,"data-state":ro(o.open),"data-disabled":o.disabled?"":void 0,disabled:o.disabled,...n,ref:t,onClick:H(e.onClick,o.onOpenToggle)})});Sa.displayName=xa;var to="CollapsibleContent",jf=d.forwardRef((e,t)=>{const{forceMount:r,...n}=e,o=eo(to,e.__scopeCollapsible);return i.jsx(Ae,{present:r||o.open,children:({present:s})=>i.jsx(Kf,{...n,ref:t,present:s})})});jf.displayName=to;var Kf=d.forwardRef((e,t)=>{const{__scopeCollapsible:r,present:n,children:o,...s}=e,a=eo(to,r),[c,l]=d.useState(n),f=d.useRef(null),u=ie(t,f),p=d.useRef(0),h=p.current,v=d.useRef(0),m=v.current,g=a.open||c,b=d.useRef(g),w=d.useRef(void 0);return d.useEffect(()=>{const x=requestAnimationFrame(()=>b.current=!1);return()=>cancelAnimationFrame(x)},[]),ve(()=>{const x=f.current;if(x){w.current=w.current||{transitionDuration:x.style.transitionDuration,animationName:x.style.animationName},x.style.transitionDuration="0s",x.style.animationName="none";const y=x.getBoundingClientRect();p.current=y.height,v.current=y.width,b.current||(x.style.transitionDuration=w.current.transitionDuration,x.style.animationName=w.current.animationName),l(n)}},[a.open,n]),i.jsx(te.div,{"data-state":ro(a.open),"data-disabled":a.disabled?"":void 0,id:a.contentId,hidden:!g,...s,ref:u,style:{"--radix-collapsible-content-height":h?`${h}px`:void 0,"--radix-collapsible-content-width":m?`${m}px`:void 0,...e.style},children:g&&o})});function ro(e){return e?"open":"closed"}var Rf=ya;const Ca=Rf,Ea=Sa;function Xt({content:e,className:t=""}){const r=T.useMemo(()=>({table:({node:f,className:u,...p})=>i.jsx("div",{className:"max-w-full",children:i.jsx("table",{...p,className:P("w-full table-fixed border-collapse break-words",u)})}),th:({node:f,className:u,...p})=>i.jsx("th",{...p,className:P("break-words whitespace-normal border-b border-border/60 px-3 py-2 text-left align-top",u)}),td:({node:f,className:u,...p})=>i.jsx("td",{...p,className:P("break-words whitespace-normal border-b border-border/30 px-3 py-2 align-top",u)}),pre:({node:f,className:u,...p})=>i.jsx("pre",{...p,className:P("whitespace-pre-wrap break-words",u)}),code:({node:f,className:u,children:p,...h})=>{const{inline:v,...m}=h;return v?i.jsx("code",{...m,className:P("break-words whitespace-normal",u),children:p}):i.jsx("code",{...m,className:P("block break-words whitespace-pre-wrap",u),children:p})}}),[]),n=P("prose prose-sm max-w-none break-words dark:prose-invert leading-relaxed","prose-headings:break-words prose-p:break-words prose-li:break-words prose-td:break-words prose-th:break-words","prose-a:break-all prose-blockquote:break-words prose-strong:break-words prose-em:break-words","prose-code:break-words prose-pre:rounded prose-pre:border prose-pre:bg-background/50","prose-code:bg-background/50 prose-code:px-1 prose-code:py-0.5 prose-code:rounded prose-table:my-4 prose-th:px-2 prose-td:px-2",t);return i.jsx("div",{className:n,style:{wordBreak:"break-word",overflowWrap:"anywhere"},children:i.jsx(Yd,{remarkPlugins:[Jd],components:r,children:e})})}const Or="prose prose-sm max-w-none break-words dark:prose-invert prose-headings:break-words prose-p:break-words prose-li:break-words prose-td:break-words prose-th:break-words prose-a:break-all prose-code:break-words prose-blockquote:break-words";function Gf({className:e}){const[t,r]=T.useState(0);return T.useEffect(()=>{const n=setInterval(()=>r(o=>(o+1)%4),500);return()=>clearInterval(n)},[]),i.jsxs("span",{"aria-live":"polite",className:P("inline-block text-xs opacity-70 ml-1",e),children:["Is thinking",".".repeat(t)]})}function Na({message:e,messageIndex:t,isStreamingMessage:r=!1,streamingDebounceMs:n=40,isEditing:o=!1,showActions:s=!0,showTimestamp:a=!0,showAgentName:c=!0,layoutSize:l="desktop",truncateToolMessages:f=!0,toolMessagePreviewLength:u=200,truncateUserMessages:p=!0,userMessagePreviewLength:h=200,customStyles:v={},onEdit:m,onRegenerate:g,onCancelEdit:b,onCopy:w}){const[x,y]=T.useState(!1),[C,N]=T.useState(!1),[k,E]=T.useState(!1),[M,F]=T.useState(!1),_=l==="phone"||l==="half-screen",B=e.role,R=B==="tool",U=T.useMemo(()=>{switch(B){case"user":return"text-[hsl(var(--chat-bubble-user-text))]";case"assistant":return"text-[hsl(var(--chat-bubble-ai-text))]";case"tool":return"text-secondary-foreground";case"system":return"text-muted-foreground";default:return"text-foreground"}},[B]),D=T.useMemo(()=>qf(e.content),[e.content]),z=T.useMemo(()=>Qf(e.content),[e.content]),O=T.useMemo(()=>e.content.filter(V=>V.type==="image_url"),[e.content]),G=T.useMemo(()=>e.content.filter(V=>V.type==="file"),[e.content]),L=tp(D,r?n:0),A=async()=>{try{const V=R?Tt(e.content):D;await navigator.clipboard.writeText(V),y(!0),setTimeout(()=>y(!1),2e3),w==null||w(V)}catch(V){console.error("Failed to copy:",V)}},ee=()=>{if(!m)return;const V=R?Tt(e.content):D;m(e.id,V)},q=()=>g==null?void 0:g(t),ce=()=>{const se=P(_?"h-3 w-3":"h-4 w-4","opacity-60 flex-shrink-0",U);switch(B){case"user":return i.jsx(X.User,{className:se});case"assistant":return i.jsx(X.Bot,{className:se});case"tool":return i.jsx(X.Wrench,{className:se});default:return i.jsx(X.Bot,{className:se})}},$=()=>{const V="group relative mb-4 flex w-full";switch(B){case"user":return P(V,"justify-end");case"assistant":case"tool":case"system":return P(V,"justify-start");default:return V}},j=()=>{const V=P("rounded-lg px-4 py-3 relative transition-all duration-200 min-w-0 max-w-full break-words",_&&"px-3 py-2 text-sm");switch(B){case"user":return P(V,"w-full md:max-w-[95%]","bg-[hsl(var(--chat-bubble-user))] text-[hsl(var(--chat-bubble-user-text))]","border border-transparent");case"assistant":return P(V,"w-full md:max-w-[95%]","bg-[hsl(var(--chat-bubble-ai))] text-[hsl(var(--chat-bubble-ai-text))]","border border-border/60 dark:border-border/40");case"tool":return P(V,"w-full md:max-w-[95%] bg-secondary/50 text-secondary-foreground border border-dashed");case"system":return P(V,"w-full md:max-w-[85%] bg-accent/40 text-muted-foreground border");default:return V}},le=V=>{if(!V)return"";try{return new Date(V).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}catch{return""}},he=()=>{if(e.model==="reflection"){const K=D.trim(),Y=no(K);if(Y&&typeof Y=="object")return i.jsx(rp,{data:Y})}if(R&&z.name==="get_issues"){const K=e.content.find(me=>me.type==="tool_result"),Y=(K==null?void 0:K.output)??Tt(e.content),ne=Pa(Y);if(ne)return i.jsx(np,{issues:ne})}if(R&&!k){const K=Tt(e.content).slice(0,80).replace(/\s+/g," ");return i.jsx("div",{className:P("text-xs font-mono opacity-70 flex items-center justify-between gap-2 text-current",_&&"text-[10px]"),children:i.jsxs("span",{className:"truncate max-w-full text-current",children:[K,K.length>=80?"…":""]})})}if(R&&f){const K=Tt(e.content),Y=K.length>u;return i.jsx(Ca,{open:C,onOpenChange:N,children:i.jsxs("div",{className:"font-mono text-sm text-current",children:[i.jsx("pre",{className:P("whitespace-pre-wrap break-words text-current",_&&"text-xs"),children:Y&&!C?K.substring(0,u)+"...":K}),Y&&i.jsx(Ea,{asChild:!0,children:i.jsx(fe,{variant:"ghost",size:"sm",className:"h-6 text-xs text-current",children:C?i.jsxs(i.Fragment,{children:[i.jsx(X.ChevronUp,{className:"h-3 w-3 mr-1"}),"Show less"]}):i.jsxs(i.Fragment,{children:[i.jsx(X.ChevronDown,{className:"h-3 w-3 mr-1"}),"Show more (",K.length-u," chars)"]})})})]})})}if(R&&k&&!f){const K=op(e.content);if(K&&Xf(K))return i.jsx(Xt,{content:K.trim()});const Y=Tt(e.content);return i.jsx("div",{className:"font-mono text-sm text-current",children:i.jsx("pre",{className:P("whitespace-pre-wrap break-words text-current",_&&"text-xs"),children:Y})})}const V=O.length>0&&B!=="tool",se=G.length>0&&B!=="tool";return i.jsxs("div",{children:[r?i.jsxs("div",{className:"relative",children:[(()=>{const K=no(L);return K!==null?i.jsx(Ta,{data:K}):i.jsx(Xt,{content:Jf(Yf(L))})})(),i.jsx(Gf,{className:P(U,_?"text-xs":"text-sm")})]}):(()=>{const K=no(D.trim());if(K!==null)return i.jsx(Ta,{data:K});if(B==="user"&&p){const Y=D.trim();if(Y.length>h)return i.jsxs(Ca,{open:M,onOpenChange:F,children:[i.jsx("div",{className:P("text-sm text-[hsl(var(--chat-bubble-user-text))]",_&&"text-xs"),children:M?i.jsx(Xt,{content:Y}):i.jsxs("pre",{className:P("font-sans whitespace-pre-wrap break-words bg-transparent p-0 m-0 text-[hsl(var(--chat-bubble-user-text))]",_&&"text-xs"),children:[Y.substring(0,h),"..."]})}),i.jsx(Ea,{asChild:!0,children:i.jsx(fe,{variant:"ghost",size:"sm",className:"h-6 text-xs !text-[hsl(var(--chat-bubble-user-text))]",children:M?i.jsxs(i.Fragment,{children:[i.jsx(X.ChevronUp,{className:"h-3 w-3 mr-1"})," Show less"]}):i.jsxs(i.Fragment,{children:[i.jsx(X.ChevronDown,{className:"h-3 w-3 mr-1"})," Show more (",Y.length-h," chars)"]})})})]})}return i.jsx(Xt,{content:D.trim()})})(),V&&i.jsx("div",{className:"mt-2 grid grid-cols-2 gap-2",children:O.map((K,Y)=>i.jsxs("div",{className:"relative border rounded overflow-hidden",children:[i.jsx("img",{src:K.url,alt:K.alt??"image",className:"w-full h-auto"}),i.jsxs("div",{className:"absolute top-1 right-1 bg-background/70 rounded px-1 py-0.5 text-[10px] flex items-center gap-1",children:[i.jsx(X.Image,{className:"h-3 w-3"}),i.jsx("span",{children:"image"})]})]},Y))}),se&&i.jsx("div",{className:"mt-2 flex flex-wrap gap-2",children:G.map((K,Y)=>{const ne=K,me=ne.name||"file";return i.jsxs("a",{href:ne.url,download:me,target:"_blank",rel:"noreferrer",className:P("inline-flex items-center gap-2 rounded px-2 py-1 text-xs","bg-gray-100 border border-gray-200 hover:bg-gray-200","dark:bg-background/10 dark:border-border/30 dark:hover:bg-background/20","text-current"),title:me,children:[i.jsx("span",{className:"inline-block w-1.5 h-1.5 rounded-full bg-gray-400 dark:bg-gray-500"}),i.jsx("span",{className:"truncate max-w-[180px]",children:me})]},Y)})})]})},W=T.useMemo(()=>ep(e),[e]);return i.jsx("div",{className:P($(),v.container),children:i.jsxs("div",{className:P(j(),v.content),children:[(a||c||R)&&i.jsxs("div",{className:P("flex items-center justify-between mb-2 pb-2 border-b border-current/10",_&&"mb-1 pb-1",U,v.header),children:[i.jsxs("div",{className:"flex items-center gap-2",children:[ce(),c&&W&&i.jsx("span",{className:P("font-medium",_?"text-xs":"text-sm"),children:W}),R&&z.name&&i.jsxs(ba,{variant:"outline",className:P("text-xs flex items-center gap-1 cursor-pointer",U,"border border-current/40",_&&"text-xs h-4"),onClick:()=>E(V=>!V),children:[i.jsx("span",{children:z.name}),i.jsx("span",{className:"inline-flex items-center",children:k?i.jsx(X.ChevronUp,{className:"h-3 w-3"}):i.jsx(X.ChevronDown,{className:"h-3 w-3"})})]}),R&&!z.name&&i.jsx(fe,{variant:"ghost",size:"sm",className:P("h-6 px-1",U,"hover:bg-foreground/10"),onClick:()=>E(V=>!V),children:i.jsxs("span",{className:"text-xs flex items-center gap-1",children:["Tool Output ",k?i.jsx(X.ChevronUp,{className:"h-3 w-3"}):i.jsx(X.ChevronDown,{className:"h-3 w-3"})]})})]}),i.jsxs("div",{className:"flex items-center gap-2",children:[a&&i.jsx("span",{className:P("text-xs opacity-60",U,_&&"text-xs"),children:le(e.createdAt)}),s&&!o&&i.jsxs("div",{className:P("opacity-0 group-hover:opacity-100 transition-opacity","flex items-center gap-1",v.actions),children:[i.jsx(fe,{variant:"ghost",size:"sm",onClick:A,className:P("h-6 w-6 p-0 hover:bg-foreground/10",U,_&&"h-5 w-5"),children:i.jsx(X.Copy,{className:P(x?"text-success":U,_?"h-3 w-3":"h-4 w-4")})}),B==="user"&&m&&i.jsx(fe,{variant:"ghost",size:"sm",onClick:ee,className:P("h-6 w-6 p-0 hover:bg-foreground/10",U,_&&"h-5 w-5"),children:i.jsx(X.Edit,{className:P(U,_?"h-3 w-3":"h-4 w-4")})}),B==="assistant"&&g&&i.jsx(fe,{variant:"ghost",size:"sm",onClick:q,className:P("h-6 w-6 p-0 hover:bg-foreground/10",U,_&&"h-5 w-5"),children:i.jsx(X.RotateCcw,{className:P(U,_?"h-3 w-3":"h-4 w-4")})})]})]})]}),i.jsx("div",{className:"relative",children:he()}),R&&k&&(z.toolCallId||z.name)&&i.jsxs("div",{className:P("mt-2 pt-2 border-t border-current/10 text-xs opacity-60",_&&"text-xs"),children:[z.name&&i.jsxs("div",{children:["Function: ",z.name]}),z.toolCallId&&i.jsxs("div",{children:["Call ID: ",z.toolCallId]})]}),!(a||c||R)&&s&&!o&&i.jsxs("div",{className:P("absolute top-2 right-2 opacity-0 group-hover:opacity-100 transition-opacity","flex items-center gap-1",v.actions),children:[i.jsx(fe,{variant:"ghost",size:"sm",onClick:A,className:P("h-6 w-6 p-0 hover:bg-background/50 text-current",_&&"h-5 w-5"),children:i.jsx(X.Copy,{className:P(x?"text-success":"text-current",_?"h-3 w-3":"h-4 w-4")})}),B==="user"&&m&&i.jsx(fe,{variant:"ghost",size:"sm",onClick:ee,className:P("h-6 w-6 p-0 hover:bg-background/50 text-current",_&&"h-5 w-5"),children:i.jsx(X.Edit,{className:P("text-current",_?"h-3 w-3":"h-4 w-4")})}),B==="assistant"&&g&&i.jsx(fe,{variant:"ghost",size:"sm",onClick:q,className:P("h-6 w-6 p-0 hover:bg-background/50 text-current",_&&"h-5 w-5"),children:i.jsx(X.RotateCcw,{className:P("text-current",_?"h-3 w-3":"h-4 w-4")})})]})]})})}function qf(e){const t=e.filter(r=>r.type==="text").map(r=>r.text).join("");return t||JSON.stringify(e)}function Xf(e){return e.includes(`
|
|
9
|
+
`)}const Cf={messages:[],assemblingId:null,lastCheckpointId:null,toolIndex:{},lastBranch:null};function Ef(e,t){var r,n;switch(t.type){case"reset":return{messages:Yn(((r=t.payload)==null?void 0:r.messages)??[]),assemblingId:null,lastCheckpointId:null,toolIndex:{},lastBranch:null};case"seed":return{...e,messages:Yn(t.payload.messages)};case"prepend":{const o=Yn(t.payload.messages);if(!o.length)return e;const s=new Set(e.messages.map(c=>c.id)),a=o.filter(c=>!s.has(c.id));return a.length?{...e,messages:[...a,...e.messages]}:e}case"user_message":{const o=t.payload.message;if(e.assemblingId){const s=e.messages.findIndex(a=>a.id===e.assemblingId&&a.role==="assistant");if(s>=0){const a=e.messages.slice(0,s),c=e.messages.slice(s);return{...e,messages:[...a,o,...c]}}}return{...e,messages:[...e.messages,o]}}case"event":{const o=t.payload.ev;if(o.type==="message_start"&&o.role==="assistant"){const s=o.id,a=Pf(o.model),c={id:s,role:"assistant",name:a||void 0,model:o.model,createdAt:new Date().toISOString(),content:[]};return{...e,assemblingId:s,messages:[...e.messages,c]}}if(o.type==="token"){const s=e.assemblingId??Jn(e.messages);return s?{...e,messages:Nf(e.messages,s,o.content)}:e}if(o.type==="message_delta"){const s=e.assemblingId??Jn(e.messages);return s?{...e,messages:ha(e.messages,s,o.delta)}:e}if(o.type==="message_end"){const s=e.assemblingId??Jn(e.messages);if(!s)return{...e,assemblingId:null};const a=e.messages,c=a.findIndex(l=>l.id===s&&l.role==="assistant");if(c>=0&&!((n=a[c].content)==null?void 0:n.some(u=>{var p;return(u==null?void 0:u.type)==="text"&&((p=u.text)==null?void 0:p.trim())}))){const u=[...a.slice(0,c),...a.slice(c+1)];return{...e,assemblingId:null,messages:u}}return{...e,assemblingId:null}}if(o.type==="tool_start"){const s=`tool-${o.id}`,a={type:"tool_call",id:o.id,name:o.name,args:o.args},c={id:s,role:"tool",name:o.name,createdAt:new Date().toISOString(),content:[a]};return{...e,messages:[...e.messages,c],toolIndex:{...e.toolIndex,[o.id]:s}}}if(o.type==="tool_result"){const s=e.toolIndex[o.id]??`tool-${o.id}`,a={type:"tool_result",toolCallId:o.id,output:o.output,error:o.error},c=e.messages.find(u=>u.id===s),l={id:s,role:"tool",content:[a],createdAt:new Date().toISOString()},f=c?ha(e.messages,s,[a]):[...e.messages,l];return{...e,messages:f}}if(o.type==="checkpoint"){const s=Af(e.messages,o.checkpointId);return{...e,lastCheckpointId:o.checkpointId,messages:s}}if(o.type==="branch"){const s=o.checkpointId??e.lastCheckpointId;return{...e,lastBranch:o,lastCheckpointId:s??null}}if(o.type==="error"){const s={id:`err-${Date.now()}`,role:"system",content:[{type:"text",text:`Error: ${o.message}`}],createdAt:new Date().toISOString()};return{...e,messages:[...e.messages,s]}}return e}default:return e}}function pa(e=[]){const[t,r]=T.useReducer(Ef,{...Cf,messages:e}),n=T.useCallback(s=>{r({type:"event",payload:{ev:s}})},[]),o=T.useMemo(()=>({reset:s=>r({type:"reset",payload:{messages:s}}),seed:s=>r({type:"seed",payload:{messages:s}}),prepend:s=>r({type:"prepend",payload:{messages:s}}),pushUser:s=>r({type:"user_message",payload:{message:s}}),onEvent:n}),[n]);return{state:t,dispatch:r,...o}}function Yn(e){return e.filter(t=>{if(t.role!=="assistant")return!0;const r=(t.content||[]).some(o=>{var s;return o&&o.type==="text"&&((s=o.text)==null?void 0:s.trim())}),n=(t.content||[]).some(o=>o&&o.type==="image_url");return!!(r||n)})}function Jn(e){for(let t=e.length-1;t>=0;t--)if(e[t].role==="assistant")return e[t].id;return null}function Nf(e,t,r){return e.map(n=>{if(n.id!==t)return n;const o=n.content.slice(),s=o[o.length-1];return s&&s.type==="text"?s.text+=r:o.push({type:"text",text:r}),{...n,content:o}})}function ha(e,t,r){return e.map(n=>n.id===t?{...n,content:Tf(n.content,r)}:n)}function Tf(e,t){const r=e.slice();for(const n of t)if(n.type==="text"){const o=r[r.length-1];(o==null?void 0:o.type)==="text"?o.text+=n.text:r.push({type:"text",text:n.text})}else r.push(n);return r}function Af(e,t){for(let r=e.length-1;r>=0;r--)if(e[r].role==="assistant"){const o={...e[r],checkpointId:t};return[...e.slice(0,r),o,...e.slice(r+1)]}return e}function Pf(e){if(!e)return null;const t=e.split("/");return t[t.length-1]||null}const ga=T.createContext(null);function qt({children:e,apiConfig:t,onError:r,onThreadChange:n,initialThreadId:o=null,historyPageSize:s,enableFileAgentRouting:a=!1,fileAgentId:c="invoice_reader"}){const l=Qe;T.useEffect(()=>{t&&l.updateConfig({baseUrl:t.baseUrl,authToken:t.apiKey})},[l,t]);const{isStreaming:f,error:u,stream:p,stop:h,setToken:v}=fa({baseUrl:l.baseUrl,token:null,headers:t==null?void 0:t.headers,streamPath:"/chat/runs/stream"}),[m,g]=T.useState(()=>typeof l.getAuthToken=="function"?l.getAuthToken():null);T.useEffect(()=>{v(typeof l.getAuthToken=="function"?l.getAuthToken():null);const Z=l.onTokenChange(X=>{g(X),v(X)});return()=>{Z()}},[l,v]);const b=T.useCallback(Z=>{l.setAuthToken(Z)},[l]),{state:w,seed:x,prepend:y,pushUser:C,onEvent:N,reset:k}=pa(),E=s&&s>0?s:6,[M,F]=T.useState(!1),[_,B]=T.useState(!1),[R,U]=T.useState(null),[D,z]=T.useState(void 0),O=T.useCallback((Z,X)=>{const ge=Array.isArray(Z==null?void 0:Z.messages)?Z.messages:[];X==="replace"?x(ge):X==="prepend"&&ge.length&&y(ge),U((Z==null?void 0:Z.nextCursor)??null),F(!!(Z!=null&&Z.hasMore)),z(Oe=>(Z==null?void 0:Z.checkpointId)??Oe??void 0)},[x,y]),[G,L]=T.useState([]),[A,ee]=T.useState(null),q=T.useCallback(async()=>{const Z=await l.listThreads();L(Z)},[l]);T.useEffect(()=>{q().catch(()=>{})},[q]),T.useEffect(()=>{n==null||n(A)},[A,n]);const ce=T.useRef(null);T.useEffect(()=>{o&&ce.current!==o&&(ce.current=o,j(o).catch(()=>{}))},[o]);const $=T.useRef(null),j=T.useCallback(async(Z,X,ge)=>{if($.current!==Z){$.current=Z;try{F(!1),U(null),z(void 0);const Oe=await l.getMessages({threadId:Z,checkpointId:X,checkpointNs:ge,limit:E});ee(Z),O(Oe,"replace")}finally{$.current=null}}},[l,O]),le=T.useCallback(async Z=>{console.log("ChatProvider debug - listCheckpoints called for threadId:",Z);const X=await l.listCheckpoints(Z);return console.log("ChatProvider debug - listCheckpoints result:",X),X},[l]),he=T.useCallback(async Z=>{if(!A)throw new Error("No active thread");F(!1),U(null),z(void 0);const X=await l.getMessages({threadId:A,checkpointId:Z,limit:E});O(X,"replace")},[l,A,O,E]),W=T.useCallback(async()=>{if(!A)throw new Error("No active thread");await j(A)},[A,j]),V=T.useRef(!1);T.useEffect(()=>{const Z=V.current;if(V.current=f,Z&&!f&&A){const X=w.lastCheckpointId??void 0;(async()=>{try{const ge=await l.getMessages({threadId:A,checkpointId:X,limit:E});O(ge,"replace")}catch{}try{await q()}catch{}})()}},[f,A,w.lastCheckpointId,l,O,q]);const se=T.useCallback(async Z=>{const X=await l.createThread(Z);return await q(),await j(X.threadId),X.threadId},[l,q,j]),K=T.useCallback(async Z=>{await l.deleteThread(Z),await q(),A===Z&&(ee(null),k([]),F(!1),U(null),z(void 0))},[l,q,A,k]),J=T.useCallback(async(Z,X)=>{await l.updateThread(Z,X),await q()},[l,q]),ne=T.useCallback(async(Z,X)=>{var kn;async function ge(ae){return await new Promise((xe,Pe)=>{const je=new FileReader;je.onload=()=>xe(String(je.result)),je.onerror=rt=>Pe(rt),je.readAsDataURL(ae)})}async function Oe(ae){return await new Promise((xe,Pe)=>{const je=new FileReader;je.onload=()=>{try{const rt=je.result;let On="";const Mn=new Uint8Array(rt),vs=Mn.byteLength;for(let I=0;I<vs;I++)On+=String.fromCharCode(Mn[I]);xe(btoa(On))}catch(rt){Pe(rt)}},je.onerror=rt=>Pe(rt),je.readAsArrayBuffer(ae)})}const Ce=[];Z&&Ce.push({type:"text",text:Z});const pr=(X==null?void 0:X.attachments)||[];let ut=[];if(pr.length>0)for(const ae of pr)if(ae.type&&ae.type.startsWith("image/")){let xe=null;try{const Pe=await l.uploadImage(ae,(t==null?void 0:t.uploadPath)||"/upload").catch(()=>null);xe=(Pe==null?void 0:Pe.url)||null}catch{}if(!xe)try{xe=await ge(ae)}catch{xe=null}if(xe){const Pe={type:"image_url",url:xe,mimeType:ae.type,alt:ae.name};Ce.push(Pe)}try{ut.push({filename:ae.name,data:await Oe(ae),mime_type:ae.type||"application/octet-stream"})}catch{}}else{const xe=await ge(ae).catch(()=>null),Pe={type:"file",url:String(xe),mimeType:ae.type||void 0,name:ae.name,size:ae.size};Ce.push(Pe);try{ut.push({filename:ae.name,data:await Oe(ae),mime_type:ae.type||"application/octet-stream"})}catch{}}const Ht={id:((kn=crypto.randomUUID)==null?void 0:kn.call(crypto))||`user-${Date.now()}`,role:"user",content:Ce,createdAt:new Date().toISOString(),checkpointId:(X==null?void 0:X.checkpointId)??w.lastCheckpointId??void 0};C(Ht);const gs={...Ht,content:Ht.content.filter(ae=>ae.type==="text"||ae.type==="image_url")},zt={...(X==null?void 0:X.payloadExtras)??{}},ms=!!zt.edit,In=zt.originalMessageId,_n=typeof In=="string"?In:void 0,bs=(X==null?void 0:X.attachments)&&X.attachments.length>0,hr={...A?{threadId:A}:{},payload:{messages:[gs],attachments:Ht.content.filter(ae=>ae.type==="file").map(ae=>({type:"file",url:ae.url,mimeType:ae.mimeType,name:ae.name,size:ae.size})),files_info:ut,...a&&bs&&c?{agent_id:c}:{},...zt},checkpointId:(X==null?void 0:X.checkpointId)??w.lastCheckpointId??void 0,checkpointNs:X==null?void 0:X.checkpointNs,nodeFilter:X==null?void 0:X.nodeFilter,config:X==null?void 0:X.config,edit:ms,originalMessageId:_n};p(hr,ae=>N(ae),{onError:ae=>console.warn("stream error",ae),onOpen:({threadId:ae,created:xe})=>{!A&&ae&&(ee(ae),xe&&q().catch(()=>{}))}})},[A,C,p,N,w.lastCheckpointId,l,t==null?void 0:t.uploadPath,q,ee]),me=T.useCallback(async Z=>{if(!A)throw new Error("No active thread");if(_||!M)return;const X=R;if(X){B(!0);try{const ge=await l.getMessages({threadId:A,checkpointId:D,limit:(Z==null?void 0:Z.limit)??E,beforeId:X});O(ge,"prepend")}finally{B(!1)}}},[l,A,D,R,M,_,O]),pe={baseUrl:l.baseUrl,token:m,setToken:b,api:l,threads:G,currentThreadId:A,setCurrentThreadId:ee,messages:w.messages,isStreaming:f,error:u,lastCheckpointId:w.lastCheckpointId,streamingAssistantId:w.assemblingId,hasMoreHistory:M,isLoadingHistory:_,loadOlderMessages:me,historyPageSize:E,listCheckpoints:le,navigateToCheckpoint:he,returnToLatest:W,refreshThreads:q,createThread:se,deleteThread:K,renameThread:J,loadThread:j,send:ne,stop:h};return i.jsx(ga.Provider,{value:pe,children:e})}function Zn(){const e=T.useContext(ga);if(!e)throw new Error("useChat must be used within ChatProvider");return e}function P(...e){return Xd.twMerge(qd.clsx(e))}const If=Wt.cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 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 hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-md px-8",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}}),fe=d.forwardRef(({className:e,variant:t,size:r,asChild:n=!1,...o},s)=>{const a=n?Ie.Slot:"button";return i.jsx(a,{className:P(If({variant:t,size:r,className:e})),ref:s,...o})});fe.displayName="Button";const ma=d.forwardRef(({className:e,...t},r)=>i.jsx("textarea",{className:P("flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",e),ref:r,...t}));ma.displayName="Textarea";const _f=Wt.cva("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function ba({className:e,variant:t,...r}){return i.jsx("div",{className:P(_f({variant:t}),e),...r})}function H(e,t,{checkForDefaultPrevented:r=!0}={}){return function(o){if(e==null||e(o),r===!1||!o.defaultPrevented)return t==null?void 0:t(o)}}function kf(e,t){const r=d.createContext(t),n=s=>{const{children:a,...c}=s,l=d.useMemo(()=>c,Object.values(c));return i.jsx(r.Provider,{value:l,children:a})};n.displayName=e+"Provider";function o(s){const a=d.useContext(r);if(a)return a;if(t!==void 0)return t;throw new Error(`\`${s}\` must be used within \`${e}\``)}return[n,o]}function Be(e,t=[]){let r=[];function n(s,a){const c=d.createContext(a),l=r.length;r=[...r,a];const f=p=>{var w;const{scope:h,children:v,...m}=p,g=((w=h==null?void 0:h[e])==null?void 0:w[l])||c,b=d.useMemo(()=>m,Object.values(m));return i.jsx(g.Provider,{value:b,children:v})};f.displayName=s+"Provider";function u(p,h){var g;const v=((g=h==null?void 0:h[e])==null?void 0:g[l])||c,m=d.useContext(v);if(m)return m;if(a!==void 0)return a;throw new Error(`\`${p}\` must be used within \`${s}\``)}return[f,u]}const o=()=>{const s=r.map(a=>d.createContext(a));return function(c){const l=(c==null?void 0:c[e])||s;return d.useMemo(()=>({[`__scope${e}`]:{...c,[e]:l}}),[c,l])}};return o.scopeName=e,[n,Of(o,...t)]}function Of(...e){const t=e[0];if(e.length===1)return t;const r=()=>{const n=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(s){const a=n.reduce((c,{useScope:l,scopeName:f})=>{const p=l(s)[`__scope${f}`];return{...c,...p}},{});return d.useMemo(()=>({[`__scope${t.scopeName}`]:a}),[a])}};return r.scopeName=t.scopeName,r}var ve=globalThis!=null&&globalThis.document?d.useLayoutEffect:()=>{},Mf=d[" useInsertionEffect ".trim().toString()]||ve;function ot({prop:e,defaultProp:t,onChange:r=()=>{},caller:n}){const[o,s,a]=Df({defaultProp:t,onChange:r}),c=e!==void 0,l=c?e:o;{const u=d.useRef(e!==void 0);d.useEffect(()=>{const p=u.current;p!==c&&console.warn(`${n} is changing from ${p?"controlled":"uncontrolled"} to ${c?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),u.current=c},[c,n])}const f=d.useCallback(u=>{var p;if(c){const h=Lf(u)?u(e):u;h!==e&&((p=a.current)==null||p.call(a,h))}else s(u)},[c,e,s,a]);return[l,f]}function Df({defaultProp:e,onChange:t}){const[r,n]=d.useState(e),o=d.useRef(r),s=d.useRef(t);return Mf(()=>{s.current=t},[t]),d.useEffect(()=>{var a;o.current!==r&&((a=s.current)==null||a.call(s,r),o.current=r)},[r,o]),[r,n,s]}function Lf(e){return typeof e=="function"}function va(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function Qn(...e){return t=>{let r=!1;const n=e.map(o=>{const s=va(o,t);return!r&&typeof s=="function"&&(r=!0),s});if(r)return()=>{for(let o=0;o<n.length;o++){const s=n[o];typeof s=="function"?s():va(e[o],null)}}}}function ie(...e){return d.useCallback(Qn(...e),e)}var Ff=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],te=Ff.reduce((e,t)=>{const r=Ie.createSlot(`Primitive.${t}`),n=d.forwardRef((o,s)=>{const{asChild:a,...c}=o,l=a?r:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),i.jsx(l,{...c,ref:s})});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{});function wa(e,t){e&&gr.flushSync(()=>e.dispatchEvent(t))}function $f(e,t){return d.useReducer((r,n)=>t[r][n]??r,e)}var Ae=e=>{const{present:t,children:r}=e,n=Bf(t),o=typeof r=="function"?r({present:n.isPresent}):d.Children.only(r),s=ie(n.ref,Uf(o));return typeof r=="function"||n.isPresent?d.cloneElement(o,{ref:s}):null};Ae.displayName="Presence";function Bf(e){const[t,r]=d.useState(),n=d.useRef(null),o=d.useRef(e),s=d.useRef("none"),a=e?"mounted":"unmounted",[c,l]=$f(a,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return d.useEffect(()=>{const f=_r(n.current);s.current=c==="mounted"?f:"none"},[c]),ve(()=>{const f=n.current,u=o.current;if(u!==e){const h=s.current,v=_r(f);e?l("MOUNT"):v==="none"||(f==null?void 0:f.display)==="none"?l("UNMOUNT"):l(u&&h!==v?"ANIMATION_OUT":"UNMOUNT"),o.current=e}},[e,l]),ve(()=>{if(t){let f;const u=t.ownerDocument.defaultView??window,p=v=>{const g=_r(n.current).includes(CSS.escape(v.animationName));if(v.target===t&&g&&(l("ANIMATION_END"),!o.current)){const b=t.style.animationFillMode;t.style.animationFillMode="forwards",f=u.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=b)})}},h=v=>{v.target===t&&(s.current=_r(n.current))};return t.addEventListener("animationstart",h),t.addEventListener("animationcancel",p),t.addEventListener("animationend",p),()=>{u.clearTimeout(f),t.removeEventListener("animationstart",h),t.removeEventListener("animationcancel",p),t.removeEventListener("animationend",p)}}else l("ANIMATION_END")},[t,l]),{isPresent:["mounted","unmountSuspended"].includes(c),ref:d.useCallback(f=>{n.current=f?getComputedStyle(f):null,r(f)},[])}}function _r(e){return(e==null?void 0:e.animationName)||"none"}function Uf(e){var n,o;let t=(n=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:n.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=(o=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:o.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}var Hf=d[" useId ".trim().toString()]||(()=>{}),zf=0;function Ue(e){const[t,r]=d.useState(Hf());return ve(()=>{r(n=>n??String(zf++))},[e]),t?`radix-${t}`:""}var kr="Collapsible",[Wf,Xw]=Be(kr),[Vf,eo]=Wf(kr),ya=d.forwardRef((e,t)=>{const{__scopeCollapsible:r,open:n,defaultOpen:o,disabled:s,onOpenChange:a,...c}=e,[l,f]=ot({prop:n,defaultProp:o??!1,onChange:a,caller:kr});return i.jsx(Vf,{scope:r,disabled:s,contentId:Ue(),open:l,onOpenToggle:d.useCallback(()=>f(u=>!u),[f]),children:i.jsx(te.div,{"data-state":ro(l),"data-disabled":s?"":void 0,...c,ref:t})})});ya.displayName=kr;var xa="CollapsibleTrigger",Sa=d.forwardRef((e,t)=>{const{__scopeCollapsible:r,...n}=e,o=eo(xa,r);return i.jsx(te.button,{type:"button","aria-controls":o.contentId,"aria-expanded":o.open||!1,"data-state":ro(o.open),"data-disabled":o.disabled?"":void 0,disabled:o.disabled,...n,ref:t,onClick:H(e.onClick,o.onOpenToggle)})});Sa.displayName=xa;var to="CollapsibleContent",jf=d.forwardRef((e,t)=>{const{forceMount:r,...n}=e,o=eo(to,e.__scopeCollapsible);return i.jsx(Ae,{present:r||o.open,children:({present:s})=>i.jsx(Kf,{...n,ref:t,present:s})})});jf.displayName=to;var Kf=d.forwardRef((e,t)=>{const{__scopeCollapsible:r,present:n,children:o,...s}=e,a=eo(to,r),[c,l]=d.useState(n),f=d.useRef(null),u=ie(t,f),p=d.useRef(0),h=p.current,v=d.useRef(0),m=v.current,g=a.open||c,b=d.useRef(g),w=d.useRef(void 0);return d.useEffect(()=>{const x=requestAnimationFrame(()=>b.current=!1);return()=>cancelAnimationFrame(x)},[]),ve(()=>{const x=f.current;if(x){w.current=w.current||{transitionDuration:x.style.transitionDuration,animationName:x.style.animationName},x.style.transitionDuration="0s",x.style.animationName="none";const y=x.getBoundingClientRect();p.current=y.height,v.current=y.width,b.current||(x.style.transitionDuration=w.current.transitionDuration,x.style.animationName=w.current.animationName),l(n)}},[a.open,n]),i.jsx(te.div,{"data-state":ro(a.open),"data-disabled":a.disabled?"":void 0,id:a.contentId,hidden:!g,...s,ref:u,style:{"--radix-collapsible-content-height":h?`${h}px`:void 0,"--radix-collapsible-content-width":m?`${m}px`:void 0,...e.style},children:g&&o})});function ro(e){return e?"open":"closed"}var Rf=ya;const Ca=Rf,Ea=Sa;function Xt({content:e,className:t=""}){const r=T.useMemo(()=>({table:({node:f,className:u,...p})=>i.jsx("div",{className:"max-w-full",children:i.jsx("table",{...p,className:P("w-full table-fixed border-collapse break-words",u)})}),th:({node:f,className:u,...p})=>i.jsx("th",{...p,className:P("break-words whitespace-normal border-b border-border/60 px-3 py-2 text-left align-top",u)}),td:({node:f,className:u,...p})=>i.jsx("td",{...p,className:P("break-words whitespace-normal border-b border-border/30 px-3 py-2 align-top",u)}),pre:({node:f,className:u,...p})=>i.jsx("pre",{...p,className:P("whitespace-pre-wrap break-words",u)}),code:({node:f,className:u,children:p,...h})=>{const{inline:v,...m}=h;return v?i.jsx("code",{...m,className:P("break-words whitespace-normal",u),children:p}):i.jsx("code",{...m,className:P("block break-words whitespace-pre-wrap",u),children:p})}}),[]),n=P("prose prose-sm max-w-none break-words dark:prose-invert leading-relaxed","prose-headings:break-words prose-p:break-words prose-li:break-words prose-td:break-words prose-th:break-words","prose-a:break-all prose-blockquote:break-words prose-strong:break-words prose-em:break-words","prose-code:break-words prose-pre:rounded prose-pre:border prose-pre:bg-background/50","prose-code:bg-background/50 prose-code:px-1 prose-code:py-0.5 prose-code:rounded prose-table:my-4 prose-th:px-2 prose-td:px-2",t);return i.jsx("div",{className:n,style:{wordBreak:"break-word",overflowWrap:"anywhere"},children:i.jsx(Yd,{remarkPlugins:[Jd],components:r,children:e})})}const Or="prose prose-sm max-w-none break-words dark:prose-invert prose-headings:break-words prose-p:break-words prose-li:break-words prose-td:break-words prose-th:break-words prose-a:break-all prose-code:break-words prose-blockquote:break-words";function Gf({className:e}){const[t,r]=T.useState(0);return T.useEffect(()=>{const n=setInterval(()=>r(o=>(o+1)%4),500);return()=>clearInterval(n)},[]),i.jsxs("span",{"aria-live":"polite",className:P("inline-block text-xs opacity-70 ml-1",e),children:["Is thinking",".".repeat(t)]})}function Na({message:e,messageIndex:t,isStreamingMessage:r=!1,streamingDebounceMs:n=40,isEditing:o=!1,showActions:s=!0,showTimestamp:a=!0,showAgentName:c=!0,layoutSize:l="desktop",truncateToolMessages:f=!0,toolMessagePreviewLength:u=200,truncateUserMessages:p=!0,userMessagePreviewLength:h=200,customStyles:v={},onEdit:m,onRegenerate:g,onCancelEdit:b,onCopy:w}){const[x,y]=T.useState(!1),[C,N]=T.useState(!1),[k,E]=T.useState(!1),[M,F]=T.useState(!1),_=l==="phone"||l==="half-screen",B=e.role,R=B==="tool",U=T.useMemo(()=>{switch(B){case"user":return"text-[hsl(var(--chat-bubble-user-text))]";case"assistant":return"text-[hsl(var(--chat-bubble-ai-text))]";case"tool":return"text-secondary-foreground";case"system":return"text-muted-foreground";default:return"text-foreground"}},[B]),D=T.useMemo(()=>qf(e.content),[e.content]),z=T.useMemo(()=>Qf(e.content),[e.content]),O=T.useMemo(()=>e.content.filter(V=>V.type==="image_url"),[e.content]),G=T.useMemo(()=>e.content.filter(V=>V.type==="file"),[e.content]),L=tp(D,r?n:0),A=async()=>{try{const V=R?Tt(e.content):D;await navigator.clipboard.writeText(V),y(!0),setTimeout(()=>y(!1),2e3),w==null||w(V)}catch(V){console.error("Failed to copy:",V)}},ee=()=>{if(!m)return;const V=R?Tt(e.content):D;m(e.id,V)},q=()=>g==null?void 0:g(t),ce=()=>{const se=P(_?"h-3 w-3":"h-4 w-4","opacity-60 flex-shrink-0",U);switch(B){case"user":return i.jsx(Y.User,{className:se});case"assistant":return i.jsx(Y.Bot,{className:se});case"tool":return i.jsx(Y.Wrench,{className:se});default:return i.jsx(Y.Bot,{className:se})}},$=()=>{const V="group relative mb-4 flex w-full";switch(B){case"user":return P(V,"justify-end");case"assistant":case"tool":case"system":return P(V,"justify-start");default:return V}},j=()=>{const V=P("rounded-lg px-4 py-3 relative transition-all duration-200 min-w-0 max-w-full break-words",_&&"px-3 py-2 text-sm");switch(B){case"user":return P(V,"w-full md:max-w-[95%]","bg-[hsl(var(--chat-bubble-user))] text-[hsl(var(--chat-bubble-user-text))]","border border-transparent");case"assistant":return P(V,"w-full md:max-w-[95%]","bg-[hsl(var(--chat-bubble-ai))] text-[hsl(var(--chat-bubble-ai-text))]","border border-border/60 dark:border-border/40");case"tool":return P(V,"w-full md:max-w-[95%] bg-secondary/50 text-secondary-foreground border border-dashed");case"system":return P(V,"w-full md:max-w-[85%] bg-accent/40 text-muted-foreground border");default:return V}},le=V=>{if(!V)return"";try{return new Date(V).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}catch{return""}},he=()=>{if(e.model==="reflection"){const K=D.trim(),J=no(K);if(J&&typeof J=="object")return i.jsx(rp,{data:J})}if(R&&z.name==="get_issues"){const K=e.content.find(me=>me.type==="tool_result"),J=(K==null?void 0:K.output)??Tt(e.content),ne=Pa(J);if(ne)return i.jsx(np,{issues:ne})}if(R&&!k){const K=Tt(e.content).slice(0,80).replace(/\s+/g," ");return i.jsx("div",{className:P("text-xs font-mono opacity-70 flex items-center justify-between gap-2 text-current",_&&"text-[10px]"),children:i.jsxs("span",{className:"truncate max-w-full text-current",children:[K,K.length>=80?"…":""]})})}if(R&&f){const K=Tt(e.content),J=K.length>u;return i.jsx(Ca,{open:C,onOpenChange:N,children:i.jsxs("div",{className:"font-mono text-sm text-current",children:[i.jsx("pre",{className:P("whitespace-pre-wrap break-words text-current",_&&"text-xs"),children:J&&!C?K.substring(0,u)+"...":K}),J&&i.jsx(Ea,{asChild:!0,children:i.jsx(fe,{variant:"ghost",size:"sm",className:"h-6 text-xs text-current",children:C?i.jsxs(i.Fragment,{children:[i.jsx(Y.ChevronUp,{className:"h-3 w-3 mr-1"}),"Show less"]}):i.jsxs(i.Fragment,{children:[i.jsx(Y.ChevronDown,{className:"h-3 w-3 mr-1"}),"Show more (",K.length-u," chars)"]})})})]})})}if(R&&k&&!f){const K=op(e.content);if(K&&Xf(K))return i.jsx(Xt,{content:K.trim()});const J=Tt(e.content);return i.jsx("div",{className:"font-mono text-sm text-current",children:i.jsx("pre",{className:P("whitespace-pre-wrap break-words text-current",_&&"text-xs"),children:J})})}const V=O.length>0&&B!=="tool",se=G.length>0&&B!=="tool";return i.jsxs("div",{children:[r?i.jsxs("div",{className:"relative",children:[(()=>{const K=no(L);return K!==null?i.jsx(Ta,{data:K}):i.jsx(Xt,{content:Jf(Yf(L))})})(),i.jsx(Gf,{className:P(U,_?"text-xs":"text-sm")})]}):(()=>{const K=no(D.trim());if(K!==null)return i.jsx(Ta,{data:K});if(B==="user"&&p){const J=D.trim();if(J.length>h)return i.jsxs(Ca,{open:M,onOpenChange:F,children:[i.jsx("div",{className:P("text-sm text-[hsl(var(--chat-bubble-user-text))]",_&&"text-xs"),children:M?i.jsx(Xt,{content:J}):i.jsxs("pre",{className:P("font-sans whitespace-pre-wrap break-words bg-transparent p-0 m-0 text-[hsl(var(--chat-bubble-user-text))]",_&&"text-xs"),children:[J.substring(0,h),"..."]})}),i.jsx(Ea,{asChild:!0,children:i.jsx(fe,{variant:"ghost",size:"sm",className:"h-6 text-xs !text-[hsl(var(--chat-bubble-user-text))]",children:M?i.jsxs(i.Fragment,{children:[i.jsx(Y.ChevronUp,{className:"h-3 w-3 mr-1"})," Show less"]}):i.jsxs(i.Fragment,{children:[i.jsx(Y.ChevronDown,{className:"h-3 w-3 mr-1"})," Show more (",J.length-h," chars)"]})})})]})}return i.jsx(Xt,{content:D.trim()})})(),V&&i.jsx("div",{className:"mt-2 grid grid-cols-2 gap-2",children:O.map((K,J)=>i.jsxs("div",{className:"relative border rounded overflow-hidden",children:[i.jsx("img",{src:K.url,alt:K.alt??"image",className:"w-full h-auto"}),i.jsxs("div",{className:"absolute top-1 right-1 bg-background/70 rounded px-1 py-0.5 text-[10px] flex items-center gap-1",children:[i.jsx(Y.Image,{className:"h-3 w-3"}),i.jsx("span",{children:"image"})]})]},J))}),se&&i.jsx("div",{className:"mt-2 flex flex-wrap gap-2",children:G.map((K,J)=>{const ne=K,me=ne.name||"file";return i.jsxs("a",{href:ne.url,download:me,target:"_blank",rel:"noreferrer",className:P("inline-flex items-center gap-2 rounded px-2 py-1 text-xs","bg-gray-100 border border-gray-200 hover:bg-gray-200","dark:bg-background/10 dark:border-border/30 dark:hover:bg-background/20","text-current"),title:me,children:[i.jsx("span",{className:"inline-block w-1.5 h-1.5 rounded-full bg-gray-400 dark:bg-gray-500"}),i.jsx("span",{className:"truncate max-w-[180px]",children:me})]},J)})})]})},W=T.useMemo(()=>ep(e),[e]);return i.jsx("div",{className:P($(),v.container),children:i.jsxs("div",{className:P(j(),v.content),children:[(a||c||R)&&i.jsxs("div",{className:P("flex items-center justify-between mb-2 pb-2 border-b border-current/10",_&&"mb-1 pb-1",U,v.header),children:[i.jsxs("div",{className:"flex items-center gap-2",children:[ce(),c&&W&&i.jsx("span",{className:P("font-medium",_?"text-xs":"text-sm"),children:W}),R&&z.name&&i.jsxs(ba,{variant:"outline",className:P("text-xs flex items-center gap-1 cursor-pointer",U,"border border-current/40",_&&"text-xs h-4"),onClick:()=>E(V=>!V),children:[i.jsx("span",{children:z.name}),i.jsx("span",{className:"inline-flex items-center",children:k?i.jsx(Y.ChevronUp,{className:"h-3 w-3"}):i.jsx(Y.ChevronDown,{className:"h-3 w-3"})})]}),R&&!z.name&&i.jsx(fe,{variant:"ghost",size:"sm",className:P("h-6 px-1",U,"hover:bg-foreground/10"),onClick:()=>E(V=>!V),children:i.jsxs("span",{className:"text-xs flex items-center gap-1",children:["Tool Output ",k?i.jsx(Y.ChevronUp,{className:"h-3 w-3"}):i.jsx(Y.ChevronDown,{className:"h-3 w-3"})]})})]}),i.jsxs("div",{className:"flex items-center gap-2",children:[a&&i.jsx("span",{className:P("text-xs opacity-60",U,_&&"text-xs"),children:le(e.createdAt)}),s&&!o&&i.jsxs("div",{className:P("opacity-0 group-hover:opacity-100 transition-opacity","flex items-center gap-1",v.actions),children:[i.jsx(fe,{variant:"ghost",size:"sm",onClick:A,className:P("h-6 w-6 p-0 hover:bg-foreground/10",U,_&&"h-5 w-5"),children:i.jsx(Y.Copy,{className:P(x?"text-success":U,_?"h-3 w-3":"h-4 w-4")})}),B==="user"&&m&&i.jsx(fe,{variant:"ghost",size:"sm",onClick:ee,className:P("h-6 w-6 p-0 hover:bg-foreground/10",U,_&&"h-5 w-5"),children:i.jsx(Y.Edit,{className:P(U,_?"h-3 w-3":"h-4 w-4")})}),B==="assistant"&&g&&i.jsx(fe,{variant:"ghost",size:"sm",onClick:q,className:P("h-6 w-6 p-0 hover:bg-foreground/10",U,_&&"h-5 w-5"),children:i.jsx(Y.RotateCcw,{className:P(U,_?"h-3 w-3":"h-4 w-4")})})]})]})]}),i.jsx("div",{className:"relative",children:he()}),R&&k&&(z.toolCallId||z.name)&&i.jsxs("div",{className:P("mt-2 pt-2 border-t border-current/10 text-xs opacity-60",_&&"text-xs"),children:[z.name&&i.jsxs("div",{children:["Function: ",z.name]}),z.toolCallId&&i.jsxs("div",{children:["Call ID: ",z.toolCallId]})]}),!(a||c||R)&&s&&!o&&i.jsxs("div",{className:P("absolute top-2 right-2 opacity-0 group-hover:opacity-100 transition-opacity","flex items-center gap-1",v.actions),children:[i.jsx(fe,{variant:"ghost",size:"sm",onClick:A,className:P("h-6 w-6 p-0 hover:bg-background/50 text-current",_&&"h-5 w-5"),children:i.jsx(Y.Copy,{className:P(x?"text-success":"text-current",_?"h-3 w-3":"h-4 w-4")})}),B==="user"&&m&&i.jsx(fe,{variant:"ghost",size:"sm",onClick:ee,className:P("h-6 w-6 p-0 hover:bg-background/50 text-current",_&&"h-5 w-5"),children:i.jsx(Y.Edit,{className:P("text-current",_?"h-3 w-3":"h-4 w-4")})}),B==="assistant"&&g&&i.jsx(fe,{variant:"ghost",size:"sm",onClick:q,className:P("h-6 w-6 p-0 hover:bg-background/50 text-current",_&&"h-5 w-5"),children:i.jsx(Y.RotateCcw,{className:P("text-current",_?"h-3 w-3":"h-4 w-4")})})]})]})})}function qf(e){const t=e.filter(r=>r.type==="text").map(r=>r.text).join("");return t||JSON.stringify(e)}function Xf(e){return e.includes(`
|
|
10
10
|
`)||e.includes("```")||/[-*] /.test(e)||/#+\s/.test(e)}function Yf(e){let t=e;try{(t.match(/```/g)||[]).length%2===1&&(t+="\n```"),(t.replace(/```[\s\S]*?```/g,"").match(new RegExp("(?<!`)`(?!`)","g"))||[]).length%2===1&&(t+="`")}catch{}return t}function Jf(e){let t=e;try{const r=[],n=[],o="\0F",s="\0I";let a=t.replace(/```[\s\S]*?```/g,c=>(r.push(c),`${o}${r.length-1}\0`));a=a.replace(/`[^`]*`/g,c=>(n.push(c),`${s}${n.length-1}\0`)),a=a.replace(/\b([A-Za-z0-9_&\/-]+)\b(\s+\1\b)+/g,"$1").replace(/\b([A-Za-z0-9_&\/-]+\s+[A-Za-z0-9_&\/-]+)\b(\s+\1\b)+/g,"$1").replace(/([\.,;:!\?\-])\1+/g,"$1").replace(/([:;!\?\)])([A-Za-z])/g,"$1 $2").replace(/\s{3,}/g," "),a=a.replace(/\u0000F(\d+)\u0000/g,(c,l)=>r[Number(l)]??""),a=a.replace(/\u0000I(\d+)\u0000/g,(c,l)=>n[Number(l)]??""),t=a}catch{}return t}function no(e){const t=e==null?void 0:e.trim();if(!t||!(t.startsWith("{")||t.startsWith("[")))return null;try{return JSON.parse(t)}catch{return null}}function Ta({data:e}){if(Array.isArray(e))return e.every(r=>r===null||["string","number","boolean"].includes(typeof r))?i.jsx("div",{className:Or,children:i.jsx("ul",{className:"list-disc pl-5",children:e.map((r,n)=>i.jsx("li",{children:String(r)},n))})}):i.jsx("pre",{className:"font-mono text-xs bg-background/50 rounded border p-2 whitespace-pre-wrap break-words",children:Yt(e)});if(e&&typeof e=="object"){const t=Array.isArray(e.distilled_facts)?e.distilled_facts:null,r=Array.isArray(e.follow_up_queries)?e.follow_up_queries:null,n=typeof e.is_sufficient=="boolean"?e.is_sufficient:void 0;if(t||r||typeof n=="boolean")return i.jsxs("div",{className:Or,children:[typeof n=="boolean"&&i.jsxs("p",{children:[i.jsx("strong",{children:"Is sufficient:"})," ",n?"Yes":"No"]}),r&&r.length>0&&i.jsxs("div",{children:[i.jsx("p",{children:i.jsx("strong",{children:"Follow-up queries:"})}),i.jsx("ul",{className:"list-disc pl-5",children:r.map((s,a)=>i.jsx("li",{children:String(s)},a))})]}),t&&t.length>0&&i.jsxs("div",{children:[i.jsx("p",{children:i.jsx("strong",{children:"Facts:"})}),i.jsx("ul",{className:"list-disc pl-5",children:t.map((s,a)=>i.jsx("li",{children:String(s)},a))})]})]});const o=Object.entries(e);return i.jsx("div",{className:Or,children:i.jsx("dl",{className:"mt-0",children:o.map(([s,a])=>i.jsxs("div",{className:"mb-1",children:[i.jsxs("dt",{className:"inline font-medium mr-1",children:[s,":"]}),i.jsx("dd",{className:"inline",children:Zf(a)})]},s))})})}return i.jsx("pre",{className:"font-mono text-xs bg-background/50 rounded border p-2 whitespace-pre-wrap break-words",children:Yt(e)})}function Zf(e){if(e==null)return String(e);const t=typeof e;if(t==="string"||t==="number"||t==="boolean")return String(e);if(Array.isArray(e)&&e.every(n=>n===null||["string","number","boolean"].includes(typeof n)))return e.join(", ");try{return i.jsx("code",{className:"text-xs",children:JSON.stringify(Mr(e))})}catch{return String(e)}}function Aa(e){return!!(e&&typeof e=="object"&&(e.type==="file"||e.mimeType||e.filename||e.sourceType==="base64"))}function Mr(e){if(typeof e=="string")return e.length>2e3?e.slice(0,2e3)+"... [truncated]":e;if(e&&typeof e=="object"){if(Array.isArray(e)){const r=e.map(Mr).filter(n=>n!==void 0);return r.length?r:void 0}if(Aa(e))return;const t={};for(const r of Object.keys(e)){const n=e[r];if(r==="data"&&typeof n=="string"&&n.length>100)t[r]=`[base64 ${n.length} chars omitted]`;else{const o=Mr(n);o!==void 0&&(t[r]=o)}}return Object.keys(t).length?t:void 0}return e}function Yt(e){if(typeof e=="string")return e;if(Aa(e))return"";try{const t=Mr(e);return t===void 0?"":typeof t=="string"?t:JSON.stringify(t,null,2)}catch{return""}}function Qf(e){const t=e.find(n=>n.type==="tool_call"),r=e.find(n=>n.type==="tool_result");return{name:t==null?void 0:t.name,toolCallId:(r==null?void 0:r.toolCallId)??(t==null?void 0:t.id)}}function ep(e){return e.name&&e.name.trim()?e.name:e.model&&e.model.includes("/")?e.model.split("/").pop()||null:e.model||null}function tp(e,t){const[r,n]=T.useState(e);return T.useEffect(()=>{if(!t){n(e);return}const o=setTimeout(()=>n(e),t);return()=>clearTimeout(o)},[e,t]),r}function rp({data:e}){return i.jsx("dl",{className:"grid grid-cols-1 gap-y-2",children:Object.entries(e).map(([t,r])=>i.jsxs("div",{className:"flex",children:[i.jsxs("dt",{className:"font-semibold mr-2",children:[t,":"]}),i.jsx("dd",{className:"flex-1 break-words",children:Array.isArray(r)?r.map((n,o)=>i.jsxs("div",{className:"ml-4 break-words",children:["- ",String(n)]},o)):String(r)})]},t))})}function Pa(e){if(!e)return null;if(typeof e=="object"&&!Array.isArray(e)){if(e.desirability||e.feasibility||e.viability||e.other)return{desirability:Array.isArray(e.desirability)?e.desirability:[],feasibility:Array.isArray(e.feasibility)?e.feasibility:[],viability:Array.isArray(e.viability)?e.viability:[],other:Array.isArray(e.other)?e.other:[]};if(e.output&&typeof e.output!="object")e=e.output;else if(e.output&&typeof e.output=="object")return Pa(e.output)}const t=String(e),r={desirability:[],feasibility:[],viability:[],other:[]};let n=t;const o=Math.min(...["desirability=","feasibility=","viability=","other="].map(a=>{const c=n.toLowerCase().indexOf(a);return c===-1?Number.MAX_SAFE_INTEGER:c}));o!==Number.MAX_SAFE_INTEGER&&(n=n.slice(o));for(const a of Object.keys(r)){const l=new RegExp(a+"\\s*=\\s*\\[([\\s\\S]*?)\\]","i").exec(n);if(!l)continue;const f=l[1],u=/Issue\(([\s\S]*?)\)(?:,|$)/g;let p=null;for(;(p=u.exec(f))!==null;){const h=p[1],v=/title\s*=\s*(['"])([\s\S]*?)\1/.exec(h),m=/description\s*=\s*(['"])([\s\S]*?)\1/.exec(h),g=v?v[2].trim():"",b=m?m[2].trim():"";r[a].push({title:g,description:b})}}return Object.values(r).some(a=>a.length>0)?r:null}function np({issues:e}){const t=[{key:"desirability",title:"Desirability"},{key:"feasibility",title:"Feasibility"},{key:"viability",title:"Viability"},{key:"other",title:"Other"}];return i.jsx("div",{className:Or,children:t.map(r=>{const n=e[r.key];return!n||!n.length?null:i.jsxs("div",{className:"mb-4",children:[i.jsxs("h4",{className:"font-semibold mb-2",children:[r.title," (",n.length,")"]}),i.jsx("ol",{className:"list-decimal pl-5 space-y-2",children:n.map((o,s)=>i.jsxs("li",{children:[i.jsx("div",{className:"font-medium",children:o.title}),i.jsx("div",{className:"text-sm text-muted-foreground",children:o.description})]},s))})]},r.key)})})}function Tt(e){const t=e.filter(r=>r.type==="tool_result");if(t.length)try{return t.length===1?Yt(t[0].output):Yt(t.map(r=>({toolCallId:r.toolCallId,output:r.output})))}catch{}return Yt(e)}function op(e){const t=e.find(n=>n.type==="tool_result");if(!t)return null;const r=t.output;return typeof r=="string"?r:null}const At=1e4;function sp(e){if(typeof e!="string")return String(e);const t=[/<script[^>]*>.*?<\/script>/gi,/<iframe[^>]*>.*?<\/iframe>/gi,/javascript:/gi,/vbscript:/gi,/on\w+\s*=/gi,/<object[^>]*>.*?<\/object>/gi,/<embed[^>]*>.*?<\/embed>/gi,/<form[^>]*>.*?<\/form>/gi];let r=e;for(const o of t)r=r.replace(o,"");return/<[^>]+>/.test(r)&&!/<(?!\/?(?:code|strong|em|b|i|br|p|ul|ol|li|h[1-6])\b)[^>]+>/i.test(r)?r.replace(/<code>(.*?)<\/code>/gi,"`$1`").replace(/<strong>(.*?)<\/strong>/gi,"**$1**").replace(/<b>(.*?)<\/b>/gi,"**$1**").replace(/<em>(.*?)<\/em>/gi,"*$1*").replace(/<i>(.*?)<\/i>/gi,"*$1*").replace(/<br\s*\/?>/gi,`
|
|
11
11
|
`).replace(/<p>(.*?)<\/p>/gi,`$1
|
|
12
12
|
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
`).replace(/<ul>/gi,"").replace(/<\/ul>/gi,`
|
|
16
16
|
`).replace(/<ol>/gi,"").replace(/<\/ol>/gi,`
|
|
17
17
|
`).replace(/<li>(.*?)<\/li>/gi,`- $1
|
|
18
|
-
`).trim():r.replace(/</g,"<").replace(/>/g,">").trim()}function ap(e,t=At){if(!e||typeof e!="string")throw new Error("Invalid content: must be a non-empty string");if(e.length>t)throw new Error(`Message exceeds maximum length of ${t} characters`);return e}function ip(e){let t;return typeof e=="string"?t=e:typeof e=="object"&&e!==null?t=JSON.stringify(e):t=String(e),ap(t),sp(t)}function oo(e){const t=e+"CollectionProvider",[r,n]=Be(t),[o,s]=r(t,{collectionRef:{current:null},itemMap:new Map}),a=g=>{const{scope:b,children:w}=g,x=T.useRef(null),y=T.useRef(new Map).current;return i.jsx(o,{scope:b,itemMap:y,collectionRef:x,children:w})};a.displayName=t;const c=e+"CollectionSlot",l=Ie.createSlot(c),f=T.forwardRef((g,b)=>{const{scope:w,children:x}=g,y=s(c,w),C=ie(b,y.collectionRef);return i.jsx(l,{ref:C,children:x})});f.displayName=c;const u=e+"CollectionItemSlot",p="data-radix-collection-item",h=Ie.createSlot(u),v=T.forwardRef((g,b)=>{const{scope:w,children:x,...y}=g,C=T.useRef(null),N=ie(b,C),k=s(u,w);return T.useEffect(()=>(k.itemMap.set(C,{ref:C,...y}),()=>void k.itemMap.delete(C))),i.jsx(h,{[p]:"",ref:N,children:x})});v.displayName=u;function m(g){const b=s(e+"CollectionConsumer",g);return T.useCallback(()=>{const x=b.collectionRef.current;if(!x)return[];const y=Array.from(x.querySelectorAll(`[${p}]`));return Array.from(b.itemMap.values()).sort((k,E)=>y.indexOf(k.ref.current)-y.indexOf(E.ref.current))},[b.collectionRef,b.itemMap])}return[{Provider:a,Slot:f,ItemSlot:v},m,n]}var cp=d.createContext(void 0);function Dr(e){const t=d.useContext(cp);return e||t||"ltr"}function we(e){const t=d.useRef(e);return d.useEffect(()=>{t.current=e}),d.useMemo(()=>(...r)=>{var n;return(n=t.current)==null?void 0:n.call(t,...r)},[])}function lp(e,t=globalThis==null?void 0:globalThis.document){const r=we(e);d.useEffect(()=>{const n=o=>{o.key==="Escape"&&r(o)};return t.addEventListener("keydown",n,{capture:!0}),()=>t.removeEventListener("keydown",n,{capture:!0})},[r,t])}var dp="DismissableLayer",so="dismissableLayer.update",up="dismissableLayer.pointerDownOutside",fp="dismissableLayer.focusOutside",Ia,_a=d.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Jt=d.forwardRef((e,t)=>{const{disableOutsidePointerEvents:r=!1,onEscapeKeyDown:n,onPointerDownOutside:o,onFocusOutside:s,onInteractOutside:a,onDismiss:c,...l}=e,f=d.useContext(_a),[u,p]=d.useState(null),h=(u==null?void 0:u.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,v]=d.useState({}),m=ie(t,E=>p(E)),g=Array.from(f.layers),[b]=[...f.layersWithOutsidePointerEventsDisabled].slice(-1),w=g.indexOf(b),x=u?g.indexOf(u):-1,y=f.layersWithOutsidePointerEventsDisabled.size>0,C=x>=w,N=gp(E=>{const M=E.target,F=[...f.branches].some(_=>_.contains(M));!C||F||(o==null||o(E),a==null||a(E),E.defaultPrevented||c==null||c())},h),k=mp(E=>{const M=E.target;[...f.branches].some(_=>_.contains(M))||(s==null||s(E),a==null||a(E),E.defaultPrevented||c==null||c())},h);return lp(E=>{x===f.layers.size-1&&(n==null||n(E),!E.defaultPrevented&&c&&(E.preventDefault(),c()))},h),d.useEffect(()=>{if(u)return r&&(f.layersWithOutsidePointerEventsDisabled.size===0&&(Ia=h.body.style.pointerEvents,h.body.style.pointerEvents="none"),f.layersWithOutsidePointerEventsDisabled.add(u)),f.layers.add(u),ka(),()=>{r&&f.layersWithOutsidePointerEventsDisabled.size===1&&(h.body.style.pointerEvents=Ia)}},[u,h,r,f]),d.useEffect(()=>()=>{u&&(f.layers.delete(u),f.layersWithOutsidePointerEventsDisabled.delete(u),ka())},[u,f]),d.useEffect(()=>{const E=()=>v({});return document.addEventListener(so,E),()=>document.removeEventListener(so,E)},[]),i.jsx(te.div,{...l,ref:m,style:{pointerEvents:y?C?"auto":"none":void 0,...e.style},onFocusCapture:H(e.onFocusCapture,k.onFocusCapture),onBlurCapture:H(e.onBlurCapture,k.onBlurCapture),onPointerDownCapture:H(e.onPointerDownCapture,N.onPointerDownCapture)})});Jt.displayName=dp;var pp="DismissableLayerBranch",hp=d.forwardRef((e,t)=>{const r=d.useContext(_a),n=d.useRef(null),o=ie(t,n);return d.useEffect(()=>{const s=n.current;if(s)return r.branches.add(s),()=>{r.branches.delete(s)}},[r.branches]),i.jsx(te.div,{...e,ref:o})});hp.displayName=pp;function gp(e,t=globalThis==null?void 0:globalThis.document){const r=we(e),n=d.useRef(!1),o=d.useRef(()=>{});return d.useEffect(()=>{const s=c=>{if(c.target&&!n.current){let l=function(){Oa(up,r,f,{discrete:!0})};const f={originalEvent:c};c.pointerType==="touch"?(t.removeEventListener("click",o.current),o.current=l,t.addEventListener("click",o.current,{once:!0})):l()}else t.removeEventListener("click",o.current);n.current=!1},a=window.setTimeout(()=>{t.addEventListener("pointerdown",s)},0);return()=>{window.clearTimeout(a),t.removeEventListener("pointerdown",s),t.removeEventListener("click",o.current)}},[t,r]),{onPointerDownCapture:()=>n.current=!0}}function mp(e,t=globalThis==null?void 0:globalThis.document){const r=we(e),n=d.useRef(!1);return d.useEffect(()=>{const o=s=>{s.target&&!n.current&&Oa(fp,r,{originalEvent:s},{discrete:!1})};return t.addEventListener("focusin",o),()=>t.removeEventListener("focusin",o)},[t,r]),{onFocusCapture:()=>n.current=!0,onBlurCapture:()=>n.current=!1}}function ka(){const e=new CustomEvent(so);document.dispatchEvent(e)}function Oa(e,t,r,{discrete:n}){const o=r.originalEvent.target,s=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:r});t&&o.addEventListener(e,t,{once:!0}),n?wa(o,s):o.dispatchEvent(s)}var ao=0;function io(){d.useEffect(()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??Ma()),document.body.insertAdjacentElement("beforeend",e[1]??Ma()),ao++,()=>{ao===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(t=>t.remove()),ao--}},[])}function Ma(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var co="focusScope.autoFocusOnMount",lo="focusScope.autoFocusOnUnmount",Da={bubbles:!1,cancelable:!0},bp="FocusScope",Lr=d.forwardRef((e,t)=>{const{loop:r=!1,trapped:n=!1,onMountAutoFocus:o,onUnmountAutoFocus:s,...a}=e,[c,l]=d.useState(null),f=we(o),u=we(s),p=d.useRef(null),h=ie(t,g=>l(g)),v=d.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;d.useEffect(()=>{if(n){let g=function(y){if(v.paused||!c)return;const C=y.target;c.contains(C)?p.current=C:st(p.current,{select:!0})},b=function(y){if(v.paused||!c)return;const C=y.relatedTarget;C!==null&&(c.contains(C)||st(p.current,{select:!0}))},w=function(y){if(document.activeElement===document.body)for(const N of y)N.removedNodes.length>0&&st(c)};document.addEventListener("focusin",g),document.addEventListener("focusout",b);const x=new MutationObserver(w);return c&&x.observe(c,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",g),document.removeEventListener("focusout",b),x.disconnect()}}},[n,c,v.paused]),d.useEffect(()=>{if(c){$a.add(v);const g=document.activeElement;if(!c.contains(g)){const w=new CustomEvent(co,Da);c.addEventListener(co,f),c.dispatchEvent(w),w.defaultPrevented||(vp(Cp(La(c)),{select:!0}),document.activeElement===g&&st(c))}return()=>{c.removeEventListener(co,f),setTimeout(()=>{const w=new CustomEvent(lo,Da);c.addEventListener(lo,u),c.dispatchEvent(w),w.defaultPrevented||st(g??document.body,{select:!0}),c.removeEventListener(lo,u),$a.remove(v)},0)}}},[c,f,u,v]);const m=d.useCallback(g=>{if(!r&&!n||v.paused)return;const b=g.key==="Tab"&&!g.altKey&&!g.ctrlKey&&!g.metaKey,w=document.activeElement;if(b&&w){const x=g.currentTarget,[y,C]=wp(x);y&&C?!g.shiftKey&&w===C?(g.preventDefault(),r&&st(y,{select:!0})):g.shiftKey&&w===y&&(g.preventDefault(),r&&st(C,{select:!0})):w===x&&g.preventDefault()}},[r,n,v.paused]);return i.jsx(te.div,{tabIndex:-1,...a,ref:h,onKeyDown:m})});Lr.displayName=bp;function vp(e,{select:t=!1}={}){const r=document.activeElement;for(const n of e)if(st(n,{select:t}),document.activeElement!==r)return}function wp(e){const t=La(e),r=Fa(t,e),n=Fa(t.reverse(),e);return[r,n]}function La(e){const t=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:n=>{const o=n.tagName==="INPUT"&&n.type==="hidden";return n.disabled||n.hidden||o?NodeFilter.FILTER_SKIP:n.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)t.push(r.currentNode);return t}function Fa(e,t){for(const r of e)if(!yp(r,{upTo:t}))return r}function yp(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function xp(e){return e instanceof HTMLInputElement&&"select"in e}function st(e,{select:t=!1}={}){if(e&&e.focus){const r=document.activeElement;e.focus({preventScroll:!0}),e!==r&&xp(e)&&t&&e.select()}}var $a=Sp();function Sp(){let e=[];return{add(t){const r=e[0];t!==r&&(r==null||r.pause()),e=Ba(e,t),e.unshift(t)},remove(t){var r;e=Ba(e,t),(r=e[0])==null||r.resume()}}}function Ba(e,t){const r=[...e],n=r.indexOf(t);return n!==-1&&r.splice(n,1),r}function Cp(e){return e.filter(t=>t.tagName!=="A")}const Ep=["top","right","bottom","left"],at=Math.min,_e=Math.max,Fr=Math.round,$r=Math.floor,Ge=e=>({x:e,y:e}),Np={left:"right",right:"left",bottom:"top",top:"bottom"},Tp={start:"end",end:"start"};function uo(e,t,r){return _e(e,at(t,r))}function et(e,t){return typeof e=="function"?e(t):e}function tt(e){return e.split("-")[0]}function Pt(e){return e.split("-")[1]}function fo(e){return e==="x"?"y":"x"}function po(e){return e==="y"?"height":"width"}const Ap=new Set(["top","bottom"]);function qe(e){return Ap.has(tt(e))?"y":"x"}function ho(e){return fo(qe(e))}function Pp(e,t,r){r===void 0&&(r=!1);const n=Pt(e),o=ho(e),s=po(o);let a=o==="x"?n===(r?"end":"start")?"right":"left":n==="start"?"bottom":"top";return t.reference[s]>t.floating[s]&&(a=Br(a)),[a,Br(a)]}function Ip(e){const t=Br(e);return[go(e),t,go(t)]}function go(e){return e.replace(/start|end/g,t=>Tp[t])}const Ua=["left","right"],Ha=["right","left"],_p=["top","bottom"],kp=["bottom","top"];function Op(e,t,r){switch(e){case"top":case"bottom":return r?t?Ha:Ua:t?Ua:Ha;case"left":case"right":return t?_p:kp;default:return[]}}function Mp(e,t,r,n){const o=Pt(e);let s=Op(tt(e),r==="start",n);return o&&(s=s.map(a=>a+"-"+o),t&&(s=s.concat(s.map(go)))),s}function Br(e){return e.replace(/left|right|bottom|top/g,t=>Np[t])}function Dp(e){return{top:0,right:0,bottom:0,left:0,...e}}function za(e){return typeof e!="number"?Dp(e):{top:e,right:e,bottom:e,left:e}}function Ur(e){const{x:t,y:r,width:n,height:o}=e;return{width:n,height:o,top:r,left:t,right:t+n,bottom:r+o,x:t,y:r}}function Wa(e,t,r){let{reference:n,floating:o}=e;const s=qe(t),a=ho(t),c=po(a),l=tt(t),f=s==="y",u=n.x+n.width/2-o.width/2,p=n.y+n.height/2-o.height/2,h=n[c]/2-o[c]/2;let v;switch(l){case"top":v={x:u,y:n.y-o.height};break;case"bottom":v={x:u,y:n.y+n.height};break;case"right":v={x:n.x+n.width,y:p};break;case"left":v={x:n.x-o.width,y:p};break;default:v={x:n.x,y:n.y}}switch(Pt(t)){case"start":v[a]-=h*(r&&f?-1:1);break;case"end":v[a]+=h*(r&&f?-1:1);break}return v}const Lp=async(e,t,r)=>{const{placement:n="bottom",strategy:o="absolute",middleware:s=[],platform:a}=r,c=s.filter(Boolean),l=await(a.isRTL==null?void 0:a.isRTL(t));let f=await a.getElementRects({reference:e,floating:t,strategy:o}),{x:u,y:p}=Wa(f,n,l),h=n,v={},m=0;for(let g=0;g<c.length;g++){const{name:b,fn:w}=c[g],{x,y,data:C,reset:N}=await w({x:u,y:p,initialPlacement:n,placement:h,strategy:o,middlewareData:v,rects:f,platform:a,elements:{reference:e,floating:t}});u=x??u,p=y??p,v={...v,[b]:{...v[b],...C}},N&&m<=50&&(m++,typeof N=="object"&&(N.placement&&(h=N.placement),N.rects&&(f=N.rects===!0?await a.getElementRects({reference:e,floating:t,strategy:o}):N.rects),{x:u,y:p}=Wa(f,h,l)),g=-1)}return{x:u,y:p,placement:h,strategy:o,middlewareData:v}};async function Zt(e,t){var r;t===void 0&&(t={});const{x:n,y:o,platform:s,rects:a,elements:c,strategy:l}=e,{boundary:f="clippingAncestors",rootBoundary:u="viewport",elementContext:p="floating",altBoundary:h=!1,padding:v=0}=et(t,e),m=za(v),b=c[h?p==="floating"?"reference":"floating":p],w=Ur(await s.getClippingRect({element:(r=await(s.isElement==null?void 0:s.isElement(b)))==null||r?b:b.contextElement||await(s.getDocumentElement==null?void 0:s.getDocumentElement(c.floating)),boundary:f,rootBoundary:u,strategy:l})),x=p==="floating"?{x:n,y:o,width:a.floating.width,height:a.floating.height}:a.reference,y=await(s.getOffsetParent==null?void 0:s.getOffsetParent(c.floating)),C=await(s.isElement==null?void 0:s.isElement(y))?await(s.getScale==null?void 0:s.getScale(y))||{x:1,y:1}:{x:1,y:1},N=Ur(s.convertOffsetParentRelativeRectToViewportRelativeRect?await s.convertOffsetParentRelativeRectToViewportRelativeRect({elements:c,rect:x,offsetParent:y,strategy:l}):x);return{top:(w.top-N.top+m.top)/C.y,bottom:(N.bottom-w.bottom+m.bottom)/C.y,left:(w.left-N.left+m.left)/C.x,right:(N.right-w.right+m.right)/C.x}}const Fp=e=>({name:"arrow",options:e,async fn(t){const{x:r,y:n,placement:o,rects:s,platform:a,elements:c,middlewareData:l}=t,{element:f,padding:u=0}=et(e,t)||{};if(f==null)return{};const p=za(u),h={x:r,y:n},v=ho(o),m=po(v),g=await a.getDimensions(f),b=v==="y",w=b?"top":"left",x=b?"bottom":"right",y=b?"clientHeight":"clientWidth",C=s.reference[m]+s.reference[v]-h[v]-s.floating[m],N=h[v]-s.reference[v],k=await(a.getOffsetParent==null?void 0:a.getOffsetParent(f));let E=k?k[y]:0;(!E||!await(a.isElement==null?void 0:a.isElement(k)))&&(E=c.floating[y]||s.floating[m]);const M=C/2-N/2,F=E/2-g[m]/2-1,_=at(p[w],F),B=at(p[x],F),R=_,U=E-g[m]-B,D=E/2-g[m]/2+M,z=uo(R,D,U),O=!l.arrow&&Pt(o)!=null&&D!==z&&s.reference[m]/2-(D<R?_:B)-g[m]/2<0,G=O?D<R?D-R:D-U:0;return{[v]:h[v]+G,data:{[v]:z,centerOffset:D-z-G,...O&&{alignmentOffset:G}},reset:O}}}),$p=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var r,n;const{placement:o,middlewareData:s,rects:a,initialPlacement:c,platform:l,elements:f}=t,{mainAxis:u=!0,crossAxis:p=!0,fallbackPlacements:h,fallbackStrategy:v="bestFit",fallbackAxisSideDirection:m="none",flipAlignment:g=!0,...b}=et(e,t);if((r=s.arrow)!=null&&r.alignmentOffset)return{};const w=tt(o),x=qe(c),y=tt(c)===c,C=await(l.isRTL==null?void 0:l.isRTL(f.floating)),N=h||(y||!g?[Br(c)]:Ip(c)),k=m!=="none";!h&&k&&N.push(...Mp(c,g,m,C));const E=[c,...N],M=await Zt(t,b),F=[];let _=((n=s.flip)==null?void 0:n.overflows)||[];if(u&&F.push(M[w]),p){const D=Pp(o,a,C);F.push(M[D[0]],M[D[1]])}if(_=[..._,{placement:o,overflows:F}],!F.every(D=>D<=0)){var B,R;const D=(((B=s.flip)==null?void 0:B.index)||0)+1,z=E[D];if(z&&(!(p==="alignment"?x!==qe(z):!1)||_.every(L=>qe(L.placement)===x?L.overflows[0]>0:!0)))return{data:{index:D,overflows:_},reset:{placement:z}};let O=(R=_.filter(G=>G.overflows[0]<=0).sort((G,L)=>G.overflows[1]-L.overflows[1])[0])==null?void 0:R.placement;if(!O)switch(v){case"bestFit":{var U;const G=(U=_.filter(L=>{if(k){const A=qe(L.placement);return A===x||A==="y"}return!0}).map(L=>[L.placement,L.overflows.filter(A=>A>0).reduce((A,ee)=>A+ee,0)]).sort((L,A)=>L[1]-A[1])[0])==null?void 0:U[0];G&&(O=G);break}case"initialPlacement":O=c;break}if(o!==O)return{reset:{placement:O}}}return{}}}};function Va(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function ja(e){return Ep.some(t=>e[t]>=0)}const Bp=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){const{rects:r}=t,{strategy:n="referenceHidden",...o}=et(e,t);switch(n){case"referenceHidden":{const s=await Zt(t,{...o,elementContext:"reference"}),a=Va(s,r.reference);return{data:{referenceHiddenOffsets:a,referenceHidden:ja(a)}}}case"escaped":{const s=await Zt(t,{...o,altBoundary:!0}),a=Va(s,r.floating);return{data:{escapedOffsets:a,escaped:ja(a)}}}default:return{}}}}},Ka=new Set(["left","top"]);async function Up(e,t){const{placement:r,platform:n,elements:o}=e,s=await(n.isRTL==null?void 0:n.isRTL(o.floating)),a=tt(r),c=Pt(r),l=qe(r)==="y",f=Ka.has(a)?-1:1,u=s&&l?-1:1,p=et(t,e);let{mainAxis:h,crossAxis:v,alignmentAxis:m}=typeof p=="number"?{mainAxis:p,crossAxis:0,alignmentAxis:null}:{mainAxis:p.mainAxis||0,crossAxis:p.crossAxis||0,alignmentAxis:p.alignmentAxis};return c&&typeof m=="number"&&(v=c==="end"?m*-1:m),l?{x:v*u,y:h*f}:{x:h*f,y:v*u}}const Hp=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var r,n;const{x:o,y:s,placement:a,middlewareData:c}=t,l=await Up(t,e);return a===((r=c.offset)==null?void 0:r.placement)&&(n=c.arrow)!=null&&n.alignmentOffset?{}:{x:o+l.x,y:s+l.y,data:{...l,placement:a}}}}},zp=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:r,y:n,placement:o}=t,{mainAxis:s=!0,crossAxis:a=!1,limiter:c={fn:b=>{let{x:w,y:x}=b;return{x:w,y:x}}},...l}=et(e,t),f={x:r,y:n},u=await Zt(t,l),p=qe(tt(o)),h=fo(p);let v=f[h],m=f[p];if(s){const b=h==="y"?"top":"left",w=h==="y"?"bottom":"right",x=v+u[b],y=v-u[w];v=uo(x,v,y)}if(a){const b=p==="y"?"top":"left",w=p==="y"?"bottom":"right",x=m+u[b],y=m-u[w];m=uo(x,m,y)}const g=c.fn({...t,[h]:v,[p]:m});return{...g,data:{x:g.x-r,y:g.y-n,enabled:{[h]:s,[p]:a}}}}}},Wp=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:r,y:n,placement:o,rects:s,middlewareData:a}=t,{offset:c=0,mainAxis:l=!0,crossAxis:f=!0}=et(e,t),u={x:r,y:n},p=qe(o),h=fo(p);let v=u[h],m=u[p];const g=et(c,t),b=typeof g=="number"?{mainAxis:g,crossAxis:0}:{mainAxis:0,crossAxis:0,...g};if(l){const y=h==="y"?"height":"width",C=s.reference[h]-s.floating[y]+b.mainAxis,N=s.reference[h]+s.reference[y]-b.mainAxis;v<C?v=C:v>N&&(v=N)}if(f){var w,x;const y=h==="y"?"width":"height",C=Ka.has(tt(o)),N=s.reference[p]-s.floating[y]+(C&&((w=a.offset)==null?void 0:w[p])||0)+(C?0:b.crossAxis),k=s.reference[p]+s.reference[y]+(C?0:((x=a.offset)==null?void 0:x[p])||0)-(C?b.crossAxis:0);m<N?m=N:m>k&&(m=k)}return{[h]:v,[p]:m}}}},Vp=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var r,n;const{placement:o,rects:s,platform:a,elements:c}=t,{apply:l=()=>{},...f}=et(e,t),u=await Zt(t,f),p=tt(o),h=Pt(o),v=qe(o)==="y",{width:m,height:g}=s.floating;let b,w;p==="top"||p==="bottom"?(b=p,w=h===(await(a.isRTL==null?void 0:a.isRTL(c.floating))?"start":"end")?"left":"right"):(w=p,b=h==="end"?"top":"bottom");const x=g-u.top-u.bottom,y=m-u.left-u.right,C=at(g-u[b],x),N=at(m-u[w],y),k=!t.middlewareData.shift;let E=C,M=N;if((r=t.middlewareData.shift)!=null&&r.enabled.x&&(M=y),(n=t.middlewareData.shift)!=null&&n.enabled.y&&(E=x),k&&!h){const _=_e(u.left,0),B=_e(u.right,0),R=_e(u.top,0),U=_e(u.bottom,0);v?M=m-2*(_!==0||B!==0?_+B:_e(u.left,u.right)):E=g-2*(R!==0||U!==0?R+U:_e(u.top,u.bottom))}await l({...t,availableWidth:M,availableHeight:E});const F=await a.getDimensions(c.floating);return m!==F.width||g!==F.height?{reset:{rects:!0}}:{}}}};function Hr(){return typeof window<"u"}function It(e){return Ra(e)?(e.nodeName||"").toLowerCase():"#document"}function ke(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Xe(e){var t;return(t=(Ra(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function Ra(e){return Hr()?e instanceof Node||e instanceof ke(e).Node:!1}function He(e){return Hr()?e instanceof Element||e instanceof ke(e).Element:!1}function Ye(e){return Hr()?e instanceof HTMLElement||e instanceof ke(e).HTMLElement:!1}function Ga(e){return!Hr()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof ke(e).ShadowRoot}const jp=new Set(["inline","contents"]);function Qt(e){const{overflow:t,overflowX:r,overflowY:n,display:o}=ze(e);return/auto|scroll|overlay|hidden|clip/.test(t+n+r)&&!jp.has(o)}const Kp=new Set(["table","td","th"]);function Rp(e){return Kp.has(It(e))}const Gp=[":popover-open",":modal"];function zr(e){return Gp.some(t=>{try{return e.matches(t)}catch{return!1}})}const qp=["transform","translate","scale","rotate","perspective"],Xp=["transform","translate","scale","rotate","perspective","filter"],Yp=["paint","layout","strict","content"];function mo(e){const t=bo(),r=He(e)?ze(e):e;return qp.some(n=>r[n]?r[n]!=="none":!1)||(r.containerType?r.containerType!=="normal":!1)||!t&&(r.backdropFilter?r.backdropFilter!=="none":!1)||!t&&(r.filter?r.filter!=="none":!1)||Xp.some(n=>(r.willChange||"").includes(n))||Yp.some(n=>(r.contain||"").includes(n))}function Jp(e){let t=it(e);for(;Ye(t)&&!_t(t);){if(mo(t))return t;if(zr(t))return null;t=it(t)}return null}function bo(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const Zp=new Set(["html","body","#document"]);function _t(e){return Zp.has(It(e))}function ze(e){return ke(e).getComputedStyle(e)}function Wr(e){return He(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function it(e){if(It(e)==="html")return e;const t=e.assignedSlot||e.parentNode||Ga(e)&&e.host||Xe(e);return Ga(t)?t.host:t}function qa(e){const t=it(e);return _t(t)?e.ownerDocument?e.ownerDocument.body:e.body:Ye(t)&&Qt(t)?t:qa(t)}function er(e,t,r){var n;t===void 0&&(t=[]),r===void 0&&(r=!0);const o=qa(e),s=o===((n=e.ownerDocument)==null?void 0:n.body),a=ke(o);if(s){const c=vo(a);return t.concat(a,a.visualViewport||[],Qt(o)?o:[],c&&r?er(c):[])}return t.concat(o,er(o,[],r))}function vo(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Xa(e){const t=ze(e);let r=parseFloat(t.width)||0,n=parseFloat(t.height)||0;const o=Ye(e),s=o?e.offsetWidth:r,a=o?e.offsetHeight:n,c=Fr(r)!==s||Fr(n)!==a;return c&&(r=s,n=a),{width:r,height:n,$:c}}function wo(e){return He(e)?e:e.contextElement}function kt(e){const t=wo(e);if(!Ye(t))return Ge(1);const r=t.getBoundingClientRect(),{width:n,height:o,$:s}=Xa(t);let a=(s?Fr(r.width):r.width)/n,c=(s?Fr(r.height):r.height)/o;return(!a||!Number.isFinite(a))&&(a=1),(!c||!Number.isFinite(c))&&(c=1),{x:a,y:c}}const Qp=Ge(0);function Ya(e){const t=ke(e);return!bo()||!t.visualViewport?Qp:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function eh(e,t,r){return t===void 0&&(t=!1),!r||t&&r!==ke(e)?!1:t}function mt(e,t,r,n){t===void 0&&(t=!1),r===void 0&&(r=!1);const o=e.getBoundingClientRect(),s=wo(e);let a=Ge(1);t&&(n?He(n)&&(a=kt(n)):a=kt(e));const c=eh(s,r,n)?Ya(s):Ge(0);let l=(o.left+c.x)/a.x,f=(o.top+c.y)/a.y,u=o.width/a.x,p=o.height/a.y;if(s){const h=ke(s),v=n&&He(n)?ke(n):n;let m=h,g=vo(m);for(;g&&n&&v!==m;){const b=kt(g),w=g.getBoundingClientRect(),x=ze(g),y=w.left+(g.clientLeft+parseFloat(x.paddingLeft))*b.x,C=w.top+(g.clientTop+parseFloat(x.paddingTop))*b.y;l*=b.x,f*=b.y,u*=b.x,p*=b.y,l+=y,f+=C,m=ke(g),g=vo(m)}}return Ur({width:u,height:p,x:l,y:f})}function Vr(e,t){const r=Wr(e).scrollLeft;return t?t.left+r:mt(Xe(e)).left+r}function Ja(e,t){const r=e.getBoundingClientRect(),n=r.left+t.scrollLeft-Vr(e,r),o=r.top+t.scrollTop;return{x:n,y:o}}function th(e){let{elements:t,rect:r,offsetParent:n,strategy:o}=e;const s=o==="fixed",a=Xe(n),c=t?zr(t.floating):!1;if(n===a||c&&s)return r;let l={scrollLeft:0,scrollTop:0},f=Ge(1);const u=Ge(0),p=Ye(n);if((p||!p&&!s)&&((It(n)!=="body"||Qt(a))&&(l=Wr(n)),Ye(n))){const v=mt(n);f=kt(n),u.x=v.x+n.clientLeft,u.y=v.y+n.clientTop}const h=a&&!p&&!s?Ja(a,l):Ge(0);return{width:r.width*f.x,height:r.height*f.y,x:r.x*f.x-l.scrollLeft*f.x+u.x+h.x,y:r.y*f.y-l.scrollTop*f.y+u.y+h.y}}function rh(e){return Array.from(e.getClientRects())}function nh(e){const t=Xe(e),r=Wr(e),n=e.ownerDocument.body,o=_e(t.scrollWidth,t.clientWidth,n.scrollWidth,n.clientWidth),s=_e(t.scrollHeight,t.clientHeight,n.scrollHeight,n.clientHeight);let a=-r.scrollLeft+Vr(e);const c=-r.scrollTop;return ze(n).direction==="rtl"&&(a+=_e(t.clientWidth,n.clientWidth)-o),{width:o,height:s,x:a,y:c}}const Za=25;function oh(e,t){const r=ke(e),n=Xe(e),o=r.visualViewport;let s=n.clientWidth,a=n.clientHeight,c=0,l=0;if(o){s=o.width,a=o.height;const u=bo();(!u||u&&t==="fixed")&&(c=o.offsetLeft,l=o.offsetTop)}const f=Vr(n);if(f<=0){const u=n.ownerDocument,p=u.body,h=getComputedStyle(p),v=u.compatMode==="CSS1Compat"&&parseFloat(h.marginLeft)+parseFloat(h.marginRight)||0,m=Math.abs(n.clientWidth-p.clientWidth-v);m<=Za&&(s-=m)}else f<=Za&&(s+=f);return{width:s,height:a,x:c,y:l}}const sh=new Set(["absolute","fixed"]);function ah(e,t){const r=mt(e,!0,t==="fixed"),n=r.top+e.clientTop,o=r.left+e.clientLeft,s=Ye(e)?kt(e):Ge(1),a=e.clientWidth*s.x,c=e.clientHeight*s.y,l=o*s.x,f=n*s.y;return{width:a,height:c,x:l,y:f}}function Qa(e,t,r){let n;if(t==="viewport")n=oh(e,r);else if(t==="document")n=nh(Xe(e));else if(He(t))n=ah(t,r);else{const o=Ya(e);n={x:t.x-o.x,y:t.y-o.y,width:t.width,height:t.height}}return Ur(n)}function ei(e,t){const r=it(e);return r===t||!He(r)||_t(r)?!1:ze(r).position==="fixed"||ei(r,t)}function ih(e,t){const r=t.get(e);if(r)return r;let n=er(e,[],!1).filter(c=>He(c)&&It(c)!=="body"),o=null;const s=ze(e).position==="fixed";let a=s?it(e):e;for(;He(a)&&!_t(a);){const c=ze(a),l=mo(a);!l&&c.position==="fixed"&&(o=null),(s?!l&&!o:!l&&c.position==="static"&&!!o&&sh.has(o.position)||Qt(a)&&!l&&ei(e,a))?n=n.filter(u=>u!==a):o=c,a=it(a)}return t.set(e,n),n}function ch(e){let{element:t,boundary:r,rootBoundary:n,strategy:o}=e;const a=[...r==="clippingAncestors"?zr(t)?[]:ih(t,this._c):[].concat(r),n],c=a[0],l=a.reduce((f,u)=>{const p=Qa(t,u,o);return f.top=_e(p.top,f.top),f.right=at(p.right,f.right),f.bottom=at(p.bottom,f.bottom),f.left=_e(p.left,f.left),f},Qa(t,c,o));return{width:l.right-l.left,height:l.bottom-l.top,x:l.left,y:l.top}}function lh(e){const{width:t,height:r}=Xa(e);return{width:t,height:r}}function dh(e,t,r){const n=Ye(t),o=Xe(t),s=r==="fixed",a=mt(e,!0,s,t);let c={scrollLeft:0,scrollTop:0};const l=Ge(0);function f(){l.x=Vr(o)}if(n||!n&&!s)if((It(t)!=="body"||Qt(o))&&(c=Wr(t)),n){const v=mt(t,!0,s,t);l.x=v.x+t.clientLeft,l.y=v.y+t.clientTop}else o&&f();s&&!n&&o&&f();const u=o&&!n&&!s?Ja(o,c):Ge(0),p=a.left+c.scrollLeft-l.x-u.x,h=a.top+c.scrollTop-l.y-u.y;return{x:p,y:h,width:a.width,height:a.height}}function yo(e){return ze(e).position==="static"}function ti(e,t){if(!Ye(e)||ze(e).position==="fixed")return null;if(t)return t(e);let r=e.offsetParent;return Xe(e)===r&&(r=r.ownerDocument.body),r}function ri(e,t){const r=ke(e);if(zr(e))return r;if(!Ye(e)){let o=it(e);for(;o&&!_t(o);){if(He(o)&&!yo(o))return o;o=it(o)}return r}let n=ti(e,t);for(;n&&Rp(n)&&yo(n);)n=ti(n,t);return n&&_t(n)&&yo(n)&&!mo(n)?r:n||Jp(e)||r}const uh=async function(e){const t=this.getOffsetParent||ri,r=this.getDimensions,n=await r(e.floating);return{reference:dh(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:n.width,height:n.height}}};function fh(e){return ze(e).direction==="rtl"}const ph={convertOffsetParentRelativeRectToViewportRelativeRect:th,getDocumentElement:Xe,getClippingRect:ch,getOffsetParent:ri,getElementRects:uh,getClientRects:rh,getDimensions:lh,getScale:kt,isElement:He,isRTL:fh};function ni(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function hh(e,t){let r=null,n;const o=Xe(e);function s(){var c;clearTimeout(n),(c=r)==null||c.disconnect(),r=null}function a(c,l){c===void 0&&(c=!1),l===void 0&&(l=1),s();const f=e.getBoundingClientRect(),{left:u,top:p,width:h,height:v}=f;if(c||t(),!h||!v)return;const m=$r(p),g=$r(o.clientWidth-(u+h)),b=$r(o.clientHeight-(p+v)),w=$r(u),y={rootMargin:-m+"px "+-g+"px "+-b+"px "+-w+"px",threshold:_e(0,at(1,l))||1};let C=!0;function N(k){const E=k[0].intersectionRatio;if(E!==l){if(!C)return a();E?a(!1,E):n=setTimeout(()=>{a(!1,1e-7)},1e3)}E===1&&!ni(f,e.getBoundingClientRect())&&a(),C=!1}try{r=new IntersectionObserver(N,{...y,root:o.ownerDocument})}catch{r=new IntersectionObserver(N,y)}r.observe(e)}return a(!0),s}function gh(e,t,r,n){n===void 0&&(n={});const{ancestorScroll:o=!0,ancestorResize:s=!0,elementResize:a=typeof ResizeObserver=="function",layoutShift:c=typeof IntersectionObserver=="function",animationFrame:l=!1}=n,f=wo(e),u=o||s?[...f?er(f):[],...er(t)]:[];u.forEach(w=>{o&&w.addEventListener("scroll",r,{passive:!0}),s&&w.addEventListener("resize",r)});const p=f&&c?hh(f,r):null;let h=-1,v=null;a&&(v=new ResizeObserver(w=>{let[x]=w;x&&x.target===f&&v&&(v.unobserve(t),cancelAnimationFrame(h),h=requestAnimationFrame(()=>{var y;(y=v)==null||y.observe(t)})),r()}),f&&!l&&v.observe(f),v.observe(t));let m,g=l?mt(e):null;l&&b();function b(){const w=mt(e);g&&!ni(g,w)&&r(),g=w,m=requestAnimationFrame(b)}return r(),()=>{var w;u.forEach(x=>{o&&x.removeEventListener("scroll",r),s&&x.removeEventListener("resize",r)}),p==null||p(),(w=v)==null||w.disconnect(),v=null,l&&cancelAnimationFrame(m)}}const mh=Hp,bh=zp,vh=$p,wh=Vp,yh=Bp,oi=Fp,xh=Wp,Sh=(e,t,r)=>{const n=new Map,o={platform:ph,...r},s={...o.platform,_c:n};return Lp(e,t,{...o,platform:s})};var Ch=typeof document<"u",Eh=function(){},jr=Ch?T.useLayoutEffect:Eh;function Kr(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let r,n,o;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(r=e.length,r!==t.length)return!1;for(n=r;n--!==0;)if(!Kr(e[n],t[n]))return!1;return!0}if(o=Object.keys(e),r=o.length,r!==Object.keys(t).length)return!1;for(n=r;n--!==0;)if(!{}.hasOwnProperty.call(t,o[n]))return!1;for(n=r;n--!==0;){const s=o[n];if(!(s==="_owner"&&e.$$typeof)&&!Kr(e[s],t[s]))return!1}return!0}return e!==e&&t!==t}function si(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function ai(e,t){const r=si(e);return Math.round(t*r)/r}function xo(e){const t=d.useRef(e);return jr(()=>{t.current=e}),t}function Nh(e){e===void 0&&(e={});const{placement:t="bottom",strategy:r="absolute",middleware:n=[],platform:o,elements:{reference:s,floating:a}={},transform:c=!0,whileElementsMounted:l,open:f}=e,[u,p]=d.useState({x:0,y:0,strategy:r,placement:t,middlewareData:{},isPositioned:!1}),[h,v]=d.useState(n);Kr(h,n)||v(n);const[m,g]=d.useState(null),[b,w]=d.useState(null),x=d.useCallback(L=>{L!==k.current&&(k.current=L,g(L))},[]),y=d.useCallback(L=>{L!==E.current&&(E.current=L,w(L))},[]),C=s||m,N=a||b,k=d.useRef(null),E=d.useRef(null),M=d.useRef(u),F=l!=null,_=xo(l),B=xo(o),R=xo(f),U=d.useCallback(()=>{if(!k.current||!E.current)return;const L={placement:t,strategy:r,middleware:h};B.current&&(L.platform=B.current),Sh(k.current,E.current,L).then(A=>{const ee={...A,isPositioned:R.current!==!1};D.current&&!Kr(M.current,ee)&&(M.current=ee,gr.flushSync(()=>{p(ee)}))})},[h,t,r,B,R]);jr(()=>{f===!1&&M.current.isPositioned&&(M.current.isPositioned=!1,p(L=>({...L,isPositioned:!1})))},[f]);const D=d.useRef(!1);jr(()=>(D.current=!0,()=>{D.current=!1}),[]),jr(()=>{if(C&&(k.current=C),N&&(E.current=N),C&&N){if(_.current)return _.current(C,N,U);U()}},[C,N,U,_,F]);const z=d.useMemo(()=>({reference:k,floating:E,setReference:x,setFloating:y}),[x,y]),O=d.useMemo(()=>({reference:C,floating:N}),[C,N]),G=d.useMemo(()=>{const L={position:r,left:0,top:0};if(!O.floating)return L;const A=ai(O.floating,u.x),ee=ai(O.floating,u.y);return c?{...L,transform:"translate("+A+"px, "+ee+"px)",...si(O.floating)>=1.5&&{willChange:"transform"}}:{position:r,left:A,top:ee}},[r,c,O.floating,u.x,u.y]);return d.useMemo(()=>({...u,update:U,refs:z,elements:O,floatingStyles:G}),[u,U,z,O,G])}const Th=e=>{function t(r){return{}.hasOwnProperty.call(r,"current")}return{name:"arrow",options:e,fn(r){const{element:n,padding:o}=typeof e=="function"?e(r):e;return n&&t(n)?n.current!=null?oi({element:n.current,padding:o}).fn(r):{}:n?oi({element:n,padding:o}).fn(r):{}}}},Ah=(e,t)=>({...mh(e),options:[e,t]}),Ph=(e,t)=>({...bh(e),options:[e,t]}),Ih=(e,t)=>({...xh(e),options:[e,t]}),_h=(e,t)=>({...vh(e),options:[e,t]}),kh=(e,t)=>({...wh(e),options:[e,t]}),Oh=(e,t)=>({...yh(e),options:[e,t]}),Mh=(e,t)=>({...Th(e),options:[e,t]});var Dh="Arrow",ii=d.forwardRef((e,t)=>{const{children:r,width:n=10,height:o=5,...s}=e;return i.jsx(te.svg,{...s,ref:t,width:n,height:o,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?r:i.jsx("polygon",{points:"0,0 30,0 15,10"})})});ii.displayName=Dh;var Lh=ii;function ci(e){const[t,r]=d.useState(void 0);return ve(()=>{if(e){r({width:e.offsetWidth,height:e.offsetHeight});const n=new ResizeObserver(o=>{if(!Array.isArray(o)||!o.length)return;const s=o[0];let a,c;if("borderBoxSize"in s){const l=s.borderBoxSize,f=Array.isArray(l)?l[0]:l;a=f.inlineSize,c=f.blockSize}else a=e.offsetWidth,c=e.offsetHeight;r({width:a,height:c})});return n.observe(e,{box:"border-box"}),()=>n.unobserve(e)}else r(void 0)},[e]),t}var So="Popper",[li,Ot]=Be(So),[Fh,di]=li(So),ui=e=>{const{__scopePopper:t,children:r}=e,[n,o]=d.useState(null);return i.jsx(Fh,{scope:t,anchor:n,onAnchorChange:o,children:r})};ui.displayName=So;var fi="PopperAnchor",pi=d.forwardRef((e,t)=>{const{__scopePopper:r,virtualRef:n,...o}=e,s=di(fi,r),a=d.useRef(null),c=ie(t,a),l=d.useRef(null);return d.useEffect(()=>{const f=l.current;l.current=(n==null?void 0:n.current)||a.current,f!==l.current&&s.onAnchorChange(l.current)}),n?null:i.jsx(te.div,{...o,ref:c})});pi.displayName=fi;var Co="PopperContent",[$h,Bh]=li(Co),hi=d.forwardRef((e,t)=>{var W,V,se,K,Y,ne;const{__scopePopper:r,side:n="bottom",sideOffset:o=0,align:s="center",alignOffset:a=0,arrowPadding:c=0,avoidCollisions:l=!0,collisionBoundary:f=[],collisionPadding:u=0,sticky:p="partial",hideWhenDetached:h=!1,updatePositionStrategy:v="optimized",onPlaced:m,...g}=e,b=di(Co,r),[w,x]=d.useState(null),y=ie(t,me=>x(me)),[C,N]=d.useState(null),k=ci(C),E=(k==null?void 0:k.width)??0,M=(k==null?void 0:k.height)??0,F=n+(s!=="center"?"-"+s:""),_=typeof u=="number"?u:{top:0,right:0,bottom:0,left:0,...u},B=Array.isArray(f)?f:[f],R=B.length>0,U={padding:_,boundary:B.filter(Hh),altBoundary:R},{refs:D,floatingStyles:z,placement:O,isPositioned:G,middlewareData:L}=Nh({strategy:"fixed",placement:F,whileElementsMounted:(...me)=>gh(...me,{animationFrame:v==="always"}),elements:{reference:b.anchor},middleware:[Ah({mainAxis:o+M,alignmentAxis:a}),l&&Ph({mainAxis:!0,crossAxis:!1,limiter:p==="partial"?Ih():void 0,...U}),l&&_h({...U}),kh({...U,apply:({elements:me,rects:pe,availableWidth:Q,availableHeight:J})=>{const{width:ge,height:Oe}=pe.reference,Ce=me.floating.style;Ce.setProperty("--radix-popper-available-width",`${Q}px`),Ce.setProperty("--radix-popper-available-height",`${J}px`),Ce.setProperty("--radix-popper-anchor-width",`${ge}px`),Ce.setProperty("--radix-popper-anchor-height",`${Oe}px`)}}),C&&Mh({element:C,padding:c}),zh({arrowWidth:E,arrowHeight:M}),h&&Oh({strategy:"referenceHidden",...U})]}),[A,ee]=bi(O),q=we(m);ve(()=>{G&&(q==null||q())},[G,q]);const ce=(W=L.arrow)==null?void 0:W.x,$=(V=L.arrow)==null?void 0:V.y,j=((se=L.arrow)==null?void 0:se.centerOffset)!==0,[le,he]=d.useState();return ve(()=>{w&&he(window.getComputedStyle(w).zIndex)},[w]),i.jsx("div",{ref:D.setFloating,"data-radix-popper-content-wrapper":"",style:{...z,transform:G?z.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:le,"--radix-popper-transform-origin":[(K=L.transformOrigin)==null?void 0:K.x,(Y=L.transformOrigin)==null?void 0:Y.y].join(" "),...((ne=L.hide)==null?void 0:ne.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:i.jsx($h,{scope:r,placedSide:A,onArrowChange:N,arrowX:ce,arrowY:$,shouldHideArrow:j,children:i.jsx(te.div,{"data-side":A,"data-align":ee,...g,ref:y,style:{...g.style,animation:G?void 0:"none"}})})})});hi.displayName=Co;var gi="PopperArrow",Uh={top:"bottom",right:"left",bottom:"top",left:"right"},mi=d.forwardRef(function(t,r){const{__scopePopper:n,...o}=t,s=Bh(gi,n),a=Uh[s.placedSide];return i.jsx("span",{ref:s.onArrowChange,style:{position:"absolute",left:s.arrowX,top:s.arrowY,[a]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[s.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[s.placedSide],visibility:s.shouldHideArrow?"hidden":void 0},children:i.jsx(Lh,{...o,ref:r,style:{...o.style,display:"block"}})})});mi.displayName=gi;function Hh(e){return e!==null}var zh=e=>({name:"transformOrigin",options:e,fn(t){var b,w,x;const{placement:r,rects:n,middlewareData:o}=t,a=((b=o.arrow)==null?void 0:b.centerOffset)!==0,c=a?0:e.arrowWidth,l=a?0:e.arrowHeight,[f,u]=bi(r),p={start:"0%",center:"50%",end:"100%"}[u],h=(((w=o.arrow)==null?void 0:w.x)??0)+c/2,v=(((x=o.arrow)==null?void 0:x.y)??0)+l/2;let m="",g="";return f==="bottom"?(m=a?p:`${h}px`,g=`${-l}px`):f==="top"?(m=a?p:`${h}px`,g=`${n.floating.height+l}px`):f==="right"?(m=`${-l}px`,g=a?p:`${v}px`):f==="left"&&(m=`${n.floating.width+l}px`,g=a?p:`${v}px`),{data:{x:m,y:g}}}});function bi(e){const[t,r="center"]=e.split("-");return[t,r]}var Eo=ui,No=pi,To=hi,Ao=mi,Wh="Portal",Rr=d.forwardRef((e,t)=>{var c;const{container:r,...n}=e,[o,s]=d.useState(!1);ve(()=>s(!0),[]);const a=r||o&&((c=globalThis==null?void 0:globalThis.document)==null?void 0:c.body);return a?ws.createPortal(i.jsx(te.div,{...n,ref:t}),a):null});Rr.displayName=Wh;var Po="rovingFocusGroup.onEntryFocus",Vh={bubbles:!1,cancelable:!0},tr="RovingFocusGroup",[Io,vi,jh]=oo(tr),[Kh,wi]=Be(tr,[jh]),[Rh,Gh]=Kh(tr),yi=d.forwardRef((e,t)=>i.jsx(Io.Provider,{scope:e.__scopeRovingFocusGroup,children:i.jsx(Io.Slot,{scope:e.__scopeRovingFocusGroup,children:i.jsx(qh,{...e,ref:t})})}));yi.displayName=tr;var qh=d.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:r,orientation:n,loop:o=!1,dir:s,currentTabStopId:a,defaultCurrentTabStopId:c,onCurrentTabStopIdChange:l,onEntryFocus:f,preventScrollOnEntryFocus:u=!1,...p}=e,h=d.useRef(null),v=ie(t,h),m=Dr(s),[g,b]=ot({prop:a,defaultProp:c??null,onChange:l,caller:tr}),[w,x]=d.useState(!1),y=we(f),C=vi(r),N=d.useRef(!1),[k,E]=d.useState(0);return d.useEffect(()=>{const M=h.current;if(M)return M.addEventListener(Po,y),()=>M.removeEventListener(Po,y)},[y]),i.jsx(Rh,{scope:r,orientation:n,dir:m,loop:o,currentTabStopId:g,onItemFocus:d.useCallback(M=>b(M),[b]),onItemShiftTab:d.useCallback(()=>x(!0),[]),onFocusableItemAdd:d.useCallback(()=>E(M=>M+1),[]),onFocusableItemRemove:d.useCallback(()=>E(M=>M-1),[]),children:i.jsx(te.div,{tabIndex:w||k===0?-1:0,"data-orientation":n,...p,ref:v,style:{outline:"none",...e.style},onMouseDown:H(e.onMouseDown,()=>{N.current=!0}),onFocus:H(e.onFocus,M=>{const F=!N.current;if(M.target===M.currentTarget&&F&&!w){const _=new CustomEvent(Po,Vh);if(M.currentTarget.dispatchEvent(_),!_.defaultPrevented){const B=C().filter(O=>O.focusable),R=B.find(O=>O.active),U=B.find(O=>O.id===g),z=[R,U,...B].filter(Boolean).map(O=>O.ref.current);Ci(z,u)}}N.current=!1}),onBlur:H(e.onBlur,()=>x(!1))})})}),xi="RovingFocusGroupItem",Si=d.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:r,focusable:n=!0,active:o=!1,tabStopId:s,children:a,...c}=e,l=Ue(),f=s||l,u=Gh(xi,r),p=u.currentTabStopId===f,h=vi(r),{onFocusableItemAdd:v,onFocusableItemRemove:m,currentTabStopId:g}=u;return d.useEffect(()=>{if(n)return v(),()=>m()},[n,v,m]),i.jsx(Io.ItemSlot,{scope:r,id:f,focusable:n,active:o,children:i.jsx(te.span,{tabIndex:p?0:-1,"data-orientation":u.orientation,...c,ref:t,onMouseDown:H(e.onMouseDown,b=>{n?u.onItemFocus(f):b.preventDefault()}),onFocus:H(e.onFocus,()=>u.onItemFocus(f)),onKeyDown:H(e.onKeyDown,b=>{if(b.key==="Tab"&&b.shiftKey){u.onItemShiftTab();return}if(b.target!==b.currentTarget)return;const w=Jh(b,u.orientation,u.dir);if(w!==void 0){if(b.metaKey||b.ctrlKey||b.altKey||b.shiftKey)return;b.preventDefault();let y=h().filter(C=>C.focusable).map(C=>C.ref.current);if(w==="last")y.reverse();else if(w==="prev"||w==="next"){w==="prev"&&y.reverse();const C=y.indexOf(b.currentTarget);y=u.loop?Zh(y,C+1):y.slice(C+1)}setTimeout(()=>Ci(y))}}),children:typeof a=="function"?a({isCurrentTabStop:p,hasTabStop:g!=null}):a})})});Si.displayName=xi;var Xh={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function Yh(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function Jh(e,t,r){const n=Yh(e.key,r);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(n))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(n)))return Xh[n]}function Ci(e,t=!1){const r=document.activeElement;for(const n of e)if(n===r||(n.focus({preventScroll:t}),document.activeElement!==r))return}function Zh(e,t){return e.map((r,n)=>e[(t+n)%e.length])}var Qh=yi,eg=Si,tg=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},Mt=new WeakMap,Gr=new WeakMap,qr={},_o=0,Ei=function(e){return e&&(e.host||Ei(e.parentNode))},rg=function(e,t){return t.map(function(r){if(e.contains(r))return r;var n=Ei(r);return n&&e.contains(n)?n:(console.error("aria-hidden",r,"in not contained inside",e,". Doing nothing"),null)}).filter(function(r){return!!r})},ng=function(e,t,r,n){var o=rg(t,Array.isArray(e)?e:[e]);qr[r]||(qr[r]=new WeakMap);var s=qr[r],a=[],c=new Set,l=new Set(o),f=function(p){!p||c.has(p)||(c.add(p),f(p.parentNode))};o.forEach(f);var u=function(p){!p||l.has(p)||Array.prototype.forEach.call(p.children,function(h){if(c.has(h))u(h);else try{var v=h.getAttribute(n),m=v!==null&&v!=="false",g=(Mt.get(h)||0)+1,b=(s.get(h)||0)+1;Mt.set(h,g),s.set(h,b),a.push(h),g===1&&m&&Gr.set(h,!0),b===1&&h.setAttribute(r,"true"),m||h.setAttribute(n,"true")}catch(w){console.error("aria-hidden: cannot operate on ",h,w)}})};return u(t),c.clear(),_o++,function(){a.forEach(function(p){var h=Mt.get(p)-1,v=s.get(p)-1;Mt.set(p,h),s.set(p,v),h||(Gr.has(p)||p.removeAttribute(n),Gr.delete(p)),v||p.removeAttribute(r)}),_o--,_o||(Mt=new WeakMap,Mt=new WeakMap,Gr=new WeakMap,qr={})}},ko=function(e,t,r){r===void 0&&(r="data-aria-hidden");var n=Array.from(Array.isArray(e)?e:[e]),o=tg(e);return o?(n.push.apply(n,Array.from(o.querySelectorAll("[aria-live], script"))),ng(n,o,r,"aria-hidden")):function(){return null}},Je=function(){return Je=Object.assign||function(t){for(var r,n=1,o=arguments.length;n<o;n++){r=arguments[n];for(var s in r)Object.prototype.hasOwnProperty.call(r,s)&&(t[s]=r[s])}return t},Je.apply(this,arguments)};function Ni(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var o=0,n=Object.getOwnPropertySymbols(e);o<n.length;o++)t.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]]);return r}function og(e,t,r){if(r||arguments.length===2)for(var n=0,o=t.length,s;n<o;n++)(s||!(n in t))&&(s||(s=Array.prototype.slice.call(t,0,n)),s[n]=t[n]);return e.concat(s||Array.prototype.slice.call(t))}typeof SuppressedError=="function"&&SuppressedError;var Xr="right-scroll-bar-position",Yr="width-before-scroll-bar",sg="with-scroll-bars-hidden",ag="--removed-body-scroll-bar-size";function Oo(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function ig(e,t){var r=T.useState(function(){return{value:e,callback:t,facade:{get current(){return r.value},set current(n){var o=r.value;o!==n&&(r.value=n,r.callback(n,o))}}}})[0];return r.callback=t,r.facade}var cg=typeof window<"u"?d.useLayoutEffect:d.useEffect,Ti=new WeakMap;function lg(e,t){var r=ig(null,function(n){return e.forEach(function(o){return Oo(o,n)})});return cg(function(){var n=Ti.get(r);if(n){var o=new Set(n),s=new Set(e),a=r.current;o.forEach(function(c){s.has(c)||Oo(c,null)}),s.forEach(function(c){o.has(c)||Oo(c,a)})}Ti.set(r,e)},[e]),r}function dg(e){return e}function ug(e,t){t===void 0&&(t=dg);var r=[],n=!1,o={read:function(){if(n)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return r.length?r[r.length-1]:e},useMedium:function(s){var a=t(s,n);return r.push(a),function(){r=r.filter(function(c){return c!==a})}},assignSyncMedium:function(s){for(n=!0;r.length;){var a=r;r=[],a.forEach(s)}r={push:function(c){return s(c)},filter:function(){return r}}},assignMedium:function(s){n=!0;var a=[];if(r.length){var c=r;r=[],c.forEach(s),a=r}var l=function(){var u=a;a=[],u.forEach(s)},f=function(){return Promise.resolve().then(l)};f(),r={push:function(u){a.push(u),f()},filter:function(u){return a=a.filter(u),r}}}};return o}function fg(e){e===void 0&&(e={});var t=ug(null);return t.options=Je({async:!0,ssr:!1},e),t}var Ai=function(e){var t=e.sideCar,r=Ni(e,["sideCar"]);if(!t)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var n=t.read();if(!n)throw new Error("Sidecar medium not found");return d.createElement(n,Je({},r))};Ai.isSideCarExport=!0;function pg(e,t){return e.useMedium(t),Ai}var Pi=fg(),Mo=function(){},Jr=d.forwardRef(function(e,t){var r=d.useRef(null),n=d.useState({onScrollCapture:Mo,onWheelCapture:Mo,onTouchMoveCapture:Mo}),o=n[0],s=n[1],a=e.forwardProps,c=e.children,l=e.className,f=e.removeScrollBar,u=e.enabled,p=e.shards,h=e.sideCar,v=e.noRelative,m=e.noIsolation,g=e.inert,b=e.allowPinchZoom,w=e.as,x=w===void 0?"div":w,y=e.gapMode,C=Ni(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),N=h,k=lg([r,t]),E=Je(Je({},C),o);return d.createElement(d.Fragment,null,u&&d.createElement(N,{sideCar:Pi,removeScrollBar:f,shards:p,noRelative:v,noIsolation:m,inert:g,setCallbacks:s,allowPinchZoom:!!b,lockRef:r,gapMode:y}),a?d.cloneElement(d.Children.only(c),Je(Je({},E),{ref:k})):d.createElement(x,Je({},E,{className:l,ref:k}),c))});Jr.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},Jr.classNames={fullWidth:Yr,zeroRight:Xr};var hg=function(){if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function gg(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=hg();return t&&e.setAttribute("nonce",t),e}function mg(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function bg(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var vg=function(){var e=0,t=null;return{add:function(r){e==0&&(t=gg())&&(mg(t,r),bg(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},wg=function(){var e=vg();return function(t,r){d.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&r])}},Ii=function(){var e=wg(),t=function(r){var n=r.styles,o=r.dynamic;return e(n,o),null};return t},yg={left:0,top:0,right:0,gap:0},Do=function(e){return parseInt(e||"",10)||0},xg=function(e){var t=window.getComputedStyle(document.body),r=t[e==="padding"?"paddingLeft":"marginLeft"],n=t[e==="padding"?"paddingTop":"marginTop"],o=t[e==="padding"?"paddingRight":"marginRight"];return[Do(r),Do(n),Do(o)]},Sg=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return yg;var t=xg(e),r=document.documentElement.clientWidth,n=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,n-r+t[2]-t[0])}},Cg=Ii(),Dt="data-scroll-locked",Eg=function(e,t,r,n){var o=e.left,s=e.top,a=e.right,c=e.gap;return r===void 0&&(r="margin"),`
|
|
18
|
+
`).trim():r.replace(/</g,"<").replace(/>/g,">").trim()}function ap(e,t=At){if(!e||typeof e!="string")throw new Error("Invalid content: must be a non-empty string");if(e.length>t)throw new Error(`Message exceeds maximum length of ${t} characters`);return e}function ip(e){let t;return typeof e=="string"?t=e:typeof e=="object"&&e!==null?t=JSON.stringify(e):t=String(e),ap(t),sp(t)}function oo(e){const t=e+"CollectionProvider",[r,n]=Be(t),[o,s]=r(t,{collectionRef:{current:null},itemMap:new Map}),a=g=>{const{scope:b,children:w}=g,x=T.useRef(null),y=T.useRef(new Map).current;return i.jsx(o,{scope:b,itemMap:y,collectionRef:x,children:w})};a.displayName=t;const c=e+"CollectionSlot",l=Ie.createSlot(c),f=T.forwardRef((g,b)=>{const{scope:w,children:x}=g,y=s(c,w),C=ie(b,y.collectionRef);return i.jsx(l,{ref:C,children:x})});f.displayName=c;const u=e+"CollectionItemSlot",p="data-radix-collection-item",h=Ie.createSlot(u),v=T.forwardRef((g,b)=>{const{scope:w,children:x,...y}=g,C=T.useRef(null),N=ie(b,C),k=s(u,w);return T.useEffect(()=>(k.itemMap.set(C,{ref:C,...y}),()=>void k.itemMap.delete(C))),i.jsx(h,{[p]:"",ref:N,children:x})});v.displayName=u;function m(g){const b=s(e+"CollectionConsumer",g);return T.useCallback(()=>{const x=b.collectionRef.current;if(!x)return[];const y=Array.from(x.querySelectorAll(`[${p}]`));return Array.from(b.itemMap.values()).sort((k,E)=>y.indexOf(k.ref.current)-y.indexOf(E.ref.current))},[b.collectionRef,b.itemMap])}return[{Provider:a,Slot:f,ItemSlot:v},m,n]}var cp=d.createContext(void 0);function Dr(e){const t=d.useContext(cp);return e||t||"ltr"}function we(e){const t=d.useRef(e);return d.useEffect(()=>{t.current=e}),d.useMemo(()=>(...r)=>{var n;return(n=t.current)==null?void 0:n.call(t,...r)},[])}function lp(e,t=globalThis==null?void 0:globalThis.document){const r=we(e);d.useEffect(()=>{const n=o=>{o.key==="Escape"&&r(o)};return t.addEventListener("keydown",n,{capture:!0}),()=>t.removeEventListener("keydown",n,{capture:!0})},[r,t])}var dp="DismissableLayer",so="dismissableLayer.update",up="dismissableLayer.pointerDownOutside",fp="dismissableLayer.focusOutside",Ia,_a=d.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Jt=d.forwardRef((e,t)=>{const{disableOutsidePointerEvents:r=!1,onEscapeKeyDown:n,onPointerDownOutside:o,onFocusOutside:s,onInteractOutside:a,onDismiss:c,...l}=e,f=d.useContext(_a),[u,p]=d.useState(null),h=(u==null?void 0:u.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,v]=d.useState({}),m=ie(t,E=>p(E)),g=Array.from(f.layers),[b]=[...f.layersWithOutsidePointerEventsDisabled].slice(-1),w=g.indexOf(b),x=u?g.indexOf(u):-1,y=f.layersWithOutsidePointerEventsDisabled.size>0,C=x>=w,N=gp(E=>{const M=E.target,F=[...f.branches].some(_=>_.contains(M));!C||F||(o==null||o(E),a==null||a(E),E.defaultPrevented||c==null||c())},h),k=mp(E=>{const M=E.target;[...f.branches].some(_=>_.contains(M))||(s==null||s(E),a==null||a(E),E.defaultPrevented||c==null||c())},h);return lp(E=>{x===f.layers.size-1&&(n==null||n(E),!E.defaultPrevented&&c&&(E.preventDefault(),c()))},h),d.useEffect(()=>{if(u)return r&&(f.layersWithOutsidePointerEventsDisabled.size===0&&(Ia=h.body.style.pointerEvents,h.body.style.pointerEvents="none"),f.layersWithOutsidePointerEventsDisabled.add(u)),f.layers.add(u),ka(),()=>{r&&f.layersWithOutsidePointerEventsDisabled.size===1&&(h.body.style.pointerEvents=Ia)}},[u,h,r,f]),d.useEffect(()=>()=>{u&&(f.layers.delete(u),f.layersWithOutsidePointerEventsDisabled.delete(u),ka())},[u,f]),d.useEffect(()=>{const E=()=>v({});return document.addEventListener(so,E),()=>document.removeEventListener(so,E)},[]),i.jsx(te.div,{...l,ref:m,style:{pointerEvents:y?C?"auto":"none":void 0,...e.style},onFocusCapture:H(e.onFocusCapture,k.onFocusCapture),onBlurCapture:H(e.onBlurCapture,k.onBlurCapture),onPointerDownCapture:H(e.onPointerDownCapture,N.onPointerDownCapture)})});Jt.displayName=dp;var pp="DismissableLayerBranch",hp=d.forwardRef((e,t)=>{const r=d.useContext(_a),n=d.useRef(null),o=ie(t,n);return d.useEffect(()=>{const s=n.current;if(s)return r.branches.add(s),()=>{r.branches.delete(s)}},[r.branches]),i.jsx(te.div,{...e,ref:o})});hp.displayName=pp;function gp(e,t=globalThis==null?void 0:globalThis.document){const r=we(e),n=d.useRef(!1),o=d.useRef(()=>{});return d.useEffect(()=>{const s=c=>{if(c.target&&!n.current){let l=function(){Oa(up,r,f,{discrete:!0})};const f={originalEvent:c};c.pointerType==="touch"?(t.removeEventListener("click",o.current),o.current=l,t.addEventListener("click",o.current,{once:!0})):l()}else t.removeEventListener("click",o.current);n.current=!1},a=window.setTimeout(()=>{t.addEventListener("pointerdown",s)},0);return()=>{window.clearTimeout(a),t.removeEventListener("pointerdown",s),t.removeEventListener("click",o.current)}},[t,r]),{onPointerDownCapture:()=>n.current=!0}}function mp(e,t=globalThis==null?void 0:globalThis.document){const r=we(e),n=d.useRef(!1);return d.useEffect(()=>{const o=s=>{s.target&&!n.current&&Oa(fp,r,{originalEvent:s},{discrete:!1})};return t.addEventListener("focusin",o),()=>t.removeEventListener("focusin",o)},[t,r]),{onFocusCapture:()=>n.current=!0,onBlurCapture:()=>n.current=!1}}function ka(){const e=new CustomEvent(so);document.dispatchEvent(e)}function Oa(e,t,r,{discrete:n}){const o=r.originalEvent.target,s=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:r});t&&o.addEventListener(e,t,{once:!0}),n?wa(o,s):o.dispatchEvent(s)}var ao=0;function io(){d.useEffect(()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??Ma()),document.body.insertAdjacentElement("beforeend",e[1]??Ma()),ao++,()=>{ao===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(t=>t.remove()),ao--}},[])}function Ma(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var co="focusScope.autoFocusOnMount",lo="focusScope.autoFocusOnUnmount",Da={bubbles:!1,cancelable:!0},bp="FocusScope",Lr=d.forwardRef((e,t)=>{const{loop:r=!1,trapped:n=!1,onMountAutoFocus:o,onUnmountAutoFocus:s,...a}=e,[c,l]=d.useState(null),f=we(o),u=we(s),p=d.useRef(null),h=ie(t,g=>l(g)),v=d.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;d.useEffect(()=>{if(n){let g=function(y){if(v.paused||!c)return;const C=y.target;c.contains(C)?p.current=C:st(p.current,{select:!0})},b=function(y){if(v.paused||!c)return;const C=y.relatedTarget;C!==null&&(c.contains(C)||st(p.current,{select:!0}))},w=function(y){if(document.activeElement===document.body)for(const N of y)N.removedNodes.length>0&&st(c)};document.addEventListener("focusin",g),document.addEventListener("focusout",b);const x=new MutationObserver(w);return c&&x.observe(c,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",g),document.removeEventListener("focusout",b),x.disconnect()}}},[n,c,v.paused]),d.useEffect(()=>{if(c){$a.add(v);const g=document.activeElement;if(!c.contains(g)){const w=new CustomEvent(co,Da);c.addEventListener(co,f),c.dispatchEvent(w),w.defaultPrevented||(vp(Cp(La(c)),{select:!0}),document.activeElement===g&&st(c))}return()=>{c.removeEventListener(co,f),setTimeout(()=>{const w=new CustomEvent(lo,Da);c.addEventListener(lo,u),c.dispatchEvent(w),w.defaultPrevented||st(g??document.body,{select:!0}),c.removeEventListener(lo,u),$a.remove(v)},0)}}},[c,f,u,v]);const m=d.useCallback(g=>{if(!r&&!n||v.paused)return;const b=g.key==="Tab"&&!g.altKey&&!g.ctrlKey&&!g.metaKey,w=document.activeElement;if(b&&w){const x=g.currentTarget,[y,C]=wp(x);y&&C?!g.shiftKey&&w===C?(g.preventDefault(),r&&st(y,{select:!0})):g.shiftKey&&w===y&&(g.preventDefault(),r&&st(C,{select:!0})):w===x&&g.preventDefault()}},[r,n,v.paused]);return i.jsx(te.div,{tabIndex:-1,...a,ref:h,onKeyDown:m})});Lr.displayName=bp;function vp(e,{select:t=!1}={}){const r=document.activeElement;for(const n of e)if(st(n,{select:t}),document.activeElement!==r)return}function wp(e){const t=La(e),r=Fa(t,e),n=Fa(t.reverse(),e);return[r,n]}function La(e){const t=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:n=>{const o=n.tagName==="INPUT"&&n.type==="hidden";return n.disabled||n.hidden||o?NodeFilter.FILTER_SKIP:n.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)t.push(r.currentNode);return t}function Fa(e,t){for(const r of e)if(!yp(r,{upTo:t}))return r}function yp(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function xp(e){return e instanceof HTMLInputElement&&"select"in e}function st(e,{select:t=!1}={}){if(e&&e.focus){const r=document.activeElement;e.focus({preventScroll:!0}),e!==r&&xp(e)&&t&&e.select()}}var $a=Sp();function Sp(){let e=[];return{add(t){const r=e[0];t!==r&&(r==null||r.pause()),e=Ba(e,t),e.unshift(t)},remove(t){var r;e=Ba(e,t),(r=e[0])==null||r.resume()}}}function Ba(e,t){const r=[...e],n=r.indexOf(t);return n!==-1&&r.splice(n,1),r}function Cp(e){return e.filter(t=>t.tagName!=="A")}const Ep=["top","right","bottom","left"],at=Math.min,_e=Math.max,Fr=Math.round,$r=Math.floor,Ge=e=>({x:e,y:e}),Np={left:"right",right:"left",bottom:"top",top:"bottom"},Tp={start:"end",end:"start"};function uo(e,t,r){return _e(e,at(t,r))}function et(e,t){return typeof e=="function"?e(t):e}function tt(e){return e.split("-")[0]}function Pt(e){return e.split("-")[1]}function fo(e){return e==="x"?"y":"x"}function po(e){return e==="y"?"height":"width"}const Ap=new Set(["top","bottom"]);function qe(e){return Ap.has(tt(e))?"y":"x"}function ho(e){return fo(qe(e))}function Pp(e,t,r){r===void 0&&(r=!1);const n=Pt(e),o=ho(e),s=po(o);let a=o==="x"?n===(r?"end":"start")?"right":"left":n==="start"?"bottom":"top";return t.reference[s]>t.floating[s]&&(a=Br(a)),[a,Br(a)]}function Ip(e){const t=Br(e);return[go(e),t,go(t)]}function go(e){return e.replace(/start|end/g,t=>Tp[t])}const Ua=["left","right"],Ha=["right","left"],_p=["top","bottom"],kp=["bottom","top"];function Op(e,t,r){switch(e){case"top":case"bottom":return r?t?Ha:Ua:t?Ua:Ha;case"left":case"right":return t?_p:kp;default:return[]}}function Mp(e,t,r,n){const o=Pt(e);let s=Op(tt(e),r==="start",n);return o&&(s=s.map(a=>a+"-"+o),t&&(s=s.concat(s.map(go)))),s}function Br(e){return e.replace(/left|right|bottom|top/g,t=>Np[t])}function Dp(e){return{top:0,right:0,bottom:0,left:0,...e}}function za(e){return typeof e!="number"?Dp(e):{top:e,right:e,bottom:e,left:e}}function Ur(e){const{x:t,y:r,width:n,height:o}=e;return{width:n,height:o,top:r,left:t,right:t+n,bottom:r+o,x:t,y:r}}function Wa(e,t,r){let{reference:n,floating:o}=e;const s=qe(t),a=ho(t),c=po(a),l=tt(t),f=s==="y",u=n.x+n.width/2-o.width/2,p=n.y+n.height/2-o.height/2,h=n[c]/2-o[c]/2;let v;switch(l){case"top":v={x:u,y:n.y-o.height};break;case"bottom":v={x:u,y:n.y+n.height};break;case"right":v={x:n.x+n.width,y:p};break;case"left":v={x:n.x-o.width,y:p};break;default:v={x:n.x,y:n.y}}switch(Pt(t)){case"start":v[a]-=h*(r&&f?-1:1);break;case"end":v[a]+=h*(r&&f?-1:1);break}return v}const Lp=async(e,t,r)=>{const{placement:n="bottom",strategy:o="absolute",middleware:s=[],platform:a}=r,c=s.filter(Boolean),l=await(a.isRTL==null?void 0:a.isRTL(t));let f=await a.getElementRects({reference:e,floating:t,strategy:o}),{x:u,y:p}=Wa(f,n,l),h=n,v={},m=0;for(let g=0;g<c.length;g++){const{name:b,fn:w}=c[g],{x,y,data:C,reset:N}=await w({x:u,y:p,initialPlacement:n,placement:h,strategy:o,middlewareData:v,rects:f,platform:a,elements:{reference:e,floating:t}});u=x??u,p=y??p,v={...v,[b]:{...v[b],...C}},N&&m<=50&&(m++,typeof N=="object"&&(N.placement&&(h=N.placement),N.rects&&(f=N.rects===!0?await a.getElementRects({reference:e,floating:t,strategy:o}):N.rects),{x:u,y:p}=Wa(f,h,l)),g=-1)}return{x:u,y:p,placement:h,strategy:o,middlewareData:v}};async function Zt(e,t){var r;t===void 0&&(t={});const{x:n,y:o,platform:s,rects:a,elements:c,strategy:l}=e,{boundary:f="clippingAncestors",rootBoundary:u="viewport",elementContext:p="floating",altBoundary:h=!1,padding:v=0}=et(t,e),m=za(v),b=c[h?p==="floating"?"reference":"floating":p],w=Ur(await s.getClippingRect({element:(r=await(s.isElement==null?void 0:s.isElement(b)))==null||r?b:b.contextElement||await(s.getDocumentElement==null?void 0:s.getDocumentElement(c.floating)),boundary:f,rootBoundary:u,strategy:l})),x=p==="floating"?{x:n,y:o,width:a.floating.width,height:a.floating.height}:a.reference,y=await(s.getOffsetParent==null?void 0:s.getOffsetParent(c.floating)),C=await(s.isElement==null?void 0:s.isElement(y))?await(s.getScale==null?void 0:s.getScale(y))||{x:1,y:1}:{x:1,y:1},N=Ur(s.convertOffsetParentRelativeRectToViewportRelativeRect?await s.convertOffsetParentRelativeRectToViewportRelativeRect({elements:c,rect:x,offsetParent:y,strategy:l}):x);return{top:(w.top-N.top+m.top)/C.y,bottom:(N.bottom-w.bottom+m.bottom)/C.y,left:(w.left-N.left+m.left)/C.x,right:(N.right-w.right+m.right)/C.x}}const Fp=e=>({name:"arrow",options:e,async fn(t){const{x:r,y:n,placement:o,rects:s,platform:a,elements:c,middlewareData:l}=t,{element:f,padding:u=0}=et(e,t)||{};if(f==null)return{};const p=za(u),h={x:r,y:n},v=ho(o),m=po(v),g=await a.getDimensions(f),b=v==="y",w=b?"top":"left",x=b?"bottom":"right",y=b?"clientHeight":"clientWidth",C=s.reference[m]+s.reference[v]-h[v]-s.floating[m],N=h[v]-s.reference[v],k=await(a.getOffsetParent==null?void 0:a.getOffsetParent(f));let E=k?k[y]:0;(!E||!await(a.isElement==null?void 0:a.isElement(k)))&&(E=c.floating[y]||s.floating[m]);const M=C/2-N/2,F=E/2-g[m]/2-1,_=at(p[w],F),B=at(p[x],F),R=_,U=E-g[m]-B,D=E/2-g[m]/2+M,z=uo(R,D,U),O=!l.arrow&&Pt(o)!=null&&D!==z&&s.reference[m]/2-(D<R?_:B)-g[m]/2<0,G=O?D<R?D-R:D-U:0;return{[v]:h[v]+G,data:{[v]:z,centerOffset:D-z-G,...O&&{alignmentOffset:G}},reset:O}}}),$p=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var r,n;const{placement:o,middlewareData:s,rects:a,initialPlacement:c,platform:l,elements:f}=t,{mainAxis:u=!0,crossAxis:p=!0,fallbackPlacements:h,fallbackStrategy:v="bestFit",fallbackAxisSideDirection:m="none",flipAlignment:g=!0,...b}=et(e,t);if((r=s.arrow)!=null&&r.alignmentOffset)return{};const w=tt(o),x=qe(c),y=tt(c)===c,C=await(l.isRTL==null?void 0:l.isRTL(f.floating)),N=h||(y||!g?[Br(c)]:Ip(c)),k=m!=="none";!h&&k&&N.push(...Mp(c,g,m,C));const E=[c,...N],M=await Zt(t,b),F=[];let _=((n=s.flip)==null?void 0:n.overflows)||[];if(u&&F.push(M[w]),p){const D=Pp(o,a,C);F.push(M[D[0]],M[D[1]])}if(_=[..._,{placement:o,overflows:F}],!F.every(D=>D<=0)){var B,R;const D=(((B=s.flip)==null?void 0:B.index)||0)+1,z=E[D];if(z&&(!(p==="alignment"?x!==qe(z):!1)||_.every(L=>qe(L.placement)===x?L.overflows[0]>0:!0)))return{data:{index:D,overflows:_},reset:{placement:z}};let O=(R=_.filter(G=>G.overflows[0]<=0).sort((G,L)=>G.overflows[1]-L.overflows[1])[0])==null?void 0:R.placement;if(!O)switch(v){case"bestFit":{var U;const G=(U=_.filter(L=>{if(k){const A=qe(L.placement);return A===x||A==="y"}return!0}).map(L=>[L.placement,L.overflows.filter(A=>A>0).reduce((A,ee)=>A+ee,0)]).sort((L,A)=>L[1]-A[1])[0])==null?void 0:U[0];G&&(O=G);break}case"initialPlacement":O=c;break}if(o!==O)return{reset:{placement:O}}}return{}}}};function Va(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function ja(e){return Ep.some(t=>e[t]>=0)}const Bp=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){const{rects:r}=t,{strategy:n="referenceHidden",...o}=et(e,t);switch(n){case"referenceHidden":{const s=await Zt(t,{...o,elementContext:"reference"}),a=Va(s,r.reference);return{data:{referenceHiddenOffsets:a,referenceHidden:ja(a)}}}case"escaped":{const s=await Zt(t,{...o,altBoundary:!0}),a=Va(s,r.floating);return{data:{escapedOffsets:a,escaped:ja(a)}}}default:return{}}}}},Ka=new Set(["left","top"]);async function Up(e,t){const{placement:r,platform:n,elements:o}=e,s=await(n.isRTL==null?void 0:n.isRTL(o.floating)),a=tt(r),c=Pt(r),l=qe(r)==="y",f=Ka.has(a)?-1:1,u=s&&l?-1:1,p=et(t,e);let{mainAxis:h,crossAxis:v,alignmentAxis:m}=typeof p=="number"?{mainAxis:p,crossAxis:0,alignmentAxis:null}:{mainAxis:p.mainAxis||0,crossAxis:p.crossAxis||0,alignmentAxis:p.alignmentAxis};return c&&typeof m=="number"&&(v=c==="end"?m*-1:m),l?{x:v*u,y:h*f}:{x:h*f,y:v*u}}const Hp=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var r,n;const{x:o,y:s,placement:a,middlewareData:c}=t,l=await Up(t,e);return a===((r=c.offset)==null?void 0:r.placement)&&(n=c.arrow)!=null&&n.alignmentOffset?{}:{x:o+l.x,y:s+l.y,data:{...l,placement:a}}}}},zp=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:r,y:n,placement:o}=t,{mainAxis:s=!0,crossAxis:a=!1,limiter:c={fn:b=>{let{x:w,y:x}=b;return{x:w,y:x}}},...l}=et(e,t),f={x:r,y:n},u=await Zt(t,l),p=qe(tt(o)),h=fo(p);let v=f[h],m=f[p];if(s){const b=h==="y"?"top":"left",w=h==="y"?"bottom":"right",x=v+u[b],y=v-u[w];v=uo(x,v,y)}if(a){const b=p==="y"?"top":"left",w=p==="y"?"bottom":"right",x=m+u[b],y=m-u[w];m=uo(x,m,y)}const g=c.fn({...t,[h]:v,[p]:m});return{...g,data:{x:g.x-r,y:g.y-n,enabled:{[h]:s,[p]:a}}}}}},Wp=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:r,y:n,placement:o,rects:s,middlewareData:a}=t,{offset:c=0,mainAxis:l=!0,crossAxis:f=!0}=et(e,t),u={x:r,y:n},p=qe(o),h=fo(p);let v=u[h],m=u[p];const g=et(c,t),b=typeof g=="number"?{mainAxis:g,crossAxis:0}:{mainAxis:0,crossAxis:0,...g};if(l){const y=h==="y"?"height":"width",C=s.reference[h]-s.floating[y]+b.mainAxis,N=s.reference[h]+s.reference[y]-b.mainAxis;v<C?v=C:v>N&&(v=N)}if(f){var w,x;const y=h==="y"?"width":"height",C=Ka.has(tt(o)),N=s.reference[p]-s.floating[y]+(C&&((w=a.offset)==null?void 0:w[p])||0)+(C?0:b.crossAxis),k=s.reference[p]+s.reference[y]+(C?0:((x=a.offset)==null?void 0:x[p])||0)-(C?b.crossAxis:0);m<N?m=N:m>k&&(m=k)}return{[h]:v,[p]:m}}}},Vp=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var r,n;const{placement:o,rects:s,platform:a,elements:c}=t,{apply:l=()=>{},...f}=et(e,t),u=await Zt(t,f),p=tt(o),h=Pt(o),v=qe(o)==="y",{width:m,height:g}=s.floating;let b,w;p==="top"||p==="bottom"?(b=p,w=h===(await(a.isRTL==null?void 0:a.isRTL(c.floating))?"start":"end")?"left":"right"):(w=p,b=h==="end"?"top":"bottom");const x=g-u.top-u.bottom,y=m-u.left-u.right,C=at(g-u[b],x),N=at(m-u[w],y),k=!t.middlewareData.shift;let E=C,M=N;if((r=t.middlewareData.shift)!=null&&r.enabled.x&&(M=y),(n=t.middlewareData.shift)!=null&&n.enabled.y&&(E=x),k&&!h){const _=_e(u.left,0),B=_e(u.right,0),R=_e(u.top,0),U=_e(u.bottom,0);v?M=m-2*(_!==0||B!==0?_+B:_e(u.left,u.right)):E=g-2*(R!==0||U!==0?R+U:_e(u.top,u.bottom))}await l({...t,availableWidth:M,availableHeight:E});const F=await a.getDimensions(c.floating);return m!==F.width||g!==F.height?{reset:{rects:!0}}:{}}}};function Hr(){return typeof window<"u"}function It(e){return Ra(e)?(e.nodeName||"").toLowerCase():"#document"}function ke(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Xe(e){var t;return(t=(Ra(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function Ra(e){return Hr()?e instanceof Node||e instanceof ke(e).Node:!1}function He(e){return Hr()?e instanceof Element||e instanceof ke(e).Element:!1}function Ye(e){return Hr()?e instanceof HTMLElement||e instanceof ke(e).HTMLElement:!1}function Ga(e){return!Hr()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof ke(e).ShadowRoot}const jp=new Set(["inline","contents"]);function Qt(e){const{overflow:t,overflowX:r,overflowY:n,display:o}=ze(e);return/auto|scroll|overlay|hidden|clip/.test(t+n+r)&&!jp.has(o)}const Kp=new Set(["table","td","th"]);function Rp(e){return Kp.has(It(e))}const Gp=[":popover-open",":modal"];function zr(e){return Gp.some(t=>{try{return e.matches(t)}catch{return!1}})}const qp=["transform","translate","scale","rotate","perspective"],Xp=["transform","translate","scale","rotate","perspective","filter"],Yp=["paint","layout","strict","content"];function mo(e){const t=bo(),r=He(e)?ze(e):e;return qp.some(n=>r[n]?r[n]!=="none":!1)||(r.containerType?r.containerType!=="normal":!1)||!t&&(r.backdropFilter?r.backdropFilter!=="none":!1)||!t&&(r.filter?r.filter!=="none":!1)||Xp.some(n=>(r.willChange||"").includes(n))||Yp.some(n=>(r.contain||"").includes(n))}function Jp(e){let t=it(e);for(;Ye(t)&&!_t(t);){if(mo(t))return t;if(zr(t))return null;t=it(t)}return null}function bo(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const Zp=new Set(["html","body","#document"]);function _t(e){return Zp.has(It(e))}function ze(e){return ke(e).getComputedStyle(e)}function Wr(e){return He(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function it(e){if(It(e)==="html")return e;const t=e.assignedSlot||e.parentNode||Ga(e)&&e.host||Xe(e);return Ga(t)?t.host:t}function qa(e){const t=it(e);return _t(t)?e.ownerDocument?e.ownerDocument.body:e.body:Ye(t)&&Qt(t)?t:qa(t)}function er(e,t,r){var n;t===void 0&&(t=[]),r===void 0&&(r=!0);const o=qa(e),s=o===((n=e.ownerDocument)==null?void 0:n.body),a=ke(o);if(s){const c=vo(a);return t.concat(a,a.visualViewport||[],Qt(o)?o:[],c&&r?er(c):[])}return t.concat(o,er(o,[],r))}function vo(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Xa(e){const t=ze(e);let r=parseFloat(t.width)||0,n=parseFloat(t.height)||0;const o=Ye(e),s=o?e.offsetWidth:r,a=o?e.offsetHeight:n,c=Fr(r)!==s||Fr(n)!==a;return c&&(r=s,n=a),{width:r,height:n,$:c}}function wo(e){return He(e)?e:e.contextElement}function kt(e){const t=wo(e);if(!Ye(t))return Ge(1);const r=t.getBoundingClientRect(),{width:n,height:o,$:s}=Xa(t);let a=(s?Fr(r.width):r.width)/n,c=(s?Fr(r.height):r.height)/o;return(!a||!Number.isFinite(a))&&(a=1),(!c||!Number.isFinite(c))&&(c=1),{x:a,y:c}}const Qp=Ge(0);function Ya(e){const t=ke(e);return!bo()||!t.visualViewport?Qp:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function eh(e,t,r){return t===void 0&&(t=!1),!r||t&&r!==ke(e)?!1:t}function mt(e,t,r,n){t===void 0&&(t=!1),r===void 0&&(r=!1);const o=e.getBoundingClientRect(),s=wo(e);let a=Ge(1);t&&(n?He(n)&&(a=kt(n)):a=kt(e));const c=eh(s,r,n)?Ya(s):Ge(0);let l=(o.left+c.x)/a.x,f=(o.top+c.y)/a.y,u=o.width/a.x,p=o.height/a.y;if(s){const h=ke(s),v=n&&He(n)?ke(n):n;let m=h,g=vo(m);for(;g&&n&&v!==m;){const b=kt(g),w=g.getBoundingClientRect(),x=ze(g),y=w.left+(g.clientLeft+parseFloat(x.paddingLeft))*b.x,C=w.top+(g.clientTop+parseFloat(x.paddingTop))*b.y;l*=b.x,f*=b.y,u*=b.x,p*=b.y,l+=y,f+=C,m=ke(g),g=vo(m)}}return Ur({width:u,height:p,x:l,y:f})}function Vr(e,t){const r=Wr(e).scrollLeft;return t?t.left+r:mt(Xe(e)).left+r}function Ja(e,t){const r=e.getBoundingClientRect(),n=r.left+t.scrollLeft-Vr(e,r),o=r.top+t.scrollTop;return{x:n,y:o}}function th(e){let{elements:t,rect:r,offsetParent:n,strategy:o}=e;const s=o==="fixed",a=Xe(n),c=t?zr(t.floating):!1;if(n===a||c&&s)return r;let l={scrollLeft:0,scrollTop:0},f=Ge(1);const u=Ge(0),p=Ye(n);if((p||!p&&!s)&&((It(n)!=="body"||Qt(a))&&(l=Wr(n)),Ye(n))){const v=mt(n);f=kt(n),u.x=v.x+n.clientLeft,u.y=v.y+n.clientTop}const h=a&&!p&&!s?Ja(a,l):Ge(0);return{width:r.width*f.x,height:r.height*f.y,x:r.x*f.x-l.scrollLeft*f.x+u.x+h.x,y:r.y*f.y-l.scrollTop*f.y+u.y+h.y}}function rh(e){return Array.from(e.getClientRects())}function nh(e){const t=Xe(e),r=Wr(e),n=e.ownerDocument.body,o=_e(t.scrollWidth,t.clientWidth,n.scrollWidth,n.clientWidth),s=_e(t.scrollHeight,t.clientHeight,n.scrollHeight,n.clientHeight);let a=-r.scrollLeft+Vr(e);const c=-r.scrollTop;return ze(n).direction==="rtl"&&(a+=_e(t.clientWidth,n.clientWidth)-o),{width:o,height:s,x:a,y:c}}const Za=25;function oh(e,t){const r=ke(e),n=Xe(e),o=r.visualViewport;let s=n.clientWidth,a=n.clientHeight,c=0,l=0;if(o){s=o.width,a=o.height;const u=bo();(!u||u&&t==="fixed")&&(c=o.offsetLeft,l=o.offsetTop)}const f=Vr(n);if(f<=0){const u=n.ownerDocument,p=u.body,h=getComputedStyle(p),v=u.compatMode==="CSS1Compat"&&parseFloat(h.marginLeft)+parseFloat(h.marginRight)||0,m=Math.abs(n.clientWidth-p.clientWidth-v);m<=Za&&(s-=m)}else f<=Za&&(s+=f);return{width:s,height:a,x:c,y:l}}const sh=new Set(["absolute","fixed"]);function ah(e,t){const r=mt(e,!0,t==="fixed"),n=r.top+e.clientTop,o=r.left+e.clientLeft,s=Ye(e)?kt(e):Ge(1),a=e.clientWidth*s.x,c=e.clientHeight*s.y,l=o*s.x,f=n*s.y;return{width:a,height:c,x:l,y:f}}function Qa(e,t,r){let n;if(t==="viewport")n=oh(e,r);else if(t==="document")n=nh(Xe(e));else if(He(t))n=ah(t,r);else{const o=Ya(e);n={x:t.x-o.x,y:t.y-o.y,width:t.width,height:t.height}}return Ur(n)}function ei(e,t){const r=it(e);return r===t||!He(r)||_t(r)?!1:ze(r).position==="fixed"||ei(r,t)}function ih(e,t){const r=t.get(e);if(r)return r;let n=er(e,[],!1).filter(c=>He(c)&&It(c)!=="body"),o=null;const s=ze(e).position==="fixed";let a=s?it(e):e;for(;He(a)&&!_t(a);){const c=ze(a),l=mo(a);!l&&c.position==="fixed"&&(o=null),(s?!l&&!o:!l&&c.position==="static"&&!!o&&sh.has(o.position)||Qt(a)&&!l&&ei(e,a))?n=n.filter(u=>u!==a):o=c,a=it(a)}return t.set(e,n),n}function ch(e){let{element:t,boundary:r,rootBoundary:n,strategy:o}=e;const a=[...r==="clippingAncestors"?zr(t)?[]:ih(t,this._c):[].concat(r),n],c=a[0],l=a.reduce((f,u)=>{const p=Qa(t,u,o);return f.top=_e(p.top,f.top),f.right=at(p.right,f.right),f.bottom=at(p.bottom,f.bottom),f.left=_e(p.left,f.left),f},Qa(t,c,o));return{width:l.right-l.left,height:l.bottom-l.top,x:l.left,y:l.top}}function lh(e){const{width:t,height:r}=Xa(e);return{width:t,height:r}}function dh(e,t,r){const n=Ye(t),o=Xe(t),s=r==="fixed",a=mt(e,!0,s,t);let c={scrollLeft:0,scrollTop:0};const l=Ge(0);function f(){l.x=Vr(o)}if(n||!n&&!s)if((It(t)!=="body"||Qt(o))&&(c=Wr(t)),n){const v=mt(t,!0,s,t);l.x=v.x+t.clientLeft,l.y=v.y+t.clientTop}else o&&f();s&&!n&&o&&f();const u=o&&!n&&!s?Ja(o,c):Ge(0),p=a.left+c.scrollLeft-l.x-u.x,h=a.top+c.scrollTop-l.y-u.y;return{x:p,y:h,width:a.width,height:a.height}}function yo(e){return ze(e).position==="static"}function ti(e,t){if(!Ye(e)||ze(e).position==="fixed")return null;if(t)return t(e);let r=e.offsetParent;return Xe(e)===r&&(r=r.ownerDocument.body),r}function ri(e,t){const r=ke(e);if(zr(e))return r;if(!Ye(e)){let o=it(e);for(;o&&!_t(o);){if(He(o)&&!yo(o))return o;o=it(o)}return r}let n=ti(e,t);for(;n&&Rp(n)&&yo(n);)n=ti(n,t);return n&&_t(n)&&yo(n)&&!mo(n)?r:n||Jp(e)||r}const uh=async function(e){const t=this.getOffsetParent||ri,r=this.getDimensions,n=await r(e.floating);return{reference:dh(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:n.width,height:n.height}}};function fh(e){return ze(e).direction==="rtl"}const ph={convertOffsetParentRelativeRectToViewportRelativeRect:th,getDocumentElement:Xe,getClippingRect:ch,getOffsetParent:ri,getElementRects:uh,getClientRects:rh,getDimensions:lh,getScale:kt,isElement:He,isRTL:fh};function ni(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function hh(e,t){let r=null,n;const o=Xe(e);function s(){var c;clearTimeout(n),(c=r)==null||c.disconnect(),r=null}function a(c,l){c===void 0&&(c=!1),l===void 0&&(l=1),s();const f=e.getBoundingClientRect(),{left:u,top:p,width:h,height:v}=f;if(c||t(),!h||!v)return;const m=$r(p),g=$r(o.clientWidth-(u+h)),b=$r(o.clientHeight-(p+v)),w=$r(u),y={rootMargin:-m+"px "+-g+"px "+-b+"px "+-w+"px",threshold:_e(0,at(1,l))||1};let C=!0;function N(k){const E=k[0].intersectionRatio;if(E!==l){if(!C)return a();E?a(!1,E):n=setTimeout(()=>{a(!1,1e-7)},1e3)}E===1&&!ni(f,e.getBoundingClientRect())&&a(),C=!1}try{r=new IntersectionObserver(N,{...y,root:o.ownerDocument})}catch{r=new IntersectionObserver(N,y)}r.observe(e)}return a(!0),s}function gh(e,t,r,n){n===void 0&&(n={});const{ancestorScroll:o=!0,ancestorResize:s=!0,elementResize:a=typeof ResizeObserver=="function",layoutShift:c=typeof IntersectionObserver=="function",animationFrame:l=!1}=n,f=wo(e),u=o||s?[...f?er(f):[],...er(t)]:[];u.forEach(w=>{o&&w.addEventListener("scroll",r,{passive:!0}),s&&w.addEventListener("resize",r)});const p=f&&c?hh(f,r):null;let h=-1,v=null;a&&(v=new ResizeObserver(w=>{let[x]=w;x&&x.target===f&&v&&(v.unobserve(t),cancelAnimationFrame(h),h=requestAnimationFrame(()=>{var y;(y=v)==null||y.observe(t)})),r()}),f&&!l&&v.observe(f),v.observe(t));let m,g=l?mt(e):null;l&&b();function b(){const w=mt(e);g&&!ni(g,w)&&r(),g=w,m=requestAnimationFrame(b)}return r(),()=>{var w;u.forEach(x=>{o&&x.removeEventListener("scroll",r),s&&x.removeEventListener("resize",r)}),p==null||p(),(w=v)==null||w.disconnect(),v=null,l&&cancelAnimationFrame(m)}}const mh=Hp,bh=zp,vh=$p,wh=Vp,yh=Bp,oi=Fp,xh=Wp,Sh=(e,t,r)=>{const n=new Map,o={platform:ph,...r},s={...o.platform,_c:n};return Lp(e,t,{...o,platform:s})};var Ch=typeof document<"u",Eh=function(){},jr=Ch?T.useLayoutEffect:Eh;function Kr(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let r,n,o;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(r=e.length,r!==t.length)return!1;for(n=r;n--!==0;)if(!Kr(e[n],t[n]))return!1;return!0}if(o=Object.keys(e),r=o.length,r!==Object.keys(t).length)return!1;for(n=r;n--!==0;)if(!{}.hasOwnProperty.call(t,o[n]))return!1;for(n=r;n--!==0;){const s=o[n];if(!(s==="_owner"&&e.$$typeof)&&!Kr(e[s],t[s]))return!1}return!0}return e!==e&&t!==t}function si(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function ai(e,t){const r=si(e);return Math.round(t*r)/r}function xo(e){const t=d.useRef(e);return jr(()=>{t.current=e}),t}function Nh(e){e===void 0&&(e={});const{placement:t="bottom",strategy:r="absolute",middleware:n=[],platform:o,elements:{reference:s,floating:a}={},transform:c=!0,whileElementsMounted:l,open:f}=e,[u,p]=d.useState({x:0,y:0,strategy:r,placement:t,middlewareData:{},isPositioned:!1}),[h,v]=d.useState(n);Kr(h,n)||v(n);const[m,g]=d.useState(null),[b,w]=d.useState(null),x=d.useCallback(L=>{L!==k.current&&(k.current=L,g(L))},[]),y=d.useCallback(L=>{L!==E.current&&(E.current=L,w(L))},[]),C=s||m,N=a||b,k=d.useRef(null),E=d.useRef(null),M=d.useRef(u),F=l!=null,_=xo(l),B=xo(o),R=xo(f),U=d.useCallback(()=>{if(!k.current||!E.current)return;const L={placement:t,strategy:r,middleware:h};B.current&&(L.platform=B.current),Sh(k.current,E.current,L).then(A=>{const ee={...A,isPositioned:R.current!==!1};D.current&&!Kr(M.current,ee)&&(M.current=ee,gr.flushSync(()=>{p(ee)}))})},[h,t,r,B,R]);jr(()=>{f===!1&&M.current.isPositioned&&(M.current.isPositioned=!1,p(L=>({...L,isPositioned:!1})))},[f]);const D=d.useRef(!1);jr(()=>(D.current=!0,()=>{D.current=!1}),[]),jr(()=>{if(C&&(k.current=C),N&&(E.current=N),C&&N){if(_.current)return _.current(C,N,U);U()}},[C,N,U,_,F]);const z=d.useMemo(()=>({reference:k,floating:E,setReference:x,setFloating:y}),[x,y]),O=d.useMemo(()=>({reference:C,floating:N}),[C,N]),G=d.useMemo(()=>{const L={position:r,left:0,top:0};if(!O.floating)return L;const A=ai(O.floating,u.x),ee=ai(O.floating,u.y);return c?{...L,transform:"translate("+A+"px, "+ee+"px)",...si(O.floating)>=1.5&&{willChange:"transform"}}:{position:r,left:A,top:ee}},[r,c,O.floating,u.x,u.y]);return d.useMemo(()=>({...u,update:U,refs:z,elements:O,floatingStyles:G}),[u,U,z,O,G])}const Th=e=>{function t(r){return{}.hasOwnProperty.call(r,"current")}return{name:"arrow",options:e,fn(r){const{element:n,padding:o}=typeof e=="function"?e(r):e;return n&&t(n)?n.current!=null?oi({element:n.current,padding:o}).fn(r):{}:n?oi({element:n,padding:o}).fn(r):{}}}},Ah=(e,t)=>({...mh(e),options:[e,t]}),Ph=(e,t)=>({...bh(e),options:[e,t]}),Ih=(e,t)=>({...xh(e),options:[e,t]}),_h=(e,t)=>({...vh(e),options:[e,t]}),kh=(e,t)=>({...wh(e),options:[e,t]}),Oh=(e,t)=>({...yh(e),options:[e,t]}),Mh=(e,t)=>({...Th(e),options:[e,t]});var Dh="Arrow",ii=d.forwardRef((e,t)=>{const{children:r,width:n=10,height:o=5,...s}=e;return i.jsx(te.svg,{...s,ref:t,width:n,height:o,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?r:i.jsx("polygon",{points:"0,0 30,0 15,10"})})});ii.displayName=Dh;var Lh=ii;function ci(e){const[t,r]=d.useState(void 0);return ve(()=>{if(e){r({width:e.offsetWidth,height:e.offsetHeight});const n=new ResizeObserver(o=>{if(!Array.isArray(o)||!o.length)return;const s=o[0];let a,c;if("borderBoxSize"in s){const l=s.borderBoxSize,f=Array.isArray(l)?l[0]:l;a=f.inlineSize,c=f.blockSize}else a=e.offsetWidth,c=e.offsetHeight;r({width:a,height:c})});return n.observe(e,{box:"border-box"}),()=>n.unobserve(e)}else r(void 0)},[e]),t}var So="Popper",[li,Ot]=Be(So),[Fh,di]=li(So),ui=e=>{const{__scopePopper:t,children:r}=e,[n,o]=d.useState(null);return i.jsx(Fh,{scope:t,anchor:n,onAnchorChange:o,children:r})};ui.displayName=So;var fi="PopperAnchor",pi=d.forwardRef((e,t)=>{const{__scopePopper:r,virtualRef:n,...o}=e,s=di(fi,r),a=d.useRef(null),c=ie(t,a),l=d.useRef(null);return d.useEffect(()=>{const f=l.current;l.current=(n==null?void 0:n.current)||a.current,f!==l.current&&s.onAnchorChange(l.current)}),n?null:i.jsx(te.div,{...o,ref:c})});pi.displayName=fi;var Co="PopperContent",[$h,Bh]=li(Co),hi=d.forwardRef((e,t)=>{var W,V,se,K,J,ne;const{__scopePopper:r,side:n="bottom",sideOffset:o=0,align:s="center",alignOffset:a=0,arrowPadding:c=0,avoidCollisions:l=!0,collisionBoundary:f=[],collisionPadding:u=0,sticky:p="partial",hideWhenDetached:h=!1,updatePositionStrategy:v="optimized",onPlaced:m,...g}=e,b=di(Co,r),[w,x]=d.useState(null),y=ie(t,me=>x(me)),[C,N]=d.useState(null),k=ci(C),E=(k==null?void 0:k.width)??0,M=(k==null?void 0:k.height)??0,F=n+(s!=="center"?"-"+s:""),_=typeof u=="number"?u:{top:0,right:0,bottom:0,left:0,...u},B=Array.isArray(f)?f:[f],R=B.length>0,U={padding:_,boundary:B.filter(Hh),altBoundary:R},{refs:D,floatingStyles:z,placement:O,isPositioned:G,middlewareData:L}=Nh({strategy:"fixed",placement:F,whileElementsMounted:(...me)=>gh(...me,{animationFrame:v==="always"}),elements:{reference:b.anchor},middleware:[Ah({mainAxis:o+M,alignmentAxis:a}),l&&Ph({mainAxis:!0,crossAxis:!1,limiter:p==="partial"?Ih():void 0,...U}),l&&_h({...U}),kh({...U,apply:({elements:me,rects:pe,availableWidth:Z,availableHeight:X})=>{const{width:ge,height:Oe}=pe.reference,Ce=me.floating.style;Ce.setProperty("--radix-popper-available-width",`${Z}px`),Ce.setProperty("--radix-popper-available-height",`${X}px`),Ce.setProperty("--radix-popper-anchor-width",`${ge}px`),Ce.setProperty("--radix-popper-anchor-height",`${Oe}px`)}}),C&&Mh({element:C,padding:c}),zh({arrowWidth:E,arrowHeight:M}),h&&Oh({strategy:"referenceHidden",...U})]}),[A,ee]=bi(O),q=we(m);ve(()=>{G&&(q==null||q())},[G,q]);const ce=(W=L.arrow)==null?void 0:W.x,$=(V=L.arrow)==null?void 0:V.y,j=((se=L.arrow)==null?void 0:se.centerOffset)!==0,[le,he]=d.useState();return ve(()=>{w&&he(window.getComputedStyle(w).zIndex)},[w]),i.jsx("div",{ref:D.setFloating,"data-radix-popper-content-wrapper":"",style:{...z,transform:G?z.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:le,"--radix-popper-transform-origin":[(K=L.transformOrigin)==null?void 0:K.x,(J=L.transformOrigin)==null?void 0:J.y].join(" "),...((ne=L.hide)==null?void 0:ne.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:i.jsx($h,{scope:r,placedSide:A,onArrowChange:N,arrowX:ce,arrowY:$,shouldHideArrow:j,children:i.jsx(te.div,{"data-side":A,"data-align":ee,...g,ref:y,style:{...g.style,animation:G?void 0:"none"}})})})});hi.displayName=Co;var gi="PopperArrow",Uh={top:"bottom",right:"left",bottom:"top",left:"right"},mi=d.forwardRef(function(t,r){const{__scopePopper:n,...o}=t,s=Bh(gi,n),a=Uh[s.placedSide];return i.jsx("span",{ref:s.onArrowChange,style:{position:"absolute",left:s.arrowX,top:s.arrowY,[a]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[s.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[s.placedSide],visibility:s.shouldHideArrow?"hidden":void 0},children:i.jsx(Lh,{...o,ref:r,style:{...o.style,display:"block"}})})});mi.displayName=gi;function Hh(e){return e!==null}var zh=e=>({name:"transformOrigin",options:e,fn(t){var b,w,x;const{placement:r,rects:n,middlewareData:o}=t,a=((b=o.arrow)==null?void 0:b.centerOffset)!==0,c=a?0:e.arrowWidth,l=a?0:e.arrowHeight,[f,u]=bi(r),p={start:"0%",center:"50%",end:"100%"}[u],h=(((w=o.arrow)==null?void 0:w.x)??0)+c/2,v=(((x=o.arrow)==null?void 0:x.y)??0)+l/2;let m="",g="";return f==="bottom"?(m=a?p:`${h}px`,g=`${-l}px`):f==="top"?(m=a?p:`${h}px`,g=`${n.floating.height+l}px`):f==="right"?(m=`${-l}px`,g=a?p:`${v}px`):f==="left"&&(m=`${n.floating.width+l}px`,g=a?p:`${v}px`),{data:{x:m,y:g}}}});function bi(e){const[t,r="center"]=e.split("-");return[t,r]}var Eo=ui,No=pi,To=hi,Ao=mi,Wh="Portal",Rr=d.forwardRef((e,t)=>{var c;const{container:r,...n}=e,[o,s]=d.useState(!1);ve(()=>s(!0),[]);const a=r||o&&((c=globalThis==null?void 0:globalThis.document)==null?void 0:c.body);return a?ws.createPortal(i.jsx(te.div,{...n,ref:t}),a):null});Rr.displayName=Wh;var Po="rovingFocusGroup.onEntryFocus",Vh={bubbles:!1,cancelable:!0},tr="RovingFocusGroup",[Io,vi,jh]=oo(tr),[Kh,wi]=Be(tr,[jh]),[Rh,Gh]=Kh(tr),yi=d.forwardRef((e,t)=>i.jsx(Io.Provider,{scope:e.__scopeRovingFocusGroup,children:i.jsx(Io.Slot,{scope:e.__scopeRovingFocusGroup,children:i.jsx(qh,{...e,ref:t})})}));yi.displayName=tr;var qh=d.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:r,orientation:n,loop:o=!1,dir:s,currentTabStopId:a,defaultCurrentTabStopId:c,onCurrentTabStopIdChange:l,onEntryFocus:f,preventScrollOnEntryFocus:u=!1,...p}=e,h=d.useRef(null),v=ie(t,h),m=Dr(s),[g,b]=ot({prop:a,defaultProp:c??null,onChange:l,caller:tr}),[w,x]=d.useState(!1),y=we(f),C=vi(r),N=d.useRef(!1),[k,E]=d.useState(0);return d.useEffect(()=>{const M=h.current;if(M)return M.addEventListener(Po,y),()=>M.removeEventListener(Po,y)},[y]),i.jsx(Rh,{scope:r,orientation:n,dir:m,loop:o,currentTabStopId:g,onItemFocus:d.useCallback(M=>b(M),[b]),onItemShiftTab:d.useCallback(()=>x(!0),[]),onFocusableItemAdd:d.useCallback(()=>E(M=>M+1),[]),onFocusableItemRemove:d.useCallback(()=>E(M=>M-1),[]),children:i.jsx(te.div,{tabIndex:w||k===0?-1:0,"data-orientation":n,...p,ref:v,style:{outline:"none",...e.style},onMouseDown:H(e.onMouseDown,()=>{N.current=!0}),onFocus:H(e.onFocus,M=>{const F=!N.current;if(M.target===M.currentTarget&&F&&!w){const _=new CustomEvent(Po,Vh);if(M.currentTarget.dispatchEvent(_),!_.defaultPrevented){const B=C().filter(O=>O.focusable),R=B.find(O=>O.active),U=B.find(O=>O.id===g),z=[R,U,...B].filter(Boolean).map(O=>O.ref.current);Ci(z,u)}}N.current=!1}),onBlur:H(e.onBlur,()=>x(!1))})})}),xi="RovingFocusGroupItem",Si=d.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:r,focusable:n=!0,active:o=!1,tabStopId:s,children:a,...c}=e,l=Ue(),f=s||l,u=Gh(xi,r),p=u.currentTabStopId===f,h=vi(r),{onFocusableItemAdd:v,onFocusableItemRemove:m,currentTabStopId:g}=u;return d.useEffect(()=>{if(n)return v(),()=>m()},[n,v,m]),i.jsx(Io.ItemSlot,{scope:r,id:f,focusable:n,active:o,children:i.jsx(te.span,{tabIndex:p?0:-1,"data-orientation":u.orientation,...c,ref:t,onMouseDown:H(e.onMouseDown,b=>{n?u.onItemFocus(f):b.preventDefault()}),onFocus:H(e.onFocus,()=>u.onItemFocus(f)),onKeyDown:H(e.onKeyDown,b=>{if(b.key==="Tab"&&b.shiftKey){u.onItemShiftTab();return}if(b.target!==b.currentTarget)return;const w=Jh(b,u.orientation,u.dir);if(w!==void 0){if(b.metaKey||b.ctrlKey||b.altKey||b.shiftKey)return;b.preventDefault();let y=h().filter(C=>C.focusable).map(C=>C.ref.current);if(w==="last")y.reverse();else if(w==="prev"||w==="next"){w==="prev"&&y.reverse();const C=y.indexOf(b.currentTarget);y=u.loop?Zh(y,C+1):y.slice(C+1)}setTimeout(()=>Ci(y))}}),children:typeof a=="function"?a({isCurrentTabStop:p,hasTabStop:g!=null}):a})})});Si.displayName=xi;var Xh={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function Yh(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function Jh(e,t,r){const n=Yh(e.key,r);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(n))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(n)))return Xh[n]}function Ci(e,t=!1){const r=document.activeElement;for(const n of e)if(n===r||(n.focus({preventScroll:t}),document.activeElement!==r))return}function Zh(e,t){return e.map((r,n)=>e[(t+n)%e.length])}var Qh=yi,eg=Si,tg=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},Mt=new WeakMap,Gr=new WeakMap,qr={},_o=0,Ei=function(e){return e&&(e.host||Ei(e.parentNode))},rg=function(e,t){return t.map(function(r){if(e.contains(r))return r;var n=Ei(r);return n&&e.contains(n)?n:(console.error("aria-hidden",r,"in not contained inside",e,". Doing nothing"),null)}).filter(function(r){return!!r})},ng=function(e,t,r,n){var o=rg(t,Array.isArray(e)?e:[e]);qr[r]||(qr[r]=new WeakMap);var s=qr[r],a=[],c=new Set,l=new Set(o),f=function(p){!p||c.has(p)||(c.add(p),f(p.parentNode))};o.forEach(f);var u=function(p){!p||l.has(p)||Array.prototype.forEach.call(p.children,function(h){if(c.has(h))u(h);else try{var v=h.getAttribute(n),m=v!==null&&v!=="false",g=(Mt.get(h)||0)+1,b=(s.get(h)||0)+1;Mt.set(h,g),s.set(h,b),a.push(h),g===1&&m&&Gr.set(h,!0),b===1&&h.setAttribute(r,"true"),m||h.setAttribute(n,"true")}catch(w){console.error("aria-hidden: cannot operate on ",h,w)}})};return u(t),c.clear(),_o++,function(){a.forEach(function(p){var h=Mt.get(p)-1,v=s.get(p)-1;Mt.set(p,h),s.set(p,v),h||(Gr.has(p)||p.removeAttribute(n),Gr.delete(p)),v||p.removeAttribute(r)}),_o--,_o||(Mt=new WeakMap,Mt=new WeakMap,Gr=new WeakMap,qr={})}},ko=function(e,t,r){r===void 0&&(r="data-aria-hidden");var n=Array.from(Array.isArray(e)?e:[e]),o=tg(e);return o?(n.push.apply(n,Array.from(o.querySelectorAll("[aria-live], script"))),ng(n,o,r,"aria-hidden")):function(){return null}},Je=function(){return Je=Object.assign||function(t){for(var r,n=1,o=arguments.length;n<o;n++){r=arguments[n];for(var s in r)Object.prototype.hasOwnProperty.call(r,s)&&(t[s]=r[s])}return t},Je.apply(this,arguments)};function Ni(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var o=0,n=Object.getOwnPropertySymbols(e);o<n.length;o++)t.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]]);return r}function og(e,t,r){if(r||arguments.length===2)for(var n=0,o=t.length,s;n<o;n++)(s||!(n in t))&&(s||(s=Array.prototype.slice.call(t,0,n)),s[n]=t[n]);return e.concat(s||Array.prototype.slice.call(t))}typeof SuppressedError=="function"&&SuppressedError;var Xr="right-scroll-bar-position",Yr="width-before-scroll-bar",sg="with-scroll-bars-hidden",ag="--removed-body-scroll-bar-size";function Oo(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function ig(e,t){var r=T.useState(function(){return{value:e,callback:t,facade:{get current(){return r.value},set current(n){var o=r.value;o!==n&&(r.value=n,r.callback(n,o))}}}})[0];return r.callback=t,r.facade}var cg=typeof window<"u"?d.useLayoutEffect:d.useEffect,Ti=new WeakMap;function lg(e,t){var r=ig(null,function(n){return e.forEach(function(o){return Oo(o,n)})});return cg(function(){var n=Ti.get(r);if(n){var o=new Set(n),s=new Set(e),a=r.current;o.forEach(function(c){s.has(c)||Oo(c,null)}),s.forEach(function(c){o.has(c)||Oo(c,a)})}Ti.set(r,e)},[e]),r}function dg(e){return e}function ug(e,t){t===void 0&&(t=dg);var r=[],n=!1,o={read:function(){if(n)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return r.length?r[r.length-1]:e},useMedium:function(s){var a=t(s,n);return r.push(a),function(){r=r.filter(function(c){return c!==a})}},assignSyncMedium:function(s){for(n=!0;r.length;){var a=r;r=[],a.forEach(s)}r={push:function(c){return s(c)},filter:function(){return r}}},assignMedium:function(s){n=!0;var a=[];if(r.length){var c=r;r=[],c.forEach(s),a=r}var l=function(){var u=a;a=[],u.forEach(s)},f=function(){return Promise.resolve().then(l)};f(),r={push:function(u){a.push(u),f()},filter:function(u){return a=a.filter(u),r}}}};return o}function fg(e){e===void 0&&(e={});var t=ug(null);return t.options=Je({async:!0,ssr:!1},e),t}var Ai=function(e){var t=e.sideCar,r=Ni(e,["sideCar"]);if(!t)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var n=t.read();if(!n)throw new Error("Sidecar medium not found");return d.createElement(n,Je({},r))};Ai.isSideCarExport=!0;function pg(e,t){return e.useMedium(t),Ai}var Pi=fg(),Mo=function(){},Jr=d.forwardRef(function(e,t){var r=d.useRef(null),n=d.useState({onScrollCapture:Mo,onWheelCapture:Mo,onTouchMoveCapture:Mo}),o=n[0],s=n[1],a=e.forwardProps,c=e.children,l=e.className,f=e.removeScrollBar,u=e.enabled,p=e.shards,h=e.sideCar,v=e.noRelative,m=e.noIsolation,g=e.inert,b=e.allowPinchZoom,w=e.as,x=w===void 0?"div":w,y=e.gapMode,C=Ni(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),N=h,k=lg([r,t]),E=Je(Je({},C),o);return d.createElement(d.Fragment,null,u&&d.createElement(N,{sideCar:Pi,removeScrollBar:f,shards:p,noRelative:v,noIsolation:m,inert:g,setCallbacks:s,allowPinchZoom:!!b,lockRef:r,gapMode:y}),a?d.cloneElement(d.Children.only(c),Je(Je({},E),{ref:k})):d.createElement(x,Je({},E,{className:l,ref:k}),c))});Jr.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},Jr.classNames={fullWidth:Yr,zeroRight:Xr};var hg=function(){if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function gg(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=hg();return t&&e.setAttribute("nonce",t),e}function mg(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function bg(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var vg=function(){var e=0,t=null;return{add:function(r){e==0&&(t=gg())&&(mg(t,r),bg(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},wg=function(){var e=vg();return function(t,r){d.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&r])}},Ii=function(){var e=wg(),t=function(r){var n=r.styles,o=r.dynamic;return e(n,o),null};return t},yg={left:0,top:0,right:0,gap:0},Do=function(e){return parseInt(e||"",10)||0},xg=function(e){var t=window.getComputedStyle(document.body),r=t[e==="padding"?"paddingLeft":"marginLeft"],n=t[e==="padding"?"paddingTop":"marginTop"],o=t[e==="padding"?"paddingRight":"marginRight"];return[Do(r),Do(n),Do(o)]},Sg=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return yg;var t=xg(e),r=document.documentElement.clientWidth,n=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,n-r+t[2]-t[0])}},Cg=Ii(),Dt="data-scroll-locked",Eg=function(e,t,r,n){var o=e.left,s=e.top,a=e.right,c=e.gap;return r===void 0&&(r="margin"),`
|
|
19
19
|
.`.concat(sg,` {
|
|
20
20
|
overflow: hidden `).concat(n,`;
|
|
21
21
|
padding-right: `).concat(c,"px ").concat(n,`;
|
|
@@ -55,8 +55,8 @@
|
|
|
55
55
|
`)},_i=function(){var e=parseInt(document.body.getAttribute(Dt)||"0",10);return isFinite(e)?e:0},Ng=function(){d.useEffect(function(){return document.body.setAttribute(Dt,(_i()+1).toString()),function(){var e=_i()-1;e<=0?document.body.removeAttribute(Dt):document.body.setAttribute(Dt,e.toString())}},[])},Tg=function(e){var t=e.noRelative,r=e.noImportant,n=e.gapMode,o=n===void 0?"margin":n;Ng();var s=d.useMemo(function(){return Sg(o)},[o]);return d.createElement(Cg,{styles:Eg(s,!t,o,r?"":"!important")})},Lo=!1;if(typeof window<"u")try{var Zr=Object.defineProperty({},"passive",{get:function(){return Lo=!0,!0}});window.addEventListener("test",Zr,Zr),window.removeEventListener("test",Zr,Zr)}catch{Lo=!1}var Lt=Lo?{passive:!1}:!1,Ag=function(e){return e.tagName==="TEXTAREA"},ki=function(e,t){if(!(e instanceof Element))return!1;var r=window.getComputedStyle(e);return r[t]!=="hidden"&&!(r.overflowY===r.overflowX&&!Ag(e)&&r[t]==="visible")},Pg=function(e){return ki(e,"overflowY")},Ig=function(e){return ki(e,"overflowX")},Oi=function(e,t){var r=t.ownerDocument,n=t;do{typeof ShadowRoot<"u"&&n instanceof ShadowRoot&&(n=n.host);var o=Mi(e,n);if(o){var s=Di(e,n),a=s[1],c=s[2];if(a>c)return!0}n=n.parentNode}while(n&&n!==r.body);return!1},_g=function(e){var t=e.scrollTop,r=e.scrollHeight,n=e.clientHeight;return[t,r,n]},kg=function(e){var t=e.scrollLeft,r=e.scrollWidth,n=e.clientWidth;return[t,r,n]},Mi=function(e,t){return e==="v"?Pg(t):Ig(t)},Di=function(e,t){return e==="v"?_g(t):kg(t)},Og=function(e,t){return e==="h"&&t==="rtl"?-1:1},Mg=function(e,t,r,n,o){var s=Og(e,window.getComputedStyle(t).direction),a=s*n,c=r.target,l=t.contains(c),f=!1,u=a>0,p=0,h=0;do{if(!c)break;var v=Di(e,c),m=v[0],g=v[1],b=v[2],w=g-b-s*m;(m||w)&&Mi(e,c)&&(p+=w,h+=m);var x=c.parentNode;c=x&&x.nodeType===Node.DOCUMENT_FRAGMENT_NODE?x.host:x}while(!l&&c!==document.body||l&&(t.contains(c)||t===c));return(u&&Math.abs(p)<1||!u&&Math.abs(h)<1)&&(f=!0),f},Qr=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},Li=function(e){return[e.deltaX,e.deltaY]},Fi=function(e){return e&&"current"in e?e.current:e},Dg=function(e,t){return e[0]===t[0]&&e[1]===t[1]},Lg=function(e){return`
|
|
56
56
|
.block-interactivity-`.concat(e,` {pointer-events: none;}
|
|
57
57
|
.allow-interactivity-`).concat(e,` {pointer-events: all;}
|
|
58
|
-
`)},Fg=0,Ft=[];function $g(e){var t=d.useRef([]),r=d.useRef([0,0]),n=d.useRef(),o=d.useState(Fg++)[0],s=d.useState(Ii)[0],a=d.useRef(e);d.useEffect(function(){a.current=e},[e]),d.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var g=og([e.lockRef.current],(e.shards||[]).map(Fi),!0).filter(Boolean);return g.forEach(function(b){return b.classList.add("allow-interactivity-".concat(o))}),function(){document.body.classList.remove("block-interactivity-".concat(o)),g.forEach(function(b){return b.classList.remove("allow-interactivity-".concat(o))})}}},[e.inert,e.lockRef.current,e.shards]);var c=d.useCallback(function(g,b){if("touches"in g&&g.touches.length===2||g.type==="wheel"&&g.ctrlKey)return!a.current.allowPinchZoom;var w=Qr(g),x=r.current,y="deltaX"in g?g.deltaX:x[0]-w[0],C="deltaY"in g?g.deltaY:x[1]-w[1],N,k=g.target,E=Math.abs(y)>Math.abs(C)?"h":"v";if("touches"in g&&E==="h"&&k.type==="range")return!1;var M=Oi(E,k);if(!M)return!0;if(M?N=E:(N=E==="v"?"h":"v",M=Oi(E,k)),!M)return!1;if(!n.current&&"changedTouches"in g&&(y||C)&&(n.current=N),!N)return!0;var F=n.current||N;return Mg(F,b,g,F==="h"?y:C)},[]),l=d.useCallback(function(g){var b=g;if(!(!Ft.length||Ft[Ft.length-1]!==s)){var w="deltaY"in b?Li(b):Qr(b),x=t.current.filter(function(N){return N.name===b.type&&(N.target===b.target||b.target===N.shadowParent)&&Dg(N.delta,w)})[0];if(x&&x.should){b.cancelable&&b.preventDefault();return}if(!x){var y=(a.current.shards||[]).map(Fi).filter(Boolean).filter(function(N){return N.contains(b.target)}),C=y.length>0?c(b,y[0]):!a.current.noIsolation;C&&b.cancelable&&b.preventDefault()}}},[]),f=d.useCallback(function(g,b,w,x){var y={name:g,delta:b,target:w,should:x,shadowParent:Bg(w)};t.current.push(y),setTimeout(function(){t.current=t.current.filter(function(C){return C!==y})},1)},[]),u=d.useCallback(function(g){r.current=Qr(g),n.current=void 0},[]),p=d.useCallback(function(g){f(g.type,Li(g),g.target,c(g,e.lockRef.current))},[]),h=d.useCallback(function(g){f(g.type,Qr(g),g.target,c(g,e.lockRef.current))},[]);d.useEffect(function(){return Ft.push(s),e.setCallbacks({onScrollCapture:p,onWheelCapture:p,onTouchMoveCapture:h}),document.addEventListener("wheel",l,Lt),document.addEventListener("touchmove",l,Lt),document.addEventListener("touchstart",u,Lt),function(){Ft=Ft.filter(function(g){return g!==s}),document.removeEventListener("wheel",l,Lt),document.removeEventListener("touchmove",l,Lt),document.removeEventListener("touchstart",u,Lt)}},[]);var v=e.removeScrollBar,m=e.inert;return d.createElement(d.Fragment,null,m?d.createElement(s,{styles:Lg(o)}):null,v?d.createElement(Tg,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function Bg(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const Ug=pg(Pi,$g);var en=d.forwardRef(function(e,t){return d.createElement(Jr,Je({},e,{ref:t,sideCar:Ug}))});en.classNames=Jr.classNames;var Fo=["Enter"," "],Hg=["ArrowDown","PageUp","Home"],$i=["ArrowUp","PageDown","End"],zg=[...Hg,...$i],Wg={ltr:[...Fo,"ArrowRight"],rtl:[...Fo,"ArrowLeft"]},Vg={ltr:["ArrowLeft"],rtl:["ArrowRight"]},rr="Menu",[nr,jg,Kg]=oo(rr),[bt,Bi]=Be(rr,[Kg,Ot,wi]),tn=Ot(),Ui=wi(),[Rg,vt]=bt(rr),[Gg,or]=bt(rr),Hi=e=>{const{__scopeMenu:t,open:r=!1,children:n,dir:o,onOpenChange:s,modal:a=!0}=e,c=tn(t),[l,f]=d.useState(null),u=d.useRef(!1),p=we(s),h=Dr(o);return d.useEffect(()=>{const v=()=>{u.current=!0,document.addEventListener("pointerdown",m,{capture:!0,once:!0}),document.addEventListener("pointermove",m,{capture:!0,once:!0})},m=()=>u.current=!1;return document.addEventListener("keydown",v,{capture:!0}),()=>{document.removeEventListener("keydown",v,{capture:!0}),document.removeEventListener("pointerdown",m,{capture:!0}),document.removeEventListener("pointermove",m,{capture:!0})}},[]),i.jsx(Eo,{...c,children:i.jsx(Rg,{scope:t,open:r,onOpenChange:p,content:l,onContentChange:f,children:i.jsx(Gg,{scope:t,onClose:d.useCallback(()=>p(!1),[p]),isUsingKeyboardRef:u,dir:h,modal:a,children:n})})})};Hi.displayName=rr;var qg="MenuAnchor",$o=d.forwardRef((e,t)=>{const{__scopeMenu:r,...n}=e,o=tn(r);return i.jsx(No,{...o,...n,ref:t})});$o.displayName=qg;var Bo="MenuPortal",[Xg,zi]=bt(Bo,{forceMount:void 0}),Wi=e=>{const{__scopeMenu:t,forceMount:r,children:n,container:o}=e,s=vt(Bo,t);return i.jsx(Xg,{scope:t,forceMount:r,children:i.jsx(Ae,{present:r||s.open,children:i.jsx(Rr,{asChild:!0,container:o,children:n})})})};Wi.displayName=Bo;var Me="MenuContent",[Yg,Uo]=bt(Me),Vi=d.forwardRef((e,t)=>{const r=zi(Me,e.__scopeMenu),{forceMount:n=r.forceMount,...o}=e,s=vt(Me,e.__scopeMenu),a=or(Me,e.__scopeMenu);return i.jsx(nr.Provider,{scope:e.__scopeMenu,children:i.jsx(Ae,{present:n||s.open,children:i.jsx(nr.Slot,{scope:e.__scopeMenu,children:a.modal?i.jsx(Jg,{...o,ref:t}):i.jsx(Zg,{...o,ref:t})})})})}),Jg=d.forwardRef((e,t)=>{const r=vt(Me,e.__scopeMenu),n=d.useRef(null),o=ie(t,n);return d.useEffect(()=>{const s=n.current;if(s)return ko(s)},[]),i.jsx(Ho,{...e,ref:o,trapFocus:r.open,disableOutsidePointerEvents:r.open,disableOutsideScroll:!0,onFocusOutside:H(e.onFocusOutside,s=>s.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>r.onOpenChange(!1)})}),Zg=d.forwardRef((e,t)=>{const r=vt(Me,e.__scopeMenu);return i.jsx(Ho,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>r.onOpenChange(!1)})}),Qg=Ie.createSlot("MenuContent.ScrollLock"),Ho=d.forwardRef((e,t)=>{const{__scopeMenu:r,loop:n=!1,trapFocus:o,onOpenAutoFocus:s,onCloseAutoFocus:a,disableOutsidePointerEvents:c,onEntryFocus:l,onEscapeKeyDown:f,onPointerDownOutside:u,onFocusOutside:p,onInteractOutside:h,onDismiss:v,disableOutsideScroll:m,...g}=e,b=vt(Me,r),w=or(Me,r),x=tn(r),y=Ui(r),C=jg(r),[N,k]=d.useState(null),E=d.useRef(null),M=ie(t,E,b.onContentChange),F=d.useRef(0),_=d.useRef(""),B=d.useRef(0),R=d.useRef(null),U=d.useRef("right"),D=d.useRef(0),z=m?en:d.Fragment,O=m?{as:Qg,allowPinchZoom:!0}:void 0,G=A=>{var W,V;const ee=_.current+A,q=C().filter(se=>!se.disabled),ce=document.activeElement,$=(W=q.find(se=>se.ref.current===ce))==null?void 0:W.textValue,j=q.map(se=>se.textValue),le=um(j,ee,$),he=(V=q.find(se=>se.textValue===le))==null?void 0:V.ref.current;(function se(K){_.current=K,window.clearTimeout(F.current),K!==""&&(F.current=window.setTimeout(()=>se(""),1e3))})(ee),he&&setTimeout(()=>he.focus())};d.useEffect(()=>()=>window.clearTimeout(F.current),[]),io();const L=d.useCallback(A=>{var q,ce;return U.current===((q=R.current)==null?void 0:q.side)&&pm(A,(ce=R.current)==null?void 0:ce.area)},[]);return i.jsx(Yg,{scope:r,searchRef:_,onItemEnter:d.useCallback(A=>{L(A)&&A.preventDefault()},[L]),onItemLeave:d.useCallback(A=>{var ee;L(A)||((ee=E.current)==null||ee.focus(),k(null))},[L]),onTriggerLeave:d.useCallback(A=>{L(A)&&A.preventDefault()},[L]),pointerGraceTimerRef:B,onPointerGraceIntentChange:d.useCallback(A=>{R.current=A},[]),children:i.jsx(z,{...O,children:i.jsx(Lr,{asChild:!0,trapped:o,onMountAutoFocus:H(s,A=>{var ee;A.preventDefault(),(ee=E.current)==null||ee.focus({preventScroll:!0})}),onUnmountAutoFocus:a,children:i.jsx(Jt,{asChild:!0,disableOutsidePointerEvents:c,onEscapeKeyDown:f,onPointerDownOutside:u,onFocusOutside:p,onInteractOutside:h,onDismiss:v,children:i.jsx(Qh,{asChild:!0,...y,dir:w.dir,orientation:"vertical",loop:n,currentTabStopId:N,onCurrentTabStopIdChange:k,onEntryFocus:H(l,A=>{w.isUsingKeyboardRef.current||A.preventDefault()}),preventScrollOnEntryFocus:!0,children:i.jsx(To,{role:"menu","aria-orientation":"vertical","data-state":ac(b.open),"data-radix-menu-content":"",dir:w.dir,...x,...g,ref:M,style:{outline:"none",...g.style},onKeyDown:H(g.onKeyDown,A=>{const q=A.target.closest("[data-radix-menu-content]")===A.currentTarget,ce=A.ctrlKey||A.altKey||A.metaKey,$=A.key.length===1;q&&(A.key==="Tab"&&A.preventDefault(),!ce&&$&&G(A.key));const j=E.current;if(A.target!==j||!zg.includes(A.key))return;A.preventDefault();const he=C().filter(W=>!W.disabled).map(W=>W.ref.current);$i.includes(A.key)&&he.reverse(),lm(he)}),onBlur:H(e.onBlur,A=>{A.currentTarget.contains(A.target)||(window.clearTimeout(F.current),_.current="")}),onPointerMove:H(e.onPointerMove,ar(A=>{const ee=A.target,q=D.current!==A.clientX;if(A.currentTarget.contains(ee)&&q){const ce=A.clientX>D.current?"right":"left";U.current=ce,D.current=A.clientX}}))})})})})})})});Vi.displayName=Me;var em="MenuGroup",zo=d.forwardRef((e,t)=>{const{__scopeMenu:r,...n}=e;return i.jsx(te.div,{role:"group",...n,ref:t})});zo.displayName=em;var tm="MenuLabel",ji=d.forwardRef((e,t)=>{const{__scopeMenu:r,...n}=e;return i.jsx(te.div,{...n,ref:t})});ji.displayName=tm;var rn="MenuItem",Ki="menu.itemSelect",nn=d.forwardRef((e,t)=>{const{disabled:r=!1,onSelect:n,...o}=e,s=d.useRef(null),a=or(rn,e.__scopeMenu),c=Uo(rn,e.__scopeMenu),l=ie(t,s),f=d.useRef(!1),u=()=>{const p=s.current;if(!r&&p){const h=new CustomEvent(Ki,{bubbles:!0,cancelable:!0});p.addEventListener(Ki,v=>n==null?void 0:n(v),{once:!0}),wa(p,h),h.defaultPrevented?f.current=!1:a.onClose()}};return i.jsx(Ri,{...o,ref:l,disabled:r,onClick:H(e.onClick,u),onPointerDown:p=>{var h;(h=e.onPointerDown)==null||h.call(e,p),f.current=!0},onPointerUp:H(e.onPointerUp,p=>{var h;f.current||(h=p.currentTarget)==null||h.click()}),onKeyDown:H(e.onKeyDown,p=>{const h=c.searchRef.current!=="";r||h&&p.key===" "||Fo.includes(p.key)&&(p.currentTarget.click(),p.preventDefault())})})});nn.displayName=rn;var Ri=d.forwardRef((e,t)=>{const{__scopeMenu:r,disabled:n=!1,textValue:o,...s}=e,a=Uo(rn,r),c=Ui(r),l=d.useRef(null),f=ie(t,l),[u,p]=d.useState(!1),[h,v]=d.useState("");return d.useEffect(()=>{const m=l.current;m&&v((m.textContent??"").trim())},[s.children]),i.jsx(nr.ItemSlot,{scope:r,disabled:n,textValue:o??h,children:i.jsx(eg,{asChild:!0,...c,focusable:!n,children:i.jsx(te.div,{role:"menuitem","data-highlighted":u?"":void 0,"aria-disabled":n||void 0,"data-disabled":n?"":void 0,...s,ref:f,onPointerMove:H(e.onPointerMove,ar(m=>{n?a.onItemLeave(m):(a.onItemEnter(m),m.defaultPrevented||m.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:H(e.onPointerLeave,ar(m=>a.onItemLeave(m))),onFocus:H(e.onFocus,()=>p(!0)),onBlur:H(e.onBlur,()=>p(!1))})})})}),rm="MenuCheckboxItem",Gi=d.forwardRef((e,t)=>{const{checked:r=!1,onCheckedChange:n,...o}=e;return i.jsx(Zi,{scope:e.__scopeMenu,checked:r,children:i.jsx(nn,{role:"menuitemcheckbox","aria-checked":on(r)?"mixed":r,...o,ref:t,"data-state":Vo(r),onSelect:H(o.onSelect,()=>n==null?void 0:n(on(r)?!0:!r),{checkForDefaultPrevented:!1})})})});Gi.displayName=rm;var qi="MenuRadioGroup",[nm,om]=bt(qi,{value:void 0,onValueChange:()=>{}}),Xi=d.forwardRef((e,t)=>{const{value:r,onValueChange:n,...o}=e,s=we(n);return i.jsx(nm,{scope:e.__scopeMenu,value:r,onValueChange:s,children:i.jsx(zo,{...o,ref:t})})});Xi.displayName=qi;var Yi="MenuRadioItem",Ji=d.forwardRef((e,t)=>{const{value:r,...n}=e,o=om(Yi,e.__scopeMenu),s=r===o.value;return i.jsx(Zi,{scope:e.__scopeMenu,checked:s,children:i.jsx(nn,{role:"menuitemradio","aria-checked":s,...n,ref:t,"data-state":Vo(s),onSelect:H(n.onSelect,()=>{var a;return(a=o.onValueChange)==null?void 0:a.call(o,r)},{checkForDefaultPrevented:!1})})})});Ji.displayName=Yi;var Wo="MenuItemIndicator",[Zi,sm]=bt(Wo,{checked:!1}),Qi=d.forwardRef((e,t)=>{const{__scopeMenu:r,forceMount:n,...o}=e,s=sm(Wo,r);return i.jsx(Ae,{present:n||on(s.checked)||s.checked===!0,children:i.jsx(te.span,{...o,ref:t,"data-state":Vo(s.checked)})})});Qi.displayName=Wo;var am="MenuSeparator",ec=d.forwardRef((e,t)=>{const{__scopeMenu:r,...n}=e;return i.jsx(te.div,{role:"separator","aria-orientation":"horizontal",...n,ref:t})});ec.displayName=am;var im="MenuArrow",tc=d.forwardRef((e,t)=>{const{__scopeMenu:r,...n}=e,o=tn(r);return i.jsx(Ao,{...o,...n,ref:t})});tc.displayName=im;var cm="MenuSub",[Yw,rc]=bt(cm),sr="MenuSubTrigger",nc=d.forwardRef((e,t)=>{const r=vt(sr,e.__scopeMenu),n=or(sr,e.__scopeMenu),o=rc(sr,e.__scopeMenu),s=Uo(sr,e.__scopeMenu),a=d.useRef(null),{pointerGraceTimerRef:c,onPointerGraceIntentChange:l}=s,f={__scopeMenu:e.__scopeMenu},u=d.useCallback(()=>{a.current&&window.clearTimeout(a.current),a.current=null},[]);return d.useEffect(()=>u,[u]),d.useEffect(()=>{const p=c.current;return()=>{window.clearTimeout(p),l(null)}},[c,l]),i.jsx($o,{asChild:!0,...f,children:i.jsx(Ri,{id:o.triggerId,"aria-haspopup":"menu","aria-expanded":r.open,"aria-controls":o.contentId,"data-state":ac(r.open),...e,ref:Qn(t,o.onTriggerChange),onClick:p=>{var h;(h=e.onClick)==null||h.call(e,p),!(e.disabled||p.defaultPrevented)&&(p.currentTarget.focus(),r.open||r.onOpenChange(!0))},onPointerMove:H(e.onPointerMove,ar(p=>{s.onItemEnter(p),!p.defaultPrevented&&!e.disabled&&!r.open&&!a.current&&(s.onPointerGraceIntentChange(null),a.current=window.setTimeout(()=>{r.onOpenChange(!0),u()},100))})),onPointerLeave:H(e.onPointerLeave,ar(p=>{var v,m;u();const h=(v=r.content)==null?void 0:v.getBoundingClientRect();if(h){const g=(m=r.content)==null?void 0:m.dataset.side,b=g==="right",w=b?-5:5,x=h[b?"left":"right"],y=h[b?"right":"left"];s.onPointerGraceIntentChange({area:[{x:p.clientX+w,y:p.clientY},{x,y:h.top},{x:y,y:h.top},{x:y,y:h.bottom},{x,y:h.bottom}],side:g}),window.clearTimeout(c.current),c.current=window.setTimeout(()=>s.onPointerGraceIntentChange(null),300)}else{if(s.onTriggerLeave(p),p.defaultPrevented)return;s.onPointerGraceIntentChange(null)}})),onKeyDown:H(e.onKeyDown,p=>{var v;const h=s.searchRef.current!=="";e.disabled||h&&p.key===" "||Wg[n.dir].includes(p.key)&&(r.onOpenChange(!0),(v=r.content)==null||v.focus(),p.preventDefault())})})})});nc.displayName=sr;var oc="MenuSubContent",sc=d.forwardRef((e,t)=>{const r=zi(Me,e.__scopeMenu),{forceMount:n=r.forceMount,...o}=e,s=vt(Me,e.__scopeMenu),a=or(Me,e.__scopeMenu),c=rc(oc,e.__scopeMenu),l=d.useRef(null),f=ie(t,l);return i.jsx(nr.Provider,{scope:e.__scopeMenu,children:i.jsx(Ae,{present:n||s.open,children:i.jsx(nr.Slot,{scope:e.__scopeMenu,children:i.jsx(Ho,{id:c.contentId,"aria-labelledby":c.triggerId,...o,ref:f,align:"start",side:a.dir==="rtl"?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:u=>{var p;a.isUsingKeyboardRef.current&&((p=l.current)==null||p.focus()),u.preventDefault()},onCloseAutoFocus:u=>u.preventDefault(),onFocusOutside:H(e.onFocusOutside,u=>{u.target!==c.trigger&&s.onOpenChange(!1)}),onEscapeKeyDown:H(e.onEscapeKeyDown,u=>{a.onClose(),u.preventDefault()}),onKeyDown:H(e.onKeyDown,u=>{var v;const p=u.currentTarget.contains(u.target),h=Vg[a.dir].includes(u.key);p&&h&&(s.onOpenChange(!1),(v=c.trigger)==null||v.focus(),u.preventDefault())})})})})})});sc.displayName=oc;function ac(e){return e?"open":"closed"}function on(e){return e==="indeterminate"}function Vo(e){return on(e)?"indeterminate":e?"checked":"unchecked"}function lm(e){const t=document.activeElement;for(const r of e)if(r===t||(r.focus(),document.activeElement!==t))return}function dm(e,t){return e.map((r,n)=>e[(t+n)%e.length])}function um(e,t,r){const o=t.length>1&&Array.from(t).every(f=>f===t[0])?t[0]:t,s=r?e.indexOf(r):-1;let a=dm(e,Math.max(s,0));o.length===1&&(a=a.filter(f=>f!==r));const l=a.find(f=>f.toLowerCase().startsWith(o.toLowerCase()));return l!==r?l:void 0}function fm(e,t){const{x:r,y:n}=e;let o=!1;for(let s=0,a=t.length-1;s<t.length;a=s++){const c=t[s],l=t[a],f=c.x,u=c.y,p=l.x,h=l.y;u>n!=h>n&&r<(p-f)*(n-u)/(h-u)+f&&(o=!o)}return o}function pm(e,t){if(!t)return!1;const r={x:e.clientX,y:e.clientY};return fm(r,t)}function ar(e){return t=>t.pointerType==="mouse"?e(t):void 0}var hm=Hi,gm=$o,mm=Wi,bm=Vi,vm=zo,wm=ji,ym=nn,xm=Gi,Sm=Xi,Cm=Ji,Em=Qi,Nm=ec,Tm=tc,Am=nc,Pm=sc,sn="DropdownMenu",[Im,Jw]=Be(sn,[Bi]),Se=Bi(),[_m,ic]=Im(sn),cc=e=>{const{__scopeDropdownMenu:t,children:r,dir:n,open:o,defaultOpen:s,onOpenChange:a,modal:c=!0}=e,l=Se(t),f=d.useRef(null),[u,p]=ot({prop:o,defaultProp:s??!1,onChange:a,caller:sn});return i.jsx(_m,{scope:t,triggerId:Ue(),triggerRef:f,contentId:Ue(),open:u,onOpenChange:p,onOpenToggle:d.useCallback(()=>p(h=>!h),[p]),modal:c,children:i.jsx(hm,{...l,open:u,onOpenChange:p,dir:n,modal:c,children:r})})};cc.displayName=sn;var lc="DropdownMenuTrigger",dc=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,disabled:n=!1,...o}=e,s=ic(lc,r),a=Se(r);return i.jsx(gm,{asChild:!0,...a,children:i.jsx(te.button,{type:"button",id:s.triggerId,"aria-haspopup":"menu","aria-expanded":s.open,"aria-controls":s.open?s.contentId:void 0,"data-state":s.open?"open":"closed","data-disabled":n?"":void 0,disabled:n,...o,ref:Qn(t,s.triggerRef),onPointerDown:H(e.onPointerDown,c=>{!n&&c.button===0&&c.ctrlKey===!1&&(s.onOpenToggle(),s.open||c.preventDefault())}),onKeyDown:H(e.onKeyDown,c=>{n||(["Enter"," "].includes(c.key)&&s.onOpenToggle(),c.key==="ArrowDown"&&s.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(c.key)&&c.preventDefault())})})})});dc.displayName=lc;var km="DropdownMenuPortal",uc=e=>{const{__scopeDropdownMenu:t,...r}=e,n=Se(t);return i.jsx(mm,{...n,...r})};uc.displayName=km;var fc="DropdownMenuContent",pc=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,o=ic(fc,r),s=Se(r),a=d.useRef(!1);return i.jsx(bm,{id:o.contentId,"aria-labelledby":o.triggerId,...s,...n,ref:t,onCloseAutoFocus:H(e.onCloseAutoFocus,c=>{var l;a.current||(l=o.triggerRef.current)==null||l.focus(),a.current=!1,c.preventDefault()}),onInteractOutside:H(e.onInteractOutside,c=>{const l=c.detail.originalEvent,f=l.button===0&&l.ctrlKey===!0,u=l.button===2||f;(!o.modal||u)&&(a.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});pc.displayName=fc;var Om="DropdownMenuGroup",Mm=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,o=Se(r);return i.jsx(vm,{...o,...n,ref:t})});Mm.displayName=Om;var Dm="DropdownMenuLabel",hc=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,o=Se(r);return i.jsx(wm,{...o,...n,ref:t})});hc.displayName=Dm;var Lm="DropdownMenuItem",gc=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,o=Se(r);return i.jsx(ym,{...o,...n,ref:t})});gc.displayName=Lm;var Fm="DropdownMenuCheckboxItem",mc=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,o=Se(r);return i.jsx(xm,{...o,...n,ref:t})});mc.displayName=Fm;var $m="DropdownMenuRadioGroup",Bm=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,o=Se(r);return i.jsx(Sm,{...o,...n,ref:t})});Bm.displayName=$m;var Um="DropdownMenuRadioItem",bc=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,o=Se(r);return i.jsx(Cm,{...o,...n,ref:t})});bc.displayName=Um;var Hm="DropdownMenuItemIndicator",vc=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,o=Se(r);return i.jsx(Em,{...o,...n,ref:t})});vc.displayName=Hm;var zm="DropdownMenuSeparator",wc=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,o=Se(r);return i.jsx(Nm,{...o,...n,ref:t})});wc.displayName=zm;var Wm="DropdownMenuArrow",Vm=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,o=Se(r);return i.jsx(Tm,{...o,...n,ref:t})});Vm.displayName=Wm;var jm="DropdownMenuSubTrigger",yc=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,o=Se(r);return i.jsx(Am,{...o,...n,ref:t})});yc.displayName=jm;var Km="DropdownMenuSubContent",xc=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,o=Se(r);return i.jsx(Pm,{...o,...n,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});xc.displayName=Km;var Rm=cc,Gm=dc,qm=uc,Sc=pc,Cc=hc,Ec=gc,Nc=mc,Tc=bc,Ac=vc,Pc=wc,Ic=yc,_c=xc;const Xm=Rm,Ym=Gm,Jm=d.forwardRef(({className:e,inset:t,children:r,...n},o)=>i.jsxs(Ic,{ref:o,className:P("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent",t&&"pl-8",e),...n,children:[r,i.jsx(X.ChevronRight,{className:"ml-auto h-4 w-4"})]}));Jm.displayName=Ic.displayName;const Zm=d.forwardRef(({className:e,...t},r)=>i.jsx(_c,{ref:r,className:P("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",e),...t}));Zm.displayName=_c.displayName;const kc=d.forwardRef(({className:e,sideOffset:t=4,...r},n)=>i.jsx(qm,{children:i.jsx(Sc,{ref:n,sideOffset:t,className:P("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",e),...r})}));kc.displayName=Sc.displayName;const jo=d.forwardRef(({className:e,inset:t,...r},n)=>i.jsx(Ec,{ref:n,className:P("relative flex cursor-default select-none items-center 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",t&&"pl-8",e),...r}));jo.displayName=Ec.displayName;const Qm=d.forwardRef(({className:e,children:t,checked:r,...n},o)=>i.jsxs(Nc,{ref:o,className:P("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",e),checked:r,...n,children:[i.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:i.jsx(Ac,{children:i.jsx(X.Check,{className:"h-4 w-4"})})}),t]}));Qm.displayName=Nc.displayName;const eb=d.forwardRef(({className:e,children:t,...r},n)=>i.jsxs(Tc,{ref:n,className:P("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",e),...r,children:[i.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:i.jsx(Ac,{children:i.jsx(X.Circle,{className:"h-2 w-2 fill-current"})})}),t]}));eb.displayName=Tc.displayName;const tb=d.forwardRef(({className:e,inset:t,...r},n)=>i.jsx(Cc,{ref:n,className:P("px-2 py-1.5 text-sm font-semibold",t&&"pl-8",e),...r}));tb.displayName=Cc.displayName;const rb=d.forwardRef(({className:e,...t},r)=>i.jsx(Pc,{ref:r,className:P("-mx-1 my-1 h-px bg-muted",e),...t}));rb.displayName=Pc.displayName;function ir({className:e="",placeholder:t="Type your message...",autoFocus:r=!0,maxHeight:n=void 0,streamingDebounceMs:o=40,enableFileUpload:s=!0,enableExcelUpload:a=!1,enableMessageEditing:c=!0,customStyles:l={},onMessageSent:f,onExcelUploadSuccess:u,onError:p}){const{currentThreadId:h,messages:v,isStreaming:m,streamingAssistantId:g,error:b,send:w,stop:x,lastCheckpointId:y,listCheckpoints:C,navigateToCheckpoint:N,returnToLatest:k,hasMoreHistory:E,isLoadingHistory:M,loadOlderMessages:F,api:_}=Zn();try{const I=typeof window<"u"?localStorage.getItem("currentThreadId"):null;console.log("ChatInterface debug - useChat()",{currentThreadId:h,lastCheckpointId:y,lsThread:I})}catch(I){console.log("ChatInterface debug - localStorage not available",I)}const[B,R]=T.useState(""),[U,D]=T.useState(null),[z,O]=T.useState(null),[G,L]=T.useState([]),[A,ee]=T.useState(!1),[q,ce]=T.useState(null),[$,j]=T.useState(null),[le,he]=T.useState(!1),[W,V]=T.useState(null),[se,K]=T.useState([]),[Y,ne]=T.useState(null),me=T.useRef(null),pe=T.useRef(null),Q=T.useRef(null),J=T.useRef(null),ge=T.useRef(null),Oe=T.useRef(!1),Ce=T.useRef(!0),pr=T.useRef(0),ut=T.useRef(null),[Ht,gs]=T.useState("desktop");T.useEffect(()=>{const I=()=>{const Z=window.innerWidth;gs(Z<640?"phone":Z<1024?"tablet":"desktop")};return I(),window.addEventListener("resize",I),()=>window.removeEventListener("resize",I)},[]),T.useEffect(()=>{let I=!1;if(!h){K([]),ne(null),ut.current=null;return}const Z={threadId:h,checkpointId:y??null},ue=ut.current;if(!(ue&&ue.threadId===Z.threadId&&ue.checkpointId===Z.checkpointId))return ut.current=Z,C(h).then(de=>{if(console.log("ChatInterface debug - listCheckpoints response:",de),I)return;const Fe=((de==null?void 0:de.checkpoints)??[]).slice().sort((ft,Dn)=>new Date(Dn.createdAt).getTime()-new Date(ft.createdAt).getTime());console.log("ChatInterface debug - computed checkpoints:",Fe),K(Fe),ne(ft=>{var Dn;return ft??((Dn=Fe[0])==null?void 0:Dn.checkpointId)??null})}).catch(de=>{console.error("ChatInterface debug - listCheckpoints error:",de),I||(K([]),ut.current=null)}),()=>{I=!0}},[h,y,C]),T.useEffect(()=>{y&&ne(y)},[y]);const zt=T.useCallback(async()=>{if(!E||M)return;const I=ge.current;if(!I)return;const Z=I.scrollHeight,ue=I.scrollTop;Oe.current=!0;try{await F()}catch(de){console.warn("loadOlderMessages failed",de)}finally{requestAnimationFrame(()=>{const de=ge.current;if(!de){Oe.current=!1;return}const Fe=de.scrollHeight;de.scrollTop=ue+(Fe-Z);const ft=Fe-de.scrollTop-de.clientHeight;Ce.current=ft<=32,Oe.current=!1})}},[E,M,F]);T.useEffect(()=>{const I=ge.current;if(!I)return;const Z=()=>{I.scrollTop<=80&&zt();const Fe=I.scrollHeight-I.scrollTop-I.clientHeight;Ce.current=Fe<=80};return I.addEventListener("scroll",Z),()=>I.removeEventListener("scroll",Z)},[zt]),T.useEffect(()=>{v.length<pr.current&&(Ce.current=!0),pr.current=v.length},[v.length]),T.useEffect(()=>{const I=ge.current;I&&(Oe.current||Ce.current&&(I.scrollTop=I.scrollHeight,Ce.current=!0))},[v]),T.useEffect(()=>{var I;r&&((I=pe.current)==null||I.focus())},[r]),T.useEffect(()=>{(async()=>{try{const Z=await _.getAgent("default");V(Z.uiDefaultMessage||null)}catch(Z){console.warn("Failed to fetch default message:",Z),V(null)}})()},[_]),T.useEffect(()=>{b&&!le&&(p==null||p(b))},[b,le,p]);const ms=I=>{if(I.length>At)return`Message too long (${I.length}/${At} characters)`;try{return ip(I),null}catch(Z){return(Z==null?void 0:Z.message)||"Invalid message"}},In=I=>{const Z=I.content||[],ue=Z.filter(de=>de.type==="text").map(de=>de.text).join("");if(ue)return ue;try{return JSON.stringify(Z,null,2)}catch{return String(Z)}},_n=async()=>{const I=B.trim();if(!(!I&&G.length===0)){if(I){const Z=ms(I);if(Z){O(Z);return}}try{await w(I,{checkpointId:Y||y||void 0,payloadExtras:U?{edit:!0,originalMessageId:U}:void 0,attachments:G}),f==null||f(I),R(""),O(null),L([]),D(null),pe.current&&(pe.current.style.height="auto")}catch(Z){const ue=(Z==null?void 0:Z.message)||"Failed to send message";O(ue),p==null||p(ue)}}},bs=(I,Z)=>{c&&(D(I),R(Z),O(null),setTimeout(()=>{pe.current&&(pe.current.focus(),pe.current.style.height="auto",pe.current.style.height=pe.current.scrollHeight+"px")},0))},hr=()=>{D(null),R(""),O(null),pe.current&&(pe.current.style.height="auto")},kn=I=>{I.key==="Enter"&&!I.shiftKey?(I.preventDefault(),_n()):I.key==="Escape"&&U&&(I.preventDefault(),hr())},ae=I=>{const Z=Array.from(I.target.files||[]);L(ue=>[...ue,...Z])},xe=I=>L(Z=>Z.filter((ue,de)=>I!==de)),Pe=async I=>{const Z=(I.target.files||[])[0];if(Z){ce(null),j(null),ee(!0);try{const ue=await _.uploadExcel(Z),de=ue.sheets.map(ft=>`${ft.sheetName} -> ${ft.tableName}`).join(", "),Fe=de?`Uploaded ${Z.name} (${ue.sheets.length} sheet${ue.sheets.length===1?"":"s"}: ${de})`:`Uploaded ${Z.name}`;j(Fe),u==null||u({file:Z,response:ue})}catch(ue){const de=ue instanceof Error?ue.message:"Failed to upload Excel file";console.error("Excel upload failed",ue),ce(de),p==null||p(de)}finally{ee(!1),I.target.value=""}}},je=I=>{if(!I)return"Unknown";const Z=Date.parse(I);return Number.isNaN(Z)?I:new Date(Z).toLocaleString()},rt=async I=>{if(h){if(!I){await k(),ne(null);return}await N(I),ne(I)}},On=`flex flex-1 w-full flex-col min-h-0 min-w-0 max-h-full overflow-hidden bg-transparent ${e} ${l.container||""}`,Mn=`flex-1 min-h-0 min-w-0 max-h-full w-full overflow-y-auto overflow-x-auto overscroll-contain break-words break-anywhere p-4 space-y-4 bg-transparent ${l.messagesArea||""}`,vs=`flex-shrink-0 w-full border-t p-4 bg-transparent ${l.inputArea||""}`;return i.jsxs("div",{className:On,children:[!!b&&!le&&i.jsxs("div",{className:"flex-shrink-0 bg-red-50 border border-red-200 text-red-800 px-4 py-2 text-sm flex items-center justify-between",children:[i.jsx("span",{children:b}),i.jsx(fe,{variant:"ghost",size:"sm",onClick:()=>he(!0),className:"text-red-800 hover:bg-red-100","aria-label":"Dismiss error",children:i.jsx(X.X,{size:16})})]}),(console.log("Checkpoint toolbar render",{currentThreadId:h,checkpoints:se,activeCheckpointId:Y}),null),h&&se.length>0&&i.jsxs("div",{className:"flex-shrink-0 flex items-center gap-2 px-4 py-2 border-b border-border bg-muted/60 text-xs dark:bg-muted/50",children:[i.jsx("span",{className:"opacity-70",children:"Checkpoint:"}),i.jsxs("select",{className:"border border-border rounded px-2 py-1 text-xs bg-card text-foreground focus:outline-none focus:ring-1 focus:ring-ring dark:bg-secondary",value:Y??"",onChange:I=>{const Z=I.target.value||null;rt(Z)},children:[i.jsx("option",{value:"",children:"Latest"}),se.map(I=>i.jsxs("option",{value:I.checkpointId,children:[je(I.createdAt),I.preview?` — ${I.preview.slice(0,40)}`:""]},I.checkpointId))]})]}),i.jsxs("div",{ref:ge,className:Mn,style:n?{maxHeight:n}:void 0,children:[v.length===0?i.jsx("div",{className:"flex items-center justify-center py-8 text-muted-foreground text-center max-w-md mx-auto",children:W||"No messages yet. Start a conversation!"}):i.jsxs(i.Fragment,{children:[(M||!E)&&i.jsx("div",{className:"flex justify-center py-2 text-xs text-muted-foreground",children:M?i.jsx(X.Loader2,{className:"h-4 w-4 animate-spin"}):"You've reached the beginning"}),v.map((I,Z)=>i.jsx(Na,{message:I,messageIndex:Z,isStreamingMessage:m&&g===I.id,streamingDebounceMs:o,isEditing:U===I.id,showActions:c,showTimestamp:!1,showAgentName:!0,layoutSize:Ht,truncateToolMessages:!1,toolMessagePreviewLength:200,onEdit:(ue,de)=>bs(ue,de),onRegenerate:()=>{const ue=[...v].reverse().find(Fe=>Fe.role==="user"),de=ue?In(ue):"";de&&w(de,{checkpointId:Y||y||void 0})},onCancelEdit:hr},I.id||Z))]}),i.jsx("div",{ref:me})]}),i.jsxs("div",{className:vs,children:[U&&i.jsx("div",{className:"mb-3 p-3 bg-blue-50 border border-blue-200 rounded-lg",children:i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx(X.Edit3,{size:16,className:"text-blue-600"}),i.jsx("span",{className:"text-sm font-medium text-blue-800",children:"Editing message"})]}),i.jsx(fe,{variant:"ghost",size:"sm",onClick:hr,className:"text-blue-600 hover:bg-blue-100",children:i.jsx(X.X,{size:16})})]})}),(s||a)&&i.jsxs("div",{className:"mb-3 space-y-3",children:[s&&i.jsxs(i.Fragment,{children:[i.jsx("input",{ref:Q,type:"file",multiple:!0,onChange:I=>ae(I),className:"hidden"}),G.length>0&&i.jsx("div",{className:"flex flex-wrap gap-2",children:G.map((I,Z)=>i.jsxs("div",{className:"flex items-center gap-2 bg-gray-100 dark:bg-gray-800 rounded-lg px-3 py-2 text-sm text-gray-900 dark:text-gray-100",children:[i.jsx(X.Paperclip,{size:14}),i.jsx("span",{className:"truncate max-w-[150px]",children:I.name}),i.jsx(fe,{variant:"ghost",size:"sm",onClick:()=>xe(Z),className:"h-4 w-4 p-0 text-gray-500 dark:text-gray-400 hover:text-red-500 dark:hover:text-red-400","aria-label":`Remove ${I.name}`,children:i.jsx(X.X,{size:12})})]},Z))})]}),a&&i.jsxs(i.Fragment,{children:[i.jsx("input",{ref:J,type:"file",accept:".xls,.xlsx,.xlsm",onChange:Pe,className:"hidden"}),A&&i.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[i.jsx(X.Loader2,{className:"h-4 w-4 animate-spin"})," Uploading Excel file..."]}),$&&!A&&i.jsx("div",{className:"text-sm rounded border border-emerald-200 bg-emerald-50 px-3 py-2 text-emerald-700",children:$}),q&&!A&&i.jsx("div",{className:"text-sm rounded border border-red-200 bg-red-50 px-3 py-2 text-red-600",children:q})]})]}),z&&i.jsx("div",{className:"mb-3 text-sm text-red-600 bg-red-50 border border-red-200 rounded px-3 py-2",children:z}),i.jsxs("div",{className:"flex items-end gap-2",children:[(s||a)&&i.jsxs(Xm,{children:[i.jsx(Ym,{asChild:!0,children:i.jsx(fe,{type:"button",size:"icon",variant:"outline",disabled:m,title:"More input actions",className:l.moreButton||"",children:i.jsx(X.Plus,{size:16})})}),i.jsxs(kc,{align:"start",sideOffset:6,className:"w-52",children:[s&&i.jsxs(jo,{onClick:()=>{var I;return(I=Q.current)==null?void 0:I.click()},className:"cursor-pointer",children:[i.jsx(X.Paperclip,{className:"h-4 w-4 mr-2"})," Attach files or images"]}),a&&i.jsxs(jo,{onClick:()=>{var I;A||(I=J.current)==null||I.click()},className:`cursor-pointer ${A?"opacity-60 pointer-events-none":""}`,children:[i.jsx(X.FileSpreadsheet,{className:"h-4 w-4 mr-2"})," Upload Excel file"]})]})]}),i.jsx("div",{className:"flex-1",children:i.jsx(ma,{ref:pe,value:B,onChange:I=>{R(I.target.value),O(null),pe.current&&(pe.current.style.height="auto",pe.current.style.height=`${pe.current.scrollHeight}px`)},onKeyDown:kn,placeholder:U?"Edit your message...":t,className:`resize-none min-h-[44px] max-h-[20rem] w-full transition-colors ${U?"border-blue-400 bg-blue-50 text-blue-900 dark:border-blue-500 dark:bg-blue-950/60 dark:text-blue-50":""} ${z?"border-red-400":""} ${l.textarea||""}`,disabled:!1,maxLength:At,rows:1})}),i.jsx("div",{children:m?i.jsx(fe,{type:"button",onClick:x,size:"icon",variant:"outline",className:"shrink-0",title:"Stop generating",children:i.jsx(X.Square,{size:16})}):i.jsx(fe,{type:"button",onClick:_n,size:"icon",disabled:!B.trim()&&G.length===0,className:`shrink-0 ${G.length>0?"bg-blue-500 hover:bg-blue-600 text-white":""} ${l.sendButton||""}`,title:U?"Save changes":"Send message",children:i.jsx(X.Send,{size:16})})})]}),B.length>At*.8&&i.jsxs("div",{className:"mt-2 text-xs text-gray-500 text-right",children:[B.length,"/",At]})]})]})}const cr=d.forwardRef(({className:e,type:t,...r},n)=>i.jsx("input",{type:t,className:P("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:n,...r}));cr.displayName="Input";function Ko(e,[t,r]){return Math.min(r,Math.max(t,e))}function nb(e,t){return d.useReducer((r,n)=>t[r][n]??r,e)}var Ro="ScrollArea",[Oc,Zw]=Be(Ro),[ob,De]=Oc(Ro),Mc=d.forwardRef((e,t)=>{const{__scopeScrollArea:r,type:n="hover",dir:o,scrollHideDelay:s=600,...a}=e,[c,l]=d.useState(null),[f,u]=d.useState(null),[p,h]=d.useState(null),[v,m]=d.useState(null),[g,b]=d.useState(null),[w,x]=d.useState(0),[y,C]=d.useState(0),[N,k]=d.useState(!1),[E,M]=d.useState(!1),F=ie(t,B=>l(B)),_=Dr(o);return i.jsx(ob,{scope:r,type:n,dir:_,scrollHideDelay:s,scrollArea:c,viewport:f,onViewportChange:u,content:p,onContentChange:h,scrollbarX:v,onScrollbarXChange:m,scrollbarXEnabled:N,onScrollbarXEnabledChange:k,scrollbarY:g,onScrollbarYChange:b,scrollbarYEnabled:E,onScrollbarYEnabledChange:M,onCornerWidthChange:x,onCornerHeightChange:C,children:i.jsx(te.div,{dir:_,...a,ref:F,style:{position:"relative","--radix-scroll-area-corner-width":w+"px","--radix-scroll-area-corner-height":y+"px",...e.style}})})});Mc.displayName=Ro;var Dc="ScrollAreaViewport",Lc=d.forwardRef((e,t)=>{const{__scopeScrollArea:r,children:n,nonce:o,...s}=e,a=De(Dc,r),c=d.useRef(null),l=ie(t,c,a.onViewportChange);return i.jsxs(i.Fragment,{children:[i.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:o}),i.jsx(te.div,{"data-radix-scroll-area-viewport":"",...s,ref:l,style:{overflowX:a.scrollbarXEnabled?"scroll":"hidden",overflowY:a.scrollbarYEnabled?"scroll":"hidden",...e.style},children:i.jsx("div",{ref:a.onContentChange,style:{minWidth:"100%",display:"table"},children:n})})]})});Lc.displayName=Dc;var Ze="ScrollAreaScrollbar",Go=d.forwardRef((e,t)=>{const{forceMount:r,...n}=e,o=De(Ze,e.__scopeScrollArea),{onScrollbarXEnabledChange:s,onScrollbarYEnabledChange:a}=o,c=e.orientation==="horizontal";return d.useEffect(()=>(c?s(!0):a(!0),()=>{c?s(!1):a(!1)}),[c,s,a]),o.type==="hover"?i.jsx(sb,{...n,ref:t,forceMount:r}):o.type==="scroll"?i.jsx(ab,{...n,ref:t,forceMount:r}):o.type==="auto"?i.jsx(Fc,{...n,ref:t,forceMount:r}):o.type==="always"?i.jsx(qo,{...n,ref:t}):null});Go.displayName=Ze;var sb=d.forwardRef((e,t)=>{const{forceMount:r,...n}=e,o=De(Ze,e.__scopeScrollArea),[s,a]=d.useState(!1);return d.useEffect(()=>{const c=o.scrollArea;let l=0;if(c){const f=()=>{window.clearTimeout(l),a(!0)},u=()=>{l=window.setTimeout(()=>a(!1),o.scrollHideDelay)};return c.addEventListener("pointerenter",f),c.addEventListener("pointerleave",u),()=>{window.clearTimeout(l),c.removeEventListener("pointerenter",f),c.removeEventListener("pointerleave",u)}}},[o.scrollArea,o.scrollHideDelay]),i.jsx(Ae,{present:r||s,children:i.jsx(Fc,{"data-state":s?"visible":"hidden",...n,ref:t})})}),ab=d.forwardRef((e,t)=>{const{forceMount:r,...n}=e,o=De(Ze,e.__scopeScrollArea),s=e.orientation==="horizontal",a=dn(()=>l("SCROLL_END"),100),[c,l]=nb("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return d.useEffect(()=>{if(c==="idle"){const f=window.setTimeout(()=>l("HIDE"),o.scrollHideDelay);return()=>window.clearTimeout(f)}},[c,o.scrollHideDelay,l]),d.useEffect(()=>{const f=o.viewport,u=s?"scrollLeft":"scrollTop";if(f){let p=f[u];const h=()=>{const v=f[u];p!==v&&(l("SCROLL"),a()),p=v};return f.addEventListener("scroll",h),()=>f.removeEventListener("scroll",h)}},[o.viewport,s,l,a]),i.jsx(Ae,{present:r||c!=="hidden",children:i.jsx(qo,{"data-state":c==="hidden"?"hidden":"visible",...n,ref:t,onPointerEnter:H(e.onPointerEnter,()=>l("POINTER_ENTER")),onPointerLeave:H(e.onPointerLeave,()=>l("POINTER_LEAVE"))})})}),Fc=d.forwardRef((e,t)=>{const r=De(Ze,e.__scopeScrollArea),{forceMount:n,...o}=e,[s,a]=d.useState(!1),c=e.orientation==="horizontal",l=dn(()=>{if(r.viewport){const f=r.viewport.offsetWidth<r.viewport.scrollWidth,u=r.viewport.offsetHeight<r.viewport.scrollHeight;a(c?f:u)}},10);return $t(r.viewport,l),$t(r.content,l),i.jsx(Ae,{present:n||s,children:i.jsx(qo,{"data-state":s?"visible":"hidden",...o,ref:t})})}),qo=d.forwardRef((e,t)=>{const{orientation:r="vertical",...n}=e,o=De(Ze,e.__scopeScrollArea),s=d.useRef(null),a=d.useRef(0),[c,l]=d.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),f=zc(c.viewport,c.content),u={...n,sizes:c,onSizesChange:l,hasThumb:f>0&&f<1,onThumbChange:h=>s.current=h,onThumbPointerUp:()=>a.current=0,onThumbPointerDown:h=>a.current=h};function p(h,v){return fb(h,a.current,c,v)}return r==="horizontal"?i.jsx(ib,{...u,ref:t,onThumbPositionChange:()=>{if(o.viewport&&s.current){const h=o.viewport.scrollLeft,v=Wc(h,c,o.dir);s.current.style.transform=`translate3d(${v}px, 0, 0)`}},onWheelScroll:h=>{o.viewport&&(o.viewport.scrollLeft=h)},onDragScroll:h=>{o.viewport&&(o.viewport.scrollLeft=p(h,o.dir))}}):r==="vertical"?i.jsx(cb,{...u,ref:t,onThumbPositionChange:()=>{if(o.viewport&&s.current){const h=o.viewport.scrollTop,v=Wc(h,c);s.current.style.transform=`translate3d(0, ${v}px, 0)`}},onWheelScroll:h=>{o.viewport&&(o.viewport.scrollTop=h)},onDragScroll:h=>{o.viewport&&(o.viewport.scrollTop=p(h))}}):null}),ib=d.forwardRef((e,t)=>{const{sizes:r,onSizesChange:n,...o}=e,s=De(Ze,e.__scopeScrollArea),[a,c]=d.useState(),l=d.useRef(null),f=ie(t,l,s.onScrollbarXChange);return d.useEffect(()=>{l.current&&c(getComputedStyle(l.current))},[l]),i.jsx(Bc,{"data-orientation":"horizontal",...o,ref:f,sizes:r,style:{bottom:0,left:s.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:s.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":ln(r)+"px",...e.style},onThumbPointerDown:u=>e.onThumbPointerDown(u.x),onDragScroll:u=>e.onDragScroll(u.x),onWheelScroll:(u,p)=>{if(s.viewport){const h=s.viewport.scrollLeft+u.deltaX;e.onWheelScroll(h),jc(h,p)&&u.preventDefault()}},onResize:()=>{l.current&&s.viewport&&a&&n({content:s.viewport.scrollWidth,viewport:s.viewport.offsetWidth,scrollbar:{size:l.current.clientWidth,paddingStart:cn(a.paddingLeft),paddingEnd:cn(a.paddingRight)}})}})}),cb=d.forwardRef((e,t)=>{const{sizes:r,onSizesChange:n,...o}=e,s=De(Ze,e.__scopeScrollArea),[a,c]=d.useState(),l=d.useRef(null),f=ie(t,l,s.onScrollbarYChange);return d.useEffect(()=>{l.current&&c(getComputedStyle(l.current))},[l]),i.jsx(Bc,{"data-orientation":"vertical",...o,ref:f,sizes:r,style:{top:0,right:s.dir==="ltr"?0:void 0,left:s.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":ln(r)+"px",...e.style},onThumbPointerDown:u=>e.onThumbPointerDown(u.y),onDragScroll:u=>e.onDragScroll(u.y),onWheelScroll:(u,p)=>{if(s.viewport){const h=s.viewport.scrollTop+u.deltaY;e.onWheelScroll(h),jc(h,p)&&u.preventDefault()}},onResize:()=>{l.current&&s.viewport&&a&&n({content:s.viewport.scrollHeight,viewport:s.viewport.offsetHeight,scrollbar:{size:l.current.clientHeight,paddingStart:cn(a.paddingTop),paddingEnd:cn(a.paddingBottom)}})}})}),[lb,$c]=Oc(Ze),Bc=d.forwardRef((e,t)=>{const{__scopeScrollArea:r,sizes:n,hasThumb:o,onThumbChange:s,onThumbPointerUp:a,onThumbPointerDown:c,onThumbPositionChange:l,onDragScroll:f,onWheelScroll:u,onResize:p,...h}=e,v=De(Ze,r),[m,g]=d.useState(null),b=ie(t,F=>g(F)),w=d.useRef(null),x=d.useRef(""),y=v.viewport,C=n.content-n.viewport,N=we(u),k=we(l),E=dn(p,10);function M(F){if(w.current){const _=F.clientX-w.current.left,B=F.clientY-w.current.top;f({x:_,y:B})}}return d.useEffect(()=>{const F=_=>{const B=_.target;(m==null?void 0:m.contains(B))&&N(_,C)};return document.addEventListener("wheel",F,{passive:!1}),()=>document.removeEventListener("wheel",F,{passive:!1})},[y,m,C,N]),d.useEffect(k,[n,k]),$t(m,E),$t(v.content,E),i.jsx(lb,{scope:r,scrollbar:m,hasThumb:o,onThumbChange:we(s),onThumbPointerUp:we(a),onThumbPositionChange:k,onThumbPointerDown:we(c),children:i.jsx(te.div,{...h,ref:b,style:{position:"absolute",...h.style},onPointerDown:H(e.onPointerDown,F=>{F.button===0&&(F.target.setPointerCapture(F.pointerId),w.current=m.getBoundingClientRect(),x.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",v.viewport&&(v.viewport.style.scrollBehavior="auto"),M(F))}),onPointerMove:H(e.onPointerMove,M),onPointerUp:H(e.onPointerUp,F=>{const _=F.target;_.hasPointerCapture(F.pointerId)&&_.releasePointerCapture(F.pointerId),document.body.style.webkitUserSelect=x.current,v.viewport&&(v.viewport.style.scrollBehavior=""),w.current=null})})})}),an="ScrollAreaThumb",Uc=d.forwardRef((e,t)=>{const{forceMount:r,...n}=e,o=$c(an,e.__scopeScrollArea);return i.jsx(Ae,{present:r||o.hasThumb,children:i.jsx(db,{ref:t,...n})})}),db=d.forwardRef((e,t)=>{const{__scopeScrollArea:r,style:n,...o}=e,s=De(an,r),a=$c(an,r),{onThumbPositionChange:c}=a,l=ie(t,p=>a.onThumbChange(p)),f=d.useRef(void 0),u=dn(()=>{f.current&&(f.current(),f.current=void 0)},100);return d.useEffect(()=>{const p=s.viewport;if(p){const h=()=>{if(u(),!f.current){const v=pb(p,c);f.current=v,c()}};return c(),p.addEventListener("scroll",h),()=>p.removeEventListener("scroll",h)}},[s.viewport,u,c]),i.jsx(te.div,{"data-state":a.hasThumb?"visible":"hidden",...o,ref:l,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...n},onPointerDownCapture:H(e.onPointerDownCapture,p=>{const v=p.target.getBoundingClientRect(),m=p.clientX-v.left,g=p.clientY-v.top;a.onThumbPointerDown({x:m,y:g})}),onPointerUp:H(e.onPointerUp,a.onThumbPointerUp)})});Uc.displayName=an;var Xo="ScrollAreaCorner",Hc=d.forwardRef((e,t)=>{const r=De(Xo,e.__scopeScrollArea),n=!!(r.scrollbarX&&r.scrollbarY);return r.type!=="scroll"&&n?i.jsx(ub,{...e,ref:t}):null});Hc.displayName=Xo;var ub=d.forwardRef((e,t)=>{const{__scopeScrollArea:r,...n}=e,o=De(Xo,r),[s,a]=d.useState(0),[c,l]=d.useState(0),f=!!(s&&c);return $t(o.scrollbarX,()=>{var p;const u=((p=o.scrollbarX)==null?void 0:p.offsetHeight)||0;o.onCornerHeightChange(u),l(u)}),$t(o.scrollbarY,()=>{var p;const u=((p=o.scrollbarY)==null?void 0:p.offsetWidth)||0;o.onCornerWidthChange(u),a(u)}),f?i.jsx(te.div,{...n,ref:t,style:{width:s,height:c,position:"absolute",right:o.dir==="ltr"?0:void 0,left:o.dir==="rtl"?0:void 0,bottom:0,...e.style}}):null});function cn(e){return e?parseInt(e,10):0}function zc(e,t){const r=e/t;return isNaN(r)?0:r}function ln(e){const t=zc(e.viewport,e.content),r=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,n=(e.scrollbar.size-r)*t;return Math.max(n,18)}function fb(e,t,r,n="ltr"){const o=ln(r),s=o/2,a=t||s,c=o-a,l=r.scrollbar.paddingStart+a,f=r.scrollbar.size-r.scrollbar.paddingEnd-c,u=r.content-r.viewport,p=n==="ltr"?[0,u]:[u*-1,0];return Vc([l,f],p)(e)}function Wc(e,t,r="ltr"){const n=ln(t),o=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,s=t.scrollbar.size-o,a=t.content-t.viewport,c=s-n,l=r==="ltr"?[0,a]:[a*-1,0],f=Ko(e,l);return Vc([0,a],[0,c])(f)}function Vc(e,t){return r=>{if(e[0]===e[1]||t[0]===t[1])return t[0];const n=(t[1]-t[0])/(e[1]-e[0]);return t[0]+n*(r-e[0])}}function jc(e,t){return e>0&&e<t}var pb=(e,t=()=>{})=>{let r={left:e.scrollLeft,top:e.scrollTop},n=0;return function o(){const s={left:e.scrollLeft,top:e.scrollTop},a=r.left!==s.left,c=r.top!==s.top;(a||c)&&t(),r=s,n=window.requestAnimationFrame(o)}(),()=>window.cancelAnimationFrame(n)};function dn(e,t){const r=we(e),n=d.useRef(0);return d.useEffect(()=>()=>window.clearTimeout(n.current),[]),d.useCallback(()=>{window.clearTimeout(n.current),n.current=window.setTimeout(r,t)},[r,t])}function $t(e,t){const r=we(t);ve(()=>{let n=0;if(e){const o=new ResizeObserver(()=>{cancelAnimationFrame(n),n=window.requestAnimationFrame(r)});return o.observe(e),()=>{window.cancelAnimationFrame(n),o.unobserve(e)}}},[e,r])}var Kc=Mc,hb=Lc,gb=Hc;const Rc=d.forwardRef(({className:e,children:t,...r},n)=>i.jsxs(Kc,{ref:n,className:P("relative overflow-hidden",e),...r,children:[i.jsx(hb,{className:"h-full w-full rounded-[inherit] overflow-auto",children:t}),i.jsx(Gc,{}),i.jsx(gb,{})]}));Rc.displayName=Kc.displayName;const Gc=d.forwardRef(({className:e,orientation:t="vertical",...r},n)=>i.jsx(Go,{ref:n,orientation:t,className:P("flex touch-none select-none transition-colors",t==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",t==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",e),...r,children:i.jsx(Uc,{className:"relative flex-1 rounded-full bg-border"})}));Gc.displayName=Go.displayName;function un({className:e="",showCreateButton:t=!0,showDeleteButton:r=!0,showEditTitle:n=!0,maxHeight:o="400px",customStyles:s={},currentThreadId:a=null,navigateToThread:c,onThreadSelect:l,onThreadCreate:f,onThreadDelete:u}){const{loadThread:p,threads:h,refreshThreads:v,currentThreadId:m,createThread:g,deleteThread:b,renameThread:w}=Zn(),[x,y]=T.useState(h??[]),[C,N]=T.useState(!1),[k,E]=T.useState(null),[M,F]=T.useState(null),[_,B]=T.useState(""),[R,U]=T.useState(!1);T.useEffect(()=>{y(h??[])},[h]);const D=async $=>{try{await p($),c==null||c($),l==null||l($)}catch(j){console.error("Failed to select thread:",j)}},z=async()=>{try{U(!0);const $=await g();f==null||f($),c==null||c($)}catch($){console.error("Failed to create thread:",$)}finally{U(!1)}},O=async($,j)=>{if(j.stopPropagation(),!!confirm("Delete this thread?"))try{await b($),u==null||u($)}catch(le){console.error("Failed to delete thread:",le)}},G=($,j)=>{j.stopPropagation(),F($.threadId),B($.title||`Thread ${$.threadId.slice(0,8)}`)},L=async $=>{if(_.trim())try{await w($,_.trim()),F(null),B("")}catch(j){console.error("Failed to update title:",j)}},A=()=>{F(null),B("")},ee=($,j)=>{$.key==="Enter"?L(j):$.key==="Escape"&&A()},q=$=>{if(!$)return"";try{const j=new Date($),he=new Date().getTime()-j.getTime(),W=Math.floor(he/(1e3*60*60*24));return W===0?j.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}):W===1?"Yesterday":W<7?`${W} days ago`:j.toLocaleDateString()}catch{return""}},ce=$=>$.title||`Thread ${$.threadId.slice(0,8)}`;return i.jsxs("div",{className:`flex flex-col h-full ${e} ${s.container||""}`,children:[t&&i.jsx("div",{className:s.header||"flex-shrink-0 p-2 border-b bg-slate-800 border-slate-700 text-slate-100 flex justify-end",children:i.jsx(fe,{onClick:z,disabled:R||C,className:s.createButton||"p-2",size:"sm",variant:"ghost",title:R?"Creating...":"New Chat",children:i.jsx(X.MessageSquarePlus,{size:20})})}),i.jsx(Rc,{className:`flex-1 min-h-0 ${s.threadList||""}`,style:o?{maxHeight:o}:void 0,children:i.jsx("div",{className:"p-2 space-y-1 pb-4",children:C?i.jsx("div",{className:"text-center py-8 text-slate-400",children:"Loading…"}):x.length===0?i.jsxs("div",{className:"text-center py-8 text-slate-400",children:[i.jsx(X.MessageSquare,{className:"w-8 h-8 mx-auto mb-2 opacity-40 text-slate-500"}),i.jsx("p",{className:"text-sm text-slate-500",children:"No conversations yet"})]}):x.slice().sort(($,j)=>new Date(j.updatedAt||j.createdAt||"").getTime()-new Date($.updatedAt||$.createdAt||"").getTime()).map($=>i.jsxs("div",{onClick:()=>D($.threadId),className:`group relative p-3 rounded-lg cursor-pointer transition-colors border ${(a??m)===$.threadId?`${s.activeThread||"bg-slate-600 border-slate-500"} `:`${s.threadItem||"bg-slate-700 border-slate-600 hover:bg-slate-600 text-gray-900 dark:text-slate-100"}`} ${s.threadItem||""} text-gray-900 dark:text-slate-100`,children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsx("div",{className:"flex-1 min-w-0",children:M===$.threadId?i.jsxs("div",{className:"flex items-center gap-2",onClick:j=>j.stopPropagation(),children:[i.jsx(cr,{value:_,onChange:j=>B(j.target.value),onKeyDown:j=>ee(j,$.threadId),className:"h-6 text-sm",autoFocus:!0}),i.jsx(fe,{variant:"ghost",size:"sm",onClick:()=>L($.threadId),className:"h-6 w-6 p-0",children:i.jsx(X.Check,{size:12})}),i.jsx(fe,{variant:"ghost",size:"sm",onClick:A,className:"h-6 w-6 p-0",children:i.jsx(X.X,{size:12})})]}):i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"font-medium text-sm truncate text-gray-900 dark:text-slate-100",children:ce($)}),i.jsxs("div",{className:"flex items-center gap-2 text-xs text-gray-500 dark:text-slate-400 mt-1",children:[i.jsx(X.Calendar,{size:10}),i.jsx("span",{children:q($.updatedAt||$.createdAt)})]})]})}),i.jsxs("div",{className:"flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity ml-2",children:[n&&M!==$.threadId&&i.jsx(fe,{variant:"ghost",size:"sm",onClick:j=>G($,j),className:"h-6 w-6 p-0",title:"Edit title",children:i.jsx(X.Edit3,{size:12})}),r&&i.jsx(fe,{variant:"ghost",size:"sm",onClick:j=>O($.threadId,j),className:"h-6 w-6 p-0 text-red-400 hover:text-red-300 hover:bg-red-900/20",title:"Delete thread",children:i.jsx(X.Trash2,{size:12})})]})]}),a===$.threadId&&i.jsx("div",{className:"absolute left-0 top-1/2 -translate-y-1/2 w-1 h-8 bg-blue-400 rounded-r"})]},$.threadId))})})]})}const qc=T.createContext(null);function mb({children:e,basePath:t="/chat"}){const r=T.useMemo(()=>t?t==="/"?"":t.endsWith("/")?t.slice(0,-1):t:"/chat",[t]),n={basePath:r,buildThreadPath:o=>`${r}/${o}`,buildBasePath:()=>r};return i.jsx(qc.Provider,{value:n,children:e})}function bb(){const e=T.useContext(qc);return e||{basePath:"/chat",buildThreadPath:t=>`/chat/${t}`,buildBasePath:()=>"/chat"}}const Xc={BASE_URL:"/",DEV:!1,MODE:"library",PROD:!0,SSR:!1};function lr(e){var o;const t=typeof{url:typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:Ln&&Ln.tagName.toUpperCase()==="SCRIPT"&&Ln.src||new URL("index.umd.js",document.baseURI).href}<"u"&&Xc?Xc[e]:void 0,r=(o=globalThis==null?void 0:globalThis.process)==null?void 0:o.env,n=r?r[e]:void 0;return(t??n)||void 0}function vb(){return lr("VITE_API_BASE_URL")||lr("NEXT_PUBLIC_API_BASE_URL")||void 0}function wb(){return lr("VITE_API_KEY")||lr("NEXT_PUBLIC_API_KEY")||lr("VITE_AUTH_TOKEN")||void 0}function Yc(){const e=vb(),t=wb(),r={};return e&&(r.baseUrl=e),t&&(r.apiKey=t),r}function Jc(){const e=Yc(),t=Qe.getAuthToken();return{apiBaseUrl:e.baseUrl||Qe.baseUrl||"http://localhost:8000",apiKey:t||e.apiKey||"",model:"gpt-4",temperature:.7,maxTokens:4096,layoutSize:"desktop",showThreads:!0,autoScrollMessages:!0,truncateToolMessages:!0,toolMessagePreviewLength:200,darkMode:!1,enableSound:!1,messageHistory:100}}const Zc="chat-settings";function yb(){try{const e=localStorage.getItem(Zc);return e?JSON.parse(e):{}}catch(e){return console.error("Failed to parse stored settings:",e),{}}}function xb(e){try{localStorage.setItem(Zc,JSON.stringify(e)),e.apiKey&&Qe.setAuthToken(e.apiKey)}catch(t){console.error("Failed to save settings:",t)}}function Sb(){const e=Jc(),t=yb(),r=Qe.getAuthToken();return{...e,...t,apiKey:r||t.apiKey||e.apiKey,apiBaseUrl:Qe.baseUrl||t.apiBaseUrl||e.apiBaseUrl}}function Cb(e){e.apiKey&&Qe.setAuthToken(e.apiKey),xb(e)}const Yo=768;function Eb(){const[e,t]=d.useState(void 0);return d.useEffect(()=>{const r=window.matchMedia(`(max-width: ${Yo-1}px)`),n=()=>{t(window.innerWidth<Yo)};return r.addEventListener("change",n),t(window.innerWidth<Yo),()=>r.removeEventListener("change",n)},[]),!!e}var Nb="Separator",Qc="horizontal",Tb=["horizontal","vertical"],el=d.forwardRef((e,t)=>{const{decorative:r,orientation:n=Qc,...o}=e,s=Ab(n)?n:Qc,c=r?{role:"none"}:{"aria-orientation":s==="vertical"?s:void 0,role:"separator"};return i.jsx(te.div,{"data-orientation":s,...c,...o,ref:t})});el.displayName=Nb;function Ab(e){return Tb.includes(e)}var tl=el;const Jo=d.forwardRef(({className:e,orientation:t="horizontal",decorative:r=!0,...n},o)=>i.jsx(tl,{ref:o,decorative:r,orientation:t,className:P("shrink-0 bg-border",t==="horizontal"?"h-[1px] w-full":"h-full w-[1px]",e),...n}));Jo.displayName=tl.displayName;var fn="Dialog",[rl,Qw]=Be(fn),[Pb,We]=rl(fn),nl=e=>{const{__scopeDialog:t,children:r,open:n,defaultOpen:o,onOpenChange:s,modal:a=!0}=e,c=d.useRef(null),l=d.useRef(null),[f,u]=ot({prop:n,defaultProp:o??!1,onChange:s,caller:fn});return i.jsx(Pb,{scope:t,triggerRef:c,contentRef:l,contentId:Ue(),titleId:Ue(),descriptionId:Ue(),open:f,onOpenChange:u,onOpenToggle:d.useCallback(()=>u(p=>!p),[u]),modal:a,children:r})};nl.displayName=fn;var ol="DialogTrigger",sl=d.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,o=We(ol,r),s=ie(t,o.triggerRef);return i.jsx(te.button,{type:"button","aria-haspopup":"dialog","aria-expanded":o.open,"aria-controls":o.contentId,"data-state":es(o.open),...n,ref:s,onClick:H(e.onClick,o.onOpenToggle)})});sl.displayName=ol;var Zo="DialogPortal",[Ib,al]=rl(Zo,{forceMount:void 0}),il=e=>{const{__scopeDialog:t,forceMount:r,children:n,container:o}=e,s=We(Zo,t);return i.jsx(Ib,{scope:t,forceMount:r,children:d.Children.map(n,a=>i.jsx(Ae,{present:r||s.open,children:i.jsx(Rr,{asChild:!0,container:o,children:a})}))})};il.displayName=Zo;var pn="DialogOverlay",cl=d.forwardRef((e,t)=>{const r=al(pn,e.__scopeDialog),{forceMount:n=r.forceMount,...o}=e,s=We(pn,e.__scopeDialog);return s.modal?i.jsx(Ae,{present:n||s.open,children:i.jsx(kb,{...o,ref:t})}):null});cl.displayName=pn;var _b=Ie.createSlot("DialogOverlay.RemoveScroll"),kb=d.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,o=We(pn,r);return i.jsx(en,{as:_b,allowPinchZoom:!0,shards:[o.contentRef],children:i.jsx(te.div,{"data-state":es(o.open),...n,ref:t,style:{pointerEvents:"auto",...n.style}})})}),wt="DialogContent",ll=d.forwardRef((e,t)=>{const r=al(wt,e.__scopeDialog),{forceMount:n=r.forceMount,...o}=e,s=We(wt,e.__scopeDialog);return i.jsx(Ae,{present:n||s.open,children:s.modal?i.jsx(Ob,{...o,ref:t}):i.jsx(Mb,{...o,ref:t})})});ll.displayName=wt;var Ob=d.forwardRef((e,t)=>{const r=We(wt,e.__scopeDialog),n=d.useRef(null),o=ie(t,r.contentRef,n);return d.useEffect(()=>{const s=n.current;if(s)return ko(s)},[]),i.jsx(dl,{...e,ref:o,trapFocus:r.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:H(e.onCloseAutoFocus,s=>{var a;s.preventDefault(),(a=r.triggerRef.current)==null||a.focus()}),onPointerDownOutside:H(e.onPointerDownOutside,s=>{const a=s.detail.originalEvent,c=a.button===0&&a.ctrlKey===!0;(a.button===2||c)&&s.preventDefault()}),onFocusOutside:H(e.onFocusOutside,s=>s.preventDefault())})}),Mb=d.forwardRef((e,t)=>{const r=We(wt,e.__scopeDialog),n=d.useRef(!1),o=d.useRef(!1);return i.jsx(dl,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:s=>{var a,c;(a=e.onCloseAutoFocus)==null||a.call(e,s),s.defaultPrevented||(n.current||(c=r.triggerRef.current)==null||c.focus(),s.preventDefault()),n.current=!1,o.current=!1},onInteractOutside:s=>{var l,f;(l=e.onInteractOutside)==null||l.call(e,s),s.defaultPrevented||(n.current=!0,s.detail.originalEvent.type==="pointerdown"&&(o.current=!0));const a=s.target;((f=r.triggerRef.current)==null?void 0:f.contains(a))&&s.preventDefault(),s.detail.originalEvent.type==="focusin"&&o.current&&s.preventDefault()}})}),dl=d.forwardRef((e,t)=>{const{__scopeDialog:r,trapFocus:n,onOpenAutoFocus:o,onCloseAutoFocus:s,...a}=e,c=We(wt,r),l=d.useRef(null),f=ie(t,l);return io(),i.jsxs(i.Fragment,{children:[i.jsx(Lr,{asChild:!0,loop:!0,trapped:n,onMountAutoFocus:o,onUnmountAutoFocus:s,children:i.jsx(Jt,{role:"dialog",id:c.contentId,"aria-describedby":c.descriptionId,"aria-labelledby":c.titleId,"data-state":es(c.open),...a,ref:f,onDismiss:()=>c.onOpenChange(!1)})}),i.jsxs(i.Fragment,{children:[i.jsx(Db,{titleId:c.titleId}),i.jsx(Fb,{contentRef:l,descriptionId:c.descriptionId})]})]})}),Qo="DialogTitle",ul=d.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,o=We(Qo,r);return i.jsx(te.h2,{id:o.titleId,...n,ref:t})});ul.displayName=Qo;var fl="DialogDescription",pl=d.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,o=We(fl,r);return i.jsx(te.p,{id:o.descriptionId,...n,ref:t})});pl.displayName=fl;var hl="DialogClose",gl=d.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,o=We(hl,r);return i.jsx(te.button,{type:"button",...n,ref:t,onClick:H(e.onClick,()=>o.onOpenChange(!1))})});gl.displayName=hl;function es(e){return e?"open":"closed"}var ml="DialogTitleWarning",[ey,bl]=kf(ml,{contentName:wt,titleName:Qo,docsSlug:"dialog"}),Db=({titleId:e})=>{const t=bl(ml),r=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.
|
|
58
|
+
`)},Fg=0,Ft=[];function $g(e){var t=d.useRef([]),r=d.useRef([0,0]),n=d.useRef(),o=d.useState(Fg++)[0],s=d.useState(Ii)[0],a=d.useRef(e);d.useEffect(function(){a.current=e},[e]),d.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var g=og([e.lockRef.current],(e.shards||[]).map(Fi),!0).filter(Boolean);return g.forEach(function(b){return b.classList.add("allow-interactivity-".concat(o))}),function(){document.body.classList.remove("block-interactivity-".concat(o)),g.forEach(function(b){return b.classList.remove("allow-interactivity-".concat(o))})}}},[e.inert,e.lockRef.current,e.shards]);var c=d.useCallback(function(g,b){if("touches"in g&&g.touches.length===2||g.type==="wheel"&&g.ctrlKey)return!a.current.allowPinchZoom;var w=Qr(g),x=r.current,y="deltaX"in g?g.deltaX:x[0]-w[0],C="deltaY"in g?g.deltaY:x[1]-w[1],N,k=g.target,E=Math.abs(y)>Math.abs(C)?"h":"v";if("touches"in g&&E==="h"&&k.type==="range")return!1;var M=Oi(E,k);if(!M)return!0;if(M?N=E:(N=E==="v"?"h":"v",M=Oi(E,k)),!M)return!1;if(!n.current&&"changedTouches"in g&&(y||C)&&(n.current=N),!N)return!0;var F=n.current||N;return Mg(F,b,g,F==="h"?y:C)},[]),l=d.useCallback(function(g){var b=g;if(!(!Ft.length||Ft[Ft.length-1]!==s)){var w="deltaY"in b?Li(b):Qr(b),x=t.current.filter(function(N){return N.name===b.type&&(N.target===b.target||b.target===N.shadowParent)&&Dg(N.delta,w)})[0];if(x&&x.should){b.cancelable&&b.preventDefault();return}if(!x){var y=(a.current.shards||[]).map(Fi).filter(Boolean).filter(function(N){return N.contains(b.target)}),C=y.length>0?c(b,y[0]):!a.current.noIsolation;C&&b.cancelable&&b.preventDefault()}}},[]),f=d.useCallback(function(g,b,w,x){var y={name:g,delta:b,target:w,should:x,shadowParent:Bg(w)};t.current.push(y),setTimeout(function(){t.current=t.current.filter(function(C){return C!==y})},1)},[]),u=d.useCallback(function(g){r.current=Qr(g),n.current=void 0},[]),p=d.useCallback(function(g){f(g.type,Li(g),g.target,c(g,e.lockRef.current))},[]),h=d.useCallback(function(g){f(g.type,Qr(g),g.target,c(g,e.lockRef.current))},[]);d.useEffect(function(){return Ft.push(s),e.setCallbacks({onScrollCapture:p,onWheelCapture:p,onTouchMoveCapture:h}),document.addEventListener("wheel",l,Lt),document.addEventListener("touchmove",l,Lt),document.addEventListener("touchstart",u,Lt),function(){Ft=Ft.filter(function(g){return g!==s}),document.removeEventListener("wheel",l,Lt),document.removeEventListener("touchmove",l,Lt),document.removeEventListener("touchstart",u,Lt)}},[]);var v=e.removeScrollBar,m=e.inert;return d.createElement(d.Fragment,null,m?d.createElement(s,{styles:Lg(o)}):null,v?d.createElement(Tg,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function Bg(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const Ug=pg(Pi,$g);var en=d.forwardRef(function(e,t){return d.createElement(Jr,Je({},e,{ref:t,sideCar:Ug}))});en.classNames=Jr.classNames;var Fo=["Enter"," "],Hg=["ArrowDown","PageUp","Home"],$i=["ArrowUp","PageDown","End"],zg=[...Hg,...$i],Wg={ltr:[...Fo,"ArrowRight"],rtl:[...Fo,"ArrowLeft"]},Vg={ltr:["ArrowLeft"],rtl:["ArrowRight"]},rr="Menu",[nr,jg,Kg]=oo(rr),[bt,Bi]=Be(rr,[Kg,Ot,wi]),tn=Ot(),Ui=wi(),[Rg,vt]=bt(rr),[Gg,or]=bt(rr),Hi=e=>{const{__scopeMenu:t,open:r=!1,children:n,dir:o,onOpenChange:s,modal:a=!0}=e,c=tn(t),[l,f]=d.useState(null),u=d.useRef(!1),p=we(s),h=Dr(o);return d.useEffect(()=>{const v=()=>{u.current=!0,document.addEventListener("pointerdown",m,{capture:!0,once:!0}),document.addEventListener("pointermove",m,{capture:!0,once:!0})},m=()=>u.current=!1;return document.addEventListener("keydown",v,{capture:!0}),()=>{document.removeEventListener("keydown",v,{capture:!0}),document.removeEventListener("pointerdown",m,{capture:!0}),document.removeEventListener("pointermove",m,{capture:!0})}},[]),i.jsx(Eo,{...c,children:i.jsx(Rg,{scope:t,open:r,onOpenChange:p,content:l,onContentChange:f,children:i.jsx(Gg,{scope:t,onClose:d.useCallback(()=>p(!1),[p]),isUsingKeyboardRef:u,dir:h,modal:a,children:n})})})};Hi.displayName=rr;var qg="MenuAnchor",$o=d.forwardRef((e,t)=>{const{__scopeMenu:r,...n}=e,o=tn(r);return i.jsx(No,{...o,...n,ref:t})});$o.displayName=qg;var Bo="MenuPortal",[Xg,zi]=bt(Bo,{forceMount:void 0}),Wi=e=>{const{__scopeMenu:t,forceMount:r,children:n,container:o}=e,s=vt(Bo,t);return i.jsx(Xg,{scope:t,forceMount:r,children:i.jsx(Ae,{present:r||s.open,children:i.jsx(Rr,{asChild:!0,container:o,children:n})})})};Wi.displayName=Bo;var Me="MenuContent",[Yg,Uo]=bt(Me),Vi=d.forwardRef((e,t)=>{const r=zi(Me,e.__scopeMenu),{forceMount:n=r.forceMount,...o}=e,s=vt(Me,e.__scopeMenu),a=or(Me,e.__scopeMenu);return i.jsx(nr.Provider,{scope:e.__scopeMenu,children:i.jsx(Ae,{present:n||s.open,children:i.jsx(nr.Slot,{scope:e.__scopeMenu,children:a.modal?i.jsx(Jg,{...o,ref:t}):i.jsx(Zg,{...o,ref:t})})})})}),Jg=d.forwardRef((e,t)=>{const r=vt(Me,e.__scopeMenu),n=d.useRef(null),o=ie(t,n);return d.useEffect(()=>{const s=n.current;if(s)return ko(s)},[]),i.jsx(Ho,{...e,ref:o,trapFocus:r.open,disableOutsidePointerEvents:r.open,disableOutsideScroll:!0,onFocusOutside:H(e.onFocusOutside,s=>s.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>r.onOpenChange(!1)})}),Zg=d.forwardRef((e,t)=>{const r=vt(Me,e.__scopeMenu);return i.jsx(Ho,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>r.onOpenChange(!1)})}),Qg=Ie.createSlot("MenuContent.ScrollLock"),Ho=d.forwardRef((e,t)=>{const{__scopeMenu:r,loop:n=!1,trapFocus:o,onOpenAutoFocus:s,onCloseAutoFocus:a,disableOutsidePointerEvents:c,onEntryFocus:l,onEscapeKeyDown:f,onPointerDownOutside:u,onFocusOutside:p,onInteractOutside:h,onDismiss:v,disableOutsideScroll:m,...g}=e,b=vt(Me,r),w=or(Me,r),x=tn(r),y=Ui(r),C=jg(r),[N,k]=d.useState(null),E=d.useRef(null),M=ie(t,E,b.onContentChange),F=d.useRef(0),_=d.useRef(""),B=d.useRef(0),R=d.useRef(null),U=d.useRef("right"),D=d.useRef(0),z=m?en:d.Fragment,O=m?{as:Qg,allowPinchZoom:!0}:void 0,G=A=>{var W,V;const ee=_.current+A,q=C().filter(se=>!se.disabled),ce=document.activeElement,$=(W=q.find(se=>se.ref.current===ce))==null?void 0:W.textValue,j=q.map(se=>se.textValue),le=um(j,ee,$),he=(V=q.find(se=>se.textValue===le))==null?void 0:V.ref.current;(function se(K){_.current=K,window.clearTimeout(F.current),K!==""&&(F.current=window.setTimeout(()=>se(""),1e3))})(ee),he&&setTimeout(()=>he.focus())};d.useEffect(()=>()=>window.clearTimeout(F.current),[]),io();const L=d.useCallback(A=>{var q,ce;return U.current===((q=R.current)==null?void 0:q.side)&&pm(A,(ce=R.current)==null?void 0:ce.area)},[]);return i.jsx(Yg,{scope:r,searchRef:_,onItemEnter:d.useCallback(A=>{L(A)&&A.preventDefault()},[L]),onItemLeave:d.useCallback(A=>{var ee;L(A)||((ee=E.current)==null||ee.focus(),k(null))},[L]),onTriggerLeave:d.useCallback(A=>{L(A)&&A.preventDefault()},[L]),pointerGraceTimerRef:B,onPointerGraceIntentChange:d.useCallback(A=>{R.current=A},[]),children:i.jsx(z,{...O,children:i.jsx(Lr,{asChild:!0,trapped:o,onMountAutoFocus:H(s,A=>{var ee;A.preventDefault(),(ee=E.current)==null||ee.focus({preventScroll:!0})}),onUnmountAutoFocus:a,children:i.jsx(Jt,{asChild:!0,disableOutsidePointerEvents:c,onEscapeKeyDown:f,onPointerDownOutside:u,onFocusOutside:p,onInteractOutside:h,onDismiss:v,children:i.jsx(Qh,{asChild:!0,...y,dir:w.dir,orientation:"vertical",loop:n,currentTabStopId:N,onCurrentTabStopIdChange:k,onEntryFocus:H(l,A=>{w.isUsingKeyboardRef.current||A.preventDefault()}),preventScrollOnEntryFocus:!0,children:i.jsx(To,{role:"menu","aria-orientation":"vertical","data-state":ac(b.open),"data-radix-menu-content":"",dir:w.dir,...x,...g,ref:M,style:{outline:"none",...g.style},onKeyDown:H(g.onKeyDown,A=>{const q=A.target.closest("[data-radix-menu-content]")===A.currentTarget,ce=A.ctrlKey||A.altKey||A.metaKey,$=A.key.length===1;q&&(A.key==="Tab"&&A.preventDefault(),!ce&&$&&G(A.key));const j=E.current;if(A.target!==j||!zg.includes(A.key))return;A.preventDefault();const he=C().filter(W=>!W.disabled).map(W=>W.ref.current);$i.includes(A.key)&&he.reverse(),lm(he)}),onBlur:H(e.onBlur,A=>{A.currentTarget.contains(A.target)||(window.clearTimeout(F.current),_.current="")}),onPointerMove:H(e.onPointerMove,ar(A=>{const ee=A.target,q=D.current!==A.clientX;if(A.currentTarget.contains(ee)&&q){const ce=A.clientX>D.current?"right":"left";U.current=ce,D.current=A.clientX}}))})})})})})})});Vi.displayName=Me;var em="MenuGroup",zo=d.forwardRef((e,t)=>{const{__scopeMenu:r,...n}=e;return i.jsx(te.div,{role:"group",...n,ref:t})});zo.displayName=em;var tm="MenuLabel",ji=d.forwardRef((e,t)=>{const{__scopeMenu:r,...n}=e;return i.jsx(te.div,{...n,ref:t})});ji.displayName=tm;var rn="MenuItem",Ki="menu.itemSelect",nn=d.forwardRef((e,t)=>{const{disabled:r=!1,onSelect:n,...o}=e,s=d.useRef(null),a=or(rn,e.__scopeMenu),c=Uo(rn,e.__scopeMenu),l=ie(t,s),f=d.useRef(!1),u=()=>{const p=s.current;if(!r&&p){const h=new CustomEvent(Ki,{bubbles:!0,cancelable:!0});p.addEventListener(Ki,v=>n==null?void 0:n(v),{once:!0}),wa(p,h),h.defaultPrevented?f.current=!1:a.onClose()}};return i.jsx(Ri,{...o,ref:l,disabled:r,onClick:H(e.onClick,u),onPointerDown:p=>{var h;(h=e.onPointerDown)==null||h.call(e,p),f.current=!0},onPointerUp:H(e.onPointerUp,p=>{var h;f.current||(h=p.currentTarget)==null||h.click()}),onKeyDown:H(e.onKeyDown,p=>{const h=c.searchRef.current!=="";r||h&&p.key===" "||Fo.includes(p.key)&&(p.currentTarget.click(),p.preventDefault())})})});nn.displayName=rn;var Ri=d.forwardRef((e,t)=>{const{__scopeMenu:r,disabled:n=!1,textValue:o,...s}=e,a=Uo(rn,r),c=Ui(r),l=d.useRef(null),f=ie(t,l),[u,p]=d.useState(!1),[h,v]=d.useState("");return d.useEffect(()=>{const m=l.current;m&&v((m.textContent??"").trim())},[s.children]),i.jsx(nr.ItemSlot,{scope:r,disabled:n,textValue:o??h,children:i.jsx(eg,{asChild:!0,...c,focusable:!n,children:i.jsx(te.div,{role:"menuitem","data-highlighted":u?"":void 0,"aria-disabled":n||void 0,"data-disabled":n?"":void 0,...s,ref:f,onPointerMove:H(e.onPointerMove,ar(m=>{n?a.onItemLeave(m):(a.onItemEnter(m),m.defaultPrevented||m.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:H(e.onPointerLeave,ar(m=>a.onItemLeave(m))),onFocus:H(e.onFocus,()=>p(!0)),onBlur:H(e.onBlur,()=>p(!1))})})})}),rm="MenuCheckboxItem",Gi=d.forwardRef((e,t)=>{const{checked:r=!1,onCheckedChange:n,...o}=e;return i.jsx(Zi,{scope:e.__scopeMenu,checked:r,children:i.jsx(nn,{role:"menuitemcheckbox","aria-checked":on(r)?"mixed":r,...o,ref:t,"data-state":Vo(r),onSelect:H(o.onSelect,()=>n==null?void 0:n(on(r)?!0:!r),{checkForDefaultPrevented:!1})})})});Gi.displayName=rm;var qi="MenuRadioGroup",[nm,om]=bt(qi,{value:void 0,onValueChange:()=>{}}),Xi=d.forwardRef((e,t)=>{const{value:r,onValueChange:n,...o}=e,s=we(n);return i.jsx(nm,{scope:e.__scopeMenu,value:r,onValueChange:s,children:i.jsx(zo,{...o,ref:t})})});Xi.displayName=qi;var Yi="MenuRadioItem",Ji=d.forwardRef((e,t)=>{const{value:r,...n}=e,o=om(Yi,e.__scopeMenu),s=r===o.value;return i.jsx(Zi,{scope:e.__scopeMenu,checked:s,children:i.jsx(nn,{role:"menuitemradio","aria-checked":s,...n,ref:t,"data-state":Vo(s),onSelect:H(n.onSelect,()=>{var a;return(a=o.onValueChange)==null?void 0:a.call(o,r)},{checkForDefaultPrevented:!1})})})});Ji.displayName=Yi;var Wo="MenuItemIndicator",[Zi,sm]=bt(Wo,{checked:!1}),Qi=d.forwardRef((e,t)=>{const{__scopeMenu:r,forceMount:n,...o}=e,s=sm(Wo,r);return i.jsx(Ae,{present:n||on(s.checked)||s.checked===!0,children:i.jsx(te.span,{...o,ref:t,"data-state":Vo(s.checked)})})});Qi.displayName=Wo;var am="MenuSeparator",ec=d.forwardRef((e,t)=>{const{__scopeMenu:r,...n}=e;return i.jsx(te.div,{role:"separator","aria-orientation":"horizontal",...n,ref:t})});ec.displayName=am;var im="MenuArrow",tc=d.forwardRef((e,t)=>{const{__scopeMenu:r,...n}=e,o=tn(r);return i.jsx(Ao,{...o,...n,ref:t})});tc.displayName=im;var cm="MenuSub",[Yw,rc]=bt(cm),sr="MenuSubTrigger",nc=d.forwardRef((e,t)=>{const r=vt(sr,e.__scopeMenu),n=or(sr,e.__scopeMenu),o=rc(sr,e.__scopeMenu),s=Uo(sr,e.__scopeMenu),a=d.useRef(null),{pointerGraceTimerRef:c,onPointerGraceIntentChange:l}=s,f={__scopeMenu:e.__scopeMenu},u=d.useCallback(()=>{a.current&&window.clearTimeout(a.current),a.current=null},[]);return d.useEffect(()=>u,[u]),d.useEffect(()=>{const p=c.current;return()=>{window.clearTimeout(p),l(null)}},[c,l]),i.jsx($o,{asChild:!0,...f,children:i.jsx(Ri,{id:o.triggerId,"aria-haspopup":"menu","aria-expanded":r.open,"aria-controls":o.contentId,"data-state":ac(r.open),...e,ref:Qn(t,o.onTriggerChange),onClick:p=>{var h;(h=e.onClick)==null||h.call(e,p),!(e.disabled||p.defaultPrevented)&&(p.currentTarget.focus(),r.open||r.onOpenChange(!0))},onPointerMove:H(e.onPointerMove,ar(p=>{s.onItemEnter(p),!p.defaultPrevented&&!e.disabled&&!r.open&&!a.current&&(s.onPointerGraceIntentChange(null),a.current=window.setTimeout(()=>{r.onOpenChange(!0),u()},100))})),onPointerLeave:H(e.onPointerLeave,ar(p=>{var v,m;u();const h=(v=r.content)==null?void 0:v.getBoundingClientRect();if(h){const g=(m=r.content)==null?void 0:m.dataset.side,b=g==="right",w=b?-5:5,x=h[b?"left":"right"],y=h[b?"right":"left"];s.onPointerGraceIntentChange({area:[{x:p.clientX+w,y:p.clientY},{x,y:h.top},{x:y,y:h.top},{x:y,y:h.bottom},{x,y:h.bottom}],side:g}),window.clearTimeout(c.current),c.current=window.setTimeout(()=>s.onPointerGraceIntentChange(null),300)}else{if(s.onTriggerLeave(p),p.defaultPrevented)return;s.onPointerGraceIntentChange(null)}})),onKeyDown:H(e.onKeyDown,p=>{var v;const h=s.searchRef.current!=="";e.disabled||h&&p.key===" "||Wg[n.dir].includes(p.key)&&(r.onOpenChange(!0),(v=r.content)==null||v.focus(),p.preventDefault())})})})});nc.displayName=sr;var oc="MenuSubContent",sc=d.forwardRef((e,t)=>{const r=zi(Me,e.__scopeMenu),{forceMount:n=r.forceMount,...o}=e,s=vt(Me,e.__scopeMenu),a=or(Me,e.__scopeMenu),c=rc(oc,e.__scopeMenu),l=d.useRef(null),f=ie(t,l);return i.jsx(nr.Provider,{scope:e.__scopeMenu,children:i.jsx(Ae,{present:n||s.open,children:i.jsx(nr.Slot,{scope:e.__scopeMenu,children:i.jsx(Ho,{id:c.contentId,"aria-labelledby":c.triggerId,...o,ref:f,align:"start",side:a.dir==="rtl"?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:u=>{var p;a.isUsingKeyboardRef.current&&((p=l.current)==null||p.focus()),u.preventDefault()},onCloseAutoFocus:u=>u.preventDefault(),onFocusOutside:H(e.onFocusOutside,u=>{u.target!==c.trigger&&s.onOpenChange(!1)}),onEscapeKeyDown:H(e.onEscapeKeyDown,u=>{a.onClose(),u.preventDefault()}),onKeyDown:H(e.onKeyDown,u=>{var v;const p=u.currentTarget.contains(u.target),h=Vg[a.dir].includes(u.key);p&&h&&(s.onOpenChange(!1),(v=c.trigger)==null||v.focus(),u.preventDefault())})})})})})});sc.displayName=oc;function ac(e){return e?"open":"closed"}function on(e){return e==="indeterminate"}function Vo(e){return on(e)?"indeterminate":e?"checked":"unchecked"}function lm(e){const t=document.activeElement;for(const r of e)if(r===t||(r.focus(),document.activeElement!==t))return}function dm(e,t){return e.map((r,n)=>e[(t+n)%e.length])}function um(e,t,r){const o=t.length>1&&Array.from(t).every(f=>f===t[0])?t[0]:t,s=r?e.indexOf(r):-1;let a=dm(e,Math.max(s,0));o.length===1&&(a=a.filter(f=>f!==r));const l=a.find(f=>f.toLowerCase().startsWith(o.toLowerCase()));return l!==r?l:void 0}function fm(e,t){const{x:r,y:n}=e;let o=!1;for(let s=0,a=t.length-1;s<t.length;a=s++){const c=t[s],l=t[a],f=c.x,u=c.y,p=l.x,h=l.y;u>n!=h>n&&r<(p-f)*(n-u)/(h-u)+f&&(o=!o)}return o}function pm(e,t){if(!t)return!1;const r={x:e.clientX,y:e.clientY};return fm(r,t)}function ar(e){return t=>t.pointerType==="mouse"?e(t):void 0}var hm=Hi,gm=$o,mm=Wi,bm=Vi,vm=zo,wm=ji,ym=nn,xm=Gi,Sm=Xi,Cm=Ji,Em=Qi,Nm=ec,Tm=tc,Am=nc,Pm=sc,sn="DropdownMenu",[Im,Jw]=Be(sn,[Bi]),Se=Bi(),[_m,ic]=Im(sn),cc=e=>{const{__scopeDropdownMenu:t,children:r,dir:n,open:o,defaultOpen:s,onOpenChange:a,modal:c=!0}=e,l=Se(t),f=d.useRef(null),[u,p]=ot({prop:o,defaultProp:s??!1,onChange:a,caller:sn});return i.jsx(_m,{scope:t,triggerId:Ue(),triggerRef:f,contentId:Ue(),open:u,onOpenChange:p,onOpenToggle:d.useCallback(()=>p(h=>!h),[p]),modal:c,children:i.jsx(hm,{...l,open:u,onOpenChange:p,dir:n,modal:c,children:r})})};cc.displayName=sn;var lc="DropdownMenuTrigger",dc=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,disabled:n=!1,...o}=e,s=ic(lc,r),a=Se(r);return i.jsx(gm,{asChild:!0,...a,children:i.jsx(te.button,{type:"button",id:s.triggerId,"aria-haspopup":"menu","aria-expanded":s.open,"aria-controls":s.open?s.contentId:void 0,"data-state":s.open?"open":"closed","data-disabled":n?"":void 0,disabled:n,...o,ref:Qn(t,s.triggerRef),onPointerDown:H(e.onPointerDown,c=>{!n&&c.button===0&&c.ctrlKey===!1&&(s.onOpenToggle(),s.open||c.preventDefault())}),onKeyDown:H(e.onKeyDown,c=>{n||(["Enter"," "].includes(c.key)&&s.onOpenToggle(),c.key==="ArrowDown"&&s.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(c.key)&&c.preventDefault())})})})});dc.displayName=lc;var km="DropdownMenuPortal",uc=e=>{const{__scopeDropdownMenu:t,...r}=e,n=Se(t);return i.jsx(mm,{...n,...r})};uc.displayName=km;var fc="DropdownMenuContent",pc=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,o=ic(fc,r),s=Se(r),a=d.useRef(!1);return i.jsx(bm,{id:o.contentId,"aria-labelledby":o.triggerId,...s,...n,ref:t,onCloseAutoFocus:H(e.onCloseAutoFocus,c=>{var l;a.current||(l=o.triggerRef.current)==null||l.focus(),a.current=!1,c.preventDefault()}),onInteractOutside:H(e.onInteractOutside,c=>{const l=c.detail.originalEvent,f=l.button===0&&l.ctrlKey===!0,u=l.button===2||f;(!o.modal||u)&&(a.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});pc.displayName=fc;var Om="DropdownMenuGroup",Mm=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,o=Se(r);return i.jsx(vm,{...o,...n,ref:t})});Mm.displayName=Om;var Dm="DropdownMenuLabel",hc=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,o=Se(r);return i.jsx(wm,{...o,...n,ref:t})});hc.displayName=Dm;var Lm="DropdownMenuItem",gc=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,o=Se(r);return i.jsx(ym,{...o,...n,ref:t})});gc.displayName=Lm;var Fm="DropdownMenuCheckboxItem",mc=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,o=Se(r);return i.jsx(xm,{...o,...n,ref:t})});mc.displayName=Fm;var $m="DropdownMenuRadioGroup",Bm=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,o=Se(r);return i.jsx(Sm,{...o,...n,ref:t})});Bm.displayName=$m;var Um="DropdownMenuRadioItem",bc=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,o=Se(r);return i.jsx(Cm,{...o,...n,ref:t})});bc.displayName=Um;var Hm="DropdownMenuItemIndicator",vc=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,o=Se(r);return i.jsx(Em,{...o,...n,ref:t})});vc.displayName=Hm;var zm="DropdownMenuSeparator",wc=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,o=Se(r);return i.jsx(Nm,{...o,...n,ref:t})});wc.displayName=zm;var Wm="DropdownMenuArrow",Vm=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,o=Se(r);return i.jsx(Tm,{...o,...n,ref:t})});Vm.displayName=Wm;var jm="DropdownMenuSubTrigger",yc=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,o=Se(r);return i.jsx(Am,{...o,...n,ref:t})});yc.displayName=jm;var Km="DropdownMenuSubContent",xc=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,o=Se(r);return i.jsx(Pm,{...o,...n,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});xc.displayName=Km;var Rm=cc,Gm=dc,qm=uc,Sc=pc,Cc=hc,Ec=gc,Nc=mc,Tc=bc,Ac=vc,Pc=wc,Ic=yc,_c=xc;const Xm=Rm,Ym=Gm,Jm=d.forwardRef(({className:e,inset:t,children:r,...n},o)=>i.jsxs(Ic,{ref:o,className:P("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent",t&&"pl-8",e),...n,children:[r,i.jsx(Y.ChevronRight,{className:"ml-auto h-4 w-4"})]}));Jm.displayName=Ic.displayName;const Zm=d.forwardRef(({className:e,...t},r)=>i.jsx(_c,{ref:r,className:P("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",e),...t}));Zm.displayName=_c.displayName;const kc=d.forwardRef(({className:e,sideOffset:t=4,...r},n)=>i.jsx(qm,{children:i.jsx(Sc,{ref:n,sideOffset:t,className:P("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",e),...r})}));kc.displayName=Sc.displayName;const jo=d.forwardRef(({className:e,inset:t,...r},n)=>i.jsx(Ec,{ref:n,className:P("relative flex cursor-default select-none items-center 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",t&&"pl-8",e),...r}));jo.displayName=Ec.displayName;const Qm=d.forwardRef(({className:e,children:t,checked:r,...n},o)=>i.jsxs(Nc,{ref:o,className:P("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",e),checked:r,...n,children:[i.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:i.jsx(Ac,{children:i.jsx(Y.Check,{className:"h-4 w-4"})})}),t]}));Qm.displayName=Nc.displayName;const eb=d.forwardRef(({className:e,children:t,...r},n)=>i.jsxs(Tc,{ref:n,className:P("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",e),...r,children:[i.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:i.jsx(Ac,{children:i.jsx(Y.Circle,{className:"h-2 w-2 fill-current"})})}),t]}));eb.displayName=Tc.displayName;const tb=d.forwardRef(({className:e,inset:t,...r},n)=>i.jsx(Cc,{ref:n,className:P("px-2 py-1.5 text-sm font-semibold",t&&"pl-8",e),...r}));tb.displayName=Cc.displayName;const rb=d.forwardRef(({className:e,...t},r)=>i.jsx(Pc,{ref:r,className:P("-mx-1 my-1 h-px bg-muted",e),...t}));rb.displayName=Pc.displayName;function ir({className:e="",placeholder:t="Type your message...",autoFocus:r=!0,maxHeight:n=void 0,streamingDebounceMs:o=40,enableFileUpload:s=!0,enableExcelUpload:a=!1,enableMessageEditing:c=!0,customStyles:l={},onMessageSent:f,onExcelUploadSuccess:u,onError:p}){const{currentThreadId:h,messages:v,isStreaming:m,streamingAssistantId:g,error:b,send:w,stop:x,lastCheckpointId:y,listCheckpoints:C,navigateToCheckpoint:N,returnToLatest:k,hasMoreHistory:E,isLoadingHistory:M,loadOlderMessages:F,api:_}=Zn();try{const I=typeof window<"u"?localStorage.getItem("currentThreadId"):null;console.log("ChatInterface debug - useChat()",{currentThreadId:h,lastCheckpointId:y,lsThread:I})}catch(I){console.log("ChatInterface debug - localStorage not available",I)}const[B,R]=T.useState(""),[U,D]=T.useState(null),[z,O]=T.useState(null),[G,L]=T.useState([]),[A,ee]=T.useState(!1),[q,ce]=T.useState(null),[$,j]=T.useState(null),[le,he]=T.useState(!1),[W,V]=T.useState(null),[se,K]=T.useState([]),[J,ne]=T.useState(null),me=T.useRef(null),pe=T.useRef(null),Z=T.useRef(null),X=T.useRef(null),ge=T.useRef(null),Oe=T.useRef(!1),Ce=T.useRef(!0),pr=T.useRef(0),ut=T.useRef(null),[Ht,gs]=T.useState("desktop");T.useEffect(()=>{const I=()=>{const Q=window.innerWidth;gs(Q<640?"phone":Q<1024?"tablet":"desktop")};return I(),window.addEventListener("resize",I),()=>window.removeEventListener("resize",I)},[]),T.useEffect(()=>{let I=!1;if(!h){K([]),ne(null),ut.current=null;return}const Q={threadId:h,checkpointId:y??null},ue=ut.current;if(!(ue&&ue.threadId===Q.threadId&&ue.checkpointId===Q.checkpointId))return ut.current=Q,C(h).then(de=>{if(console.log("ChatInterface debug - listCheckpoints response:",de),I)return;const Fe=((de==null?void 0:de.checkpoints)??[]).slice().sort((ft,Dn)=>new Date(Dn.createdAt).getTime()-new Date(ft.createdAt).getTime());console.log("ChatInterface debug - computed checkpoints:",Fe),K(Fe),ne(ft=>{var Dn;return ft??((Dn=Fe[0])==null?void 0:Dn.checkpointId)??null})}).catch(de=>{console.error("ChatInterface debug - listCheckpoints error:",de),I||(K([]),ut.current=null)}),()=>{I=!0}},[h,y,C]),T.useEffect(()=>{y&&ne(y)},[y]);const zt=T.useCallback(async()=>{if(!E||M)return;const I=ge.current;if(!I)return;const Q=I.scrollHeight,ue=I.scrollTop;Oe.current=!0;try{await F()}catch(de){console.warn("loadOlderMessages failed",de)}finally{requestAnimationFrame(()=>{const de=ge.current;if(!de){Oe.current=!1;return}const Fe=de.scrollHeight;de.scrollTop=ue+(Fe-Q);const ft=Fe-de.scrollTop-de.clientHeight;Ce.current=ft<=32,Oe.current=!1})}},[E,M,F]);T.useEffect(()=>{const I=ge.current;if(!I)return;const Q=()=>{I.scrollTop<=80&&zt();const Fe=I.scrollHeight-I.scrollTop-I.clientHeight;Ce.current=Fe<=80};return I.addEventListener("scroll",Q),()=>I.removeEventListener("scroll",Q)},[zt]),T.useEffect(()=>{v.length<pr.current&&(Ce.current=!0),pr.current=v.length},[v.length]),T.useEffect(()=>{const I=ge.current;I&&(Oe.current||Ce.current&&(I.scrollTop=I.scrollHeight,Ce.current=!0))},[v]),T.useEffect(()=>{var I;r&&((I=pe.current)==null||I.focus())},[r]),T.useEffect(()=>{(async()=>{try{const Q=await _.getAgent("default");V(Q.uiDefaultMessage||null)}catch(Q){console.warn("Failed to fetch default message:",Q),V(null)}})()},[_]),T.useEffect(()=>{b&&!le&&(p==null||p(b))},[b,le,p]);const ms=I=>{if(I.length>At)return`Message too long (${I.length}/${At} characters)`;try{return ip(I),null}catch(Q){return(Q==null?void 0:Q.message)||"Invalid message"}},In=I=>{const Q=I.content||[],ue=Q.filter(de=>de.type==="text").map(de=>de.text).join("");if(ue)return ue;try{return JSON.stringify(Q,null,2)}catch{return String(Q)}},_n=async()=>{const I=B.trim();if(!(!I&&G.length===0)){if(I){const Q=ms(I);if(Q){O(Q);return}}try{await w(I,{checkpointId:J||y||void 0,payloadExtras:U?{edit:!0,originalMessageId:U}:void 0,attachments:G}),f==null||f(I),R(""),O(null),L([]),D(null),pe.current&&(pe.current.style.height="auto")}catch(Q){const ue=(Q==null?void 0:Q.message)||"Failed to send message";O(ue),p==null||p(ue)}}},bs=(I,Q)=>{c&&(D(I),R(Q),O(null),setTimeout(()=>{pe.current&&(pe.current.focus(),pe.current.style.height="auto",pe.current.style.height=pe.current.scrollHeight+"px")},0))},hr=()=>{D(null),R(""),O(null),pe.current&&(pe.current.style.height="auto")},kn=I=>{I.key==="Enter"&&!I.shiftKey?(I.preventDefault(),_n()):I.key==="Escape"&&U&&(I.preventDefault(),hr())},ae=I=>{const Q=Array.from(I.target.files||[]);L(ue=>[...ue,...Q])},xe=I=>L(Q=>Q.filter((ue,de)=>I!==de)),Pe=async I=>{const Q=(I.target.files||[])[0];if(Q){ce(null),j(null),ee(!0);try{const ue=await _.uploadExcel(Q),de=ue.sheets.map(ft=>`${ft.sheetName} -> ${ft.tableName}`).join(", "),Fe=de?`Uploaded ${Q.name} (${ue.sheets.length} sheet${ue.sheets.length===1?"":"s"}: ${de})`:`Uploaded ${Q.name}`;j(Fe),u==null||u({file:Q,response:ue})}catch(ue){const de=ue instanceof Error?ue.message:"Failed to upload Excel file";console.error("Excel upload failed",ue),ce(de),p==null||p(de)}finally{ee(!1),I.target.value=""}}},je=I=>{if(!I)return"Unknown";const Q=Date.parse(I);return Number.isNaN(Q)?I:new Date(Q).toLocaleString()},rt=async I=>{if(h){if(!I){await k(),ne(null);return}await N(I),ne(I)}},On=`flex flex-1 w-full flex-col min-h-0 min-w-0 max-h-full overflow-hidden bg-transparent ${e} ${l.container||""}`,Mn=`flex-1 min-h-0 min-w-0 max-h-full w-full overflow-y-auto overflow-x-auto overscroll-contain break-words break-anywhere p-4 space-y-4 bg-transparent ${l.messagesArea||""}`,vs=`flex-shrink-0 w-full border-t p-4 bg-transparent ${l.inputArea||""}`;return i.jsxs("div",{className:On,children:[!!b&&!le&&i.jsxs("div",{className:"flex-shrink-0 bg-red-50 border border-red-200 text-red-800 px-4 py-2 text-sm flex items-center justify-between",children:[i.jsx("span",{children:b}),i.jsx(fe,{variant:"ghost",size:"sm",onClick:()=>he(!0),className:"text-red-800 hover:bg-red-100","aria-label":"Dismiss error",children:i.jsx(Y.X,{size:16})})]}),(console.log("Checkpoint toolbar render",{currentThreadId:h,checkpoints:se,activeCheckpointId:J}),null),h&&se.length>0&&i.jsxs("div",{className:"flex-shrink-0 flex items-center gap-2 px-4 py-2 border-b border-border bg-muted/60 text-xs dark:bg-muted/50",children:[i.jsx("span",{className:"opacity-70",children:"Checkpoint:"}),i.jsxs("select",{className:"border border-border rounded px-2 py-1 text-xs bg-card text-foreground focus:outline-none focus:ring-1 focus:ring-ring dark:bg-secondary",value:J??"",onChange:I=>{const Q=I.target.value||null;rt(Q)},children:[i.jsx("option",{value:"",children:"Latest"}),se.map(I=>i.jsxs("option",{value:I.checkpointId,children:[je(I.createdAt),I.preview?` — ${I.preview.slice(0,40)}`:""]},I.checkpointId))]})]}),i.jsxs("div",{ref:ge,className:Mn,style:n?{maxHeight:n}:void 0,children:[v.length===0?i.jsx("div",{className:"flex items-center justify-center py-8 text-muted-foreground text-center max-w-md mx-auto",children:W||"No messages yet. Start a conversation!"}):i.jsxs(i.Fragment,{children:[(M||!E)&&i.jsx("div",{className:"flex justify-center py-2 text-xs text-muted-foreground",children:M?i.jsx(Y.Loader2,{className:"h-4 w-4 animate-spin"}):"You've reached the beginning"}),v.map((I,Q)=>i.jsx(Na,{message:I,messageIndex:Q,isStreamingMessage:m&&g===I.id,streamingDebounceMs:o,isEditing:U===I.id,showActions:c,showTimestamp:!1,showAgentName:!0,layoutSize:Ht,truncateToolMessages:!1,toolMessagePreviewLength:200,onEdit:(ue,de)=>bs(ue,de),onRegenerate:()=>{const ue=[...v].reverse().find(Fe=>Fe.role==="user"),de=ue?In(ue):"";de&&w(de,{checkpointId:J||y||void 0})},onCancelEdit:hr},I.id||Q))]}),i.jsx("div",{ref:me})]}),i.jsxs("div",{className:vs,children:[U&&i.jsx("div",{className:"mb-3 p-3 bg-blue-50 border border-blue-200 rounded-lg",children:i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx(Y.Edit3,{size:16,className:"text-blue-600"}),i.jsx("span",{className:"text-sm font-medium text-blue-800",children:"Editing message"})]}),i.jsx(fe,{variant:"ghost",size:"sm",onClick:hr,className:"text-blue-600 hover:bg-blue-100",children:i.jsx(Y.X,{size:16})})]})}),(s||a)&&i.jsxs("div",{className:"mb-3 space-y-3",children:[s&&i.jsxs(i.Fragment,{children:[i.jsx("input",{ref:Z,type:"file",multiple:!0,onChange:I=>ae(I),className:"hidden"}),G.length>0&&i.jsx("div",{className:"flex flex-wrap gap-2",children:G.map((I,Q)=>i.jsxs("div",{className:"flex items-center gap-2 bg-gray-100 dark:bg-gray-800 rounded-lg px-3 py-2 text-sm text-gray-900 dark:text-gray-100",children:[i.jsx(Y.Paperclip,{size:14}),i.jsx("span",{className:"truncate max-w-[150px]",children:I.name}),i.jsx(fe,{variant:"ghost",size:"sm",onClick:()=>xe(Q),className:"h-4 w-4 p-0 text-gray-500 dark:text-gray-400 hover:text-red-500 dark:hover:text-red-400","aria-label":`Remove ${I.name}`,children:i.jsx(Y.X,{size:12})})]},Q))})]}),a&&i.jsxs(i.Fragment,{children:[i.jsx("input",{ref:X,type:"file",accept:".xls,.xlsx,.xlsm",onChange:Pe,className:"hidden"}),A&&i.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[i.jsx(Y.Loader2,{className:"h-4 w-4 animate-spin"})," Uploading Excel file..."]}),$&&!A&&i.jsx("div",{className:"text-sm rounded border border-emerald-200 bg-emerald-50 px-3 py-2 text-emerald-700",children:$}),q&&!A&&i.jsx("div",{className:"text-sm rounded border border-red-200 bg-red-50 px-3 py-2 text-red-600",children:q})]})]}),z&&i.jsx("div",{className:"mb-3 text-sm text-red-600 bg-red-50 border border-red-200 rounded px-3 py-2",children:z}),i.jsxs("div",{className:"flex items-end gap-2",children:[(s||a)&&i.jsxs(Xm,{children:[i.jsx(Ym,{asChild:!0,children:i.jsx(fe,{type:"button",size:"icon",variant:"outline",disabled:m,title:"More input actions",className:l.moreButton||"",children:i.jsx(Y.Plus,{size:16})})}),i.jsxs(kc,{align:"start",sideOffset:6,className:"w-52",children:[s&&i.jsxs(jo,{onClick:()=>{var I;return(I=Z.current)==null?void 0:I.click()},className:"cursor-pointer",children:[i.jsx(Y.Paperclip,{className:"h-4 w-4 mr-2"})," Attach files or images"]}),a&&i.jsxs(jo,{onClick:()=>{var I;A||(I=X.current)==null||I.click()},className:`cursor-pointer ${A?"opacity-60 pointer-events-none":""}`,children:[i.jsx(Y.FileSpreadsheet,{className:"h-4 w-4 mr-2"})," Upload Excel file"]})]})]}),i.jsx("div",{className:"flex-1",children:i.jsx(ma,{ref:pe,value:B,onChange:I=>{R(I.target.value),O(null),pe.current&&(pe.current.style.height="auto",pe.current.style.height=`${pe.current.scrollHeight}px`)},onKeyDown:kn,placeholder:U?"Edit your message...":t,className:`resize-none min-h-[44px] max-h-[20rem] w-full transition-colors ${U?"border-blue-400 bg-blue-50 text-blue-900 dark:border-blue-500 dark:bg-blue-950/60 dark:text-blue-50":""} ${z?"border-red-400":""} ${l.textarea||""}`,disabled:!1,maxLength:At,rows:1})}),i.jsx("div",{children:m?i.jsx(fe,{type:"button",onClick:x,size:"icon",variant:"outline",className:"shrink-0",title:"Stop generating",children:i.jsx(Y.Square,{size:16})}):i.jsx(fe,{type:"button",onClick:_n,size:"icon",disabled:!B.trim()&&G.length===0,className:`shrink-0 ${G.length>0?"bg-blue-500 hover:bg-blue-600 text-white":""} ${l.sendButton||""}`,title:U?"Save changes":"Send message",children:i.jsx(Y.Send,{size:16})})})]}),B.length>At*.8&&i.jsxs("div",{className:"mt-2 text-xs text-gray-500 text-right",children:[B.length,"/",At]})]})]})}const cr=d.forwardRef(({className:e,type:t,...r},n)=>i.jsx("input",{type:t,className:P("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:n,...r}));cr.displayName="Input";function Ko(e,[t,r]){return Math.min(r,Math.max(t,e))}function nb(e,t){return d.useReducer((r,n)=>t[r][n]??r,e)}var Ro="ScrollArea",[Oc,Zw]=Be(Ro),[ob,De]=Oc(Ro),Mc=d.forwardRef((e,t)=>{const{__scopeScrollArea:r,type:n="hover",dir:o,scrollHideDelay:s=600,...a}=e,[c,l]=d.useState(null),[f,u]=d.useState(null),[p,h]=d.useState(null),[v,m]=d.useState(null),[g,b]=d.useState(null),[w,x]=d.useState(0),[y,C]=d.useState(0),[N,k]=d.useState(!1),[E,M]=d.useState(!1),F=ie(t,B=>l(B)),_=Dr(o);return i.jsx(ob,{scope:r,type:n,dir:_,scrollHideDelay:s,scrollArea:c,viewport:f,onViewportChange:u,content:p,onContentChange:h,scrollbarX:v,onScrollbarXChange:m,scrollbarXEnabled:N,onScrollbarXEnabledChange:k,scrollbarY:g,onScrollbarYChange:b,scrollbarYEnabled:E,onScrollbarYEnabledChange:M,onCornerWidthChange:x,onCornerHeightChange:C,children:i.jsx(te.div,{dir:_,...a,ref:F,style:{position:"relative","--radix-scroll-area-corner-width":w+"px","--radix-scroll-area-corner-height":y+"px",...e.style}})})});Mc.displayName=Ro;var Dc="ScrollAreaViewport",Lc=d.forwardRef((e,t)=>{const{__scopeScrollArea:r,children:n,nonce:o,...s}=e,a=De(Dc,r),c=d.useRef(null),l=ie(t,c,a.onViewportChange);return i.jsxs(i.Fragment,{children:[i.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:o}),i.jsx(te.div,{"data-radix-scroll-area-viewport":"",...s,ref:l,style:{overflowX:a.scrollbarXEnabled?"scroll":"hidden",overflowY:a.scrollbarYEnabled?"scroll":"hidden",...e.style},children:i.jsx("div",{ref:a.onContentChange,style:{minWidth:"100%",display:"table"},children:n})})]})});Lc.displayName=Dc;var Ze="ScrollAreaScrollbar",Go=d.forwardRef((e,t)=>{const{forceMount:r,...n}=e,o=De(Ze,e.__scopeScrollArea),{onScrollbarXEnabledChange:s,onScrollbarYEnabledChange:a}=o,c=e.orientation==="horizontal";return d.useEffect(()=>(c?s(!0):a(!0),()=>{c?s(!1):a(!1)}),[c,s,a]),o.type==="hover"?i.jsx(sb,{...n,ref:t,forceMount:r}):o.type==="scroll"?i.jsx(ab,{...n,ref:t,forceMount:r}):o.type==="auto"?i.jsx(Fc,{...n,ref:t,forceMount:r}):o.type==="always"?i.jsx(qo,{...n,ref:t}):null});Go.displayName=Ze;var sb=d.forwardRef((e,t)=>{const{forceMount:r,...n}=e,o=De(Ze,e.__scopeScrollArea),[s,a]=d.useState(!1);return d.useEffect(()=>{const c=o.scrollArea;let l=0;if(c){const f=()=>{window.clearTimeout(l),a(!0)},u=()=>{l=window.setTimeout(()=>a(!1),o.scrollHideDelay)};return c.addEventListener("pointerenter",f),c.addEventListener("pointerleave",u),()=>{window.clearTimeout(l),c.removeEventListener("pointerenter",f),c.removeEventListener("pointerleave",u)}}},[o.scrollArea,o.scrollHideDelay]),i.jsx(Ae,{present:r||s,children:i.jsx(Fc,{"data-state":s?"visible":"hidden",...n,ref:t})})}),ab=d.forwardRef((e,t)=>{const{forceMount:r,...n}=e,o=De(Ze,e.__scopeScrollArea),s=e.orientation==="horizontal",a=dn(()=>l("SCROLL_END"),100),[c,l]=nb("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return d.useEffect(()=>{if(c==="idle"){const f=window.setTimeout(()=>l("HIDE"),o.scrollHideDelay);return()=>window.clearTimeout(f)}},[c,o.scrollHideDelay,l]),d.useEffect(()=>{const f=o.viewport,u=s?"scrollLeft":"scrollTop";if(f){let p=f[u];const h=()=>{const v=f[u];p!==v&&(l("SCROLL"),a()),p=v};return f.addEventListener("scroll",h),()=>f.removeEventListener("scroll",h)}},[o.viewport,s,l,a]),i.jsx(Ae,{present:r||c!=="hidden",children:i.jsx(qo,{"data-state":c==="hidden"?"hidden":"visible",...n,ref:t,onPointerEnter:H(e.onPointerEnter,()=>l("POINTER_ENTER")),onPointerLeave:H(e.onPointerLeave,()=>l("POINTER_LEAVE"))})})}),Fc=d.forwardRef((e,t)=>{const r=De(Ze,e.__scopeScrollArea),{forceMount:n,...o}=e,[s,a]=d.useState(!1),c=e.orientation==="horizontal",l=dn(()=>{if(r.viewport){const f=r.viewport.offsetWidth<r.viewport.scrollWidth,u=r.viewport.offsetHeight<r.viewport.scrollHeight;a(c?f:u)}},10);return $t(r.viewport,l),$t(r.content,l),i.jsx(Ae,{present:n||s,children:i.jsx(qo,{"data-state":s?"visible":"hidden",...o,ref:t})})}),qo=d.forwardRef((e,t)=>{const{orientation:r="vertical",...n}=e,o=De(Ze,e.__scopeScrollArea),s=d.useRef(null),a=d.useRef(0),[c,l]=d.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),f=zc(c.viewport,c.content),u={...n,sizes:c,onSizesChange:l,hasThumb:f>0&&f<1,onThumbChange:h=>s.current=h,onThumbPointerUp:()=>a.current=0,onThumbPointerDown:h=>a.current=h};function p(h,v){return fb(h,a.current,c,v)}return r==="horizontal"?i.jsx(ib,{...u,ref:t,onThumbPositionChange:()=>{if(o.viewport&&s.current){const h=o.viewport.scrollLeft,v=Wc(h,c,o.dir);s.current.style.transform=`translate3d(${v}px, 0, 0)`}},onWheelScroll:h=>{o.viewport&&(o.viewport.scrollLeft=h)},onDragScroll:h=>{o.viewport&&(o.viewport.scrollLeft=p(h,o.dir))}}):r==="vertical"?i.jsx(cb,{...u,ref:t,onThumbPositionChange:()=>{if(o.viewport&&s.current){const h=o.viewport.scrollTop,v=Wc(h,c);s.current.style.transform=`translate3d(0, ${v}px, 0)`}},onWheelScroll:h=>{o.viewport&&(o.viewport.scrollTop=h)},onDragScroll:h=>{o.viewport&&(o.viewport.scrollTop=p(h))}}):null}),ib=d.forwardRef((e,t)=>{const{sizes:r,onSizesChange:n,...o}=e,s=De(Ze,e.__scopeScrollArea),[a,c]=d.useState(),l=d.useRef(null),f=ie(t,l,s.onScrollbarXChange);return d.useEffect(()=>{l.current&&c(getComputedStyle(l.current))},[l]),i.jsx(Bc,{"data-orientation":"horizontal",...o,ref:f,sizes:r,style:{bottom:0,left:s.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:s.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":ln(r)+"px",...e.style},onThumbPointerDown:u=>e.onThumbPointerDown(u.x),onDragScroll:u=>e.onDragScroll(u.x),onWheelScroll:(u,p)=>{if(s.viewport){const h=s.viewport.scrollLeft+u.deltaX;e.onWheelScroll(h),jc(h,p)&&u.preventDefault()}},onResize:()=>{l.current&&s.viewport&&a&&n({content:s.viewport.scrollWidth,viewport:s.viewport.offsetWidth,scrollbar:{size:l.current.clientWidth,paddingStart:cn(a.paddingLeft),paddingEnd:cn(a.paddingRight)}})}})}),cb=d.forwardRef((e,t)=>{const{sizes:r,onSizesChange:n,...o}=e,s=De(Ze,e.__scopeScrollArea),[a,c]=d.useState(),l=d.useRef(null),f=ie(t,l,s.onScrollbarYChange);return d.useEffect(()=>{l.current&&c(getComputedStyle(l.current))},[l]),i.jsx(Bc,{"data-orientation":"vertical",...o,ref:f,sizes:r,style:{top:0,right:s.dir==="ltr"?0:void 0,left:s.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":ln(r)+"px",...e.style},onThumbPointerDown:u=>e.onThumbPointerDown(u.y),onDragScroll:u=>e.onDragScroll(u.y),onWheelScroll:(u,p)=>{if(s.viewport){const h=s.viewport.scrollTop+u.deltaY;e.onWheelScroll(h),jc(h,p)&&u.preventDefault()}},onResize:()=>{l.current&&s.viewport&&a&&n({content:s.viewport.scrollHeight,viewport:s.viewport.offsetHeight,scrollbar:{size:l.current.clientHeight,paddingStart:cn(a.paddingTop),paddingEnd:cn(a.paddingBottom)}})}})}),[lb,$c]=Oc(Ze),Bc=d.forwardRef((e,t)=>{const{__scopeScrollArea:r,sizes:n,hasThumb:o,onThumbChange:s,onThumbPointerUp:a,onThumbPointerDown:c,onThumbPositionChange:l,onDragScroll:f,onWheelScroll:u,onResize:p,...h}=e,v=De(Ze,r),[m,g]=d.useState(null),b=ie(t,F=>g(F)),w=d.useRef(null),x=d.useRef(""),y=v.viewport,C=n.content-n.viewport,N=we(u),k=we(l),E=dn(p,10);function M(F){if(w.current){const _=F.clientX-w.current.left,B=F.clientY-w.current.top;f({x:_,y:B})}}return d.useEffect(()=>{const F=_=>{const B=_.target;(m==null?void 0:m.contains(B))&&N(_,C)};return document.addEventListener("wheel",F,{passive:!1}),()=>document.removeEventListener("wheel",F,{passive:!1})},[y,m,C,N]),d.useEffect(k,[n,k]),$t(m,E),$t(v.content,E),i.jsx(lb,{scope:r,scrollbar:m,hasThumb:o,onThumbChange:we(s),onThumbPointerUp:we(a),onThumbPositionChange:k,onThumbPointerDown:we(c),children:i.jsx(te.div,{...h,ref:b,style:{position:"absolute",...h.style},onPointerDown:H(e.onPointerDown,F=>{F.button===0&&(F.target.setPointerCapture(F.pointerId),w.current=m.getBoundingClientRect(),x.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",v.viewport&&(v.viewport.style.scrollBehavior="auto"),M(F))}),onPointerMove:H(e.onPointerMove,M),onPointerUp:H(e.onPointerUp,F=>{const _=F.target;_.hasPointerCapture(F.pointerId)&&_.releasePointerCapture(F.pointerId),document.body.style.webkitUserSelect=x.current,v.viewport&&(v.viewport.style.scrollBehavior=""),w.current=null})})})}),an="ScrollAreaThumb",Uc=d.forwardRef((e,t)=>{const{forceMount:r,...n}=e,o=$c(an,e.__scopeScrollArea);return i.jsx(Ae,{present:r||o.hasThumb,children:i.jsx(db,{ref:t,...n})})}),db=d.forwardRef((e,t)=>{const{__scopeScrollArea:r,style:n,...o}=e,s=De(an,r),a=$c(an,r),{onThumbPositionChange:c}=a,l=ie(t,p=>a.onThumbChange(p)),f=d.useRef(void 0),u=dn(()=>{f.current&&(f.current(),f.current=void 0)},100);return d.useEffect(()=>{const p=s.viewport;if(p){const h=()=>{if(u(),!f.current){const v=pb(p,c);f.current=v,c()}};return c(),p.addEventListener("scroll",h),()=>p.removeEventListener("scroll",h)}},[s.viewport,u,c]),i.jsx(te.div,{"data-state":a.hasThumb?"visible":"hidden",...o,ref:l,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...n},onPointerDownCapture:H(e.onPointerDownCapture,p=>{const v=p.target.getBoundingClientRect(),m=p.clientX-v.left,g=p.clientY-v.top;a.onThumbPointerDown({x:m,y:g})}),onPointerUp:H(e.onPointerUp,a.onThumbPointerUp)})});Uc.displayName=an;var Xo="ScrollAreaCorner",Hc=d.forwardRef((e,t)=>{const r=De(Xo,e.__scopeScrollArea),n=!!(r.scrollbarX&&r.scrollbarY);return r.type!=="scroll"&&n?i.jsx(ub,{...e,ref:t}):null});Hc.displayName=Xo;var ub=d.forwardRef((e,t)=>{const{__scopeScrollArea:r,...n}=e,o=De(Xo,r),[s,a]=d.useState(0),[c,l]=d.useState(0),f=!!(s&&c);return $t(o.scrollbarX,()=>{var p;const u=((p=o.scrollbarX)==null?void 0:p.offsetHeight)||0;o.onCornerHeightChange(u),l(u)}),$t(o.scrollbarY,()=>{var p;const u=((p=o.scrollbarY)==null?void 0:p.offsetWidth)||0;o.onCornerWidthChange(u),a(u)}),f?i.jsx(te.div,{...n,ref:t,style:{width:s,height:c,position:"absolute",right:o.dir==="ltr"?0:void 0,left:o.dir==="rtl"?0:void 0,bottom:0,...e.style}}):null});function cn(e){return e?parseInt(e,10):0}function zc(e,t){const r=e/t;return isNaN(r)?0:r}function ln(e){const t=zc(e.viewport,e.content),r=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,n=(e.scrollbar.size-r)*t;return Math.max(n,18)}function fb(e,t,r,n="ltr"){const o=ln(r),s=o/2,a=t||s,c=o-a,l=r.scrollbar.paddingStart+a,f=r.scrollbar.size-r.scrollbar.paddingEnd-c,u=r.content-r.viewport,p=n==="ltr"?[0,u]:[u*-1,0];return Vc([l,f],p)(e)}function Wc(e,t,r="ltr"){const n=ln(t),o=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,s=t.scrollbar.size-o,a=t.content-t.viewport,c=s-n,l=r==="ltr"?[0,a]:[a*-1,0],f=Ko(e,l);return Vc([0,a],[0,c])(f)}function Vc(e,t){return r=>{if(e[0]===e[1]||t[0]===t[1])return t[0];const n=(t[1]-t[0])/(e[1]-e[0]);return t[0]+n*(r-e[0])}}function jc(e,t){return e>0&&e<t}var pb=(e,t=()=>{})=>{let r={left:e.scrollLeft,top:e.scrollTop},n=0;return function o(){const s={left:e.scrollLeft,top:e.scrollTop},a=r.left!==s.left,c=r.top!==s.top;(a||c)&&t(),r=s,n=window.requestAnimationFrame(o)}(),()=>window.cancelAnimationFrame(n)};function dn(e,t){const r=we(e),n=d.useRef(0);return d.useEffect(()=>()=>window.clearTimeout(n.current),[]),d.useCallback(()=>{window.clearTimeout(n.current),n.current=window.setTimeout(r,t)},[r,t])}function $t(e,t){const r=we(t);ve(()=>{let n=0;if(e){const o=new ResizeObserver(()=>{cancelAnimationFrame(n),n=window.requestAnimationFrame(r)});return o.observe(e),()=>{window.cancelAnimationFrame(n),o.unobserve(e)}}},[e,r])}var Kc=Mc,hb=Lc,gb=Hc;const Rc=d.forwardRef(({className:e,children:t,...r},n)=>i.jsxs(Kc,{ref:n,className:P("relative overflow-hidden",e),...r,children:[i.jsx(hb,{className:"h-full w-full rounded-[inherit] overflow-auto",children:t}),i.jsx(Gc,{}),i.jsx(gb,{})]}));Rc.displayName=Kc.displayName;const Gc=d.forwardRef(({className:e,orientation:t="vertical",...r},n)=>i.jsx(Go,{ref:n,orientation:t,className:P("flex touch-none select-none transition-colors",t==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",t==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",e),...r,children:i.jsx(Uc,{className:"relative flex-1 rounded-full bg-border"})}));Gc.displayName=Go.displayName;function un({className:e="",showCreateButton:t=!0,showDeleteButton:r=!0,showEditTitle:n=!0,maxHeight:o="400px",customStyles:s={},currentThreadId:a=null,navigateToThread:c,onThreadSelect:l,onThreadCreate:f,onThreadDelete:u}){const{loadThread:p,threads:h,refreshThreads:v,currentThreadId:m,createThread:g,deleteThread:b,renameThread:w}=Zn(),[x,y]=T.useState(h??[]),[C,N]=T.useState(!1),[k,E]=T.useState(null),[M,F]=T.useState(null),[_,B]=T.useState(""),[R,U]=T.useState(!1);T.useEffect(()=>{y(h??[])},[h]);const D=async $=>{try{await p($),c==null||c($),l==null||l($)}catch(j){console.error("Failed to select thread:",j)}},z=async()=>{try{U(!0);const $=await g();f==null||f($),c==null||c($)}catch($){console.error("Failed to create thread:",$)}finally{U(!1)}},O=async($,j)=>{if(j.stopPropagation(),!!confirm("Delete this thread?"))try{await b($),u==null||u($)}catch(le){console.error("Failed to delete thread:",le)}},G=($,j)=>{j.stopPropagation(),F($.threadId),B($.title||`Thread ${$.threadId.slice(0,8)}`)},L=async $=>{if(_.trim())try{await w($,_.trim()),F(null),B("")}catch(j){console.error("Failed to update title:",j)}},A=()=>{F(null),B("")},ee=($,j)=>{$.key==="Enter"?L(j):$.key==="Escape"&&A()},q=$=>{if(!$)return"";try{const j=new Date($),he=new Date().getTime()-j.getTime(),W=Math.floor(he/(1e3*60*60*24));return W===0?j.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}):W===1?"Yesterday":W<7?`${W} days ago`:j.toLocaleDateString()}catch{return""}},ce=$=>$.title||`Thread ${$.threadId.slice(0,8)}`;return i.jsxs("div",{className:`flex flex-col h-full ${e} ${s.container||""}`,children:[t&&i.jsx("div",{className:s.header||"flex-shrink-0 p-2 border-b bg-slate-800 border-slate-700 text-slate-100 flex justify-end",children:i.jsx(fe,{onClick:z,disabled:R||C,className:s.createButton||"p-2",size:"sm",variant:"ghost",title:R?"Creating...":"New Chat",children:i.jsx(Y.MessageSquarePlus,{size:20})})}),i.jsx(Rc,{className:`flex-1 min-h-0 ${s.threadList||""}`,style:o?{maxHeight:o}:void 0,children:i.jsx("div",{className:"p-2 space-y-1 pb-4",children:C?i.jsx("div",{className:"text-center py-8 text-slate-400",children:"Loading…"}):x.length===0?i.jsxs("div",{className:"text-center py-8 text-slate-400",children:[i.jsx(Y.MessageSquare,{className:"w-8 h-8 mx-auto mb-2 opacity-40 text-slate-500"}),i.jsx("p",{className:"text-sm text-slate-500",children:"No conversations yet"})]}):x.slice().sort(($,j)=>new Date(j.updatedAt||j.createdAt||"").getTime()-new Date($.updatedAt||$.createdAt||"").getTime()).map($=>i.jsxs("div",{onClick:()=>D($.threadId),className:`group relative p-3 rounded-lg cursor-pointer transition-colors border ${(a??m)===$.threadId?`${s.activeThread||"bg-slate-600 border-slate-500"} `:`${s.threadItem||"bg-slate-700 border-slate-600 hover:bg-slate-600 text-gray-900 dark:text-slate-100"}`} ${s.threadItem||""} text-gray-900 dark:text-slate-100`,children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsx("div",{className:"flex-1 min-w-0",children:M===$.threadId?i.jsxs("div",{className:"flex items-center gap-2",onClick:j=>j.stopPropagation(),children:[i.jsx(cr,{value:_,onChange:j=>B(j.target.value),onKeyDown:j=>ee(j,$.threadId),className:"h-6 text-sm",autoFocus:!0}),i.jsx(fe,{variant:"ghost",size:"sm",onClick:()=>L($.threadId),className:"h-6 w-6 p-0",children:i.jsx(Y.Check,{size:12})}),i.jsx(fe,{variant:"ghost",size:"sm",onClick:A,className:"h-6 w-6 p-0",children:i.jsx(Y.X,{size:12})})]}):i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"font-medium text-sm truncate text-gray-900 dark:text-slate-100",children:ce($)}),i.jsxs("div",{className:"flex items-center gap-2 text-xs text-gray-500 dark:text-slate-400 mt-1",children:[i.jsx(Y.Calendar,{size:10}),i.jsx("span",{children:q($.updatedAt||$.createdAt)})]})]})}),i.jsxs("div",{className:"flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity ml-2",children:[n&&M!==$.threadId&&i.jsx(fe,{variant:"ghost",size:"sm",onClick:j=>G($,j),className:"h-6 w-6 p-0",title:"Edit title",children:i.jsx(Y.Edit3,{size:12})}),r&&i.jsx(fe,{variant:"ghost",size:"sm",onClick:j=>O($.threadId,j),className:"h-6 w-6 p-0 text-red-400 hover:text-red-300 hover:bg-red-900/20",title:"Delete thread",children:i.jsx(Y.Trash2,{size:12})})]})]}),a===$.threadId&&i.jsx("div",{className:"absolute left-0 top-1/2 -translate-y-1/2 w-1 h-8 bg-blue-400 rounded-r"})]},$.threadId))})})]})}const qc=T.createContext(null);function mb({children:e,basePath:t="/chat"}){const r=T.useMemo(()=>t?t==="/"?"":t.endsWith("/")?t.slice(0,-1):t:"/chat",[t]),n={basePath:r,buildThreadPath:o=>`${r}/${o}`,buildBasePath:()=>r};return i.jsx(qc.Provider,{value:n,children:e})}function bb(){const e=T.useContext(qc);return e||{basePath:"/chat",buildThreadPath:t=>`/chat/${t}`,buildBasePath:()=>"/chat"}}const Xc={BASE_URL:"/",DEV:!1,MODE:"library",PROD:!0,SSR:!1};function lr(e){var o;const t=typeof{url:typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:Ln&&Ln.tagName.toUpperCase()==="SCRIPT"&&Ln.src||new URL("index.umd.js",document.baseURI).href}<"u"&&Xc?Xc[e]:void 0,r=(o=globalThis==null?void 0:globalThis.process)==null?void 0:o.env,n=r?r[e]:void 0;return(t??n)||void 0}function vb(){return lr("VITE_API_BASE_URL")||lr("NEXT_PUBLIC_API_BASE_URL")||void 0}function wb(){return lr("VITE_API_KEY")||lr("NEXT_PUBLIC_API_KEY")||lr("VITE_AUTH_TOKEN")||void 0}function Yc(){const e=vb(),t=wb(),r={};return e&&(r.baseUrl=e),t&&(r.apiKey=t),r}function Jc(){const e=Yc(),t=Qe.getAuthToken();return{apiBaseUrl:e.baseUrl||Qe.baseUrl||"http://localhost:8000",apiKey:t||e.apiKey||"",model:"gpt-4",temperature:.7,maxTokens:4096,layoutSize:"desktop",showThreads:!0,autoScrollMessages:!0,truncateToolMessages:!0,toolMessagePreviewLength:200,darkMode:!1,enableSound:!1,messageHistory:100}}const Zc="chat-settings";function yb(){try{const e=localStorage.getItem(Zc);return e?JSON.parse(e):{}}catch(e){return console.error("Failed to parse stored settings:",e),{}}}function xb(e){try{localStorage.setItem(Zc,JSON.stringify(e)),e.apiKey&&Qe.setAuthToken(e.apiKey)}catch(t){console.error("Failed to save settings:",t)}}function Sb(){const e=Jc(),t=yb(),r=Qe.getAuthToken();return{...e,...t,apiKey:r||t.apiKey||e.apiKey,apiBaseUrl:Qe.baseUrl||t.apiBaseUrl||e.apiBaseUrl}}function Cb(e){e.apiKey&&Qe.setAuthToken(e.apiKey),xb(e)}const Yo=768;function Eb(){const[e,t]=d.useState(void 0);return d.useEffect(()=>{const r=window.matchMedia(`(max-width: ${Yo-1}px)`),n=()=>{t(window.innerWidth<Yo)};return r.addEventListener("change",n),t(window.innerWidth<Yo),()=>r.removeEventListener("change",n)},[]),!!e}var Nb="Separator",Qc="horizontal",Tb=["horizontal","vertical"],el=d.forwardRef((e,t)=>{const{decorative:r,orientation:n=Qc,...o}=e,s=Ab(n)?n:Qc,c=r?{role:"none"}:{"aria-orientation":s==="vertical"?s:void 0,role:"separator"};return i.jsx(te.div,{"data-orientation":s,...c,...o,ref:t})});el.displayName=Nb;function Ab(e){return Tb.includes(e)}var tl=el;const Jo=d.forwardRef(({className:e,orientation:t="horizontal",decorative:r=!0,...n},o)=>i.jsx(tl,{ref:o,decorative:r,orientation:t,className:P("shrink-0 bg-border",t==="horizontal"?"h-[1px] w-full":"h-full w-[1px]",e),...n}));Jo.displayName=tl.displayName;var fn="Dialog",[rl,Qw]=Be(fn),[Pb,We]=rl(fn),nl=e=>{const{__scopeDialog:t,children:r,open:n,defaultOpen:o,onOpenChange:s,modal:a=!0}=e,c=d.useRef(null),l=d.useRef(null),[f,u]=ot({prop:n,defaultProp:o??!1,onChange:s,caller:fn});return i.jsx(Pb,{scope:t,triggerRef:c,contentRef:l,contentId:Ue(),titleId:Ue(),descriptionId:Ue(),open:f,onOpenChange:u,onOpenToggle:d.useCallback(()=>u(p=>!p),[u]),modal:a,children:r})};nl.displayName=fn;var ol="DialogTrigger",sl=d.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,o=We(ol,r),s=ie(t,o.triggerRef);return i.jsx(te.button,{type:"button","aria-haspopup":"dialog","aria-expanded":o.open,"aria-controls":o.contentId,"data-state":es(o.open),...n,ref:s,onClick:H(e.onClick,o.onOpenToggle)})});sl.displayName=ol;var Zo="DialogPortal",[Ib,al]=rl(Zo,{forceMount:void 0}),il=e=>{const{__scopeDialog:t,forceMount:r,children:n,container:o}=e,s=We(Zo,t);return i.jsx(Ib,{scope:t,forceMount:r,children:d.Children.map(n,a=>i.jsx(Ae,{present:r||s.open,children:i.jsx(Rr,{asChild:!0,container:o,children:a})}))})};il.displayName=Zo;var pn="DialogOverlay",cl=d.forwardRef((e,t)=>{const r=al(pn,e.__scopeDialog),{forceMount:n=r.forceMount,...o}=e,s=We(pn,e.__scopeDialog);return s.modal?i.jsx(Ae,{present:n||s.open,children:i.jsx(kb,{...o,ref:t})}):null});cl.displayName=pn;var _b=Ie.createSlot("DialogOverlay.RemoveScroll"),kb=d.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,o=We(pn,r);return i.jsx(en,{as:_b,allowPinchZoom:!0,shards:[o.contentRef],children:i.jsx(te.div,{"data-state":es(o.open),...n,ref:t,style:{pointerEvents:"auto",...n.style}})})}),wt="DialogContent",ll=d.forwardRef((e,t)=>{const r=al(wt,e.__scopeDialog),{forceMount:n=r.forceMount,...o}=e,s=We(wt,e.__scopeDialog);return i.jsx(Ae,{present:n||s.open,children:s.modal?i.jsx(Ob,{...o,ref:t}):i.jsx(Mb,{...o,ref:t})})});ll.displayName=wt;var Ob=d.forwardRef((e,t)=>{const r=We(wt,e.__scopeDialog),n=d.useRef(null),o=ie(t,r.contentRef,n);return d.useEffect(()=>{const s=n.current;if(s)return ko(s)},[]),i.jsx(dl,{...e,ref:o,trapFocus:r.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:H(e.onCloseAutoFocus,s=>{var a;s.preventDefault(),(a=r.triggerRef.current)==null||a.focus()}),onPointerDownOutside:H(e.onPointerDownOutside,s=>{const a=s.detail.originalEvent,c=a.button===0&&a.ctrlKey===!0;(a.button===2||c)&&s.preventDefault()}),onFocusOutside:H(e.onFocusOutside,s=>s.preventDefault())})}),Mb=d.forwardRef((e,t)=>{const r=We(wt,e.__scopeDialog),n=d.useRef(!1),o=d.useRef(!1);return i.jsx(dl,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:s=>{var a,c;(a=e.onCloseAutoFocus)==null||a.call(e,s),s.defaultPrevented||(n.current||(c=r.triggerRef.current)==null||c.focus(),s.preventDefault()),n.current=!1,o.current=!1},onInteractOutside:s=>{var l,f;(l=e.onInteractOutside)==null||l.call(e,s),s.defaultPrevented||(n.current=!0,s.detail.originalEvent.type==="pointerdown"&&(o.current=!0));const a=s.target;((f=r.triggerRef.current)==null?void 0:f.contains(a))&&s.preventDefault(),s.detail.originalEvent.type==="focusin"&&o.current&&s.preventDefault()}})}),dl=d.forwardRef((e,t)=>{const{__scopeDialog:r,trapFocus:n,onOpenAutoFocus:o,onCloseAutoFocus:s,...a}=e,c=We(wt,r),l=d.useRef(null),f=ie(t,l);return io(),i.jsxs(i.Fragment,{children:[i.jsx(Lr,{asChild:!0,loop:!0,trapped:n,onMountAutoFocus:o,onUnmountAutoFocus:s,children:i.jsx(Jt,{role:"dialog",id:c.contentId,"aria-describedby":c.descriptionId,"aria-labelledby":c.titleId,"data-state":es(c.open),...a,ref:f,onDismiss:()=>c.onOpenChange(!1)})}),i.jsxs(i.Fragment,{children:[i.jsx(Db,{titleId:c.titleId}),i.jsx(Fb,{contentRef:l,descriptionId:c.descriptionId})]})]})}),Qo="DialogTitle",ul=d.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,o=We(Qo,r);return i.jsx(te.h2,{id:o.titleId,...n,ref:t})});ul.displayName=Qo;var fl="DialogDescription",pl=d.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,o=We(fl,r);return i.jsx(te.p,{id:o.descriptionId,...n,ref:t})});pl.displayName=fl;var hl="DialogClose",gl=d.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,o=We(hl,r);return i.jsx(te.button,{type:"button",...n,ref:t,onClick:H(e.onClick,()=>o.onOpenChange(!1))})});gl.displayName=hl;function es(e){return e?"open":"closed"}var ml="DialogTitleWarning",[ey,bl]=kf(ml,{contentName:wt,titleName:Qo,docsSlug:"dialog"}),Db=({titleId:e})=>{const t=bl(ml),r=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.
|
|
59
59
|
|
|
60
60
|
If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.
|
|
61
61
|
|
|
62
|
-
For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return d.useEffect(()=>{e&&(document.getElementById(e)||console.error(r))},[r,e]),null},Lb="DialogDescriptionWarning",Fb=({contentRef:e,descriptionId:t})=>{const n=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${bl(Lb).contentName}}.`;return d.useEffect(()=>{var s;const o=(s=e.current)==null?void 0:s.getAttribute("aria-describedby");t&&o&&(document.getElementById(t)||console.warn(n))},[n,e,t]),null},$b=nl,Bb=sl,Ub=il,vl=cl,wl=ll,yl=ul,xl=pl,Hb=gl;const Sl=$b,zb=Bb,Wb=Ub,Cl=d.forwardRef(({className:e,...t},r)=>i.jsx(vl,{className:P("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t,ref:r}));Cl.displayName=vl.displayName;const Vb=Wt.cva("fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500",{variants:{side:{top:"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",bottom:"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",left:"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",right:"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"}},defaultVariants:{side:"right"}}),ts=d.forwardRef(({side:e="right",className:t,children:r,...n},o)=>i.jsxs(Wb,{children:[i.jsx(Cl,{}),i.jsxs(wl,{ref:o,className:P(Vb({side:e}),t),...n,children:[r,i.jsxs(Hb,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary",children:[i.jsx(X.X,{className:"h-4 w-4"}),i.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));ts.displayName=wl.displayName;const El=({className:e,...t})=>i.jsx("div",{className:P("flex flex-col space-y-2 text-center sm:text-left",e),...t});El.displayName="SheetHeader";const Nl=d.forwardRef(({className:e,...t},r)=>i.jsx(yl,{ref:r,className:P("text-lg font-semibold text-foreground",e),...t}));Nl.displayName=yl.displayName;const Tl=d.forwardRef(({className:e,...t},r)=>i.jsx(xl,{ref:r,className:P("text-sm text-muted-foreground",e),...t}));Tl.displayName=xl.displayName;function Al({className:e,...t}){return i.jsx("div",{className:P("animate-pulse rounded-md bg-muted",e),...t})}var Pl=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),jb="VisuallyHidden",Il=d.forwardRef((e,t)=>i.jsx(te.span,{...e,ref:t,style:{...Pl,...e.style}}));Il.displayName=jb;var Kb=Il,[hn,ty]=Be("Tooltip",[Ot]),gn=Ot(),_l="TooltipProvider",Rb=700,rs="tooltip.open",[Gb,ns]=hn(_l),kl=e=>{const{__scopeTooltip:t,delayDuration:r=Rb,skipDelayDuration:n=300,disableHoverableContent:o=!1,children:s}=e,a=d.useRef(!0),c=d.useRef(!1),l=d.useRef(0);return d.useEffect(()=>{const f=l.current;return()=>window.clearTimeout(f)},[]),i.jsx(Gb,{scope:t,isOpenDelayedRef:a,delayDuration:r,onOpen:d.useCallback(()=>{window.clearTimeout(l.current),a.current=!1},[]),onClose:d.useCallback(()=>{window.clearTimeout(l.current),l.current=window.setTimeout(()=>a.current=!0,n)},[n]),isPointerInTransitRef:c,onPointerInTransitChange:d.useCallback(f=>{c.current=f},[]),disableHoverableContent:o,children:s})};kl.displayName=_l;var dr="Tooltip",[qb,mn]=hn(dr),Ol=e=>{const{__scopeTooltip:t,children:r,open:n,defaultOpen:o,onOpenChange:s,disableHoverableContent:a,delayDuration:c}=e,l=ns(dr,e.__scopeTooltip),f=gn(t),[u,p]=d.useState(null),h=Ue(),v=d.useRef(0),m=a??l.disableHoverableContent,g=c??l.delayDuration,b=d.useRef(!1),[w,x]=ot({prop:n,defaultProp:o??!1,onChange:E=>{E?(l.onOpen(),document.dispatchEvent(new CustomEvent(rs))):l.onClose(),s==null||s(E)},caller:dr}),y=d.useMemo(()=>w?b.current?"delayed-open":"instant-open":"closed",[w]),C=d.useCallback(()=>{window.clearTimeout(v.current),v.current=0,b.current=!1,x(!0)},[x]),N=d.useCallback(()=>{window.clearTimeout(v.current),v.current=0,x(!1)},[x]),k=d.useCallback(()=>{window.clearTimeout(v.current),v.current=window.setTimeout(()=>{b.current=!0,x(!0),v.current=0},g)},[g,x]);return d.useEffect(()=>()=>{v.current&&(window.clearTimeout(v.current),v.current=0)},[]),i.jsx(Eo,{...f,children:i.jsx(qb,{scope:t,contentId:h,open:w,stateAttribute:y,trigger:u,onTriggerChange:p,onTriggerEnter:d.useCallback(()=>{l.isOpenDelayedRef.current?k():C()},[l.isOpenDelayedRef,k,C]),onTriggerLeave:d.useCallback(()=>{m?N():(window.clearTimeout(v.current),v.current=0)},[N,m]),onOpen:C,onClose:N,disableHoverableContent:m,children:r})})};Ol.displayName=dr;var os="TooltipTrigger",Ml=d.forwardRef((e,t)=>{const{__scopeTooltip:r,...n}=e,o=mn(os,r),s=ns(os,r),a=gn(r),c=d.useRef(null),l=ie(t,c,o.onTriggerChange),f=d.useRef(!1),u=d.useRef(!1),p=d.useCallback(()=>f.current=!1,[]);return d.useEffect(()=>()=>document.removeEventListener("pointerup",p),[p]),i.jsx(No,{asChild:!0,...a,children:i.jsx(te.button,{"aria-describedby":o.open?o.contentId:void 0,"data-state":o.stateAttribute,...n,ref:l,onPointerMove:H(e.onPointerMove,h=>{h.pointerType!=="touch"&&!u.current&&!s.isPointerInTransitRef.current&&(o.onTriggerEnter(),u.current=!0)}),onPointerLeave:H(e.onPointerLeave,()=>{o.onTriggerLeave(),u.current=!1}),onPointerDown:H(e.onPointerDown,()=>{o.open&&o.onClose(),f.current=!0,document.addEventListener("pointerup",p,{once:!0})}),onFocus:H(e.onFocus,()=>{f.current||o.onOpen()}),onBlur:H(e.onBlur,o.onClose),onClick:H(e.onClick,o.onClose)})})});Ml.displayName=os;var Xb="TooltipPortal",[ry,Yb]=hn(Xb,{forceMount:void 0}),Bt="TooltipContent",Dl=d.forwardRef((e,t)=>{const r=Yb(Bt,e.__scopeTooltip),{forceMount:n=r.forceMount,side:o="top",...s}=e,a=mn(Bt,e.__scopeTooltip);return i.jsx(Ae,{present:n||a.open,children:a.disableHoverableContent?i.jsx(Ll,{side:o,...s,ref:t}):i.jsx(Jb,{side:o,...s,ref:t})})}),Jb=d.forwardRef((e,t)=>{const r=mn(Bt,e.__scopeTooltip),n=ns(Bt,e.__scopeTooltip),o=d.useRef(null),s=ie(t,o),[a,c]=d.useState(null),{trigger:l,onClose:f}=r,u=o.current,{onPointerInTransitChange:p}=n,h=d.useCallback(()=>{c(null),p(!1)},[p]),v=d.useCallback((m,g)=>{const b=m.currentTarget,w={x:m.clientX,y:m.clientY},x=rv(w,b.getBoundingClientRect()),y=nv(w,x),C=ov(g.getBoundingClientRect()),N=av([...y,...C]);c(N),p(!0)},[p]);return d.useEffect(()=>()=>h(),[h]),d.useEffect(()=>{if(l&&u){const m=b=>v(b,u),g=b=>v(b,l);return l.addEventListener("pointerleave",m),u.addEventListener("pointerleave",g),()=>{l.removeEventListener("pointerleave",m),u.removeEventListener("pointerleave",g)}}},[l,u,v,h]),d.useEffect(()=>{if(a){const m=g=>{const b=g.target,w={x:g.clientX,y:g.clientY},x=(l==null?void 0:l.contains(b))||(u==null?void 0:u.contains(b)),y=!sv(w,a);x?h():y&&(h(),f())};return document.addEventListener("pointermove",m),()=>document.removeEventListener("pointermove",m)}},[l,u,a,f,h]),i.jsx(Ll,{...e,ref:s})}),[Zb,Qb]=hn(dr,{isInside:!1}),ev=Ie.createSlottable("TooltipContent"),Ll=d.forwardRef((e,t)=>{const{__scopeTooltip:r,children:n,"aria-label":o,onEscapeKeyDown:s,onPointerDownOutside:a,...c}=e,l=mn(Bt,r),f=gn(r),{onClose:u}=l;return d.useEffect(()=>(document.addEventListener(rs,u),()=>document.removeEventListener(rs,u)),[u]),d.useEffect(()=>{if(l.trigger){const p=h=>{const v=h.target;v!=null&&v.contains(l.trigger)&&u()};return window.addEventListener("scroll",p,{capture:!0}),()=>window.removeEventListener("scroll",p,{capture:!0})}},[l.trigger,u]),i.jsx(Jt,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:s,onPointerDownOutside:a,onFocusOutside:p=>p.preventDefault(),onDismiss:u,children:i.jsxs(To,{"data-state":l.stateAttribute,...f,...c,ref:t,style:{...c.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[i.jsx(ev,{children:n}),i.jsx(Zb,{scope:r,isInside:!0,children:i.jsx(Kb,{id:l.contentId,role:"tooltip",children:o||n})})]})})});Dl.displayName=Bt;var Fl="TooltipArrow",tv=d.forwardRef((e,t)=>{const{__scopeTooltip:r,...n}=e,o=gn(r);return Qb(Fl,r).isInside?null:i.jsx(Ao,{...o,...n,ref:t})});tv.displayName=Fl;function rv(e,t){const r=Math.abs(t.top-e.y),n=Math.abs(t.bottom-e.y),o=Math.abs(t.right-e.x),s=Math.abs(t.left-e.x);switch(Math.min(r,n,o,s)){case s:return"left";case o:return"right";case r:return"top";case n:return"bottom";default:throw new Error("unreachable")}}function nv(e,t,r=5){const n=[];switch(t){case"top":n.push({x:e.x-r,y:e.y+r},{x:e.x+r,y:e.y+r});break;case"bottom":n.push({x:e.x-r,y:e.y-r},{x:e.x+r,y:e.y-r});break;case"left":n.push({x:e.x+r,y:e.y-r},{x:e.x+r,y:e.y+r});break;case"right":n.push({x:e.x-r,y:e.y-r},{x:e.x-r,y:e.y+r});break}return n}function ov(e){const{top:t,right:r,bottom:n,left:o}=e;return[{x:o,y:t},{x:r,y:t},{x:r,y:n},{x:o,y:n}]}function sv(e,t){const{x:r,y:n}=e;let o=!1;for(let s=0,a=t.length-1;s<t.length;a=s++){const c=t[s],l=t[a],f=c.x,u=c.y,p=l.x,h=l.y;u>n!=h>n&&r<(p-f)*(n-u)/(h-u)+f&&(o=!o)}return o}function av(e){const t=e.slice();return t.sort((r,n)=>r.x<n.x?-1:r.x>n.x?1:r.y<n.y?-1:r.y>n.y?1:0),iv(t)}function iv(e){if(e.length<=1)return e.slice();const t=[];for(let n=0;n<e.length;n++){const o=e[n];for(;t.length>=2;){const s=t[t.length-1],a=t[t.length-2];if((s.x-a.x)*(o.y-a.y)>=(s.y-a.y)*(o.x-a.x))t.pop();else break}t.push(o)}t.pop();const r=[];for(let n=e.length-1;n>=0;n--){const o=e[n];for(;r.length>=2;){const s=r[r.length-1],a=r[r.length-2];if((s.x-a.x)*(o.y-a.y)>=(s.y-a.y)*(o.x-a.x))r.pop();else break}r.push(o)}return r.pop(),t.length===1&&r.length===1&&t[0].x===r[0].x&&t[0].y===r[0].y?t:t.concat(r)}var cv=kl,lv=Ol,dv=Ml,$l=Dl;const uv=cv,fv=lv,pv=dv,Bl=d.forwardRef(({className:e,sideOffset:t=4,...r},n)=>i.jsx($l,{ref:n,sideOffset:t,className:P("z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md 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",e),...r}));Bl.displayName=$l.displayName;const hv="sidebar:state",gv=60*60*24*7,mv="16rem",bv="18rem",vv="3rem",wv="b",Ul=d.createContext(null);function bn(){const e=d.useContext(Ul);if(!e)throw new Error("useSidebar must be used within a SidebarProvider.");return e}const Hl=d.forwardRef(({defaultOpen:e=!0,open:t,onOpenChange:r,className:n,style:o,children:s,...a},c)=>{const l=Eb(),[f,u]=d.useState(!1),[p,h]=d.useState(e),v=t??p,m=d.useCallback(x=>{const y=typeof x=="function"?x(v):x;r?r(y):h(y),document.cookie=`${hv}=${y}; path=/; max-age=${gv}`},[r,v]),g=d.useCallback(()=>l?u(x=>!x):m(x=>!x),[l,m,u]);d.useEffect(()=>{const x=y=>{y.key===wv&&(y.metaKey||y.ctrlKey)&&(y.preventDefault(),g())};return window.addEventListener("keydown",x),()=>window.removeEventListener("keydown",x)},[g]);const b=v?"expanded":"collapsed",w=d.useMemo(()=>({state:b,open:v,setOpen:m,isMobile:l,openMobile:f,setOpenMobile:u,toggleSidebar:g}),[b,v,m,l,f,u,g]);return i.jsx(Ul.Provider,{value:w,children:i.jsx(uv,{delayDuration:0,children:i.jsx("div",{style:{"--sidebar-width":mv,"--sidebar-width-icon":vv,...o},className:P("group/sidebar-wrapper flex min-h-svh w-full has-[[data-variant=inset]]:bg-sidebar",n),ref:c,...a,children:s})})})});Hl.displayName="SidebarProvider";const zl=d.forwardRef(({side:e="left",variant:t="sidebar",collapsible:r="offcanvas",className:n,children:o,...s},a)=>{const{isMobile:c,state:l,openMobile:f,setOpenMobile:u}=bn();return r==="none"?i.jsx("div",{className:P("flex h-full w-[--sidebar-width] flex-col bg-sidebar text-sidebar-foreground",n),ref:a,...s,children:o}):c?i.jsx(Sl,{open:f,onOpenChange:u,...s,children:i.jsx(ts,{"data-sidebar":"sidebar","data-mobile":"true",className:"w-[--sidebar-width] bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden",style:{"--sidebar-width":bv},side:e,children:i.jsx("div",{className:"flex h-full w-full flex-col",children:o})})}):i.jsxs("div",{ref:a,className:"group peer hidden md:block text-sidebar-foreground","data-state":l,"data-collapsible":l==="collapsed"?r:"","data-variant":t,"data-side":e,children:[i.jsx("div",{className:P("duration-200 relative h-svh w-[--sidebar-width] bg-transparent transition-[width] ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180",t==="floating"||t==="inset"?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]":"group-data-[collapsible=icon]:w-[--sidebar-width-icon]")}),i.jsx("div",{className:P("duration-200 fixed inset-y-0 z-10 hidden h-svh w-[--sidebar-width] transition-[left,right,width] ease-linear md:flex",e==="left"?"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",t==="floating"||t==="inset"?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]":"group-data-[collapsible=icon]:w-[--sidebar-width-icon] group-data-[side=left]:border-r group-data-[side=right]:border-l",n),...s,children:i.jsx("div",{"data-sidebar":"sidebar",className:"flex h-full w-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow",children:o})})]})});zl.displayName="Sidebar";const Wl=d.forwardRef(({className:e,onClick:t,...r},n)=>{const{toggleSidebar:o}=bn();return i.jsxs(fe,{ref:n,"data-sidebar":"trigger",variant:"ghost",size:"icon",className:P("h-7 w-7",e),onClick:s=>{t==null||t(s),o()},...r,children:[i.jsx(X.PanelLeft,{}),i.jsx("span",{className:"sr-only",children:"Toggle Sidebar"})]})});Wl.displayName="SidebarTrigger";const yv=d.forwardRef(({className:e,...t},r)=>{const{toggleSidebar:n}=bn();return i.jsx("button",{ref:r,"data-sidebar":"rail","aria-label":"Toggle Sidebar",tabIndex:-1,onClick:n,title:"Toggle Sidebar",className:P("absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-sidebar-border group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex","[[data-side=left]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize","[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize","group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:hover:bg-sidebar","[[data-side=left][data-collapsible=offcanvas]_&]:-right-2","[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",e),...t})});yv.displayName="SidebarRail";const Vl=d.forwardRef(({className:e,...t},r)=>i.jsx("main",{ref:r,className:P("relative flex min-h-svh flex-1 flex-col bg-background","peer-data-[variant=inset]:min-h-[calc(100svh-theme(spacing.4))] md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow",e),...t}));Vl.displayName="SidebarInset";const xv=d.forwardRef(({className:e,...t},r)=>i.jsx(cr,{ref:r,"data-sidebar":"input",className:P("h-8 w-full bg-background shadow-none focus-visible:ring-2 focus-visible:ring-sidebar-ring",e),...t}));xv.displayName="SidebarInput";const jl=d.forwardRef(({className:e,...t},r)=>i.jsx("div",{ref:r,"data-sidebar":"header",className:P("flex flex-col gap-2 p-2",e),...t}));jl.displayName="SidebarHeader";const Sv=d.forwardRef(({className:e,...t},r)=>i.jsx("div",{ref:r,"data-sidebar":"footer",className:P("flex flex-col gap-2 p-2",e),...t}));Sv.displayName="SidebarFooter";const Cv=d.forwardRef(({className:e,...t},r)=>i.jsx(Jo,{ref:r,"data-sidebar":"separator",className:P("mx-2 w-auto bg-sidebar-border",e),...t}));Cv.displayName="SidebarSeparator";const Kl=d.forwardRef(({className:e,...t},r)=>i.jsx("div",{ref:r,"data-sidebar":"content",className:P("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",e),...t}));Kl.displayName="SidebarContent";const Rl=d.forwardRef(({className:e,...t},r)=>i.jsx("div",{ref:r,"data-sidebar":"group",className:P("relative flex w-full min-w-0 flex-col p-2",e),...t}));Rl.displayName="SidebarGroup";const Gl=d.forwardRef(({className:e,asChild:t=!1,...r},n)=>{const o=t?Ie.Slot:"div";return i.jsx(o,{ref:n,"data-sidebar":"group-label",className:P("duration-200 flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 outline-none ring-sidebar-ring transition-[margin,opa] ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",e),...r})});Gl.displayName="SidebarGroupLabel";const Ev=d.forwardRef(({className:e,asChild:t=!1,...r},n)=>{const o=t?Ie.Slot:"button";return i.jsx(o,{ref:n,"data-sidebar":"group-action",className:P("absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","after:absolute after:-inset-2 after:md:hidden","group-data-[collapsible=icon]:hidden",e),...r})});Ev.displayName="SidebarGroupAction";const ql=d.forwardRef(({className:e,...t},r)=>i.jsx("div",{ref:r,"data-sidebar":"group-content",className:P("w-full text-sm",e),...t}));ql.displayName="SidebarGroupContent";const Xl=d.forwardRef(({className:e,...t},r)=>i.jsx("ul",{ref:r,"data-sidebar":"menu",className:P("flex w-full min-w-0 flex-col gap-1",e),...t}));Xl.displayName="SidebarMenu";const Yl=d.forwardRef(({className:e,...t},r)=>i.jsx("li",{ref:r,"data-sidebar":"menu-item",className:P("group/menu-item relative",e),...t}));Yl.displayName="SidebarMenuItem";const Nv=Wt.cva("peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",{variants:{variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"},size:{default:"h-8 text-sm",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:!p-0"}},defaultVariants:{variant:"default",size:"default"}}),Jl=d.forwardRef(({asChild:e=!1,isActive:t=!1,variant:r="default",size:n="default",tooltip:o,className:s,...a},c)=>{const l=e?Ie.Slot:"button",{isMobile:f,state:u}=bn(),p=i.jsx(l,{ref:c,"data-sidebar":"menu-button","data-size":n,"data-active":t,className:P(Nv({variant:r,size:n}),s),...a});return o?(typeof o=="string"&&(o={children:o}),i.jsxs(fv,{children:[i.jsx(pv,{asChild:!0,children:p}),i.jsx(Bl,{side:"right",align:"center",hidden:u!=="collapsed"||f,...o})]})):p});Jl.displayName="SidebarMenuButton";const Tv=d.forwardRef(({className:e,asChild:t=!1,showOnHover:r=!1,...n},o)=>{const s=t?Ie.Slot:"button";return i.jsx(s,{ref:o,"data-sidebar":"menu-action",className:P("absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 peer-hover/menu-button:text-sidebar-accent-foreground [&>svg]:size-4 [&>svg]:shrink-0","after:absolute after:-inset-2 after:md:hidden","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",r&&"group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-sidebar-accent-foreground md:opacity-0",e),...n})});Tv.displayName="SidebarMenuAction";const Av=d.forwardRef(({className:e,...t},r)=>i.jsx("div",{ref:r,"data-sidebar":"menu-badge",className:P("absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums text-sidebar-foreground select-none pointer-events-none","peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",e),...t}));Av.displayName="SidebarMenuBadge";const Pv=d.forwardRef(({className:e,showIcon:t=!1,...r},n)=>{const o=d.useMemo(()=>`${Math.floor(Math.random()*40)+50}%`,[]);return i.jsxs("div",{ref:n,"data-sidebar":"menu-skeleton",className:P("rounded-md h-8 flex gap-2 px-2 items-center",e),...r,children:[t&&i.jsx(Al,{className:"size-4 rounded-md","data-sidebar":"menu-skeleton-icon"}),i.jsx(Al,{className:"h-4 flex-1 max-w-[--skeleton-width]","data-sidebar":"menu-skeleton-text",style:{"--skeleton-width":o}})]})});Pv.displayName="SidebarMenuSkeleton";const Iv=d.forwardRef(({className:e,...t},r)=>i.jsx("ul",{ref:r,"data-sidebar":"menu-sub",className:P("mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-sidebar-border px-2.5 py-0.5","group-data-[collapsible=icon]:hidden",e),...t}));Iv.displayName="SidebarMenuSub";const _v=d.forwardRef(({...e},t)=>i.jsx("li",{ref:t,...e}));_v.displayName="SidebarMenuSubItem";const kv=d.forwardRef(({asChild:e=!1,size:t="md",isActive:r,className:n,...o},s)=>{const a=e?Ie.Slot:"a";return i.jsx(a,{ref:s,"data-sidebar":"menu-sub-button","data-size":t,"data-active":r,className:P("flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground outline-none ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground","data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground",t==="sm"&&"text-xs",t==="md"&&"text-sm","group-data-[collapsible=icon]:hidden",n),...o})});kv.displayName="SidebarMenuSubButton";function Ov({header:e,sidebarTitle:t="Threads",showThreads:r=!0,className:n="",sidebarClassName:o="",chatClassName:s="",...a}){return i.jsx(qt,{...a,children:i.jsxs(Hl,{className:`w-full ${n}`,children:[i.jsxs(zl,{className:`border-r ${o}`,children:[i.jsx(jl,{children:i.jsx(Xl,{children:i.jsx(Yl,{children:i.jsx(Jl,{size:"lg",children:i.jsx("span",{className:"font-semibold",children:t})})})})}),i.jsx(Kl,{children:r&&i.jsxs(Rl,{children:[i.jsx(Gl,{children:"Conversations"}),i.jsx(ql,{children:i.jsx("div",{className:"px-2 py-1",children:i.jsx(un,{showCreateButton:!0,showDeleteButton:!0,showEditTitle:!0,className:"h-[calc(100vh-12rem)]"})})})]})})]}),i.jsxs(Vl,{children:[i.jsxs("header",{className:"h-14 border-b bg-background/60 backdrop-blur flex items-center gap-2 px-4",children:[i.jsx(Wl,{}),i.jsx("div",{className:"flex-1"}),e]}),i.jsx("main",{className:`flex-1 min-h-0 overflow-hidden ${s}`,children:i.jsx(ir,{})})]})]})})}var Mv="Label",Zl=d.forwardRef((e,t)=>i.jsx(te.label,{...e,ref:t,onMouseDown:r=>{var o;r.target.closest("button, input, select, textarea")||((o=e.onMouseDown)==null||o.call(e,r),!r.defaultPrevented&&r.detail>1&&r.preventDefault())}}));Zl.displayName=Mv;var Ql=Zl;const Dv=Wt.cva("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),Le=d.forwardRef(({className:e,...t},r)=>i.jsx(Ql,{ref:r,className:P(Dv(),e),...t}));Le.displayName=Ql.displayName;function ed(e){const t=d.useRef({value:e,previous:e});return d.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}var vn="Switch",[Lv,ny]=Be(vn),[Fv,$v]=Lv(vn),td=d.forwardRef((e,t)=>{const{__scopeSwitch:r,name:n,checked:o,defaultChecked:s,required:a,disabled:c,value:l="on",onCheckedChange:f,form:u,...p}=e,[h,v]=d.useState(null),m=ie(t,y=>v(y)),g=d.useRef(!1),b=h?u||!!h.closest("form"):!0,[w,x]=ot({prop:o,defaultProp:s??!1,onChange:f,caller:vn});return i.jsxs(Fv,{scope:r,checked:w,disabled:c,children:[i.jsx(te.button,{type:"button",role:"switch","aria-checked":w,"aria-required":a,"data-state":sd(w),"data-disabled":c?"":void 0,disabled:c,value:l,...p,ref:m,onClick:H(e.onClick,y=>{x(C=>!C),b&&(g.current=y.isPropagationStopped(),g.current||y.stopPropagation())})}),b&&i.jsx(od,{control:h,bubbles:!g.current,name:n,value:l,checked:w,required:a,disabled:c,form:u,style:{transform:"translateX(-100%)"}})]})});td.displayName=vn;var rd="SwitchThumb",nd=d.forwardRef((e,t)=>{const{__scopeSwitch:r,...n}=e,o=$v(rd,r);return i.jsx(te.span,{"data-state":sd(o.checked),"data-disabled":o.disabled?"":void 0,...n,ref:t})});nd.displayName=rd;var Bv="SwitchBubbleInput",od=d.forwardRef(({__scopeSwitch:e,control:t,checked:r,bubbles:n=!0,...o},s)=>{const a=d.useRef(null),c=ie(a,s),l=ed(r),f=ci(t);return d.useEffect(()=>{const u=a.current;if(!u)return;const p=window.HTMLInputElement.prototype,v=Object.getOwnPropertyDescriptor(p,"checked").set;if(l!==r&&v){const m=new Event("click",{bubbles:n});v.call(u,r),u.dispatchEvent(m)}},[l,r,n]),i.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:r,...o,tabIndex:-1,ref:c,style:{...o.style,...f,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});od.displayName=Bv;function sd(e){return e?"checked":"unchecked"}var ad=td,Uv=nd;const ct=d.forwardRef(({className:e,...t},r)=>i.jsx(ad,{className:P("peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",e),...t,ref:r,children:i.jsx(Uv,{className:P("pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0")})}));ct.displayName=ad.displayName;var Hv=[" ","Enter","ArrowUp","ArrowDown"],zv=[" ","Enter"],yt="Select",[wn,yn,Wv]=oo(yt),[Ut,oy]=Be(yt,[Wv,Ot]),xn=Ot(),[Vv,lt]=Ut(yt),[jv,Kv]=Ut(yt),id=e=>{const{__scopeSelect:t,children:r,open:n,defaultOpen:o,onOpenChange:s,value:a,defaultValue:c,onValueChange:l,dir:f,name:u,autoComplete:p,disabled:h,required:v,form:m}=e,g=xn(t),[b,w]=d.useState(null),[x,y]=d.useState(null),[C,N]=d.useState(!1),k=Dr(f),[E,M]=ot({prop:n,defaultProp:o??!1,onChange:s,caller:yt}),[F,_]=ot({prop:a,defaultProp:c,onChange:l,caller:yt}),B=d.useRef(null),R=b?m||!!b.closest("form"):!0,[U,D]=d.useState(new Set),z=Array.from(U).map(O=>O.props.value).join(";");return i.jsx(Eo,{...g,children:i.jsxs(Vv,{required:v,scope:t,trigger:b,onTriggerChange:w,valueNode:x,onValueNodeChange:y,valueNodeHasChildren:C,onValueNodeHasChildrenChange:N,contentId:Ue(),value:F,onValueChange:_,open:E,onOpenChange:M,dir:k,triggerPointerDownPosRef:B,disabled:h,children:[i.jsx(wn.Provider,{scope:t,children:i.jsx(jv,{scope:e.__scopeSelect,onNativeOptionAdd:d.useCallback(O=>{D(G=>new Set(G).add(O))},[]),onNativeOptionRemove:d.useCallback(O=>{D(G=>{const L=new Set(G);return L.delete(O),L})},[]),children:r})}),R?i.jsxs(kd,{"aria-hidden":!0,required:v,tabIndex:-1,name:u,autoComplete:p,value:F,onChange:O=>_(O.target.value),disabled:h,form:m,children:[F===void 0?i.jsx("option",{value:""}):null,Array.from(U)]},z):null]})})};id.displayName=yt;var cd="SelectTrigger",ld=d.forwardRef((e,t)=>{const{__scopeSelect:r,disabled:n=!1,...o}=e,s=xn(r),a=lt(cd,r),c=a.disabled||n,l=ie(t,a.onTriggerChange),f=yn(r),u=d.useRef("touch"),[p,h,v]=Md(g=>{const b=f().filter(y=>!y.disabled),w=b.find(y=>y.value===a.value),x=Dd(b,g,w);x!==void 0&&a.onValueChange(x.value)}),m=g=>{c||(a.onOpenChange(!0),v()),g&&(a.triggerPointerDownPosRef.current={x:Math.round(g.pageX),y:Math.round(g.pageY)})};return i.jsx(No,{asChild:!0,...s,children:i.jsx(te.button,{type:"button",role:"combobox","aria-controls":a.contentId,"aria-expanded":a.open,"aria-required":a.required,"aria-autocomplete":"none",dir:a.dir,"data-state":a.open?"open":"closed",disabled:c,"data-disabled":c?"":void 0,"data-placeholder":Od(a.value)?"":void 0,...o,ref:l,onClick:H(o.onClick,g=>{g.currentTarget.focus(),u.current!=="mouse"&&m(g)}),onPointerDown:H(o.onPointerDown,g=>{u.current=g.pointerType;const b=g.target;b.hasPointerCapture(g.pointerId)&&b.releasePointerCapture(g.pointerId),g.button===0&&g.ctrlKey===!1&&g.pointerType==="mouse"&&(m(g),g.preventDefault())}),onKeyDown:H(o.onKeyDown,g=>{const b=p.current!=="";!(g.ctrlKey||g.altKey||g.metaKey)&&g.key.length===1&&h(g.key),!(b&&g.key===" ")&&Hv.includes(g.key)&&(m(),g.preventDefault())})})})});ld.displayName=cd;var dd="SelectValue",ud=d.forwardRef((e,t)=>{const{__scopeSelect:r,className:n,style:o,children:s,placeholder:a="",...c}=e,l=lt(dd,r),{onValueNodeHasChildrenChange:f}=l,u=s!==void 0,p=ie(t,l.onValueNodeChange);return ve(()=>{f(u)},[f,u]),i.jsx(te.span,{...c,ref:p,style:{pointerEvents:"none"},children:Od(l.value)?i.jsx(i.Fragment,{children:a}):s})});ud.displayName=dd;var Rv="SelectIcon",fd=d.forwardRef((e,t)=>{const{__scopeSelect:r,children:n,...o}=e;return i.jsx(te.span,{"aria-hidden":!0,...o,ref:t,children:n||"▼"})});fd.displayName=Rv;var Gv="SelectPortal",pd=e=>i.jsx(Rr,{asChild:!0,...e});pd.displayName=Gv;var xt="SelectContent",hd=d.forwardRef((e,t)=>{const r=lt(xt,e.__scopeSelect),[n,o]=d.useState();if(ve(()=>{o(new DocumentFragment)},[]),!r.open){const s=n;return s?gr.createPortal(i.jsx(gd,{scope:e.__scopeSelect,children:i.jsx(wn.Slot,{scope:e.__scopeSelect,children:i.jsx("div",{children:e.children})})}),s):null}return i.jsx(md,{...e,ref:t})});hd.displayName=xt;var Ve=10,[gd,dt]=Ut(xt),qv="SelectContentImpl",Xv=Ie.createSlot("SelectContent.RemoveScroll"),md=d.forwardRef((e,t)=>{const{__scopeSelect:r,position:n="item-aligned",onCloseAutoFocus:o,onEscapeKeyDown:s,onPointerDownOutside:a,side:c,sideOffset:l,align:f,alignOffset:u,arrowPadding:p,collisionBoundary:h,collisionPadding:v,sticky:m,hideWhenDetached:g,avoidCollisions:b,...w}=e,x=lt(xt,r),[y,C]=d.useState(null),[N,k]=d.useState(null),E=ie(t,W=>C(W)),[M,F]=d.useState(null),[_,B]=d.useState(null),R=yn(r),[U,D]=d.useState(!1),z=d.useRef(!1);d.useEffect(()=>{if(y)return ko(y)},[y]),io();const O=d.useCallback(W=>{const[V,...se]=R().map(ne=>ne.ref.current),[K]=se.slice(-1),Y=document.activeElement;for(const ne of W)if(ne===Y||(ne==null||ne.scrollIntoView({block:"nearest"}),ne===V&&N&&(N.scrollTop=0),ne===K&&N&&(N.scrollTop=N.scrollHeight),ne==null||ne.focus(),document.activeElement!==Y))return},[R,N]),G=d.useCallback(()=>O([M,y]),[O,M,y]);d.useEffect(()=>{U&&G()},[U,G]);const{onOpenChange:L,triggerPointerDownPosRef:A}=x;d.useEffect(()=>{if(y){let W={x:0,y:0};const V=K=>{var Y,ne;W={x:Math.abs(Math.round(K.pageX)-(((Y=A.current)==null?void 0:Y.x)??0)),y:Math.abs(Math.round(K.pageY)-(((ne=A.current)==null?void 0:ne.y)??0))}},se=K=>{W.x<=10&&W.y<=10?K.preventDefault():y.contains(K.target)||L(!1),document.removeEventListener("pointermove",V),A.current=null};return A.current!==null&&(document.addEventListener("pointermove",V),document.addEventListener("pointerup",se,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",V),document.removeEventListener("pointerup",se,{capture:!0})}}},[y,L,A]),d.useEffect(()=>{const W=()=>L(!1);return window.addEventListener("blur",W),window.addEventListener("resize",W),()=>{window.removeEventListener("blur",W),window.removeEventListener("resize",W)}},[L]);const[ee,q]=Md(W=>{const V=R().filter(Y=>!Y.disabled),se=V.find(Y=>Y.ref.current===document.activeElement),K=Dd(V,W,se);K&&setTimeout(()=>K.ref.current.focus())}),ce=d.useCallback((W,V,se)=>{const K=!z.current&&!se;(x.value!==void 0&&x.value===V||K)&&(F(W),K&&(z.current=!0))},[x.value]),$=d.useCallback(()=>y==null?void 0:y.focus(),[y]),j=d.useCallback((W,V,se)=>{const K=!z.current&&!se;(x.value!==void 0&&x.value===V||K)&&B(W)},[x.value]),le=n==="popper"?ss:bd,he=le===ss?{side:c,sideOffset:l,align:f,alignOffset:u,arrowPadding:p,collisionBoundary:h,collisionPadding:v,sticky:m,hideWhenDetached:g,avoidCollisions:b}:{};return i.jsx(gd,{scope:r,content:y,viewport:N,onViewportChange:k,itemRefCallback:ce,selectedItem:M,onItemLeave:$,itemTextRefCallback:j,focusSelectedItem:G,selectedItemText:_,position:n,isPositioned:U,searchRef:ee,children:i.jsx(en,{as:Xv,allowPinchZoom:!0,children:i.jsx(Lr,{asChild:!0,trapped:x.open,onMountAutoFocus:W=>{W.preventDefault()},onUnmountAutoFocus:H(o,W=>{var V;(V=x.trigger)==null||V.focus({preventScroll:!0}),W.preventDefault()}),children:i.jsx(Jt,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:s,onPointerDownOutside:a,onFocusOutside:W=>W.preventDefault(),onDismiss:()=>x.onOpenChange(!1),children:i.jsx(le,{role:"listbox",id:x.contentId,"data-state":x.open?"open":"closed",dir:x.dir,onContextMenu:W=>W.preventDefault(),...w,...he,onPlaced:()=>D(!0),ref:E,style:{display:"flex",flexDirection:"column",outline:"none",...w.style},onKeyDown:H(w.onKeyDown,W=>{const V=W.ctrlKey||W.altKey||W.metaKey;if(W.key==="Tab"&&W.preventDefault(),!V&&W.key.length===1&&q(W.key),["ArrowUp","ArrowDown","Home","End"].includes(W.key)){let K=R().filter(Y=>!Y.disabled).map(Y=>Y.ref.current);if(["ArrowUp","End"].includes(W.key)&&(K=K.slice().reverse()),["ArrowUp","ArrowDown"].includes(W.key)){const Y=W.target,ne=K.indexOf(Y);K=K.slice(ne+1)}setTimeout(()=>O(K)),W.preventDefault()}})})})})})})});md.displayName=qv;var Yv="SelectItemAlignedPosition",bd=d.forwardRef((e,t)=>{const{__scopeSelect:r,onPlaced:n,...o}=e,s=lt(xt,r),a=dt(xt,r),[c,l]=d.useState(null),[f,u]=d.useState(null),p=ie(t,E=>u(E)),h=yn(r),v=d.useRef(!1),m=d.useRef(!0),{viewport:g,selectedItem:b,selectedItemText:w,focusSelectedItem:x}=a,y=d.useCallback(()=>{if(s.trigger&&s.valueNode&&c&&f&&g&&b&&w){const E=s.trigger.getBoundingClientRect(),M=f.getBoundingClientRect(),F=s.valueNode.getBoundingClientRect(),_=w.getBoundingClientRect();if(s.dir!=="rtl"){const Y=_.left-M.left,ne=F.left-Y,me=E.left-ne,pe=E.width+me,Q=Math.max(pe,M.width),J=window.innerWidth-Ve,ge=Ko(ne,[Ve,Math.max(Ve,J-Q)]);c.style.minWidth=pe+"px",c.style.left=ge+"px"}else{const Y=M.right-_.right,ne=window.innerWidth-F.right-Y,me=window.innerWidth-E.right-ne,pe=E.width+me,Q=Math.max(pe,M.width),J=window.innerWidth-Ve,ge=Ko(ne,[Ve,Math.max(Ve,J-Q)]);c.style.minWidth=pe+"px",c.style.right=ge+"px"}const B=h(),R=window.innerHeight-Ve*2,U=g.scrollHeight,D=window.getComputedStyle(f),z=parseInt(D.borderTopWidth,10),O=parseInt(D.paddingTop,10),G=parseInt(D.borderBottomWidth,10),L=parseInt(D.paddingBottom,10),A=z+O+U+L+G,ee=Math.min(b.offsetHeight*5,A),q=window.getComputedStyle(g),ce=parseInt(q.paddingTop,10),$=parseInt(q.paddingBottom,10),j=E.top+E.height/2-Ve,le=R-j,he=b.offsetHeight/2,W=b.offsetTop+he,V=z+O+W,se=A-V;if(V<=j){const Y=B.length>0&&b===B[B.length-1].ref.current;c.style.bottom="0px";const ne=f.clientHeight-g.offsetTop-g.offsetHeight,me=Math.max(le,he+(Y?$:0)+ne+G),pe=V+me;c.style.height=pe+"px"}else{const Y=B.length>0&&b===B[0].ref.current;c.style.top="0px";const me=Math.max(j,z+g.offsetTop+(Y?ce:0)+he)+se;c.style.height=me+"px",g.scrollTop=V-j+g.offsetTop}c.style.margin=`${Ve}px 0`,c.style.minHeight=ee+"px",c.style.maxHeight=R+"px",n==null||n(),requestAnimationFrame(()=>v.current=!0)}},[h,s.trigger,s.valueNode,c,f,g,b,w,s.dir,n]);ve(()=>y(),[y]);const[C,N]=d.useState();ve(()=>{f&&N(window.getComputedStyle(f).zIndex)},[f]);const k=d.useCallback(E=>{E&&m.current===!0&&(y(),x==null||x(),m.current=!1)},[y,x]);return i.jsx(Zv,{scope:r,contentWrapper:c,shouldExpandOnScrollRef:v,onScrollButtonChange:k,children:i.jsx("div",{ref:l,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:C},children:i.jsx(te.div,{...o,ref:p,style:{boxSizing:"border-box",maxHeight:"100%",...o.style}})})})});bd.displayName=Yv;var Jv="SelectPopperPosition",ss=d.forwardRef((e,t)=>{const{__scopeSelect:r,align:n="start",collisionPadding:o=Ve,...s}=e,a=xn(r);return i.jsx(To,{...a,...s,ref:t,align:n,collisionPadding:o,style:{boxSizing:"border-box",...s.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});ss.displayName=Jv;var[Zv,as]=Ut(xt,{}),is="SelectViewport",vd=d.forwardRef((e,t)=>{const{__scopeSelect:r,nonce:n,...o}=e,s=dt(is,r),a=as(is,r),c=ie(t,s.onViewportChange),l=d.useRef(0);return i.jsxs(i.Fragment,{children:[i.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:n}),i.jsx(wn.Slot,{scope:r,children:i.jsx(te.div,{"data-radix-select-viewport":"",role:"presentation",...o,ref:c,style:{position:"relative",flex:1,overflow:"hidden auto",...o.style},onScroll:H(o.onScroll,f=>{const u=f.currentTarget,{contentWrapper:p,shouldExpandOnScrollRef:h}=a;if(h!=null&&h.current&&p){const v=Math.abs(l.current-u.scrollTop);if(v>0){const m=window.innerHeight-Ve*2,g=parseFloat(p.style.minHeight),b=parseFloat(p.style.height),w=Math.max(g,b);if(w<m){const x=w+v,y=Math.min(m,x),C=x-y;p.style.height=y+"px",p.style.bottom==="0px"&&(u.scrollTop=C>0?C:0,p.style.justifyContent="flex-end")}}}l.current=u.scrollTop})})})]})});vd.displayName=is;var wd="SelectGroup",[Qv,ew]=Ut(wd),tw=d.forwardRef((e,t)=>{const{__scopeSelect:r,...n}=e,o=Ue();return i.jsx(Qv,{scope:r,id:o,children:i.jsx(te.div,{role:"group","aria-labelledby":o,...n,ref:t})})});tw.displayName=wd;var yd="SelectLabel",xd=d.forwardRef((e,t)=>{const{__scopeSelect:r,...n}=e,o=ew(yd,r);return i.jsx(te.div,{id:o.id,...n,ref:t})});xd.displayName=yd;var Sn="SelectItem",[rw,Sd]=Ut(Sn),Cd=d.forwardRef((e,t)=>{const{__scopeSelect:r,value:n,disabled:o=!1,textValue:s,...a}=e,c=lt(Sn,r),l=dt(Sn,r),f=c.value===n,[u,p]=d.useState(s??""),[h,v]=d.useState(!1),m=ie(t,x=>{var y;return(y=l.itemRefCallback)==null?void 0:y.call(l,x,n,o)}),g=Ue(),b=d.useRef("touch"),w=()=>{o||(c.onValueChange(n),c.onOpenChange(!1))};if(n==="")throw new Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return i.jsx(rw,{scope:r,value:n,disabled:o,textId:g,isSelected:f,onItemTextChange:d.useCallback(x=>{p(y=>y||((x==null?void 0:x.textContent)??"").trim())},[]),children:i.jsx(wn.ItemSlot,{scope:r,value:n,disabled:o,textValue:u,children:i.jsx(te.div,{role:"option","aria-labelledby":g,"data-highlighted":h?"":void 0,"aria-selected":f&&h,"data-state":f?"checked":"unchecked","aria-disabled":o||void 0,"data-disabled":o?"":void 0,tabIndex:o?void 0:-1,...a,ref:m,onFocus:H(a.onFocus,()=>v(!0)),onBlur:H(a.onBlur,()=>v(!1)),onClick:H(a.onClick,()=>{b.current!=="mouse"&&w()}),onPointerUp:H(a.onPointerUp,()=>{b.current==="mouse"&&w()}),onPointerDown:H(a.onPointerDown,x=>{b.current=x.pointerType}),onPointerMove:H(a.onPointerMove,x=>{var y;b.current=x.pointerType,o?(y=l.onItemLeave)==null||y.call(l):b.current==="mouse"&&x.currentTarget.focus({preventScroll:!0})}),onPointerLeave:H(a.onPointerLeave,x=>{var y;x.currentTarget===document.activeElement&&((y=l.onItemLeave)==null||y.call(l))}),onKeyDown:H(a.onKeyDown,x=>{var C;((C=l.searchRef)==null?void 0:C.current)!==""&&x.key===" "||(zv.includes(x.key)&&w(),x.key===" "&&x.preventDefault())})})})})});Cd.displayName=Sn;var ur="SelectItemText",Ed=d.forwardRef((e,t)=>{const{__scopeSelect:r,className:n,style:o,...s}=e,a=lt(ur,r),c=dt(ur,r),l=Sd(ur,r),f=Kv(ur,r),[u,p]=d.useState(null),h=ie(t,w=>p(w),l.onItemTextChange,w=>{var x;return(x=c.itemTextRefCallback)==null?void 0:x.call(c,w,l.value,l.disabled)}),v=u==null?void 0:u.textContent,m=d.useMemo(()=>i.jsx("option",{value:l.value,disabled:l.disabled,children:v},l.value),[l.disabled,l.value,v]),{onNativeOptionAdd:g,onNativeOptionRemove:b}=f;return ve(()=>(g(m),()=>b(m)),[g,b,m]),i.jsxs(i.Fragment,{children:[i.jsx(te.span,{id:l.textId,...s,ref:h}),l.isSelected&&a.valueNode&&!a.valueNodeHasChildren?gr.createPortal(s.children,a.valueNode):null]})});Ed.displayName=ur;var Nd="SelectItemIndicator",Td=d.forwardRef((e,t)=>{const{__scopeSelect:r,...n}=e;return Sd(Nd,r).isSelected?i.jsx(te.span,{"aria-hidden":!0,...n,ref:t}):null});Td.displayName=Nd;var cs="SelectScrollUpButton",Ad=d.forwardRef((e,t)=>{const r=dt(cs,e.__scopeSelect),n=as(cs,e.__scopeSelect),[o,s]=d.useState(!1),a=ie(t,n.onScrollButtonChange);return ve(()=>{if(r.viewport&&r.isPositioned){let c=function(){const f=l.scrollTop>0;s(f)};const l=r.viewport;return c(),l.addEventListener("scroll",c),()=>l.removeEventListener("scroll",c)}},[r.viewport,r.isPositioned]),o?i.jsx(Id,{...e,ref:a,onAutoScroll:()=>{const{viewport:c,selectedItem:l}=r;c&&l&&(c.scrollTop=c.scrollTop-l.offsetHeight)}}):null});Ad.displayName=cs;var ls="SelectScrollDownButton",Pd=d.forwardRef((e,t)=>{const r=dt(ls,e.__scopeSelect),n=as(ls,e.__scopeSelect),[o,s]=d.useState(!1),a=ie(t,n.onScrollButtonChange);return ve(()=>{if(r.viewport&&r.isPositioned){let c=function(){const f=l.scrollHeight-l.clientHeight,u=Math.ceil(l.scrollTop)<f;s(u)};const l=r.viewport;return c(),l.addEventListener("scroll",c),()=>l.removeEventListener("scroll",c)}},[r.viewport,r.isPositioned]),o?i.jsx(Id,{...e,ref:a,onAutoScroll:()=>{const{viewport:c,selectedItem:l}=r;c&&l&&(c.scrollTop=c.scrollTop+l.offsetHeight)}}):null});Pd.displayName=ls;var Id=d.forwardRef((e,t)=>{const{__scopeSelect:r,onAutoScroll:n,...o}=e,s=dt("SelectScrollButton",r),a=d.useRef(null),c=yn(r),l=d.useCallback(()=>{a.current!==null&&(window.clearInterval(a.current),a.current=null)},[]);return d.useEffect(()=>()=>l(),[l]),ve(()=>{var u;const f=c().find(p=>p.ref.current===document.activeElement);(u=f==null?void 0:f.ref.current)==null||u.scrollIntoView({block:"nearest"})},[c]),i.jsx(te.div,{"aria-hidden":!0,...o,ref:t,style:{flexShrink:0,...o.style},onPointerDown:H(o.onPointerDown,()=>{a.current===null&&(a.current=window.setInterval(n,50))}),onPointerMove:H(o.onPointerMove,()=>{var f;(f=s.onItemLeave)==null||f.call(s),a.current===null&&(a.current=window.setInterval(n,50))}),onPointerLeave:H(o.onPointerLeave,()=>{l()})})}),nw="SelectSeparator",_d=d.forwardRef((e,t)=>{const{__scopeSelect:r,...n}=e;return i.jsx(te.div,{"aria-hidden":!0,...n,ref:t})});_d.displayName=nw;var ds="SelectArrow",ow=d.forwardRef((e,t)=>{const{__scopeSelect:r,...n}=e,o=xn(r),s=lt(ds,r),a=dt(ds,r);return s.open&&a.position==="popper"?i.jsx(Ao,{...o,...n,ref:t}):null});ow.displayName=ds;var sw="SelectBubbleInput",kd=d.forwardRef(({__scopeSelect:e,value:t,...r},n)=>{const o=d.useRef(null),s=ie(n,o),a=ed(t);return d.useEffect(()=>{const c=o.current;if(!c)return;const l=window.HTMLSelectElement.prototype,u=Object.getOwnPropertyDescriptor(l,"value").set;if(a!==t&&u){const p=new Event("change",{bubbles:!0});u.call(c,t),c.dispatchEvent(p)}},[a,t]),i.jsx(te.select,{...r,style:{...Pl,...r.style},ref:s,defaultValue:t})});kd.displayName=sw;function Od(e){return e===""||e===void 0}function Md(e){const t=we(e),r=d.useRef(""),n=d.useRef(0),o=d.useCallback(a=>{const c=r.current+a;t(c),function l(f){r.current=f,window.clearTimeout(n.current),f!==""&&(n.current=window.setTimeout(()=>l(""),1e3))}(c)},[t]),s=d.useCallback(()=>{r.current="",window.clearTimeout(n.current)},[]);return d.useEffect(()=>()=>window.clearTimeout(n.current),[]),[r,o,s]}function Dd(e,t,r){const o=t.length>1&&Array.from(t).every(f=>f===t[0])?t[0]:t,s=r?e.indexOf(r):-1;let a=aw(e,Math.max(s,0));o.length===1&&(a=a.filter(f=>f!==r));const l=a.find(f=>f.textValue.toLowerCase().startsWith(o.toLowerCase()));return l!==r?l:void 0}function aw(e,t){return e.map((r,n)=>e[(t+n)%e.length])}var iw=id,Ld=ld,cw=ud,lw=fd,dw=pd,Fd=hd,uw=vd,$d=xd,Bd=Cd,fw=Ed,pw=Td,Ud=Ad,Hd=Pd,zd=_d;const Wd=iw,Vd=cw,us=d.forwardRef(({className:e,children:t,...r},n)=>i.jsxs(Ld,{ref:n,className:P("flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",e),...r,children:[t,i.jsx(lw,{asChild:!0,children:i.jsx(X.ChevronDown,{className:"h-4 w-4 opacity-50"})})]}));us.displayName=Ld.displayName;const jd=d.forwardRef(({className:e,...t},r)=>i.jsx(Ud,{ref:r,className:P("flex cursor-default items-center justify-center py-1",e),...t,children:i.jsx(X.ChevronUp,{className:"h-4 w-4"})}));jd.displayName=Ud.displayName;const Kd=d.forwardRef(({className:e,...t},r)=>i.jsx(Hd,{ref:r,className:P("flex cursor-default items-center justify-center py-1",e),...t,children:i.jsx(X.ChevronDown,{className:"h-4 w-4"})}));Kd.displayName=Hd.displayName;const fs=d.forwardRef(({className:e,children:t,position:r="popper",...n},o)=>i.jsx(dw,{children:i.jsxs(Fd,{ref:o,className:P("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover 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==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:r,...n,children:[i.jsx(jd,{}),i.jsx(uw,{className:P("p-1",r==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:t}),i.jsx(Kd,{})]})}));fs.displayName=Fd.displayName;const hw=d.forwardRef(({className:e,...t},r)=>i.jsx($d,{ref:r,className:P("py-1.5 pl-8 pr-2 text-sm font-semibold",e),...t}));hw.displayName=$d.displayName;const St=d.forwardRef(({className:e,children:t,...r},n)=>i.jsxs(Bd,{ref:n,className:P("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...r,children:[i.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:i.jsx(pw,{children:i.jsx(X.Check,{className:"h-4 w-4"})})}),i.jsx(fw,{children:t})]}));St.displayName=Bd.displayName;const gw=d.forwardRef(({className:e,...t},r)=>i.jsx(zd,{ref:r,className:P("-mx-1 my-1 h-px bg-muted",e),...t}));gw.displayName=zd.displayName;const Cn=d.forwardRef(({className:e,...t},r)=>i.jsx("div",{ref:r,className:P("rounded-lg border bg-card text-card-foreground shadow-sm",e),...t}));Cn.displayName="Card";const En=d.forwardRef(({className:e,...t},r)=>i.jsx("div",{ref:r,className:P("flex flex-col space-y-1.5 p-6",e),...t}));En.displayName="CardHeader";const Nn=d.forwardRef(({className:e,...t},r)=>i.jsx("h3",{ref:r,className:P("text-2xl font-semibold leading-none tracking-tight",e),...t}));Nn.displayName="CardTitle";const mw=d.forwardRef(({className:e,...t},r)=>i.jsx("p",{ref:r,className:P("text-sm text-muted-foreground",e),...t}));mw.displayName="CardDescription";const Tn=d.forwardRef(({className:e,...t},r)=>i.jsx("div",{ref:r,className:P("p-6 pt-0",e),...t}));Tn.displayName="CardContent";const bw=d.forwardRef(({className:e,...t},r)=>i.jsx("div",{ref:r,className:P("flex items-center p-6 pt-0",e),...t}));bw.displayName="CardFooter";const vw=1,ww=1e6;let ps=0;function yw(){return ps=(ps+1)%Number.MAX_SAFE_INTEGER,ps.toString()}const hs=new Map,Rd=e=>{if(hs.has(e))return;const t=setTimeout(()=>{hs.delete(e),fr({type:"REMOVE_TOAST",toastId:e})},ww);hs.set(e,t)},xw=(e,t)=>{switch(t.type){case"ADD_TOAST":return{...e,toasts:[t.toast,...e.toasts].slice(0,vw)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(r=>r.id===t.toast.id?{...r,...t.toast}:r)};case"DISMISS_TOAST":{const{toastId:r}=t;return r?Rd(r):e.toasts.forEach(n=>{Rd(n.id)}),{...e,toasts:e.toasts.map(n=>n.id===r||r===void 0?{...n,open:!1}:n)}}case"REMOVE_TOAST":return t.toastId===void 0?{...e,toasts:[]}:{...e,toasts:e.toasts.filter(r=>r.id!==t.toastId)}}},An=[];let Pn={toasts:[]};function fr(e){Pn=xw(Pn,e),An.forEach(t=>{t(Pn)})}function Sw({...e}){const t=yw(),r=o=>fr({type:"UPDATE_TOAST",toast:{...o,id:t}}),n=()=>fr({type:"DISMISS_TOAST",toastId:t});return fr({type:"ADD_TOAST",toast:{...e,id:t,open:!0,onOpenChange:o=>{o||n()}}}),{id:t,dismiss:n,update:r}}function Cw(){const[e,t]=d.useState(Pn);return d.useEffect(()=>(An.push(t),()=>{const r=An.indexOf(t);r>-1&&An.splice(r,1)}),[e]),{...e,toast:Sw,dismiss:r=>fr({type:"DISMISS_TOAST",toastId:r})}}const Ew={api:{baseUrl:"http://localhost:8000/api",authToken:"",enableAuth:!1},ui:{layout:"sidebar",theme:"light",showTimestamps:!0,showAgentNames:!0,compactMessages:!1},behavior:{autoSave:!0,enableStreaming:!0,showTypingIndicator:!0}};function Nw({settings:e,onSettingsChange:t,className:r=""}){const[n,o]=T.useState(!1),[s,a]=T.useState(!1),[c,l]=T.useState(e),[f,u]=T.useState(!1),{toast:p}=Cw();T.useEffect(()=>{const b=JSON.stringify(c)!==JSON.stringify(e);u(b)},[c,e]),T.useEffect(()=>{l(e)},[e]);const h=()=>{t(c),u(!1),p({title:"Settings saved",description:"Your chat configuration has been updated successfully."})},v=()=>{l(Ew),u(!0),p({title:"Settings reset",description:"Configuration has been reset to defaults."})},m=()=>{l(e),u(!1),o(!1)},g=async()=>{try{const w=await(await fetch(`${c.api.baseUrl}/health`)).json();p({title:"Connection successful",description:`API is ${w.status||"healthy"}`})}catch{p({title:"Connection failed",description:"Unable to connect to the API endpoint.",variant:"destructive"})}};return i.jsxs(Sl,{open:n,onOpenChange:o,children:[i.jsx(zb,{asChild:!0,children:i.jsxs(fe,{variant:"outline",size:"sm",className:r,children:[i.jsx(X.Settings,{className:"h-4 w-4 mr-2"}),"Settings",f&&i.jsx(ba,{variant:"destructive",className:"ml-2 h-4 w-4 p-0"})]})}),i.jsxs(ts,{className:"w-[500px] sm:w-[600px] overflow-y-auto",children:[i.jsxs(El,{children:[i.jsx(Nl,{children:"Chat Settings"}),i.jsx(Tl,{children:"Configure your chat interface, API connection, and behavior preferences."})]}),i.jsxs("div",{className:"space-y-6 py-6",children:[i.jsxs(Cn,{children:[i.jsx(En,{className:"pb-3",children:i.jsxs(Nn,{className:"text-lg flex items-center gap-2",children:[i.jsx(X.Server,{className:"h-5 w-5"}),"API Configuration"]})}),i.jsxs(Tn,{className:"space-y-4",children:[i.jsxs("div",{className:"space-y-2",children:[i.jsx(Le,{htmlFor:"api-url",children:"API Base URL"}),i.jsxs("div",{className:"flex gap-2",children:[i.jsx(cr,{id:"api-url",value:c.api.baseUrl,onChange:b=>l(w=>({...w,api:{...w.api,baseUrl:b.target.value}})),placeholder:"http://localhost:8000/api"}),i.jsx(fe,{variant:"outline",onClick:g,children:"Test"})]})]}),i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsx(Le,{htmlFor:"enable-auth",children:"Enable Authentication"}),i.jsx(ct,{id:"enable-auth",checked:c.api.enableAuth,onCheckedChange:b=>l(w=>({...w,api:{...w.api,enableAuth:b}}))})]}),c.api.enableAuth&&i.jsxs("div",{className:"space-y-2",children:[i.jsx(Le,{htmlFor:"auth-token",children:"Authentication Token"}),i.jsxs("div",{className:"flex gap-2",children:[i.jsx(cr,{id:"auth-token",type:s?"text":"password",value:c.api.authToken,onChange:b=>l(w=>({...w,api:{...w.api,authToken:b.target.value}})),placeholder:"Enter your Bearer token"}),i.jsx(fe,{variant:"outline",size:"icon",onClick:()=>a(!s),children:s?i.jsx(X.EyeOff,{className:"h-4 w-4"}):i.jsx(X.Eye,{className:"h-4 w-4"})})]})]})]})]}),i.jsxs(Cn,{children:[i.jsx(En,{className:"pb-3",children:i.jsxs(Nn,{className:"text-lg flex items-center gap-2",children:[i.jsx(X.Layout,{className:"h-5 w-5"}),"Interface Settings"]})}),i.jsxs(Tn,{className:"space-y-4",children:[i.jsxs("div",{className:"space-y-2",children:[i.jsx(Le,{htmlFor:"layout",children:"Layout Style"}),i.jsxs(Wd,{value:c.ui.layout,onValueChange:b=>l(w=>({...w,ui:{...w.ui,layout:b}})),children:[i.jsx(us,{children:i.jsx(Vd,{})}),i.jsxs(fs,{children:[i.jsx(St,{value:"sidebar",children:"Sidebar Layout"}),i.jsx(St,{value:"fullscreen",children:"Fullscreen"}),i.jsx(St,{value:"tabs",children:"Tabbed Interface"})]})]})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(Le,{htmlFor:"theme",children:"Theme"}),i.jsxs(Wd,{value:c.ui.theme,onValueChange:b=>l(w=>({...w,ui:{...w.ui,theme:b}})),children:[i.jsx(us,{children:i.jsx(Vd,{})}),i.jsxs(fs,{children:[i.jsx(St,{value:"light",children:"Light"}),i.jsx(St,{value:"dark",children:"Dark"}),i.jsx(St,{value:"system",children:"System"})]})]})]}),i.jsx(Jo,{}),i.jsxs("div",{className:"space-y-3",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsx(Le,{htmlFor:"show-timestamps",children:"Show Timestamps"}),i.jsx(ct,{id:"show-timestamps",checked:c.ui.showTimestamps,onCheckedChange:b=>l(w=>({...w,ui:{...w.ui,showTimestamps:b}}))})]}),i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsx(Le,{htmlFor:"show-agent-names",children:"Show Agent Names"}),i.jsx(ct,{id:"show-agent-names",checked:c.ui.showAgentNames,onCheckedChange:b=>l(w=>({...w,ui:{...w.ui,showAgentNames:b}}))})]}),i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsx(Le,{htmlFor:"compact-messages",children:"Compact Messages"}),i.jsx(ct,{id:"compact-messages",checked:c.ui.compactMessages,onCheckedChange:b=>l(w=>({...w,ui:{...w.ui,compactMessages:b}}))})]})]})]})]}),i.jsxs(Cn,{children:[i.jsx(En,{className:"pb-3",children:i.jsxs(Nn,{className:"text-lg flex items-center gap-2",children:[i.jsx(X.MessageCircle,{className:"h-5 w-5"}),"Behavior Settings"]})}),i.jsxs(Tn,{className:"space-y-4",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{children:[i.jsx(Le,{htmlFor:"auto-save",children:"Auto-save Conversations"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"Automatically save messages to threads"})]}),i.jsx(ct,{id:"auto-save",checked:c.behavior.autoSave,onCheckedChange:b=>l(w=>({...w,behavior:{...w.behavior,autoSave:b}}))})]}),i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{children:[i.jsx(Le,{htmlFor:"enable-streaming",children:"Enable Streaming"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"Stream responses in real-time"})]}),i.jsx(ct,{id:"enable-streaming",checked:c.behavior.enableStreaming,onCheckedChange:b=>l(w=>({...w,behavior:{...w.behavior,enableStreaming:b}}))})]}),i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{children:[i.jsx(Le,{htmlFor:"typing-indicator",children:"Typing Indicator"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"Show typing indicator during responses"})]}),i.jsx(ct,{id:"typing-indicator",checked:c.behavior.showTypingIndicator,onCheckedChange:b=>l(w=>({...w,behavior:{...w.behavior,showTypingIndicator:b}}))})]})]})]})]}),i.jsxs("div",{className:"flex items-center justify-between pt-6 border-t",children:[i.jsxs(fe,{variant:"outline",onClick:v,children:[i.jsx(X.RotateCcw,{className:"h-4 w-4 mr-2"}),"Reset"]}),i.jsxs("div",{className:"flex gap-2",children:[i.jsx(fe,{variant:"outline",onClick:m,children:"Cancel"}),i.jsxs(fe,{onClick:h,disabled:!f,children:[i.jsx(X.Save,{className:"h-4 w-4 mr-2"}),"Save Changes"]})]})]})]})]})}function Tw({layout:e="sidebar",layoutSize:t="desktop",showThreads:r=!0,className:n="",customStyles:o={},...s}){const a=f=>{const u="h-full";switch(f){case"phone":return`${u} max-w-none`;case"tablet":return`${u} max-w-4xl mx-auto`;case"half-screen":return`${u} max-w-2xl`;case"desktop":default:return`${u} max-w-7xl mx-auto`}},c=f=>({"--chat-sidebar-width":f==="phone"?"100%":f==="tablet"?"280px":f==="half-screen"?"240px":"320px","--chat-message-max-width":f==="phone"?"95%":f==="tablet"?"90%":f==="half-screen"?"85%":"80%","--chat-input-height":f==="phone"?"120px":"100px"}),l=T.useCallback(f=>{var u;(u=s.onThreadChange)==null||u.call(s,f)},[s.onThreadChange]);return e==="fullscreen"?i.jsx(qt,{...s,onThreadChange:l,children:i.jsx("div",{className:`${a(t)} flex flex-col overflow-hidden ${n} ${o.container||""}`,style:c(t),children:i.jsx(ir,{className:"flex-1",onError:s.onError,enableFileUpload:!0})})}):e==="tabs"?i.jsx(qt,{...s,onThreadChange:l,children:i.jsx("div",{className:`${a(t)} flex flex-col overflow-hidden ${n} ${o.container||""}`,style:c(t),children:i.jsxs("div",{className:"flex-1 flex min-h-0 overflow-hidden",children:[r&&i.jsx("div",{className:`w-80 border-r flex-shrink-0 overflow-hidden ${o.sidebar||""}`,children:i.jsx(un,{showCreateButton:!0,showDeleteButton:!0,showEditTitle:!0,className:"h-full"})}),i.jsx("div",{className:`flex-1 min-w-0 overflow-hidden ${o.chatArea||""}`,children:i.jsx(ir,{onError:s.onError,enableFileUpload:!0})})]})})}):i.jsx(qt,{...s,onThreadChange:l,children:i.jsxs("div",{className:`${a(t)} flex overflow-hidden ${n} ${o.container||""}`,style:c(t),children:[r&&i.jsx("div",{className:`w-80 border-r bg-gray-50 flex-shrink-0 overflow-hidden ${o.sidebar||""}`,children:i.jsx(un,{showCreateButton:!0,showDeleteButton:!0,showEditTitle:!0,className:"h-full"})}),i.jsx("div",{className:`flex-1 min-w-0 overflow-hidden ${o.chatArea||""}`,children:i.jsx(ir,{onError:s.onError,enableFileUpload:!0})})]})})}re.Api=Ir,re.ApiClient=Ir,re.ChatApi=Ir,re.ChatInterface=ir,re.ChatMainLayout=Ov,re.ChatProvider=qt,re.ChatRoutingProvider=mb,re.ChatSettings=Nw,re.MarkdownContent=Xt,re.MessageComponent=Na,re.ThreadManager=un,re.apiClient=Qe,re.applySettings=Cb,re.chatApiClient=Qe,re.default=Tw,re.del=ua,re.get=Re,re.getChatToken=ca,re.getCurrentSettings=Sb,re.getDefaultApiConfig=Yc,re.getDefaultChatSettings=Jc,re.onChatTokenChanged=la,re.post=Pr,re.put=da,re.setChatToken=Xn,re.useChat=Zn,re.useChatRouting=bb,re.useChatStream=fa,re.useMessagesReducer=pa,Object.defineProperties(re,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
62
|
+
For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return d.useEffect(()=>{e&&(document.getElementById(e)||console.error(r))},[r,e]),null},Lb="DialogDescriptionWarning",Fb=({contentRef:e,descriptionId:t})=>{const n=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${bl(Lb).contentName}}.`;return d.useEffect(()=>{var s;const o=(s=e.current)==null?void 0:s.getAttribute("aria-describedby");t&&o&&(document.getElementById(t)||console.warn(n))},[n,e,t]),null},$b=nl,Bb=sl,Ub=il,vl=cl,wl=ll,yl=ul,xl=pl,Hb=gl;const Sl=$b,zb=Bb,Wb=Ub,Cl=d.forwardRef(({className:e,...t},r)=>i.jsx(vl,{className:P("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t,ref:r}));Cl.displayName=vl.displayName;const Vb=Wt.cva("fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500",{variants:{side:{top:"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",bottom:"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",left:"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",right:"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"}},defaultVariants:{side:"right"}}),ts=d.forwardRef(({side:e="right",className:t,children:r,...n},o)=>i.jsxs(Wb,{children:[i.jsx(Cl,{}),i.jsxs(wl,{ref:o,className:P(Vb({side:e}),t),...n,children:[r,i.jsxs(Hb,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary",children:[i.jsx(Y.X,{className:"h-4 w-4"}),i.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));ts.displayName=wl.displayName;const El=({className:e,...t})=>i.jsx("div",{className:P("flex flex-col space-y-2 text-center sm:text-left",e),...t});El.displayName="SheetHeader";const Nl=d.forwardRef(({className:e,...t},r)=>i.jsx(yl,{ref:r,className:P("text-lg font-semibold text-foreground",e),...t}));Nl.displayName=yl.displayName;const Tl=d.forwardRef(({className:e,...t},r)=>i.jsx(xl,{ref:r,className:P("text-sm text-muted-foreground",e),...t}));Tl.displayName=xl.displayName;function Al({className:e,...t}){return i.jsx("div",{className:P("animate-pulse rounded-md bg-muted",e),...t})}var Pl=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),jb="VisuallyHidden",Il=d.forwardRef((e,t)=>i.jsx(te.span,{...e,ref:t,style:{...Pl,...e.style}}));Il.displayName=jb;var Kb=Il,[hn,ty]=Be("Tooltip",[Ot]),gn=Ot(),_l="TooltipProvider",Rb=700,rs="tooltip.open",[Gb,ns]=hn(_l),kl=e=>{const{__scopeTooltip:t,delayDuration:r=Rb,skipDelayDuration:n=300,disableHoverableContent:o=!1,children:s}=e,a=d.useRef(!0),c=d.useRef(!1),l=d.useRef(0);return d.useEffect(()=>{const f=l.current;return()=>window.clearTimeout(f)},[]),i.jsx(Gb,{scope:t,isOpenDelayedRef:a,delayDuration:r,onOpen:d.useCallback(()=>{window.clearTimeout(l.current),a.current=!1},[]),onClose:d.useCallback(()=>{window.clearTimeout(l.current),l.current=window.setTimeout(()=>a.current=!0,n)},[n]),isPointerInTransitRef:c,onPointerInTransitChange:d.useCallback(f=>{c.current=f},[]),disableHoverableContent:o,children:s})};kl.displayName=_l;var dr="Tooltip",[qb,mn]=hn(dr),Ol=e=>{const{__scopeTooltip:t,children:r,open:n,defaultOpen:o,onOpenChange:s,disableHoverableContent:a,delayDuration:c}=e,l=ns(dr,e.__scopeTooltip),f=gn(t),[u,p]=d.useState(null),h=Ue(),v=d.useRef(0),m=a??l.disableHoverableContent,g=c??l.delayDuration,b=d.useRef(!1),[w,x]=ot({prop:n,defaultProp:o??!1,onChange:E=>{E?(l.onOpen(),document.dispatchEvent(new CustomEvent(rs))):l.onClose(),s==null||s(E)},caller:dr}),y=d.useMemo(()=>w?b.current?"delayed-open":"instant-open":"closed",[w]),C=d.useCallback(()=>{window.clearTimeout(v.current),v.current=0,b.current=!1,x(!0)},[x]),N=d.useCallback(()=>{window.clearTimeout(v.current),v.current=0,x(!1)},[x]),k=d.useCallback(()=>{window.clearTimeout(v.current),v.current=window.setTimeout(()=>{b.current=!0,x(!0),v.current=0},g)},[g,x]);return d.useEffect(()=>()=>{v.current&&(window.clearTimeout(v.current),v.current=0)},[]),i.jsx(Eo,{...f,children:i.jsx(qb,{scope:t,contentId:h,open:w,stateAttribute:y,trigger:u,onTriggerChange:p,onTriggerEnter:d.useCallback(()=>{l.isOpenDelayedRef.current?k():C()},[l.isOpenDelayedRef,k,C]),onTriggerLeave:d.useCallback(()=>{m?N():(window.clearTimeout(v.current),v.current=0)},[N,m]),onOpen:C,onClose:N,disableHoverableContent:m,children:r})})};Ol.displayName=dr;var os="TooltipTrigger",Ml=d.forwardRef((e,t)=>{const{__scopeTooltip:r,...n}=e,o=mn(os,r),s=ns(os,r),a=gn(r),c=d.useRef(null),l=ie(t,c,o.onTriggerChange),f=d.useRef(!1),u=d.useRef(!1),p=d.useCallback(()=>f.current=!1,[]);return d.useEffect(()=>()=>document.removeEventListener("pointerup",p),[p]),i.jsx(No,{asChild:!0,...a,children:i.jsx(te.button,{"aria-describedby":o.open?o.contentId:void 0,"data-state":o.stateAttribute,...n,ref:l,onPointerMove:H(e.onPointerMove,h=>{h.pointerType!=="touch"&&!u.current&&!s.isPointerInTransitRef.current&&(o.onTriggerEnter(),u.current=!0)}),onPointerLeave:H(e.onPointerLeave,()=>{o.onTriggerLeave(),u.current=!1}),onPointerDown:H(e.onPointerDown,()=>{o.open&&o.onClose(),f.current=!0,document.addEventListener("pointerup",p,{once:!0})}),onFocus:H(e.onFocus,()=>{f.current||o.onOpen()}),onBlur:H(e.onBlur,o.onClose),onClick:H(e.onClick,o.onClose)})})});Ml.displayName=os;var Xb="TooltipPortal",[ry,Yb]=hn(Xb,{forceMount:void 0}),Bt="TooltipContent",Dl=d.forwardRef((e,t)=>{const r=Yb(Bt,e.__scopeTooltip),{forceMount:n=r.forceMount,side:o="top",...s}=e,a=mn(Bt,e.__scopeTooltip);return i.jsx(Ae,{present:n||a.open,children:a.disableHoverableContent?i.jsx(Ll,{side:o,...s,ref:t}):i.jsx(Jb,{side:o,...s,ref:t})})}),Jb=d.forwardRef((e,t)=>{const r=mn(Bt,e.__scopeTooltip),n=ns(Bt,e.__scopeTooltip),o=d.useRef(null),s=ie(t,o),[a,c]=d.useState(null),{trigger:l,onClose:f}=r,u=o.current,{onPointerInTransitChange:p}=n,h=d.useCallback(()=>{c(null),p(!1)},[p]),v=d.useCallback((m,g)=>{const b=m.currentTarget,w={x:m.clientX,y:m.clientY},x=rv(w,b.getBoundingClientRect()),y=nv(w,x),C=ov(g.getBoundingClientRect()),N=av([...y,...C]);c(N),p(!0)},[p]);return d.useEffect(()=>()=>h(),[h]),d.useEffect(()=>{if(l&&u){const m=b=>v(b,u),g=b=>v(b,l);return l.addEventListener("pointerleave",m),u.addEventListener("pointerleave",g),()=>{l.removeEventListener("pointerleave",m),u.removeEventListener("pointerleave",g)}}},[l,u,v,h]),d.useEffect(()=>{if(a){const m=g=>{const b=g.target,w={x:g.clientX,y:g.clientY},x=(l==null?void 0:l.contains(b))||(u==null?void 0:u.contains(b)),y=!sv(w,a);x?h():y&&(h(),f())};return document.addEventListener("pointermove",m),()=>document.removeEventListener("pointermove",m)}},[l,u,a,f,h]),i.jsx(Ll,{...e,ref:s})}),[Zb,Qb]=hn(dr,{isInside:!1}),ev=Ie.createSlottable("TooltipContent"),Ll=d.forwardRef((e,t)=>{const{__scopeTooltip:r,children:n,"aria-label":o,onEscapeKeyDown:s,onPointerDownOutside:a,...c}=e,l=mn(Bt,r),f=gn(r),{onClose:u}=l;return d.useEffect(()=>(document.addEventListener(rs,u),()=>document.removeEventListener(rs,u)),[u]),d.useEffect(()=>{if(l.trigger){const p=h=>{const v=h.target;v!=null&&v.contains(l.trigger)&&u()};return window.addEventListener("scroll",p,{capture:!0}),()=>window.removeEventListener("scroll",p,{capture:!0})}},[l.trigger,u]),i.jsx(Jt,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:s,onPointerDownOutside:a,onFocusOutside:p=>p.preventDefault(),onDismiss:u,children:i.jsxs(To,{"data-state":l.stateAttribute,...f,...c,ref:t,style:{...c.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[i.jsx(ev,{children:n}),i.jsx(Zb,{scope:r,isInside:!0,children:i.jsx(Kb,{id:l.contentId,role:"tooltip",children:o||n})})]})})});Dl.displayName=Bt;var Fl="TooltipArrow",tv=d.forwardRef((e,t)=>{const{__scopeTooltip:r,...n}=e,o=gn(r);return Qb(Fl,r).isInside?null:i.jsx(Ao,{...o,...n,ref:t})});tv.displayName=Fl;function rv(e,t){const r=Math.abs(t.top-e.y),n=Math.abs(t.bottom-e.y),o=Math.abs(t.right-e.x),s=Math.abs(t.left-e.x);switch(Math.min(r,n,o,s)){case s:return"left";case o:return"right";case r:return"top";case n:return"bottom";default:throw new Error("unreachable")}}function nv(e,t,r=5){const n=[];switch(t){case"top":n.push({x:e.x-r,y:e.y+r},{x:e.x+r,y:e.y+r});break;case"bottom":n.push({x:e.x-r,y:e.y-r},{x:e.x+r,y:e.y-r});break;case"left":n.push({x:e.x+r,y:e.y-r},{x:e.x+r,y:e.y+r});break;case"right":n.push({x:e.x-r,y:e.y-r},{x:e.x-r,y:e.y+r});break}return n}function ov(e){const{top:t,right:r,bottom:n,left:o}=e;return[{x:o,y:t},{x:r,y:t},{x:r,y:n},{x:o,y:n}]}function sv(e,t){const{x:r,y:n}=e;let o=!1;for(let s=0,a=t.length-1;s<t.length;a=s++){const c=t[s],l=t[a],f=c.x,u=c.y,p=l.x,h=l.y;u>n!=h>n&&r<(p-f)*(n-u)/(h-u)+f&&(o=!o)}return o}function av(e){const t=e.slice();return t.sort((r,n)=>r.x<n.x?-1:r.x>n.x?1:r.y<n.y?-1:r.y>n.y?1:0),iv(t)}function iv(e){if(e.length<=1)return e.slice();const t=[];for(let n=0;n<e.length;n++){const o=e[n];for(;t.length>=2;){const s=t[t.length-1],a=t[t.length-2];if((s.x-a.x)*(o.y-a.y)>=(s.y-a.y)*(o.x-a.x))t.pop();else break}t.push(o)}t.pop();const r=[];for(let n=e.length-1;n>=0;n--){const o=e[n];for(;r.length>=2;){const s=r[r.length-1],a=r[r.length-2];if((s.x-a.x)*(o.y-a.y)>=(s.y-a.y)*(o.x-a.x))r.pop();else break}r.push(o)}return r.pop(),t.length===1&&r.length===1&&t[0].x===r[0].x&&t[0].y===r[0].y?t:t.concat(r)}var cv=kl,lv=Ol,dv=Ml,$l=Dl;const uv=cv,fv=lv,pv=dv,Bl=d.forwardRef(({className:e,sideOffset:t=4,...r},n)=>i.jsx($l,{ref:n,sideOffset:t,className:P("z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md 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",e),...r}));Bl.displayName=$l.displayName;const hv="sidebar:state",gv=60*60*24*7,mv="16rem",bv="18rem",vv="3rem",wv="b",Ul=d.createContext(null);function bn(){const e=d.useContext(Ul);if(!e)throw new Error("useSidebar must be used within a SidebarProvider.");return e}const Hl=d.forwardRef(({defaultOpen:e=!0,open:t,onOpenChange:r,className:n,style:o,children:s,...a},c)=>{const l=Eb(),[f,u]=d.useState(!1),[p,h]=d.useState(e),v=t??p,m=d.useCallback(x=>{const y=typeof x=="function"?x(v):x;r?r(y):h(y),document.cookie=`${hv}=${y}; path=/; max-age=${gv}`},[r,v]),g=d.useCallback(()=>l?u(x=>!x):m(x=>!x),[l,m,u]);d.useEffect(()=>{const x=y=>{y.key===wv&&(y.metaKey||y.ctrlKey)&&(y.preventDefault(),g())};return window.addEventListener("keydown",x),()=>window.removeEventListener("keydown",x)},[g]);const b=v?"expanded":"collapsed",w=d.useMemo(()=>({state:b,open:v,setOpen:m,isMobile:l,openMobile:f,setOpenMobile:u,toggleSidebar:g}),[b,v,m,l,f,u,g]);return i.jsx(Ul.Provider,{value:w,children:i.jsx(uv,{delayDuration:0,children:i.jsx("div",{style:{"--sidebar-width":mv,"--sidebar-width-icon":vv,...o},className:P("group/sidebar-wrapper flex min-h-svh w-full has-[[data-variant=inset]]:bg-sidebar",n),ref:c,...a,children:s})})})});Hl.displayName="SidebarProvider";const zl=d.forwardRef(({side:e="left",variant:t="sidebar",collapsible:r="offcanvas",className:n,children:o,...s},a)=>{const{isMobile:c,state:l,openMobile:f,setOpenMobile:u}=bn();return r==="none"?i.jsx("div",{className:P("flex h-full w-[--sidebar-width] flex-col bg-sidebar text-sidebar-foreground",n),ref:a,...s,children:o}):c?i.jsx(Sl,{open:f,onOpenChange:u,...s,children:i.jsx(ts,{"data-sidebar":"sidebar","data-mobile":"true",className:"w-[--sidebar-width] bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden",style:{"--sidebar-width":bv},side:e,children:i.jsx("div",{className:"flex h-full w-full flex-col",children:o})})}):i.jsxs("div",{ref:a,className:"group peer hidden md:block text-sidebar-foreground","data-state":l,"data-collapsible":l==="collapsed"?r:"","data-variant":t,"data-side":e,children:[i.jsx("div",{className:P("duration-200 relative h-svh w-[--sidebar-width] bg-transparent transition-[width] ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180",t==="floating"||t==="inset"?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]":"group-data-[collapsible=icon]:w-[--sidebar-width-icon]")}),i.jsx("div",{className:P("duration-200 fixed inset-y-0 z-10 hidden h-svh w-[--sidebar-width] transition-[left,right,width] ease-linear md:flex",e==="left"?"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",t==="floating"||t==="inset"?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]":"group-data-[collapsible=icon]:w-[--sidebar-width-icon] group-data-[side=left]:border-r group-data-[side=right]:border-l",n),...s,children:i.jsx("div",{"data-sidebar":"sidebar",className:"flex h-full w-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow",children:o})})]})});zl.displayName="Sidebar";const Wl=d.forwardRef(({className:e,onClick:t,...r},n)=>{const{toggleSidebar:o}=bn();return i.jsxs(fe,{ref:n,"data-sidebar":"trigger",variant:"ghost",size:"icon",className:P("h-7 w-7",e),onClick:s=>{t==null||t(s),o()},...r,children:[i.jsx(Y.PanelLeft,{}),i.jsx("span",{className:"sr-only",children:"Toggle Sidebar"})]})});Wl.displayName="SidebarTrigger";const yv=d.forwardRef(({className:e,...t},r)=>{const{toggleSidebar:n}=bn();return i.jsx("button",{ref:r,"data-sidebar":"rail","aria-label":"Toggle Sidebar",tabIndex:-1,onClick:n,title:"Toggle Sidebar",className:P("absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-sidebar-border group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex","[[data-side=left]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize","[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize","group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:hover:bg-sidebar","[[data-side=left][data-collapsible=offcanvas]_&]:-right-2","[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",e),...t})});yv.displayName="SidebarRail";const Vl=d.forwardRef(({className:e,...t},r)=>i.jsx("main",{ref:r,className:P("relative flex min-h-svh flex-1 flex-col bg-background","peer-data-[variant=inset]:min-h-[calc(100svh-theme(spacing.4))] md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow",e),...t}));Vl.displayName="SidebarInset";const xv=d.forwardRef(({className:e,...t},r)=>i.jsx(cr,{ref:r,"data-sidebar":"input",className:P("h-8 w-full bg-background shadow-none focus-visible:ring-2 focus-visible:ring-sidebar-ring",e),...t}));xv.displayName="SidebarInput";const jl=d.forwardRef(({className:e,...t},r)=>i.jsx("div",{ref:r,"data-sidebar":"header",className:P("flex flex-col gap-2 p-2",e),...t}));jl.displayName="SidebarHeader";const Sv=d.forwardRef(({className:e,...t},r)=>i.jsx("div",{ref:r,"data-sidebar":"footer",className:P("flex flex-col gap-2 p-2",e),...t}));Sv.displayName="SidebarFooter";const Cv=d.forwardRef(({className:e,...t},r)=>i.jsx(Jo,{ref:r,"data-sidebar":"separator",className:P("mx-2 w-auto bg-sidebar-border",e),...t}));Cv.displayName="SidebarSeparator";const Kl=d.forwardRef(({className:e,...t},r)=>i.jsx("div",{ref:r,"data-sidebar":"content",className:P("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",e),...t}));Kl.displayName="SidebarContent";const Rl=d.forwardRef(({className:e,...t},r)=>i.jsx("div",{ref:r,"data-sidebar":"group",className:P("relative flex w-full min-w-0 flex-col p-2",e),...t}));Rl.displayName="SidebarGroup";const Gl=d.forwardRef(({className:e,asChild:t=!1,...r},n)=>{const o=t?Ie.Slot:"div";return i.jsx(o,{ref:n,"data-sidebar":"group-label",className:P("duration-200 flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 outline-none ring-sidebar-ring transition-[margin,opa] ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",e),...r})});Gl.displayName="SidebarGroupLabel";const Ev=d.forwardRef(({className:e,asChild:t=!1,...r},n)=>{const o=t?Ie.Slot:"button";return i.jsx(o,{ref:n,"data-sidebar":"group-action",className:P("absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","after:absolute after:-inset-2 after:md:hidden","group-data-[collapsible=icon]:hidden",e),...r})});Ev.displayName="SidebarGroupAction";const ql=d.forwardRef(({className:e,...t},r)=>i.jsx("div",{ref:r,"data-sidebar":"group-content",className:P("w-full text-sm",e),...t}));ql.displayName="SidebarGroupContent";const Xl=d.forwardRef(({className:e,...t},r)=>i.jsx("ul",{ref:r,"data-sidebar":"menu",className:P("flex w-full min-w-0 flex-col gap-1",e),...t}));Xl.displayName="SidebarMenu";const Yl=d.forwardRef(({className:e,...t},r)=>i.jsx("li",{ref:r,"data-sidebar":"menu-item",className:P("group/menu-item relative",e),...t}));Yl.displayName="SidebarMenuItem";const Nv=Wt.cva("peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",{variants:{variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"},size:{default:"h-8 text-sm",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:!p-0"}},defaultVariants:{variant:"default",size:"default"}}),Jl=d.forwardRef(({asChild:e=!1,isActive:t=!1,variant:r="default",size:n="default",tooltip:o,className:s,...a},c)=>{const l=e?Ie.Slot:"button",{isMobile:f,state:u}=bn(),p=i.jsx(l,{ref:c,"data-sidebar":"menu-button","data-size":n,"data-active":t,className:P(Nv({variant:r,size:n}),s),...a});return o?(typeof o=="string"&&(o={children:o}),i.jsxs(fv,{children:[i.jsx(pv,{asChild:!0,children:p}),i.jsx(Bl,{side:"right",align:"center",hidden:u!=="collapsed"||f,...o})]})):p});Jl.displayName="SidebarMenuButton";const Tv=d.forwardRef(({className:e,asChild:t=!1,showOnHover:r=!1,...n},o)=>{const s=t?Ie.Slot:"button";return i.jsx(s,{ref:o,"data-sidebar":"menu-action",className:P("absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 peer-hover/menu-button:text-sidebar-accent-foreground [&>svg]:size-4 [&>svg]:shrink-0","after:absolute after:-inset-2 after:md:hidden","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",r&&"group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-sidebar-accent-foreground md:opacity-0",e),...n})});Tv.displayName="SidebarMenuAction";const Av=d.forwardRef(({className:e,...t},r)=>i.jsx("div",{ref:r,"data-sidebar":"menu-badge",className:P("absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums text-sidebar-foreground select-none pointer-events-none","peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",e),...t}));Av.displayName="SidebarMenuBadge";const Pv=d.forwardRef(({className:e,showIcon:t=!1,...r},n)=>{const o=d.useMemo(()=>`${Math.floor(Math.random()*40)+50}%`,[]);return i.jsxs("div",{ref:n,"data-sidebar":"menu-skeleton",className:P("rounded-md h-8 flex gap-2 px-2 items-center",e),...r,children:[t&&i.jsx(Al,{className:"size-4 rounded-md","data-sidebar":"menu-skeleton-icon"}),i.jsx(Al,{className:"h-4 flex-1 max-w-[--skeleton-width]","data-sidebar":"menu-skeleton-text",style:{"--skeleton-width":o}})]})});Pv.displayName="SidebarMenuSkeleton";const Iv=d.forwardRef(({className:e,...t},r)=>i.jsx("ul",{ref:r,"data-sidebar":"menu-sub",className:P("mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-sidebar-border px-2.5 py-0.5","group-data-[collapsible=icon]:hidden",e),...t}));Iv.displayName="SidebarMenuSub";const _v=d.forwardRef(({...e},t)=>i.jsx("li",{ref:t,...e}));_v.displayName="SidebarMenuSubItem";const kv=d.forwardRef(({asChild:e=!1,size:t="md",isActive:r,className:n,...o},s)=>{const a=e?Ie.Slot:"a";return i.jsx(a,{ref:s,"data-sidebar":"menu-sub-button","data-size":t,"data-active":r,className:P("flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground outline-none ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground","data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground",t==="sm"&&"text-xs",t==="md"&&"text-sm","group-data-[collapsible=icon]:hidden",n),...o})});kv.displayName="SidebarMenuSubButton";function Ov({header:e,sidebarTitle:t="Threads",showThreads:r=!0,className:n="",sidebarClassName:o="",chatClassName:s="",...a}){return i.jsx(qt,{...a,children:i.jsxs(Hl,{className:`w-full ${n}`,children:[i.jsxs(zl,{className:`border-r ${o}`,children:[i.jsx(jl,{children:i.jsx(Xl,{children:i.jsx(Yl,{children:i.jsx(Jl,{size:"lg",children:i.jsx("span",{className:"font-semibold",children:t})})})})}),i.jsx(Kl,{children:r&&i.jsxs(Rl,{children:[i.jsx(Gl,{children:"Conversations"}),i.jsx(ql,{children:i.jsx("div",{className:"px-2 py-1",children:i.jsx(un,{showCreateButton:!0,showDeleteButton:!0,showEditTitle:!0,className:"h-[calc(100vh-12rem)]"})})})]})})]}),i.jsxs(Vl,{children:[i.jsxs("header",{className:"h-14 border-b bg-background/60 backdrop-blur flex items-center gap-2 px-4",children:[i.jsx(Wl,{}),i.jsx("div",{className:"flex-1"}),e]}),i.jsx("main",{className:`flex-1 min-h-0 overflow-hidden ${s}`,children:i.jsx(ir,{})})]})]})})}var Mv="Label",Zl=d.forwardRef((e,t)=>i.jsx(te.label,{...e,ref:t,onMouseDown:r=>{var o;r.target.closest("button, input, select, textarea")||((o=e.onMouseDown)==null||o.call(e,r),!r.defaultPrevented&&r.detail>1&&r.preventDefault())}}));Zl.displayName=Mv;var Ql=Zl;const Dv=Wt.cva("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),Le=d.forwardRef(({className:e,...t},r)=>i.jsx(Ql,{ref:r,className:P(Dv(),e),...t}));Le.displayName=Ql.displayName;function ed(e){const t=d.useRef({value:e,previous:e});return d.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}var vn="Switch",[Lv,ny]=Be(vn),[Fv,$v]=Lv(vn),td=d.forwardRef((e,t)=>{const{__scopeSwitch:r,name:n,checked:o,defaultChecked:s,required:a,disabled:c,value:l="on",onCheckedChange:f,form:u,...p}=e,[h,v]=d.useState(null),m=ie(t,y=>v(y)),g=d.useRef(!1),b=h?u||!!h.closest("form"):!0,[w,x]=ot({prop:o,defaultProp:s??!1,onChange:f,caller:vn});return i.jsxs(Fv,{scope:r,checked:w,disabled:c,children:[i.jsx(te.button,{type:"button",role:"switch","aria-checked":w,"aria-required":a,"data-state":sd(w),"data-disabled":c?"":void 0,disabled:c,value:l,...p,ref:m,onClick:H(e.onClick,y=>{x(C=>!C),b&&(g.current=y.isPropagationStopped(),g.current||y.stopPropagation())})}),b&&i.jsx(od,{control:h,bubbles:!g.current,name:n,value:l,checked:w,required:a,disabled:c,form:u,style:{transform:"translateX(-100%)"}})]})});td.displayName=vn;var rd="SwitchThumb",nd=d.forwardRef((e,t)=>{const{__scopeSwitch:r,...n}=e,o=$v(rd,r);return i.jsx(te.span,{"data-state":sd(o.checked),"data-disabled":o.disabled?"":void 0,...n,ref:t})});nd.displayName=rd;var Bv="SwitchBubbleInput",od=d.forwardRef(({__scopeSwitch:e,control:t,checked:r,bubbles:n=!0,...o},s)=>{const a=d.useRef(null),c=ie(a,s),l=ed(r),f=ci(t);return d.useEffect(()=>{const u=a.current;if(!u)return;const p=window.HTMLInputElement.prototype,v=Object.getOwnPropertyDescriptor(p,"checked").set;if(l!==r&&v){const m=new Event("click",{bubbles:n});v.call(u,r),u.dispatchEvent(m)}},[l,r,n]),i.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:r,...o,tabIndex:-1,ref:c,style:{...o.style,...f,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});od.displayName=Bv;function sd(e){return e?"checked":"unchecked"}var ad=td,Uv=nd;const ct=d.forwardRef(({className:e,...t},r)=>i.jsx(ad,{className:P("peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",e),...t,ref:r,children:i.jsx(Uv,{className:P("pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0")})}));ct.displayName=ad.displayName;var Hv=[" ","Enter","ArrowUp","ArrowDown"],zv=[" ","Enter"],yt="Select",[wn,yn,Wv]=oo(yt),[Ut,oy]=Be(yt,[Wv,Ot]),xn=Ot(),[Vv,lt]=Ut(yt),[jv,Kv]=Ut(yt),id=e=>{const{__scopeSelect:t,children:r,open:n,defaultOpen:o,onOpenChange:s,value:a,defaultValue:c,onValueChange:l,dir:f,name:u,autoComplete:p,disabled:h,required:v,form:m}=e,g=xn(t),[b,w]=d.useState(null),[x,y]=d.useState(null),[C,N]=d.useState(!1),k=Dr(f),[E,M]=ot({prop:n,defaultProp:o??!1,onChange:s,caller:yt}),[F,_]=ot({prop:a,defaultProp:c,onChange:l,caller:yt}),B=d.useRef(null),R=b?m||!!b.closest("form"):!0,[U,D]=d.useState(new Set),z=Array.from(U).map(O=>O.props.value).join(";");return i.jsx(Eo,{...g,children:i.jsxs(Vv,{required:v,scope:t,trigger:b,onTriggerChange:w,valueNode:x,onValueNodeChange:y,valueNodeHasChildren:C,onValueNodeHasChildrenChange:N,contentId:Ue(),value:F,onValueChange:_,open:E,onOpenChange:M,dir:k,triggerPointerDownPosRef:B,disabled:h,children:[i.jsx(wn.Provider,{scope:t,children:i.jsx(jv,{scope:e.__scopeSelect,onNativeOptionAdd:d.useCallback(O=>{D(G=>new Set(G).add(O))},[]),onNativeOptionRemove:d.useCallback(O=>{D(G=>{const L=new Set(G);return L.delete(O),L})},[]),children:r})}),R?i.jsxs(kd,{"aria-hidden":!0,required:v,tabIndex:-1,name:u,autoComplete:p,value:F,onChange:O=>_(O.target.value),disabled:h,form:m,children:[F===void 0?i.jsx("option",{value:""}):null,Array.from(U)]},z):null]})})};id.displayName=yt;var cd="SelectTrigger",ld=d.forwardRef((e,t)=>{const{__scopeSelect:r,disabled:n=!1,...o}=e,s=xn(r),a=lt(cd,r),c=a.disabled||n,l=ie(t,a.onTriggerChange),f=yn(r),u=d.useRef("touch"),[p,h,v]=Md(g=>{const b=f().filter(y=>!y.disabled),w=b.find(y=>y.value===a.value),x=Dd(b,g,w);x!==void 0&&a.onValueChange(x.value)}),m=g=>{c||(a.onOpenChange(!0),v()),g&&(a.triggerPointerDownPosRef.current={x:Math.round(g.pageX),y:Math.round(g.pageY)})};return i.jsx(No,{asChild:!0,...s,children:i.jsx(te.button,{type:"button",role:"combobox","aria-controls":a.contentId,"aria-expanded":a.open,"aria-required":a.required,"aria-autocomplete":"none",dir:a.dir,"data-state":a.open?"open":"closed",disabled:c,"data-disabled":c?"":void 0,"data-placeholder":Od(a.value)?"":void 0,...o,ref:l,onClick:H(o.onClick,g=>{g.currentTarget.focus(),u.current!=="mouse"&&m(g)}),onPointerDown:H(o.onPointerDown,g=>{u.current=g.pointerType;const b=g.target;b.hasPointerCapture(g.pointerId)&&b.releasePointerCapture(g.pointerId),g.button===0&&g.ctrlKey===!1&&g.pointerType==="mouse"&&(m(g),g.preventDefault())}),onKeyDown:H(o.onKeyDown,g=>{const b=p.current!=="";!(g.ctrlKey||g.altKey||g.metaKey)&&g.key.length===1&&h(g.key),!(b&&g.key===" ")&&Hv.includes(g.key)&&(m(),g.preventDefault())})})})});ld.displayName=cd;var dd="SelectValue",ud=d.forwardRef((e,t)=>{const{__scopeSelect:r,className:n,style:o,children:s,placeholder:a="",...c}=e,l=lt(dd,r),{onValueNodeHasChildrenChange:f}=l,u=s!==void 0,p=ie(t,l.onValueNodeChange);return ve(()=>{f(u)},[f,u]),i.jsx(te.span,{...c,ref:p,style:{pointerEvents:"none"},children:Od(l.value)?i.jsx(i.Fragment,{children:a}):s})});ud.displayName=dd;var Rv="SelectIcon",fd=d.forwardRef((e,t)=>{const{__scopeSelect:r,children:n,...o}=e;return i.jsx(te.span,{"aria-hidden":!0,...o,ref:t,children:n||"▼"})});fd.displayName=Rv;var Gv="SelectPortal",pd=e=>i.jsx(Rr,{asChild:!0,...e});pd.displayName=Gv;var xt="SelectContent",hd=d.forwardRef((e,t)=>{const r=lt(xt,e.__scopeSelect),[n,o]=d.useState();if(ve(()=>{o(new DocumentFragment)},[]),!r.open){const s=n;return s?gr.createPortal(i.jsx(gd,{scope:e.__scopeSelect,children:i.jsx(wn.Slot,{scope:e.__scopeSelect,children:i.jsx("div",{children:e.children})})}),s):null}return i.jsx(md,{...e,ref:t})});hd.displayName=xt;var Ve=10,[gd,dt]=Ut(xt),qv="SelectContentImpl",Xv=Ie.createSlot("SelectContent.RemoveScroll"),md=d.forwardRef((e,t)=>{const{__scopeSelect:r,position:n="item-aligned",onCloseAutoFocus:o,onEscapeKeyDown:s,onPointerDownOutside:a,side:c,sideOffset:l,align:f,alignOffset:u,arrowPadding:p,collisionBoundary:h,collisionPadding:v,sticky:m,hideWhenDetached:g,avoidCollisions:b,...w}=e,x=lt(xt,r),[y,C]=d.useState(null),[N,k]=d.useState(null),E=ie(t,W=>C(W)),[M,F]=d.useState(null),[_,B]=d.useState(null),R=yn(r),[U,D]=d.useState(!1),z=d.useRef(!1);d.useEffect(()=>{if(y)return ko(y)},[y]),io();const O=d.useCallback(W=>{const[V,...se]=R().map(ne=>ne.ref.current),[K]=se.slice(-1),J=document.activeElement;for(const ne of W)if(ne===J||(ne==null||ne.scrollIntoView({block:"nearest"}),ne===V&&N&&(N.scrollTop=0),ne===K&&N&&(N.scrollTop=N.scrollHeight),ne==null||ne.focus(),document.activeElement!==J))return},[R,N]),G=d.useCallback(()=>O([M,y]),[O,M,y]);d.useEffect(()=>{U&&G()},[U,G]);const{onOpenChange:L,triggerPointerDownPosRef:A}=x;d.useEffect(()=>{if(y){let W={x:0,y:0};const V=K=>{var J,ne;W={x:Math.abs(Math.round(K.pageX)-(((J=A.current)==null?void 0:J.x)??0)),y:Math.abs(Math.round(K.pageY)-(((ne=A.current)==null?void 0:ne.y)??0))}},se=K=>{W.x<=10&&W.y<=10?K.preventDefault():y.contains(K.target)||L(!1),document.removeEventListener("pointermove",V),A.current=null};return A.current!==null&&(document.addEventListener("pointermove",V),document.addEventListener("pointerup",se,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",V),document.removeEventListener("pointerup",se,{capture:!0})}}},[y,L,A]),d.useEffect(()=>{const W=()=>L(!1);return window.addEventListener("blur",W),window.addEventListener("resize",W),()=>{window.removeEventListener("blur",W),window.removeEventListener("resize",W)}},[L]);const[ee,q]=Md(W=>{const V=R().filter(J=>!J.disabled),se=V.find(J=>J.ref.current===document.activeElement),K=Dd(V,W,se);K&&setTimeout(()=>K.ref.current.focus())}),ce=d.useCallback((W,V,se)=>{const K=!z.current&&!se;(x.value!==void 0&&x.value===V||K)&&(F(W),K&&(z.current=!0))},[x.value]),$=d.useCallback(()=>y==null?void 0:y.focus(),[y]),j=d.useCallback((W,V,se)=>{const K=!z.current&&!se;(x.value!==void 0&&x.value===V||K)&&B(W)},[x.value]),le=n==="popper"?ss:bd,he=le===ss?{side:c,sideOffset:l,align:f,alignOffset:u,arrowPadding:p,collisionBoundary:h,collisionPadding:v,sticky:m,hideWhenDetached:g,avoidCollisions:b}:{};return i.jsx(gd,{scope:r,content:y,viewport:N,onViewportChange:k,itemRefCallback:ce,selectedItem:M,onItemLeave:$,itemTextRefCallback:j,focusSelectedItem:G,selectedItemText:_,position:n,isPositioned:U,searchRef:ee,children:i.jsx(en,{as:Xv,allowPinchZoom:!0,children:i.jsx(Lr,{asChild:!0,trapped:x.open,onMountAutoFocus:W=>{W.preventDefault()},onUnmountAutoFocus:H(o,W=>{var V;(V=x.trigger)==null||V.focus({preventScroll:!0}),W.preventDefault()}),children:i.jsx(Jt,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:s,onPointerDownOutside:a,onFocusOutside:W=>W.preventDefault(),onDismiss:()=>x.onOpenChange(!1),children:i.jsx(le,{role:"listbox",id:x.contentId,"data-state":x.open?"open":"closed",dir:x.dir,onContextMenu:W=>W.preventDefault(),...w,...he,onPlaced:()=>D(!0),ref:E,style:{display:"flex",flexDirection:"column",outline:"none",...w.style},onKeyDown:H(w.onKeyDown,W=>{const V=W.ctrlKey||W.altKey||W.metaKey;if(W.key==="Tab"&&W.preventDefault(),!V&&W.key.length===1&&q(W.key),["ArrowUp","ArrowDown","Home","End"].includes(W.key)){let K=R().filter(J=>!J.disabled).map(J=>J.ref.current);if(["ArrowUp","End"].includes(W.key)&&(K=K.slice().reverse()),["ArrowUp","ArrowDown"].includes(W.key)){const J=W.target,ne=K.indexOf(J);K=K.slice(ne+1)}setTimeout(()=>O(K)),W.preventDefault()}})})})})})})});md.displayName=qv;var Yv="SelectItemAlignedPosition",bd=d.forwardRef((e,t)=>{const{__scopeSelect:r,onPlaced:n,...o}=e,s=lt(xt,r),a=dt(xt,r),[c,l]=d.useState(null),[f,u]=d.useState(null),p=ie(t,E=>u(E)),h=yn(r),v=d.useRef(!1),m=d.useRef(!0),{viewport:g,selectedItem:b,selectedItemText:w,focusSelectedItem:x}=a,y=d.useCallback(()=>{if(s.trigger&&s.valueNode&&c&&f&&g&&b&&w){const E=s.trigger.getBoundingClientRect(),M=f.getBoundingClientRect(),F=s.valueNode.getBoundingClientRect(),_=w.getBoundingClientRect();if(s.dir!=="rtl"){const J=_.left-M.left,ne=F.left-J,me=E.left-ne,pe=E.width+me,Z=Math.max(pe,M.width),X=window.innerWidth-Ve,ge=Ko(ne,[Ve,Math.max(Ve,X-Z)]);c.style.minWidth=pe+"px",c.style.left=ge+"px"}else{const J=M.right-_.right,ne=window.innerWidth-F.right-J,me=window.innerWidth-E.right-ne,pe=E.width+me,Z=Math.max(pe,M.width),X=window.innerWidth-Ve,ge=Ko(ne,[Ve,Math.max(Ve,X-Z)]);c.style.minWidth=pe+"px",c.style.right=ge+"px"}const B=h(),R=window.innerHeight-Ve*2,U=g.scrollHeight,D=window.getComputedStyle(f),z=parseInt(D.borderTopWidth,10),O=parseInt(D.paddingTop,10),G=parseInt(D.borderBottomWidth,10),L=parseInt(D.paddingBottom,10),A=z+O+U+L+G,ee=Math.min(b.offsetHeight*5,A),q=window.getComputedStyle(g),ce=parseInt(q.paddingTop,10),$=parseInt(q.paddingBottom,10),j=E.top+E.height/2-Ve,le=R-j,he=b.offsetHeight/2,W=b.offsetTop+he,V=z+O+W,se=A-V;if(V<=j){const J=B.length>0&&b===B[B.length-1].ref.current;c.style.bottom="0px";const ne=f.clientHeight-g.offsetTop-g.offsetHeight,me=Math.max(le,he+(J?$:0)+ne+G),pe=V+me;c.style.height=pe+"px"}else{const J=B.length>0&&b===B[0].ref.current;c.style.top="0px";const me=Math.max(j,z+g.offsetTop+(J?ce:0)+he)+se;c.style.height=me+"px",g.scrollTop=V-j+g.offsetTop}c.style.margin=`${Ve}px 0`,c.style.minHeight=ee+"px",c.style.maxHeight=R+"px",n==null||n(),requestAnimationFrame(()=>v.current=!0)}},[h,s.trigger,s.valueNode,c,f,g,b,w,s.dir,n]);ve(()=>y(),[y]);const[C,N]=d.useState();ve(()=>{f&&N(window.getComputedStyle(f).zIndex)},[f]);const k=d.useCallback(E=>{E&&m.current===!0&&(y(),x==null||x(),m.current=!1)},[y,x]);return i.jsx(Zv,{scope:r,contentWrapper:c,shouldExpandOnScrollRef:v,onScrollButtonChange:k,children:i.jsx("div",{ref:l,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:C},children:i.jsx(te.div,{...o,ref:p,style:{boxSizing:"border-box",maxHeight:"100%",...o.style}})})})});bd.displayName=Yv;var Jv="SelectPopperPosition",ss=d.forwardRef((e,t)=>{const{__scopeSelect:r,align:n="start",collisionPadding:o=Ve,...s}=e,a=xn(r);return i.jsx(To,{...a,...s,ref:t,align:n,collisionPadding:o,style:{boxSizing:"border-box",...s.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});ss.displayName=Jv;var[Zv,as]=Ut(xt,{}),is="SelectViewport",vd=d.forwardRef((e,t)=>{const{__scopeSelect:r,nonce:n,...o}=e,s=dt(is,r),a=as(is,r),c=ie(t,s.onViewportChange),l=d.useRef(0);return i.jsxs(i.Fragment,{children:[i.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:n}),i.jsx(wn.Slot,{scope:r,children:i.jsx(te.div,{"data-radix-select-viewport":"",role:"presentation",...o,ref:c,style:{position:"relative",flex:1,overflow:"hidden auto",...o.style},onScroll:H(o.onScroll,f=>{const u=f.currentTarget,{contentWrapper:p,shouldExpandOnScrollRef:h}=a;if(h!=null&&h.current&&p){const v=Math.abs(l.current-u.scrollTop);if(v>0){const m=window.innerHeight-Ve*2,g=parseFloat(p.style.minHeight),b=parseFloat(p.style.height),w=Math.max(g,b);if(w<m){const x=w+v,y=Math.min(m,x),C=x-y;p.style.height=y+"px",p.style.bottom==="0px"&&(u.scrollTop=C>0?C:0,p.style.justifyContent="flex-end")}}}l.current=u.scrollTop})})})]})});vd.displayName=is;var wd="SelectGroup",[Qv,ew]=Ut(wd),tw=d.forwardRef((e,t)=>{const{__scopeSelect:r,...n}=e,o=Ue();return i.jsx(Qv,{scope:r,id:o,children:i.jsx(te.div,{role:"group","aria-labelledby":o,...n,ref:t})})});tw.displayName=wd;var yd="SelectLabel",xd=d.forwardRef((e,t)=>{const{__scopeSelect:r,...n}=e,o=ew(yd,r);return i.jsx(te.div,{id:o.id,...n,ref:t})});xd.displayName=yd;var Sn="SelectItem",[rw,Sd]=Ut(Sn),Cd=d.forwardRef((e,t)=>{const{__scopeSelect:r,value:n,disabled:o=!1,textValue:s,...a}=e,c=lt(Sn,r),l=dt(Sn,r),f=c.value===n,[u,p]=d.useState(s??""),[h,v]=d.useState(!1),m=ie(t,x=>{var y;return(y=l.itemRefCallback)==null?void 0:y.call(l,x,n,o)}),g=Ue(),b=d.useRef("touch"),w=()=>{o||(c.onValueChange(n),c.onOpenChange(!1))};if(n==="")throw new Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return i.jsx(rw,{scope:r,value:n,disabled:o,textId:g,isSelected:f,onItemTextChange:d.useCallback(x=>{p(y=>y||((x==null?void 0:x.textContent)??"").trim())},[]),children:i.jsx(wn.ItemSlot,{scope:r,value:n,disabled:o,textValue:u,children:i.jsx(te.div,{role:"option","aria-labelledby":g,"data-highlighted":h?"":void 0,"aria-selected":f&&h,"data-state":f?"checked":"unchecked","aria-disabled":o||void 0,"data-disabled":o?"":void 0,tabIndex:o?void 0:-1,...a,ref:m,onFocus:H(a.onFocus,()=>v(!0)),onBlur:H(a.onBlur,()=>v(!1)),onClick:H(a.onClick,()=>{b.current!=="mouse"&&w()}),onPointerUp:H(a.onPointerUp,()=>{b.current==="mouse"&&w()}),onPointerDown:H(a.onPointerDown,x=>{b.current=x.pointerType}),onPointerMove:H(a.onPointerMove,x=>{var y;b.current=x.pointerType,o?(y=l.onItemLeave)==null||y.call(l):b.current==="mouse"&&x.currentTarget.focus({preventScroll:!0})}),onPointerLeave:H(a.onPointerLeave,x=>{var y;x.currentTarget===document.activeElement&&((y=l.onItemLeave)==null||y.call(l))}),onKeyDown:H(a.onKeyDown,x=>{var C;((C=l.searchRef)==null?void 0:C.current)!==""&&x.key===" "||(zv.includes(x.key)&&w(),x.key===" "&&x.preventDefault())})})})})});Cd.displayName=Sn;var ur="SelectItemText",Ed=d.forwardRef((e,t)=>{const{__scopeSelect:r,className:n,style:o,...s}=e,a=lt(ur,r),c=dt(ur,r),l=Sd(ur,r),f=Kv(ur,r),[u,p]=d.useState(null),h=ie(t,w=>p(w),l.onItemTextChange,w=>{var x;return(x=c.itemTextRefCallback)==null?void 0:x.call(c,w,l.value,l.disabled)}),v=u==null?void 0:u.textContent,m=d.useMemo(()=>i.jsx("option",{value:l.value,disabled:l.disabled,children:v},l.value),[l.disabled,l.value,v]),{onNativeOptionAdd:g,onNativeOptionRemove:b}=f;return ve(()=>(g(m),()=>b(m)),[g,b,m]),i.jsxs(i.Fragment,{children:[i.jsx(te.span,{id:l.textId,...s,ref:h}),l.isSelected&&a.valueNode&&!a.valueNodeHasChildren?gr.createPortal(s.children,a.valueNode):null]})});Ed.displayName=ur;var Nd="SelectItemIndicator",Td=d.forwardRef((e,t)=>{const{__scopeSelect:r,...n}=e;return Sd(Nd,r).isSelected?i.jsx(te.span,{"aria-hidden":!0,...n,ref:t}):null});Td.displayName=Nd;var cs="SelectScrollUpButton",Ad=d.forwardRef((e,t)=>{const r=dt(cs,e.__scopeSelect),n=as(cs,e.__scopeSelect),[o,s]=d.useState(!1),a=ie(t,n.onScrollButtonChange);return ve(()=>{if(r.viewport&&r.isPositioned){let c=function(){const f=l.scrollTop>0;s(f)};const l=r.viewport;return c(),l.addEventListener("scroll",c),()=>l.removeEventListener("scroll",c)}},[r.viewport,r.isPositioned]),o?i.jsx(Id,{...e,ref:a,onAutoScroll:()=>{const{viewport:c,selectedItem:l}=r;c&&l&&(c.scrollTop=c.scrollTop-l.offsetHeight)}}):null});Ad.displayName=cs;var ls="SelectScrollDownButton",Pd=d.forwardRef((e,t)=>{const r=dt(ls,e.__scopeSelect),n=as(ls,e.__scopeSelect),[o,s]=d.useState(!1),a=ie(t,n.onScrollButtonChange);return ve(()=>{if(r.viewport&&r.isPositioned){let c=function(){const f=l.scrollHeight-l.clientHeight,u=Math.ceil(l.scrollTop)<f;s(u)};const l=r.viewport;return c(),l.addEventListener("scroll",c),()=>l.removeEventListener("scroll",c)}},[r.viewport,r.isPositioned]),o?i.jsx(Id,{...e,ref:a,onAutoScroll:()=>{const{viewport:c,selectedItem:l}=r;c&&l&&(c.scrollTop=c.scrollTop+l.offsetHeight)}}):null});Pd.displayName=ls;var Id=d.forwardRef((e,t)=>{const{__scopeSelect:r,onAutoScroll:n,...o}=e,s=dt("SelectScrollButton",r),a=d.useRef(null),c=yn(r),l=d.useCallback(()=>{a.current!==null&&(window.clearInterval(a.current),a.current=null)},[]);return d.useEffect(()=>()=>l(),[l]),ve(()=>{var u;const f=c().find(p=>p.ref.current===document.activeElement);(u=f==null?void 0:f.ref.current)==null||u.scrollIntoView({block:"nearest"})},[c]),i.jsx(te.div,{"aria-hidden":!0,...o,ref:t,style:{flexShrink:0,...o.style},onPointerDown:H(o.onPointerDown,()=>{a.current===null&&(a.current=window.setInterval(n,50))}),onPointerMove:H(o.onPointerMove,()=>{var f;(f=s.onItemLeave)==null||f.call(s),a.current===null&&(a.current=window.setInterval(n,50))}),onPointerLeave:H(o.onPointerLeave,()=>{l()})})}),nw="SelectSeparator",_d=d.forwardRef((e,t)=>{const{__scopeSelect:r,...n}=e;return i.jsx(te.div,{"aria-hidden":!0,...n,ref:t})});_d.displayName=nw;var ds="SelectArrow",ow=d.forwardRef((e,t)=>{const{__scopeSelect:r,...n}=e,o=xn(r),s=lt(ds,r),a=dt(ds,r);return s.open&&a.position==="popper"?i.jsx(Ao,{...o,...n,ref:t}):null});ow.displayName=ds;var sw="SelectBubbleInput",kd=d.forwardRef(({__scopeSelect:e,value:t,...r},n)=>{const o=d.useRef(null),s=ie(n,o),a=ed(t);return d.useEffect(()=>{const c=o.current;if(!c)return;const l=window.HTMLSelectElement.prototype,u=Object.getOwnPropertyDescriptor(l,"value").set;if(a!==t&&u){const p=new Event("change",{bubbles:!0});u.call(c,t),c.dispatchEvent(p)}},[a,t]),i.jsx(te.select,{...r,style:{...Pl,...r.style},ref:s,defaultValue:t})});kd.displayName=sw;function Od(e){return e===""||e===void 0}function Md(e){const t=we(e),r=d.useRef(""),n=d.useRef(0),o=d.useCallback(a=>{const c=r.current+a;t(c),function l(f){r.current=f,window.clearTimeout(n.current),f!==""&&(n.current=window.setTimeout(()=>l(""),1e3))}(c)},[t]),s=d.useCallback(()=>{r.current="",window.clearTimeout(n.current)},[]);return d.useEffect(()=>()=>window.clearTimeout(n.current),[]),[r,o,s]}function Dd(e,t,r){const o=t.length>1&&Array.from(t).every(f=>f===t[0])?t[0]:t,s=r?e.indexOf(r):-1;let a=aw(e,Math.max(s,0));o.length===1&&(a=a.filter(f=>f!==r));const l=a.find(f=>f.textValue.toLowerCase().startsWith(o.toLowerCase()));return l!==r?l:void 0}function aw(e,t){return e.map((r,n)=>e[(t+n)%e.length])}var iw=id,Ld=ld,cw=ud,lw=fd,dw=pd,Fd=hd,uw=vd,$d=xd,Bd=Cd,fw=Ed,pw=Td,Ud=Ad,Hd=Pd,zd=_d;const Wd=iw,Vd=cw,us=d.forwardRef(({className:e,children:t,...r},n)=>i.jsxs(Ld,{ref:n,className:P("flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",e),...r,children:[t,i.jsx(lw,{asChild:!0,children:i.jsx(Y.ChevronDown,{className:"h-4 w-4 opacity-50"})})]}));us.displayName=Ld.displayName;const jd=d.forwardRef(({className:e,...t},r)=>i.jsx(Ud,{ref:r,className:P("flex cursor-default items-center justify-center py-1",e),...t,children:i.jsx(Y.ChevronUp,{className:"h-4 w-4"})}));jd.displayName=Ud.displayName;const Kd=d.forwardRef(({className:e,...t},r)=>i.jsx(Hd,{ref:r,className:P("flex cursor-default items-center justify-center py-1",e),...t,children:i.jsx(Y.ChevronDown,{className:"h-4 w-4"})}));Kd.displayName=Hd.displayName;const fs=d.forwardRef(({className:e,children:t,position:r="popper",...n},o)=>i.jsx(dw,{children:i.jsxs(Fd,{ref:o,className:P("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover 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==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:r,...n,children:[i.jsx(jd,{}),i.jsx(uw,{className:P("p-1",r==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:t}),i.jsx(Kd,{})]})}));fs.displayName=Fd.displayName;const hw=d.forwardRef(({className:e,...t},r)=>i.jsx($d,{ref:r,className:P("py-1.5 pl-8 pr-2 text-sm font-semibold",e),...t}));hw.displayName=$d.displayName;const St=d.forwardRef(({className:e,children:t,...r},n)=>i.jsxs(Bd,{ref:n,className:P("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...r,children:[i.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:i.jsx(pw,{children:i.jsx(Y.Check,{className:"h-4 w-4"})})}),i.jsx(fw,{children:t})]}));St.displayName=Bd.displayName;const gw=d.forwardRef(({className:e,...t},r)=>i.jsx(zd,{ref:r,className:P("-mx-1 my-1 h-px bg-muted",e),...t}));gw.displayName=zd.displayName;const Cn=d.forwardRef(({className:e,...t},r)=>i.jsx("div",{ref:r,className:P("rounded-lg border bg-card text-card-foreground shadow-sm",e),...t}));Cn.displayName="Card";const En=d.forwardRef(({className:e,...t},r)=>i.jsx("div",{ref:r,className:P("flex flex-col space-y-1.5 p-6",e),...t}));En.displayName="CardHeader";const Nn=d.forwardRef(({className:e,...t},r)=>i.jsx("h3",{ref:r,className:P("text-2xl font-semibold leading-none tracking-tight",e),...t}));Nn.displayName="CardTitle";const mw=d.forwardRef(({className:e,...t},r)=>i.jsx("p",{ref:r,className:P("text-sm text-muted-foreground",e),...t}));mw.displayName="CardDescription";const Tn=d.forwardRef(({className:e,...t},r)=>i.jsx("div",{ref:r,className:P("p-6 pt-0",e),...t}));Tn.displayName="CardContent";const bw=d.forwardRef(({className:e,...t},r)=>i.jsx("div",{ref:r,className:P("flex items-center p-6 pt-0",e),...t}));bw.displayName="CardFooter";const vw=1,ww=1e6;let ps=0;function yw(){return ps=(ps+1)%Number.MAX_SAFE_INTEGER,ps.toString()}const hs=new Map,Rd=e=>{if(hs.has(e))return;const t=setTimeout(()=>{hs.delete(e),fr({type:"REMOVE_TOAST",toastId:e})},ww);hs.set(e,t)},xw=(e,t)=>{switch(t.type){case"ADD_TOAST":return{...e,toasts:[t.toast,...e.toasts].slice(0,vw)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(r=>r.id===t.toast.id?{...r,...t.toast}:r)};case"DISMISS_TOAST":{const{toastId:r}=t;return r?Rd(r):e.toasts.forEach(n=>{Rd(n.id)}),{...e,toasts:e.toasts.map(n=>n.id===r||r===void 0?{...n,open:!1}:n)}}case"REMOVE_TOAST":return t.toastId===void 0?{...e,toasts:[]}:{...e,toasts:e.toasts.filter(r=>r.id!==t.toastId)}}},An=[];let Pn={toasts:[]};function fr(e){Pn=xw(Pn,e),An.forEach(t=>{t(Pn)})}function Sw({...e}){const t=yw(),r=o=>fr({type:"UPDATE_TOAST",toast:{...o,id:t}}),n=()=>fr({type:"DISMISS_TOAST",toastId:t});return fr({type:"ADD_TOAST",toast:{...e,id:t,open:!0,onOpenChange:o=>{o||n()}}}),{id:t,dismiss:n,update:r}}function Cw(){const[e,t]=d.useState(Pn);return d.useEffect(()=>(An.push(t),()=>{const r=An.indexOf(t);r>-1&&An.splice(r,1)}),[e]),{...e,toast:Sw,dismiss:r=>fr({type:"DISMISS_TOAST",toastId:r})}}const Ew={api:{baseUrl:"http://localhost:8000/api",authToken:"",enableAuth:!1},ui:{layout:"sidebar",theme:"light",showTimestamps:!0,showAgentNames:!0,compactMessages:!1},behavior:{autoSave:!0,enableStreaming:!0,showTypingIndicator:!0}};function Nw({settings:e,onSettingsChange:t,className:r=""}){const[n,o]=T.useState(!1),[s,a]=T.useState(!1),[c,l]=T.useState(e),[f,u]=T.useState(!1),{toast:p}=Cw();T.useEffect(()=>{const b=JSON.stringify(c)!==JSON.stringify(e);u(b)},[c,e]),T.useEffect(()=>{l(e)},[e]);const h=()=>{t(c),u(!1),p({title:"Settings saved",description:"Your chat configuration has been updated successfully."})},v=()=>{l(Ew),u(!0),p({title:"Settings reset",description:"Configuration has been reset to defaults."})},m=()=>{l(e),u(!1),o(!1)},g=async()=>{try{const w=await(await fetch(`${c.api.baseUrl}/health`)).json();p({title:"Connection successful",description:`API is ${w.status||"healthy"}`})}catch{p({title:"Connection failed",description:"Unable to connect to the API endpoint.",variant:"destructive"})}};return i.jsxs(Sl,{open:n,onOpenChange:o,children:[i.jsx(zb,{asChild:!0,children:i.jsxs(fe,{variant:"outline",size:"sm",className:r,children:[i.jsx(Y.Settings,{className:"h-4 w-4 mr-2"}),"Settings",f&&i.jsx(ba,{variant:"destructive",className:"ml-2 h-4 w-4 p-0"})]})}),i.jsxs(ts,{className:"w-[500px] sm:w-[600px] overflow-y-auto",children:[i.jsxs(El,{children:[i.jsx(Nl,{children:"Chat Settings"}),i.jsx(Tl,{children:"Configure your chat interface, API connection, and behavior preferences."})]}),i.jsxs("div",{className:"space-y-6 py-6",children:[i.jsxs(Cn,{children:[i.jsx(En,{className:"pb-3",children:i.jsxs(Nn,{className:"text-lg flex items-center gap-2",children:[i.jsx(Y.Server,{className:"h-5 w-5"}),"API Configuration"]})}),i.jsxs(Tn,{className:"space-y-4",children:[i.jsxs("div",{className:"space-y-2",children:[i.jsx(Le,{htmlFor:"api-url",children:"API Base URL"}),i.jsxs("div",{className:"flex gap-2",children:[i.jsx(cr,{id:"api-url",value:c.api.baseUrl,onChange:b=>l(w=>({...w,api:{...w.api,baseUrl:b.target.value}})),placeholder:"http://localhost:8000/api"}),i.jsx(fe,{variant:"outline",onClick:g,children:"Test"})]})]}),i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsx(Le,{htmlFor:"enable-auth",children:"Enable Authentication"}),i.jsx(ct,{id:"enable-auth",checked:c.api.enableAuth,onCheckedChange:b=>l(w=>({...w,api:{...w.api,enableAuth:b}}))})]}),c.api.enableAuth&&i.jsxs("div",{className:"space-y-2",children:[i.jsx(Le,{htmlFor:"auth-token",children:"Authentication Token"}),i.jsxs("div",{className:"flex gap-2",children:[i.jsx(cr,{id:"auth-token",type:s?"text":"password",value:c.api.authToken,onChange:b=>l(w=>({...w,api:{...w.api,authToken:b.target.value}})),placeholder:"Enter your Bearer token"}),i.jsx(fe,{variant:"outline",size:"icon",onClick:()=>a(!s),children:s?i.jsx(Y.EyeOff,{className:"h-4 w-4"}):i.jsx(Y.Eye,{className:"h-4 w-4"})})]})]})]})]}),i.jsxs(Cn,{children:[i.jsx(En,{className:"pb-3",children:i.jsxs(Nn,{className:"text-lg flex items-center gap-2",children:[i.jsx(Y.Layout,{className:"h-5 w-5"}),"Interface Settings"]})}),i.jsxs(Tn,{className:"space-y-4",children:[i.jsxs("div",{className:"space-y-2",children:[i.jsx(Le,{htmlFor:"layout",children:"Layout Style"}),i.jsxs(Wd,{value:c.ui.layout,onValueChange:b=>l(w=>({...w,ui:{...w.ui,layout:b}})),children:[i.jsx(us,{children:i.jsx(Vd,{})}),i.jsxs(fs,{children:[i.jsx(St,{value:"sidebar",children:"Sidebar Layout"}),i.jsx(St,{value:"fullscreen",children:"Fullscreen"}),i.jsx(St,{value:"tabs",children:"Tabbed Interface"})]})]})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(Le,{htmlFor:"theme",children:"Theme"}),i.jsxs(Wd,{value:c.ui.theme,onValueChange:b=>l(w=>({...w,ui:{...w.ui,theme:b}})),children:[i.jsx(us,{children:i.jsx(Vd,{})}),i.jsxs(fs,{children:[i.jsx(St,{value:"light",children:"Light"}),i.jsx(St,{value:"dark",children:"Dark"}),i.jsx(St,{value:"system",children:"System"})]})]})]}),i.jsx(Jo,{}),i.jsxs("div",{className:"space-y-3",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsx(Le,{htmlFor:"show-timestamps",children:"Show Timestamps"}),i.jsx(ct,{id:"show-timestamps",checked:c.ui.showTimestamps,onCheckedChange:b=>l(w=>({...w,ui:{...w.ui,showTimestamps:b}}))})]}),i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsx(Le,{htmlFor:"show-agent-names",children:"Show Agent Names"}),i.jsx(ct,{id:"show-agent-names",checked:c.ui.showAgentNames,onCheckedChange:b=>l(w=>({...w,ui:{...w.ui,showAgentNames:b}}))})]}),i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsx(Le,{htmlFor:"compact-messages",children:"Compact Messages"}),i.jsx(ct,{id:"compact-messages",checked:c.ui.compactMessages,onCheckedChange:b=>l(w=>({...w,ui:{...w.ui,compactMessages:b}}))})]})]})]})]}),i.jsxs(Cn,{children:[i.jsx(En,{className:"pb-3",children:i.jsxs(Nn,{className:"text-lg flex items-center gap-2",children:[i.jsx(Y.MessageCircle,{className:"h-5 w-5"}),"Behavior Settings"]})}),i.jsxs(Tn,{className:"space-y-4",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{children:[i.jsx(Le,{htmlFor:"auto-save",children:"Auto-save Conversations"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"Automatically save messages to threads"})]}),i.jsx(ct,{id:"auto-save",checked:c.behavior.autoSave,onCheckedChange:b=>l(w=>({...w,behavior:{...w.behavior,autoSave:b}}))})]}),i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{children:[i.jsx(Le,{htmlFor:"enable-streaming",children:"Enable Streaming"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"Stream responses in real-time"})]}),i.jsx(ct,{id:"enable-streaming",checked:c.behavior.enableStreaming,onCheckedChange:b=>l(w=>({...w,behavior:{...w.behavior,enableStreaming:b}}))})]}),i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{children:[i.jsx(Le,{htmlFor:"typing-indicator",children:"Typing Indicator"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"Show typing indicator during responses"})]}),i.jsx(ct,{id:"typing-indicator",checked:c.behavior.showTypingIndicator,onCheckedChange:b=>l(w=>({...w,behavior:{...w.behavior,showTypingIndicator:b}}))})]})]})]})]}),i.jsxs("div",{className:"flex items-center justify-between pt-6 border-t",children:[i.jsxs(fe,{variant:"outline",onClick:v,children:[i.jsx(Y.RotateCcw,{className:"h-4 w-4 mr-2"}),"Reset"]}),i.jsxs("div",{className:"flex gap-2",children:[i.jsx(fe,{variant:"outline",onClick:m,children:"Cancel"}),i.jsxs(fe,{onClick:h,disabled:!f,children:[i.jsx(Y.Save,{className:"h-4 w-4 mr-2"}),"Save Changes"]})]})]})]})]})}function Tw({layout:e="sidebar",layoutSize:t="desktop",showThreads:r=!0,className:n="",customStyles:o={},...s}){const a=f=>{const u="h-full";switch(f){case"phone":return`${u} max-w-none`;case"tablet":return`${u} max-w-4xl mx-auto`;case"half-screen":return`${u} max-w-2xl`;case"desktop":default:return`${u} max-w-7xl mx-auto`}},c=f=>({"--chat-sidebar-width":f==="phone"?"100%":f==="tablet"?"280px":f==="half-screen"?"240px":"320px","--chat-message-max-width":f==="phone"?"95%":f==="tablet"?"90%":f==="half-screen"?"85%":"80%","--chat-input-height":f==="phone"?"120px":"100px"}),l=T.useCallback(f=>{var u;(u=s.onThreadChange)==null||u.call(s,f)},[s.onThreadChange]);return e==="fullscreen"?i.jsx(qt,{...s,onThreadChange:l,children:i.jsx("div",{className:`${a(t)} flex flex-col overflow-hidden ${n} ${o.container||""}`,style:c(t),children:i.jsx(ir,{className:"flex-1",onError:s.onError,enableFileUpload:!0})})}):e==="tabs"?i.jsx(qt,{...s,onThreadChange:l,children:i.jsx("div",{className:`${a(t)} flex flex-col overflow-hidden ${n} ${o.container||""}`,style:c(t),children:i.jsxs("div",{className:"flex-1 flex min-h-0 overflow-hidden",children:[r&&i.jsx("div",{className:`w-80 border-r flex-shrink-0 overflow-hidden ${o.sidebar||""}`,children:i.jsx(un,{showCreateButton:!0,showDeleteButton:!0,showEditTitle:!0,className:"h-full"})}),i.jsx("div",{className:`flex-1 min-w-0 overflow-hidden ${o.chatArea||""}`,children:i.jsx(ir,{onError:s.onError,enableFileUpload:!0})})]})})}):i.jsx(qt,{...s,onThreadChange:l,children:i.jsxs("div",{className:`${a(t)} flex overflow-hidden ${n} ${o.container||""}`,style:c(t),children:[r&&i.jsx("div",{className:`w-80 border-r bg-gray-50 flex-shrink-0 overflow-hidden ${o.sidebar||""}`,children:i.jsx(un,{showCreateButton:!0,showDeleteButton:!0,showEditTitle:!0,className:"h-full"})}),i.jsx("div",{className:`flex-1 min-w-0 overflow-hidden ${o.chatArea||""}`,children:i.jsx(ir,{onError:s.onError,enableFileUpload:!0})})]})})}re.Api=Ir,re.ApiClient=Ir,re.ChatApi=Ir,re.ChatInterface=ir,re.ChatMainLayout=Ov,re.ChatProvider=qt,re.ChatRoutingProvider=mb,re.ChatSettings=Nw,re.MarkdownContent=Xt,re.MessageComponent=Na,re.ThreadManager=un,re.apiClient=Qe,re.applySettings=Cb,re.chatApiClient=Qe,re.default=Tw,re.del=ua,re.get=Re,re.getChatToken=ca,re.getCurrentSettings=Sb,re.getDefaultApiConfig=Yc,re.getDefaultChatSettings=Jc,re.onChatTokenChanged=la,re.post=Pr,re.put=da,re.setChatToken=Xn,re.useChat=Zn,re.useChatRouting=bb,re.useChatStream=fa,re.useMessagesReducer=pa,Object.defineProperties(re,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|