teodor-new-chat-ui 4.1.12 → 4.1.14

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 CHANGED
@@ -2860,12 +2860,10 @@ function Gg(e, t) {
2860
2860
  i.text = s;
2861
2861
  continue;
2862
2862
  }
2863
- if (a.startsWith(s)) {
2864
- i.text = s;
2863
+ if (a.includes(s))
2865
2864
  continue;
2866
- }
2867
2865
  const l = Yg(a, s);
2868
- l ? i.text = a + l : s.length !== a.length && (i.text = s);
2866
+ l ? i.text = a + l : i.text = a + s;
2869
2867
  } else
2870
2868
  n.push({ type: "text", text: s });
2871
2869
  } else
package/dist/index.umd.js CHANGED
@@ -32,7 +32,7 @@ React keys must be passed directly to JSX without using spread:
32
32
  `)}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,...n){const r=new this(t);return n.forEach(o=>r.set(o)),r}static accessor(t){const r=(this[ol]=this[ol]={accessors:{}}).accessors,o=this.prototype;function s(i){const a=Er(i);r[a]||(Tm(o,i),r[a]=!0)}return _.isArray(t)?t.forEach(s):s(t),this}};Tt.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),_.reduceDescriptors(Tt.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(r){this[n]=r}}}),_.freezeMethods(Tt);function zs(e,t){const n=this||Tr,r=t||n,o=Tt.from(r.headers);let s=r.data;return _.forEach(e,function(a){s=a.call(n,s,o.normalize(),t?t.status:void 0)}),o.normalize(),s}function sl(e){return!!(e&&e.__CANCEL__)}function tr(e,t,n){Ae.call(this,e??"canceled",Ae.ERR_CANCELED,t,n),this.name="CanceledError"}_.inherits(tr,Ae,{__CANCEL__:!0});function il(e,t,n){const r=n.config.validateStatus;!n.status||!r||r(n.status)?e(n):t(new Ae("Request failed with status code "+n.status,[Ae.ERR_BAD_REQUEST,Ae.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function Em(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function km(e,t){e=e||10;const n=new Array(e),r=new Array(e);let o=0,s=0,i;return t=t!==void 0?t:1e3,function(l){const u=Date.now(),d=r[s];i||(i=u),n[o]=l,r[o]=u;let f=s,h=0;for(;f!==o;)h+=n[f++],f=f%e;if(o=(o+1)%e,o===s&&(s=(s+1)%e),u-i<t)return;const p=d&&u-d;return p?Math.round(h*1e3/p):void 0}}function Im(e,t){let n=0,r=1e3/t,o,s;const i=(u,d=Date.now())=>{n=d,o=null,s&&(clearTimeout(s),s=null),e(...u)};return[(...u)=>{const d=Date.now(),f=d-n;f>=r?i(u,d):(o=u,s||(s=setTimeout(()=>{s=null,i(o)},r-f)))},()=>o&&i(o)]}const ao=(e,t,n=3)=>{let r=0;const o=km(50,250);return Im(s=>{const i=s.loaded,a=s.lengthComputable?s.total:void 0,l=i-r,u=o(l),d=i<=a;r=i;const f={loaded:i,total:a,progress:a?i/a:void 0,bytes:l,rate:u||void 0,estimated:u&&a&&d?(a-i)/u:void 0,event:s,lengthComputable:a!=null,[t?"download":"upload"]:!0};e(f)},n)},al=(e,t)=>{const n=e!=null;return[r=>t[0]({lengthComputable:n,total:e,loaded:r}),t[1]]},ll=e=>(...t)=>_.asap(()=>e(...t)),Nm=gt.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,gt.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(gt.origin),gt.navigator&&/(msie|trident)/i.test(gt.navigator.userAgent)):()=>!0,Am=gt.hasStandardBrowserEnv?{write(e,t,n,r,o,s){const i=[e+"="+encodeURIComponent(t)];_.isNumber(n)&&i.push("expires="+new Date(n).toGMTString()),_.isString(r)&&i.push("path="+r),_.isString(o)&&i.push("domain="+o),s===!0&&i.push("secure"),document.cookie=i.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 jm(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function _m(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function cl(e,t,n){let r=!jm(t);return e&&(r||n==!1)?_m(e,t):t}const ul=e=>e instanceof Tt?{...e}:e;function Pn(e,t){t=t||{};const n={};function r(u,d,f,h){return _.isPlainObject(u)&&_.isPlainObject(d)?_.merge.call({caseless:h},u,d):_.isPlainObject(d)?_.merge({},d):_.isArray(d)?d.slice():d}function o(u,d,f,h){if(_.isUndefined(d)){if(!_.isUndefined(u))return r(void 0,u,f,h)}else return r(u,d,f,h)}function s(u,d){if(!_.isUndefined(d))return r(void 0,d)}function i(u,d){if(_.isUndefined(d)){if(!_.isUndefined(u))return r(void 0,u)}else return r(void 0,d)}function a(u,d,f){if(f in t)return r(u,d);if(f in e)return r(void 0,u)}const l={url:s,method:s,data:s,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,withXSRFToken:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,beforeRedirect:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,responseEncoding:i,validateStatus:a,headers:(u,d,f)=>o(ul(u),ul(d),f,!0)};return _.forEach(Object.keys({...e,...t}),function(d){const f=l[d]||o,h=f(e[d],t[d],d);_.isUndefined(h)&&f!==a||(n[d]=h)}),n}const dl=e=>{const t=Pn({},e);let{data:n,withXSRFToken:r,xsrfHeaderName:o,xsrfCookieName:s,headers:i,auth:a}=t;if(t.headers=i=Tt.from(i),t.url=el(cl(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),a&&i.set("Authorization","Basic "+btoa((a.username||"")+":"+(a.password?unescape(encodeURIComponent(a.password)):""))),_.isFormData(n)){if(gt.hasStandardBrowserEnv||gt.hasStandardBrowserWebWorkerEnv)i.setContentType(void 0);else if(_.isFunction(n.getHeaders)){const l=n.getHeaders(),u=["content-type","content-length"];Object.entries(l).forEach(([d,f])=>{u.includes(d.toLowerCase())&&i.set(d,f)})}}if(gt.hasStandardBrowserEnv&&(r&&_.isFunction(r)&&(r=r(t)),r||r!==!1&&Nm(t.url))){const l=o&&s&&Am.read(s);l&&i.set(o,l)}return t},Rm=typeof XMLHttpRequest<"u"&&function(e){return new Promise(function(n,r){const o=dl(e);let s=o.data;const i=Tt.from(o.headers).normalize();let{responseType:a,onUploadProgress:l,onDownloadProgress:u}=o,d,f,h,p,w;function v(){p&&p(),w&&w(),o.cancelToken&&o.cancelToken.unsubscribe(d),o.signal&&o.signal.removeEventListener("abort",d)}let g=new XMLHttpRequest;g.open(o.method.toUpperCase(),o.url,!0),g.timeout=o.timeout;function x(){if(!g)return;const y=Tt.from("getAllResponseHeaders"in g&&g.getAllResponseHeaders()),C={data:!a||a==="text"||a==="json"?g.responseText:g.response,status:g.status,statusText:g.statusText,headers:y,config:e,request:g};il(function(I){n(I),v()},function(I){r(I),v()},C),g=null}"onloadend"in g?g.onloadend=x:g.onreadystatechange=function(){!g||g.readyState!==4||g.status===0&&!(g.responseURL&&g.responseURL.indexOf("file:")===0)||setTimeout(x)},g.onabort=function(){g&&(r(new Ae("Request aborted",Ae.ECONNABORTED,e,g)),g=null)},g.onerror=function(k){const C=k&&k.message?k.message:"Network Error",T=new Ae(C,Ae.ERR_NETWORK,e,g);T.event=k||null,r(T),g=null},g.ontimeout=function(){let k=o.timeout?"timeout of "+o.timeout+"ms exceeded":"timeout exceeded";const C=o.transitional||nl;o.timeoutErrorMessage&&(k=o.timeoutErrorMessage),r(new Ae(k,C.clarifyTimeoutError?Ae.ETIMEDOUT:Ae.ECONNABORTED,e,g)),g=null},s===void 0&&i.setContentType(null),"setRequestHeader"in g&&_.forEach(i.toJSON(),function(k,C){g.setRequestHeader(C,k)}),_.isUndefined(o.withCredentials)||(g.withCredentials=!!o.withCredentials),a&&a!=="json"&&(g.responseType=o.responseType),u&&([h,w]=ao(u,!0),g.addEventListener("progress",h)),l&&g.upload&&([f,p]=ao(l),g.upload.addEventListener("progress",f),g.upload.addEventListener("loadend",p)),(o.cancelToken||o.signal)&&(d=y=>{g&&(r(!y||y.type?new tr(null,e,g):y),g.abort(),g=null)},o.cancelToken&&o.cancelToken.subscribe(d),o.signal&&(o.signal.aborted?d():o.signal.addEventListener("abort",d)));const b=Em(o.url);if(b&&gt.protocols.indexOf(b)===-1){r(new Ae("Unsupported protocol "+b+":",Ae.ERR_BAD_REQUEST,e));return}g.send(s||null)})},Pm=(e,t)=>{const{length:n}=e=e?e.filter(Boolean):[];if(t||n){let r=new AbortController,o;const s=function(u){if(!o){o=!0,a();const d=u instanceof Error?u:this.reason;r.abort(d instanceof Ae?d:new tr(d instanceof Error?d.message:d))}};let i=t&&setTimeout(()=>{i=null,s(new Ae(`timeout ${t} of ms exceeded`,Ae.ETIMEDOUT))},t);const a=()=>{e&&(i&&clearTimeout(i),i=null,e.forEach(u=>{u.unsubscribe?u.unsubscribe(s):u.removeEventListener("abort",s)}),e=null)};e.forEach(u=>u.addEventListener("abort",s));const{signal:l}=r;return l.unsubscribe=()=>_.asap(a),l}},Om=function*(e,t){let n=e.byteLength;if(n<t){yield e;return}let r=0,o;for(;r<n;)o=r+t,yield e.slice(r,o),r=o},Mm=async function*(e,t){for await(const n of Dm(e))yield*Om(n,t)},Dm=async function*(e){if(e[Symbol.asyncIterator]){yield*e;return}const t=e.getReader();try{for(;;){const{done:n,value:r}=await t.read();if(n)break;yield r}}finally{await t.cancel()}},fl=(e,t,n,r)=>{const o=Mm(e,t);let s=0,i,a=l=>{i||(i=!0,r&&r(l))};return new ReadableStream({async pull(l){try{const{done:u,value:d}=await o.next();if(u){a(),l.close();return}let f=d.byteLength;if(n){let h=s+=f;n(h)}l.enqueue(new Uint8Array(d))}catch(u){throw a(u),u}},cancel(l){return a(l),o.return()}},{highWaterMark:2})},hl=64*1024,{isFunction:lo}=_,Lm=(({Request:e,Response:t})=>({Request:e,Response:t}))(_.global),{ReadableStream:pl,TextEncoder:ml}=_.global,gl=(e,...t)=>{try{return!!e(...t)}catch{return!1}},Fm=e=>{e=_.merge.call({skipUndefined:!0},Lm,e);const{fetch:t,Request:n,Response:r}=e,o=t?lo(t):typeof fetch=="function",s=lo(n),i=lo(r);if(!o)return!1;const a=o&&lo(pl),l=o&&(typeof ml=="function"?(w=>v=>w.encode(v))(new ml):async w=>new Uint8Array(await new n(w).arrayBuffer())),u=s&&a&&gl(()=>{let w=!1;const v=new n(gt.origin,{body:new pl,method:"POST",get duplex(){return w=!0,"half"}}).headers.has("Content-Type");return w&&!v}),d=i&&a&&gl(()=>_.isReadableStream(new r("").body)),f={stream:d&&(w=>w.body)};o&&["text","arrayBuffer","blob","formData","stream"].forEach(w=>{!f[w]&&(f[w]=(v,g)=>{let x=v&&v[w];if(x)return x.call(v);throw new Ae(`Response type '${w}' is not supported`,Ae.ERR_NOT_SUPPORT,g)})});const h=async w=>{if(w==null)return 0;if(_.isBlob(w))return w.size;if(_.isSpecCompliantForm(w))return(await new n(gt.origin,{method:"POST",body:w}).arrayBuffer()).byteLength;if(_.isArrayBufferView(w)||_.isArrayBuffer(w))return w.byteLength;if(_.isURLSearchParams(w)&&(w=w+""),_.isString(w))return(await l(w)).byteLength},p=async(w,v)=>{const g=_.toFiniteNumber(w.getContentLength());return g??h(v)};return async w=>{let{url:v,method:g,data:x,signal:b,cancelToken:y,timeout:k,onDownloadProgress:C,onUploadProgress:T,responseType:I,headers:A,withCredentials:R="same-origin",fetchOptions:j}=dl(w),M=t||fetch;I=I?(I+"").toLowerCase():"text";let D=Pm([b,y&&y.toAbortSignal()],k),L=null;const P=D&&D.unsubscribe&&(()=>{D.unsubscribe()});let V;try{if(T&&u&&g!=="get"&&g!=="head"&&(V=await p(A,x))!==0){let Y=new n(v,{method:"POST",body:x,duplex:"half"}),de;if(_.isFormData(x)&&(de=Y.headers.get("content-type"))&&A.setContentType(de),Y.body){const[se,pe]=al(V,ao(ll(T)));x=fl(Y.body,hl,se,pe)}}_.isString(R)||(R=R?"include":"omit");const U=s&&"credentials"in n.prototype,q={...j,signal:D,method:g.toUpperCase(),headers:A.normalize().toJSON(),body:x,duplex:"half",credentials:U?R:void 0};L=s&&new n(v,q);let F=await(s?M(L,j):M(v,q));const N=d&&(I==="stream"||I==="response");if(d&&(C||N&&P)){const Y={};["status","statusText","headers"].forEach(ge=>{Y[ge]=F[ge]});const de=_.toFiniteNumber(F.headers.get("content-length")),[se,pe]=C&&al(de,ao(ll(C),!0))||[];F=new r(fl(F.body,hl,se,()=>{pe&&pe(),P&&P()}),Y)}I=I||"text";let W=await f[_.findKey(f,I)||"text"](F,w);return!N&&P&&P(),await new Promise((Y,de)=>{il(Y,de,{data:W,headers:Tt.from(F.headers),status:F.status,statusText:F.statusText,config:w,request:L})})}catch(U){throw P&&P(),U&&U.name==="TypeError"&&/Load failed|fetch/i.test(U.message)?Object.assign(new Ae("Network Error",Ae.ERR_NETWORK,w,L),{cause:U.cause||U}):Ae.from(U,U&&U.code,w,L)}}},$m=new Map,xl=e=>{let t=e?e.env:{};const{fetch:n,Request:r,Response:o}=t,s=[r,o,n];let i=s.length,a=i,l,u,d=$m;for(;a--;)l=s[a],u=d.get(l),u===void 0&&d.set(l,u=a?new Map:Fm(t)),d=u;return u};xl();const Bs={http:am,xhr:Rm,fetch:{get:xl}};_.forEach(Bs,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const vl=e=>`- ${e}`,zm=e=>_.isFunction(e)||e===null||e===!1,wl={getAdapter:(e,t)=>{e=_.isArray(e)?e:[e];const{length:n}=e;let r,o;const s={};for(let i=0;i<n;i++){r=e[i];let a;if(o=r,!zm(r)&&(o=Bs[(a=String(r)).toLowerCase()],o===void 0))throw new Ae(`Unknown adapter '${a}'`);if(o&&(_.isFunction(o)||(o=o.get(t))))break;s[a||"#"+i]=o}if(!o){const i=Object.entries(s).map(([l,u])=>`adapter ${l} `+(u===!1?"is not supported by the environment":"is not available in the build"));let a=n?i.length>1?`since :
33
33
  `+i.map(vl).join(`
34
34
  `):" "+vl(i[0]):"as no adapter specified";throw new Ae("There is no suitable adapter to dispatch the request "+a,"ERR_NOT_SUPPORT")}return o},adapters:Bs};function Hs(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new tr(null,e)}function bl(e){return Hs(e),e.headers=Tt.from(e.headers),e.data=zs.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),wl.getAdapter(e.adapter||Tr.adapter,e)(e).then(function(r){return Hs(e),r.data=zs.call(e,e.transformResponse,r),r.headers=Tt.from(r.headers),r},function(r){return sl(r)||(Hs(e),r&&r.response&&(r.response.data=zs.call(e,e.transformResponse,r.response),r.response.headers=Tt.from(r.response.headers))),Promise.reject(r)})}const yl="1.12.2",co={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{co[e]=function(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}});const Sl={};co.transitional=function(t,n,r){function o(s,i){return"[Axios v"+yl+"] Transitional option '"+s+"'"+i+(r?". "+r:"")}return(s,i,a)=>{if(t===!1)throw new Ae(o(i," has been removed"+(n?" in "+n:"")),Ae.ERR_DEPRECATED);return n&&!Sl[i]&&(Sl[i]=!0,console.warn(o(i," has been deprecated since v"+n+" and will be removed in the near future"))),t?t(s,i,a):!0}},co.spelling=function(t){return(n,r)=>(console.warn(`${r} is likely a misspelling of ${t}`),!0)};function Bm(e,t,n){if(typeof e!="object")throw new Ae("options must be an object",Ae.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let o=r.length;for(;o-- >0;){const s=r[o],i=t[s];if(i){const a=e[s],l=a===void 0||i(a,s,e);if(l!==!0)throw new Ae("option "+s+" must be "+l,Ae.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new Ae("Unknown option "+s,Ae.ERR_BAD_OPTION)}}const uo={assertOptions:Bm,validators:co},Xt=uo.validators;let On=class{constructor(t){this.defaults=t||{},this.interceptors={request:new tl,response:new tl}}async request(t,n){try{return await this._request(t,n)}catch(r){if(r instanceof Error){let o={};Error.captureStackTrace?Error.captureStackTrace(o):o=new Error;const s=o.stack?o.stack.replace(/^.+\n/,""):"";try{r.stack?s&&!String(r.stack).endsWith(s.replace(/^.+\n.+\n/,""))&&(r.stack+=`
35
- `+s):r.stack=s}catch{}}throw r}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=Pn(this.defaults,n);const{transitional:r,paramsSerializer:o,headers:s}=n;r!==void 0&&uo.assertOptions(r,{silentJSONParsing:Xt.transitional(Xt.boolean),forcedJSONParsing:Xt.transitional(Xt.boolean),clarifyTimeoutError:Xt.transitional(Xt.boolean)},!1),o!=null&&(_.isFunction(o)?n.paramsSerializer={serialize:o}:uo.assertOptions(o,{encode:Xt.function,serialize:Xt.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),uo.assertOptions(n,{baseUrl:Xt.spelling("baseURL"),withXsrfToken:Xt.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let i=s&&_.merge(s.common,s[n.method]);s&&_.forEach(["delete","get","head","post","put","patch","common"],w=>{delete s[w]}),n.headers=Tt.concat(i,s);const a=[];let l=!0;this.interceptors.request.forEach(function(v){typeof v.runWhen=="function"&&v.runWhen(n)===!1||(l=l&&v.synchronous,a.unshift(v.fulfilled,v.rejected))});const u=[];this.interceptors.response.forEach(function(v){u.push(v.fulfilled,v.rejected)});let d,f=0,h;if(!l){const w=[bl.bind(this),void 0];for(w.unshift(...a),w.push(...u),h=w.length,d=Promise.resolve(n);f<h;)d=d.then(w[f++],w[f++]);return d}h=a.length;let p=n;for(;f<h;){const w=a[f++],v=a[f++];try{p=w(p)}catch(g){v.call(this,g);break}}try{d=bl.call(this,p)}catch(w){return Promise.reject(w)}for(f=0,h=u.length;f<h;)d=d.then(u[f++],u[f++]);return d}getUri(t){t=Pn(this.defaults,t);const n=cl(t.baseURL,t.url,t.allowAbsoluteUrls);return el(n,t.params,t.paramsSerializer)}};_.forEach(["delete","get","head","options"],function(t){On.prototype[t]=function(n,r){return this.request(Pn(r||{},{method:t,url:n,data:(r||{}).data}))}}),_.forEach(["post","put","patch"],function(t){function n(r){return function(s,i,a){return this.request(Pn(a||{},{method:t,headers:r?{"Content-Type":"multipart/form-data"}:{},url:s,data:i}))}}On.prototype[t]=n(),On.prototype[t+"Form"]=n(!0)});let Hm=class vp{constructor(t){if(typeof t!="function")throw new TypeError("executor must be a function.");let n;this.promise=new Promise(function(s){n=s});const r=this;this.promise.then(o=>{if(!r._listeners)return;let s=r._listeners.length;for(;s-- >0;)r._listeners[s](o);r._listeners=null}),this.promise.then=o=>{let s;const i=new Promise(a=>{r.subscribe(a),s=a}).then(o);return i.cancel=function(){r.unsubscribe(s)},i},t(function(s,i,a){r.reason||(r.reason=new tr(s,i,a),n(r.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 n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const t=new AbortController,n=r=>{t.abort(r)};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return{token:new vp(function(o){t=o}),cancel:t}}};function Um(e){return function(n){return e.apply(null,n)}}function Wm(e){return _.isObject(e)&&e.isAxiosError===!0}const Us={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(Us).forEach(([e,t])=>{Us[t]=e});function Cl(e){const t=new On(e),n=$a(On.prototype.request,t);return _.extend(n,On.prototype,t,{allOwnKeys:!0}),_.extend(n,t,null,{allOwnKeys:!0}),n.create=function(o){return Cl(Pn(e,o))},n}const at=Cl(Tr);at.Axios=On,at.CanceledError=tr,at.CancelToken=Hm,at.isCancel=sl,at.VERSION=yl,at.toFormData=so,at.AxiosError=Ae,at.Cancel=at.CanceledError,at.all=function(t){return Promise.all(t)},at.spread=Um,at.isAxiosError=Wm,at.mergeConfig=Pn,at.AxiosHeaders=Tt,at.formToJSON=e=>rl(_.isHTMLForm(e)?new FormData(e):e),at.getAdapter=wl.getAdapter,at.HttpStatusCode=Us,at.default=at;const{Axios:xC,AxiosError:vC,CanceledError:wC,isCancel:bC,CancelToken:yC,VERSION:SC,all:CC,Cancel:TC,isAxiosError:EC,spread:kC,toFormData:IC,AxiosHeaders:NC,HttpStatusCode:AC,formToJSON:jC,getAdapter:_C,mergeConfig:RC}=at,Tl=typeof window<"u"?window.__API_BASE_URL__:void 0,El=Tl?fn(Tl):void 0;function fn(e){const n=(e!=null&&e.trim()?e.trim():"/api/chat").replace(/\/+$/,"");return n?n.endsWith("/chat")?n:`${n}/chat`:"/api/chat"}let fo=null;const Ws=new Set;function kl(){return fo}function Vs(e){fo=e,Ws.forEach(t=>t(e))}function Il(e){return Ws.add(e),()=>Ws.delete(e)}const Dt=at.create({...El?{baseURL:El}:{},timeout:3e4,withCredentials:!0});Dt.interceptors.request.use(e=>(fo&&(e.headers.Authorization=`Bearer ${fo}`),e)),Dt.interceptors.response.use(e=>e,e=>Promise.reject(e));async function It(e,t){return Dt.defaults.baseURL?(await Dt.get(e,t)).data:Promise.reject(new Error("API base URL is not configured"))}async function Ks(e,t,n){return Dt.defaults.baseURL?(await Dt.post(e,t,n)).data:Promise.reject(new Error("API base URL is not configured"))}async function Nl(e,t,n){return Dt.defaults.baseURL?(await Dt.put(e,t,n)).data:Promise.reject(new Error("API base URL is not configured"))}async function Al(e,t){return Dt.defaults.baseURL?(await Dt.delete(e,t)).data:Promise.reject(new Error("API base URL is not configured"))}function Nt(e){return e&&typeof e=="object"&&"data"in e?e.data:e}class jl{get baseUrl(){const t=Dt.defaults.baseURL;return t?fn(String(t)):""}updateConfig(t){t.baseUrl&&(Dt.defaults.baseURL=fn(String(t.baseUrl))),t.authToken!==void 0&&Vs(t.authToken)}getAuthToken(){return kl()}setAuthToken(t){Vs(t)}onTokenChange(t){return Il(t)}async listThreads(){const t=await It("/threads"),n=Nt(t);return(n==null?void 0:n.items)??(t==null?void 0:t.items)??[]}async createThread(t){const r=await Ks("/threads",t?{title:t}:void 0);return Nt(r)}async updateThread(t,n){const r=await Nl(`/threads/${t}`,{title:n});return Nt(r)}async deleteThread(t){const n=await Al(`/threads/${t}`);return Nt(n)}async threadInfo(t){const n=await It(`/threads/${t}/info`);return Nt(n)}async listAgents(){const t=await It("/agents"),n=Nt(t);return(n==null?void 0:n.items)??[]}async getAgent(t){const n=await It(`/agents/${t}`);return Nt(n)}async getAgentSchema(t){const n=await It(`/agents/${t}/schema`);return Nt(n)}async getMessages(t){const n=await It(`/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 Nt(n)}async getState(t){const n=await It(`/threads/${t.threadId}/state`,{params:{thread_id:t.threadId,checkpoint_id:t.checkpointId,checkpoint_ns:t.checkpointNs}});return Nt(n)}async getStateHistory(t){const n=await It(`/threads/${t.threadId}/state/history`,{params:{thread_id:t.threadId,checkpoint_id:t.checkpointId,checkpoint_ns:t.checkpointNs}});return Nt(n)}async listCheckpoints(t){const n=await It(`/threads/${t}/checkpoints`,{params:{thread_id:t}});return Nt(n)}async resume(t){const n=await Ks("/runs/resume",{thread_id:t.threadId,value:t.value});return Nt(n)}}const xn=new jl,_l=S.createContext(null);function Vm({children:e,apiConfig:t}){const n=xn;if(t){const o=n.baseUrl,s=n.getAuthToken();t.baseUrl&&t.baseUrl!==o&&n.updateConfig({baseUrl:t.baseUrl}),t.apiKey!==void 0&&t.apiKey!==s&&n.updateConfig({authToken:t.apiKey})}const r={token:n.getAuthToken(),setToken:o=>n.setAuthToken(o),api:n,baseUrl:n.baseUrl};return c.jsx(_l.Provider,{value:r,children:e})}function qs(){const e=S.useContext(_l);if(!e)throw new Error("useApi must be used within ApiProvider");return e}function Km(e,t){const n=e==null?void 0:e.checkpoints,r=Array.isArray(n)?n.slice():n?Object.values(n):[],o=i=>i&&typeof i=="object"&&i!==null&&"checkpointId"in i&&"createdAt"in i&&typeof i.checkpointId=="string"&&typeof i.createdAt=="string",s=r.filter(o).map(i=>{const a=i;return{checkpointId:a.checkpointId,checkpointNs:a.checkpointNs??"",createdAt:a.createdAt,messagesLen:a.messagesLen??0,preview:a.preview??"",role:a.role??null,parentId:a.parentId??null,editedMessageId:a.editedMessageId??null,branchLabel:a.branchLabel??null,lastMessageId:a.lastMessageId??null,hasMessages:typeof a.hasMessages=="boolean"?a.hasMessages:void 0}});return{threadId:(e==null?void 0:e.threadId)??t??null,checkpoints:s}}async function qm(e){return await new Promise((t,n)=>{const r=new FileReader;r.onload=()=>{try{const o=r.result,s=new Uint8Array(o);let i="";const a=s.byteLength;for(let l=0;l<a;l++)i+=String.fromCharCode(s[l]);t(btoa(i))}catch(o){n(o)}},r.onerror=o=>n(o),r.readAsArrayBuffer(e)})}async function Gm(e,t=[],n,r,o,s){const i=[],a=[];for(const l of t)try{const u=await qm(l);a.push({filename:l.name,data:u,mime_type:l.type||"application/octet-stream"})}catch{}return{contentParts:i,filesInfo:a}}function Ym(e){return e.type!=="thread_info"&&e.type!=="token"}const Xm={messages:[],assemblingId:null,lastCheckpointId:null,lastCheckpointNs:null,toolIndex:{},lastBranch:null};function Jm(e,t){var n;switch(t.type){case"reset":{console.log("[MessageReducer] 🔄 RESET action received"),console.log("[MessageReducer] 📊 Before reset - messages count:",e.messages.length);const r={messages:Gs(((n=t.payload)==null?void 0:n.messages)??[]),assemblingId:null,lastCheckpointId:null,lastCheckpointNs:null,toolIndex:{},lastBranch:null};return console.log("[MessageReducer] 📊 After reset - messages count:",r.messages.length),r}case"seed":{const r=Gs(t.payload.messages),o={...e,messages:r,assemblingId:null};return Object.prototype.hasOwnProperty.call(t.payload,"checkpointId")&&(o.lastCheckpointId=t.payload.checkpointId??null),Object.prototype.hasOwnProperty.call(t.payload,"checkpointNs")&&(o.lastCheckpointNs=t.payload.checkpointNs??null),console.log("[MessageReducer] seed action (REPLACE mode):",{incomingCount:t.payload.messages.length,sanitizedCount:r.length,previousCount:e.messages.length,checkpointId:o.lastCheckpointId}),o}case"prepend":{const r=Gs(t.payload.messages);if(!r.length)return console.log("[MessageReducer] No incoming messages after sanitize - skipping"),e;const o=new Set(e.messages.map(i=>i.id)),s=r.filter(i=>!o.has(i.id));return console.log("[MessageReducer] After dedup:",{uniqueCount:s.length,duplicates:r.length-s.length,finalTotal:s.length+e.messages.length}),s.length?{...e,messages:[...s,...e.messages]}:(console.log("[MessageReducer] All messages were duplicates - skipping"),e)}case"user_message":{const r=t.payload.message;return e.messages.some(o=>o.id===r.id)?e:{...e,messages:[...e.messages,r]}}case"event":return Pl(e,t.payload.ev);case"batch":{const{events:r}=t.payload;return r.length?r.reduce((o,s)=>Pl(o,s),e):e}case"interrupt_response":{const{interruptId:r}=t.payload,o=e.messages.map(s=>({...s,content:s.content.filter(i=>i.type!=="interrupt")}));return{...e,messages:o,pendingInterrupt:null}}default:return e}}function Rl(e=[]){const[t,n]=S.useReducer(Jm,{...Xm,messages:e}),r=S.useRef([]),o=S.useRef(null),s=S.useRef(null),i=S.useCallback(()=>{o.current!==null&&typeof window<"u"&&window.cancelAnimationFrame(o.current),s.current!==null&&clearTimeout(s.current),o.current=null,s.current=null;const d=r.current;d.length&&(r.current=[],n({type:"batch",payload:{events:d}}))},[]),a=S.useCallback(()=>{typeof window<"u"&&typeof window.requestAnimationFrame=="function"?o.current===null&&(o.current=window.requestAnimationFrame(()=>i())):s.current===null&&(s.current=setTimeout(i,8))},[i]),l=S.useCallback(d=>{r.current.push(d),a()},[a]);S.useEffect(()=>()=>{o.current!==null&&typeof window<"u"&&window.cancelAnimationFrame(o.current),s.current!==null&&clearTimeout(s.current),r.current=[]},[]);const u=S.useMemo(()=>({reset:d=>n({type:"reset",payload:{messages:d}}),seed:(d,f)=>n({type:"seed",payload:{messages:d,...f??{}}}),prepend:d=>n({type:"prepend",payload:{messages:d}}),pushUser:d=>n({type:"user_message",payload:{message:d}}),onEvent:l}),[l]);return{state:t,dispatch:n,...u}}function Pl(e,t){var n,r;if(t.type==="message_start"&&t.role==="assistant"){const o=t.id,s=rg(t.model);if(e.messages.some(l=>l.id===o))return{...e,assemblingId:o};const a={id:o,role:"assistant",name:s||void 0,model:t.model,createdAt:new Date().toISOString(),content:[]};return{...e,assemblingId:o,messages:[...e.messages,a]}}if(t.type==="message_delta"){const o=e.assemblingId??Ys(e.messages);return o?{...e,messages:Xs(e.messages,o,t.delta)}:e}if(t.type==="message_end"){const o=e.assemblingId??Ys(e.messages);if(!o)return{...e,assemblingId:null};const s=e.messages,i=s.findIndex(a=>a.id===o&&a.role==="assistant");if(i>=0&&!((n=s[i].content)==null?void 0:n.some(u=>{var d;return(u==null?void 0:u.type)==="text"&&((d=u.text)==null?void 0:d.trim())}))){const u=[...s.slice(0,i),...s.slice(i+1)];return{...e,assemblingId:null,messages:u}}return e}if(t.type==="tool_start"){const o=t.id??t.call_id,s=t.name??t.tool??"tool";if(!o)return e;const i=`tool-${o}`,a={type:"tool_call",id:o,name:s,args:t.args};if(e.messages.find(d=>d.id===i))return{...e,toolIndex:{...e.toolIndex,[o]:i}};const u={id:i,role:"tool",name:s,createdAt:new Date().toISOString(),content:[a]};return{...e,messages:[...e.messages,u],toolIndex:{...e.toolIndex,[o]:i}}}if(t.type==="tool_end"){const o=t.id??t.call_id;if(!o)return e;const s=e.toolIndex[o]??`tool-${o}`,i={type:"tool_end",toolCallId:o,output:t.output,error:t.error},a=e.messages.find(d=>d.id===s),l={id:s,role:"tool",name:t.name??((r=e.messages.find(d=>d.id===s))==null?void 0:r.name),content:[i],createdAt:new Date().toISOString()},u=a?Xs(e.messages,s,[i]):[...e.messages,l];return{...e,messages:u,toolIndex:{...e.toolIndex,[o]:s}}}if(t.type==="checkpoint"){const o=t.checkpointNs??e.lastCheckpointNs??null,s=ng(e.messages,t.checkpointId,o);return{...e,lastCheckpointId:t.checkpointId,lastCheckpointNs:o,messages:s}}if(t.type==="branch"){const o=t.checkpointId??e.lastCheckpointId,s=t.checkpointNs??e.lastCheckpointNs;return{...e,lastBranch:t,lastCheckpointId:o??null,lastCheckpointNs:s??null}}if(t.type==="error"){const o={id:`err-${Date.now()}`,role:"system",content:[{type:"text",text:`Error: ${t.message}`}],createdAt:new Date().toISOString()};return{...e,messages:[...e.messages,o]}}if(t.type==="interrupt"){const o=e.assemblingId??Ys(e.messages),s={type:"interrupt",value:t.value};if(o)return{...e,assemblingId:null,messages:Xs(e.messages,o,[s]),pendingInterrupt:{id:t.id,value:t.value}};const i={id:`interrupt-${t.id}`,role:"system",createdAt:new Date().toISOString(),content:[s]};return{...e,messages:[...e.messages,i],pendingInterrupt:{id:t.id,value:t.value}}}return e}function Gs(e){return e.filter(t=>{if(t.role!=="assistant")return!0;const n=(t.content||[]).some(o=>{var s;return o&&o.type==="text"&&((s=o.text)==null?void 0:s.trim())}),r=(t.content||[]).some(o=>o&&o.type==="image_url");return!!(n||r)})}function Zm(e,t,n){return t<0||t>=e.length?e:[...e.slice(0,t),n,...e.slice(t+1)]}function Ys(e){for(let t=e.length-1;t>=0;t--)if(e[t].role==="assistant")return e[t].id;return null}function Qm(e,t,n){const r=e.findIndex(i=>i.id===t);if(r===-1)return e;const o=e[r],s=n(o);return s===o?e:[...e.slice(0,r),s,...e.slice(r+1)]}function Xs(e,t,n){return Qm(e,t,r=>({...r,content:eg(r.content,n)}))}function eg(e,t){const n=e.slice();for(const r of t)if(r.type==="text"){const o=n[n.length-1],s=r.text??"";if(!s)continue;if((o==null?void 0:o.type)==="text"){const i=o,a=i.text??"";if(!a){i.text=s;continue}if(s.startsWith(a)){i.text=s;continue}if(a.startsWith(s)){i.text=s;continue}const l=tg(a,s);l?i.text=a+l:s.length!==a.length&&(i.text=s)}else n.push({type:"text",text:s})}else n.push(r);return n}function tg(e,t){if(!t)return"";if(!e)return t;if(e===t)return"";const n=Math.min(e.length,t.length);for(let r=n;r>0;r--)if(e.slice(-r)===t.slice(0,r))return t.slice(r);return t}function ng(e,t,n){for(let r=e.length-1;r>=0;r--)if(e[r].role==="assistant"){const s={...e[r],checkpointId:t,checkpointNs:n??void 0};return Zm(e,r,s)}return e}function rg(e){if(!e)return null;const t=e.split("/");return t[t.length-1]||null}function Ol(e={}){const t=S.useMemo(()=>fn(e.baseUrl),[e.baseUrl]),n=e.streamPath??"/runs/stream",[r,o]=S.useState(e.token??null),s=S.useRef(e.headers??{}),i=e.credentials??"include",[a,l]=S.useState(!1),[u,d]=S.useState(null),[f,h]=S.useState(""),[p,w]=S.useState(null),[v,g]=S.useState(0),[x,b]=S.useState(!1),y=S.useRef(null),k=S.useRef(!0),C=S.useRef(0),T=S.useCallback(j=>{o(j)},[]),I=S.useCallback(()=>{var j;(j=y.current)==null||j.abort(),y.current=null,l(!1),b(!1),C.current=0,g(0)},[]),A=S.useCallback(()=>{h(""),w(null),d(null)},[]),R=S.useCallback((j,M,D)=>{y.current&&(y.current.abort(),y.current=null),l(!0),d(null),e.autoAppendAssistant!==!1&&h("");const L=new AbortController;return y.current=L,(async()=>{var V,U,q,F,N,W,Y,de;const P=se=>{var pe;try{const ge=JSON.parse(JSON.stringify(se));return(pe=ge==null?void 0:ge.payload)!=null&&pe.files_info&&Array.isArray(ge.payload.files_info)&&(ge.payload.files_info=ge.payload.files_info.map(Se=>({...Se,data:Se!=null&&Se.data?`<base64 ${String(Se.data).length} chars>`:Se==null?void 0:Se.data}))),ge}catch{return se}};try{let se={};try{if(r)se={Authorization:`Bearer ${r}`};else if(typeof window<"u"){const Oe=window.__AUTH_TOKEN__,Qe=((V=window.localStorage)==null?void 0:V.getItem("authToken"))||null;let Re=null;try{const ct=(U=window.localStorage)==null?void 0:U.getItem("chat-settings");ct&&(Re=((q=JSON.parse(ct))==null?void 0:q.apiKey)||null)}catch{}const st=Oe||Qe||Re||null;st&&(se={Authorization:`Bearer ${st}`})}}catch{}console.debug("[use-chat] POST",t+n,P(j));const pe=await fetch(t+n,{method:"POST",headers:{"Content-Type":"application/json",Accept:"text/event-stream",...se,...s.current},body:JSON.stringify(j),signal:L.signal,credentials:i});if(!pe.ok||!pe.body){const Ne=await pe.text().catch(()=>"");throw console.debug("[use-chat] non-OK response",pe.status,Ne==null?void 0:Ne.slice(0,500)),new Error(`stream ${pe.status}${Ne?": "+Ne:""}`)}b(!0);const ge=pe.body.getReader(),Se=new TextDecoder;let B="",O=[];C.current=0,g(0);let G=0,Z=null;const ce=()=>{if(O.length){const Ne=O.join("");O=[],k.current&&h(Oe=>Oe+Ne)}Z=null},ie=()=>{typeof window<"u"&&Z==null&&(Z=requestAnimationFrame(ce))};let De=Date.now();const Xe=setInterval(()=>{var Ne;if(Date.now()-De>6e4){const Oe="Stream idle timeout";d(Oe),L.abort(),(Ne=D==null?void 0:D.onError)==null||Ne.call(D,Oe)}},5e3),Je=1024*1024;try{const Ne=pe.headers.get("X-Thread-Id")||pe.headers.get("x-thread-id"),Oe=pe.headers.get("X-Thread-Created")||pe.headers.get("x-thread-created"),Qe=Ne??null,Re=String(Oe??"").toLowerCase()==="true";for((F=D==null?void 0:D.onOpen)==null||F.call(D,{threadId:Qe,created:Re});;){const{value:st,done:ct}=await ge.read();if(ct)break;B+=Se.decode(st,{stream:!0}),B.length>Je&&(B="",console.warn("Stream buffer reset: exceeded 1MB"));let Q;for(;(Q=B.indexOf(`
35
+ `+s):r.stack=s}catch{}}throw r}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=Pn(this.defaults,n);const{transitional:r,paramsSerializer:o,headers:s}=n;r!==void 0&&uo.assertOptions(r,{silentJSONParsing:Xt.transitional(Xt.boolean),forcedJSONParsing:Xt.transitional(Xt.boolean),clarifyTimeoutError:Xt.transitional(Xt.boolean)},!1),o!=null&&(_.isFunction(o)?n.paramsSerializer={serialize:o}:uo.assertOptions(o,{encode:Xt.function,serialize:Xt.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),uo.assertOptions(n,{baseUrl:Xt.spelling("baseURL"),withXsrfToken:Xt.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let i=s&&_.merge(s.common,s[n.method]);s&&_.forEach(["delete","get","head","post","put","patch","common"],w=>{delete s[w]}),n.headers=Tt.concat(i,s);const a=[];let l=!0;this.interceptors.request.forEach(function(v){typeof v.runWhen=="function"&&v.runWhen(n)===!1||(l=l&&v.synchronous,a.unshift(v.fulfilled,v.rejected))});const u=[];this.interceptors.response.forEach(function(v){u.push(v.fulfilled,v.rejected)});let d,f=0,h;if(!l){const w=[bl.bind(this),void 0];for(w.unshift(...a),w.push(...u),h=w.length,d=Promise.resolve(n);f<h;)d=d.then(w[f++],w[f++]);return d}h=a.length;let p=n;for(;f<h;){const w=a[f++],v=a[f++];try{p=w(p)}catch(g){v.call(this,g);break}}try{d=bl.call(this,p)}catch(w){return Promise.reject(w)}for(f=0,h=u.length;f<h;)d=d.then(u[f++],u[f++]);return d}getUri(t){t=Pn(this.defaults,t);const n=cl(t.baseURL,t.url,t.allowAbsoluteUrls);return el(n,t.params,t.paramsSerializer)}};_.forEach(["delete","get","head","options"],function(t){On.prototype[t]=function(n,r){return this.request(Pn(r||{},{method:t,url:n,data:(r||{}).data}))}}),_.forEach(["post","put","patch"],function(t){function n(r){return function(s,i,a){return this.request(Pn(a||{},{method:t,headers:r?{"Content-Type":"multipart/form-data"}:{},url:s,data:i}))}}On.prototype[t]=n(),On.prototype[t+"Form"]=n(!0)});let Hm=class vp{constructor(t){if(typeof t!="function")throw new TypeError("executor must be a function.");let n;this.promise=new Promise(function(s){n=s});const r=this;this.promise.then(o=>{if(!r._listeners)return;let s=r._listeners.length;for(;s-- >0;)r._listeners[s](o);r._listeners=null}),this.promise.then=o=>{let s;const i=new Promise(a=>{r.subscribe(a),s=a}).then(o);return i.cancel=function(){r.unsubscribe(s)},i},t(function(s,i,a){r.reason||(r.reason=new tr(s,i,a),n(r.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 n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const t=new AbortController,n=r=>{t.abort(r)};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return{token:new vp(function(o){t=o}),cancel:t}}};function Um(e){return function(n){return e.apply(null,n)}}function Wm(e){return _.isObject(e)&&e.isAxiosError===!0}const Us={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(Us).forEach(([e,t])=>{Us[t]=e});function Cl(e){const t=new On(e),n=$a(On.prototype.request,t);return _.extend(n,On.prototype,t,{allOwnKeys:!0}),_.extend(n,t,null,{allOwnKeys:!0}),n.create=function(o){return Cl(Pn(e,o))},n}const at=Cl(Tr);at.Axios=On,at.CanceledError=tr,at.CancelToken=Hm,at.isCancel=sl,at.VERSION=yl,at.toFormData=so,at.AxiosError=Ae,at.Cancel=at.CanceledError,at.all=function(t){return Promise.all(t)},at.spread=Um,at.isAxiosError=Wm,at.mergeConfig=Pn,at.AxiosHeaders=Tt,at.formToJSON=e=>rl(_.isHTMLForm(e)?new FormData(e):e),at.getAdapter=wl.getAdapter,at.HttpStatusCode=Us,at.default=at;const{Axios:xC,AxiosError:vC,CanceledError:wC,isCancel:bC,CancelToken:yC,VERSION:SC,all:CC,Cancel:TC,isAxiosError:EC,spread:kC,toFormData:IC,AxiosHeaders:NC,HttpStatusCode:AC,formToJSON:jC,getAdapter:_C,mergeConfig:RC}=at,Tl=typeof window<"u"?window.__API_BASE_URL__:void 0,El=Tl?fn(Tl):void 0;function fn(e){const n=(e!=null&&e.trim()?e.trim():"/api/chat").replace(/\/+$/,"");return n?n.endsWith("/chat")?n:`${n}/chat`:"/api/chat"}let fo=null;const Ws=new Set;function kl(){return fo}function Vs(e){fo=e,Ws.forEach(t=>t(e))}function Il(e){return Ws.add(e),()=>Ws.delete(e)}const Dt=at.create({...El?{baseURL:El}:{},timeout:3e4,withCredentials:!0});Dt.interceptors.request.use(e=>(fo&&(e.headers.Authorization=`Bearer ${fo}`),e)),Dt.interceptors.response.use(e=>e,e=>Promise.reject(e));async function It(e,t){return Dt.defaults.baseURL?(await Dt.get(e,t)).data:Promise.reject(new Error("API base URL is not configured"))}async function Ks(e,t,n){return Dt.defaults.baseURL?(await Dt.post(e,t,n)).data:Promise.reject(new Error("API base URL is not configured"))}async function Nl(e,t,n){return Dt.defaults.baseURL?(await Dt.put(e,t,n)).data:Promise.reject(new Error("API base URL is not configured"))}async function Al(e,t){return Dt.defaults.baseURL?(await Dt.delete(e,t)).data:Promise.reject(new Error("API base URL is not configured"))}function Nt(e){return e&&typeof e=="object"&&"data"in e?e.data:e}class jl{get baseUrl(){const t=Dt.defaults.baseURL;return t?fn(String(t)):""}updateConfig(t){t.baseUrl&&(Dt.defaults.baseURL=fn(String(t.baseUrl))),t.authToken!==void 0&&Vs(t.authToken)}getAuthToken(){return kl()}setAuthToken(t){Vs(t)}onTokenChange(t){return Il(t)}async listThreads(){const t=await It("/threads"),n=Nt(t);return(n==null?void 0:n.items)??(t==null?void 0:t.items)??[]}async createThread(t){const r=await Ks("/threads",t?{title:t}:void 0);return Nt(r)}async updateThread(t,n){const r=await Nl(`/threads/${t}`,{title:n});return Nt(r)}async deleteThread(t){const n=await Al(`/threads/${t}`);return Nt(n)}async threadInfo(t){const n=await It(`/threads/${t}/info`);return Nt(n)}async listAgents(){const t=await It("/agents"),n=Nt(t);return(n==null?void 0:n.items)??[]}async getAgent(t){const n=await It(`/agents/${t}`);return Nt(n)}async getAgentSchema(t){const n=await It(`/agents/${t}/schema`);return Nt(n)}async getMessages(t){const n=await It(`/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 Nt(n)}async getState(t){const n=await It(`/threads/${t.threadId}/state`,{params:{thread_id:t.threadId,checkpoint_id:t.checkpointId,checkpoint_ns:t.checkpointNs}});return Nt(n)}async getStateHistory(t){const n=await It(`/threads/${t.threadId}/state/history`,{params:{thread_id:t.threadId,checkpoint_id:t.checkpointId,checkpoint_ns:t.checkpointNs}});return Nt(n)}async listCheckpoints(t){const n=await It(`/threads/${t}/checkpoints`,{params:{thread_id:t}});return Nt(n)}async resume(t){const n=await Ks("/runs/resume",{thread_id:t.threadId,value:t.value});return Nt(n)}}const xn=new jl,_l=S.createContext(null);function Vm({children:e,apiConfig:t}){const n=xn;if(t){const o=n.baseUrl,s=n.getAuthToken();t.baseUrl&&t.baseUrl!==o&&n.updateConfig({baseUrl:t.baseUrl}),t.apiKey!==void 0&&t.apiKey!==s&&n.updateConfig({authToken:t.apiKey})}const r={token:n.getAuthToken(),setToken:o=>n.setAuthToken(o),api:n,baseUrl:n.baseUrl};return c.jsx(_l.Provider,{value:r,children:e})}function qs(){const e=S.useContext(_l);if(!e)throw new Error("useApi must be used within ApiProvider");return e}function Km(e,t){const n=e==null?void 0:e.checkpoints,r=Array.isArray(n)?n.slice():n?Object.values(n):[],o=i=>i&&typeof i=="object"&&i!==null&&"checkpointId"in i&&"createdAt"in i&&typeof i.checkpointId=="string"&&typeof i.createdAt=="string",s=r.filter(o).map(i=>{const a=i;return{checkpointId:a.checkpointId,checkpointNs:a.checkpointNs??"",createdAt:a.createdAt,messagesLen:a.messagesLen??0,preview:a.preview??"",role:a.role??null,parentId:a.parentId??null,editedMessageId:a.editedMessageId??null,branchLabel:a.branchLabel??null,lastMessageId:a.lastMessageId??null,hasMessages:typeof a.hasMessages=="boolean"?a.hasMessages:void 0}});return{threadId:(e==null?void 0:e.threadId)??t??null,checkpoints:s}}async function qm(e){return await new Promise((t,n)=>{const r=new FileReader;r.onload=()=>{try{const o=r.result,s=new Uint8Array(o);let i="";const a=s.byteLength;for(let l=0;l<a;l++)i+=String.fromCharCode(s[l]);t(btoa(i))}catch(o){n(o)}},r.onerror=o=>n(o),r.readAsArrayBuffer(e)})}async function Gm(e,t=[],n,r,o,s){const i=[],a=[];for(const l of t)try{const u=await qm(l);a.push({filename:l.name,data:u,mime_type:l.type||"application/octet-stream"})}catch{}return{contentParts:i,filesInfo:a}}function Ym(e){return e.type!=="thread_info"&&e.type!=="token"}const Xm={messages:[],assemblingId:null,lastCheckpointId:null,lastCheckpointNs:null,toolIndex:{},lastBranch:null};function Jm(e,t){var n;switch(t.type){case"reset":{console.log("[MessageReducer] 🔄 RESET action received"),console.log("[MessageReducer] 📊 Before reset - messages count:",e.messages.length);const r={messages:Gs(((n=t.payload)==null?void 0:n.messages)??[]),assemblingId:null,lastCheckpointId:null,lastCheckpointNs:null,toolIndex:{},lastBranch:null};return console.log("[MessageReducer] 📊 After reset - messages count:",r.messages.length),r}case"seed":{const r=Gs(t.payload.messages),o={...e,messages:r,assemblingId:null};return Object.prototype.hasOwnProperty.call(t.payload,"checkpointId")&&(o.lastCheckpointId=t.payload.checkpointId??null),Object.prototype.hasOwnProperty.call(t.payload,"checkpointNs")&&(o.lastCheckpointNs=t.payload.checkpointNs??null),console.log("[MessageReducer] seed action (REPLACE mode):",{incomingCount:t.payload.messages.length,sanitizedCount:r.length,previousCount:e.messages.length,checkpointId:o.lastCheckpointId}),o}case"prepend":{const r=Gs(t.payload.messages);if(!r.length)return console.log("[MessageReducer] No incoming messages after sanitize - skipping"),e;const o=new Set(e.messages.map(i=>i.id)),s=r.filter(i=>!o.has(i.id));return console.log("[MessageReducer] After dedup:",{uniqueCount:s.length,duplicates:r.length-s.length,finalTotal:s.length+e.messages.length}),s.length?{...e,messages:[...s,...e.messages]}:(console.log("[MessageReducer] All messages were duplicates - skipping"),e)}case"user_message":{const r=t.payload.message;return e.messages.some(o=>o.id===r.id)?e:{...e,messages:[...e.messages,r]}}case"event":return Pl(e,t.payload.ev);case"batch":{const{events:r}=t.payload;return r.length?r.reduce((o,s)=>Pl(o,s),e):e}case"interrupt_response":{const{interruptId:r}=t.payload,o=e.messages.map(s=>({...s,content:s.content.filter(i=>i.type!=="interrupt")}));return{...e,messages:o,pendingInterrupt:null}}default:return e}}function Rl(e=[]){const[t,n]=S.useReducer(Jm,{...Xm,messages:e}),r=S.useRef([]),o=S.useRef(null),s=S.useRef(null),i=S.useCallback(()=>{o.current!==null&&typeof window<"u"&&window.cancelAnimationFrame(o.current),s.current!==null&&clearTimeout(s.current),o.current=null,s.current=null;const d=r.current;d.length&&(r.current=[],n({type:"batch",payload:{events:d}}))},[]),a=S.useCallback(()=>{typeof window<"u"&&typeof window.requestAnimationFrame=="function"?o.current===null&&(o.current=window.requestAnimationFrame(()=>i())):s.current===null&&(s.current=setTimeout(i,8))},[i]),l=S.useCallback(d=>{r.current.push(d),a()},[a]);S.useEffect(()=>()=>{o.current!==null&&typeof window<"u"&&window.cancelAnimationFrame(o.current),s.current!==null&&clearTimeout(s.current),r.current=[]},[]);const u=S.useMemo(()=>({reset:d=>n({type:"reset",payload:{messages:d}}),seed:(d,f)=>n({type:"seed",payload:{messages:d,...f??{}}}),prepend:d=>n({type:"prepend",payload:{messages:d}}),pushUser:d=>n({type:"user_message",payload:{message:d}}),onEvent:l}),[l]);return{state:t,dispatch:n,...u}}function Pl(e,t){var n,r;if(t.type==="message_start"&&t.role==="assistant"){const o=t.id,s=rg(t.model);if(e.messages.some(l=>l.id===o))return{...e,assemblingId:o};const a={id:o,role:"assistant",name:s||void 0,model:t.model,createdAt:new Date().toISOString(),content:[]};return{...e,assemblingId:o,messages:[...e.messages,a]}}if(t.type==="message_delta"){const o=e.assemblingId??Ys(e.messages);return o?{...e,messages:Xs(e.messages,o,t.delta)}:e}if(t.type==="message_end"){const o=e.assemblingId??Ys(e.messages);if(!o)return{...e,assemblingId:null};const s=e.messages,i=s.findIndex(a=>a.id===o&&a.role==="assistant");if(i>=0&&!((n=s[i].content)==null?void 0:n.some(u=>{var d;return(u==null?void 0:u.type)==="text"&&((d=u.text)==null?void 0:d.trim())}))){const u=[...s.slice(0,i),...s.slice(i+1)];return{...e,assemblingId:null,messages:u}}return e}if(t.type==="tool_start"){const o=t.id??t.call_id,s=t.name??t.tool??"tool";if(!o)return e;const i=`tool-${o}`,a={type:"tool_call",id:o,name:s,args:t.args};if(e.messages.find(d=>d.id===i))return{...e,toolIndex:{...e.toolIndex,[o]:i}};const u={id:i,role:"tool",name:s,createdAt:new Date().toISOString(),content:[a]};return{...e,messages:[...e.messages,u],toolIndex:{...e.toolIndex,[o]:i}}}if(t.type==="tool_end"){const o=t.id??t.call_id;if(!o)return e;const s=e.toolIndex[o]??`tool-${o}`,i={type:"tool_end",toolCallId:o,output:t.output,error:t.error},a=e.messages.find(d=>d.id===s),l={id:s,role:"tool",name:t.name??((r=e.messages.find(d=>d.id===s))==null?void 0:r.name),content:[i],createdAt:new Date().toISOString()},u=a?Xs(e.messages,s,[i]):[...e.messages,l];return{...e,messages:u,toolIndex:{...e.toolIndex,[o]:s}}}if(t.type==="checkpoint"){const o=t.checkpointNs??e.lastCheckpointNs??null,s=ng(e.messages,t.checkpointId,o);return{...e,lastCheckpointId:t.checkpointId,lastCheckpointNs:o,messages:s}}if(t.type==="branch"){const o=t.checkpointId??e.lastCheckpointId,s=t.checkpointNs??e.lastCheckpointNs;return{...e,lastBranch:t,lastCheckpointId:o??null,lastCheckpointNs:s??null}}if(t.type==="error"){const o={id:`err-${Date.now()}`,role:"system",content:[{type:"text",text:`Error: ${t.message}`}],createdAt:new Date().toISOString()};return{...e,messages:[...e.messages,o]}}if(t.type==="interrupt"){const o=e.assemblingId??Ys(e.messages),s={type:"interrupt",value:t.value};if(o)return{...e,assemblingId:null,messages:Xs(e.messages,o,[s]),pendingInterrupt:{id:t.id,value:t.value}};const i={id:`interrupt-${t.id}`,role:"system",createdAt:new Date().toISOString(),content:[s]};return{...e,messages:[...e.messages,i],pendingInterrupt:{id:t.id,value:t.value}}}return e}function Gs(e){return e.filter(t=>{if(t.role!=="assistant")return!0;const n=(t.content||[]).some(o=>{var s;return o&&o.type==="text"&&((s=o.text)==null?void 0:s.trim())}),r=(t.content||[]).some(o=>o&&o.type==="image_url");return!!(n||r)})}function Zm(e,t,n){return t<0||t>=e.length?e:[...e.slice(0,t),n,...e.slice(t+1)]}function Ys(e){for(let t=e.length-1;t>=0;t--)if(e[t].role==="assistant")return e[t].id;return null}function Qm(e,t,n){const r=e.findIndex(i=>i.id===t);if(r===-1)return e;const o=e[r],s=n(o);return s===o?e:[...e.slice(0,r),s,...e.slice(r+1)]}function Xs(e,t,n){return Qm(e,t,r=>({...r,content:eg(r.content,n)}))}function eg(e,t){const n=e.slice();for(const r of t)if(r.type==="text"){const o=n[n.length-1],s=r.text??"";if(!s)continue;if((o==null?void 0:o.type)==="text"){const i=o,a=i.text??"";if(!a){i.text=s;continue}if(s.startsWith(a)){i.text=s;continue}if(a.includes(s))continue;const l=tg(a,s);l?i.text=a+l:i.text=a+s}else n.push({type:"text",text:s})}else n.push(r);return n}function tg(e,t){if(!t)return"";if(!e)return t;if(e===t)return"";const n=Math.min(e.length,t.length);for(let r=n;r>0;r--)if(e.slice(-r)===t.slice(0,r))return t.slice(r);return t}function ng(e,t,n){for(let r=e.length-1;r>=0;r--)if(e[r].role==="assistant"){const s={...e[r],checkpointId:t,checkpointNs:n??void 0};return Zm(e,r,s)}return e}function rg(e){if(!e)return null;const t=e.split("/");return t[t.length-1]||null}function Ol(e={}){const t=S.useMemo(()=>fn(e.baseUrl),[e.baseUrl]),n=e.streamPath??"/runs/stream",[r,o]=S.useState(e.token??null),s=S.useRef(e.headers??{}),i=e.credentials??"include",[a,l]=S.useState(!1),[u,d]=S.useState(null),[f,h]=S.useState(""),[p,w]=S.useState(null),[v,g]=S.useState(0),[x,b]=S.useState(!1),y=S.useRef(null),k=S.useRef(!0),C=S.useRef(0),T=S.useCallback(j=>{o(j)},[]),I=S.useCallback(()=>{var j;(j=y.current)==null||j.abort(),y.current=null,l(!1),b(!1),C.current=0,g(0)},[]),A=S.useCallback(()=>{h(""),w(null),d(null)},[]),R=S.useCallback((j,M,D)=>{y.current&&(y.current.abort(),y.current=null),l(!0),d(null),e.autoAppendAssistant!==!1&&h("");const L=new AbortController;return y.current=L,(async()=>{var V,U,q,F,N,W,Y,de;const P=se=>{var pe;try{const ge=JSON.parse(JSON.stringify(se));return(pe=ge==null?void 0:ge.payload)!=null&&pe.files_info&&Array.isArray(ge.payload.files_info)&&(ge.payload.files_info=ge.payload.files_info.map(Se=>({...Se,data:Se!=null&&Se.data?`<base64 ${String(Se.data).length} chars>`:Se==null?void 0:Se.data}))),ge}catch{return se}};try{let se={};try{if(r)se={Authorization:`Bearer ${r}`};else if(typeof window<"u"){const Oe=window.__AUTH_TOKEN__,Qe=((V=window.localStorage)==null?void 0:V.getItem("authToken"))||null;let Re=null;try{const ct=(U=window.localStorage)==null?void 0:U.getItem("chat-settings");ct&&(Re=((q=JSON.parse(ct))==null?void 0:q.apiKey)||null)}catch{}const st=Oe||Qe||Re||null;st&&(se={Authorization:`Bearer ${st}`})}}catch{}console.debug("[use-chat] POST",t+n,P(j));const pe=await fetch(t+n,{method:"POST",headers:{"Content-Type":"application/json",Accept:"text/event-stream",...se,...s.current},body:JSON.stringify(j),signal:L.signal,credentials:i});if(!pe.ok||!pe.body){const Ne=await pe.text().catch(()=>"");throw console.debug("[use-chat] non-OK response",pe.status,Ne==null?void 0:Ne.slice(0,500)),new Error(`stream ${pe.status}${Ne?": "+Ne:""}`)}b(!0);const ge=pe.body.getReader(),Se=new TextDecoder;let B="",O=[];C.current=0,g(0);let G=0,Z=null;const ce=()=>{if(O.length){const Ne=O.join("");O=[],k.current&&h(Oe=>Oe+Ne)}Z=null},ie=()=>{typeof window<"u"&&Z==null&&(Z=requestAnimationFrame(ce))};let De=Date.now();const Xe=setInterval(()=>{var Ne;if(Date.now()-De>6e4){const Oe="Stream idle timeout";d(Oe),L.abort(),(Ne=D==null?void 0:D.onError)==null||Ne.call(D,Oe)}},5e3),Je=1024*1024;try{const Ne=pe.headers.get("X-Thread-Id")||pe.headers.get("x-thread-id"),Oe=pe.headers.get("X-Thread-Created")||pe.headers.get("x-thread-created"),Qe=Ne??null,Re=String(Oe??"").toLowerCase()==="true";for((F=D==null?void 0:D.onOpen)==null||F.call(D,{threadId:Qe,created:Re});;){const{value:st,done:ct}=await ge.read();if(ct)break;B+=Se.decode(st,{stream:!0}),B.length>Je&&(B="",console.warn("Stream buffer reset: exceeded 1MB"));let Q;for(;(Q=B.indexOf(`
36
36
 
37
37
  `))>=0;){const le=B.slice(0,Q);B=B.slice(Q+2);const me=sg(le);if(!me)continue;let Ce;try{Ce=JSON.parse(me)}catch{console.debug("[use-chat] malformed SSE:",me.slice(0,200));continue}const we=og(Ce)?Ce.data:Ce;De=Date.now();const _e=we.seq;if(_e!==void 0){if(_e<=G){console.debug("[use-chat] drop duplicate/out-of-order event",{seq:_e,lastProcessedSeq:G,type:we.type});continue}G>0&&_e>G+1&&((N=D==null?void 0:D.onGap)==null||N.call(D,{from:G,to:_e})),G=_e,C.current=_e,g(_e)}if(M==null||M(we),we.type==="token"&&e.autoAppendAssistant!==!1)O.push(we.content),ie();else if(we.type==="message_delta"){const et=we.delta.filter(Ke=>Ke.type==="text").map(Ke=>Ke.text).join("");et&&e.autoAppendAssistant!==!1&&(O.push(et),ie())}else we.type==="heartbeat"?console.debug("[use-chat] heartbeat received"):(Z!==null&&cancelAnimationFrame(Z),ce(),we.type==="checkpoint"?w(we.checkpointId):we.type==="error"&&d(we.message))}}ce()}catch(Ne){if(Ne.name!=="AbortError"){const Oe=Ne.message||String(Ne);d(Oe),(W=D==null?void 0:D.onError)==null||W.call(D,Oe)}}finally{try{await ge.cancel()}catch{}finally{(Y=ge.releaseLock)==null||Y.call(ge)}Z!==null&&typeof window<"u"&&window.cancelAnimationFrame(Z),clearInterval(Xe),l(!1),b(!1),y.current=null,C.current=0,g(0)}}catch(se){if(se.name!=="AbortError"){const pe=se.message||String(se);d(pe),(de=D==null?void 0:D.onError)==null||de.call(D,pe)}}finally{l(!1),b(!1),y.current=null,C.current=0,g(0)}})(),{close:()=>L.abort()}},[t,n,r,e.autoAppendAssistant]);return S.useEffect(()=>()=>{var j;k.current=!1,(j=y.current)==null||j.abort()},[]),{isStreaming:a,error:u,assistantText:f,lastCheckpointId:p,lastSeq:v,connected:x,stream:R,stop:I,clear:A,setToken:T}}function og(e){return!!e&&typeof e=="object"&&e.protocolVersion==="v1"&&"data"in e}function sg(e){const t=e.split(/\r?\n/),n=[];for(const r of t)if(r&&!r.startsWith(":")&&r.startsWith("data:")){const o=r.slice(5);n.push(o.startsWith(" ")?o.slice(1):o)}return n.length===0?null:n.join(`
38
38
  `)}function ig({baseUrl:e,onThreadInfo:t,onMessageEvent:n,onUnhandledEvent:r,onSequenceGap:o}){const s=S.useRef(null),i=S.useCallback(p=>{const w=p.seq??null;if(w!==null){const v=s.current;if(v!==null){if(w<=v)return;w>v+1&&(o==null||o({from:v,to:w}))}s.current=w}if(p.type==="thread_info"){console.log("[useChatStreamingService] 🎯 Received thread_info event:",p),t(p);return}if(Ym(p)){n(p);return}r==null||r(p)},[n,o,t,r]),{stream:a,stop:l,isStreaming:u,error:d,setToken:f}=Ol({baseUrl:e,token:null}),h=S.useCallback((p,w)=>{s.current=null,a(p,i,{onOpen:w==null?void 0:w.onOpen,onError:v=>{var g;(g=w==null?void 0:w.onError)==null||g.call(w,v)},onGap:(w==null?void 0:w.onGap)??o})},[i,o,a]);return S.useMemo(()=>({startStream:h,stop:l,isStreaming:u,error:d,setAuthToken:f}),[h,l,u,d,f])}const Ml=S.createContext(null),Dl=S.createContext(null),Ll=S.createContext(null),ag=S.createContext(!1),lg=20;function cg({children:e,initialThreadId:t=null,autoLoadInitial:n=!0,disableAutoRestore:r=!1,enableFileAgentRouting:o=!1,fileAgentId:s="invoice_reader",onError:i,onThreadChange:a}){const{api:l,baseUrl:u}=qs(),d=S.useMemo(()=>fn(u),[u]),[f,h]=S.useState([]),[p,w]=S.useState(t),[v,g]=S.useState(!1),[x,b]=S.useState(!1),[y,k]=S.useState(!1),[C,T]=S.useState(!1),[I,A]=S.useState(null),[R,j]=S.useState(void 0),[M,D]=S.useState(void 0),{state:L,seed:P,prepend:V,pushUser:U,onEvent:q,reset:F}=Rl(),N=S.useRef(p);S.useEffect(()=>{N.current=p},[p]);const W=S.useRef(!1),Y=S.useRef([]),de=S.useRef(null),se=S.useRef(null),pe=S.useCallback(($,J)=>new Promise((Te,Me)=>{const Le=async()=>{W.current=!0;try{await $(),Te()}catch(it){Me(it)}finally{W.current=!1;const it=Y.current.shift();it&&it().catch(()=>{})}};W.current?Y.current.push(Le):Le().catch(it=>{Me(it)})}),[]),ge=S.useCallback(async()=>{g(!0);try{const $=await l.listThreads();h($)}catch($){i==null||i(String($)),console.error("[ChatSessionProvider] Failed to refresh threads:",$)}finally{g(!1)}},[l,i]),Se=S.useRef(!1),B=S.useCallback(($,J)=>{const Te=Array.isArray($==null?void 0:$.messages)?$.messages:[];J==="replace"?P(Te,{checkpointId:($==null?void 0:$.checkpointId)??null,checkpointNs:($==null?void 0:$.checkpointNs)??null}):J==="prepend"&&Te.length&&V(Te),A(($==null?void 0:$.nextCursor)??null),k(!!($!=null&&$.hasMore)),j(Me=>($==null?void 0:$.checkpointId)??Me??void 0),D(Me=>($==null?void 0:$.checkpointNs)??Me??void 0)},[V,P]),O=S.useCallback(()=>{F([]),k(!1),T(!1),A(null),j(void 0),D(void 0)},[F]),G=S.useCallback(({from:$,to:J})=>{const Te=N.current;Te&&console.warn(`[ChatSessionProvider] Stream sequence gap detected (${$} -> ${J}) for thread ${Te}`)},[]),Z=S.useCallback($=>{const J=$.threadId;console.log("[ChatSessionProvider] 📥 Handling thread_info event:",{threadId:J,title:$.title,created:$.created,currentThreads:f.length});const Te={threadId:J,title:$.title||`Thread ${J.slice(0,8)}`,createdAt:$.createdAt||new Date().toISOString(),updatedAt:$.updatedAt||new Date().toISOString(),messageCount:$.messageCount||0};N.current!==J&&(!N.current&&L.messages.length<=1&&(se.current=J),w(J)),h(Me=>{const Le=Me.findIndex(it=>it.threadId===J);if(Le>=0){const it=[...Me];return it[Le]=Te,console.log("[ChatSessionProvider] ✏️ Updated existing thread at index:",Le),it}else return console.log("[ChatSessionProvider] ➕ Added new thread to list"),[Te,...Me]})},[L.messages.length]),{startStream:ce,stop:ie,isStreaming:De,error:Xe,setAuthToken:Je}=ig({baseUrl:d,onThreadInfo:Z,onMessageEvent:q,onUnhandledEvent:$=>{console.warn(`[ChatSessionProvider] Unhandled stream event: ${$.type}`,$)},onSequenceGap:G});S.useEffect(()=>{Se.current=De},[De]),S.useEffect(()=>{var Te;const $=l.getAuthToken();Je($);const J=(Te=l.onTokenChange)==null?void 0:Te.call(l,Me=>{Je(Me)});return()=>{J==null||J()}},[l,Je]);const Ne=S.useCallback(async $=>{const J=`temp-${Date.now()}`,Te={threadId:J,title:$||"New Chat",createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),messageCount:0};h(Me=>[Te,...Me]),w(J);try{const Me=await l.createThread($),Le=typeof Me=="string"?Me:Me.threadId;return h(it=>it.map(Ot=>Ot.threadId===J?{...Ot,threadId:Le}:Ot)),w(Le),setTimeout(()=>ge(),10),Le}catch(Me){throw h(Le=>Le.filter(it=>it.threadId!==J)),w(null),Me}},[l,ge]),Oe=S.useCallback(async $=>{await l.deleteThread($),N.current===$&&(se.current=$,w(null),O()),await ge()},[l,O,ge]),Qe=S.useCallback(async($,J)=>{try{await l.updateThread($,J),h(Te=>Te.map(Me=>Me.threadId===$?{...Me,title:J}:Me))}catch(Te){throw await ge(),Te}},[l,ge]),Re=S.useCallback(async($,J,Te,Me=!1)=>{await pe(async()=>{if(se.current===$&&!Me){se.current=null;return}if(!(de.current===$&&!Me)){w(Le=>Le===$?Le:$),de.current=$,b(!0);try{const Le=await l.getMessages({threadId:$,checkpointId:J,checkpointNs:Te});B(Le,"replace"),j((Le==null?void 0:Le.checkpointId)??void 0),D((Le==null?void 0:Le.checkpointNs)??void 0)}catch(Le){throw i==null||i(String(Le)),Le}finally{de.current=null,b(!1)}}},`loadThread-${$}`)},[l,B,pe,i]),st=S.useCallback(async()=>{await pe(async()=>{N.current&&(se.current=N.current),w(null),O(),j(void 0),D(void 0);try{localStorage.removeItem("lastThreadId")}catch($){console.warn("[ChatSessionProvider] Failed to clear lastThreadId:",$)}},"clearCurrentThread")},[O,pe]),ct=S.useCallback(async $=>{const J=await l.listCheckpoints($);return Km(J,$)},[l]),Q=S.useCallback(async($,J)=>{if(!N.current)throw new Error("No active thread");await Re(N.current,$,J??void 0,!0)},[Re]),le=S.useCallback(async()=>{if(!N.current)throw new Error("No active thread");await Re(N.current,void 0,void 0,!0)},[Re]),me=S.useCallback(async $=>{if(!N.current)throw new Error("No active thread");if(C||!y)return;const J=I;if(J){T(!0);try{const Te=await l.getMessages({threadId:N.current,checkpointId:R,checkpointNs:M,limit:($==null?void 0:$.limit)??lg,beforeId:J});B(Te,"prepend")}finally{T(!1)}}},[l,B,y,R,M,I,C]),Ce=S.useCallback(async($,J)=>{var jn;const Te=N.current;!Te&&!(J!=null&&J.payloadExtras)&&console.warn("[ChatSessionProvider] No thread ID - message will create new thread");const Me=(J==null?void 0:J.attachments)||[],{contentParts:Le,filesInfo:it}=await Gm(l,Me),Ot=[...Le];$&&$.trim()&&Ot.push({type:"text",text:$.trim()});const gr={id:((jn=crypto.randomUUID)==null?void 0:jn.call(crypto))||`user-${Date.now()}`,role:"user",content:Ot,createdAt:new Date().toISOString(),checkpointId:(J==null?void 0:J.checkpointId)??L.lastCheckpointId??void 0,checkpointNs:(J==null?void 0:J.checkpointNs)??L.lastCheckpointNs??void 0};U(gr);const Xn={...gr,content:Ot},xr={...(J==null?void 0:J.payloadExtras)??{}},cn=Me.length>0,Jn={...Te?{threadId:Te}:{},payload:{messages:[Xn],files_info:it,...o&&cn&&s?{active_agent:s}:{},...xr},checkpointId:(J==null?void 0:J.checkpointId)??L.lastCheckpointId??void 0,checkpointNs:(J==null?void 0:J.checkpointNs)??L.lastCheckpointNs??void 0,nodeFilter:J==null?void 0:J.nodeFilter,config:J==null?void 0:J.config};ce(Jn,{onError:un=>{console.warn("[ChatSessionProvider] Stream error:",un)},onOpen:({threadId:un,created:Ns})=>{!N.current&&un&&(L.messages.length<=1&&(se.current=un),w(un))},onGap:G})},[l,o,s,G,L.lastCheckpointId,L.lastCheckpointNs,L.messages.length,U,ce]),we=S.useCallback(async($,J,Te)=>{const Me=N.current;if(!Me)throw new Error("No active thread to handle interrupt");try{const Le=J?Te??!0:!1;await l.resume({threadId:Me,value:Le})}catch(Le){throw console.error(`[ChatSessionProvider] Failed to handle interrupt ${$}:`,Le),Le}},[l]);S.useEffect(()=>{if(a==null||a(p),p)try{localStorage.setItem("lastThreadId",p)}catch($){console.warn("[ChatSessionProvider] Failed to persist lastThreadId:",$)}},[p,a]),S.useEffect(()=>{let $=!0;return(async()=>{try{if(await ge(),!$)return;if(!r&&!t)try{const Te=localStorage.getItem("lastThreadId");Te&&(w(Te),n&&await Re(Te))}catch(Te){console.warn("[ChatSessionProvider] Failed to restore last thread:",Te)}else t&&n&&await Re(t)}catch(Te){console.error("[ChatSessionProvider] Initialization failed:",Te),i==null||i(String(Te))}})(),()=>{$=!1}},[]);const _e=S.useMemo(()=>({threads:f,currentThreadId:p,isLoadingThreads:v,isLoadingThread:x,setCurrentThreadId:w,createThread:Ne,deleteThread:Oe,renameThread:Qe,refreshThreads:ge,loadThread:Re,clearCurrentThread:st,listCheckpoints:ct,navigateToCheckpoint:Q,returnToLatest:le}),[st,Ne,p,Oe,x,v,ct,Re,Q,ge,Qe,le,f]),et=S.useMemo(()=>({messages:L.messages,assemblingId:L.assemblingId,lastUserMessage:null,hasMoreHistory:y,isLoadingHistory:C,send:Ce,stop:ie,loadOlderMessages:me,clearMessages:O,handleInterrupt:we}),[O,we,y,C,me,L.assemblingId,L.messages,Ce,ie]),Ke=S.useMemo(()=>({isStreaming:De,error:Xe,streamingAssistantId:L.assemblingId,lastCheckpointId:L.lastCheckpointId??null,lastCheckpointNs:L.lastCheckpointNs??null}),[De,L.assemblingId,L.lastCheckpointId,L.lastCheckpointNs,Xe]);return c.jsx(ag.Provider,{value:!0,children:c.jsx(Ll.Provider,{value:Ke,children:c.jsx(Ml.Provider,{value:_e,children:c.jsx(Dl.Provider,{value:et,children:e})})})})}function ho(){const e=S.useContext(Ml);if(!e)throw new Error("useThreads must be used within ChatSessionProvider");return e}function Js(){const e=S.useContext(Dl);if(!e)throw new Error("useMessages must be used within ChatSessionProvider");return e}function Fl(){const e=S.useContext(Ll);if(!e)throw new Error("useStream must be used within ChatSessionProvider");return e}function po({children:e,apiConfig:t,initialThreadId:n=null,autoLoadInitial:r=!0,disableAutoRestore:o=!1,enableFileAgentRouting:s=!1,fileAgentId:i="invoice_reader",onError:a,onThreadChange:l}){return c.jsx(Vm,{apiConfig:t,children:c.jsx(cg,{initialThreadId:n,autoLoadInitial:r,disableAutoRestore:o,enableFileAgentRouting:s,fileAgentId:i,onError:a,onThreadChange:l,children:e})})}function X(...e){return bp.twMerge(wp.clsx(e))}const ug=Qr.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"}}),Ue=m.forwardRef(({className:e,variant:t,size:n,asChild:r=!1,...o},s)=>{const i=r?_n.Slot:"button";return c.jsx(i,{className:X(ug({variant:t,size:n,className:e})),ref:s,...o})});Ue.displayName="Button";const $l=m.forwardRef(({className:e,...t},n)=>c.jsx("textarea",{className:X("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:n,...t}));$l.displayName="Textarea";function dg({initialValue:e="",editingMessageId:t=null,placeholder:n="Type your message...",isStreaming:r=!1,disabled:o=!1,maxLength:s=2e4,onSend:i,onCancelEdit:a,onStop:l,className:u="",textareaClassName:d="",allowEmptySend:f=!1}){const[h,p]=S.useState(e),[w,v]=S.useTransition(),g=S.useRef(null);S.useEffect(()=>{p(e??""),g.current&&(g.current.style.height="auto",g.current.style.height=`${g.current.scrollHeight}px`)},[e,t]);const x=S.useCallback(()=>{const A=g.current;A&&(A.style.height="auto",A.style.height=`${A.scrollHeight}px`)},[]);S.useEffect(()=>{x()},[x]);const b=S.useCallback(async A=>{A&&A.preventDefault();const R=(h??"").trim();!R&&!f||v(()=>{try{const j=i(R);j&&typeof j.then=="function"?j.then(()=>{p(""),g.current&&(g.current.style.height="auto")}).catch(()=>{}):(p(""),g.current&&(g.current.style.height="auto"))}catch{}})},[h,i,f]),y=S.useCallback(A=>{p(A.target.value),g.current&&(g.current.style.height="auto",g.current.style.height=`${g.current.scrollHeight}px`)},[]),k=S.useCallback(A=>{A.key==="Enter"&&!A.shiftKey?(A.preventDefault(),b()):A.key==="Escape"&&t&&(A.preventDefault(),a==null||a())},[b,t,a]),I=`resize-none min-h-[44px] max-h-[20rem] w-full transition-colors ${t?"border-[hsl(var(--ring))] bg-[hsl(var(--card))] text-[hsl(var(--card-foreground))] dark:bg-[hsl(var(--card))] dark:text-[hsl(var(--card-foreground))]":""} ${d}`;return c.jsx("form",{onSubmit:A=>void b(A),className:`w-full ${u}`,children:c.jsxs("div",{className:"flex items-end gap-2",children:[c.jsx("div",{className:"flex-1",children:c.jsx($l,{ref:g,value:h,onChange:y,onKeyDown:k,placeholder:t?"Edit your message...":n,className:I,disabled:o,maxLength:s,rows:1,spellCheck:!1,autoCorrect:"off"})}),c.jsx("div",{children:r?c.jsx(Ue,{type:"button",onClick:()=>{l==null||l()},size:"icon",variant:"outline",className:"shrink-0",title:"Stop generating",disabled:o||!l,children:c.jsx(ee.Square,{size:16})}):c.jsx(Ue,{type:"submit",size:"icon",className:"shrink-0",title:t?"Save changes":"Send message",disabled:o||!h.trim()&&!f||w,children:c.jsx(ee.Send,{size:16})})})]})})}const fg=S.memo(dg),mo=0,vn=1,nr=2,zl=4;function Bl(e){return()=>e}function hg(e){e()}function Hl(e,t){return n=>e(t(n))}function Ul(e,t){return()=>e(t)}function pg(e,t){return n=>e(t,n)}function Zs(e){return e!==void 0}function mg(...e){return()=>{e.map(hg)}}function rr(){}function go(e,t){return t(e),e}function gg(e,t){return t(e)}function tt(...e){return e}function Ve(e,t){return e(vn,t)}function je(e,t){e(mo,t)}function Qs(e){e(nr)}function lt(e){return e(zl)}function ue(e,t){return Ve(e,pg(t,mo))}function Wt(e,t){const n=e(vn,r=>{n(),t(r)});return n}function Wl(e){let t,n;return r=>o=>{t=o,n&&clearTimeout(n),n=setTimeout(()=>{r(t)},e)}}function Vl(e,t){return e===t}function nt(e=Vl){let t;return n=>r=>{e(t,r)||(t=r,n(r))}}function be(e){return t=>n=>{e(n)&&t(n)}}function ne(e){return t=>Hl(t,e)}function Jt(e){return t=>()=>{t(e)}}function z(e,...t){const n=xg(...t);return(r,o)=>{switch(r){case nr:Qs(e);return;case vn:return Ve(e,n(o))}}}function Zt(e,t){return n=>r=>{n(t=e(t,r))}}function Mn(e){return t=>n=>{e>0?e--:t(n)}}function hn(e){let t=null,n;return r=>o=>{t=o,!n&&(n=setTimeout(()=>{n=void 0,r(t)},e))}}function Pe(...e){const t=new Array(e.length);let n=0,r=null;const o=Math.pow(2,e.length)-1;return e.forEach((s,i)=>{const a=Math.pow(2,i);Ve(s,l=>{const u=n;n=n|a,t[i]=l,u!==o&&n===o&&r&&(r(),r=null)})}),s=>i=>{const a=()=>{s([i].concat(t))};n===o?a():r=a}}function xg(...e){return t=>e.reduceRight(gg,t)}function vg(e){let t,n;const r=()=>t==null?void 0:t();return function(o,s){switch(o){case vn:return s?n===s?void 0:(r(),n=s,t=Ve(e,s),t):(r(),rr);case nr:r(),n=null;return}}}function K(e){let t=e;const n=ze();return(r,o)=>{switch(r){case mo:t=o;break;case vn:{o(t);break}case zl:return t}return n(r,o)}}function xt(e,t){return go(K(t),n=>ue(e,n))}function ze(){const e=[];return(t,n)=>{switch(t){case mo:e.slice().forEach(r=>{r(n)});return;case nr:e.splice(0,e.length);return;case vn:return e.push(n),()=>{const r=e.indexOf(n);r>-1&&e.splice(r,1)}}}}function At(e){return go(ze(),t=>ue(e,t))}function We(e,t=[],{singleton:n}={singleton:!0}){return{constructor:e,dependencies:t,id:wg(),singleton:n}}const wg=()=>Symbol();function bg(e){const t=new Map,n=({constructor:r,dependencies:o,id:s,singleton:i})=>{if(i&&t.has(s))return t.get(s);const a=r(o.map(l=>n(l)));return i&&t.set(s,a),a};return n(e)}function dt(...e){const t=ze(),n=new Array(e.length);let r=0;const o=Math.pow(2,e.length)-1;return e.forEach((s,i)=>{const a=Math.pow(2,i);Ve(s,l=>{n[i]=l,r=r|a,r===o&&je(t,n)})}),function(s,i){switch(s){case nr:{Qs(t);return}case vn:return r===o&&i(n),Ve(t,i)}}}function ve(e,t=Vl){return z(e,nt(t))}function ei(...e){return function(t,n){switch(t){case nr:return;case vn:return mg(...e.map(r=>Ve(r,n)))}}}var Et=(e=>(e[e.DEBUG=0]="DEBUG",e[e.INFO=1]="INFO",e[e.WARN=2]="WARN",e[e.ERROR=3]="ERROR",e))(Et||{});const yg={0:"debug",3:"error",1:"log",2:"warn"},Sg=()=>typeof globalThis>"u"?window:globalThis,wn=We(()=>{const e=K(3);return{log:K((t,n,r=1)=>{var o;const s=(o=Sg().VIRTUOSO_LOG_LEVEL)!=null?o:lt(e);r>=s&&console[yg[r]]("%creact-virtuoso: %c%s %o","color: #0253b3; font-weight: bold","color: initial",t,n)}),logLevel:e}},[],{singleton:!0});function Dn(e,t,n){return ti(e,t,n).callbackRef}function ti(e,t,n){const r=S.useRef(null);let o=i=>{};const s=S.useMemo(()=>typeof ResizeObserver<"u"?new ResizeObserver(i=>{const a=()=>{const l=i[0].target;l.offsetParent!==null&&e(l)};n?a():requestAnimationFrame(a)}):null,[e,n]);return o=i=>{i&&t?(s==null||s.observe(i),r.current=i):(r.current&&(s==null||s.unobserve(r.current)),r.current=null)},{callbackRef:o,ref:r}}function Cg(e,t,n,r,o,s,i,a,l){const u=S.useCallback(d=>{const f=Tg(d.children,t,a?"offsetWidth":"offsetHeight",o);let h=d.parentElement;for(;!h.dataset.virtuosoScroller;)h=h.parentElement;const p=h.lastElementChild.dataset.viewportType==="window";let w;p&&(w=h.ownerDocument.defaultView);const v=i?a?i.scrollLeft:i.scrollTop:p?a?w.scrollX||w.document.documentElement.scrollLeft:w.scrollY||w.document.documentElement.scrollTop:a?h.scrollLeft:h.scrollTop,g=i?a?i.scrollWidth:i.scrollHeight:p?a?w.document.documentElement.scrollWidth:w.document.documentElement.scrollHeight:a?h.scrollWidth:h.scrollHeight,x=i?a?i.offsetWidth:i.offsetHeight:p?a?w.innerWidth:w.innerHeight:a?h.offsetWidth:h.offsetHeight;r({scrollHeight:g,scrollTop:Math.max(v,0),viewportHeight:x}),s==null||s(a?Kl("column-gap",getComputedStyle(d).columnGap,o):Kl("row-gap",getComputedStyle(d).rowGap,o)),f!==null&&e(f)},[e,t,o,s,i,r,a]);return ti(u,n,l)}function Tg(e,t,n,r){const o=e.length;if(o===0)return null;const s=[];for(let i=0;i<o;i++){const a=e.item(i);if(a.dataset.index===void 0)continue;const l=parseInt(a.dataset.index),u=parseFloat(a.dataset.knownSize),d=t(a,n);if(d===0&&r("Zero-sized element, this should not happen",{child:a},Et.ERROR),d===u)continue;const f=s[s.length-1];s.length===0||f.size!==d||f.endIndex!==l-1?s.push({endIndex:l,size:d,startIndex:l}):s[s.length-1].endIndex++}return s}function Kl(e,t,n){return t!=="normal"&&!(t!=null&&t.endsWith("px"))&&n(`${e} was not resolved to pixel value correctly`,t,Et.WARN),t==="normal"?0:parseInt(t??"0",10)}function ql(e,t,n){const r=S.useRef(null),o=S.useCallback(l=>{if(!(l!=null&&l.offsetParent))return;const u=l.getBoundingClientRect(),d=u.width;let f,h;if(t){const p=t.getBoundingClientRect(),w=u.top-p.top;h=p.height-Math.max(0,w),f=w+t.scrollTop}else{const p=i.current.ownerDocument.defaultView;h=p.innerHeight-Math.max(0,u.top),f=u.top+p.scrollY}r.current={offsetTop:f,visibleHeight:h,visibleWidth:d},e(r.current)},[e,t]),{callbackRef:s,ref:i}=ti(o,!0,n),a=S.useCallback(()=>{o(i.current)},[o,i]);return S.useEffect(()=>{var l;if(t){t.addEventListener("scroll",a);const u=new ResizeObserver(()=>{requestAnimationFrame(a)});return u.observe(t),()=>{t.removeEventListener("scroll",a),u.unobserve(t)}}else{const u=(l=i.current)==null?void 0:l.ownerDocument.defaultView;return u==null||u.addEventListener("scroll",a),u==null||u.addEventListener("resize",a),()=>{u==null||u.removeEventListener("scroll",a),u==null||u.removeEventListener("resize",a)}}},[a,t,i]),s}const bt=We(()=>{const e=ze(),t=ze(),n=K(0),r=ze(),o=K(0),s=ze(),i=ze(),a=K(0),l=K(0),u=K(0),d=K(0),f=ze(),h=ze(),p=K(!1),w=K(!1),v=K(!1);return ue(z(e,ne(({scrollTop:g})=>g)),t),ue(z(e,ne(({scrollHeight:g})=>g)),i),ue(t,o),{deviation:n,fixedFooterHeight:u,fixedHeaderHeight:l,footerHeight:d,headerHeight:a,horizontalDirection:w,scrollBy:h,scrollContainerState:e,scrollHeight:i,scrollingInProgress:p,scrollTo:f,scrollTop:t,skipAnimationFrameInResizeObserver:v,smoothScrollTargetReached:r,statefulScrollTop:o,viewportHeight:s}},[],{singleton:!0}),kr={lvl:0};function Gl(e,t){const n=e.length;if(n===0)return[];let{index:r,value:o}=t(e[0]);const s=[];for(let i=1;i<n;i++){const{index:a,value:l}=t(e[i]);s.push({end:a-1,start:r,value:o}),r=a,o=l}return s.push({end:1/0,start:r,value:o}),s}function Ge(e){return e===kr}function Ir(e,t){if(!Ge(e))return t===e.k?e.v:t<e.k?Ir(e.l,t):Ir(e.r,t)}function Vt(e,t,n="k"){if(Ge(e))return[-1/0,void 0];if(Number(e[n])===t)return[e.k,e.v];if(Number(e[n])<t){const r=Vt(e.r,t,n);return r[0]===-1/0?[e.k,e.v]:r}return Vt(e.l,t,n)}function jt(e,t,n){return Ge(e)?Jl(t,n,1):t===e.k?ht(e,{k:t,v:n}):t<e.k?Zl(ht(e,{l:jt(e.l,t,n)})):Zl(ht(e,{r:jt(e.r,t,n)}))}function or(){return kr}function xo(e,t,n){if(Ge(e))return[];const r=Vt(e,t)[0];return Eg(ri(e,r,n))}function ni(e,t){if(Ge(e))return kr;const{k:n,l:r,r:o}=e;if(t===n){if(Ge(r))return o;if(Ge(o))return r;{const[s,i]=Xl(r);return vo(ht(e,{k:s,l:Yl(r),v:i}))}}else return t<n?vo(ht(e,{l:ni(r,t)})):vo(ht(e,{r:ni(o,t)}))}function Ln(e){return Ge(e)?[]:[...Ln(e.l),{k:e.k,v:e.v},...Ln(e.r)]}function ri(e,t,n){if(Ge(e))return[];const{k:r,l:o,r:s,v:i}=e;let a=[];return r>t&&(a=a.concat(ri(o,t,n))),r>=t&&r<=n&&a.push({k:r,v:i}),r<=n&&(a=a.concat(ri(s,t,n))),a}function vo(e){const{l:t,lvl:n,r}=e;if(r.lvl>=n-1&&t.lvl>=n-1)return e;if(n>r.lvl+1){if(oi(t))return Ql(ht(e,{lvl:n-1}));if(!Ge(t)&&!Ge(t.r))return ht(t.r,{l:ht(t,{r:t.r.l}),lvl:n,r:ht(e,{l:t.r.r,lvl:n-1})});throw new Error("Unexpected empty nodes")}else{if(oi(e))return si(ht(e,{lvl:n-1}));if(!Ge(r)&&!Ge(r.l)){const o=r.l,s=oi(o)?r.lvl-1:r.lvl;return ht(o,{l:ht(e,{lvl:n-1,r:o.l}),lvl:o.lvl+1,r:si(ht(r,{l:o.r,lvl:s}))})}else throw new Error("Unexpected empty nodes")}}function ht(e,t){return Jl(t.k!==void 0?t.k:e.k,t.v!==void 0?t.v:e.v,t.lvl!==void 0?t.lvl:e.lvl,t.l!==void 0?t.l:e.l,t.r!==void 0?t.r:e.r)}function Yl(e){return Ge(e.r)?e.l:vo(ht(e,{r:Yl(e.r)}))}function oi(e){return Ge(e)||e.lvl>e.r.lvl}function Xl(e){return Ge(e.r)?[e.k,e.v]:Xl(e.r)}function Jl(e,t,n,r=kr,o=kr){return{k:e,l:r,lvl:n,r:o,v:t}}function Zl(e){return si(Ql(e))}function Ql(e){const{l:t}=e;return!Ge(t)&&t.lvl===e.lvl?ht(t,{r:ht(e,{l:t.r})}):e}function si(e){const{lvl:t,r:n}=e;return!Ge(n)&&!Ge(n.r)&&n.lvl===t&&n.r.lvl===t?ht(n,{l:ht(e,{r:n.l}),lvl:t+1}):e}function Eg(e){return Gl(e,({k:t,v:n})=>({index:t,value:n}))}function ec(e,t){return!!(e&&e.startIndex===t.startIndex&&e.endIndex===t.endIndex)}function Nr(e,t){return!!(e&&e[0]===t[0]&&e[1]===t[1])}const ii=We(()=>({recalcInProgress:K(!1)}),[],{singleton:!0});function tc(e,t,n){return e[wo(e,t,n)]}function wo(e,t,n,r=0){let o=e.length-1;for(;r<=o;){const s=Math.floor((r+o)/2),i=e[s],a=n(i,t);if(a===0)return s;if(a===-1){if(o-r<2)return s-1;o=s-1}else{if(o===r)return s;r=s+1}}throw new Error(`Failed binary finding record in array - ${e.join(",")}, searched for ${t}`)}function kg(e,t,n,r){const o=wo(e,t,r),s=wo(e,n,r,o);return e.slice(o,s+1)}function bn(e,t){return Math.round(e.getBoundingClientRect()[t])}function bo(e){return!Ge(e.groupOffsetTree)}function ai({index:e},t){return t===e?0:t<e?-1:1}function Ig(){return{groupIndices:[],groupOffsetTree:or(),lastIndex:0,lastOffset:0,lastSize:0,offsetTree:[],sizeTree:or()}}function Ng(e,t){let n=Ge(e)?0:1/0;for(const r of t){const{endIndex:o,size:s,startIndex:i}=r;if(n=Math.min(n,i),Ge(e)){e=jt(e,0,s);continue}const a=xo(e,i-1,o+1);if(a.some(Mg(r)))continue;let l=!1,u=!1;for(const{end:d,start:f,value:h}of a)l?(o>=f||s===h)&&(e=ni(e,f)):(u=h!==s,l=!0),d>o&&o>=f&&h!==s&&(e=jt(e,o+1,h));u&&(e=jt(e,i,s))}return[e,n]}function Ag(e){return typeof e.groupIndex<"u"}function jg({offset:e},t){return t===e?0:t<e?-1:1}function Ar(e,t,n){if(t.length===0)return 0;const{index:r,offset:o,size:s}=tc(t,e,ai),i=e-r,a=s*i+(i-1)*n+o;return a>0?a+n:a}function nc(e,t){if(!bo(t))return e;let n=0;for(;t.groupIndices[n]<=e+n;)n++;return e+n}function rc(e,t,n){if(Ag(e))return t.groupIndices[e.groupIndex]+1;{const r=e.index==="LAST"?n:e.index;let o=nc(r,t);return o=Math.max(0,o,Math.min(n,o)),o}}function _g(e,t,n,r=0){return r>0&&(t=Math.max(t,tc(e,r,ai).offset)),Gl(kg(e,t,n,jg),Og)}function Rg(e,[t,n,r,o]){t.length>0&&r("received item sizes",t,Et.DEBUG);const s=e.sizeTree;let i=s,a=0;if(n.length>0&&Ge(s)&&t.length===2){const h=t[0].size,p=t[1].size;i=n.reduce((w,v)=>jt(jt(w,v,h),v+1,p),i)}else[i,a]=Ng(i,t);if(i===s)return e;const{lastIndex:l,lastOffset:u,lastSize:d,offsetTree:f}=li(e.offsetTree,a,i,o);return{groupIndices:n,groupOffsetTree:n.reduce((h,p)=>jt(h,p,Ar(p,f,o)),or()),lastIndex:l,lastOffset:u,lastSize:d,offsetTree:f,sizeTree:i}}function Pg(e){return Ln(e).map(({k:t,v:n},r,o)=>{const s=o[r+1];return{endIndex:s?s.k-1:1/0,size:n,startIndex:t}})}function oc(e,t){let n=0,r=0;for(;n<e;)n+=t[r+1]-t[r]-1,r++;return r-(n===e?0:1)}function li(e,t,n,r){let o=e,s=0,i=0,a=0,l=0;if(t!==0){l=wo(o,t-1,ai),a=o[l].offset;const u=Vt(n,t-1);s=u[0],i=u[1],o.length&&o[l].size===Vt(n,t)[1]&&(l-=1),o=o.slice(0,l+1)}else o=[];for(const{start:u,value:d}of xo(n,t,1/0)){const f=u-s,h=f*i+a+f*r;o.push({index:u,offset:h,size:d}),s=u,a=h,i=d}return{lastIndex:s,lastOffset:a,lastSize:i,offsetTree:o}}function Og(e){return{index:e.index,value:e}}function Mg(e){const{endIndex:t,size:n,startIndex:r}=e;return o=>o.start===r&&(o.end===t||o.end===1/0)&&o.value===n}const Dg={offsetHeight:"height",offsetWidth:"width"},Qt=We(([{log:e},{recalcInProgress:t}])=>{const n=ze(),r=ze(),o=xt(r,0),s=ze(),i=ze(),a=K(0),l=K([]),u=K(void 0),d=K(void 0),f=K((C,T)=>bn(C,Dg[T])),h=K(void 0),p=K(0),w=Ig(),v=xt(z(n,Pe(l,e,p),Zt(Rg,w),nt()),w),g=xt(z(l,nt(),Zt((C,T)=>({current:T,prev:C.current}),{current:[],prev:[]}),ne(({prev:C})=>C)),[]);ue(z(l,be(C=>C.length>0),Pe(v,p),ne(([C,T,I])=>{const A=C.reduce((R,j,M)=>jt(R,j,Ar(j,T.offsetTree,I)||M),or());return{...T,groupIndices:C,groupOffsetTree:A}})),v),ue(z(r,Pe(v),be(([C,{lastIndex:T}])=>C<T),ne(([C,{lastIndex:T,lastSize:I}])=>[{endIndex:T,size:I,startIndex:C}])),n),ue(u,d);const x=xt(z(u,ne(C=>C===void 0)),!0);ue(z(d,be(C=>C!==void 0&&Ge(lt(v).sizeTree)),ne(C=>[{endIndex:0,size:C,startIndex:0}])),n);const b=At(z(n,Pe(v),Zt(({sizes:C},[T,I])=>({changed:I!==C,sizes:I}),{changed:!1,sizes:w}),ne(C=>C.changed)));Ve(z(a,Zt((C,T)=>({diff:C.prev-T,prev:T}),{diff:0,prev:0}),ne(C=>C.diff)),C=>{const{groupIndices:T}=lt(v);if(C>0)je(t,!0),je(s,C+oc(C,T));else if(C<0){const I=lt(g);I.length>0&&(C-=oc(-C,I)),je(i,C)}}),Ve(z(a,Pe(e)),([C,T])=>{C<0&&T("`firstItemIndex` prop should not be set to less than zero. If you don't know the total count, just use a very high value",{firstItemIndex:a},Et.ERROR)});const y=At(s);ue(z(s,Pe(v),ne(([C,T])=>{const I=T.groupIndices.length>0,A=[],R=T.lastSize;if(I){const j=Ir(T.sizeTree,0);let M=0,D=0;for(;M<C;){const P=T.groupIndices[D],V=T.groupIndices.length===D+1?1/0:T.groupIndices[D+1]-P-1;A.push({endIndex:P,size:j,startIndex:P}),A.push({endIndex:P+1+V-1,size:R,startIndex:P+1}),D++,M+=V+1}const L=Ln(T.sizeTree);return M!==C&&L.shift(),L.reduce((P,{k:V,v:U})=>{let q=P.ranges;return P.prevSize!==0&&(q=[...P.ranges,{endIndex:V+C-1,size:P.prevSize,startIndex:P.prevIndex}]),{prevIndex:V+C,prevSize:U,ranges:q}},{prevIndex:C,prevSize:0,ranges:A}).ranges}return Ln(T.sizeTree).reduce((j,{k:M,v:D})=>({prevIndex:M+C,prevSize:D,ranges:[...j.ranges,{endIndex:M+C-1,size:j.prevSize,startIndex:j.prevIndex}]}),{prevIndex:0,prevSize:R,ranges:[]}).ranges})),n);const k=At(z(i,Pe(v,p),ne(([C,{offsetTree:T},I])=>{const A=-C;return Ar(A,T,I)})));return ue(z(i,Pe(v,p),ne(([C,T,I])=>{if(T.groupIndices.length>0){if(Ge(T.sizeTree))return T;let A=or();const R=lt(g);let j=0,M=0,D=0;for(;j<-C;){D=R[M];const L=R[M+1]-D-1;M++,j+=L+1}if(A=Ln(T.sizeTree).reduce((L,{k:P,v:V})=>jt(L,Math.max(0,P+C),V),A),j!==-C){const L=Ir(T.sizeTree,D);A=jt(A,0,L);const P=Vt(T.sizeTree,-C+1)[1];A=jt(A,1,P)}return{...T,sizeTree:A,...li(T.offsetTree,0,A,I)}}else{const A=Ln(T.sizeTree).reduce((R,{k:j,v:M})=>jt(R,Math.max(0,j+C),M),or());return{...T,sizeTree:A,...li(T.offsetTree,0,A,I)}}})),v),{beforeUnshiftWith:y,data:h,defaultItemSize:d,firstItemIndex:a,fixedItemSize:u,gap:p,groupIndices:l,itemSize:f,listRefresh:b,shiftWith:i,shiftWithOffset:k,sizeRanges:n,sizes:v,statefulTotalCount:o,totalCount:r,trackItemSizes:x,unshiftWith:s}},tt(wn,ii),{singleton:!0});function Lg(e){return e.reduce((t,n)=>(t.groupIndices.push(t.totalCount),t.totalCount+=n+1,t),{groupIndices:[],totalCount:0})}const sc=We(([{groupIndices:e,sizes:t,totalCount:n},{headerHeight:r,scrollTop:o}])=>{const s=ze(),i=ze(),a=At(z(s,ne(Lg)));return ue(z(a,ne(l=>l.totalCount)),n),ue(z(a,ne(l=>l.groupIndices)),e),ue(z(dt(o,t,r),be(([l,u])=>bo(u)),ne(([l,u,d])=>Vt(u.groupOffsetTree,Math.max(l-d,0),"v")[0]),nt(),ne(l=>[l])),i),{groupCounts:s,topItemsIndexes:i}},tt(Qt,bt)),yn=We(([{log:e}])=>{const t=K(!1),n=At(z(t,be(r=>r),nt()));return Ve(t,r=>{r&&lt(e)("props updated",{},Et.DEBUG)}),{didMount:n,propsReady:t}},tt(wn),{singleton:!0}),Fg=typeof document<"u"&&"scrollBehavior"in document.documentElement.style;function ic(e){const t=typeof e=="number"?{index:e}:e;return t.align||(t.align="start"),(!t.behavior||!Fg)&&(t.behavior="auto"),t.offset||(t.offset=0),t}const jr=We(([{gap:e,listRefresh:t,sizes:n,totalCount:r},{fixedFooterHeight:o,fixedHeaderHeight:s,footerHeight:i,headerHeight:a,scrollingInProgress:l,scrollTo:u,smoothScrollTargetReached:d,viewportHeight:f},{log:h}])=>{const p=ze(),w=ze(),v=K(0);let g=null,x=null,b=null;function y(){g&&(g(),g=null),b&&(b(),b=null),x&&(clearTimeout(x),x=null),je(l,!1)}return ue(z(p,Pe(n,f,r,v,a,i,h),Pe(e,s,o),ne(([[k,C,T,I,A,R,j,M],D,L,P])=>{const V=ic(k),{align:U,behavior:q,offset:F}=V,N=I-1,W=rc(V,C,N);let Y=Ar(W,C.offsetTree,D)+R;U==="end"?(Y+=L+Vt(C.sizeTree,W)[1]-T+P,W===N&&(Y+=j)):U==="center"?Y+=(L+Vt(C.sizeTree,W)[1]-T+P)/2:Y-=A,F&&(Y+=F);const de=se=>{y(),se?(M("retrying to scroll to",{location:k},Et.DEBUG),je(p,k)):(je(w,!0),M("list did not change, scroll successful",{},Et.DEBUG))};if(y(),q==="smooth"){let se=!1;b=Ve(t,pe=>{se=se||pe}),g=Wt(d,()=>{de(se)})}else g=Wt(z(t,$g(150)),de);return x=setTimeout(()=>{y()},1200),je(l,!0),M("scrolling from index to",{behavior:q,index:W,top:Y},Et.DEBUG),{behavior:q,top:Y}})),u),{scrollTargetReached:w,scrollToIndex:p,topListHeight:v}},tt(Qt,bt,wn),{singleton:!0});function $g(e){return t=>{const n=setTimeout(()=>{t(!1)},e);return r=>{r&&(t(!0),clearTimeout(n))}}}function ci(e,t){e==0?t():requestAnimationFrame(()=>{ci(e-1,t)})}function ui(e,t){const n=t-1;return typeof e=="number"?e:e.index==="LAST"?n:e.index}const _r=We(([{defaultItemSize:e,listRefresh:t,sizes:n},{scrollTop:r},{scrollTargetReached:o,scrollToIndex:s},{didMount:i}])=>{const a=K(!0),l=K(0),u=K(!0);return ue(z(i,Pe(l),be(([d,f])=>!!f),Jt(!1)),a),ue(z(i,Pe(l),be(([d,f])=>!!f),Jt(!1)),u),Ve(z(dt(t,i),Pe(a,n,e,u),be(([[,d],f,{sizeTree:h},p,w])=>d&&(!Ge(h)||Zs(p))&&!f&&!w),Pe(l)),([,d])=>{Wt(o,()=>{je(u,!0)}),ci(4,()=>{Wt(r,()=>{je(a,!0)}),je(s,d)})}),{initialItemFinalLocationReached:u,initialTopMostItemIndex:l,scrolledToInitialItem:a}},tt(Qt,bt,jr,yn),{singleton:!0});function ac(e,t){return Math.abs(e-t)<1.01}const Rr="up",Pr="down",zg="none",Bg={atBottom:!1,notAtBottomBecause:"NOT_SHOWING_LAST_ITEM",state:{offsetBottom:0,scrollHeight:0,scrollTop:0,viewportHeight:0}},Hg=0,Or=We(([{footerHeight:e,headerHeight:t,scrollBy:n,scrollContainerState:r,scrollTop:o,viewportHeight:s}])=>{const i=K(!1),a=K(!0),l=ze(),u=ze(),d=K(4),f=K(Hg),h=xt(z(ei(z(ve(o),Mn(1),Jt(!0)),z(ve(o),Mn(1),Jt(!1),Wl(100))),nt()),!1),p=xt(z(ei(z(n,Jt(!0)),z(n,Jt(!1),Wl(200))),nt()),!1);ue(z(dt(ve(o),ve(f)),ne(([b,y])=>b<=y),nt()),a),ue(z(a,hn(50)),u);const w=At(z(dt(r,ve(s),ve(t),ve(e),ve(d)),Zt((b,[{scrollHeight:y,scrollTop:k},C,T,I,A])=>{const R=k+C-y>-A,j={scrollHeight:y,scrollTop:k,viewportHeight:C};if(R){let D,L;return k>b.state.scrollTop?(D="SCROLLED_DOWN",L=b.state.scrollTop-k):(D="SIZE_DECREASED",L=b.state.scrollTop-k||b.scrollTopDelta),{atBottom:!0,atBottomBecause:D,scrollTopDelta:L,state:j}}let M;return j.scrollHeight>b.state.scrollHeight?M="SIZE_INCREASED":C<b.state.viewportHeight?M="VIEWPORT_HEIGHT_DECREASING":k<b.state.scrollTop?M="SCROLLING_UPWARDS":M="NOT_FULLY_SCROLLED_TO_LAST_ITEM_BOTTOM",{atBottom:!1,notAtBottomBecause:M,state:j}},Bg),nt((b,y)=>b&&b.atBottom===y.atBottom))),v=xt(z(r,Zt((b,{scrollHeight:y,scrollTop:k,viewportHeight:C})=>{if(ac(b.scrollHeight,y))return{changed:!1,jump:0,scrollHeight:y,scrollTop:k};{const T=y-(k+C)<1;return b.scrollTop!==k&&T?{changed:!0,jump:b.scrollTop-k,scrollHeight:y,scrollTop:k}:{changed:!0,jump:0,scrollHeight:y,scrollTop:k}}},{changed:!1,jump:0,scrollHeight:0,scrollTop:0}),be(b=>b.changed),ne(b=>b.jump)),0);ue(z(w,ne(b=>b.atBottom)),i),ue(z(i,hn(50)),l);const g=K(Pr);ue(z(r,ne(({scrollTop:b})=>b),nt(),Zt((b,y)=>lt(p)?{direction:b.direction,prevScrollTop:y}:{direction:y<b.prevScrollTop?Rr:Pr,prevScrollTop:y},{direction:Pr,prevScrollTop:0}),ne(b=>b.direction)),g),ue(z(r,hn(50),Jt(zg)),g);const x=K(0);return ue(z(h,be(b=>!b),Jt(0)),x),ue(z(o,hn(100),Pe(h),be(([b,y])=>!!y),Zt(([b,y],[k])=>[y,k],[0,0]),ne(([b,y])=>y-b)),x),{atBottomState:w,atBottomStateChange:l,atBottomThreshold:d,atTopStateChange:u,atTopThreshold:f,isAtBottom:i,isAtTop:a,isScrolling:h,lastJumpDueToItemResize:v,scrollDirection:g,scrollVelocity:x}},tt(bt)),yo="top",So="bottom",lc="none";function cc(e,t,n){return typeof e=="number"?n===Rr&&t===yo||n===Pr&&t===So?e:0:n===Rr?t===yo?e.main:e.reverse:t===So?e.main:e.reverse}function uc(e,t){var n;return typeof e=="number"?e:(n=e[t])!=null?n:0}const di=We(([{deviation:e,fixedHeaderHeight:t,headerHeight:n,scrollTop:r,viewportHeight:o}])=>{const s=ze(),i=K(0),a=K(0),l=K(0),u=xt(z(dt(ve(r),ve(o),ve(n),ve(s,Nr),ve(l),ve(i),ve(t),ve(e),ve(a)),ne(([d,f,h,[p,w],v,g,x,b,y])=>{const k=d-b,C=g+x,T=Math.max(h-k,0);let I=lc;const A=uc(y,yo),R=uc(y,So);return p-=b,p+=h+x,w+=h+x,w-=b,p>d+C-A&&(I=Rr),w<d-T+f+R&&(I=Pr),I!==lc?[Math.max(k-h-cc(v,yo,I)-A,0),k-T-x+f+cc(v,So,I)+R]:null}),be(d=>d!=null),nt(Nr)),[0,0]);return{increaseViewportBy:a,listBoundary:s,overscan:l,topListHeight:i,visibleRange:u}},tt(bt),{singleton:!0});function Ug(e,t,n){if(bo(t)){const r=nc(e,t);return[{index:Vt(t.groupOffsetTree,r)[0],offset:0,size:0},{data:n==null?void 0:n[0],index:r,offset:0,size:0}]}return[{data:n==null?void 0:n[0],index:e,offset:0,size:0}]}const fi={bottom:0,firstItemIndex:0,items:[],offsetBottom:0,offsetTop:0,top:0,topItems:[],topListHeight:0,totalCount:0};function Co(e,t,n,r,o,s){const{lastIndex:i,lastOffset:a,lastSize:l}=o;let u=0,d=0;if(e.length>0){u=e[0].offset;const v=e[e.length-1];d=v.offset+v.size}const f=n-i,h=a+f*l+(f-1)*r,p=u,w=h-d;return{bottom:d,firstItemIndex:s,items:fc(e,o,s),offsetBottom:w,offsetTop:u,top:p,topItems:fc(t,o,s),topListHeight:t.reduce((v,g)=>g.size+v,0),totalCount:n}}function dc(e,t,n,r,o,s){let i=0;if(n.groupIndices.length>0)for(const d of n.groupIndices){if(d-i>=e)break;i++}const a=e+i,l=ui(t,a),u=Array.from({length:a}).map((d,f)=>({data:s[f+l],index:f+l,offset:0,size:0}));return Co(u,[],a,o,n,r)}function fc(e,t,n){if(e.length===0)return[];if(!bo(t))return e.map(u=>({...u,index:u.index+n,originalIndex:u.index}));const r=e[0].index,o=e[e.length-1].index,s=[],i=xo(t.groupOffsetTree,r,o);let a,l=0;for(const u of e){(!a||a.end<u.index)&&(a=i.shift(),l=t.groupIndices.indexOf(a.start));let d;u.index===a.start?d={index:l,type:"group"}:d={groupIndex:l,index:u.index-(l+1)+n},s.push({...d,data:u.data,offset:u.offset,originalIndex:u.index,size:u.size})}return s}const Fn=We(([{data:e,firstItemIndex:t,gap:n,sizes:r,totalCount:o},s,{listBoundary:i,topListHeight:a,visibleRange:l},{initialTopMostItemIndex:u,scrolledToInitialItem:d},{topListHeight:f},h,{didMount:p},{recalcInProgress:w}])=>{const v=K([]),g=K(0),x=ze();ue(s.topItemsIndexes,v);const b=xt(z(dt(p,w,ve(l,Nr),ve(o),ve(r),ve(u),d,ve(v),ve(t),ve(n),e),be(([T,I,,A,,,,,,,R])=>{const j=R&&R.length!==A;return T&&!I&&!j}),ne(([,,[T,I],A,R,j,M,D,L,P,V])=>{const U=R,{offsetTree:q,sizeTree:F}=U,N=lt(g);if(A===0)return{...fi,totalCount:A};if(T===0&&I===0)return N===0?{...fi,totalCount:A}:dc(N,j,R,L,P,V||[]);if(Ge(F))return N>0?null:Co(Ug(ui(j,A),U,V),[],A,P,U,L);const W=[];if(D.length>0){const ge=D[0],Se=D[D.length-1];let B=0;for(const O of xo(F,ge,Se)){const G=O.value,Z=Math.max(O.start,ge),ce=Math.min(O.end,Se);for(let ie=Z;ie<=ce;ie++)W.push({data:V==null?void 0:V[ie],index:ie,offset:B,size:G}),B+=G}}if(!M)return Co([],W,A,P,U,L);const Y=D.length>0?D[D.length-1]+1:0,de=_g(q,T,I,Y);if(de.length===0)return null;const se=A-1,pe=go([],ge=>{for(const Se of de){const B=Se.value;let O=B.offset,G=Se.start;const Z=B.size;if(B.offset<T){G+=Math.floor((T-B.offset+P)/(Z+P));const ie=G-Se.start;O+=ie*Z+ie*P}G<Y&&(O+=(Y-G)*Z,G=Y);const ce=Math.min(Se.end,se);for(let ie=G;ie<=ce&&!(O>=I);ie++)ge.push({data:V==null?void 0:V[ie],index:ie,offset:O,size:Z}),O+=Z+P}});return Co(pe,W,A,P,U,L)}),be(T=>T!==null),nt()),fi);ue(z(e,be(Zs),ne(T=>T==null?void 0:T.length)),o),ue(z(b,ne(T=>T.topListHeight)),f),ue(f,a),ue(z(b,ne(T=>[T.top,T.bottom])),i),ue(z(b,ne(T=>T.items)),x);const y=At(z(b,be(({items:T})=>T.length>0),Pe(o,e),be(([{items:T},I])=>T[T.length-1].originalIndex===I-1),ne(([,T,I])=>[T-1,I]),nt(Nr),ne(([T])=>T))),k=At(z(b,hn(200),be(({items:T,topItems:I})=>T.length>0&&T[0].originalIndex===I.length),ne(({items:T})=>T[0].index),nt())),C=At(z(b,be(({items:T})=>T.length>0),ne(({items:T})=>{let I=0,A=T.length-1;for(;T[I].type==="group"&&I<A;)I++;for(;T[A].type==="group"&&A>I;)A--;return{endIndex:T[A].index,startIndex:T[I].index}}),nt(ec)));return{endReached:y,initialItemCount:g,itemsRendered:x,listState:b,rangeChanged:C,startReached:k,topItemsIndexes:v,...h}},tt(Qt,sc,di,_r,jr,Or,yn,ii),{singleton:!0}),hc=We(([{fixedFooterHeight:e,fixedHeaderHeight:t,footerHeight:n,headerHeight:r},{listState:o}])=>{const s=ze(),i=xt(z(dt(n,e,r,t,o),ne(([a,l,u,d,f])=>a+l+u+d+f.offsetBottom+f.bottom)),0);return ue(ve(i),s),{totalListHeight:i,totalListHeightChanged:s}},tt(bt,Fn),{singleton:!0}),Wg=We(([{viewportHeight:e},{totalListHeight:t}])=>{const n=K(!1),r=xt(z(dt(n,e,t),be(([o])=>o),ne(([,o,s])=>Math.max(0,o-s)),hn(0),nt()),0);return{alignToBottom:n,paddingTopAddition:r}},tt(bt,hc),{singleton:!0}),pc=We(()=>({context:K(null)})),Vg=({itemBottom:e,itemTop:t,locationParams:{align:n,behavior:r,...o},viewportBottom:s,viewportTop:i})=>t<i?{...o,align:n??"start",behavior:r}:e>s?{...o,align:n??"end",behavior:r}:null,mc=We(([{gap:e,sizes:t,totalCount:n},{fixedFooterHeight:r,fixedHeaderHeight:o,headerHeight:s,scrollingInProgress:i,scrollTop:a,viewportHeight:l},{scrollToIndex:u}])=>{const d=ze();return ue(z(d,Pe(t,l,n,s,o,r,a),Pe(e),ne(([[f,h,p,w,v,g,x,b],y])=>{const{align:k,behavior:C,calculateViewLocation:T=Vg,done:I,...A}=f,R=rc(f,h,w-1),j=Ar(R,h.offsetTree,y)+v+g,M=j+Vt(h.sizeTree,R)[1],D=b+g,L=b+p-x,P=T({itemBottom:M,itemTop:j,locationParams:{align:k,behavior:C,...A},viewportBottom:L,viewportTop:D});return P?I&&Wt(z(i,be(V=>!V),Mn(lt(i)?1:2)),I):I&&I(),P}),be(f=>f!==null)),u),{scrollIntoView:d}},tt(Qt,bt,jr,Fn,wn),{singleton:!0});function gc(e){return e?e==="smooth"?"smooth":"auto":!1}const Kg=(e,t)=>typeof e=="function"?gc(e(t)):t&&gc(e),qg=We(([{listRefresh:e,totalCount:t,fixedItemSize:n,data:r},{atBottomState:o,isAtBottom:s},{scrollToIndex:i},{scrolledToInitialItem:a},{didMount:l,propsReady:u},{log:d},{scrollingInProgress:f},{context:h},{scrollIntoView:p}])=>{const w=K(!1),v=ze();let g=null;function x(C){je(i,{align:"end",behavior:C,index:"LAST"})}Ve(z(dt(z(ve(t),Mn(1)),l),Pe(ve(w),s,a,f),ne(([[C,T],I,A,R,j])=>{let M=T&&R,D="auto";return M&&(D=Kg(I,A||j),M=M&&!!D),{followOutputBehavior:D,shouldFollow:M,totalCount:C}}),be(({shouldFollow:C})=>C)),({followOutputBehavior:C,totalCount:T})=>{g&&(g(),g=null),lt(n)?requestAnimationFrame(()=>{lt(d)("following output to ",{totalCount:T},Et.DEBUG),x(C)}):g=Wt(e,()=>{lt(d)("following output to ",{totalCount:T},Et.DEBUG),x(C),g=null})});function b(C){const T=Wt(o,I=>{C&&!I.atBottom&&I.notAtBottomBecause==="SIZE_INCREASED"&&!g&&(lt(d)("scrolling to bottom due to increased size",{},Et.DEBUG),x("auto"))});setTimeout(T,100)}Ve(z(dt(ve(w),t,u),be(([C,,T])=>C&&T),Zt(({value:C},[,T])=>({refreshed:C===T,value:T}),{refreshed:!1,value:0}),be(({refreshed:C})=>C),Pe(w,t)),([,C])=>{lt(a)&&b(C!==!1)}),Ve(v,()=>{b(lt(w)!==!1)}),Ve(dt(ve(w),o),([C,T])=>{C&&!T.atBottom&&T.notAtBottomBecause==="VIEWPORT_HEIGHT_DECREASING"&&x("auto")});const y=K(null),k=ze();return ue(ei(z(ve(r),ne(C=>{var T;return(T=C==null?void 0:C.length)!=null?T:0})),z(ve(t))),k),Ve(z(dt(z(k,Mn(1)),l),Pe(ve(y),a,f,h),ne(([[C,T],I,A,R,j])=>T&&A&&(I==null?void 0:I({context:j,totalCount:C,scrollingInProgress:R}))),be(C=>!!C),hn(0)),C=>{g&&(g(),g=null),lt(n)?requestAnimationFrame(()=>{lt(d)("scrolling into view",{}),je(p,C)}):g=Wt(e,()=>{lt(d)("scrolling into view",{}),je(p,C),g=null})}),{autoscrollToBottom:v,followOutput:w,scrollIntoViewOnChange:y}},tt(Qt,Or,jr,_r,yn,wn,bt,pc,mc)),Gg=We(([{data:e,firstItemIndex:t,gap:n,sizes:r},{initialTopMostItemIndex:o},{initialItemCount:s,listState:i},{didMount:a}])=>(ue(z(a,Pe(s),be(([,l])=>l!==0),Pe(o,r,t,n,e),ne(([[,l],u,d,f,h,p=[]])=>dc(l,u,d,f,h,p))),i),{}),tt(Qt,_r,Fn,yn),{singleton:!0}),Yg=We(([{didMount:e},{scrollTo:t},{listState:n}])=>{const r=K(0);return Ve(z(e,Pe(r),be(([,o])=>o!==0),ne(([,o])=>({top:o}))),o=>{Wt(z(n,Mn(1),be(s=>s.items.length>1)),()=>{requestAnimationFrame(()=>{je(t,o)})})}),{initialScrollTop:r}},tt(yn,bt,Fn),{singleton:!0}),xc=We(([{scrollVelocity:e}])=>{const t=K(!1),n=ze(),r=K(!1);return ue(z(e,Pe(r,t,n),be(([o,s])=>!!s),ne(([o,s,i,a])=>{const{enter:l,exit:u}=s;if(i){if(u(o,a))return!1}else if(l(o,a))return!0;return i}),nt()),t),Ve(z(dt(t,e,n),Pe(r)),([[o,s,i],a])=>{o&&a&&a.change&&a.change(s,i)}),{isSeeking:t,scrollSeekConfiguration:r,scrollSeekRangeChanged:n,scrollVelocity:e}},tt(Or),{singleton:!0}),hi=We(([{scrollContainerState:e,scrollTo:t}])=>{const n=ze(),r=ze(),o=ze(),s=K(!1),i=K(void 0);return ue(z(dt(n,r),ne(([{scrollHeight:a,scrollTop:l,viewportHeight:u},{offsetTop:d}])=>({scrollHeight:a,scrollTop:Math.max(0,l-d),viewportHeight:u}))),e),ue(z(t,Pe(r),ne(([a,{offsetTop:l}])=>({...a,top:a.top+l}))),o),{customScrollParent:i,useWindowScroll:s,windowScrollContainerState:n,windowScrollTo:o,windowViewportRect:r}},tt(bt)),Xg=We(([{sizeRanges:e,sizes:t},{headerHeight:n,scrollTop:r},{initialTopMostItemIndex:o},{didMount:s},{useWindowScroll:i,windowScrollContainerState:a,windowViewportRect:l}])=>{const u=ze(),d=K(void 0),f=K(null),h=K(null);return ue(a,f),ue(l,h),Ve(z(u,Pe(t,r,i,f,h,n)),([p,w,v,g,x,b,y])=>{const k=Pg(w.sizeTree);g&&x!==null&&b!==null&&(v=x.scrollTop-b.offsetTop),v-=y,p({ranges:k,scrollTop:v})}),ue(z(d,be(Zs),ne(Jg)),o),ue(z(s,Pe(d),be(([,p])=>p!==void 0),nt(),ne(([,p])=>p.ranges)),e),{getState:u,restoreStateFrom:d}},tt(Qt,bt,_r,yn,hi));function Jg(e){return{align:"start",index:0,offset:e.scrollTop}}const Zg=We(([{topItemsIndexes:e}])=>{const t=K(0);return ue(z(t,be(n=>n>=0),ne(n=>Array.from({length:n}).map((r,o)=>o))),e),{topItemCount:t}},tt(Fn));function vc(e){let t=!1,n;return()=>(t||(t=!0,n=e()),n)}const Qg=vc(()=>/iP(ad|od|hone)/i.test(navigator.userAgent)&&/WebKit/i.test(navigator.userAgent)),ex=We(([{deviation:e,scrollBy:t,scrollingInProgress:n,scrollTop:r},{isAtBottom:o,isScrolling:s,lastJumpDueToItemResize:i,scrollDirection:a},{listState:l},{beforeUnshiftWith:u,gap:d,shiftWithOffset:f,sizes:h},{log:p},{recalcInProgress:w}])=>{const v=At(z(l,Pe(i),Zt(([,x,b,y],[{bottom:k,items:C,offsetBottom:T,totalCount:I},A])=>{const R=k+T;let j=0;return b===I&&x.length>0&&C.length>0&&(C[0].originalIndex===0&&x[0].originalIndex===0||(j=R-y,j!==0&&(j+=A))),[j,C,I,R]},[0,[],0,0]),be(([x])=>x!==0),Pe(r,a,n,o,p,w),be(([,x,b,y,,,k])=>!k&&!y&&x!==0&&b===Rr),ne(([[x],,,,,b])=>(b("Upward scrolling compensation",{amount:x},Et.DEBUG),x))));function g(x){x>0?(je(t,{behavior:"auto",top:-x}),je(e,0)):(je(e,0),je(t,{behavior:"auto",top:-x}))}return Ve(z(v,Pe(e,s)),([x,b,y])=>{y&&Qg()?je(e,b-x):g(-x)}),Ve(z(dt(xt(s,!1),e,w),be(([x,b,y])=>!x&&!y&&b!==0),ne(([x,b])=>b),hn(1)),g),ue(z(f,ne(x=>({top:-x}))),t),Ve(z(u,Pe(h,d),ne(([x,{groupIndices:b,lastSize:y,sizeTree:k},C])=>{function T(I){return I*(y+C)}if(b.length===0)return T(x);{let I=0;const A=Ir(k,0);let R=0,j=0;for(;R<x;){R++,I+=A;let M=b.length===j+1?1/0:b[j+1]-b[j]-1;R+M>x&&(I-=A,M=x-R+1),R+=M,I+=T(M),j++}return I}})),x=>{je(e,x),requestAnimationFrame(()=>{je(t,{top:x}),requestAnimationFrame(()=>{je(e,0),je(w,!1)})})}),{deviation:e}},tt(bt,Or,Fn,Qt,wn,ii)),tx=We(([e,t,n,r,o,s,i,a,l,u,d])=>({...e,...t,...n,...r,...o,...s,...i,...a,...l,...u,...d}),tt(di,Gg,yn,xc,hc,Yg,Wg,hi,mc,wn,pc)),wc=We(([{data:e,defaultItemSize:t,firstItemIndex:n,fixedItemSize:r,gap:o,groupIndices:s,itemSize:i,sizeRanges:a,sizes:l,statefulTotalCount:u,totalCount:d,trackItemSizes:f},{initialItemFinalLocationReached:h,initialTopMostItemIndex:p,scrolledToInitialItem:w},v,g,x,{listState:b,topItemsIndexes:y,...k},{scrollToIndex:C},T,{topItemCount:I},{groupCounts:A},R])=>(ue(k.rangeChanged,R.scrollSeekRangeChanged),ue(z(R.windowViewportRect,ne(j=>j.visibleHeight)),v.viewportHeight),{data:e,defaultItemHeight:t,firstItemIndex:n,fixedItemHeight:r,gap:o,groupCounts:A,initialItemFinalLocationReached:h,initialTopMostItemIndex:p,scrolledToInitialItem:w,sizeRanges:a,topItemCount:I,topItemsIndexes:y,totalCount:d,...x,groupIndices:s,itemSize:i,listState:b,scrollToIndex:C,statefulTotalCount:u,trackItemSizes:f,...k,...R,...v,sizes:l,...g}),tt(Qt,_r,bt,Xg,qg,Fn,jr,ex,Zg,sc,tx));function nx(e,t){const n={},r={};let o=0;const s=e.length;for(;o<s;)r[e[o]]=1,o+=1;for(const i in t)Object.hasOwn(r,i)||(n[i]=t[i]);return n}const To=typeof document<"u"?S.useLayoutEffect:S.useEffect;function bc(e,t,n){const r=Object.keys(t.required||{}),o=Object.keys(t.optional||{}),s=Object.keys(t.methods||{}),i=Object.keys(t.events||{}),a=S.createContext({});function l(g,x){g.propsReady&&je(g.propsReady,!1);for(const b of r){const y=g[t.required[b]];je(y,x[b])}for(const b of o)if(b in x){const y=g[t.optional[b]];je(y,x[b])}g.propsReady&&je(g.propsReady,!0)}function u(g){return s.reduce((x,b)=>(x[b]=y=>{const k=g[t.methods[b]];je(k,y)},x),{})}function d(g){return i.reduce((x,b)=>(x[b]=vg(g[t.events[b]]),x),{})}const f=S.forwardRef((g,x)=>{const{children:b,...y}=g,[k]=S.useState(()=>go(bg(e),I=>{l(I,y)})),[C]=S.useState(Ul(d,k));To(()=>{for(const I of i)I in y&&Ve(C[I],y[I]);return()=>{Object.values(C).map(Qs)}},[y,C,k]),To(()=>{l(k,y)}),S.useImperativeHandle(x,Bl(u(k)));const T=n;return c.jsx(a.Provider,{value:k,children:n?c.jsx(T,{...nx([...r,...o,...i],y),children:b}):b})}),h=g=>{const x=S.useContext(a);return S.useCallback(b=>{je(x[g],b)},[x,g])},p=g=>{const x=S.useContext(a)[g],b=S.useCallback(y=>Ve(x,y),[x]);return S.useSyncExternalStore(b,()=>lt(x),()=>lt(x))},w=g=>{const x=S.useContext(a)[g],[b,y]=S.useState(Ul(lt,x));return To(()=>Ve(x,k=>{k!==b&&y(Bl(k))}),[x,b]),b},v=S.version.startsWith("18")?p:w;return{Component:f,useEmitter:(g,x)=>{const b=S.useContext(a)[g];To(()=>Ve(b,x),[x,b])},useEmitterValue:v,usePublisher:h}}const yc=S.createContext(void 0),Sc=S.createContext(void 0),Cc=typeof document<"u"?S.useLayoutEffect:S.useEffect;function pi(e){return"self"in e}function rx(e){return"body"in e}function Tc(e,t,n,r=rr,o,s){const i=S.useRef(null),a=S.useRef(null),l=S.useRef(null),u=S.useCallback(h=>{let p,w,v;const g=h.target;if(rx(g)||pi(g)){const b=pi(g)?g:g.defaultView;v=s?b.scrollX:b.scrollY,p=s?b.document.documentElement.scrollWidth:b.document.documentElement.scrollHeight,w=s?b.innerWidth:b.innerHeight}else v=s?g.scrollLeft:g.scrollTop,p=s?g.scrollWidth:g.scrollHeight,w=s?g.offsetWidth:g.offsetHeight;const x=()=>{e({scrollHeight:p,scrollTop:Math.max(v,0),viewportHeight:w})};h.suppressFlushSync?x():_s.flushSync(x),a.current!==null&&(v===a.current||v<=0||v===p-w)&&(a.current=null,t(!0),l.current&&(clearTimeout(l.current),l.current=null))},[e,t,s]);S.useEffect(()=>{const h=o||i.current;return r(o||i.current),u({suppressFlushSync:!0,target:h}),h.addEventListener("scroll",u,{passive:!0}),()=>{r(null),h.removeEventListener("scroll",u)}},[i,u,n,r,o]);function d(h){const p=i.current;if(!p||(s?"offsetWidth"in p&&p.offsetWidth===0:"offsetHeight"in p&&p.offsetHeight===0))return;const w=h.behavior==="smooth";let v,g,x;pi(p)?(g=Math.max(bn(p.document.documentElement,s?"width":"height"),s?p.document.documentElement.scrollWidth:p.document.documentElement.scrollHeight),v=s?p.innerWidth:p.innerHeight,x=s?window.scrollX:window.scrollY):(g=p[s?"scrollWidth":"scrollHeight"],v=bn(p,s?"width":"height"),x=p[s?"scrollLeft":"scrollTop"]);const b=g-v;if(h.top=Math.ceil(Math.max(Math.min(b,h.top),0)),ac(v,g)||h.top===x){e({scrollHeight:g,scrollTop:x,viewportHeight:v}),w&&t(!0);return}w?(a.current=h.top,l.current&&clearTimeout(l.current),l.current=setTimeout(()=>{l.current=null,a.current=null,t(!0)},1e3)):a.current=null,s&&(h={behavior:h.behavior,left:h.top}),p.scrollTo(h)}function f(h){s&&(h={behavior:h.behavior,left:h.top}),i.current.scrollBy(h)}return{scrollByCallback:f,scrollerRef:i,scrollToCallback:d}}const mi="-webkit-sticky",Ec="sticky",gi=vc(()=>{if(typeof document>"u")return Ec;const e=document.createElement("div");return e.style.position=mi,e.style.position===mi?mi:Ec});function xi(e){return e}const ox=We(()=>{const e=K(a=>`Item ${a}`),t=K(a=>`Group ${a}`),n=K({}),r=K(xi),o=K("div"),s=K(rr),i=(a,l=null)=>xt(z(n,ne(u=>u[a]),nt()),l);return{components:n,computeItemKey:r,EmptyPlaceholder:i("EmptyPlaceholder"),FooterComponent:i("Footer"),GroupComponent:i("Group","div"),groupContent:t,HeaderComponent:i("Header"),HeaderFooterTag:o,ItemComponent:i("Item","div"),itemContent:e,ListComponent:i("List","div"),ScrollerComponent:i("Scroller","div"),scrollerRef:s,ScrollSeekPlaceholder:i("ScrollSeekPlaceholder"),TopItemListComponent:i("TopItemList")}}),sx=We(([e,t])=>({...e,...t}),tt(wc,ox)),ix=({height:e})=>c.jsx("div",{style:{height:e}}),ax={overflowAnchor:"none",position:gi(),zIndex:1},kc={overflowAnchor:"none"},lx={...kc,display:"inline-block",height:"100%"},Ic=S.memo(function({showTopList:e=!1}){const t=Ie("listState"),n=Lt("sizeRanges"),r=Ie("useWindowScroll"),o=Ie("customScrollParent"),s=Lt("windowScrollContainerState"),i=Lt("scrollContainerState"),a=o||r?s:i,l=Ie("itemContent"),u=Ie("context"),d=Ie("groupContent"),f=Ie("trackItemSizes"),h=Ie("itemSize"),p=Ie("log"),w=Lt("gap"),v=Ie("horizontalDirection"),{callbackRef:g}=Cg(n,h,f,e?rr:a,p,w,o,v,Ie("skipAnimationFrameInResizeObserver")),[x,b]=S.useState(0);vi("deviation",P=>{x!==P&&b(P)});const y=Ie("EmptyPlaceholder"),k=Ie("ScrollSeekPlaceholder")||ix,C=Ie("ListComponent"),T=Ie("ItemComponent"),I=Ie("GroupComponent"),A=Ie("computeItemKey"),R=Ie("isSeeking"),j=Ie("groupIndices").length>0,M=Ie("alignToBottom"),D=Ie("initialItemFinalLocationReached"),L=e?{}:{boxSizing:"border-box",...v?{display:"inline-block",height:"100%",marginLeft:x!==0?x:M?"auto":0,paddingLeft:t.offsetTop,paddingRight:t.offsetBottom,whiteSpace:"nowrap"}:{marginTop:x!==0?x:M?"auto":0,paddingBottom:t.offsetBottom,paddingTop:t.offsetTop},...D?{}:{visibility:"hidden"}};return!e&&t.totalCount===0&&y?c.jsx(y,{...vt(y,u)}):c.jsx(C,{...vt(C,u),"data-testid":e?"virtuoso-top-item-list":"virtuoso-item-list",ref:g,style:L,children:(e?t.topItems:t.items).map(P=>{const V=P.originalIndex,U=A(V+t.firstItemIndex,P.data,u);return R?S.createElement(k,{...vt(k,u),height:P.size,index:P.index,key:U,type:P.type||"item",...P.type==="group"?{}:{groupIndex:P.groupIndex}}):P.type==="group"?S.createElement(I,{...vt(I,u),"data-index":V,"data-item-index":P.index,"data-known-size":P.size,key:U,style:ax},d(P.index,u)):S.createElement(T,{...vt(T,u),...fx(T,P.data),"data-index":V,"data-item-group-index":P.groupIndex,"data-item-index":P.index,"data-known-size":P.size,key:U,style:v?lx:kc},j?l(P.index,P.groupIndex,P.data,u):l(P.index,P.data,u))})})}),cx={height:"100%",outline:"none",overflowY:"auto",position:"relative",WebkitOverflowScrolling:"touch"},ux={outline:"none",overflowX:"auto",position:"relative"},Eo=e=>({height:"100%",position:"absolute",top:0,width:"100%",...e?{display:"flex",flexDirection:"column"}:{}}),dx={position:gi(),top:0,width:"100%",zIndex:1};function vt(e,t){if(typeof e!="string")return{context:t}}function fx(e,t){return{item:typeof e=="string"?void 0:t}}const hx=S.memo(function(){const e=Ie("HeaderComponent"),t=Lt("headerHeight"),n=Ie("HeaderFooterTag"),r=Dn(S.useMemo(()=>s=>{t(bn(s,"height"))},[t]),!0,Ie("skipAnimationFrameInResizeObserver")),o=Ie("context");return e?c.jsx(n,{ref:r,children:c.jsx(e,{...vt(e,o)})}):null}),px=S.memo(function(){const e=Ie("FooterComponent"),t=Lt("footerHeight"),n=Ie("HeaderFooterTag"),r=Dn(S.useMemo(()=>s=>{t(bn(s,"height"))},[t]),!0,Ie("skipAnimationFrameInResizeObserver")),o=Ie("context");return e?c.jsx(n,{ref:r,children:c.jsx(e,{...vt(e,o)})}):null});function Nc({useEmitter:e,useEmitterValue:t,usePublisher:n}){return S.memo(function({children:r,style:o,context:s,...i}){const a=n("scrollContainerState"),l=t("ScrollerComponent"),u=n("smoothScrollTargetReached"),d=t("scrollerRef"),f=t("horizontalDirection")||!1,{scrollByCallback:h,scrollerRef:p,scrollToCallback:w}=Tc(a,u,l,d,void 0,f);return e("scrollTo",w),e("scrollBy",h),c.jsx(l,{"data-testid":"virtuoso-scroller","data-virtuoso-scroller":!0,ref:p,style:{...f?ux:cx,...o},tabIndex:0,...i,...vt(l,s),children:r})})}function Ac({useEmitter:e,useEmitterValue:t,usePublisher:n}){return S.memo(function({children:r,style:o,context:s,...i}){const a=n("windowScrollContainerState"),l=t("ScrollerComponent"),u=n("smoothScrollTargetReached"),d=t("totalListHeight"),f=t("deviation"),h=t("customScrollParent"),p=S.useRef(null),w=t("scrollerRef"),{scrollByCallback:v,scrollerRef:g,scrollToCallback:x}=Tc(a,u,l,w,h);return Cc(()=>{var b;return g.current=h||((b=p.current)==null?void 0:b.ownerDocument.defaultView),()=>{g.current=null}},[g,h]),e("windowScrollTo",x),e("scrollBy",v),c.jsx(l,{ref:p,"data-virtuoso-scroller":!0,style:{position:"relative",...o,...d!==0?{height:d+f}:{}},...i,...vt(l,s),children:r})})}const mx=({children:e})=>{const t=S.useContext(yc),n=Lt("viewportHeight"),r=Lt("fixedItemHeight"),o=Ie("alignToBottom"),s=Ie("horizontalDirection"),i=S.useMemo(()=>Hl(n,l=>bn(l,s?"width":"height")),[n,s]),a=Dn(i,!0,Ie("skipAnimationFrameInResizeObserver"));return S.useEffect(()=>{t&&(n(t.viewportHeight),r(t.itemHeight))},[t,n,r]),c.jsx("div",{"data-viewport-type":"element",ref:a,style:Eo(o),children:e})},gx=({children:e})=>{const t=S.useContext(yc),n=Lt("windowViewportRect"),r=Lt("fixedItemHeight"),o=Ie("customScrollParent"),s=ql(n,o,Ie("skipAnimationFrameInResizeObserver")),i=Ie("alignToBottom");return S.useEffect(()=>{t&&(r(t.itemHeight),n({offsetTop:0,visibleHeight:t.viewportHeight,visibleWidth:100}))},[t,n,r]),c.jsx("div",{"data-viewport-type":"window",ref:s,style:Eo(i),children:e})},xx=({children:e})=>{const t=Ie("TopItemListComponent")||"div",n=Ie("headerHeight"),r={...dx,marginTop:`${n}px`},o=Ie("context");return c.jsx(t,{style:r,...vt(t,o),children:e})},vx=S.memo(function(e){const t=Ie("useWindowScroll"),n=Ie("topItemsIndexes").length>0,r=Ie("customScrollParent"),o=Ie("context");return c.jsxs(r||t?yx:bx,{...e,context:o,children:[n&&c.jsx(xx,{children:c.jsx(Ic,{showTopList:!0})}),c.jsxs(r||t?gx:mx,{children:[c.jsx(hx,{}),c.jsx(Ic,{}),c.jsx(px,{})]})]})}),{Component:wx,useEmitter:vi,useEmitterValue:Ie,usePublisher:Lt}=bc(sx,{required:{},optional:{restoreStateFrom:"restoreStateFrom",context:"context",followOutput:"followOutput",scrollIntoViewOnChange:"scrollIntoViewOnChange",itemContent:"itemContent",groupContent:"groupContent",overscan:"overscan",increaseViewportBy:"increaseViewportBy",totalCount:"totalCount",groupCounts:"groupCounts",topItemCount:"topItemCount",firstItemIndex:"firstItemIndex",initialTopMostItemIndex:"initialTopMostItemIndex",components:"components",atBottomThreshold:"atBottomThreshold",atTopThreshold:"atTopThreshold",computeItemKey:"computeItemKey",defaultItemHeight:"defaultItemHeight",fixedItemHeight:"fixedItemHeight",itemSize:"itemSize",scrollSeekConfiguration:"scrollSeekConfiguration",headerFooterTag:"HeaderFooterTag",data:"data",initialItemCount:"initialItemCount",initialScrollTop:"initialScrollTop",alignToBottom:"alignToBottom",useWindowScroll:"useWindowScroll",customScrollParent:"customScrollParent",scrollerRef:"scrollerRef",logLevel:"logLevel",horizontalDirection:"horizontalDirection",skipAnimationFrameInResizeObserver:"skipAnimationFrameInResizeObserver"},methods:{scrollToIndex:"scrollToIndex",scrollIntoView:"scrollIntoView",scrollTo:"scrollTo",scrollBy:"scrollBy",autoscrollToBottom:"autoscrollToBottom",getState:"getState"},events:{isScrolling:"isScrolling",endReached:"endReached",startReached:"startReached",rangeChanged:"rangeChanged",atBottomStateChange:"atBottomStateChange",atTopStateChange:"atTopStateChange",totalListHeightChanged:"totalListHeightChanged",itemsRendered:"itemsRendered",groupIndices:"groupIndices"}},vx),bx=Nc({useEmitter:vi,useEmitterValue:Ie,usePublisher:Lt}),yx=Ac({useEmitter:vi,useEmitterValue:Ie,usePublisher:Lt}),Sx=wx;tt(wc,We(()=>{const e=K(u=>c.jsxs("td",{children:["Item $",u]})),t=K(null),n=K(u=>c.jsxs("td",{colSpan:1e3,children:["Group ",u]})),r=K(null),o=K(null),s=K({}),i=K(xi),a=K(rr),l=(u,d=null)=>xt(z(s,ne(f=>f[u]),nt()),d);return{components:s,computeItemKey:i,context:t,EmptyPlaceholder:l("EmptyPlaceholder"),FillerRow:l("FillerRow"),fixedFooterContent:o,fixedHeaderContent:r,itemContent:e,groupContent:n,ScrollerComponent:l("Scroller","div"),scrollerRef:a,ScrollSeekPlaceholder:l("ScrollSeekPlaceholder"),TableBodyComponent:l("TableBody","tbody"),TableComponent:l("Table","table"),TableFooterComponent:l("TableFoot","tfoot"),TableHeadComponent:l("TableHead","thead"),TableRowComponent:l("TableRow","tr"),GroupComponent:l("Group","tr")}})),gi();const jc={bottom:0,itemHeight:0,items:[],itemWidth:0,offsetBottom:0,offsetTop:0,top:0},Cx={bottom:0,itemHeight:0,items:[{index:0}],itemWidth:0,offsetBottom:0,offsetTop:0,top:0},{ceil:_c,floor:ko,max:Mr,min:wi,round:Rc}=Math;function Pc(e,t,n){return Array.from({length:t-e+1}).map((r,o)=>({data:n===null?null:n[o+e],index:o+e}))}function Tx(e){return{...Cx,items:e}}function Io(e,t){return e&&e.width===t.width&&e.height===t.height}function Ex(e,t){return e&&e.column===t.column&&e.row===t.row}const kx=We(([{increaseViewportBy:e,listBoundary:t,overscan:n,visibleRange:r},{footerHeight:o,headerHeight:s,scrollBy:i,scrollContainerState:a,scrollTo:l,scrollTop:u,smoothScrollTargetReached:d,viewportHeight:f},h,p,{didMount:w,propsReady:v},{customScrollParent:g,useWindowScroll:x,windowScrollContainerState:b,windowScrollTo:y,windowViewportRect:k},C])=>{const T=K(0),I=K(0),A=K(jc),R=K({height:0,width:0}),j=K({height:0,width:0}),M=ze(),D=ze(),L=K(0),P=K(null),V=K({column:0,row:0}),U=ze(),q=ze(),F=K(!1),N=K(0),W=K(!0),Y=K(!1),de=K(!1);Ve(z(w,Pe(N),be(([O,G])=>!!G)),()=>{je(W,!1)}),Ve(z(dt(w,W,j,R,N,Y),be(([O,G,Z,ce,,ie])=>O&&!G&&Z.height!==0&&ce.height!==0&&!ie)),([,,,,O])=>{je(Y,!0),ci(1,()=>{je(M,O)}),Wt(z(u),()=>{je(t,[0,0]),je(W,!0)})}),ue(z(q,be(O=>O!=null&&O.scrollTop>0),Jt(0)),I),Ve(z(w,Pe(q),be(([,O])=>O!=null)),([,O])=>{O&&(je(R,O.viewport),je(j,O.item),je(V,O.gap),O.scrollTop>0&&(je(F,!0),Wt(z(u,Mn(1)),G=>{je(F,!1)}),je(l,{top:O.scrollTop})))}),ue(z(R,ne(({height:O})=>O)),f),ue(z(dt(ve(R,Io),ve(j,Io),ve(V,(O,G)=>O&&O.column===G.column&&O.row===G.row),ve(u)),ne(([O,G,Z,ce])=>({gap:Z,item:G,scrollTop:ce,viewport:O}))),U),ue(z(dt(ve(T),r,ve(V,Ex),ve(j,Io),ve(R,Io),ve(P),ve(I),ve(F),ve(W),ve(N)),be(([,,,,,,,O])=>!O),ne(([O,[G,Z],ce,ie,De,Xe,Je,,Ne,Oe])=>{const{column:Qe,row:Re}=ce,{height:st,width:ct}=ie,{width:Q}=De;if(Je===0&&(O===0||Q===0))return jc;if(ct===0){const J=ui(Oe,O),Te=J+Math.max(Je-1,0);return Tx(Pc(J,Te,Xe))}const le=Oc(Q,ct,Qe);let me,Ce;Ne?G===0&&Z===0&&Je>0?(me=0,Ce=Je-1):(me=le*ko((G+Re)/(st+Re)),Ce=le*_c((Z+Re)/(st+Re))-1,Ce=wi(O-1,Mr(Ce,le-1)),me=wi(Ce,Mr(0,me))):(me=0,Ce=-1);const we=Pc(me,Ce,Xe),{bottom:_e,top:et}=Mc(De,ce,ie,we),Ke=_c(O/le),$=Ke*st+(Ke-1)*Re-_e;return{bottom:_e,itemHeight:st,items:we,itemWidth:ct,offsetBottom:$,offsetTop:et,top:et}})),A),ue(z(P,be(O=>O!==null),ne(O=>O.length)),T),ue(z(dt(R,j,A,V),be(([O,G,{items:Z}])=>Z.length>0&&G.height!==0&&O.height!==0),ne(([O,G,{items:Z},ce])=>{const{bottom:ie,top:De}=Mc(O,ce,G,Z);return[De,ie]}),nt(Nr)),t);const se=K(!1);ue(z(u,Pe(se),ne(([O,G])=>G||O!==0)),se);const pe=At(z(dt(A,T),be(([{items:O}])=>O.length>0),Pe(se),be(([[O,G],Z])=>{const ce=O.items[O.items.length-1].index===G-1;return(Z||O.bottom>0&&O.itemHeight>0&&O.offsetBottom===0&&O.items.length===G)&&ce}),ne(([[,O]])=>O-1),nt())),ge=At(z(ve(A),be(({items:O})=>O.length>0&&O[0].index===0),Jt(0),nt())),Se=At(z(ve(A),Pe(F),be(([{items:O},G])=>O.length>0&&!G),ne(([{items:O}])=>({endIndex:O[O.length-1].index,startIndex:O[0].index})),nt(ec),hn(0)));ue(Se,p.scrollSeekRangeChanged),ue(z(M,Pe(R,j,T,V),ne(([O,G,Z,ce,ie])=>{const De=ic(O),{align:Xe,behavior:Je,offset:Ne}=De;let Oe=De.index;Oe==="LAST"&&(Oe=ce-1),Oe=Mr(0,Oe,wi(ce-1,Oe));let Qe=bi(G,ie,Z,Oe);return Xe==="end"?Qe=Rc(Qe-G.height+Z.height):Xe==="center"&&(Qe=Rc(Qe-G.height/2+Z.height/2)),Ne&&(Qe+=Ne),{behavior:Je,top:Qe}})),l);const B=xt(z(A,ne(O=>O.offsetBottom+O.bottom)),0);return ue(z(k,ne(O=>({height:O.visibleHeight,width:O.visibleWidth}))),R),{customScrollParent:g,data:P,deviation:L,footerHeight:o,gap:V,headerHeight:s,increaseViewportBy:e,initialItemCount:I,itemDimensions:j,overscan:n,restoreStateFrom:q,scrollBy:i,scrollContainerState:a,scrollHeight:D,scrollTo:l,scrollToIndex:M,scrollTop:u,smoothScrollTargetReached:d,totalCount:T,useWindowScroll:x,viewportDimensions:R,windowScrollContainerState:b,windowScrollTo:y,windowViewportRect:k,...p,gridState:A,horizontalDirection:de,initialTopMostItemIndex:N,totalListHeight:B,...h,endReached:pe,propsReady:v,rangeChanged:Se,startReached:ge,stateChanged:U,stateRestoreInProgress:F,...C}},tt(di,bt,Or,xc,yn,hi,wn));function Oc(e,t,n){return Mr(1,ko((e+n)/(ko(t)+n)))}function Mc(e,t,n,r){const{height:o}=n;if(o===void 0||r.length===0)return{bottom:0,top:0};const s=bi(e,t,n,r[0].index);return{bottom:bi(e,t,n,r[r.length-1].index)+o,top:s}}function bi(e,t,n,r){const o=Oc(e.width,n.width,t.column),s=ko(r/o),i=s*n.height+Mr(0,s-1)*t.row;return i>0?i+t.row:i}const Ix=We(()=>{const e=K(f=>`Item ${f}`),t=K({}),n=K(null),r=K("virtuoso-grid-item"),o=K("virtuoso-grid-list"),s=K(xi),i=K("div"),a=K(rr),l=(f,h=null)=>xt(z(t,ne(p=>p[f]),nt()),h),u=K(!1),d=K(!1);return ue(ve(d),u),{components:t,computeItemKey:s,context:n,FooterComponent:l("Footer"),HeaderComponent:l("Header"),headerFooterTag:i,itemClassName:r,ItemComponent:l("Item","div"),itemContent:e,listClassName:o,ListComponent:l("List","div"),readyStateChanged:u,reportReadyState:d,ScrollerComponent:l("Scroller","div"),scrollerRef:a,ScrollSeekPlaceholder:l("ScrollSeekPlaceholder","div")}}),Nx=We(([e,t])=>({...e,...t}),tt(kx,Ix)),Ax=S.memo(function(){const e=rt("gridState"),t=rt("listClassName"),n=rt("itemClassName"),r=rt("itemContent"),o=rt("computeItemKey"),s=rt("isSeeking"),i=Ft("scrollHeight"),a=rt("ItemComponent"),l=rt("ListComponent"),u=rt("ScrollSeekPlaceholder"),d=rt("context"),f=Ft("itemDimensions"),h=Ft("gap"),p=rt("log"),w=rt("stateRestoreInProgress"),v=Ft("reportReadyState"),g=Dn(S.useMemo(()=>x=>{const b=x.parentElement.parentElement.scrollHeight;i(b);const y=x.firstChild;if(y){const{height:k,width:C}=y.getBoundingClientRect();f({height:k,width:C})}h({column:Lc("column-gap",getComputedStyle(x).columnGap,p),row:Lc("row-gap",getComputedStyle(x).rowGap,p)})},[i,f,h,p]),!0,!1);return Cc(()=>{e.itemHeight>0&&e.itemWidth>0&&v(!0)},[e]),w?null:c.jsx(l,{className:t,ref:g,...vt(l,d),"data-testid":"virtuoso-item-list",style:{paddingBottom:e.offsetBottom,paddingTop:e.offsetTop},children:e.items.map(x=>{const b=o(x.index,x.data,d);return s?c.jsx(u,{...vt(u,d),height:e.itemHeight,index:x.index,width:e.itemWidth},b):S.createElement(a,{...vt(a,d),className:n,"data-index":x.index,key:b},r(x.index,x.data,d))})})}),jx=S.memo(function(){const e=rt("HeaderComponent"),t=Ft("headerHeight"),n=rt("headerFooterTag"),r=Dn(S.useMemo(()=>s=>{t(bn(s,"height"))},[t]),!0,!1),o=rt("context");return e?c.jsx(n,{ref:r,children:c.jsx(e,{...vt(e,o)})}):null}),_x=S.memo(function(){const e=rt("FooterComponent"),t=Ft("footerHeight"),n=rt("headerFooterTag"),r=Dn(S.useMemo(()=>s=>{t(bn(s,"height"))},[t]),!0,!1),o=rt("context");return e?c.jsx(n,{ref:r,children:c.jsx(e,{...vt(e,o)})}):null}),Rx=({children:e})=>{const t=S.useContext(Sc),n=Ft("itemDimensions"),r=Ft("viewportDimensions"),o=Dn(S.useMemo(()=>s=>{r(s.getBoundingClientRect())},[r]),!0,!1);return S.useEffect(()=>{t&&(r({height:t.viewportHeight,width:t.viewportWidth}),n({height:t.itemHeight,width:t.itemWidth}))},[t,r,n]),c.jsx("div",{ref:o,style:Eo(!1),children:e})},Px=({children:e})=>{const t=S.useContext(Sc),n=Ft("windowViewportRect"),r=Ft("itemDimensions"),o=rt("customScrollParent"),s=ql(n,o,!1);return S.useEffect(()=>{t&&(r({height:t.itemHeight,width:t.itemWidth}),n({offsetTop:0,visibleHeight:t.viewportHeight,visibleWidth:t.viewportWidth}))},[t,n,r]),c.jsx("div",{ref:s,style:Eo(!1),children:e})},Ox=S.memo(function({...e}){const t=rt("useWindowScroll"),n=rt("customScrollParent"),r=n||t?Dx:Mx,o=n||t?Px:Rx,s=rt("context");return c.jsx(r,{...e,...vt(r,s),children:c.jsxs(o,{children:[c.jsx(jx,{}),c.jsx(Ax,{}),c.jsx(_x,{})]})})}),{useEmitter:Dc,useEmitterValue:rt,usePublisher:Ft}=bc(Nx,{optional:{context:"context",totalCount:"totalCount",overscan:"overscan",itemContent:"itemContent",components:"components",computeItemKey:"computeItemKey",data:"data",initialItemCount:"initialItemCount",scrollSeekConfiguration:"scrollSeekConfiguration",headerFooterTag:"headerFooterTag",listClassName:"listClassName",itemClassName:"itemClassName",useWindowScroll:"useWindowScroll",customScrollParent:"customScrollParent",scrollerRef:"scrollerRef",logLevel:"logLevel",restoreStateFrom:"restoreStateFrom",initialTopMostItemIndex:"initialTopMostItemIndex",increaseViewportBy:"increaseViewportBy"},methods:{scrollTo:"scrollTo",scrollBy:"scrollBy",scrollToIndex:"scrollToIndex"},events:{isScrolling:"isScrolling",endReached:"endReached",startReached:"startReached",rangeChanged:"rangeChanged",atBottomStateChange:"atBottomStateChange",atTopStateChange:"atTopStateChange",stateChanged:"stateChanged",readyStateChanged:"readyStateChanged"}},Ox),Mx=Nc({useEmitter:Dc,useEmitterValue:rt,usePublisher:Ft}),Dx=Ac({useEmitter:Dc,useEmitterValue:rt,usePublisher:Ft});function Lc(e,t,n){return t!=="normal"&&!(t!=null&&t.endsWith("px"))&&n(`${e} was not resolved to pixel value correctly`,t,Et.WARN),t==="normal"?0:parseInt(t??"0",10)}const Lx=Qr.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 yi({className:e,variant:t,...n}){return c.jsx("div",{className:X(Lx({variant:t}),e),...n})}function oe(e,t,{checkForDefaultPrevented:n=!0}={}){return function(o){if(e==null||e(o),n===!1||!o.defaultPrevented)return t==null?void 0:t(o)}}function Fx(e,t){const n=m.createContext(t),r=s=>{const{children:i,...a}=s,l=m.useMemo(()=>a,Object.values(a));return c.jsx(n.Provider,{value:l,children:i})};r.displayName=e+"Provider";function o(s){const i=m.useContext(n);if(i)return i;if(t!==void 0)return t;throw new Error(`\`${s}\` must be used within \`${e}\``)}return[r,o]}function en(e,t=[]){let n=[];function r(s,i){const a=m.createContext(i),l=n.length;n=[...n,i];const u=f=>{var x;const{scope:h,children:p,...w}=f,v=((x=h==null?void 0:h[e])==null?void 0:x[l])||a,g=m.useMemo(()=>w,Object.values(w));return c.jsx(v.Provider,{value:g,children:p})};u.displayName=s+"Provider";function d(f,h){var v;const p=((v=h==null?void 0:h[e])==null?void 0:v[l])||a,w=m.useContext(p);if(w)return w;if(i!==void 0)return i;throw new Error(`\`${f}\` must be used within \`${s}\``)}return[u,d]}const o=()=>{const s=n.map(i=>m.createContext(i));return function(a){const l=(a==null?void 0:a[e])||s;return m.useMemo(()=>({[`__scope${e}`]:{...a,[e]:l}}),[a,l])}};return o.scopeName=e,[r,$x(o,...t)]}function $x(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(s){const i=r.reduce((a,{useScope:l,scopeName:u})=>{const f=l(s)[`__scope${u}`];return{...a,...f}},{});return m.useMemo(()=>({[`__scope${t.scopeName}`]:i}),[i])}};return n.scopeName=t.scopeName,n}var pt=globalThis!=null&&globalThis.document?m.useLayoutEffect:()=>{},zx=m[" useInsertionEffect ".trim().toString()]||pt;function $n({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){const[o,s,i]=Bx({defaultProp:t,onChange:n}),a=e!==void 0,l=a?e:o;{const d=m.useRef(e!==void 0);m.useEffect(()=>{const f=d.current;f!==a&&console.warn(`${r} is changing from ${f?"controlled":"uncontrolled"} to ${a?"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.`),d.current=a},[a,r])}const u=m.useCallback(d=>{var f;if(a){const h=Hx(d)?d(e):d;h!==e&&((f=i.current)==null||f.call(i,h))}else s(d)},[a,e,s,i]);return[l,u]}function Bx({defaultProp:e,onChange:t}){const[n,r]=m.useState(e),o=m.useRef(n),s=m.useRef(t);return zx(()=>{s.current=t},[t]),m.useEffect(()=>{var i;o.current!==n&&((i=s.current)==null||i.call(s,n),o.current=n)},[n,o]),[n,r,s]}function Hx(e){return typeof e=="function"}function Fc(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function Si(...e){return t=>{let n=!1;const r=e.map(o=>{const s=Fc(o,t);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let o=0;o<r.length;o++){const s=r[o];typeof s=="function"?s():Fc(e[o],null)}}}}function Fe(...e){return m.useCallback(Si(...e),e)}var Ux=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],ye=Ux.reduce((e,t)=>{const n=_n.createSlot(`Primitive.${t}`),r=m.forwardRef((o,s)=>{const{asChild:i,...a}=o,l=i?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),c.jsx(l,{...a,ref:s})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function $c(e,t){e&&eo.flushSync(()=>e.dispatchEvent(t))}function Wx(e,t){return m.useReducer((n,r)=>t[n][r]??n,e)}var _t=e=>{const{present:t,children:n}=e,r=Vx(t),o=typeof n=="function"?n({present:r.isPresent}):m.Children.only(n),s=Fe(r.ref,Kx(o));return typeof n=="function"||r.isPresent?m.cloneElement(o,{ref:s}):null};_t.displayName="Presence";function Vx(e){const[t,n]=m.useState(),r=m.useRef(null),o=m.useRef(e),s=m.useRef("none"),i=e?"mounted":"unmounted",[a,l]=Wx(i,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return m.useEffect(()=>{const u=No(r.current);s.current=a==="mounted"?u:"none"},[a]),pt(()=>{const u=r.current,d=o.current;if(d!==e){const h=s.current,p=No(u);e?l("MOUNT"):p==="none"||(u==null?void 0:u.display)==="none"?l("UNMOUNT"):l(d&&h!==p?"ANIMATION_OUT":"UNMOUNT"),o.current=e}},[e,l]),pt(()=>{if(t){let u;const d=t.ownerDocument.defaultView??window,f=p=>{const v=No(r.current).includes(CSS.escape(p.animationName));if(p.target===t&&v&&(l("ANIMATION_END"),!o.current)){const g=t.style.animationFillMode;t.style.animationFillMode="forwards",u=d.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=g)})}},h=p=>{p.target===t&&(s.current=No(r.current))};return t.addEventListener("animationstart",h),t.addEventListener("animationcancel",f),t.addEventListener("animationend",f),()=>{d.clearTimeout(u),t.removeEventListener("animationstart",h),t.removeEventListener("animationcancel",f),t.removeEventListener("animationend",f)}}else l("ANIMATION_END")},[t,l]),{isPresent:["mounted","unmountSuspended"].includes(a),ref:m.useCallback(u=>{r.current=u?getComputedStyle(u):null,n(u)},[])}}function No(e){return(e==null?void 0:e.animationName)||"none"}function Kx(e){var r,o;let t=(r=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:r.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(o=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:o.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var qx=m[" useId ".trim().toString()]||(()=>{}),Gx=0;function tn(e){const[t,n]=m.useState(qx());return pt(()=>{n(r=>r??String(Gx++))},[e]),e||(t?`radix-${t}`:"")}var Ao="Collapsible",[Yx,OC]=en(Ao),[Xx,Ci]=Yx(Ao),zc=m.forwardRef((e,t)=>{const{__scopeCollapsible:n,open:r,defaultOpen:o,disabled:s,onOpenChange:i,...a}=e,[l,u]=$n({prop:r,defaultProp:o??!1,onChange:i,caller:Ao});return c.jsx(Xx,{scope:n,disabled:s,contentId:tn(),open:l,onOpenToggle:m.useCallback(()=>u(d=>!d),[u]),children:c.jsx(ye.div,{"data-state":Ei(l),"data-disabled":s?"":void 0,...a,ref:t})})});zc.displayName=Ao;var Bc="CollapsibleTrigger",Hc=m.forwardRef((e,t)=>{const{__scopeCollapsible:n,...r}=e,o=Ci(Bc,n);return c.jsx(ye.button,{type:"button","aria-controls":o.contentId,"aria-expanded":o.open||!1,"data-state":Ei(o.open),"data-disabled":o.disabled?"":void 0,disabled:o.disabled,...r,ref:t,onClick:oe(e.onClick,o.onOpenToggle)})});Hc.displayName=Bc;var Ti="CollapsibleContent",Jx=m.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=Ci(Ti,e.__scopeCollapsible);return c.jsx(_t,{present:n||o.open,children:({present:s})=>c.jsx(Zx,{...r,ref:t,present:s})})});Jx.displayName=Ti;var Zx=m.forwardRef((e,t)=>{const{__scopeCollapsible:n,present:r,children:o,...s}=e,i=Ci(Ti,n),[a,l]=m.useState(r),u=m.useRef(null),d=Fe(t,u),f=m.useRef(0),h=f.current,p=m.useRef(0),w=p.current,v=i.open||a,g=m.useRef(v),x=m.useRef(void 0);return m.useEffect(()=>{const b=requestAnimationFrame(()=>g.current=!1);return()=>cancelAnimationFrame(b)},[]),pt(()=>{const b=u.current;if(b){x.current=x.current||{transitionDuration:b.style.transitionDuration,animationName:b.style.animationName},b.style.transitionDuration="0s",b.style.animationName="none";const y=b.getBoundingClientRect();f.current=y.height,p.current=y.width,g.current||(b.style.transitionDuration=x.current.transitionDuration,b.style.animationName=x.current.animationName),l(r)}},[i.open,r]),c.jsx(ye.div,{"data-state":Ei(i.open),"data-disabled":i.disabled?"":void 0,id:i.contentId,hidden:!v,...s,ref:d,style:{"--radix-collapsible-content-height":h?`${h}px`:void 0,"--radix-collapsible-content-width":w?`${w}px`:void 0,...e.style},children:v&&o})});function Ei(e){return e?"open":"closed"}var Qx=zc;const Uc=Qx,Wc=Hc,Dr=m.forwardRef(({className:e,...t},n)=>c.jsx("div",{ref:n,className:X("rounded-lg border bg-card text-card-foreground shadow-sm",e),...t}));Dr.displayName="Card";const Lr=m.forwardRef(({className:e,...t},n)=>c.jsx("div",{ref:n,className:X("flex flex-col space-y-1.5 p-6",e),...t}));Lr.displayName="CardHeader";const Fr=m.forwardRef(({className:e,...t},n)=>c.jsx("h3",{ref:n,className:X("text-2xl font-semibold leading-none tracking-tight",e),...t}));Fr.displayName="CardTitle";const Vc=m.forwardRef(({className:e,...t},n)=>c.jsx("p",{ref:n,className:X("text-sm text-muted-foreground",e),...t}));Vc.displayName="CardDescription";const jo=m.forwardRef(({className:e,...t},n)=>c.jsx("div",{ref:n,className:X("p-6 pt-0",e),...t}));jo.displayName="CardContent";const Kc=m.forwardRef(({className:e,...t},n)=>c.jsx("div",{ref:n,className:X("flex items-center p-6 pt-0",e),...t}));Kc.displayName="CardFooter";function qc(){return{async:!1,baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,hooks:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}let zn=qc();function ev(e){zn=e}const Gc=/[&<>"']/,tv=new RegExp(Gc.source,"g"),Yc=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,nv=new RegExp(Yc.source,"g"),rv={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},Xc=e=>rv[e];function wt(e,t){if(t){if(Gc.test(e))return e.replace(tv,Xc)}else if(Yc.test(e))return e.replace(nv,Xc);return e}const ov=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig;function Jc(e){return e.replace(ov,(t,n)=>(n=n.toLowerCase(),n==="colon"?":":n.charAt(0)==="#"?n.charAt(1)==="x"?String.fromCharCode(parseInt(n.substring(2),16)):String.fromCharCode(+n.substring(1)):""))}const sv=/(^|[^\[])\^/g;function Ye(e,t){e=typeof e=="string"?e:e.source,t=t||"";const n={replace:(r,o)=>(o=o.source||o,o=o.replace(sv,"$1"),e=e.replace(r,o),n),getRegex:()=>new RegExp(e,t)};return n}const iv=/[^\w:]/g,av=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function Zc(e,t,n){if(e){let r;try{r=decodeURIComponent(Jc(n)).replace(iv,"").toLowerCase()}catch{return null}if(r.indexOf("javascript:")===0||r.indexOf("vbscript:")===0||r.indexOf("data:")===0)return null}t&&!av.test(n)&&(n=dv(t,n));try{n=encodeURI(n).replace(/%25/g,"%")}catch{return null}return n}const _o={},lv=/^[^:]+:\/*[^/]*$/,cv=/^([^:]+:)[\s\S]*$/,uv=/^([^:]+:\/*[^/]*)[\s\S]*$/;function dv(e,t){_o[" "+e]||(lv.test(e)?_o[" "+e]=e+"/":_o[" "+e]=Po(e,"/",!0)),e=_o[" "+e];const n=e.indexOf(":")===-1;return t.substring(0,2)==="//"?n?t:e.replace(cv,"$1")+t:t.charAt(0)==="/"?n?t:e.replace(uv,"$1")+t:e+t}const Ro={exec:function(){}};function Qc(e,t){const n=e.replace(/\|/g,(s,i,a)=>{let l=!1,u=i;for(;--u>=0&&a[u]==="\\";)l=!l;return l?"|":" |"}),r=n.split(/ \|/);let o=0;if(r[0].trim()||r.shift(),r.length>0&&!r[r.length-1].trim()&&r.pop(),r.length>t)r.splice(t);else for(;r.length<t;)r.push("");for(;o<r.length;o++)r[o]=r[o].trim().replace(/\\\|/g,"|");return r}function Po(e,t,n){const r=e.length;if(r===0)return"";let o=0;for(;o<r;){const s=e.charAt(r-o-1);if(s===t&&!n)o++;else if(s!==t&&n)o++;else break}return e.slice(0,r-o)}function fv(e,t){if(e.indexOf(t[1])===-1)return-1;const n=e.length;let r=0,o=0;for(;o<n;o++)if(e[o]==="\\")o++;else if(e[o]===t[0])r++;else if(e[o]===t[1]&&(r--,r<0))return o;return-1}function hv(e){e&&e.sanitize&&!e.silent&&console.warn("marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options")}function eu(e,t){if(t<1)return"";let n="";for(;t>1;)t&1&&(n+=e),t>>=1,e+=e;return n+e}function tu(e,t,n,r){const o=t.href,s=t.title?wt(t.title):null,i=e[1].replace(/\\([\[\]])/g,"$1");if(e[0].charAt(0)!=="!"){r.state.inLink=!0;const a={type:"link",raw:n,href:o,title:s,text:i,tokens:r.inlineTokens(i)};return r.state.inLink=!1,a}return{type:"image",raw:n,href:o,title:s,text:wt(i)}}function pv(e,t){const n=e.match(/^(\s+)(?:```)/);if(n===null)return t;const r=n[1];return t.split(`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "teodor-new-chat-ui",
3
- "version": "4.1.12",
3
+ "version": "4.1.14",
4
4
  "description": "React chat UI components with streaming support, tool calls, and modern design",
5
5
  "main": "dist/index.umd.js",
6
6
  "module": "dist/index.esm.js",