@cuadra-ai/uikit 0.1.19 → 0.1.20
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/components/CuadraChat.d.ts +6 -0
- package/dist/components/CuadraChat.d.ts.map +1 -1
- package/dist/index.cjs +11 -11
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +927 -861
- package/dist/index.mjs.map +1 -1
- package/dist/types/theme.d.ts +134 -0
- package/dist/types/theme.d.ts.map +1 -0
- package/dist/uikit.css +1 -1
- package/dist/utils/applyTheme.d.ts +16 -0
- package/dist/utils/applyTheme.d.ts.map +1 -0
- package/dist/widget/cuadra-uikit.css +1 -1
- package/dist/widget/cuadra-uikit.umd.js +11 -11
- package/dist/widget/cuadra-uikit.umd.js.map +1 -1
- package/package.json +1 -2
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { CuadraRuntimeProviderProps } from './CuadraRuntimeProvider';
|
|
2
|
+
import type { CuadraTheme } from '../types/theme';
|
|
2
3
|
export interface CuadraChatProps extends Omit<CuadraRuntimeProviderProps, 'children' | 'isProxyMode'> {
|
|
3
4
|
/** Proxy URL for backend-handled authentication (e.g., '/api/chat' or 'http://localhost:3000') */
|
|
4
5
|
proxyUrl?: string;
|
|
@@ -8,6 +9,8 @@ export interface CuadraChatProps extends Omit<CuadraRuntimeProviderProps, 'child
|
|
|
8
9
|
showThemeToggle?: boolean;
|
|
9
10
|
/** Initial theme ('light' | 'dark' | 'system') */
|
|
10
11
|
theme?: 'light' | 'dark' | 'system';
|
|
12
|
+
/** Custom theme colors to override defaults */
|
|
13
|
+
customTheme?: CuadraTheme;
|
|
11
14
|
/** Language/locale for i18n (e.g., 'en', 'es', 'fr') */
|
|
12
15
|
language?: string;
|
|
13
16
|
/** Welcome screen title */
|
|
@@ -35,6 +38,9 @@ export interface CuadraChatProps extends Omit<CuadraRuntimeProviderProps, 'child
|
|
|
35
38
|
*
|
|
36
39
|
* This component uses the widget implementation internally, ensuring
|
|
37
40
|
* consistent styling and behavior with the widget version.
|
|
41
|
+
*
|
|
42
|
+
* Styles are automatically bundled and injected. Users can optionally
|
|
43
|
+
* import '@cuadra-ai/uikit/styles' if they need explicit control.
|
|
38
44
|
*/
|
|
39
45
|
export declare function CuadraChat(props: CuadraChatProps): import("react/jsx-runtime").JSX.Element;
|
|
40
46
|
//# sourceMappingURL=CuadraChat.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CuadraChat.d.ts","sourceRoot":"","sources":["../../src/components/CuadraChat.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CuadraChat.d.ts","sourceRoot":"","sources":["../../src/components/CuadraChat.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAIlD,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,0BAA0B,EAAE,UAAU,GAAG,aAAa,CAAC;IACnG,kGAAkG;IAClG,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+BAA+B;IAC/B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kDAAkD;IAClD,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;IACpC,+CAA+C;IAC/C,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,wDAAwD;IACxD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2BAA2B;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8BAA8B;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mEAAmE;IACnE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,4CAA4C;IAC5C,WAAW,CAAC,EAAE,KAAK,CAAC;QAClB,6BAA6B;QAC7B,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;IACH,2CAA2C;IAC3C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,yCAAyC;IACzC,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,gDAAgD;IAChD,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,2CAyChD"}
|
package/dist/index.cjs
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var Yt=Object.defineProperty;var er=(e,r,t)=>r in e?Yt(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t;var ue=(e,r,t)=>er(e,typeof r!="symbol"?r+"":r,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react/jsx-runtime"),k=require("react"),Ne=require("react-dom"),j=require("@assistant-ui/react"),Ie=require("@assistant-ui/react-markdown");var J=typeof document<"u"?document.currentScript:null;let te=!1,Xe=!1;function Ke(){if(Xe||(Xe=!0,typeof document>"u"||typeof window>"u"))return;const e=document.querySelector("link[data-cuadra-uikit-styles]"),r=document.querySelector("style[data-cuadra-uikit-styles]");if(e||r){te=!0;return}try{const t=document.createElement("div");t.className="cuadra-flex",t.style.visibility="hidden",t.style.position="absolute",t.style.pointerEvents="none",document.body.appendChild(t);const a=window.getComputedStyle(t).display==="flex";if(document.body.removeChild(t),a){te=!0;return}}catch{}tr()}function tr(){if(te)return;const e=document.createElement("link");e.setAttribute("data-cuadra-uikit-styles","true"),e.rel="stylesheet",e.type="text/css";try{const r=new URL(typeof document>"u"?require("url").pathToFileURL(__filename).href:J&&J.tagName.toUpperCase()==="SCRIPT"&&J.src||new URL("index.cjs",document.baseURI).href),t=new URL("../dist/uikit.css",r);e.href=t.href}catch{e.href="/node_modules/@cuadra-ai/uikit/dist/uikit.css"}e.onload=()=>{te=!0},e.onerror=()=>{const r=["/node_modules/@cuadra-ai/uikit/dist/uikit.css","https://unpkg.com/@cuadra-ai/uikit@latest/dist/uikit.css"];let t=0;const a=()=>{t<r.length&&(e.href=r[t++],e.onerror=a,e.onload=()=>{te=!0})};a()},document.head.appendChild(e)}typeof document<"u"&&typeof window<"u"&&(document.readyState==="loading"?document.addEventListener("DOMContentLoaded",Ke):Ke());const rr=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),ar=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(r,t,a)=>a?a.toUpperCase():t.toLowerCase()),Ge=e=>{const r=ar(e);return r.charAt(0).toUpperCase()+r.slice(1)},dt=(...e)=>e.filter((r,t,a)=>!!r&&r.trim()!==""&&a.indexOf(r)===t).join(" ").trim(),nr=e=>{for(const r in e)if(r.startsWith("aria-")||r==="role"||r==="title")return!0};var ir={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const or=k.forwardRef(({color:e="currentColor",size:r=24,strokeWidth:t=2,absoluteStrokeWidth:a,className:i="",children:o,iconNode:n,...c},s)=>k.createElement("svg",{ref:s,...ir,width:r,height:r,stroke:e,strokeWidth:a?Number(t)*24/Number(r):t,className:dt("lucide",i),...!o&&!nr(c)&&{"aria-hidden":"true"},...c},[...n.map(([l,f])=>k.createElement(l,f)),...Array.isArray(o)?o:[o]]));const E=(e,r)=>{const t=k.forwardRef(({className:a,...i},o)=>k.createElement(or,{ref:o,iconNode:r,className:dt(`lucide-${rr(Ge(e))}`,`lucide-${e}`,a),...i}));return t.displayName=Ge(e),t};const sr=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],cr=E("arrow-up",sr);const ur=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],lr=E("check",ur);const dr=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],Ze=E("chevron-down",dr);const fr=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 18a6 6 0 0 0 0-12v12z",key:"j4l70d"}]],hr=E("contrast",fr);const mr=[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]],pr=E("copy",mr);const gr=[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"12",cy:"5",r:"1",key:"gxeob9"}],["circle",{cx:"12",cy:"19",r:"1",key:"lyex9k"}]],xr=E("ellipsis-vertical",gr);const br=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],ft=E("loader-circle",br);const yr=[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]],kr=E("log-out",yr);const wr=[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]],vr=E("menu",wr);const Cr=[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]],ht=E("paperclip",Cr);const jr=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],Tr=E("plus",jr);const Ar=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],Pe=E("x",Ar);class mt{constructor(r,t,a=!1){ue(this,"baseUrl");ue(this,"sessionToken",null);ue(this,"isProxyMode",!1);this.baseUrl=r.replace(/\/$/,""),this.isProxyMode=a,t&&(this.sessionToken=t)}setSessionToken(r){this.sessionToken=r}getUrl(r){if(this.isProxyMode){const t=`${this.baseUrl}${r.replace("/v1","")}`;return t.startsWith("/")||t.startsWith("./"),t}return`${this.baseUrl}${r}`}async createOrContinueChat(r,t){const a=this.getUrl("/v1/chats"),o={"Content-Type":"application/json","Idempotency-Key":this.generateIdempotencyKey()};this.sessionToken&&(o.Authorization=`Bearer ${this.sessionToken}`);const n={...r,stream:!0},c=await fetch(a,{method:"POST",headers:o,body:JSON.stringify(n),signal:t});if(!c.ok){const s=await c.json().catch(()=>({}));throw new Error(s.detail||s.message||`API error: ${c.status} ${c.statusText}`)}if(!c.body)throw new Error("Response body is null");return c.body}async getChat(r){const t=this.getUrl(`/v1/chats/${r}`),a={"Content-Type":"application/json"};this.sessionToken&&(a.Authorization=`Bearer ${this.sessionToken}`);const i=await fetch(t,{method:"GET",headers:a});if(!i.ok){const o=await i.json().catch(()=>({}));throw new Error(o.detail||o.message||`API error: ${i.status} ${i.statusText}`)}return i.json()}async listChats(r){const t=this.getUrl("/v1/chats"),a=t.startsWith("/")||t.startsWith("./")?new URL(t,window.location.origin):new URL(t);r?.limit&&a.searchParams.set("limit",r.limit.toString()),r?.cursor&&a.searchParams.set("cursor",r.cursor),r?.["expand[]"]&&r["expand[]"].forEach(n=>{a.searchParams.append("expand[]",n)});const i={"Content-Type":"application/json"};this.sessionToken&&(i.Authorization=`Bearer ${this.sessionToken}`);const o=await fetch(a.toString(),{method:"GET",headers:i});if(!o.ok){const n=await o.json().catch(()=>({}));throw new Error(n.detail||n.message||`API error: ${o.status} ${o.statusText}`)}return o.json()}generateIdempotencyKey(){try{if(typeof crypto<"u"&&crypto.randomUUID)return crypto.randomUUID()}catch{}const r=a=>Array.from({length:a},()=>Math.floor(Math.random()*16).toString(16)).join(""),t=()=>{const a=["8","9","a","b"];return a[Math.floor(Math.random()*a.length)]};return`${r(8)}-${r(4)}-4${r(3)}-${t()}${r(3)}-${r(12)}`}async updateChat(r,t){const a=`/v1/chats/${r}`,i=this.getUrl(a),o=i.startsWith("/")||i.startsWith("./")?new URL(i,window.location.origin):new URL(i),c={"Content-Type":"application/json","Idempotency-Key":this.generateIdempotencyKey()};this.sessionToken&&(c.Authorization=`Bearer ${this.sessionToken}`);const s=await fetch(o.toString(),{method:"PATCH",headers:c,body:JSON.stringify(t)});if(!s.ok){const f=await s.text();let d={};try{d=JSON.parse(f)}catch{d={detail:f}}throw new Error(d.detail||d.message||`API error: ${s.status} ${s.statusText}`)}if(s.status===204)return{};const l=await s.text();if(!l)return{};try{return JSON.parse(l)}catch{return{}}}async deleteChat(r){const t=`/v1/chats/${r}`,a=this.getUrl(t),i=a.startsWith("/")||a.startsWith("./")?new URL(a,window.location.origin):new URL(a),n={"Content-Type":"application/json","Idempotency-Key":this.generateIdempotencyKey()};this.sessionToken&&(n.Authorization=`Bearer ${this.sessionToken}`);const c=await fetch(i.toString(),{method:"DELETE",headers:n});if(!c.ok){const s=await c.json().catch(()=>({}));throw new Error(s.detail||s.message||`API error: ${c.status} ${c.statusText}`)}}async listModels(r){const t=this.getUrl("/v1/models"),a=t.startsWith("/")||t.startsWith("./")?new URL(t,window.location.origin):new URL(t);r?.limit&&a.searchParams.set("limit",r.limit.toString()),r?.cursor&&a.searchParams.set("cursor",r.cursor),r?.["expand[]"]&&r["expand[]"].forEach(n=>{a.searchParams.append("expand[]",n)});const i={"Content-Type":"application/json"};this.sessionToken&&(i.Authorization=`Bearer ${this.sessionToken}`);const o=await fetch(a.toString(),{method:"GET",headers:i});if(!o.ok){const n=await o.json().catch(()=>({}));throw new Error(n.detail||n.message||`API error: ${o.status} ${o.statusText}`)}return o.json()}async getModel(r){const t=this.getUrl(`/v1/models/${r}`),a={"Content-Type":"application/json"};this.sessionToken&&(a.Authorization=`Bearer ${this.sessionToken}`);const i=await fetch(t,{method:"GET",headers:a});if(!i.ok){const o=await i.json().catch(()=>({}));throw new Error(o.detail||o.message||`API error: ${i.status} ${i.statusText}`)}return i.json()}async uploadFile(r,t,a){const i=this.getUrl("/v1/files"),o=this.generateIdempotencyKey(),n=new FormData;n.append("file",r),t&&n.append("resource_type",t),a&&n.append("resource_id",a);const c={"Idempotency-Key":o};this.sessionToken&&(c.Authorization=`Bearer ${this.sessionToken}`);const s=await fetch(i,{method:"POST",headers:c,body:n});if(!s.ok){const l=await s.json().catch(()=>({}));throw new Error(l.detail||l.message||`API error: ${s.status} ${s.statusText}`)}return s.json()}}async function*Sr(e,r){const t=e.getReader(),a=new TextDecoder;let i="";try{for(;;){if(r?.aborted){t.cancel();break}const{done:o,value:n}=await t.read();if(o)break;i+=a.decode(n,{stream:!0});const c=i.split(`
|
|
2
2
|
|
|
3
|
-
`);i=c.pop()||"";for(const s of c)if(s.startsWith("data: ")){const l=s.slice(6);if(l.trim()==="[DONE]"){yield{done:!0};continue}try{yield JSON.parse(l)}catch{}}}}finally{t.releaseLock()}}function Ar(e){return e.map(r=>{let t="";if(typeof r.content=="string")t=r.content;else if(Array.isArray(r.content)){const a=r.content.find(i=>i.type==="text");a&&typeof a=="object"&&"text"in a&&(t=a.text)}return{role:r.role,content:t}})}function Sr(e){return{id:e.id,role:e.role,content:[{type:"text",text:e.content}],createdAt:new Date(e.createdAt),metadata:{custom:{}},...e.role==="assistant"&&{status:{type:"complete",reason:"stop"},metadata:{unstable_state:null,unstable_annotations:[],unstable_data:[],steps:[],custom:{}}},...e.role==="user"&&{attachments:[]}}}function pt(e,r){const{modelId:t,systemPrompt:a,ephemeral:i,onChatCreated:o,onUserMessage:n,onThreadIdUpdate:c}=r;return{async*run(s){const{messages:l,abortSignal:f,context:d}=s,p=d?.threadId;n?.();const h={messages:Ar(l),chatId:null,systemPrompt:a,ephemeral:i,stream:!0};t&&t.trim()!==""&&(h.modelId=t);const y=await e.createOrContinueChat(h,f);let g="",x;for await(const w of Tr(y,f)){if(f?.aborted)throw new Error("Request aborted");const C=w.id;C&&!x&&(x=C,o?.(C),p&&c&&c(p,C));const A=w.delta;if(A!=null&&(g+=A),w.type==="message"||w.content){const T=w.content||"";g+=T}if(w.message&&(g+=w.message.content||""),w.tool_calls,w.finished){g&&(yield{content:[{type:"text",text:g}]});break}g&&(yield{content:[{type:"text",text:g}]})}g&&(yield{content:[{type:"text",text:g}]})}}}const Je=new Map;function Nr(e,r){return{async list(){const t=[];let i,o=0;do{const c=await e.listChats({limit:50,cursor:i}),s=c.items||[];Array.isArray(s)&&s.length>0&&t.push(...s),i=c.nextCursor||void 0,o++}while(i&&o<50);return{threads:t.map(c=>{const s=c.id;return!s||c.deletedAt?null:{status:"regular",remoteId:s,title:c.title||"New Chat",createdAt:c.createdAt?new Date(c.createdAt):new Date,updatedAt:c.updatedAt?new Date(c.updatedAt):new Date}}).filter(c=>c!==null)}},async initialize(t){return{remoteId:Je.get(t)||t,externalId:void 0}},async rename(t,a){await e.updateChat(t,{title:a})},async archive(t){},async unarchive(t){},async delete(t){await e.deleteChat(t)},async generateTitle(t,a){return new ReadableStream},async fetch(t){try{const a=await e.getChat(t);return{status:"regular",remoteId:a.id||t,title:a.title||"Chat",createdAt:a.createdAt?new Date(a.createdAt):new Date,updatedAt:a.updatedAt?new Date(a.updatedAt):new Date}}catch{return{status:"regular",remoteId:t,createdAt:new Date,updatedAt:new Date}}},updateRemoteId(t,a){Je.set(t,a),r?.(t,a)},unstable_Provider:({children:t})=>{const i=j.useThreadListItem()?.remoteId,o=k.useMemo(()=>({async load(){if(!i)return{messages:[]};try{const c=await e.getChat(i);return!c.messages||c.messages.length===0?{messages:[]}:{messages:c.messages.map(l=>Sr(l))}}catch(c){return console.error("Failed to load messages for thread:",i,c),{messages:[]}}},async append(c){}}),[i,e]),n=k.useMemo(()=>({history:o}),[o]);return u.jsx(j.RuntimeAdapterProvider,{adapters:n,children:t})}}}function gt(){return{accept:".pdf,.docx,.txt,.md,.csv,.json,image/*",async add({file:e}){let r="file";return e.type.startsWith("image/")?r="image":(e.type.includes("pdf")||e.type.includes("document")||e.type.includes("text")||e.name.endsWith(".pdf")||e.name.endsWith(".docx")||e.name.endsWith(".txt")||e.name.endsWith(".md")||e.name.endsWith(".csv")||e.name.endsWith(".json"))&&(r="document"),{id:`${e.name}-${Date.now()}`,type:r,name:e.name,contentType:e.type,file:e,status:{type:"requires-action",reason:"composer-send"}}},async remove(){},async send(e){if(e.type==="image"&&e.file){const r=await new Promise((t,a)=>{const i=new FileReader;i.onload=()=>t(i.result),i.onerror=a,i.readAsDataURL(e.file)});return{...e,status:{type:"complete"},content:[{type:"image",image:r}]}}return{...e,status:{type:"complete"},content:[]}}}}function Ir({children:e,baseUrl:r,sessionToken:t,isProxyMode:a=!1,mode:i="multiChat",modelId:o,onModelChange:n,ephemeral:c=!1,systemPrompt:s,initialThreadId:l,onError:f,onChatCreated:d,onUserMessage:p,onThreadIdUpdate:b,onChatsLoaded:h,enableAttachments:y=!1}){const g=k.useMemo(()=>new mt(r,t||void 0,a),[r,t,a]),[x,w]=k.useState(o||null);k.useEffect(()=>{o&&w(o)},[o]);const C=k.useCallback(T=>{d?.(T)},[d]),A=k.useCallback((T,N)=>{b?.(T,N)},[b]),S=k.useMemo(()=>pt(g,{modelId:x||void 0,systemPrompt:s,ephemeral:c,onChatCreated:C,onUserMessage:p}),[g,x,s,c,C,p]);return i==="singleChat"?u.jsx(Mr,{modelAdapter:S,enableAttachments:y,children:e}):u.jsx(Lr,{client:g,modelAdapterOptions:{modelId:x||void 0,systemPrompt:s,ephemeral:c,onChatCreated:C,onUserMessage:p},initialThreadId:l,onChatsLoaded:h,onThreadIdUpdate:A,onError:f,enableAttachments:y,children:e})}function Mr({modelAdapter:e,enableAttachments:r,children:t}){const a=k.useMemo(()=>r?gt():void 0,[r]),i=j.useLocalRuntime(e,{adapters:{...a&&{attachments:a}}});return u.jsx(j.AssistantRuntimeProvider,{runtime:i,children:t})}function Lr({client:e,modelAdapterOptions:r,initialThreadId:t,onChatsLoaded:a,onThreadIdUpdate:i,onError:o,enableAttachments:n,children:c}){const s=k.useMemo(()=>Nr(e,(y,g)=>{i?.(y,g)}),[e,i]),l=k.useCallback((y,g)=>{s.updateRemoteId&&s.updateRemoteId(y,g),i?.(y,g)},[s,i]),f=k.useMemo(()=>({...s,async list(){const y=await s.list();return a?.(),y}}),[s,a]);k.useEffect(()=>{window.__cuadraThreadListAdapter=f,window.__cuadraThreadListRuntime=null},[f]);const d=k.useMemo(()=>pt(e,{...r,onThreadIdUpdate:l}),[e,r,l]),p=k.useMemo(()=>n?gt():void 0,[n]),b=k.useCallback(()=>j.useLocalRuntime(d,{adapters:{...p&&{attachments:p}}}),[d,p]),h=j.unstable_useRemoteThreadListRuntime({adapter:f,runtimeHook:b});return k.useEffect(()=>{window.__cuadraThreadListRuntime=h},[h]),u.jsx(j.AssistantRuntimeProvider,{runtime:h,children:c})}function Qe(e,r){const t=String(e);if(typeof r!="string")throw new TypeError("Expected character");let a=0,i=t.indexOf(r);for(;i!==-1;)a++,i=t.indexOf(r,i+r.length);return a}const re=pe(/[A-Za-z]/),Re=pe(/[\dA-Za-z]/);function Pr(e){return e!==null&&(e<32||e===127)}function Z(e){return e!==null&&e<-2}function R(e){return e!==null&&(e<0||e===32)}function O(e){return e===-2||e===-1||e===32}const me=pe(/\p{P}|\p{S}/u),H=pe(/\s/);function pe(e){return r;function r(t){return t!==null&&t>-1&&e.test(String.fromCharCode(t))}}function Rr(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}const ge=(function(e){if(e==null)return _r;if(typeof e=="function")return xe(e);if(typeof e=="object")return Array.isArray(e)?Dr(e):Fr(e);if(typeof e=="string")return Er(e);throw new Error("Expected function, string, or object as test")});function Dr(e){const r=[];let t=-1;for(;++t<e.length;)r[t]=ge(e[t]);return xe(a);function a(...i){let o=-1;for(;++o<r.length;)if(r[o].apply(this,i))return!0;return!1}}function Fr(e){const r=e;return xe(t);function t(a){const i=a;let o;for(o in e)if(i[o]!==r[o])return!1;return!0}}function Er(e){return xe(r);function r(t){return t&&t.type===e}}function xe(e){return r;function r(t,a,i){return!!(zr(t)&&e.call(this,t,typeof a=="number"?a:void 0,i||void 0))}}function _r(){return!0}function zr(e){return e!==null&&typeof e=="object"&&"type"in e}const xt=[],$r=!0,Me=!1,Or="skip";function bt(e,r,t,a){let i;typeof r=="function"&&typeof t!="function"?(a=t,t=r):i=r;const o=ge(i),n=a?-1:1;c(e,void 0,[])();function c(s,l,f){const d=s&&typeof s=="object"?s:{};if(typeof d.type=="string"){const b=typeof d.tagName=="string"?d.tagName:typeof d.name=="string"?d.name:void 0;Object.defineProperty(p,"name",{value:"node ("+(s.type+(b?"<"+b+">":""))+")"})}return p;function p(){let b=xt,h,y,g;if((!r||o(s,l,f[f.length-1]||void 0))&&(b=Ur(t(s,f)),b[0]===Me))return b;if("children"in s&&s.children){const x=s;if(x.children&&b[0]!==Or)for(y=(a?x.children.length:-1)+n,g=f.concat(x);y>-1&&y<x.children.length;){const w=x.children[y];if(h=c(w,y,g)(),h[0]===Me)return h;y=typeof h[1]=="number"?h[1]:y+n}}return b}}}function Ur(e){return Array.isArray(e)?e:typeof e=="number"?[$r,e]:e==null?xt:[e]}function Wr(e,r,t){const i=ge((t||{}).ignore||[]),o=Br(r);let n=-1;for(;++n<o.length;)bt(e,"text",c);function c(l,f){let d=-1,p;for(;++d<f.length;){const b=f[d],h=p?p.children:void 0;if(i(b,h?h.indexOf(b):void 0,p))return;p=b}if(p)return s(l,f)}function s(l,f){const d=f[f.length-1],p=o[n][0],b=o[n][1];let h=0;const g=d.children.indexOf(l);let x=!1,w=[];p.lastIndex=0;let C=p.exec(l.value);for(;C;){const A=C.index,S={index:C.index,input:C.input,stack:[...f,l]};let T=b(...C,S);if(typeof T=="string"&&(T=T.length>0?{type:"text",value:T}:void 0),T===!1?p.lastIndex=A+1:(h!==A&&w.push({type:"text",value:l.value.slice(h,A)}),Array.isArray(T)?w.push(...T):T&&w.push(T),h=A+C[0].length,x=!0),!p.global)break;C=p.exec(l.value)}return x?(h<l.value.length&&w.push({type:"text",value:l.value.slice(h)}),d.children.splice(g,1,...w)):w=[l],g+w.length}}function Br(e){const r=[];if(!Array.isArray(e))throw new TypeError("Expected find and replace tuple or list of tuples");const t=!e[0]||Array.isArray(e[0])?e:[e];let a=-1;for(;++a<t.length;){const i=t[a];r.push([qr(i[0]),Hr(i[1])])}return r}function qr(e){return typeof e=="string"?new RegExp(Rr(e),"g"):e}function Hr(e){return typeof e=="function"?e:function(){return e}}const Ce="phrasing",ve=["autolink","link","image","label"];function Xr(){return{transforms:[Yr],enter:{literalAutolink:Vr,literalAutolinkEmail:je,literalAutolinkHttp:je,literalAutolinkWww:je},exit:{literalAutolink:Qr,literalAutolinkEmail:Jr,literalAutolinkHttp:Gr,literalAutolinkWww:Zr}}}function Kr(){return{unsafe:[{character:"@",before:"[+\\-.\\w]",after:"[\\-.\\w]",inConstruct:Ce,notInConstruct:ve},{character:".",before:"[Ww]",after:"[\\-.\\w]",inConstruct:Ce,notInConstruct:ve},{character:":",before:"[ps]",after:"\\/",inConstruct:Ce,notInConstruct:ve}]}}function Vr(e){this.enter({type:"link",title:null,url:"",children:[]},e)}function je(e){this.config.enter.autolinkProtocol.call(this,e)}function Gr(e){this.config.exit.autolinkProtocol.call(this,e)}function Zr(e){this.config.exit.data.call(this,e);const r=this.stack[this.stack.length-1];r.type,r.url="http://"+this.sliceSerialize(e)}function Jr(e){this.config.exit.autolinkEmail.call(this,e)}function Qr(e){this.exit(e)}function Yr(e){Wr(e,[[/(https?:\/\/|www(?=\.))([-.\w]+)([^ \t\r\n]*)/gi,ea],[/(?<=^|\s|\p{P}|\p{S})([-.\w+]+)@([-\w]+(?:\.[-\w]+)+)/gu,ta]],{ignore:["link","linkReference"]})}function ea(e,r,t,a,i){let o="";if(!yt(i)||(/^w/i.test(r)&&(t=r+t,r="",o="http://"),!ra(t)))return!1;const n=aa(t+a);if(!n[0])return!1;const c={type:"link",title:null,url:o+r+n[0],children:[{type:"text",value:r+n[0]}]};return n[1]?[c,{type:"text",value:n[1]}]:c}function ta(e,r,t,a){return!yt(a,!0)||/[-\d_]$/.test(t)?!1:{type:"link",title:null,url:"mailto:"+r+"@"+t,children:[{type:"text",value:r+"@"+t}]}}function ra(e){const r=e.split(".");return!(r.length<2||r[r.length-1]&&(/_/.test(r[r.length-1])||!/[a-zA-Z\d]/.test(r[r.length-1]))||r[r.length-2]&&(/_/.test(r[r.length-2])||!/[a-zA-Z\d]/.test(r[r.length-2])))}function aa(e){const r=/[!"&'),.:;<>?\]}]+$/.exec(e);if(!r)return[e,void 0];e=e.slice(0,r.index);let t=r[0],a=t.indexOf(")");const i=Qe(e,"(");let o=Qe(e,")");for(;a!==-1&&i>o;)e+=t.slice(0,a+1),t=t.slice(a+1),a=t.indexOf(")"),o++;return[e,t]}function yt(e,r){const t=e.input.charCodeAt(e.index-1);return(e.index===0||H(t)||me(t))&&(!r||t!==47)}function ne(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}kt.peek=fa;function na(){this.buffer()}function ia(e){this.enter({type:"footnoteReference",identifier:"",label:""},e)}function oa(){this.buffer()}function sa(e){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},e)}function ca(e){const r=this.resume(),t=this.stack[this.stack.length-1];t.type,t.identifier=ne(this.sliceSerialize(e)).toLowerCase(),t.label=r}function ua(e){this.exit(e)}function la(e){const r=this.resume(),t=this.stack[this.stack.length-1];t.type,t.identifier=ne(this.sliceSerialize(e)).toLowerCase(),t.label=r}function da(e){this.exit(e)}function fa(){return"["}function kt(e,r,t,a){const i=t.createTracker(a);let o=i.move("[^");const n=t.enter("footnoteReference"),c=t.enter("reference");return o+=i.move(t.safe(t.associationId(e),{after:"]",before:o})),c(),n(),o+=i.move("]"),o}function ha(){return{enter:{gfmFootnoteCallString:na,gfmFootnoteCall:ia,gfmFootnoteDefinitionLabelString:oa,gfmFootnoteDefinition:sa},exit:{gfmFootnoteCallString:ca,gfmFootnoteCall:ua,gfmFootnoteDefinitionLabelString:la,gfmFootnoteDefinition:da}}}function ma(e){let r=!1;return e&&e.firstLineBlank&&(r=!0),{handlers:{footnoteDefinition:t,footnoteReference:kt},unsafe:[{character:"[",inConstruct:["label","phrasing","reference"]}]};function t(a,i,o,n){const c=o.createTracker(n);let s=c.move("[^");const l=o.enter("footnoteDefinition"),f=o.enter("label");return s+=c.move(o.safe(o.associationId(a),{before:s,after:"]"})),f(),s+=c.move("]:"),a.children&&a.children.length>0&&(c.shift(4),s+=c.move((r?`
|
|
4
|
-
`:" ")+o.indentLines(o.containerFlow(a,c.current()),r?wt:
|
|
5
|
-
`)}function
|
|
6
|
-
`&&
|
|
7
|
-
`}function
|
|
3
|
+
`);i=c.pop()||"";for(const s of c)if(s.startsWith("data: ")){const l=s.slice(6);if(l.trim()==="[DONE]"){yield{done:!0};continue}try{yield JSON.parse(l)}catch{}}}}finally{t.releaseLock()}}function Nr(e){return e.map(r=>{let t="";if(typeof r.content=="string")t=r.content;else if(Array.isArray(r.content)){const a=r.content.find(i=>i.type==="text");a&&typeof a=="object"&&"text"in a&&(t=a.text)}return{role:r.role,content:t}})}function Ir(e){return{id:e.id,role:e.role,content:[{type:"text",text:e.content}],createdAt:new Date(e.createdAt),metadata:{custom:{}},...e.role==="assistant"&&{status:{type:"complete",reason:"stop"},metadata:{unstable_state:null,unstable_annotations:[],unstable_data:[],steps:[],custom:{}}},...e.role==="user"&&{attachments:[]}}}function pt(e,r){const{modelId:t,systemPrompt:a,ephemeral:i,onChatCreated:o,onUserMessage:n,onThreadIdUpdate:c}=r;return{async*run(s){const{messages:l,abortSignal:f,context:d}=s,p=d?.threadId;n?.();const h={messages:Nr(l),chatId:null,systemPrompt:a,ephemeral:i,stream:!0};t&&t.trim()!==""&&(h.modelId=t);const y=await e.createOrContinueChat(h,f);let g="",x;for await(const w of Sr(y,f)){if(f?.aborted)throw new Error("Request aborted");const v=w.id;v&&!x&&(x=v,o?.(v),p&&c&&c(p,v));const A=w.delta;if(A!=null&&(g+=A),w.type==="message"||w.content){const T=w.content||"";g+=T}if(w.message&&(g+=w.message.content||""),w.tool_calls,w.finished){g&&(yield{content:[{type:"text",text:g}]});break}g&&(yield{content:[{type:"text",text:g}]})}g&&(yield{content:[{type:"text",text:g}]})}}}const Je=new Map;function Mr(e,r){return{async list(){const t=[];let i,o=0;do{const c=await e.listChats({limit:50,cursor:i}),s=c.items||[];Array.isArray(s)&&s.length>0&&t.push(...s),i=c.nextCursor||void 0,o++}while(i&&o<50);return{threads:t.map(c=>{const s=c.id;return!s||c.deletedAt?null:{status:"regular",remoteId:s,title:c.title||"New Chat",createdAt:c.createdAt?new Date(c.createdAt):new Date,updatedAt:c.updatedAt?new Date(c.updatedAt):new Date}}).filter(c=>c!==null)}},async initialize(t){return{remoteId:Je.get(t)||t,externalId:void 0}},async rename(t,a){await e.updateChat(t,{title:a})},async archive(t){},async unarchive(t){},async delete(t){await e.deleteChat(t)},async generateTitle(t,a){return new ReadableStream},async fetch(t){try{const a=await e.getChat(t);return{status:"regular",remoteId:a.id||t,title:a.title||"Chat",createdAt:a.createdAt?new Date(a.createdAt):new Date,updatedAt:a.updatedAt?new Date(a.updatedAt):new Date}}catch{return{status:"regular",remoteId:t,createdAt:new Date,updatedAt:new Date}}},updateRemoteId(t,a){Je.set(t,a),r?.(t,a)},unstable_Provider:({children:t})=>{const i=j.useThreadListItem()?.remoteId,o=k.useMemo(()=>({async load(){if(!i)return{messages:[]};try{const c=await e.getChat(i);return!c.messages||c.messages.length===0?{messages:[]}:{messages:c.messages.map(l=>Ir(l))}}catch(c){return console.error("Failed to load messages for thread:",i,c),{messages:[]}}},async append(c){}}),[i,e]),n=k.useMemo(()=>({history:o}),[o]);return u.jsx(j.RuntimeAdapterProvider,{adapters:n,children:t})}}}function gt(){return{accept:".pdf,.docx,.txt,.md,.csv,.json,image/*",async add({file:e}){let r="file";return e.type.startsWith("image/")?r="image":(e.type.includes("pdf")||e.type.includes("document")||e.type.includes("text")||e.name.endsWith(".pdf")||e.name.endsWith(".docx")||e.name.endsWith(".txt")||e.name.endsWith(".md")||e.name.endsWith(".csv")||e.name.endsWith(".json"))&&(r="document"),{id:`${e.name}-${Date.now()}`,type:r,name:e.name,contentType:e.type,file:e,status:{type:"requires-action",reason:"composer-send"}}},async remove(){},async send(e){if(e.type==="image"&&e.file){const r=await new Promise((t,a)=>{const i=new FileReader;i.onload=()=>t(i.result),i.onerror=a,i.readAsDataURL(e.file)});return{...e,status:{type:"complete"},content:[{type:"image",image:r}]}}return{...e,status:{type:"complete"},content:[]}}}}function Lr({children:e,baseUrl:r,sessionToken:t,isProxyMode:a=!1,mode:i="multiChat",modelId:o,onModelChange:n,ephemeral:c=!1,systemPrompt:s,initialThreadId:l,onError:f,onChatCreated:d,onUserMessage:p,onThreadIdUpdate:b,onChatsLoaded:h,enableAttachments:y=!1}){const g=k.useMemo(()=>new mt(r,t||void 0,a),[r,t,a]),[x,w]=k.useState(o||null);k.useEffect(()=>{o&&w(o)},[o]);const v=k.useCallback(T=>{d?.(T)},[d]),A=k.useCallback((T,N)=>{b?.(T,N)},[b]),S=k.useMemo(()=>pt(g,{modelId:x||void 0,systemPrompt:s,ephemeral:c,onChatCreated:v,onUserMessage:p}),[g,x,s,c,v,p]);return i==="singleChat"?u.jsx(Pr,{modelAdapter:S,enableAttachments:y,children:e}):u.jsx(Rr,{client:g,modelAdapterOptions:{modelId:x||void 0,systemPrompt:s,ephemeral:c,onChatCreated:v,onUserMessage:p},initialThreadId:l,onChatsLoaded:h,onThreadIdUpdate:A,onError:f,enableAttachments:y,children:e})}function Pr({modelAdapter:e,enableAttachments:r,children:t}){const a=k.useMemo(()=>r?gt():void 0,[r]),i=j.useLocalRuntime(e,{adapters:{...a&&{attachments:a}}});return u.jsx(j.AssistantRuntimeProvider,{runtime:i,children:t})}function Rr({client:e,modelAdapterOptions:r,initialThreadId:t,onChatsLoaded:a,onThreadIdUpdate:i,onError:o,enableAttachments:n,children:c}){const s=k.useMemo(()=>Mr(e,(y,g)=>{i?.(y,g)}),[e,i]),l=k.useCallback((y,g)=>{s.updateRemoteId&&s.updateRemoteId(y,g),i?.(y,g)},[s,i]),f=k.useMemo(()=>({...s,async list(){const y=await s.list();return a?.(),y}}),[s,a]);k.useEffect(()=>{window.__cuadraThreadListAdapter=f,window.__cuadraThreadListRuntime=null},[f]);const d=k.useMemo(()=>pt(e,{...r,onThreadIdUpdate:l}),[e,r,l]),p=k.useMemo(()=>n?gt():void 0,[n]),b=k.useCallback(()=>j.useLocalRuntime(d,{adapters:{...p&&{attachments:p}}}),[d,p]),h=j.unstable_useRemoteThreadListRuntime({adapter:f,runtimeHook:b});return k.useEffect(()=>{window.__cuadraThreadListRuntime=h},[h]),u.jsx(j.AssistantRuntimeProvider,{runtime:h,children:c})}function Qe(e,r){const t=String(e);if(typeof r!="string")throw new TypeError("Expected character");let a=0,i=t.indexOf(r);for(;i!==-1;)a++,i=t.indexOf(r,i+r.length);return a}const re=pe(/[A-Za-z]/),Re=pe(/[\dA-Za-z]/);function Er(e){return e!==null&&(e<32||e===127)}function Z(e){return e!==null&&e<-2}function R(e){return e!==null&&(e<0||e===32)}function O(e){return e===-2||e===-1||e===32}const me=pe(/\p{P}|\p{S}/u),H=pe(/\s/);function pe(e){return r;function r(t){return t!==null&&t>-1&&e.test(String.fromCharCode(t))}}function Dr(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}const ge=(function(e){if(e==null)return $r;if(typeof e=="function")return xe(e);if(typeof e=="object")return Array.isArray(e)?Fr(e):_r(e);if(typeof e=="string")return zr(e);throw new Error("Expected function, string, or object as test")});function Fr(e){const r=[];let t=-1;for(;++t<e.length;)r[t]=ge(e[t]);return xe(a);function a(...i){let o=-1;for(;++o<r.length;)if(r[o].apply(this,i))return!0;return!1}}function _r(e){const r=e;return xe(t);function t(a){const i=a;let o;for(o in e)if(i[o]!==r[o])return!1;return!0}}function zr(e){return xe(r);function r(t){return t&&t.type===e}}function xe(e){return r;function r(t,a,i){return!!(Or(t)&&e.call(this,t,typeof a=="number"?a:void 0,i||void 0))}}function $r(){return!0}function Or(e){return e!==null&&typeof e=="object"&&"type"in e}const xt=[],Ur=!0,Me=!1,Wr="skip";function bt(e,r,t,a){let i;typeof r=="function"&&typeof t!="function"?(a=t,t=r):i=r;const o=ge(i),n=a?-1:1;c(e,void 0,[])();function c(s,l,f){const d=s&&typeof s=="object"?s:{};if(typeof d.type=="string"){const b=typeof d.tagName=="string"?d.tagName:typeof d.name=="string"?d.name:void 0;Object.defineProperty(p,"name",{value:"node ("+(s.type+(b?"<"+b+">":""))+")"})}return p;function p(){let b=xt,h,y,g;if((!r||o(s,l,f[f.length-1]||void 0))&&(b=Br(t(s,f)),b[0]===Me))return b;if("children"in s&&s.children){const x=s;if(x.children&&b[0]!==Wr)for(y=(a?x.children.length:-1)+n,g=f.concat(x);y>-1&&y<x.children.length;){const w=x.children[y];if(h=c(w,y,g)(),h[0]===Me)return h;y=typeof h[1]=="number"?h[1]:y+n}}return b}}}function Br(e){return Array.isArray(e)?e:typeof e=="number"?[Ur,e]:e==null?xt:[e]}function qr(e,r,t){const i=ge((t||{}).ignore||[]),o=Hr(r);let n=-1;for(;++n<o.length;)bt(e,"text",c);function c(l,f){let d=-1,p;for(;++d<f.length;){const b=f[d],h=p?p.children:void 0;if(i(b,h?h.indexOf(b):void 0,p))return;p=b}if(p)return s(l,f)}function s(l,f){const d=f[f.length-1],p=o[n][0],b=o[n][1];let h=0;const g=d.children.indexOf(l);let x=!1,w=[];p.lastIndex=0;let v=p.exec(l.value);for(;v;){const A=v.index,S={index:v.index,input:v.input,stack:[...f,l]};let T=b(...v,S);if(typeof T=="string"&&(T=T.length>0?{type:"text",value:T}:void 0),T===!1?p.lastIndex=A+1:(h!==A&&w.push({type:"text",value:l.value.slice(h,A)}),Array.isArray(T)?w.push(...T):T&&w.push(T),h=A+v[0].length,x=!0),!p.global)break;v=p.exec(l.value)}return x?(h<l.value.length&&w.push({type:"text",value:l.value.slice(h)}),d.children.splice(g,1,...w)):w=[l],g+w.length}}function Hr(e){const r=[];if(!Array.isArray(e))throw new TypeError("Expected find and replace tuple or list of tuples");const t=!e[0]||Array.isArray(e[0])?e:[e];let a=-1;for(;++a<t.length;){const i=t[a];r.push([Vr(i[0]),Xr(i[1])])}return r}function Vr(e){return typeof e=="string"?new RegExp(Dr(e),"g"):e}function Xr(e){return typeof e=="function"?e:function(){return e}}const ve="phrasing",Ce=["autolink","link","image","label"];function Kr(){return{transforms:[ta],enter:{literalAutolink:Zr,literalAutolinkEmail:je,literalAutolinkHttp:je,literalAutolinkWww:je},exit:{literalAutolink:ea,literalAutolinkEmail:Yr,literalAutolinkHttp:Jr,literalAutolinkWww:Qr}}}function Gr(){return{unsafe:[{character:"@",before:"[+\\-.\\w]",after:"[\\-.\\w]",inConstruct:ve,notInConstruct:Ce},{character:".",before:"[Ww]",after:"[\\-.\\w]",inConstruct:ve,notInConstruct:Ce},{character:":",before:"[ps]",after:"\\/",inConstruct:ve,notInConstruct:Ce}]}}function Zr(e){this.enter({type:"link",title:null,url:"",children:[]},e)}function je(e){this.config.enter.autolinkProtocol.call(this,e)}function Jr(e){this.config.exit.autolinkProtocol.call(this,e)}function Qr(e){this.config.exit.data.call(this,e);const r=this.stack[this.stack.length-1];r.type,r.url="http://"+this.sliceSerialize(e)}function Yr(e){this.config.exit.autolinkEmail.call(this,e)}function ea(e){this.exit(e)}function ta(e){qr(e,[[/(https?:\/\/|www(?=\.))([-.\w]+)([^ \t\r\n]*)/gi,ra],[/(?<=^|\s|\p{P}|\p{S})([-.\w+]+)@([-\w]+(?:\.[-\w]+)+)/gu,aa]],{ignore:["link","linkReference"]})}function ra(e,r,t,a,i){let o="";if(!yt(i)||(/^w/i.test(r)&&(t=r+t,r="",o="http://"),!na(t)))return!1;const n=ia(t+a);if(!n[0])return!1;const c={type:"link",title:null,url:o+r+n[0],children:[{type:"text",value:r+n[0]}]};return n[1]?[c,{type:"text",value:n[1]}]:c}function aa(e,r,t,a){return!yt(a,!0)||/[-\d_]$/.test(t)?!1:{type:"link",title:null,url:"mailto:"+r+"@"+t,children:[{type:"text",value:r+"@"+t}]}}function na(e){const r=e.split(".");return!(r.length<2||r[r.length-1]&&(/_/.test(r[r.length-1])||!/[a-zA-Z\d]/.test(r[r.length-1]))||r[r.length-2]&&(/_/.test(r[r.length-2])||!/[a-zA-Z\d]/.test(r[r.length-2])))}function ia(e){const r=/[!"&'),.:;<>?\]}]+$/.exec(e);if(!r)return[e,void 0];e=e.slice(0,r.index);let t=r[0],a=t.indexOf(")");const i=Qe(e,"(");let o=Qe(e,")");for(;a!==-1&&i>o;)e+=t.slice(0,a+1),t=t.slice(a+1),a=t.indexOf(")"),o++;return[e,t]}function yt(e,r){const t=e.input.charCodeAt(e.index-1);return(e.index===0||H(t)||me(t))&&(!r||t!==47)}function ne(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}kt.peek=ma;function oa(){this.buffer()}function sa(e){this.enter({type:"footnoteReference",identifier:"",label:""},e)}function ca(){this.buffer()}function ua(e){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},e)}function la(e){const r=this.resume(),t=this.stack[this.stack.length-1];t.type,t.identifier=ne(this.sliceSerialize(e)).toLowerCase(),t.label=r}function da(e){this.exit(e)}function fa(e){const r=this.resume(),t=this.stack[this.stack.length-1];t.type,t.identifier=ne(this.sliceSerialize(e)).toLowerCase(),t.label=r}function ha(e){this.exit(e)}function ma(){return"["}function kt(e,r,t,a){const i=t.createTracker(a);let o=i.move("[^");const n=t.enter("footnoteReference"),c=t.enter("reference");return o+=i.move(t.safe(t.associationId(e),{after:"]",before:o})),c(),n(),o+=i.move("]"),o}function pa(){return{enter:{gfmFootnoteCallString:oa,gfmFootnoteCall:sa,gfmFootnoteDefinitionLabelString:ca,gfmFootnoteDefinition:ua},exit:{gfmFootnoteCallString:la,gfmFootnoteCall:da,gfmFootnoteDefinitionLabelString:fa,gfmFootnoteDefinition:ha}}}function ga(e){let r=!1;return e&&e.firstLineBlank&&(r=!0),{handlers:{footnoteDefinition:t,footnoteReference:kt},unsafe:[{character:"[",inConstruct:["label","phrasing","reference"]}]};function t(a,i,o,n){const c=o.createTracker(n);let s=c.move("[^");const l=o.enter("footnoteDefinition"),f=o.enter("label");return s+=c.move(o.safe(o.associationId(a),{before:s,after:"]"})),f(),s+=c.move("]:"),a.children&&a.children.length>0&&(c.shift(4),s+=c.move((r?`
|
|
4
|
+
`:" ")+o.indentLines(o.containerFlow(a,c.current()),r?wt:xa))),l(),s}}function xa(e,r,t){return r===0?e:wt(e,r,t)}function wt(e,r,t){return(t?"":" ")+e}const ba=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"];vt.peek=Ca;function ya(){return{canContainEols:["delete"],enter:{strikethrough:wa},exit:{strikethrough:va}}}function ka(){return{unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:ba}],handlers:{delete:vt}}}function wa(e){this.enter({type:"delete",children:[]},e)}function va(e){this.exit(e)}function vt(e,r,t,a){const i=t.createTracker(a),o=t.enter("strikethrough");let n=i.move("~~");return n+=t.containerPhrasing(e,{...i.current(),before:n,after:"~"}),n+=i.move("~~"),o(),n}function Ca(){return"~"}function ja(e){return e.length}function Ta(e,r){const t=r||{},a=(t.align||[]).concat(),i=t.stringLength||ja,o=[],n=[],c=[],s=[];let l=0,f=-1;for(;++f<e.length;){const y=[],g=[];let x=-1;for(e[f].length>l&&(l=e[f].length);++x<e[f].length;){const w=Aa(e[f][x]);if(t.alignDelimiters!==!1){const v=i(w);g[x]=v,(s[x]===void 0||v>s[x])&&(s[x]=v)}y.push(w)}n[f]=y,c[f]=g}let d=-1;if(typeof a=="object"&&"length"in a)for(;++d<l;)o[d]=Ye(a[d]);else{const y=Ye(a);for(;++d<l;)o[d]=y}d=-1;const p=[],b=[];for(;++d<l;){const y=o[d];let g="",x="";y===99?(g=":",x=":"):y===108?g=":":y===114&&(x=":");let w=t.alignDelimiters===!1?1:Math.max(1,s[d]-g.length-x.length);const v=g+"-".repeat(w)+x;t.alignDelimiters!==!1&&(w=g.length+w+x.length,w>s[d]&&(s[d]=w),b[d]=w),p[d]=v}n.splice(1,0,p),c.splice(1,0,b),f=-1;const h=[];for(;++f<n.length;){const y=n[f],g=c[f];d=-1;const x=[];for(;++d<l;){const w=y[d]||"";let v="",A="";if(t.alignDelimiters!==!1){const S=s[d]-(g[d]||0),T=o[d];T===114?v=" ".repeat(S):T===99?S%2?(v=" ".repeat(S/2+.5),A=" ".repeat(S/2-.5)):(v=" ".repeat(S/2),A=v):A=" ".repeat(S)}t.delimiterStart!==!1&&!d&&x.push("|"),t.padding!==!1&&!(t.alignDelimiters===!1&&w==="")&&(t.delimiterStart!==!1||d)&&x.push(" "),t.alignDelimiters!==!1&&x.push(v),x.push(w),t.alignDelimiters!==!1&&x.push(A),t.padding!==!1&&x.push(" "),(t.delimiterEnd!==!1||d!==l-1)&&x.push("|")}h.push(t.delimiterEnd===!1?x.join("").replace(/ +$/,""):x.join(""))}return h.join(`
|
|
5
|
+
`)}function Aa(e){return e==null?"":String(e)}function Ye(e){const r=typeof e=="string"?e.codePointAt(0):0;return r===67||r===99?99:r===76||r===108?108:r===82||r===114?114:0}function Sa(e,r,t,a){const i=t.enter("blockquote"),o=t.createTracker(a);o.move("> "),o.shift(2);const n=t.indentLines(t.containerFlow(e,o.current()),Na);return i(),n}function Na(e,r,t){return">"+(t?"":" ")+e}function Ia(e,r){return et(e,r.inConstruct,!0)&&!et(e,r.notInConstruct,!1)}function et(e,r,t){if(typeof r=="string"&&(r=[r]),!r||r.length===0)return t;let a=-1;for(;++a<r.length;)if(e.includes(r[a]))return!0;return!1}function tt(e,r,t,a){let i=-1;for(;++i<t.unsafe.length;)if(t.unsafe[i].character===`
|
|
6
|
+
`&&Ia(t.stack,t.unsafe[i]))return/[ \t]/.test(a.before)?"":" ";return`\\
|
|
7
|
+
`}function Ma(e,r){const t=String(e);let a=t.indexOf(r),i=a,o=0,n=0;if(typeof r!="string")throw new TypeError("Expected substring");for(;a!==-1;)a===i?++o>n&&(n=o):o=1,i=a+r.length,a=t.indexOf(r,i);return n}function La(e,r){return!!(r.options.fences===!1&&e.value&&!e.lang&&/[^ \r\n]/.test(e.value)&&!/^[\t ]*(?:[\r\n]|$)|(?:^|[\r\n])[\t ]*$/.test(e.value))}function Pa(e){const r=e.options.fence||"`";if(r!=="`"&&r!=="~")throw new Error("Cannot serialize code with `"+r+"` for `options.fence`, expected `` ` `` or `~`");return r}function Ra(e,r,t,a){const i=Pa(t),o=e.value||"",n=i==="`"?"GraveAccent":"Tilde";if(La(e,t)){const d=t.enter("codeIndented"),p=t.indentLines(o,Ea);return d(),p}const c=t.createTracker(a),s=i.repeat(Math.max(Ma(o,i)+1,3)),l=t.enter("codeFenced");let f=c.move(s);if(e.lang){const d=t.enter(`codeFencedLang${n}`);f+=c.move(t.safe(e.lang,{before:f,after:" ",encode:["`"],...c.current()})),d()}if(e.lang&&e.meta){const d=t.enter(`codeFencedMeta${n}`);f+=c.move(" "),f+=c.move(t.safe(e.meta,{before:f,after:`
|
|
8
8
|
`,encode:["`"],...c.current()})),d()}return f+=c.move(`
|
|
9
9
|
`),o&&(f+=c.move(o+`
|
|
10
|
-
`)),f+=c.move(s),l(),f}function
|
|
11
|
-
`,...s.current()}))),c(),e.title&&(c=t.enter(`title${o}`),l+=s.move(" "+i),l+=s.move(t.safe(e.title,{before:l,after:i,...s.current()})),l+=s.move(i),c()),n(),l}function
|
|
10
|
+
`)),f+=c.move(s),l(),f}function Ea(e,r,t){return(t?"":" ")+e}function Ee(e){const r=e.options.quote||'"';if(r!=='"'&&r!=="'")throw new Error("Cannot serialize title with `"+r+"` for `options.quote`, expected `\"`, or `'`");return r}function Da(e,r,t,a){const i=Ee(t),o=i==='"'?"Quote":"Apostrophe",n=t.enter("definition");let c=t.enter("label");const s=t.createTracker(a);let l=s.move("[");return l+=s.move(t.safe(t.associationId(e),{before:l,after:"]",...s.current()})),l+=s.move("]: "),c(),!e.url||/[\0- \u007F]/.test(e.url)?(c=t.enter("destinationLiteral"),l+=s.move("<"),l+=s.move(t.safe(e.url,{before:l,after:">",...s.current()})),l+=s.move(">")):(c=t.enter("destinationRaw"),l+=s.move(t.safe(e.url,{before:l,after:e.title?" ":`
|
|
11
|
+
`,...s.current()}))),c(),e.title&&(c=t.enter(`title${o}`),l+=s.move(" "+i),l+=s.move(t.safe(e.title,{before:l,after:i,...s.current()})),l+=s.move(i),c()),n(),l}function Fa(e){const r=e.options.emphasis||"*";if(r!=="*"&&r!=="_")throw new Error("Cannot serialize emphasis with `"+r+"` for `options.emphasis`, expected `*`, or `_`");return r}function ae(e){return"&#x"+e.toString(16).toUpperCase()+";"}function fe(e){if(e===null||R(e)||H(e))return 1;if(me(e))return 2}function he(e,r,t){const a=fe(e),i=fe(r);return a===void 0?i===void 0?t==="_"?{inside:!0,outside:!0}:{inside:!1,outside:!1}:i===1?{inside:!0,outside:!0}:{inside:!1,outside:!0}:a===1?i===void 0?{inside:!1,outside:!1}:i===1?{inside:!0,outside:!0}:{inside:!1,outside:!1}:i===void 0?{inside:!1,outside:!1}:i===1?{inside:!0,outside:!1}:{inside:!1,outside:!1}}Ct.peek=_a;function Ct(e,r,t,a){const i=Fa(t),o=t.enter("emphasis"),n=t.createTracker(a),c=n.move(i);let s=n.move(t.containerPhrasing(e,{after:i,before:c,...n.current()}));const l=s.charCodeAt(0),f=he(a.before.charCodeAt(a.before.length-1),l,i);f.inside&&(s=ae(l)+s.slice(1));const d=s.charCodeAt(s.length-1),p=he(a.after.charCodeAt(0),d,i);p.inside&&(s=s.slice(0,-1)+ae(d));const b=n.move(i);return o(),t.attentionEncodeSurroundingInfo={after:p.outside,before:f.outside},c+s+b}function _a(e,r,t){return t.options.emphasis||"*"}function za(e,r,t,a){let i,o,n;typeof r=="function"&&typeof t!="function"?(o=void 0,n=r,i=t):(o=r,n=t,i=a),bt(e,o,c,i);function c(s,l){const f=l[l.length-1],d=f?f.children.indexOf(s):void 0;return n(s,d,f)}}const $a={};function jt(e,r){const t=$a,a=typeof t.includeImageAlt=="boolean"?t.includeImageAlt:!0,i=typeof t.includeHtml=="boolean"?t.includeHtml:!0;return Tt(e,a,i)}function Tt(e,r,t){if(Oa(e)){if("value"in e)return e.type==="html"&&!t?"":e.value;if(r&&"alt"in e&&e.alt)return e.alt;if("children"in e)return rt(e.children,r,t)}return Array.isArray(e)?rt(e,r,t):""}function rt(e,r,t){const a=[];let i=-1;for(;++i<e.length;)a[i]=Tt(e[i],r,t);return a.join("")}function Oa(e){return!!(e&&typeof e=="object")}function Ua(e,r){let t=!1;return za(e,function(a){if("value"in a&&/\r?\n|\r/.test(a.value)||a.type==="break")return t=!0,Me}),!!((!e.depth||e.depth<3)&&jt(e)&&(r.options.setext||t))}function Wa(e,r,t,a){const i=Math.max(Math.min(6,e.depth||1),1),o=t.createTracker(a);if(Ua(e,t)){const f=t.enter("headingSetext"),d=t.enter("phrasing"),p=t.containerPhrasing(e,{...o.current(),before:`
|
|
12
12
|
`,after:`
|
|
13
13
|
`});return d(),f(),p+`
|
|
14
14
|
`+(i===1?"=":"-").repeat(p.length-(Math.max(p.lastIndexOf("\r"),p.lastIndexOf(`
|
|
15
15
|
`))+1))}const n="#".repeat(i),c=t.enter("headingAtx"),s=t.enter("phrasing");o.move(n+" ");let l=t.containerPhrasing(e,{before:"# ",after:`
|
|
16
|
-
`,...o.current()});return/^[\t ]/.test(l)&&(l=ae(l.charCodeAt(0))+l.slice(1)),l=l?n+" "+l:n,t.options.closeAtx&&(l+=" "+n),s(),c(),l}At.peek=
|
|
16
|
+
`,...o.current()});return/^[\t ]/.test(l)&&(l=ae(l.charCodeAt(0))+l.slice(1)),l=l?n+" "+l:n,t.options.closeAtx&&(l+=" "+n),s(),c(),l}At.peek=Ba;function At(e){return e.value||""}function Ba(){return"<"}St.peek=qa;function St(e,r,t,a){const i=Ee(t),o=i==='"'?"Quote":"Apostrophe",n=t.enter("image");let c=t.enter("label");const s=t.createTracker(a);let l=s.move("![");return l+=s.move(t.safe(e.alt,{before:l,after:"]",...s.current()})),l+=s.move("]("),c(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(c=t.enter("destinationLiteral"),l+=s.move("<"),l+=s.move(t.safe(e.url,{before:l,after:">",...s.current()})),l+=s.move(">")):(c=t.enter("destinationRaw"),l+=s.move(t.safe(e.url,{before:l,after:e.title?" ":")",...s.current()}))),c(),e.title&&(c=t.enter(`title${o}`),l+=s.move(" "+i),l+=s.move(t.safe(e.title,{before:l,after:i,...s.current()})),l+=s.move(i),c()),l+=s.move(")"),n(),l}function qa(){return"!"}Nt.peek=Ha;function Nt(e,r,t,a){const i=e.referenceType,o=t.enter("imageReference");let n=t.enter("label");const c=t.createTracker(a);let s=c.move("![");const l=t.safe(e.alt,{before:s,after:"]",...c.current()});s+=c.move(l+"]["),n();const f=t.stack;t.stack=[],n=t.enter("reference");const d=t.safe(t.associationId(e),{before:s,after:"]",...c.current()});return n(),t.stack=f,o(),i==="full"||!l||l!==d?s+=c.move(d+"]"):i==="shortcut"?s=s.slice(0,-1):s+=c.move("]"),s}function Ha(){return"!"}It.peek=Va;function It(e,r,t){let a=e.value||"",i="`",o=-1;for(;new RegExp("(^|[^`])"+i+"([^`]|$)").test(a);)i+="`";for(/[^ \r\n]/.test(a)&&(/^[ \r\n]/.test(a)&&/[ \r\n]$/.test(a)||/^`|`$/.test(a))&&(a=" "+a+" ");++o<t.unsafe.length;){const n=t.unsafe[o],c=t.compilePattern(n);let s;if(n.atBreak)for(;s=c.exec(a);){let l=s.index;a.charCodeAt(l)===10&&a.charCodeAt(l-1)===13&&l--,a=a.slice(0,l)+" "+a.slice(s.index+1)}}return i+a+i}function Va(){return"`"}function Mt(e,r){const t=jt(e);return!!(!r.options.resourceLink&&e.url&&!e.title&&e.children&&e.children.length===1&&e.children[0].type==="text"&&(t===e.url||"mailto:"+t===e.url)&&/^[a-z][a-z+.-]+:/i.test(e.url)&&!/[\0- <>\u007F]/.test(e.url))}Lt.peek=Xa;function Lt(e,r,t,a){const i=Ee(t),o=i==='"'?"Quote":"Apostrophe",n=t.createTracker(a);let c,s;if(Mt(e,t)){const f=t.stack;t.stack=[],c=t.enter("autolink");let d=n.move("<");return d+=n.move(t.containerPhrasing(e,{before:d,after:">",...n.current()})),d+=n.move(">"),c(),t.stack=f,d}c=t.enter("link"),s=t.enter("label");let l=n.move("[");return l+=n.move(t.containerPhrasing(e,{before:l,after:"](",...n.current()})),l+=n.move("]("),s(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(s=t.enter("destinationLiteral"),l+=n.move("<"),l+=n.move(t.safe(e.url,{before:l,after:">",...n.current()})),l+=n.move(">")):(s=t.enter("destinationRaw"),l+=n.move(t.safe(e.url,{before:l,after:e.title?" ":")",...n.current()}))),s(),e.title&&(s=t.enter(`title${o}`),l+=n.move(" "+i),l+=n.move(t.safe(e.title,{before:l,after:i,...n.current()})),l+=n.move(i),s()),l+=n.move(")"),c(),l}function Xa(e,r,t){return Mt(e,t)?"<":"["}Pt.peek=Ka;function Pt(e,r,t,a){const i=e.referenceType,o=t.enter("linkReference");let n=t.enter("label");const c=t.createTracker(a);let s=c.move("[");const l=t.containerPhrasing(e,{before:s,after:"]",...c.current()});s+=c.move(l+"]["),n();const f=t.stack;t.stack=[],n=t.enter("reference");const d=t.safe(t.associationId(e),{before:s,after:"]",...c.current()});return n(),t.stack=f,o(),i==="full"||!l||l!==d?s+=c.move(d+"]"):i==="shortcut"?s=s.slice(0,-1):s+=c.move("]"),s}function Ka(){return"["}function De(e){const r=e.options.bullet||"*";if(r!=="*"&&r!=="+"&&r!=="-")throw new Error("Cannot serialize items with `"+r+"` for `options.bullet`, expected `*`, `+`, or `-`");return r}function Ga(e){const r=De(e),t=e.options.bulletOther;if(!t)return r==="*"?"-":"*";if(t!=="*"&&t!=="+"&&t!=="-")throw new Error("Cannot serialize items with `"+t+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(t===r)throw new Error("Expected `bullet` (`"+r+"`) and `bulletOther` (`"+t+"`) to be different");return t}function Za(e){const r=e.options.bulletOrdered||".";if(r!=="."&&r!==")")throw new Error("Cannot serialize items with `"+r+"` for `options.bulletOrdered`, expected `.` or `)`");return r}function Rt(e){const r=e.options.rule||"*";if(r!=="*"&&r!=="-"&&r!=="_")throw new Error("Cannot serialize rules with `"+r+"` for `options.rule`, expected `*`, `-`, or `_`");return r}function Ja(e,r,t,a){const i=t.enter("list"),o=t.bulletCurrent;let n=e.ordered?Za(t):De(t);const c=e.ordered?n==="."?")":".":Ga(t);let s=r&&t.bulletLastUsed?n===t.bulletLastUsed:!1;if(!e.ordered){const f=e.children?e.children[0]:void 0;if((n==="*"||n==="-")&&f&&(!f.children||!f.children[0])&&t.stack[t.stack.length-1]==="list"&&t.stack[t.stack.length-2]==="listItem"&&t.stack[t.stack.length-3]==="list"&&t.stack[t.stack.length-4]==="listItem"&&t.indexStack[t.indexStack.length-1]===0&&t.indexStack[t.indexStack.length-2]===0&&t.indexStack[t.indexStack.length-3]===0&&(s=!0),Rt(t)===n&&f){let d=-1;for(;++d<e.children.length;){const p=e.children[d];if(p&&p.type==="listItem"&&p.children&&p.children[0]&&p.children[0].type==="thematicBreak"){s=!0;break}}}}s&&(n=c),t.bulletCurrent=n;const l=t.containerFlow(e,a);return t.bulletLastUsed=n,t.bulletCurrent=o,i(),l}function Qa(e){const r=e.options.listItemIndent||"one";if(r!=="tab"&&r!=="one"&&r!=="mixed")throw new Error("Cannot serialize items with `"+r+"` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`");return r}function Ya(e,r,t,a){const i=Qa(t);let o=t.bulletCurrent||De(t);r&&r.type==="list"&&r.ordered&&(o=(typeof r.start=="number"&&r.start>-1?r.start:1)+(t.options.incrementListMarker===!1?0:r.children.indexOf(e))+o);let n=o.length+1;(i==="tab"||i==="mixed"&&(r&&r.type==="list"&&r.spread||e.spread))&&(n=Math.ceil(n/4)*4);const c=t.createTracker(a);c.move(o+" ".repeat(n-o.length)),c.shift(n);const s=t.enter("listItem"),l=t.indentLines(t.containerFlow(e,c.current()),f);return s(),l;function f(d,p,b){return p?(b?"":" ".repeat(n))+d:(b?o:o+" ".repeat(n-o.length))+d}}function en(e,r,t,a){const i=t.enter("paragraph"),o=t.enter("phrasing"),n=t.containerPhrasing(e,a);return o(),i(),n}const tn=ge(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function rn(e,r,t,a){return(e.children.some(function(n){return tn(n)})?t.containerPhrasing:t.containerFlow).call(t,e,a)}function an(e){const r=e.options.strong||"*";if(r!=="*"&&r!=="_")throw new Error("Cannot serialize strong with `"+r+"` for `options.strong`, expected `*`, or `_`");return r}Et.peek=nn;function Et(e,r,t,a){const i=an(t),o=t.enter("strong"),n=t.createTracker(a),c=n.move(i+i);let s=n.move(t.containerPhrasing(e,{after:i,before:c,...n.current()}));const l=s.charCodeAt(0),f=he(a.before.charCodeAt(a.before.length-1),l,i);f.inside&&(s=ae(l)+s.slice(1));const d=s.charCodeAt(s.length-1),p=he(a.after.charCodeAt(0),d,i);p.inside&&(s=s.slice(0,-1)+ae(d));const b=n.move(i+i);return o(),t.attentionEncodeSurroundingInfo={after:p.outside,before:f.outside},c+s+b}function nn(e,r,t){return t.options.strong||"*"}function on(e,r,t,a){return t.safe(e.value,a)}function sn(e){const r=e.options.ruleRepetition||3;if(r<3)throw new Error("Cannot serialize rules with repetition `"+r+"` for `options.ruleRepetition`, expected `3` or more");return r}function cn(e,r,t){const a=(Rt(t)+(t.options.ruleSpaces?" ":"")).repeat(sn(t));return t.options.ruleSpaces?a.slice(0,-1):a}const Dt={blockquote:Sa,break:tt,code:Ra,definition:Da,emphasis:Ct,hardBreak:tt,heading:Wa,html:At,image:St,imageReference:Nt,inlineCode:It,link:Lt,linkReference:Pt,list:Ja,listItem:Ya,paragraph:en,root:rn,strong:Et,text:on,thematicBreak:cn};function un(){return{enter:{table:ln,tableData:at,tableHeader:at,tableRow:fn},exit:{codeText:hn,table:dn,tableData:Te,tableHeader:Te,tableRow:Te}}}function ln(e){const r=e._align;this.enter({type:"table",align:r.map(function(t){return t==="none"?null:t}),children:[]},e),this.data.inTable=!0}function dn(e){this.exit(e),this.data.inTable=void 0}function fn(e){this.enter({type:"tableRow",children:[]},e)}function Te(e){this.exit(e)}function at(e){this.enter({type:"tableCell",children:[]},e)}function hn(e){let r=this.resume();this.data.inTable&&(r=r.replace(/\\([\\|])/g,mn));const t=this.stack[this.stack.length-1];t.type,t.value=r,this.exit(e)}function mn(e,r){return r==="|"?r:e}function pn(e){const r=e||{},t=r.tableCellPadding,a=r.tablePipeAlign,i=r.stringLength,o=t?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:`
|
|
17
17
|
`,inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[ :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:p,table:n,tableCell:s,tableRow:c}};function n(b,h,y,g){return l(f(b,y,g),b.align)}function c(b,h,y,g){const x=d(b,y,g),w=l([x]);return w.slice(0,w.indexOf(`
|
|
18
|
-
`))}function s(b,h,y,g){const x=y.enter("tableCell"),w=y.enter("phrasing"),C=y.containerPhrasing(b,{...g,before:o,after:o});return w(),x(),C}function l(b,h){return va(b,{align:h,alignDelimiters:a,padding:t,stringLength:i})}function f(b,h,y){const g=b.children;let x=-1;const w=[],C=h.enter("table");for(;++x<g.length;)w[x]=d(g[x],h,y);return C(),w}function d(b,h,y){const g=b.children;let x=-1;const w=[],C=h.enter("tableRow");for(;++x<g.length;)w[x]=s(g[x],b,h,y);return C(),w}function p(b,h,y){let g=Ft.inlineCode(b,h,y);return y.stack.includes("tableCell")&&(g=g.replace(/\|/g,"\\$&")),g}}function mn(){return{exit:{taskListCheckValueChecked:nt,taskListCheckValueUnchecked:nt,paragraph:gn}}}function pn(){return{unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:xn}}}function nt(e){const r=this.stack[this.stack.length-2];r.type,r.checked=e.type==="taskListCheckValueChecked"}function gn(e){const r=this.stack[this.stack.length-2];if(r&&r.type==="listItem"&&typeof r.checked=="boolean"){const t=this.stack[this.stack.length-1];t.type;const a=t.children[0];if(a&&a.type==="text"){const i=r.children;let o=-1,n;for(;++o<i.length;){const c=i[o];if(c.type==="paragraph"){n=c;break}}n===t&&(a.value=a.value.slice(1),a.value.length===0?t.children.shift():t.position&&a.position&&typeof a.position.start.offset=="number"&&(a.position.start.column++,a.position.start.offset++,t.position.start=Object.assign({},a.position.start)))}}this.exit(e)}function xn(e,r,t,a){const i=e.children[0],o=typeof e.checked=="boolean"&&i&&i.type==="paragraph",n="["+(e.checked?"x":" ")+"] ",c=t.createTracker(a);o&&c.move(n);let s=Ft.listItem(e,r,t,{...a,...c.current()});return o&&(s=s.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,l)),s;function l(f){return f+n}}function bn(){return[Xr(),ha(),xa(),sn(),mn()]}function yn(e){return{extensions:[Kr(),ma(e),ba(),hn(e),pn()]}}function de(e,r,t,a){const i=e.length;let o=0,n;if(r<0?r=-r>i?0:i+r:r=r>i?i:r,t=t>0?t:0,a.length<1e4)n=Array.from(a),n.unshift(r,t),e.splice(...n);else for(t&&e.splice(r,t);o<a.length;)n=a.slice(o,o+1e4),n.unshift(r,0),e.splice(...n),o+=1e4,r+=1e4}const it={}.hasOwnProperty;function kn(e){const r={};let t=-1;for(;++t<e.length;)wn(r,e[t]);return r}function wn(e,r){let t;for(t in r){const i=(it.call(e,t)?e[t]:void 0)||(e[t]={}),o=r[t];let n;if(o)for(n in o){it.call(i,n)||(i[n]=[]);const c=o[n];Cn(i[n],Array.isArray(c)?c:c?[c]:[])}}}function Cn(e,r){let t=-1;const a=[];for(;++t<r.length;)(r[t].add==="after"?e:a).push(r[t]);de(e,0,0,a)}const vn={tokenize:In,partial:!0},Et={tokenize:Mn,partial:!0},_t={tokenize:Ln,partial:!0},zt={tokenize:Pn,partial:!0},jn={tokenize:Rn,partial:!0},$t={name:"wwwAutolink",tokenize:Sn,previous:Ut},Ot={name:"protocolAutolink",tokenize:Nn,previous:Wt},W={name:"emailAutolink",tokenize:An,previous:Bt},F={};function Tn(){return{text:F}}let q=48;for(;q<123;)F[q]=W,q++,q===58?q=65:q===91&&(q=97);F[43]=W;F[45]=W;F[46]=W;F[95]=W;F[72]=[W,Ot];F[104]=[W,Ot];F[87]=[W,$t];F[119]=[W,$t];function An(e,r,t){const a=this;let i,o;return n;function n(d){return!Le(d)||!Bt.call(a,a.previous)||Ee(a.events)?t(d):(e.enter("literalAutolink"),e.enter("literalAutolinkEmail"),c(d))}function c(d){return Le(d)?(e.consume(d),c):d===64?(e.consume(d),s):t(d)}function s(d){return d===46?e.check(jn,f,l)(d):d===45||d===95||Re(d)?(o=!0,e.consume(d),s):f(d)}function l(d){return e.consume(d),i=!0,s}function f(d){return o&&i&&re(a.previous)?(e.exit("literalAutolinkEmail"),e.exit("literalAutolink"),r(d)):t(d)}}function Sn(e,r,t){const a=this;return i;function i(n){return n!==87&&n!==119||!Ut.call(a,a.previous)||Ee(a.events)?t(n):(e.enter("literalAutolink"),e.enter("literalAutolinkWww"),e.check(vn,e.attempt(Et,e.attempt(_t,o),t),t)(n))}function o(n){return e.exit("literalAutolinkWww"),e.exit("literalAutolink"),r(n)}}function Nn(e,r,t){const a=this;let i="",o=!1;return n;function n(d){return(d===72||d===104)&&Wt.call(a,a.previous)&&!Ee(a.events)?(e.enter("literalAutolink"),e.enter("literalAutolinkHttp"),i+=String.fromCodePoint(d),e.consume(d),c):t(d)}function c(d){if(re(d)&&i.length<5)return i+=String.fromCodePoint(d),e.consume(d),c;if(d===58){const p=i.toLowerCase();if(p==="http"||p==="https")return e.consume(d),s}return t(d)}function s(d){return d===47?(e.consume(d),o?l:(o=!0,s)):t(d)}function l(d){return d===null||Pr(d)||R(d)||H(d)||me(d)?t(d):e.attempt(Et,e.attempt(_t,f),t)(d)}function f(d){return e.exit("literalAutolinkHttp"),e.exit("literalAutolink"),r(d)}}function In(e,r,t){let a=0;return i;function i(n){return(n===87||n===119)&&a<3?(a++,e.consume(n),i):n===46&&a===3?(e.consume(n),o):t(n)}function o(n){return n===null?t(n):r(n)}}function Mn(e,r,t){let a,i,o;return n;function n(l){return l===46||l===95?e.check(zt,s,c)(l):l===null||R(l)||H(l)||l!==45&&me(l)?s(l):(o=!0,e.consume(l),n)}function c(l){return l===95?a=!0:(i=a,a=void 0),e.consume(l),n}function s(l){return i||a||!o?t(l):r(l)}}function Ln(e,r){let t=0,a=0;return i;function i(n){return n===40?(t++,e.consume(n),i):n===41&&a<t?o(n):n===33||n===34||n===38||n===39||n===41||n===42||n===44||n===46||n===58||n===59||n===60||n===63||n===93||n===95||n===126?e.check(zt,r,o)(n):n===null||R(n)||H(n)?r(n):(e.consume(n),i)}function o(n){return n===41&&a++,e.consume(n),i}}function Pn(e,r,t){return a;function a(c){return c===33||c===34||c===39||c===41||c===42||c===44||c===46||c===58||c===59||c===63||c===95||c===126?(e.consume(c),a):c===38?(e.consume(c),o):c===93?(e.consume(c),i):c===60||c===null||R(c)||H(c)?r(c):t(c)}function i(c){return c===null||c===40||c===91||R(c)||H(c)?r(c):a(c)}function o(c){return re(c)?n(c):t(c)}function n(c){return c===59?(e.consume(c),a):re(c)?(e.consume(c),n):t(c)}}function Rn(e,r,t){return a;function a(o){return e.consume(o),i}function i(o){return Re(o)?t(o):r(o)}}function Ut(e){return e===null||e===40||e===42||e===95||e===91||e===93||e===126||R(e)}function Wt(e){return!re(e)}function Bt(e){return!(e===47||Le(e))}function Le(e){return e===43||e===45||e===46||e===95||Re(e)}function Ee(e){let r=e.length,t=!1;for(;r--;){const a=e[r][1];if((a.type==="labelLink"||a.type==="labelImage")&&!a._balanced){t=!0;break}if(a._gfmAutolinkLiteralWalkedInto){t=!1;break}}return e.length>0&&!t&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),t}function Dn(e,r,t){const a=[];let i=-1;for(;++i<e.length;){const o=e[i].resolveAll;o&&!a.includes(o)&&(r=o(r,t),a.push(o))}return r}function U(e,r,t,a){const i=a?a-1:Number.POSITIVE_INFINITY;let o=0;return n;function n(s){return O(s)?(e.enter(t),c(s)):r(s)}function c(s){return O(s)&&o++<i?(e.consume(s),c):(e.exit(t),r(s))}}const Fn={partial:!0,tokenize:En};function En(e,r,t){return a;function a(o){return O(o)?U(e,i,"linePrefix")(o):i(o)}function i(o){return o===null||Z(o)?r(o):t(o)}}const _n={tokenize:Hn,partial:!0};function zn(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:Wn,continuation:{tokenize:Bn},exit:qn}},text:{91:{name:"gfmFootnoteCall",tokenize:Un},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:$n,resolveTo:On}}}}function $n(e,r,t){const a=this;let i=a.events.length;const o=a.parser.gfmFootnotes||(a.parser.gfmFootnotes=[]);let n;for(;i--;){const s=a.events[i][1];if(s.type==="labelImage"){n=s;break}if(s.type==="gfmFootnoteCall"||s.type==="labelLink"||s.type==="label"||s.type==="image"||s.type==="link")break}return c;function c(s){if(!n||!n._balanced)return t(s);const l=ne(a.sliceSerialize({start:n.end,end:a.now()}));return l.codePointAt(0)!==94||!o.includes(l.slice(1))?t(s):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(s),e.exit("gfmFootnoteCallLabelMarker"),r(s))}}function On(e,r){let t=e.length;for(;t--;)if(e[t][1].type==="labelImage"&&e[t][0]==="enter"){e[t][1];break}e[t+1][1].type="data",e[t+3][1].type="gfmFootnoteCallLabelMarker";const a={type:"gfmFootnoteCall",start:Object.assign({},e[t+3][1].start),end:Object.assign({},e[e.length-1][1].end)},i={type:"gfmFootnoteCallMarker",start:Object.assign({},e[t+3][1].end),end:Object.assign({},e[t+3][1].end)};i.end.column++,i.end.offset++,i.end._bufferIndex++;const o={type:"gfmFootnoteCallString",start:Object.assign({},i.end),end:Object.assign({},e[e.length-1][1].start)},n={type:"chunkString",contentType:"string",start:Object.assign({},o.start),end:Object.assign({},o.end)},c=[e[t+1],e[t+2],["enter",a,r],e[t+3],e[t+4],["enter",i,r],["exit",i,r],["enter",o,r],["enter",n,r],["exit",n,r],["exit",o,r],e[e.length-2],e[e.length-1],["exit",a,r]];return e.splice(t,e.length-t+1,...c),e}function Un(e,r,t){const a=this,i=a.parser.gfmFootnotes||(a.parser.gfmFootnotes=[]);let o=0,n;return c;function c(d){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(d),e.exit("gfmFootnoteCallLabelMarker"),s}function s(d){return d!==94?t(d):(e.enter("gfmFootnoteCallMarker"),e.consume(d),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",l)}function l(d){if(o>999||d===93&&!n||d===null||d===91||R(d))return t(d);if(d===93){e.exit("chunkString");const p=e.exit("gfmFootnoteCallString");return i.includes(ne(a.sliceSerialize(p)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(d),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),r):t(d)}return R(d)||(n=!0),o++,e.consume(d),d===92?f:l}function f(d){return d===91||d===92||d===93?(e.consume(d),o++,l):l(d)}}function Wn(e,r,t){const a=this,i=a.parser.gfmFootnotes||(a.parser.gfmFootnotes=[]);let o,n=0,c;return s;function s(h){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(h),e.exit("gfmFootnoteDefinitionLabelMarker"),l}function l(h){return h===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(h),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",f):t(h)}function f(h){if(n>999||h===93&&!c||h===null||h===91||R(h))return t(h);if(h===93){e.exit("chunkString");const y=e.exit("gfmFootnoteDefinitionLabelString");return o=ne(a.sliceSerialize(y)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(h),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),p}return R(h)||(c=!0),n++,e.consume(h),h===92?d:f}function d(h){return h===91||h===92||h===93?(e.consume(h),n++,f):f(h)}function p(h){return h===58?(e.enter("definitionMarker"),e.consume(h),e.exit("definitionMarker"),i.includes(o)||i.push(o),U(e,b,"gfmFootnoteDefinitionWhitespace")):t(h)}function b(h){return r(h)}}function Bn(e,r,t){return e.check(Fn,r,e.attempt(_n,r,t))}function qn(e){e.exit("gfmFootnoteDefinition")}function Hn(e,r,t){const a=this;return U(e,i,"gfmFootnoteDefinitionIndent",5);function i(o){const n=a.events[a.events.length-1];return n&&n[1].type==="gfmFootnoteDefinitionIndent"&&n[2].sliceSerialize(n[1],!0).length===4?r(o):t(o)}}function Xn(e){let t=(e||{}).singleTilde;const a={name:"strikethrough",tokenize:o,resolveAll:i};return t==null&&(t=!0),{text:{126:a},insideSpan:{null:[a]},attentionMarkers:{null:[126]}};function i(n,c){let s=-1;for(;++s<n.length;)if(n[s][0]==="enter"&&n[s][1].type==="strikethroughSequenceTemporary"&&n[s][1]._close){let l=s;for(;l--;)if(n[l][0]==="exit"&&n[l][1].type==="strikethroughSequenceTemporary"&&n[l][1]._open&&n[s][1].end.offset-n[s][1].start.offset===n[l][1].end.offset-n[l][1].start.offset){n[s][1].type="strikethroughSequence",n[l][1].type="strikethroughSequence";const f={type:"strikethrough",start:Object.assign({},n[l][1].start),end:Object.assign({},n[s][1].end)},d={type:"strikethroughText",start:Object.assign({},n[l][1].end),end:Object.assign({},n[s][1].start)},p=[["enter",f,c],["enter",n[l][1],c],["exit",n[l][1],c],["enter",d,c]],b=c.parser.constructs.insideSpan.null;b&&de(p,p.length,0,Dn(b,n.slice(l+1,s),c)),de(p,p.length,0,[["exit",d,c],["enter",n[s][1],c],["exit",n[s][1],c],["exit",f,c]]),de(n,l-1,s-l+3,p),s=l+p.length-2;break}}for(s=-1;++s<n.length;)n[s][1].type==="strikethroughSequenceTemporary"&&(n[s][1].type="data");return n}function o(n,c,s){const l=this.previous,f=this.events;let d=0;return p;function p(h){return l===126&&f[f.length-1][1].type!=="characterEscape"?s(h):(n.enter("strikethroughSequenceTemporary"),b(h))}function b(h){const y=fe(l);if(h===126)return d>1?s(h):(n.consume(h),d++,b);if(d<2&&!t)return s(h);const g=n.exit("strikethroughSequenceTemporary"),x=fe(h);return g._open=!x||x===2&&!!y,g._close=!y||y===2&&!!x,c(h)}}}class Kn{constructor(){this.map=[]}add(r,t,a){Vn(this,r,t,a)}consume(r){if(this.map.sort(function(o,n){return o[0]-n[0]}),this.map.length===0)return;let t=this.map.length;const a=[];for(;t>0;)t-=1,a.push(r.slice(this.map[t][0]+this.map[t][1]),this.map[t][2]),r.length=this.map[t][0];a.push(r.slice()),r.length=0;let i=a.pop();for(;i;){for(const o of i)r.push(o);i=a.pop()}this.map.length=0}}function Vn(e,r,t,a){let i=0;if(!(t===0&&a.length===0)){for(;i<e.map.length;){if(e.map[i][0]===r){e.map[i][1]+=t,e.map[i][2].push(...a);return}i+=1}e.map.push([r,t,a])}}function Gn(e,r){let t=!1;const a=[];for(;r<e.length;){const i=e[r];if(t){if(i[0]==="enter")i[1].type==="tableContent"&&a.push(e[r+1][1].type==="tableDelimiterMarker"?"left":"none");else if(i[1].type==="tableContent"){if(e[r-1][1].type==="tableDelimiterMarker"){const o=a.length-1;a[o]=a[o]==="left"?"center":"right"}}else if(i[1].type==="tableDelimiterRow")break}else i[0]==="enter"&&i[1].type==="tableDelimiterRow"&&(t=!0);r+=1}return a}function Zn(){return{flow:{null:{name:"table",tokenize:Jn,resolveAll:Qn}}}}function Jn(e,r,t){const a=this;let i=0,o=0,n;return c;function c(m){let B=a.events.length-1;for(;B>-1;){const z=a.events[B][1].type;if(z==="lineEnding"||z==="linePrefix")B--;else break}const _=B>-1?a.events[B][1].type:null,X=_==="tableHead"||_==="tableRow"?T:s;return X===T&&a.parser.lazy[a.now().line]?t(m):X(m)}function s(m){return e.enter("tableHead"),e.enter("tableRow"),l(m)}function l(m){return m===124||(n=!0,o+=1),f(m)}function f(m){return m===null?t(m):Z(m)?o>1?(o=0,a.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(m),e.exit("lineEnding"),b):t(m):O(m)?U(e,f,"whitespace")(m):(o+=1,n&&(n=!1,i+=1),m===124?(e.enter("tableCellDivider"),e.consume(m),e.exit("tableCellDivider"),n=!0,f):(e.enter("data"),d(m)))}function d(m){return m===null||m===124||R(m)?(e.exit("data"),f(m)):(e.consume(m),m===92?p:d)}function p(m){return m===92||m===124?(e.consume(m),d):d(m)}function b(m){return a.interrupt=!1,a.parser.lazy[a.now().line]?t(m):(e.enter("tableDelimiterRow"),n=!1,O(m)?U(e,h,"linePrefix",a.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(m):h(m))}function h(m){return m===45||m===58?g(m):m===124?(n=!0,e.enter("tableCellDivider"),e.consume(m),e.exit("tableCellDivider"),y):S(m)}function y(m){return O(m)?U(e,g,"whitespace")(m):g(m)}function g(m){return m===58?(o+=1,n=!0,e.enter("tableDelimiterMarker"),e.consume(m),e.exit("tableDelimiterMarker"),x):m===45?(o+=1,x(m)):m===null||Z(m)?A(m):S(m)}function x(m){return m===45?(e.enter("tableDelimiterFiller"),w(m)):S(m)}function w(m){return m===45?(e.consume(m),w):m===58?(n=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(m),e.exit("tableDelimiterMarker"),C):(e.exit("tableDelimiterFiller"),C(m))}function C(m){return O(m)?U(e,A,"whitespace")(m):A(m)}function A(m){return m===124?h(m):m===null||Z(m)?!n||i!==o?S(m):(e.exit("tableDelimiterRow"),e.exit("tableHead"),r(m)):S(m)}function S(m){return t(m)}function T(m){return e.enter("tableRow"),N(m)}function N(m){return m===124?(e.enter("tableCellDivider"),e.consume(m),e.exit("tableCellDivider"),N):m===null||Z(m)?(e.exit("tableRow"),r(m)):O(m)?U(e,N,"whitespace")(m):(e.enter("data"),I(m))}function I(m){return m===null||m===124||R(m)?(e.exit("data"),N(m)):(e.consume(m),m===92?E:I)}function E(m){return m===92||m===124?(e.consume(m),I):I(m)}}function Qn(e,r){let t=-1,a=!0,i=0,o=[0,0,0,0],n=[0,0,0,0],c=!1,s=0,l,f,d;const p=new Kn;for(;++t<e.length;){const b=e[t],h=b[1];b[0]==="enter"?h.type==="tableHead"?(c=!1,s!==0&&(ot(p,r,s,l,f),f=void 0,s=0),l={type:"table",start:Object.assign({},h.start),end:Object.assign({},h.end)},p.add(t,0,[["enter",l,r]])):h.type==="tableRow"||h.type==="tableDelimiterRow"?(a=!0,d=void 0,o=[0,0,0,0],n=[0,t+1,0,0],c&&(c=!1,f={type:"tableBody",start:Object.assign({},h.start),end:Object.assign({},h.end)},p.add(t,0,[["enter",f,r]])),i=h.type==="tableDelimiterRow"?2:f?3:1):i&&(h.type==="data"||h.type==="tableDelimiterMarker"||h.type==="tableDelimiterFiller")?(a=!1,n[2]===0&&(o[1]!==0&&(n[0]=n[1],d=le(p,r,o,i,void 0,d),o=[0,0,0,0]),n[2]=t)):h.type==="tableCellDivider"&&(a?a=!1:(o[1]!==0&&(n[0]=n[1],d=le(p,r,o,i,void 0,d)),o=n,n=[o[1],t,0,0])):h.type==="tableHead"?(c=!0,s=t):h.type==="tableRow"||h.type==="tableDelimiterRow"?(s=t,o[1]!==0?(n[0]=n[1],d=le(p,r,o,i,t,d)):n[1]!==0&&(d=le(p,r,n,i,t,d)),i=0):i&&(h.type==="data"||h.type==="tableDelimiterMarker"||h.type==="tableDelimiterFiller")&&(n[3]=t)}for(s!==0&&ot(p,r,s,l,f),p.consume(r.events),t=-1;++t<r.events.length;){const b=r.events[t];b[0]==="enter"&&b[1].type==="table"&&(b[1]._align=Gn(r.events,t))}return e}function le(e,r,t,a,i,o){const n=a===1?"tableHeader":a===2?"tableDelimiter":"tableData",c="tableContent";t[0]!==0&&(o.end=Object.assign({},G(r.events,t[0])),e.add(t[0],0,[["exit",o,r]]));const s=G(r.events,t[1]);if(o={type:n,start:Object.assign({},s),end:Object.assign({},s)},e.add(t[1],0,[["enter",o,r]]),t[2]!==0){const l=G(r.events,t[2]),f=G(r.events,t[3]),d={type:c,start:Object.assign({},l),end:Object.assign({},f)};if(e.add(t[2],0,[["enter",d,r]]),a!==2){const p=r.events[t[2]],b=r.events[t[3]];if(p[1].end=Object.assign({},b[1].end),p[1].type="chunkText",p[1].contentType="text",t[3]>t[2]+1){const h=t[2]+1,y=t[3]-t[2]-1;e.add(h,y,[])}}e.add(t[3]+1,0,[["exit",d,r]])}return i!==void 0&&(o.end=Object.assign({},G(r.events,i)),e.add(i,0,[["exit",o,r]]),o=void 0),o}function ot(e,r,t,a,i){const o=[],n=G(r.events,t);i&&(i.end=Object.assign({},n),o.push(["exit",i,r])),a.end=Object.assign({},n),o.push(["exit",a,r]),e.add(t+1,0,o)}function G(e,r){const t=e[r],a=t[0]==="enter"?"start":"end";return t[1][a]}const Yn={name:"tasklistCheck",tokenize:ti};function ei(){return{text:{91:Yn}}}function ti(e,r,t){const a=this;return i;function i(s){return a.previous!==null||!a._gfmTasklistFirstContentOfListItem?t(s):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(s),e.exit("taskListCheckMarker"),o)}function o(s){return R(s)?(e.enter("taskListCheckValueUnchecked"),e.consume(s),e.exit("taskListCheckValueUnchecked"),n):s===88||s===120?(e.enter("taskListCheckValueChecked"),e.consume(s),e.exit("taskListCheckValueChecked"),n):t(s)}function n(s){return s===93?(e.enter("taskListCheckMarker"),e.consume(s),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),c):t(s)}function c(s){return Z(s)?r(s):O(s)?e.check({tokenize:ri},r,t)(s):t(s)}}function ri(e,r,t){return U(e,a,"whitespace");function a(i){return i===null?t(i):r(i)}}function ai(e){return kn([Tn(),zn(),Xn(e),Zn(),ei()])}const ni={};function ii(e){const r=this,t=e||ni,a=r.data(),i=a.micromarkExtensions||(a.micromarkExtensions=[]),o=a.fromMarkdownExtensions||(a.fromMarkdownExtensions=[]),n=a.toMarkdownExtensions||(a.toMarkdownExtensions=[]);i.push(ai(t)),o.push(bn()),n.push(yn(t))}function M(...e){return e.filter(Boolean).join(" ")}const oi=({content:e})=>u.jsx(Ie.MarkdownTextPrimitive,{remarkPlugins:[ii],className:"cuadra-aui-md",components:ui,children:e}),qt=k.memo(oi),si=({language:e,code:r})=>{const{isCopied:t,copyToClipboard:a}=ci(),i=()=>{!r||t||a(r)};return u.jsxs("div",{className:"cuadra-flex cuadra-items-center cuadra-justify-between cuadra-gap-4 cuadra-mt-4 cuadra-rounded-t-lg cuadra-bg-muted/50 cuadra-border-b cuadra-border-border cuadra-px-4 cuadra-py-2 cuadra-text-sm cuadra-font-normal cuadra-text-foreground cuadra-font-brand",children:[u.jsx("span",{className:"cuadra-lowercase [&>span]:cuadra-text-xs cuadra-font-brand",children:e}),u.jsxs("button",{onClick:i,className:"cuadra-p-1 cuadra-rounded hover:cuadra-bg-muted cuadra-transition-colors","aria-label":"Copy code",children:[!t&&u.jsx(hr,{className:"cuadra-h-4 cuadra-w-4"}),t&&u.jsx(cr,{className:"cuadra-h-4 cuadra-w-4"})]})]})},ci=({copiedDuration:e=3e3}={})=>{const[r,t]=k.useState(!1);return{isCopied:r,copyToClipboard:i=>{i&&navigator.clipboard.writeText(i).then(()=>{t(!0),setTimeout(()=>t(!1),e)})}}},ui=Ie.unstable_memoizeMarkdownComponents({h1:({className:e,...r})=>u.jsx("h1",{className:M("cuadra-mb-6 cuadra-scroll-m-20 cuadra-text-2xl cuadra-font-normal cuadra-tracking-tight last:cuadra-mb-0 font-brand",e),...r}),h2:({className:e,...r})=>u.jsx("h2",{className:M("cuadra-mb-4 cuadra-mt-6 cuadra-scroll-m-20 cuadra-text-xl cuadra-font-normal cuadra-tracking-tight first:cuadra-mt-0 last:cuadra-mb-0 font-brand",e),...r}),h3:({className:e,...r})=>u.jsx("h3",{className:M("cuadra-mb-3 cuadra-mt-5 cuadra-scroll-m-20 cuadra-text-lg cuadra-font-normal cuadra-tracking-tight first:cuadra-mt-0 last:cuadra-mb-0 font-brand",e),...r}),h4:({className:e,...r})=>u.jsx("h4",{className:M("cuadra-mb-4 cuadra-mt-6 cuadra-scroll-m-20 cuadra-text-xl cuadra-font-normal cuadra-tracking-tight first:cuadra-mt-0 last:cuadra-mb-0 font-brand",e),...r}),h5:({className:e,...r})=>u.jsx("h5",{className:M("cuadra-my-4 cuadra-text-lg cuadra-font-normal first:cuadra-mt-0 last:cuadra-mb-0 font-brand",e),...r}),h6:({className:e,...r})=>u.jsx("h6",{className:M("cuadra-my-4 cuadra-font-normal first:cuadra-mb-0 font-brand",e),...r}),p:({className:e,...r})=>u.jsx("p",{className:M("cuadra-mb-5 cuadra-mt-5 cuadra-leading-7 first:cuadra-mt-0 last:cuadra-mb-0 font-brand",e),...r}),a:({className:e,...r})=>u.jsx("a",{className:M("cuadra-text-primary cuadra-font-medium cuadra-underline cuadra-underline-offset-4 font-brand",e),...r}),blockquote:({className:e,...r})=>u.jsx("blockquote",{className:M("cuadra-border-l-2 cuadra-pl-6 cuadra-italic font-brand",e),...r}),ul:({className:e,...r})=>u.jsx("ul",{className:M("cuadra-my-5 cuadra-ml-6 cuadra-list-disc [&>li]:cuadra-mt-2 font-brand",e),...r}),ol:({className:e,...r})=>u.jsx("ol",{className:M("cuadra-my-5 cuadra-ml-6 cuadra-list-decimal [&>li]:cuadra-mt-2 font-brand",e),...r}),hr:({className:e,...r})=>u.jsx("hr",{className:M("cuadra-my-5 cuadra-border-b",e),...r}),table:({className:e,...r})=>u.jsx("table",{className:M("cuadra-my-5 cuadra-w-full cuadra-border-separate cuadra-border-spacing-0 cuadra-overflow-y-auto font-brand",e),...r}),th:({className:e,...r})=>u.jsx("th",{className:M("cuadra-bg-muted cuadra-px-4 cuadra-py-2 cuadra-text-left cuadra-font-normal first:cuadra-rounded-tl-lg last:cuadra-rounded-tr-lg [&[align=center]]:cuadra-text-center [&[align=right]]:cuadra-text-right font-brand",e),...r}),td:({className:e,...r})=>u.jsx("td",{className:M("cuadra-border-b cuadra-border-l cuadra-px-4 cuadra-py-2 cuadra-text-left last:cuadra-border-r [&[align=center]]:cuadra-text-center [&[align=right]]:cuadra-text-right font-brand",e),...r}),tr:({className:e,...r})=>u.jsx("tr",{className:M("cuadra-m-0 cuadra-border-b cuadra-p-0 first:cuadra-border-t [&:last-child>td:first-child]:cuadra-rounded-bl-lg [&:last-child>td:last-child]:cuadra-rounded-br-lg",e),...r}),sup:({className:e,...r})=>u.jsx("sup",{className:M("[&>a]:cuadra-text-xs [&>a]:cuadra-no-underline font-brand",e),...r}),pre:({className:e,...r})=>u.jsx("pre",{className:M("cuadra-overflow-x-auto cuadra-rounded-b-lg !cuadra-rounded-t-none cuadra-bg-muted cuadra-p-4 cuadra-text-foreground font-brand",e),...r}),code:function({className:r,...t}){const a=Ie.useIsMarkdownCodeBlock();return u.jsx("code",{className:M(!a&&"cuadra-bg-muted cuadra-rounded cuadra-border cuadra-font-normal font-brand",r),...t})},CodeHeader:si}),st=["Sending question…","Understanding your need…","Scanning data…","Comparing results…","Composing answer…"];function li({active:e}){const[r,t]=k.useState(0);return k.useEffect(()=>{if(!e){t(0);return}const a=window.setInterval(()=>{t(i=>i>=st.length-1?(window.clearInterval(a),i):i+1)},2500);return()=>window.clearInterval(a)},[e]),e?u.jsxs("span",{className:"cuadra-text-xs cuadra-text-muted-foreground cuadra-font-brand",children:["Thinking… ",st[r]]}):null}function ct({welcomeTitle:e="Hi, how can I help you today?",welcomeSubtitle:r="Start exploring our platform and discover what you can build.",extraTopPadding:t,suggestions:a,inputPlaceholder:i="Type your message...",enableAttachments:o=!1}={}){const n=j.useThreadRuntime(),[c,s]=k.useState(!1),[l,f]=k.useState(null),[d,p]=k.useState(!1);return k.useEffect(()=>{if(!n){s(!1);return}try{const b=n?.store;if(!b){s(!1);return}const h=b.subscribe?.(g=>{const x=g?.threadId,w=g?.messages||[],C=g?.isLoadingHistory||!1,A=w.length;x&&x!==l&&f(x),s(C&&A===0);const T=w.some(N=>N.role==="assistant"&&!!N.content&&(Array.isArray(N.content)?N.content.some(I=>typeof I=="object"&&I?.text?I.text.trim().length>0:!1):typeof N.content=="string"?N.content.trim().length>0:!1));p(T)}),y=b.getState?.();if(y){const g=y?.threadId,x=y?.messages||[],w=y?.isLoadingHistory||!1,C=x.length;g&&g!==l&&f(g),s(w&&C===0);const S=x.some(T=>T.role==="assistant"&&!!T.content&&(Array.isArray(T.content)?T.content.some(N=>typeof N=="object"&&N?.text?N.text.trim().length>0:!1):typeof T.content=="string"?T.content.trim().length>0:!1));p(S)}return()=>{h&&h()}}catch{s(!1)}},[n,l]),u.jsxs(j.ThreadPrimitive.Root,{className:"cuadra-bg-inherit cuadra-flex cuadra-flex-col cuadra-w-full cuadra-h-full",children:[u.jsx(j.ThreadPrimitive.Viewport,{className:"cuadra-w-full cuadra-bg-inherit cuadra-px-4 cuadra-flex-1 cuadra-min-h-0 cuadra-overflow-y-auto cuadra-relative scrollbar-thin cuadra-pt-4",style:t?{paddingTop:t}:void 0,children:c?u.jsx("div",{className:"cuadra-absolute cuadra-inset-0 cuadra-flex cuadra-items-center cuadra-justify-center",children:u.jsxs("div",{className:"cuadra-flex cuadra-flex-col cuadra-items-center cuadra-gap-2",children:[u.jsx(ft,{className:"cuadra-h-6 cuadra-w-6 cuadra-animate-spin cuadra-text-muted-foreground"}),u.jsx("p",{className:"cuadra-text-sm cuadra-text-muted-foreground font-brand",children:"Loading messages..."})]})}):u.jsxs(u.Fragment,{children:[u.jsx(j.ThreadPrimitive.Empty,{children:u.jsx(di,{title:e,subtitle:r,suggestions:a})}),u.jsx(j.ThreadPrimitive.Messages,{components:{UserMessage:fi,AssistantMessage:hi}}),u.jsx(j.ThreadPrimitive.If,{running:!0,children:!d&&u.jsx("div",{className:"cuadra-mt-2 cuadra-max-w-2xl",children:u.jsx(li,{active:!0})})})]})}),u.jsxs("div",{className:"cuadra-w-full cuadra-mt-3 cuadra-border-t cuadra-border-border cuadra-pt-4",children:[o&&u.jsx(j.ComposerPrimitive.Attachments,{components:{Attachment:()=>{const b=j.useAssistantState(({attachment:h})=>h);return b?u.jsxs("div",{className:"cuadra-relative cuadra-inline-flex cuadra-items-center cuadra-gap-2 cuadra-mb-2 cuadra-px-2 cuadra-py-1 cuadra-rounded-md cuadra-bg-muted cuadra-border cuadra-border-border",children:[u.jsx("span",{className:"cuadra-text-xs cuadra-text-muted-foreground font-brand",children:b.name||"Attachment"}),u.jsx(j.AttachmentPrimitive.Remove,{asChild:!0,children:u.jsx("button",{type:"button",className:"cuadra-flex cuadra-items-center cuadra-justify-center cuadra-size-4 cuadra-rounded hover:cuadra-bg-background cuadra-transition-colors","aria-label":"Remove attachment",children:u.jsx(Pe,{className:"cuadra-h-3 cuadra-w-3 cuadra-text-muted-foreground"})})})]}):null}}}),u.jsxs(j.ComposerPrimitive.Root,{className:"cuadra-relative !cuadra-relative cuadra-flex-1 cuadra-w-full",children:[u.jsx(j.ComposerPrimitive.Input,{asChild:!0,children:u.jsx("textarea",{rows:3,placeholder:i,className:"cuadra-flex cuadra-min-h-[80px] cuadra-w-full cuadra-rounded-md cuadra-border cuadra-border-border cuadra-bg-background cuadra-px-3 cuadra-py-2 cuadra-text-base placeholder:cuadra-text-muted-foreground focus-visible:cuadra-outline-none disabled:cuadra-cursor-not-allowed disabled:cuadra-opacity-50 cuadra-resize-none font-brand",style:{paddingRight:o?"5rem":"3rem",fontSize:"1rem",borderWidth:"1px"}})}),o&&u.jsx(j.ComposerPrimitive.AddAttachment,{multiple:!0,asChild:!0,children:u.jsx("button",{type:"button",className:"!cuadra-absolute !cuadra-bottom-2 !cuadra-right-12 cuadra-size-8 cuadra-rounded-md hover:cuadra-bg-muted cuadra-transition-colors cuadra-flex cuadra-items-center cuadra-justify-center cuadra-border cuadra-border-border",style:{position:"absolute",bottom:"0.5rem",right:"3rem"},"aria-label":"Attach file",children:u.jsx(ht,{className:"cuadra-h-4 cuadra-w-4 cuadra-text-muted-foreground",strokeWidth:1.5})})}),u.jsx(j.ComposerPrimitive.Send,{asChild:!0,children:u.jsx("button",{className:"!cuadra-absolute !cuadra-bottom-2 !cuadra-right-2 cuadra-size-8 cuadra-rounded-md cuadra-shadow-sm hover:cuadra-opacity-90 disabled:cuadra-opacity-50 disabled:cuadra-cursor-not-allowed cuadra-flex cuadra-items-center cuadra-justify-center",style:{position:"absolute",bottom:"0.5rem",right:"0.5rem",backgroundColor:"var(--cuadra-primary)",color:"hsl(var(--cuadra-primary-foreground))"},"aria-label":"Send message",type:"button",children:u.jsx(or,{className:"cuadra-h-4 cuadra-w-4"})})})]})]})]})}function di({title:e,subtitle:r,suggestions:t}){const a=j.useAssistantApi(),i=async o=>{try{a.composer().setText(o),await new Promise(n=>setTimeout(n,10)),a.composer().send()}catch{}};return u.jsx("div",{className:"cuadra-flex cuadra-flex-col cuadra-items-center cuadra-h-full cuadra-py-12 cuadra-px-4 cuadra-overflow-y-auto scrollbar-hide",children:u.jsxs("div",{className:"cuadra-text-center cuadra-max-w-3xl cuadra-w-full cuadra-flex cuadra-flex-col cuadra-items-center cuadra-justify-center cuadra-min-h-full",children:[u.jsxs("div",{className:"cuadra-flex cuadra-flex-col cuadra-items-center cuadra-justify-center cuadra-mb-8",children:[u.jsx("h2",{className:"cuadra-text-lg cuadra-font-normal cuadra-text-foreground cuadra-mb-2 font-brand",children:e}),u.jsx("p",{className:"cuadra-text-muted-foreground font-brand",children:r})]}),t&&t.length>0&&u.jsx("div",{className:"cuadra-grid cuadra-grid-cols-2 cuadra-gap-2 cuadra-pb-4 cuadra-w-full cuadra-max-w-2xl",children:t.map((o,n)=>u.jsx("button",{type:"button",onClick:()=>i(o.prompt),className:"cuadra-w-full cuadra-text-center cuadra-px-4 cuadra-py-3 cuadra-rounded-lg cuadra-border cuadra-border-border cuadra-bg-background cuadra-text-sm font-brand cuadra-cursor-pointer focus:cuadra-outline-none focus:cuadra-ring-0",style:{borderWidth:"1px"},children:o.prompt},`suggestion-${n}`))})]})})}function fi(){return u.jsxs(j.MessagePrimitive.Root,{className:"cuadra-grid cuadra-w-full cuadra-auto-rows-auto cuadra-grid-cols-[minmax(72px,1fr)_auto] cuadra-gap-y-2 cuadra-py-3 [&:where(>*)]:cuadra-col-start-2",children:[u.jsx(j.MessagePrimitive.Attachments,{components:{Attachment:()=>{const e=j.useAssistantState(({attachment:o})=>o);if(!e)return null;const r=e.type==="image",t=e.file,a=e.content?.find(o=>o.type==="image"),i=t?URL.createObjectURL(t):a?.image;return u.jsx("div",{className:"cuadra-col-start-2 cuadra-row-start-1 cuadra-mb-2 cuadra-max-w-[calc(42rem*0.8)]",children:r&&i?u.jsx("img",{src:i,alt:e.name||"Attachment",className:"cuadra-rounded-lg cuadra-border cuadra-border-border cuadra-max-h-64 cuadra-max-w-full cuadra-object-contain",style:{borderWidth:"1px"}}):u.jsxs("div",{className:"cuadra-flex cuadra-items-center cuadra-gap-2 cuadra-rounded-lg cuadra-border cuadra-border-border cuadra-bg-muted cuadra-px-3 cuadra-py-2",children:[u.jsx(ht,{className:"cuadra-h-4 cuadra-w-4 cuadra-text-muted-foreground"}),u.jsx("span",{className:"cuadra-text-sm cuadra-text-foreground font-brand",children:e.name||"Attachment"})]})})}}}),u.jsx("div",{className:"cuadra-bg-muted cuadra-text-foreground cuadra-col-start-2 cuadra-row-start-2 cuadra-max-w-[calc(42rem*0.8)] cuadra-break-words cuadra-rounded-3xl cuadra-border cuadra-border-border cuadra-px-5 cuadra-py-2.5 font-brand",style:{maxWidth:"calc(42rem * 0.8)",borderRadius:"1.5rem",backgroundColor:"var(--cuadra-muted)",color:"hsl(var(--cuadra-foreground))",paddingLeft:"1.25rem",paddingRight:"1.25rem",paddingTop:"0.625rem",paddingBottom:"0.625rem",wordBreak:"break-word",borderWidth:"1px"},children:u.jsx(j.MessagePrimitive.Parts,{components:{Text:({text:e})=>u.jsx(qt,{content:e||""})}})})]})}function hi(){return u.jsx(j.MessagePrimitive.Root,{className:"cuadra-relative cuadra-grid cuadra-w-full cuadra-grid-cols-[auto_auto_1fr] cuadra-grid-rows-[auto_1fr] cuadra-py-3",children:u.jsx("div",{className:"cuadra-text-foreground cuadra-col-span-2 cuadra-col-start-2 cuadra-row-start-1 cuadra-my-1.5 cuadra-max-w-[90%] cuadra-break-words cuadra-leading-7 font-brand",style:{maxWidth:"90%",marginTop:"0.375rem",marginBottom:"0.375rem"},children:u.jsx(j.MessagePrimitive.Parts,{components:{Text:({text:e})=>u.jsx(qt,{content:e||""})}})})})}const Ht=({className:e="",theme:r="system"})=>{const t=()=>{if(typeof window>"u")return"light";if(r==="system"){const n=localStorage.getItem("theme");return n||(window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light")}return r},[a,i]=k.useState(t);k.useEffect(()=>{r!=="system"&&i(r)},[r]),k.useEffect(()=>{const n=document.documentElement;n.classList.remove("light","dark"),n.classList.add(a),r==="system"&&localStorage.setItem("theme",a)},[a,r]);const o=()=>{r==="system"&&i(n=>n==="light"?"dark":"light")};return u.jsx("button",{type:"button","aria-label":"Toggle theme",onClick:o,disabled:r!=="system",className:`cuadra-flex cuadra-items-center cuadra-justify-center cuadra-h-8 cuadra-w-8 cuadra-rounded-full cuadra-bg-muted hover:cuadra-bg-muted/80 cuadra-transition-colors disabled:cuadra-opacity-50 disabled:cuadra-cursor-not-allowed ${e}`,children:u.jsx(dr,{className:`cuadra-h-4 cuadra-w-4 cuadra-transition-colors ${a==="dark"?"cuadra-text-primary":"cuadra-text-gray-400"}`})})};function mi({onThreadSelect:e}){const r=j.useThreadListItem(),t=j.useThread(g=>g.threadId),[a,i]=k.useState(null),o=r?.id===t,n=a===r?.id,[c,s]=k.useState(!1),[l,f]=k.useState(r?.title||""),[d,p]=k.useState(!1),[b,h]=k.useState(!1),y=async()=>{if(!r?.remoteId||!l||l===r.title){s(!1);return}try{h(!0);const g=window.__cuadraThreadListAdapter;g&&typeof g.rename=="function"&&await g.rename(r.remoteId,l),s(!1),p(!1)}catch{s(!1),p(!1)}finally{h(!1)}};return k.useEffect(()=>{r?.title&&!c&&f(r.title)},[r?.title,c]),r?u.jsx(j.ThreadListItemPrimitive.Root,{className:`group cuadra-relative cuadra-flex cuadra-items-center cuadra-gap-3 cuadra-rounded-lg cuadra-transition-colors cuadra-cursor-pointer cuadra-border cuadra-mb-2 ${o?"cuadra-bg-muted cuadra-border-border":"cuadra-border-transparent hover:cuadra-bg-muted hover:cuadra-border-border"}`,style:{marginBottom:"0.5rem"},onMouseEnter:()=>i(r.id),onMouseLeave:()=>i(null),children:u.jsxs(j.ThreadListItemPrimitive.Trigger,{className:"cuadra-p-3 cuadra-flex-1 cuadra-flex cuadra-items-center cuadra-justify-between cuadra-w-full cuadra-min-w-0 cuadra-cursor-pointer",onClick:()=>e?.(),children:[u.jsx("div",{className:"cuadra-flex cuadra-flex-col cuadra-min-w-0 cuadra-flex-1 cuadra-items-start cuadra-text-left",children:c?u.jsx("input",{className:"cuadra-flex cuadra-w-full cuadra-rounded-md cuadra-border cuadra-border-input cuadra-bg-background cuadra-px-3 cuadra-py-2 cuadra-text-sm placeholder:cuadra-text-muted-foreground focus-visible:cuadra-outline-none disabled:cuadra-cursor-not-allowed disabled:cuadra-opacity-50 font-brand",value:l,onChange:g=>f(g.target.value),onKeyDown:g=>{g.key==="Enter"&&y(),g.key==="Escape"&&(s(!1),f(r.title||""))},disabled:b,autoFocus:!0,onClick:g=>g.stopPropagation()}):u.jsxs(u.Fragment,{children:[u.jsx("span",{className:"cuadra-text-sm cuadra-font-normal cuadra-text-foreground cuadra-truncate font-brand",children:(r.title?.length||0)>60?`${r.title?.slice(0,60)}…`:r.title||"Chat"}),r.updatedAt&&u.jsx("span",{className:"cuadra-text-xs cuadra-text-muted-foreground cuadra-mt-1 font-brand",children:new Date(r.updatedAt).toLocaleDateString()})]})}),u.jsx("div",{className:"cuadra-ml-2 cuadra-flex-shrink-0 cuadra-w-6 cuadra-h-6 cuadra-flex cuadra-items-center cuadra-justify-center",children:(n||o||d)&&u.jsxs("div",{className:"cuadra-relative",children:[u.jsx("button",{className:"cuadra-p-1 cuadra-rounded hover:cuadra-bg-background/50 cuadra-transition-colors",onClick:g=>{g.stopPropagation(),p(!d)},"aria-label":"Thread options",children:u.jsx(pr,{className:"cuadra-h-4 cuadra-w-4 cuadra-text-muted-foreground"})}),d&&u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"cuadra-fixed cuadra-inset-0 cuadra-z-40",onClick:()=>p(!1)}),u.jsx("div",{className:"cuadra-absolute cuadra-right-0 cuadra-top-8 cuadra-z-50 cuadra-bg-background cuadra-border cuadra-border-border cuadra-rounded-lg cuadra-shadow-lg cuadra-min-w-[120px] cuadra-overflow-hidden",children:c?u.jsx("button",{className:"cuadra-w-full cuadra-px-3 cuadra-py-2 cuadra-text-sm cuadra-text-left hover:cuadra-bg-muted cuadra-transition-colors font-brand",onClick:g=>{g.stopPropagation(),y()},disabled:b,children:"Save"}):u.jsxs(u.Fragment,{children:[u.jsx("button",{className:"cuadra-w-full cuadra-px-3 cuadra-py-2 cuadra-text-sm cuadra-text-left hover:cuadra-bg-muted cuadra-transition-colors font-brand",onClick:g=>{g.stopPropagation(),s(!0),f(r.title||""),p(!1)},children:"Rename"}),u.jsx("div",{className:"cuadra-border-t cuadra-border-border"}),u.jsx(j.ThreadListItemPrimitive.Delete,{asChild:!0,children:u.jsx("button",{className:"cuadra-w-full cuadra-px-3 cuadra-py-2 cuadra-text-sm cuadra-text-left cuadra-text-destructive hover:cuadra-bg-muted cuadra-transition-colors font-brand",onClick:g=>{g.stopPropagation(),p(!1)},children:"Delete"})})]})})]})]})})]})}):null}function ut({onThreadSelect:e,showThemeToggle:r,theme:t,onLogout:a}){return u.jsxs(j.ThreadListPrimitive.Root,{className:"!cuadra-border-r cuadra-border-border cuadra-flex cuadra-flex-col cuadra-bg-background cuadra-transition-all cuadra-duration-300 cuadra-ease-in-out cuadra-h-full cuadra-w-80",style:{borderRightWidth:"1px"},children:[u.jsx("div",{className:"cuadra-border-b cuadra-border-border cuadra-flex cuadra-items-center cuadra-justify-end cuadra-transition-all cuadra-duration-300 cuadra-h-16 cuadra-px-4",children:u.jsx("button",{type:"button",onClick:e,className:"cuadra-flex md:cuadra-hidden cuadra-items-center cuadra-justify-center cuadra-h-8 cuadra-w-8 cuadra-rounded-full cuadra-bg-muted hover:cuadra-bg-muted/80 cuadra-transition-colors","aria-label":"Close",children:u.jsx(Pe,{className:"cuadra-h-4 cuadra-w-4 cuadra-text-foreground"})})}),u.jsxs("div",{className:"cuadra-flex-1 cuadra-overflow-y-auto cuadra-p-2 scrollbar-thin",children:[u.jsx(j.ThreadListPrimitive.New,{className:"group cuadra-relative cuadra-flex cuadra-items-center cuadra-gap-3 cuadra-p-3 cuadra-rounded-lg cuadra-cursor-pointer cuadra-transition-colors cuadra-border cuadra-border-transparent hover:cuadra-bg-muted hover:cuadra-border-border",onClick:()=>e?.(),children:u.jsx("div",{className:"cuadra-flex-1 cuadra-min-w-0",children:u.jsxs("div",{className:"cuadra-flex cuadra-items-center cuadra-gap-2",children:[u.jsx(vr,{className:"cuadra-h-4 cuadra-w-4 cuadra-text-muted-foreground"}),u.jsx("h4",{className:"cuadra-text-sm cuadra-font-normal cuadra-text-foreground font-brand",children:"New Chat"})]})})}),u.jsx("div",{className:"cuadra-my-2 cuadra-border-t cuadra-border-border"}),u.jsx(j.ThreadListPrimitive.Items,{components:{ThreadListItem:i=>u.jsx(mi,{...i,onThreadSelect:e})}})]}),(r||a)&&u.jsxs("div",{className:"cuadra-border-t cuadra-border-border cuadra-flex md:cuadra-hidden cuadra-items-center cuadra-justify-between cuadra-px-4 cuadra-py-4",children:[a&&u.jsx("button",{type:"button",onClick:a,className:"cuadra-flex cuadra-items-center cuadra-justify-center cuadra-h-8 cuadra-w-8 cuadra-rounded-full cuadra-bg-muted hover:cuadra-bg-muted/80 cuadra-transition-colors","aria-label":"Logout",children:u.jsx(br,{className:"cuadra-h-4 cuadra-w-4 cuadra-text-foreground"})}),r&&u.jsx(Ht,{theme:t})]})]})}const pi=`
|
|
18
|
+
`))}function s(b,h,y,g){const x=y.enter("tableCell"),w=y.enter("phrasing"),v=y.containerPhrasing(b,{...g,before:o,after:o});return w(),x(),v}function l(b,h){return Ta(b,{align:h,alignDelimiters:a,padding:t,stringLength:i})}function f(b,h,y){const g=b.children;let x=-1;const w=[],v=h.enter("table");for(;++x<g.length;)w[x]=d(g[x],h,y);return v(),w}function d(b,h,y){const g=b.children;let x=-1;const w=[],v=h.enter("tableRow");for(;++x<g.length;)w[x]=s(g[x],b,h,y);return v(),w}function p(b,h,y){let g=Dt.inlineCode(b,h,y);return y.stack.includes("tableCell")&&(g=g.replace(/\|/g,"\\$&")),g}}function gn(){return{exit:{taskListCheckValueChecked:nt,taskListCheckValueUnchecked:nt,paragraph:bn}}}function xn(){return{unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:yn}}}function nt(e){const r=this.stack[this.stack.length-2];r.type,r.checked=e.type==="taskListCheckValueChecked"}function bn(e){const r=this.stack[this.stack.length-2];if(r&&r.type==="listItem"&&typeof r.checked=="boolean"){const t=this.stack[this.stack.length-1];t.type;const a=t.children[0];if(a&&a.type==="text"){const i=r.children;let o=-1,n;for(;++o<i.length;){const c=i[o];if(c.type==="paragraph"){n=c;break}}n===t&&(a.value=a.value.slice(1),a.value.length===0?t.children.shift():t.position&&a.position&&typeof a.position.start.offset=="number"&&(a.position.start.column++,a.position.start.offset++,t.position.start=Object.assign({},a.position.start)))}}this.exit(e)}function yn(e,r,t,a){const i=e.children[0],o=typeof e.checked=="boolean"&&i&&i.type==="paragraph",n="["+(e.checked?"x":" ")+"] ",c=t.createTracker(a);o&&c.move(n);let s=Dt.listItem(e,r,t,{...a,...c.current()});return o&&(s=s.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,l)),s;function l(f){return f+n}}function kn(){return[Kr(),pa(),ya(),un(),gn()]}function wn(e){return{extensions:[Gr(),ga(e),ka(),pn(e),xn()]}}function de(e,r,t,a){const i=e.length;let o=0,n;if(r<0?r=-r>i?0:i+r:r=r>i?i:r,t=t>0?t:0,a.length<1e4)n=Array.from(a),n.unshift(r,t),e.splice(...n);else for(t&&e.splice(r,t);o<a.length;)n=a.slice(o,o+1e4),n.unshift(r,0),e.splice(...n),o+=1e4,r+=1e4}const it={}.hasOwnProperty;function vn(e){const r={};let t=-1;for(;++t<e.length;)Cn(r,e[t]);return r}function Cn(e,r){let t;for(t in r){const i=(it.call(e,t)?e[t]:void 0)||(e[t]={}),o=r[t];let n;if(o)for(n in o){it.call(i,n)||(i[n]=[]);const c=o[n];jn(i[n],Array.isArray(c)?c:c?[c]:[])}}}function jn(e,r){let t=-1;const a=[];for(;++t<r.length;)(r[t].add==="after"?e:a).push(r[t]);de(e,0,0,a)}const Tn={tokenize:Ln,partial:!0},Ft={tokenize:Pn,partial:!0},_t={tokenize:Rn,partial:!0},zt={tokenize:En,partial:!0},An={tokenize:Dn,partial:!0},$t={name:"wwwAutolink",tokenize:In,previous:Ut},Ot={name:"protocolAutolink",tokenize:Mn,previous:Wt},W={name:"emailAutolink",tokenize:Nn,previous:Bt},D={};function Sn(){return{text:D}}let q=48;for(;q<123;)D[q]=W,q++,q===58?q=65:q===91&&(q=97);D[43]=W;D[45]=W;D[46]=W;D[95]=W;D[72]=[W,Ot];D[104]=[W,Ot];D[87]=[W,$t];D[119]=[W,$t];function Nn(e,r,t){const a=this;let i,o;return n;function n(d){return!Le(d)||!Bt.call(a,a.previous)||Fe(a.events)?t(d):(e.enter("literalAutolink"),e.enter("literalAutolinkEmail"),c(d))}function c(d){return Le(d)?(e.consume(d),c):d===64?(e.consume(d),s):t(d)}function s(d){return d===46?e.check(An,f,l)(d):d===45||d===95||Re(d)?(o=!0,e.consume(d),s):f(d)}function l(d){return e.consume(d),i=!0,s}function f(d){return o&&i&&re(a.previous)?(e.exit("literalAutolinkEmail"),e.exit("literalAutolink"),r(d)):t(d)}}function In(e,r,t){const a=this;return i;function i(n){return n!==87&&n!==119||!Ut.call(a,a.previous)||Fe(a.events)?t(n):(e.enter("literalAutolink"),e.enter("literalAutolinkWww"),e.check(Tn,e.attempt(Ft,e.attempt(_t,o),t),t)(n))}function o(n){return e.exit("literalAutolinkWww"),e.exit("literalAutolink"),r(n)}}function Mn(e,r,t){const a=this;let i="",o=!1;return n;function n(d){return(d===72||d===104)&&Wt.call(a,a.previous)&&!Fe(a.events)?(e.enter("literalAutolink"),e.enter("literalAutolinkHttp"),i+=String.fromCodePoint(d),e.consume(d),c):t(d)}function c(d){if(re(d)&&i.length<5)return i+=String.fromCodePoint(d),e.consume(d),c;if(d===58){const p=i.toLowerCase();if(p==="http"||p==="https")return e.consume(d),s}return t(d)}function s(d){return d===47?(e.consume(d),o?l:(o=!0,s)):t(d)}function l(d){return d===null||Er(d)||R(d)||H(d)||me(d)?t(d):e.attempt(Ft,e.attempt(_t,f),t)(d)}function f(d){return e.exit("literalAutolinkHttp"),e.exit("literalAutolink"),r(d)}}function Ln(e,r,t){let a=0;return i;function i(n){return(n===87||n===119)&&a<3?(a++,e.consume(n),i):n===46&&a===3?(e.consume(n),o):t(n)}function o(n){return n===null?t(n):r(n)}}function Pn(e,r,t){let a,i,o;return n;function n(l){return l===46||l===95?e.check(zt,s,c)(l):l===null||R(l)||H(l)||l!==45&&me(l)?s(l):(o=!0,e.consume(l),n)}function c(l){return l===95?a=!0:(i=a,a=void 0),e.consume(l),n}function s(l){return i||a||!o?t(l):r(l)}}function Rn(e,r){let t=0,a=0;return i;function i(n){return n===40?(t++,e.consume(n),i):n===41&&a<t?o(n):n===33||n===34||n===38||n===39||n===41||n===42||n===44||n===46||n===58||n===59||n===60||n===63||n===93||n===95||n===126?e.check(zt,r,o)(n):n===null||R(n)||H(n)?r(n):(e.consume(n),i)}function o(n){return n===41&&a++,e.consume(n),i}}function En(e,r,t){return a;function a(c){return c===33||c===34||c===39||c===41||c===42||c===44||c===46||c===58||c===59||c===63||c===95||c===126?(e.consume(c),a):c===38?(e.consume(c),o):c===93?(e.consume(c),i):c===60||c===null||R(c)||H(c)?r(c):t(c)}function i(c){return c===null||c===40||c===91||R(c)||H(c)?r(c):a(c)}function o(c){return re(c)?n(c):t(c)}function n(c){return c===59?(e.consume(c),a):re(c)?(e.consume(c),n):t(c)}}function Dn(e,r,t){return a;function a(o){return e.consume(o),i}function i(o){return Re(o)?t(o):r(o)}}function Ut(e){return e===null||e===40||e===42||e===95||e===91||e===93||e===126||R(e)}function Wt(e){return!re(e)}function Bt(e){return!(e===47||Le(e))}function Le(e){return e===43||e===45||e===46||e===95||Re(e)}function Fe(e){let r=e.length,t=!1;for(;r--;){const a=e[r][1];if((a.type==="labelLink"||a.type==="labelImage")&&!a._balanced){t=!0;break}if(a._gfmAutolinkLiteralWalkedInto){t=!1;break}}return e.length>0&&!t&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),t}function Fn(e,r,t){const a=[];let i=-1;for(;++i<e.length;){const o=e[i].resolveAll;o&&!a.includes(o)&&(r=o(r,t),a.push(o))}return r}function U(e,r,t,a){const i=a?a-1:Number.POSITIVE_INFINITY;let o=0;return n;function n(s){return O(s)?(e.enter(t),c(s)):r(s)}function c(s){return O(s)&&o++<i?(e.consume(s),c):(e.exit(t),r(s))}}const _n={partial:!0,tokenize:zn};function zn(e,r,t){return a;function a(o){return O(o)?U(e,i,"linePrefix")(o):i(o)}function i(o){return o===null||Z(o)?r(o):t(o)}}const $n={tokenize:Xn,partial:!0};function On(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:qn,continuation:{tokenize:Hn},exit:Vn}},text:{91:{name:"gfmFootnoteCall",tokenize:Bn},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:Un,resolveTo:Wn}}}}function Un(e,r,t){const a=this;let i=a.events.length;const o=a.parser.gfmFootnotes||(a.parser.gfmFootnotes=[]);let n;for(;i--;){const s=a.events[i][1];if(s.type==="labelImage"){n=s;break}if(s.type==="gfmFootnoteCall"||s.type==="labelLink"||s.type==="label"||s.type==="image"||s.type==="link")break}return c;function c(s){if(!n||!n._balanced)return t(s);const l=ne(a.sliceSerialize({start:n.end,end:a.now()}));return l.codePointAt(0)!==94||!o.includes(l.slice(1))?t(s):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(s),e.exit("gfmFootnoteCallLabelMarker"),r(s))}}function Wn(e,r){let t=e.length;for(;t--;)if(e[t][1].type==="labelImage"&&e[t][0]==="enter"){e[t][1];break}e[t+1][1].type="data",e[t+3][1].type="gfmFootnoteCallLabelMarker";const a={type:"gfmFootnoteCall",start:Object.assign({},e[t+3][1].start),end:Object.assign({},e[e.length-1][1].end)},i={type:"gfmFootnoteCallMarker",start:Object.assign({},e[t+3][1].end),end:Object.assign({},e[t+3][1].end)};i.end.column++,i.end.offset++,i.end._bufferIndex++;const o={type:"gfmFootnoteCallString",start:Object.assign({},i.end),end:Object.assign({},e[e.length-1][1].start)},n={type:"chunkString",contentType:"string",start:Object.assign({},o.start),end:Object.assign({},o.end)},c=[e[t+1],e[t+2],["enter",a,r],e[t+3],e[t+4],["enter",i,r],["exit",i,r],["enter",o,r],["enter",n,r],["exit",n,r],["exit",o,r],e[e.length-2],e[e.length-1],["exit",a,r]];return e.splice(t,e.length-t+1,...c),e}function Bn(e,r,t){const a=this,i=a.parser.gfmFootnotes||(a.parser.gfmFootnotes=[]);let o=0,n;return c;function c(d){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(d),e.exit("gfmFootnoteCallLabelMarker"),s}function s(d){return d!==94?t(d):(e.enter("gfmFootnoteCallMarker"),e.consume(d),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",l)}function l(d){if(o>999||d===93&&!n||d===null||d===91||R(d))return t(d);if(d===93){e.exit("chunkString");const p=e.exit("gfmFootnoteCallString");return i.includes(ne(a.sliceSerialize(p)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(d),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),r):t(d)}return R(d)||(n=!0),o++,e.consume(d),d===92?f:l}function f(d){return d===91||d===92||d===93?(e.consume(d),o++,l):l(d)}}function qn(e,r,t){const a=this,i=a.parser.gfmFootnotes||(a.parser.gfmFootnotes=[]);let o,n=0,c;return s;function s(h){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(h),e.exit("gfmFootnoteDefinitionLabelMarker"),l}function l(h){return h===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(h),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",f):t(h)}function f(h){if(n>999||h===93&&!c||h===null||h===91||R(h))return t(h);if(h===93){e.exit("chunkString");const y=e.exit("gfmFootnoteDefinitionLabelString");return o=ne(a.sliceSerialize(y)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(h),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),p}return R(h)||(c=!0),n++,e.consume(h),h===92?d:f}function d(h){return h===91||h===92||h===93?(e.consume(h),n++,f):f(h)}function p(h){return h===58?(e.enter("definitionMarker"),e.consume(h),e.exit("definitionMarker"),i.includes(o)||i.push(o),U(e,b,"gfmFootnoteDefinitionWhitespace")):t(h)}function b(h){return r(h)}}function Hn(e,r,t){return e.check(_n,r,e.attempt($n,r,t))}function Vn(e){e.exit("gfmFootnoteDefinition")}function Xn(e,r,t){const a=this;return U(e,i,"gfmFootnoteDefinitionIndent",5);function i(o){const n=a.events[a.events.length-1];return n&&n[1].type==="gfmFootnoteDefinitionIndent"&&n[2].sliceSerialize(n[1],!0).length===4?r(o):t(o)}}function Kn(e){let t=(e||{}).singleTilde;const a={name:"strikethrough",tokenize:o,resolveAll:i};return t==null&&(t=!0),{text:{126:a},insideSpan:{null:[a]},attentionMarkers:{null:[126]}};function i(n,c){let s=-1;for(;++s<n.length;)if(n[s][0]==="enter"&&n[s][1].type==="strikethroughSequenceTemporary"&&n[s][1]._close){let l=s;for(;l--;)if(n[l][0]==="exit"&&n[l][1].type==="strikethroughSequenceTemporary"&&n[l][1]._open&&n[s][1].end.offset-n[s][1].start.offset===n[l][1].end.offset-n[l][1].start.offset){n[s][1].type="strikethroughSequence",n[l][1].type="strikethroughSequence";const f={type:"strikethrough",start:Object.assign({},n[l][1].start),end:Object.assign({},n[s][1].end)},d={type:"strikethroughText",start:Object.assign({},n[l][1].end),end:Object.assign({},n[s][1].start)},p=[["enter",f,c],["enter",n[l][1],c],["exit",n[l][1],c],["enter",d,c]],b=c.parser.constructs.insideSpan.null;b&&de(p,p.length,0,Fn(b,n.slice(l+1,s),c)),de(p,p.length,0,[["exit",d,c],["enter",n[s][1],c],["exit",n[s][1],c],["exit",f,c]]),de(n,l-1,s-l+3,p),s=l+p.length-2;break}}for(s=-1;++s<n.length;)n[s][1].type==="strikethroughSequenceTemporary"&&(n[s][1].type="data");return n}function o(n,c,s){const l=this.previous,f=this.events;let d=0;return p;function p(h){return l===126&&f[f.length-1][1].type!=="characterEscape"?s(h):(n.enter("strikethroughSequenceTemporary"),b(h))}function b(h){const y=fe(l);if(h===126)return d>1?s(h):(n.consume(h),d++,b);if(d<2&&!t)return s(h);const g=n.exit("strikethroughSequenceTemporary"),x=fe(h);return g._open=!x||x===2&&!!y,g._close=!y||y===2&&!!x,c(h)}}}class Gn{constructor(){this.map=[]}add(r,t,a){Zn(this,r,t,a)}consume(r){if(this.map.sort(function(o,n){return o[0]-n[0]}),this.map.length===0)return;let t=this.map.length;const a=[];for(;t>0;)t-=1,a.push(r.slice(this.map[t][0]+this.map[t][1]),this.map[t][2]),r.length=this.map[t][0];a.push(r.slice()),r.length=0;let i=a.pop();for(;i;){for(const o of i)r.push(o);i=a.pop()}this.map.length=0}}function Zn(e,r,t,a){let i=0;if(!(t===0&&a.length===0)){for(;i<e.map.length;){if(e.map[i][0]===r){e.map[i][1]+=t,e.map[i][2].push(...a);return}i+=1}e.map.push([r,t,a])}}function Jn(e,r){let t=!1;const a=[];for(;r<e.length;){const i=e[r];if(t){if(i[0]==="enter")i[1].type==="tableContent"&&a.push(e[r+1][1].type==="tableDelimiterMarker"?"left":"none");else if(i[1].type==="tableContent"){if(e[r-1][1].type==="tableDelimiterMarker"){const o=a.length-1;a[o]=a[o]==="left"?"center":"right"}}else if(i[1].type==="tableDelimiterRow")break}else i[0]==="enter"&&i[1].type==="tableDelimiterRow"&&(t=!0);r+=1}return a}function Qn(){return{flow:{null:{name:"table",tokenize:Yn,resolveAll:ei}}}}function Yn(e,r,t){const a=this;let i=0,o=0,n;return c;function c(m){let B=a.events.length-1;for(;B>-1;){const z=a.events[B][1].type;if(z==="lineEnding"||z==="linePrefix")B--;else break}const _=B>-1?a.events[B][1].type:null,V=_==="tableHead"||_==="tableRow"?T:s;return V===T&&a.parser.lazy[a.now().line]?t(m):V(m)}function s(m){return e.enter("tableHead"),e.enter("tableRow"),l(m)}function l(m){return m===124||(n=!0,o+=1),f(m)}function f(m){return m===null?t(m):Z(m)?o>1?(o=0,a.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(m),e.exit("lineEnding"),b):t(m):O(m)?U(e,f,"whitespace")(m):(o+=1,n&&(n=!1,i+=1),m===124?(e.enter("tableCellDivider"),e.consume(m),e.exit("tableCellDivider"),n=!0,f):(e.enter("data"),d(m)))}function d(m){return m===null||m===124||R(m)?(e.exit("data"),f(m)):(e.consume(m),m===92?p:d)}function p(m){return m===92||m===124?(e.consume(m),d):d(m)}function b(m){return a.interrupt=!1,a.parser.lazy[a.now().line]?t(m):(e.enter("tableDelimiterRow"),n=!1,O(m)?U(e,h,"linePrefix",a.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(m):h(m))}function h(m){return m===45||m===58?g(m):m===124?(n=!0,e.enter("tableCellDivider"),e.consume(m),e.exit("tableCellDivider"),y):S(m)}function y(m){return O(m)?U(e,g,"whitespace")(m):g(m)}function g(m){return m===58?(o+=1,n=!0,e.enter("tableDelimiterMarker"),e.consume(m),e.exit("tableDelimiterMarker"),x):m===45?(o+=1,x(m)):m===null||Z(m)?A(m):S(m)}function x(m){return m===45?(e.enter("tableDelimiterFiller"),w(m)):S(m)}function w(m){return m===45?(e.consume(m),w):m===58?(n=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(m),e.exit("tableDelimiterMarker"),v):(e.exit("tableDelimiterFiller"),v(m))}function v(m){return O(m)?U(e,A,"whitespace")(m):A(m)}function A(m){return m===124?h(m):m===null||Z(m)?!n||i!==o?S(m):(e.exit("tableDelimiterRow"),e.exit("tableHead"),r(m)):S(m)}function S(m){return t(m)}function T(m){return e.enter("tableRow"),N(m)}function N(m){return m===124?(e.enter("tableCellDivider"),e.consume(m),e.exit("tableCellDivider"),N):m===null||Z(m)?(e.exit("tableRow"),r(m)):O(m)?U(e,N,"whitespace")(m):(e.enter("data"),I(m))}function I(m){return m===null||m===124||R(m)?(e.exit("data"),N(m)):(e.consume(m),m===92?F:I)}function F(m){return m===92||m===124?(e.consume(m),I):I(m)}}function ei(e,r){let t=-1,a=!0,i=0,o=[0,0,0,0],n=[0,0,0,0],c=!1,s=0,l,f,d;const p=new Gn;for(;++t<e.length;){const b=e[t],h=b[1];b[0]==="enter"?h.type==="tableHead"?(c=!1,s!==0&&(ot(p,r,s,l,f),f=void 0,s=0),l={type:"table",start:Object.assign({},h.start),end:Object.assign({},h.end)},p.add(t,0,[["enter",l,r]])):h.type==="tableRow"||h.type==="tableDelimiterRow"?(a=!0,d=void 0,o=[0,0,0,0],n=[0,t+1,0,0],c&&(c=!1,f={type:"tableBody",start:Object.assign({},h.start),end:Object.assign({},h.end)},p.add(t,0,[["enter",f,r]])),i=h.type==="tableDelimiterRow"?2:f?3:1):i&&(h.type==="data"||h.type==="tableDelimiterMarker"||h.type==="tableDelimiterFiller")?(a=!1,n[2]===0&&(o[1]!==0&&(n[0]=n[1],d=le(p,r,o,i,void 0,d),o=[0,0,0,0]),n[2]=t)):h.type==="tableCellDivider"&&(a?a=!1:(o[1]!==0&&(n[0]=n[1],d=le(p,r,o,i,void 0,d)),o=n,n=[o[1],t,0,0])):h.type==="tableHead"?(c=!0,s=t):h.type==="tableRow"||h.type==="tableDelimiterRow"?(s=t,o[1]!==0?(n[0]=n[1],d=le(p,r,o,i,t,d)):n[1]!==0&&(d=le(p,r,n,i,t,d)),i=0):i&&(h.type==="data"||h.type==="tableDelimiterMarker"||h.type==="tableDelimiterFiller")&&(n[3]=t)}for(s!==0&&ot(p,r,s,l,f),p.consume(r.events),t=-1;++t<r.events.length;){const b=r.events[t];b[0]==="enter"&&b[1].type==="table"&&(b[1]._align=Jn(r.events,t))}return e}function le(e,r,t,a,i,o){const n=a===1?"tableHeader":a===2?"tableDelimiter":"tableData",c="tableContent";t[0]!==0&&(o.end=Object.assign({},G(r.events,t[0])),e.add(t[0],0,[["exit",o,r]]));const s=G(r.events,t[1]);if(o={type:n,start:Object.assign({},s),end:Object.assign({},s)},e.add(t[1],0,[["enter",o,r]]),t[2]!==0){const l=G(r.events,t[2]),f=G(r.events,t[3]),d={type:c,start:Object.assign({},l),end:Object.assign({},f)};if(e.add(t[2],0,[["enter",d,r]]),a!==2){const p=r.events[t[2]],b=r.events[t[3]];if(p[1].end=Object.assign({},b[1].end),p[1].type="chunkText",p[1].contentType="text",t[3]>t[2]+1){const h=t[2]+1,y=t[3]-t[2]-1;e.add(h,y,[])}}e.add(t[3]+1,0,[["exit",d,r]])}return i!==void 0&&(o.end=Object.assign({},G(r.events,i)),e.add(i,0,[["exit",o,r]]),o=void 0),o}function ot(e,r,t,a,i){const o=[],n=G(r.events,t);i&&(i.end=Object.assign({},n),o.push(["exit",i,r])),a.end=Object.assign({},n),o.push(["exit",a,r]),e.add(t+1,0,o)}function G(e,r){const t=e[r],a=t[0]==="enter"?"start":"end";return t[1][a]}const ti={name:"tasklistCheck",tokenize:ai};function ri(){return{text:{91:ti}}}function ai(e,r,t){const a=this;return i;function i(s){return a.previous!==null||!a._gfmTasklistFirstContentOfListItem?t(s):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(s),e.exit("taskListCheckMarker"),o)}function o(s){return R(s)?(e.enter("taskListCheckValueUnchecked"),e.consume(s),e.exit("taskListCheckValueUnchecked"),n):s===88||s===120?(e.enter("taskListCheckValueChecked"),e.consume(s),e.exit("taskListCheckValueChecked"),n):t(s)}function n(s){return s===93?(e.enter("taskListCheckMarker"),e.consume(s),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),c):t(s)}function c(s){return Z(s)?r(s):O(s)?e.check({tokenize:ni},r,t)(s):t(s)}}function ni(e,r,t){return U(e,a,"whitespace");function a(i){return i===null?t(i):r(i)}}function ii(e){return vn([Sn(),On(),Kn(e),Qn(),ri()])}const oi={};function si(e){const r=this,t=e||oi,a=r.data(),i=a.micromarkExtensions||(a.micromarkExtensions=[]),o=a.fromMarkdownExtensions||(a.fromMarkdownExtensions=[]),n=a.toMarkdownExtensions||(a.toMarkdownExtensions=[]);i.push(ii(t)),o.push(kn()),n.push(wn(t))}function M(...e){return e.filter(Boolean).join(" ")}const ci=({content:e})=>u.jsx(Ie.MarkdownTextPrimitive,{remarkPlugins:[si],className:"cuadra-aui-md",components:di,children:e}),qt=k.memo(ci),ui=({language:e,code:r})=>{const{isCopied:t,copyToClipboard:a}=li(),i=()=>{!r||t||a(r)};return u.jsxs("div",{className:"cuadra-flex cuadra-items-center cuadra-justify-between cuadra-gap-4 cuadra-mt-4 cuadra-rounded-t-lg cuadra-bg-muted/50 cuadra-border-b cuadra-border-border cuadra-px-4 cuadra-py-2 cuadra-text-sm cuadra-font-normal cuadra-text-foreground cuadra-font-brand",children:[u.jsx("span",{className:"cuadra-lowercase [&>span]:cuadra-text-xs cuadra-font-brand",children:e}),u.jsxs("button",{onClick:i,className:"cuadra-p-1 cuadra-rounded hover:cuadra-bg-muted cuadra-transition-colors","aria-label":"Copy code",children:[!t&&u.jsx(pr,{className:"cuadra-h-4 cuadra-w-4"}),t&&u.jsx(lr,{className:"cuadra-h-4 cuadra-w-4"})]})]})},li=({copiedDuration:e=3e3}={})=>{const[r,t]=k.useState(!1);return{isCopied:r,copyToClipboard:i=>{i&&navigator.clipboard.writeText(i).then(()=>{t(!0),setTimeout(()=>t(!1),e)})}}},di=Ie.unstable_memoizeMarkdownComponents({h1:({className:e,...r})=>u.jsx("h1",{className:M("cuadra-mb-6 cuadra-scroll-m-20 cuadra-text-2xl cuadra-font-normal cuadra-tracking-tight last:cuadra-mb-0 font-brand",e),...r}),h2:({className:e,...r})=>u.jsx("h2",{className:M("cuadra-mb-4 cuadra-mt-6 cuadra-scroll-m-20 cuadra-text-xl cuadra-font-normal cuadra-tracking-tight first:cuadra-mt-0 last:cuadra-mb-0 font-brand",e),...r}),h3:({className:e,...r})=>u.jsx("h3",{className:M("cuadra-mb-3 cuadra-mt-5 cuadra-scroll-m-20 cuadra-text-lg cuadra-font-normal cuadra-tracking-tight first:cuadra-mt-0 last:cuadra-mb-0 font-brand",e),...r}),h4:({className:e,...r})=>u.jsx("h4",{className:M("cuadra-mb-4 cuadra-mt-6 cuadra-scroll-m-20 cuadra-text-xl cuadra-font-normal cuadra-tracking-tight first:cuadra-mt-0 last:cuadra-mb-0 font-brand",e),...r}),h5:({className:e,...r})=>u.jsx("h5",{className:M("cuadra-my-4 cuadra-text-lg cuadra-font-normal first:cuadra-mt-0 last:cuadra-mb-0 font-brand",e),...r}),h6:({className:e,...r})=>u.jsx("h6",{className:M("cuadra-my-4 cuadra-font-normal first:cuadra-mb-0 font-brand",e),...r}),p:({className:e,...r})=>u.jsx("p",{className:M("cuadra-mb-5 cuadra-mt-5 cuadra-leading-7 first:cuadra-mt-0 last:cuadra-mb-0 font-brand",e),...r}),a:({className:e,...r})=>u.jsx("a",{className:M("cuadra-text-primary cuadra-font-medium cuadra-underline cuadra-underline-offset-4 font-brand",e),...r}),blockquote:({className:e,...r})=>u.jsx("blockquote",{className:M("cuadra-border-l-2 cuadra-pl-6 cuadra-italic font-brand",e),...r}),ul:({className:e,...r})=>u.jsx("ul",{className:M("cuadra-my-5 cuadra-ml-6 cuadra-list-disc [&>li]:cuadra-mt-2 font-brand",e),...r}),ol:({className:e,...r})=>u.jsx("ol",{className:M("cuadra-my-5 cuadra-ml-6 cuadra-list-decimal [&>li]:cuadra-mt-2 font-brand",e),...r}),hr:({className:e,...r})=>u.jsx("hr",{className:M("cuadra-my-5 cuadra-border-b",e),...r}),table:({className:e,...r})=>u.jsx("table",{className:M("cuadra-my-5 cuadra-w-full cuadra-border-separate cuadra-border-spacing-0 cuadra-overflow-y-auto font-brand",e),...r}),th:({className:e,...r})=>u.jsx("th",{className:M("cuadra-bg-muted cuadra-px-4 cuadra-py-2 cuadra-text-left cuadra-font-normal first:cuadra-rounded-tl-lg last:cuadra-rounded-tr-lg [&[align=center]]:cuadra-text-center [&[align=right]]:cuadra-text-right font-brand",e),...r}),td:({className:e,...r})=>u.jsx("td",{className:M("cuadra-border-b cuadra-border-l cuadra-px-4 cuadra-py-2 cuadra-text-left last:cuadra-border-r [&[align=center]]:cuadra-text-center [&[align=right]]:cuadra-text-right font-brand",e),...r}),tr:({className:e,...r})=>u.jsx("tr",{className:M("cuadra-m-0 cuadra-border-b cuadra-p-0 first:cuadra-border-t [&:last-child>td:first-child]:cuadra-rounded-bl-lg [&:last-child>td:last-child]:cuadra-rounded-br-lg",e),...r}),sup:({className:e,...r})=>u.jsx("sup",{className:M("[&>a]:cuadra-text-xs [&>a]:cuadra-no-underline font-brand",e),...r}),pre:({className:e,...r})=>u.jsx("pre",{className:M("cuadra-overflow-x-auto cuadra-rounded-b-lg !cuadra-rounded-t-none cuadra-bg-muted cuadra-p-4 cuadra-text-foreground font-brand",e),...r}),code:function({className:r,...t}){const a=Ie.useIsMarkdownCodeBlock();return u.jsx("code",{className:M(!a&&"cuadra-bg-muted cuadra-rounded cuadra-border cuadra-font-normal font-brand",r),...t})},CodeHeader:ui}),st=["Sending question…","Understanding your need…","Scanning data…","Comparing results…","Composing answer…"];function fi({active:e}){const[r,t]=k.useState(0);return k.useEffect(()=>{if(!e){t(0);return}const a=window.setInterval(()=>{t(i=>i>=st.length-1?(window.clearInterval(a),i):i+1)},2500);return()=>window.clearInterval(a)},[e]),e?u.jsxs("span",{className:"cuadra-text-xs cuadra-text-muted-foreground cuadra-font-brand",children:["Thinking… ",st[r]]}):null}function ct({welcomeTitle:e="Hi, how can I help you today?",welcomeSubtitle:r="Start exploring our platform and discover what you can build.",extraTopPadding:t,suggestions:a,inputPlaceholder:i="Type your message...",enableAttachments:o=!1}={}){const n=j.useThreadRuntime(),[c,s]=k.useState(!1),[l,f]=k.useState(null),[d,p]=k.useState(!1);return k.useEffect(()=>{if(!n){s(!1);return}try{const b=n?.store;if(!b){s(!1);return}const h=b.subscribe?.(g=>{const x=g?.threadId,w=g?.messages||[],v=g?.isLoadingHistory||!1,A=w.length;x&&x!==l&&f(x),s(v&&A===0);const T=w.some(N=>N.role==="assistant"&&!!N.content&&(Array.isArray(N.content)?N.content.some(I=>typeof I=="object"&&I?.text?I.text.trim().length>0:!1):typeof N.content=="string"?N.content.trim().length>0:!1));p(T)}),y=b.getState?.();if(y){const g=y?.threadId,x=y?.messages||[],w=y?.isLoadingHistory||!1,v=x.length;g&&g!==l&&f(g),s(w&&v===0);const S=x.some(T=>T.role==="assistant"&&!!T.content&&(Array.isArray(T.content)?T.content.some(N=>typeof N=="object"&&N?.text?N.text.trim().length>0:!1):typeof T.content=="string"?T.content.trim().length>0:!1));p(S)}return()=>{h&&h()}}catch{s(!1)}},[n,l]),u.jsxs(j.ThreadPrimitive.Root,{className:"cuadra-bg-inherit cuadra-flex cuadra-flex-col cuadra-w-full cuadra-h-full",children:[u.jsx(j.ThreadPrimitive.Viewport,{className:"cuadra-w-full cuadra-bg-inherit cuadra-px-4 cuadra-flex-1 cuadra-min-h-0 cuadra-overflow-y-auto cuadra-relative scrollbar-thin cuadra-pt-4",style:t?{paddingTop:t}:void 0,children:c?u.jsx("div",{className:"cuadra-absolute cuadra-inset-0 cuadra-flex cuadra-items-center cuadra-justify-center",children:u.jsxs("div",{className:"cuadra-flex cuadra-flex-col cuadra-items-center cuadra-gap-2",children:[u.jsx(ft,{className:"cuadra-h-6 cuadra-w-6 cuadra-animate-spin cuadra-text-muted-foreground"}),u.jsx("p",{className:"cuadra-text-sm cuadra-text-muted-foreground font-brand",children:"Loading messages..."})]})}):u.jsxs(u.Fragment,{children:[u.jsx(j.ThreadPrimitive.Empty,{children:u.jsx(hi,{title:e,subtitle:r,suggestions:a})}),u.jsx(j.ThreadPrimitive.Messages,{components:{UserMessage:mi,AssistantMessage:pi}}),u.jsx(j.ThreadPrimitive.If,{running:!0,children:!d&&u.jsx("div",{className:"cuadra-mt-2 cuadra-max-w-2xl",children:u.jsx(fi,{active:!0})})})]})}),u.jsxs("div",{className:"cuadra-w-full cuadra-mt-3 cuadra-border-t cuadra-border-border cuadra-pt-4",children:[o&&u.jsx(j.ComposerPrimitive.Attachments,{components:{Attachment:()=>{const b=j.useAssistantState(({attachment:h})=>h);return b?u.jsxs("div",{className:"cuadra-relative cuadra-inline-flex cuadra-items-center cuadra-gap-2 cuadra-mb-2 cuadra-px-2 cuadra-py-1 cuadra-rounded-md cuadra-bg-muted cuadra-border cuadra-border-border",children:[u.jsx("span",{className:"cuadra-text-xs cuadra-text-muted-foreground font-brand",children:b.name||"Attachment"}),u.jsx(j.AttachmentPrimitive.Remove,{asChild:!0,children:u.jsx("button",{type:"button",className:"cuadra-flex cuadra-items-center cuadra-justify-center cuadra-size-4 cuadra-rounded hover:cuadra-bg-background cuadra-transition-colors","aria-label":"Remove attachment",children:u.jsx(Pe,{className:"cuadra-h-3 cuadra-w-3 cuadra-text-muted-foreground"})})})]}):null}}}),u.jsxs(j.ComposerPrimitive.Root,{className:"cuadra-relative !cuadra-relative cuadra-flex-1 cuadra-w-full",children:[u.jsx(j.ComposerPrimitive.Input,{asChild:!0,children:u.jsx("textarea",{rows:3,placeholder:i,className:"cuadra-flex cuadra-min-h-[80px] cuadra-w-full cuadra-rounded-md cuadra-border cuadra-border-border cuadra-bg-background cuadra-px-3 cuadra-py-2 cuadra-text-base cuadra-text-foreground placeholder:cuadra-text-muted-foreground focus-visible:cuadra-outline-none disabled:cuadra-cursor-not-allowed disabled:cuadra-opacity-50 cuadra-resize-none font-brand",style:{paddingRight:o?"5rem":"3rem",fontSize:"1rem",borderWidth:"1px"}})}),o&&u.jsx(j.ComposerPrimitive.AddAttachment,{multiple:!0,asChild:!0,children:u.jsx("button",{type:"button",className:"!cuadra-absolute !cuadra-bottom-2 !cuadra-right-12 cuadra-size-8 cuadra-rounded-md hover:cuadra-bg-muted cuadra-transition-colors cuadra-flex cuadra-items-center cuadra-justify-center cuadra-border cuadra-border-border",style:{position:"absolute",bottom:"0.5rem",right:"3rem"},"aria-label":"Attach file",children:u.jsx(ht,{className:"cuadra-h-4 cuadra-w-4 cuadra-text-muted-foreground",strokeWidth:1.5})})}),u.jsx(j.ComposerPrimitive.Send,{asChild:!0,children:u.jsx("button",{className:"!cuadra-absolute !cuadra-bottom-2 !cuadra-right-2 cuadra-size-8 cuadra-rounded-md cuadra-shadow-sm hover:cuadra-opacity-90 disabled:cuadra-opacity-50 disabled:cuadra-cursor-not-allowed cuadra-flex cuadra-items-center cuadra-justify-center",style:{position:"absolute",bottom:"0.5rem",right:"0.5rem",backgroundColor:"var(--cuadra-primary)",color:"hsl(var(--cuadra-primary-foreground))"},"aria-label":"Send message",type:"button",children:u.jsx(cr,{className:"cuadra-h-4 cuadra-w-4"})})})]})]})]})}function hi({title:e,subtitle:r,suggestions:t}){const a=j.useAssistantApi(),i=async o=>{try{a.composer().setText(o),await new Promise(n=>setTimeout(n,10)),a.composer().send()}catch{}};return u.jsx("div",{className:"cuadra-flex cuadra-flex-col cuadra-items-center cuadra-h-full cuadra-py-12 cuadra-px-4 cuadra-overflow-y-auto scrollbar-hide",children:u.jsxs("div",{className:"cuadra-text-center cuadra-max-w-3xl cuadra-w-full cuadra-flex cuadra-flex-col cuadra-items-center cuadra-justify-center cuadra-min-h-full",children:[u.jsxs("div",{className:"cuadra-flex cuadra-flex-col cuadra-items-center cuadra-justify-center cuadra-mb-8",children:[u.jsx("h2",{className:"cuadra-text-lg cuadra-font-normal cuadra-text-foreground cuadra-mb-2 font-brand",children:e}),u.jsx("p",{className:"cuadra-text-muted-foreground font-brand",children:r})]}),t&&t.length>0&&u.jsx("div",{className:"cuadra-grid cuadra-grid-cols-2 cuadra-gap-2 cuadra-pb-4 cuadra-w-full cuadra-max-w-2xl",children:t.map((o,n)=>u.jsx("button",{type:"button",onClick:()=>i(o.prompt),className:"cuadra-w-full cuadra-text-center cuadra-px-4 cuadra-py-3 cuadra-rounded-lg cuadra-border cuadra-border-border cuadra-bg-background cuadra-text-sm cuadra-text-foreground font-brand cuadra-cursor-pointer focus:cuadra-outline-none focus:cuadra-ring-0",style:{borderWidth:"1px"},children:o.prompt},`suggestion-${n}`))})]})})}function mi(){return u.jsxs(j.MessagePrimitive.Root,{className:"cuadra-grid cuadra-w-full cuadra-auto-rows-auto cuadra-grid-cols-[minmax(72px,1fr)_auto] cuadra-gap-y-2 cuadra-py-3 [&:where(>*)]:cuadra-col-start-2",children:[u.jsx(j.MessagePrimitive.Attachments,{components:{Attachment:()=>{const e=j.useAssistantState(({attachment:o})=>o);if(!e)return null;const r=e.type==="image",t=e.file,a=e.content?.find(o=>o.type==="image"),i=t?URL.createObjectURL(t):a?.image;return u.jsx("div",{className:"cuadra-col-start-2 cuadra-row-start-1 cuadra-mb-2 cuadra-max-w-[calc(42rem*0.8)]",children:r&&i?u.jsx("img",{src:i,alt:e.name||"Attachment",className:"cuadra-rounded-lg cuadra-border cuadra-border-border cuadra-max-h-64 cuadra-max-w-full cuadra-object-contain",style:{borderWidth:"1px"}}):u.jsxs("div",{className:"cuadra-flex cuadra-items-center cuadra-gap-2 cuadra-rounded-lg cuadra-border cuadra-border-border cuadra-bg-muted cuadra-px-3 cuadra-py-2",children:[u.jsx(ht,{className:"cuadra-h-4 cuadra-w-4 cuadra-text-muted-foreground"}),u.jsx("span",{className:"cuadra-text-sm cuadra-text-foreground font-brand",children:e.name||"Attachment"})]})})}}}),u.jsx("div",{className:"cuadra-bg-muted cuadra-text-foreground cuadra-col-start-2 cuadra-row-start-2 cuadra-max-w-[calc(42rem*0.8)] cuadra-break-words cuadra-rounded-3xl cuadra-border cuadra-border-border cuadra-px-5 cuadra-py-2.5 font-brand",style:{maxWidth:"calc(42rem * 0.8)",borderRadius:"1.5rem",backgroundColor:"var(--cuadra-muted)",color:"hsl(var(--cuadra-foreground))",paddingLeft:"1.25rem",paddingRight:"1.25rem",paddingTop:"0.625rem",paddingBottom:"0.625rem",wordBreak:"break-word",borderWidth:"1px"},children:u.jsx(j.MessagePrimitive.Parts,{components:{Text:({text:e})=>u.jsx(qt,{content:e||""})}})})]})}function pi(){return u.jsx(j.MessagePrimitive.Root,{className:"cuadra-relative cuadra-grid cuadra-w-full cuadra-grid-cols-[auto_auto_1fr] cuadra-grid-rows-[auto_1fr] cuadra-py-3",children:u.jsx("div",{className:"cuadra-text-foreground cuadra-col-span-2 cuadra-col-start-2 cuadra-row-start-1 cuadra-my-1.5 cuadra-max-w-[90%] cuadra-break-words cuadra-leading-7 font-brand",style:{maxWidth:"90%",marginTop:"0.375rem",marginBottom:"0.375rem"},children:u.jsx(j.MessagePrimitive.Parts,{components:{Text:({text:e})=>u.jsx(qt,{content:e||""})}})})})}const Ht=({className:e="",theme:r="system"})=>{const t=()=>{if(typeof window>"u")return"light";if(r==="system"){const n=localStorage.getItem("theme");return n||(window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light")}return r},[a,i]=k.useState(t);k.useEffect(()=>{r!=="system"&&i(r)},[r]),k.useEffect(()=>{const n=document.documentElement;n.classList.remove("light","dark"),n.classList.add(a),r==="system"&&localStorage.setItem("theme",a)},[a,r]);const o=()=>{r==="system"&&i(n=>n==="light"?"dark":"light")};return u.jsx("button",{type:"button","aria-label":"Toggle theme",onClick:o,disabled:r!=="system",className:`cuadra-flex cuadra-items-center cuadra-justify-center cuadra-h-8 cuadra-w-8 cuadra-rounded-full cuadra-bg-muted hover:cuadra-bg-muted/80 cuadra-transition-colors disabled:cuadra-opacity-50 disabled:cuadra-cursor-not-allowed ${e}`,children:u.jsx(hr,{className:`cuadra-h-4 cuadra-w-4 cuadra-transition-colors ${a==="dark"?"cuadra-text-primary":"cuadra-text-gray-400"}`})})};function gi({onThreadSelect:e}){const r=j.useThreadListItem(),t=j.useThread(g=>g.threadId),[a,i]=k.useState(null),o=r?.id===t,n=a===r?.id,[c,s]=k.useState(!1),[l,f]=k.useState(r?.title||""),[d,p]=k.useState(!1),[b,h]=k.useState(!1),y=async()=>{if(!r?.remoteId||!l||l===r.title){s(!1);return}try{h(!0);const g=window.__cuadraThreadListAdapter;g&&typeof g.rename=="function"&&await g.rename(r.remoteId,l),s(!1),p(!1)}catch{s(!1),p(!1)}finally{h(!1)}};return k.useEffect(()=>{r?.title&&!c&&f(r.title)},[r?.title,c]),r?u.jsx(j.ThreadListItemPrimitive.Root,{className:`group cuadra-relative cuadra-flex cuadra-items-center cuadra-gap-3 cuadra-rounded-lg cuadra-transition-colors cuadra-cursor-pointer cuadra-border cuadra-mb-2 ${o?"cuadra-bg-muted cuadra-border-border":"cuadra-border-transparent hover:cuadra-bg-muted hover:cuadra-border-border"}`,style:{marginBottom:"0.5rem"},onMouseEnter:()=>i(r.id),onMouseLeave:()=>i(null),children:u.jsxs(j.ThreadListItemPrimitive.Trigger,{className:"cuadra-p-3 cuadra-flex-1 cuadra-flex cuadra-items-center cuadra-justify-between cuadra-w-full cuadra-min-w-0 cuadra-cursor-pointer",onClick:()=>e?.(),children:[u.jsx("div",{className:"cuadra-flex cuadra-flex-col cuadra-min-w-0 cuadra-flex-1 cuadra-items-start cuadra-text-left",children:c?u.jsx("input",{className:"cuadra-flex cuadra-w-full cuadra-rounded-md cuadra-border cuadra-border-input cuadra-bg-background cuadra-px-3 cuadra-py-2 cuadra-text-sm placeholder:cuadra-text-muted-foreground focus-visible:cuadra-outline-none disabled:cuadra-cursor-not-allowed disabled:cuadra-opacity-50 font-brand",value:l,onChange:g=>f(g.target.value),onKeyDown:g=>{g.key==="Enter"&&y(),g.key==="Escape"&&(s(!1),f(r.title||""))},disabled:b,autoFocus:!0,onClick:g=>g.stopPropagation()}):u.jsxs(u.Fragment,{children:[u.jsx("span",{className:"cuadra-text-sm cuadra-font-normal cuadra-text-foreground cuadra-truncate font-brand",children:(r.title?.length||0)>60?`${r.title?.slice(0,60)}…`:r.title||"Chat"}),r.updatedAt&&u.jsx("span",{className:"cuadra-text-xs cuadra-text-muted-foreground cuadra-mt-1 font-brand",children:new Date(r.updatedAt).toLocaleDateString()})]})}),u.jsx("div",{className:"cuadra-ml-2 cuadra-flex-shrink-0 cuadra-w-6 cuadra-h-6 cuadra-flex cuadra-items-center cuadra-justify-center",children:(n||o||d)&&u.jsxs("div",{className:"cuadra-relative",children:[u.jsx("button",{className:"cuadra-p-1 cuadra-rounded hover:cuadra-bg-background/50 cuadra-transition-colors",onClick:g=>{g.stopPropagation(),p(!d)},"aria-label":"Thread options",children:u.jsx(xr,{className:"cuadra-h-4 cuadra-w-4 cuadra-text-muted-foreground"})}),d&&u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"cuadra-fixed cuadra-inset-0 cuadra-z-40",onClick:()=>p(!1)}),u.jsx("div",{className:"cuadra-absolute cuadra-right-0 cuadra-top-8 cuadra-z-50 cuadra-bg-background cuadra-border cuadra-border-border cuadra-rounded-lg cuadra-shadow-lg cuadra-min-w-[120px] cuadra-overflow-hidden",children:c?u.jsx("button",{className:"cuadra-w-full cuadra-px-3 cuadra-py-2 cuadra-text-sm cuadra-text-left hover:cuadra-bg-muted cuadra-transition-colors font-brand",onClick:g=>{g.stopPropagation(),y()},disabled:b,children:"Save"}):u.jsxs(u.Fragment,{children:[u.jsx("button",{className:"cuadra-w-full cuadra-px-3 cuadra-py-2 cuadra-text-sm cuadra-text-left hover:cuadra-bg-muted cuadra-transition-colors font-brand",onClick:g=>{g.stopPropagation(),s(!0),f(r.title||""),p(!1)},children:"Rename"}),u.jsx("div",{className:"cuadra-border-t cuadra-border-border"}),u.jsx(j.ThreadListItemPrimitive.Delete,{asChild:!0,children:u.jsx("button",{className:"cuadra-w-full cuadra-px-3 cuadra-py-2 cuadra-text-sm cuadra-text-left cuadra-text-destructive hover:cuadra-bg-muted cuadra-transition-colors font-brand",onClick:g=>{g.stopPropagation(),p(!1)},children:"Delete"})})]})})]})]})})]})}):null}function ut({onThreadSelect:e,showThemeToggle:r,theme:t,onLogout:a}){return u.jsxs(j.ThreadListPrimitive.Root,{className:"!cuadra-border-r cuadra-border-border cuadra-flex cuadra-flex-col cuadra-bg-background cuadra-transition-all cuadra-duration-300 cuadra-ease-in-out cuadra-h-full cuadra-w-80",style:{borderRightWidth:"1px"},children:[u.jsx("div",{className:"cuadra-border-b cuadra-border-border cuadra-flex cuadra-items-center cuadra-justify-end cuadra-transition-all cuadra-duration-300 cuadra-h-16 cuadra-px-4",children:u.jsx("button",{type:"button",onClick:e,className:"cuadra-flex md:cuadra-hidden cuadra-items-center cuadra-justify-center cuadra-h-8 cuadra-w-8 cuadra-rounded-full cuadra-bg-muted hover:cuadra-bg-muted/80 cuadra-transition-colors","aria-label":"Close",children:u.jsx(Pe,{className:"cuadra-h-4 cuadra-w-4 cuadra-text-foreground"})})}),u.jsxs("div",{className:"cuadra-flex-1 cuadra-overflow-y-auto cuadra-p-2 scrollbar-thin",children:[u.jsx(j.ThreadListPrimitive.New,{className:"group cuadra-relative cuadra-flex cuadra-items-center cuadra-gap-3 cuadra-p-3 cuadra-rounded-lg cuadra-cursor-pointer cuadra-transition-colors cuadra-border cuadra-border-transparent hover:cuadra-bg-muted hover:cuadra-border-border",onClick:()=>e?.(),children:u.jsx("div",{className:"cuadra-flex-1 cuadra-min-w-0",children:u.jsxs("div",{className:"cuadra-flex cuadra-items-center cuadra-gap-2",children:[u.jsx(Tr,{className:"cuadra-h-4 cuadra-w-4 cuadra-text-muted-foreground"}),u.jsx("h4",{className:"cuadra-text-sm cuadra-font-normal cuadra-text-foreground font-brand",children:"New Chat"})]})})}),u.jsx("div",{className:"cuadra-my-2 cuadra-border-t cuadra-border-border"}),u.jsx(j.ThreadListPrimitive.Items,{components:{ThreadListItem:i=>u.jsx(gi,{...i,onThreadSelect:e})}})]}),(r||a)&&u.jsxs("div",{className:"cuadra-border-t cuadra-border-border cuadra-flex md:cuadra-hidden cuadra-items-center cuadra-justify-between cuadra-px-4 cuadra-py-4",children:[a&&u.jsx("button",{type:"button",onClick:a,className:"cuadra-flex cuadra-items-center cuadra-justify-center cuadra-h-8 cuadra-w-8 cuadra-rounded-full cuadra-bg-muted hover:cuadra-bg-muted/80 cuadra-transition-colors","aria-label":"Logout",children:u.jsx(kr,{className:"cuadra-h-4 cuadra-w-4 cuadra-text-foreground"})}),r&&u.jsx(Ht,{theme:t})]})]})}const xi=`
|
|
19
19
|
@keyframes rotate {
|
|
20
20
|
100% { transform: rotate(1turn); }
|
|
21
21
|
}
|
|
22
|
-
`,Ae=({children:e,className:r="",paddingX:t="px-0",paddingY:a="py-0",borderSizePx:i=4,style:o,contentStyle:n,rotating:c=!1})=>u.jsxs(u.Fragment,{children:[u.jsx("style",{children:pi}),u.jsxs("div",{className:`cuadra-relative cuadra-bg-background md:cuadra-rounded-xl cuadra-overflow-hidden ${r}`,style:{padding:i,...o},children:[u.jsx("div",{className:"cuadra-absolute md:cuadra-rounded-xl",style:c?{left:"-100%",top:"-100%",width:"300%",height:"300%",backgroundImage:"conic-gradient(#F4633A, #FF7A4D, #FF8C5C, #F4633A, #FF7A4D, #FF8C5C)",backgroundRepeat:"no-repeat",backgroundSize:"cover",backgroundPosition:"center",animation:"rotate 4s linear infinite"}:{backgroundImage:"linear-gradient(to right, #F4633A, #FF7A4D, #FF8C5C, #F4633A)",backgroundSize:"cover",backgroundPosition:"center",backgroundRepeat:"no-repeat",top:"0",left:"0",width:"100%",height:"100%"}}),u.jsx("div",{className:`cuadra-relative cuadra-bg-background cuadra-h-full cuadra-z-10 cuadra-flex cuadra-flex-col cuadra-overflow-hidden ${t} ${a}`,style:{borderRadius:"calc(0.75rem - 4px)",...n},children:e})]})]}),lt=({currentModel:e,models:r,modelsLoading:t,modelsError:a,onModelChange:i,hideModelSelector:o=!1,showThemeToggle:n=!0,theme:c="system",onMobileMenuClick:s,showMobileMenuButton:l=!1})=>{const[f,d]=k.useState(!1),[p,b]=k.useState(!1),h=k.useRef(null);k.useEffect(()=>{const x=w=>{h.current&&!h.current.contains(w.target)&&d(!1)};return f&&document.addEventListener("mousedown",x),()=>{document.removeEventListener("mousedown",x)}},[f]);const y=r.find(x=>x.id===e),g=x=>{i(x),d(!1),b(!1)};return u.jsxs("div",{className:"cuadra-h-16 cuadra-px-4 cuadra-border-b cuadra-border-border cuadra-flex cuadra-items-center cuadra-justify-between cuadra-bg-background",children:[u.jsxs("div",{className:"cuadra-flex cuadra-items-center cuadra-gap-2",children:[l&&u.jsx("button",{type:"button",onClick:s,className:"cuadra-flex cuadra-items-center cuadra-justify-center cuadra-h-8 cuadra-w-8 cuadra-rounded-full cuadra-bg-muted hover:cuadra-bg-muted/80 cuadra-transition-colors disabled:cuadra-opacity-50 disabled:cuadra-cursor-not-allowed md:cuadra-hidden","aria-label":"Toggle thread list",children:u.jsx(kr,{className:"cuadra-h-4 cuadra-w-4 cuadra-text-foreground"})}),n&&u.jsx("div",{className:"cuadra-hidden md:cuadra-flex cuadra-items-center cuadra-gap-2",children:u.jsx(Ht,{theme:c})})]}),u.jsxs("div",{className:"cuadra-flex cuadra-items-center cuadra-gap-2 md:cuadra-ml-0 cuadra-ml-auto",children:[!o&&u.jsx("label",{className:"cuadra-hidden md:cuadra-inline cuadra-text-sm cuadra-text-muted-foreground cuadra-font-brand",children:"Model"}),o?null:t?u.jsx("div",{className:"cuadra-w-48 cuadra-rounded-md cuadra-border cuadra-border-border cuadra-px-3 cuadra-py-2 cuadra-bg-muted",children:u.jsx("span",{className:"cuadra-text-muted-foreground cuadra-text-sm cuadra-font-brand",children:"Loading..."})}):a?u.jsx("div",{className:"cuadra-w-48 cuadra-rounded-md cuadra-border cuadra-border-destructive cuadra-px-3 cuadra-py-2 cuadra-bg-destructive/10",children:u.jsx("span",{className:"cuadra-text-destructive cuadra-text-sm cuadra-font-brand",children:"Failed to load models"})}):u.jsxs(u.Fragment,{children:[u.jsxs("div",{ref:h,className:"cuadra-hidden md:cuadra-block cuadra-relative cuadra-w-48",children:[u.jsxs("button",{type:"button",onClick:()=>d(!f),disabled:t||r.length===0||!!a,className:"cuadra-flex cuadra-h-10 cuadra-w-full cuadra-items-center cuadra-justify-between cuadra-rounded-md cuadra-border cuadra-border-input cuadra-bg-background cuadra-px-3 cuadra-py-2 cuadra-text-sm placeholder:cuadra-text-muted-foreground focus:cuadra-outline-none disabled:cuadra-cursor-not-allowed disabled:cuadra-opacity-50 cuadra-font-brand",children:[u.jsx("span",{className:y?"cuadra-text-foreground":"cuadra-text-muted-foreground",children:y?.name||"Select model"}),u.jsx(Ze,{className:"cuadra-ml-2 cuadra-h-4 cuadra-w-4 cuadra-opacity-50"})]}),f&&r.length>0&&u.jsx("div",{className:"cuadra-absolute cuadra-z-50 cuadra-mt-1 cuadra-w-full cuadra-min-w-[8rem] cuadra-overflow-hidden cuadra-rounded-md glass-popover cuadra-text-popover-foreground cuadra-animate-in fade-in-80 cuadra-border cuadra-border-border cuadra-bg-popover cuadra-shadow-md",children:u.jsx("div",{className:"cuadra-p-1",children:r.map(x=>u.jsxs("button",{type:"button",onClick:()=>g(x.id),className:`cuadra-relative cuadra-flex cuadra-w-full cuadra-cursor-pointer cuadra-select-none cuadra-items-center cuadra-rounded-sm cuadra-py-1.5 cuadra-pl-8 cuadra-pr-2 cuadra-text-sm cuadra-outline-none focus:cuadra-bg-secondary focus:cuadra-text-secondary-foreground font-brand cuadra-transition-colors ${e===x.id?"cuadra-bg-secondary cuadra-text-secondary-foreground":"hover:cuadra-bg-secondary/50"}`,children:[e===x.id&&u.jsx("span",{className:"cuadra-absolute cuadra-left-2 cuadra-flex cuadra-h-3.5 cuadra-w-3.5 cuadra-items-center cuadra-justify-center",children:u.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",fill:"none",viewBox:"0 0 16 16",children:u.jsx("path",{fill:"currentColor",fillRule:"evenodd",d:"M6.47 10.03a.75.75 0 0 1-1.06-1.06l2-2a.75.75 0 0 1 1.06 0l2 2a.75.75 0 1 1-1.06 1.06L8 9.06l-1.53 1.53Z",clipRule:"evenodd"})})}),u.jsx("span",{children:x.name})]},x.id))})})]}),u.jsxs("button",{type:"button",onClick:()=>b(!0),disabled:t||r.length===0||!!a,className:"cuadra-flex md:cuadra-hidden cuadra-h-10 cuadra-w-full cuadra-items-center cuadra-justify-between cuadra-rounded-md cuadra-border cuadra-border-input cuadra-bg-background cuadra-px-3 cuadra-py-2 cuadra-text-sm placeholder:cuadra-text-muted-foreground focus:cuadra-outline-none disabled:cuadra-cursor-not-allowed disabled:cuadra-opacity-50 cuadra-font-brand",children:[u.jsx("span",{className:y?"cuadra-text-foreground":"cuadra-text-muted-foreground",children:y?.name||"Select model"}),u.jsx(Ze,{className:"cuadra-ml-2 cuadra-h-4 cuadra-w-4 cuadra-opacity-50"})]}),p&&typeof document<"u"&&Ne.createPortal(u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"cuadra-fixed cuadra-inset-0 cuadra-bg-black/50 cuadra-z-50 md:cuadra-hidden",onClick:()=>b(!1)}),u.jsxs("div",{className:"cuadra-fixed cuadra-inset-0 cuadra-z-50 cuadra-flex cuadra-flex-col cuadra-bg-background md:cuadra-hidden",children:[u.jsxs("div",{className:"cuadra-flex cuadra-items-center cuadra-justify-between cuadra-border-b cuadra-border-border cuadra-px-4 cuadra-py-4",children:[u.jsx("h2",{className:"cuadra-text-lg cuadra-font-normal cuadra-text-foreground font-brand",children:"Select Model"}),u.jsx("button",{type:"button",onClick:()=>b(!1),className:"cuadra-flex cuadra-items-center cuadra-justify-center cuadra-h-8 cuadra-w-8 cuadra-rounded-full cuadra-bg-muted hover:cuadra-bg-muted/80 cuadra-transition-colors","aria-label":"Close",children:u.jsx(Pe,{className:"cuadra-h-4 cuadra-w-4 cuadra-text-foreground"})})]}),u.jsx("div",{className:"cuadra-flex-1 cuadra-overflow-y-auto cuadra-p-4",children:t?u.jsx("div",{className:"cuadra-flex cuadra-items-center cuadra-justify-center cuadra-py-8",children:u.jsx("span",{className:"cuadra-text-muted-foreground cuadra-text-sm cuadra-font-brand",children:"Loading models..."})}):a?u.jsx("div",{className:"cuadra-flex cuadra-items-center cuadra-justify-center cuadra-py-8",children:u.jsx("span",{className:"cuadra-text-destructive cuadra-text-sm cuadra-font-brand",children:"Failed to load models"})}):r.length===0?u.jsx("div",{className:"cuadra-flex cuadra-items-center cuadra-justify-center cuadra-py-8",children:u.jsx("span",{className:"cuadra-text-muted-foreground cuadra-text-sm cuadra-font-brand",children:"No models available"})}):u.jsx("div",{className:"cuadra-space-y-2",children:r.map(x=>u.jsxs("button",{type:"button",onClick:()=>g(x.id),className:`cuadra-w-full cuadra-flex cuadra-items-center cuadra-justify-between cuadra-rounded-lg cuadra-border cuadra-px-4 cuadra-py-4 cuadra-text-left cuadra-transition-colors font-brand cuadra-bg-background cuadra-text-foreground cuadra-border-border hover:cuadra-bg-muted ${e===x.id?"cuadra-border-primary":""}`,children:[u.jsx("span",{className:"cuadra-text-base cuadra-font-normal",children:x.name}),e===x.id&&u.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",fill:"none",viewBox:"0 0 20 20",className:"cuadra-text-primary",children:u.jsx("path",{fill:"currentColor",fillRule:"evenodd",d:"M16.707 5.293a1 1 0 0 1 0 1.414l-8 8a1 1 0 0 1-1.414 0l-4-4a1 1 0 0 1 1.414-1.414L8 12.586l7.293-7.293a1 1 0 0 1 1.414 0Z",clipRule:"evenodd"})})]},x.id))})})]})]}),document.body)]})]})]})},gi=k.createContext(void 0),Se=({children:e,value:r})=>u.jsx(gi.Provider,{value:r,children:e});function xi(){k.useEffect(()=>{if(document.querySelector("style[data-cuadra-uikit]"))return;const r=document.createElement("div");r.className="cuadra-flex",document.body.appendChild(r);const t=window.getComputedStyle(r).display==="flex";if(document.body.removeChild(r),t)return;const a=document.createElement("link");a.setAttribute("data-cuadra-uikit","true"),a.rel="stylesheet",a.type="text/css";const i=["/node_modules/@cuadra-ai/uikit/dist/uikit.css",new URL("../dist/uikit.css",typeof document>"u"?require("url").pathToFileURL(__filename).href:J&&J.tagName.toUpperCase()==="SCRIPT"&&J.src||new URL("index.cjs",document.baseURI).href).href];let o=!1;for(const n of i)if(a.href=n,a.onload=()=>{o=!0},a.onerror=()=>{},document.head.appendChild(a),o)break},[])}const bi=({config:e})=>{xi();const{baseUrl:r,proxyUrl:t,sessionToken:a,mode:i="multiChat",modelMode:o="fixed",modelId:n,onModelChange:c,ephemeral:s=!1,systemPrompt:l,initialThreadId:f,welcomeTitle:d,welcomeSubtitle:p,extraTopPadding:b,suggestions:h,inputPlaceholder:y,showThemeToggle:g=!0,theme:x="system",onError:w,onChatCreated:C,onUserMessage:A,onThreadIdUpdate:S,onLogout:T,enableAttachments:N=!1}=e,[I,E]=k.useState(!1),[m,B]=k.useState(null),[_,X]=k.useState(null),[z,be]=k.useState(!1),ye=k.useRef(null),ie=v=>{if(v<30)return!0;if(ye.current){const L=ye.current.getBoundingClientRect();if(v-L.left<30)return!0}return!1},_e=v=>{const P=v.touches[0].clientX;(ie(P)||I)&&(B(P),X(P),be(!0))},ze=v=>{if(m===null||!z)return;const L=v.touches[0];X(L.clientX)},$e=()=>{if(m===null||_===null){be(!1);return}const v=_-m,L=50,P=.3,Xe=Math.abs(v)/300;v>L&&!I&&m!==null?ie(m)&&E(!0):((v<-L||v<0&&Xe>P)&&I||I&&v<-20&&Xe>P)&&E(!1),B(null),X(null),be(!1)},Xt=()=>{if(z&&m!==null&&_!==null){const v=_-m;if(I)return`translateX(${Math.min(0,v)}px)`;if(m!==null&&ie(m))return`translateX(${Math.min(0,-320+v)}px)`}return I?"translateX(0)":"translateX(-100%)"},Kt=()=>{if(!z||m===null||_===null)return I?.5:0;const L=_-m;return I?Math.max(0,Math.min(1,(320+L)/320))*.5:m!==null&&ie(m)?Math.max(0,Math.min(1,(L+320)/320))*.5:0},oe=t||r||"",se=!!t,Oe=k.useMemo(()=>new mt(oe,a||void 0,se),[oe,a,se]),[K,Vt]=k.useState(null),[Q,Ue]=k.useState(!1),[Y,We]=k.useState(null),[Gt,Be]=k.useState(!1);k.useEffect(()=>{i==="multiChat"&&Be(!0)},[i]);const V=k.useCallback(async()=>{if(o==="selector"){Ue(!0),We(null);try{const v=await Oe.listModels();Vt(v)}catch(v){We(v instanceof Error?v:new Error("Failed to load models"))}finally{Ue(!1)}}},[Oe,o]);k.useEffect(()=>{o==="selector"&&V()},[o,V]),k.useEffect(()=>(typeof window<"u"&&(window.__cuadraUIKitRefetchModels=V),()=>{typeof window<"u"&&delete window.__cuadraUIKitRefetchModels}),[V]);const[$,qe]=k.useState(o==="fixed"&&n||null),He=k.useRef($),ee=k.useCallback(v=>{const L=He.current;qe(v),He.current=v,c?.(v),L!==null&&L!==v&&i==="multiChat"&&setTimeout(()=>{const P=window.__cuadraThreadListRuntime;if(P?.threads?.switchToNewThread)try{P.threads.switchToNewThread()}catch{}else if(P?.threads?.createThread)try{P.threads.createThread()}catch{}else if(P?.switchToNewThread)try{P.switchToNewThread()}catch{}},100)},[c,i]);k.useEffect(()=>{if(o==="selector"&&K?.items&&K.items.length>0&&!$){const v=K.items[0];if(v?.id){const L=v.id;qe(L),c?.(L)}}},[o,K?.items,$,c]);const Zt=o==="fixed"?!!n:!!$,ce=k.useMemo(()=>(K?.items||[]).filter(v=>v?.id&&v?.displayName).map(v=>({id:v.id,name:v.displayName})),[K]),ke=k.useMemo(()=>({currentModelId:$||"",models:ce,modelsLoading:Q,modelsError:Y,onModelChange:ee,refetchModels:V}),[$,ce,Q,Y,ee,V]);return o==="selector"&&Q||i==="multiChat"&&Gt?u.jsx(Se,{value:ke,children:u.jsx(Ae,{className:"cuadra-h-full",paddingX:"cuadra-px-0",paddingY:"cuadra-py-0",children:u.jsx("div",{className:"cuadra-flex cuadra-items-center cuadra-justify-center cuadra-h-full",children:u.jsx(ft,{className:"cuadra-h-6 cuadra-w-6 cuadra-animate-spin cuadra-text-muted-foreground"})})})}):o==="selector"&&!Zt&&Y?u.jsx(Se,{value:ke,children:u.jsx(Ae,{className:"cuadra-h-full",paddingX:"cuadra-px-0",paddingY:"cuadra-py-0",children:u.jsx("div",{className:"cuadra-flex cuadra-items-center cuadra-justify-center cuadra-h-full",children:u.jsx("div",{className:"cuadra-flex cuadra-flex-col cuadra-items-center cuadra-gap-2",children:u.jsx("p",{className:"cuadra-text-sm cuadra-text-destructive font-brand",children:"Failed to load models"})})})})}):u.jsx("div",{className:"cuadra-uikit cuadra-h-full cuadra-w-full",style:{height:"100%",width:"100%"},children:u.jsx(Se,{value:ke,children:u.jsx(Ir,{baseUrl:se?oe:r||oe,sessionToken:a,isProxyMode:se,mode:i,modelMode:o,modelId:$||n||void 0,onModelChange:ee,ephemeral:s,systemPrompt:l,initialThreadId:f,enableAttachments:N,onError:w,onChatCreated:C,onUserMessage:A,onThreadIdUpdate:S,onChatsLoaded:()=>{i==="multiChat"&&Be(!1)},children:u.jsx(Ae,{paddingX:"cuadra-px-0",paddingY:"cuadra-py-0",className:`cuadra-h-full ${e.containerClass||""}`,borderSizePx:4,style:{height:"100%"},children:u.jsx("div",{className:"cuadra-h-full cuadra-flex cuadra-relative",style:{height:"100%"},onTouchStart:_e,onTouchMove:ze,onTouchEnd:$e,children:i==="multiChat"?u.jsxs(u.Fragment,{children:[typeof document<"u"&&Ne.createPortal(u.jsx("div",{className:`cuadra-fixed cuadra-inset-0 cuadra-bg-black cuadra-z-40 md:cuadra-hidden cuadra-transition-opacity cuadra-duration-300 ${I||z?"":"cuadra-pointer-events-none"}`,style:{opacity:Kt()},onClick:()=>E(!1)}),document.body),typeof document<"u"&&u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"cuadra-hidden md:cuadra-block !cuadra-border-r cuadra-border-border cuadra-flex cuadra-flex-col cuadra-bg-background cuadra-transition-all cuadra-duration-300 cuadra-ease-in-out cuadra-h-full cuadra-w-80 cuadra-relative",style:{borderRightWidth:"1px",height:"100%"},children:u.jsx(ut,{onThreadSelect:()=>E(!1),showThemeToggle:g,theme:x,onLogout:T})}),typeof document<"u"&&Ne.createPortal(u.jsx("div",{className:`cuadra-block md:cuadra-hidden !cuadra-border-r cuadra-border-border cuadra-flex cuadra-flex-col cuadra-bg-background cuadra-h-screen cuadra-w-80 cuadra-fixed cuadra-z-50 cuadra-top-0 cuadra-left-0 ${I||z?"":"cuadra-pointer-events-none"}`,style:{borderRightWidth:"1px",transform:Xt(),transition:z?"none":"transform 0.3s ease-in-out"},onTouchStart:_e,onTouchMove:ze,onTouchEnd:$e,children:u.jsx(ut,{onThreadSelect:()=>E(!1),showThemeToggle:g,theme:x,onLogout:T})}),document.body)]}),u.jsxs("div",{ref:ye,className:"cuadra-flex-1 cuadra-flex cuadra-flex-col",children:[o==="selector"&&u.jsx(lt,{currentModel:$||"",models:ce,modelsLoading:Q,modelsError:Y,onModelChange:ee,showThemeToggle:g,theme:x,onMobileMenuClick:()=>E(!I),showMobileMenuButton:i==="multiChat"}),u.jsx("div",{className:"cuadra-flex-1 cuadra-relative cuadra-min-h-0 cuadra-space-y-4 cuadra-p-4",children:u.jsx(ct,{welcomeTitle:d,welcomeSubtitle:p,extraTopPadding:b,suggestions:h,inputPlaceholder:y,enableAttachments:N})})]})]}):u.jsxs("div",{className:"cuadra-flex-1 cuadra-flex cuadra-flex-col",children:[o==="selector"&&u.jsx(lt,{currentModel:$||"",models:ce,modelsLoading:Q,modelsError:Y,onModelChange:ee,showThemeToggle:g,theme:x}),u.jsx("div",{className:"cuadra-flex-1 cuadra-relative cuadra-min-h-0 cuadra-space-y-4 cuadra-p-4",children:u.jsx(ct,{welcomeTitle:d,welcomeSubtitle:p,extraTopPadding:b,suggestions:h,inputPlaceholder:y})})]})})})})})})};function yi(e){const r={baseUrl:e.baseUrl,proxyUrl:e.proxyUrl,sessionToken:e.sessionToken||null,mode:e.mode||"multiChat",modelMode:e.modelMode||"fixed",modelId:e.modelId,onModelChange:e.onModelChange,ephemeral:e.ephemeral,systemPrompt:e.systemPrompt,initialThreadId:e.initialThreadId,language:e.language,welcomeTitle:e.welcomeTitle,welcomeSubtitle:e.welcomeSubtitle,extraTopPadding:e.extraTopPadding,suggestions:e.suggestions,inputPlaceholder:e.inputPlaceholder,onError:e.onError,onChatCreated:e.onChatCreated,onUserMessage:e.onUserMessage,onThreadIdUpdate:e.onThreadIdUpdate,showThemeToggle:e.showThemeToggle,theme:e.theme,onLogout:e.onLogout,enableAttachments:e.enableAttachments,containerClass:e.className};return u.jsx(bi,{config:r})}exports.CuadraChat=yi;
|
|
22
|
+
`,Ae=({children:e,className:r="",paddingX:t="px-0",paddingY:a="py-0",borderSizePx:i=4,style:o,contentStyle:n,rotating:c=!1})=>u.jsxs(u.Fragment,{children:[u.jsx("style",{children:xi}),u.jsxs("div",{className:`cuadra-relative cuadra-bg-background md:cuadra-rounded-xl cuadra-overflow-hidden ${r}`,style:{padding:i,...o},children:[u.jsx("div",{className:`cuadra-absolute md:cuadra-rounded-xl cuadra-textured-card-border ${c?"cuadra-textured-card-border-rotating":""}`,style:c?{left:"-100%",top:"-100%",width:"300%",height:"300%",backgroundRepeat:"no-repeat",backgroundSize:"cover",backgroundPosition:"center",animation:"rotate 4s linear infinite"}:{backgroundSize:"cover",backgroundPosition:"center",backgroundRepeat:"no-repeat",top:"0",left:"0",width:"100%",height:"100%"}}),u.jsx("div",{className:`cuadra-relative cuadra-bg-background cuadra-h-full cuadra-z-10 cuadra-flex cuadra-flex-col cuadra-overflow-hidden ${t} ${a}`,style:{borderRadius:"calc(0.75rem - 4px)",...n},children:e})]})]}),lt=({currentModel:e,models:r,modelsLoading:t,modelsError:a,onModelChange:i,hideModelSelector:o=!1,showThemeToggle:n=!0,theme:c="system",onMobileMenuClick:s,showMobileMenuButton:l=!1})=>{const[f,d]=k.useState(!1),[p,b]=k.useState(!1),h=k.useRef(null);k.useEffect(()=>{const x=w=>{h.current&&!h.current.contains(w.target)&&d(!1)};return f&&document.addEventListener("mousedown",x),()=>{document.removeEventListener("mousedown",x)}},[f]);const y=r.find(x=>x.id===e),g=x=>{i(x),d(!1),b(!1)};return u.jsxs("div",{className:"cuadra-h-16 cuadra-px-4 cuadra-border-b cuadra-border-border cuadra-flex cuadra-items-center cuadra-justify-between cuadra-bg-background",children:[u.jsxs("div",{className:"cuadra-flex cuadra-items-center cuadra-gap-2",children:[l&&u.jsx("button",{type:"button",onClick:s,className:"cuadra-flex cuadra-items-center cuadra-justify-center cuadra-h-8 cuadra-w-8 cuadra-rounded-full cuadra-bg-muted hover:cuadra-bg-muted/80 cuadra-transition-colors disabled:cuadra-opacity-50 disabled:cuadra-cursor-not-allowed md:cuadra-hidden","aria-label":"Toggle thread list",children:u.jsx(vr,{className:"cuadra-h-4 cuadra-w-4 cuadra-text-foreground"})}),n&&u.jsx("div",{className:"cuadra-hidden md:cuadra-flex cuadra-items-center cuadra-gap-2",children:u.jsx(Ht,{theme:c})})]}),u.jsxs("div",{className:"cuadra-flex cuadra-items-center cuadra-gap-2 md:cuadra-ml-0 cuadra-ml-auto",children:[!o&&u.jsx("label",{className:"cuadra-hidden md:cuadra-inline cuadra-text-sm cuadra-text-muted-foreground cuadra-font-brand",children:"Model"}),o?null:t?u.jsx("div",{className:"cuadra-w-48 cuadra-rounded-md cuadra-border cuadra-border-border cuadra-px-3 cuadra-py-2 cuadra-bg-muted",children:u.jsx("span",{className:"cuadra-text-muted-foreground cuadra-text-sm cuadra-font-brand",children:"Loading..."})}):a?u.jsx("div",{className:"cuadra-w-48 cuadra-rounded-md cuadra-border cuadra-border-destructive cuadra-px-3 cuadra-py-2 cuadra-bg-destructive/10",children:u.jsx("span",{className:"cuadra-text-destructive cuadra-text-sm cuadra-font-brand",children:"Failed to load models"})}):u.jsxs(u.Fragment,{children:[u.jsxs("div",{ref:h,className:"cuadra-hidden md:cuadra-block cuadra-relative cuadra-w-48",children:[u.jsxs("button",{type:"button",onClick:()=>d(!f),disabled:t||r.length===0||!!a,className:"cuadra-flex cuadra-h-10 cuadra-w-full cuadra-items-center cuadra-justify-between cuadra-rounded-md cuadra-border cuadra-border-input cuadra-bg-background cuadra-px-3 cuadra-py-2 cuadra-text-sm placeholder:cuadra-text-muted-foreground focus:cuadra-outline-none disabled:cuadra-cursor-not-allowed disabled:cuadra-opacity-50 cuadra-font-brand",children:[u.jsx("span",{className:y?"cuadra-text-foreground":"cuadra-text-muted-foreground",children:y?.name||"Select model"}),u.jsx(Ze,{className:"cuadra-ml-2 cuadra-h-4 cuadra-w-4 cuadra-opacity-50"})]}),f&&r.length>0&&u.jsx("div",{className:"cuadra-absolute cuadra-z-50 cuadra-mt-1 cuadra-w-full cuadra-min-w-[8rem] cuadra-overflow-hidden cuadra-rounded-md glass-popover cuadra-text-popover-foreground cuadra-animate-in fade-in-80 cuadra-border cuadra-border-border cuadra-bg-popover cuadra-shadow-md",children:u.jsx("div",{className:"cuadra-p-1",children:r.map(x=>u.jsxs("button",{type:"button",onClick:()=>g(x.id),className:`cuadra-relative cuadra-flex cuadra-w-full cuadra-cursor-pointer cuadra-select-none cuadra-items-center cuadra-rounded-sm cuadra-py-1.5 cuadra-pl-8 cuadra-pr-2 cuadra-text-sm cuadra-outline-none focus:cuadra-bg-secondary focus:cuadra-text-secondary-foreground font-brand cuadra-transition-colors ${e===x.id?"cuadra-bg-secondary cuadra-text-secondary-foreground":"hover:cuadra-bg-secondary/50"}`,children:[e===x.id&&u.jsx("span",{className:"cuadra-absolute cuadra-left-2 cuadra-flex cuadra-h-3.5 cuadra-w-3.5 cuadra-items-center cuadra-justify-center",children:u.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",fill:"none",viewBox:"0 0 16 16",children:u.jsx("path",{fill:"currentColor",fillRule:"evenodd",d:"M6.47 10.03a.75.75 0 0 1-1.06-1.06l2-2a.75.75 0 0 1 1.06 0l2 2a.75.75 0 1 1-1.06 1.06L8 9.06l-1.53 1.53Z",clipRule:"evenodd"})})}),u.jsx("span",{children:x.name})]},x.id))})})]}),u.jsxs("button",{type:"button",onClick:()=>b(!0),disabled:t||r.length===0||!!a,className:"cuadra-flex md:cuadra-hidden cuadra-h-10 cuadra-w-full cuadra-items-center cuadra-justify-between cuadra-rounded-md cuadra-border cuadra-border-input cuadra-bg-background cuadra-px-3 cuadra-py-2 cuadra-text-sm placeholder:cuadra-text-muted-foreground focus:cuadra-outline-none disabled:cuadra-cursor-not-allowed disabled:cuadra-opacity-50 cuadra-font-brand",children:[u.jsx("span",{className:y?"cuadra-text-foreground":"cuadra-text-muted-foreground",children:y?.name||"Select model"}),u.jsx(Ze,{className:"cuadra-ml-2 cuadra-h-4 cuadra-w-4 cuadra-opacity-50"})]}),p&&typeof document<"u"&&Ne.createPortal(u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"cuadra-fixed cuadra-inset-0 cuadra-bg-black/50 cuadra-z-50 md:cuadra-hidden",onClick:()=>b(!1)}),u.jsxs("div",{className:"cuadra-fixed cuadra-inset-0 cuadra-z-50 cuadra-flex cuadra-flex-col cuadra-bg-background md:cuadra-hidden",children:[u.jsxs("div",{className:"cuadra-flex cuadra-items-center cuadra-justify-between cuadra-border-b cuadra-border-border cuadra-px-4 cuadra-py-4",children:[u.jsx("h2",{className:"cuadra-text-lg cuadra-font-normal cuadra-text-foreground font-brand",children:"Select Model"}),u.jsx("button",{type:"button",onClick:()=>b(!1),className:"cuadra-flex cuadra-items-center cuadra-justify-center cuadra-h-8 cuadra-w-8 cuadra-rounded-full cuadra-bg-muted hover:cuadra-bg-muted/80 cuadra-transition-colors","aria-label":"Close",children:u.jsx(Pe,{className:"cuadra-h-4 cuadra-w-4 cuadra-text-foreground"})})]}),u.jsx("div",{className:"cuadra-flex-1 cuadra-overflow-y-auto cuadra-p-4",children:t?u.jsx("div",{className:"cuadra-flex cuadra-items-center cuadra-justify-center cuadra-py-8",children:u.jsx("span",{className:"cuadra-text-muted-foreground cuadra-text-sm cuadra-font-brand",children:"Loading models..."})}):a?u.jsx("div",{className:"cuadra-flex cuadra-items-center cuadra-justify-center cuadra-py-8",children:u.jsx("span",{className:"cuadra-text-destructive cuadra-text-sm cuadra-font-brand",children:"Failed to load models"})}):r.length===0?u.jsx("div",{className:"cuadra-flex cuadra-items-center cuadra-justify-center cuadra-py-8",children:u.jsx("span",{className:"cuadra-text-muted-foreground cuadra-text-sm cuadra-font-brand",children:"No models available"})}):u.jsx("div",{className:"cuadra-space-y-2",children:r.map(x=>u.jsxs("button",{type:"button",onClick:()=>g(x.id),className:`cuadra-w-full cuadra-flex cuadra-items-center cuadra-justify-between cuadra-rounded-lg cuadra-border cuadra-px-4 cuadra-py-4 cuadra-text-left cuadra-transition-colors font-brand cuadra-bg-background cuadra-text-foreground cuadra-border-border hover:cuadra-bg-muted ${e===x.id?"cuadra-border-primary":""}`,children:[u.jsx("span",{className:"cuadra-text-base cuadra-font-normal",children:x.name}),e===x.id&&u.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",fill:"none",viewBox:"0 0 20 20",className:"cuadra-text-primary",children:u.jsx("path",{fill:"currentColor",fillRule:"evenodd",d:"M16.707 5.293a1 1 0 0 1 0 1.414l-8 8a1 1 0 0 1-1.414 0l-4-4a1 1 0 0 1 1.414-1.414L8 12.586l7.293-7.293a1 1 0 0 1 1.414 0Z",clipRule:"evenodd"})})]},x.id))})})]})]}),document.body)]})]})]})},bi=k.createContext(void 0),Se=({children:e,value:r})=>u.jsx(bi.Provider,{value:r,children:e});function yi(){k.useEffect(()=>{if(document.querySelector("style[data-cuadra-uikit]"))return;const r=document.createElement("div");r.className="cuadra-flex",document.body.appendChild(r);const t=window.getComputedStyle(r).display==="flex";if(document.body.removeChild(r),t)return;const a=document.createElement("link");a.setAttribute("data-cuadra-uikit","true"),a.rel="stylesheet",a.type="text/css";const i=["/node_modules/@cuadra-ai/uikit/dist/uikit.css",new URL("../dist/uikit.css",typeof document>"u"?require("url").pathToFileURL(__filename).href:J&&J.tagName.toUpperCase()==="SCRIPT"&&J.src||new URL("index.cjs",document.baseURI).href).href];let o=!1;for(const n of i)if(a.href=n,a.onload=()=>{o=!0},a.onerror=()=>{},document.head.appendChild(a),o)break},[])}const ki=({config:e})=>{yi();const{baseUrl:r,proxyUrl:t,sessionToken:a,mode:i="multiChat",modelMode:o="fixed",modelId:n,onModelChange:c,ephemeral:s=!1,systemPrompt:l,initialThreadId:f,welcomeTitle:d,welcomeSubtitle:p,extraTopPadding:b,suggestions:h,inputPlaceholder:y,showThemeToggle:g=!0,theme:x="system",onError:w,onChatCreated:v,onUserMessage:A,onThreadIdUpdate:S,onLogout:T,enableAttachments:N=!1}=e,[I,F]=k.useState(!1),[m,B]=k.useState(null),[_,V]=k.useState(null),[z,be]=k.useState(!1),ye=k.useRef(null),ie=C=>{if(C<30)return!0;if(ye.current){const L=ye.current.getBoundingClientRect();if(C-L.left<30)return!0}return!1},_e=C=>{const P=C.touches[0].clientX;(ie(P)||I)&&(B(P),V(P),be(!0))},ze=C=>{if(m===null||!z)return;const L=C.touches[0];V(L.clientX)},$e=()=>{if(m===null||_===null){be(!1);return}const C=_-m,L=50,P=.3,Ve=Math.abs(C)/300;C>L&&!I&&m!==null?ie(m)&&F(!0):((C<-L||C<0&&Ve>P)&&I||I&&C<-20&&Ve>P)&&F(!1),B(null),V(null),be(!1)},Kt=()=>{if(z&&m!==null&&_!==null){const C=_-m;if(I)return`translateX(${Math.min(0,C)}px)`;if(m!==null&&ie(m))return`translateX(${Math.min(0,-320+C)}px)`}return I?"translateX(0)":"translateX(-100%)"},Gt=()=>{if(!z||m===null||_===null)return I?.5:0;const L=_-m;return I?Math.max(0,Math.min(1,(320+L)/320))*.5:m!==null&&ie(m)?Math.max(0,Math.min(1,(L+320)/320))*.5:0},oe=t||r||"",se=!!t,Oe=k.useMemo(()=>new mt(oe,a||void 0,se),[oe,a,se]),[X,Zt]=k.useState(null),[Q,Ue]=k.useState(!1),[Y,We]=k.useState(null),[Jt,Be]=k.useState(!1);k.useEffect(()=>{i==="multiChat"&&Be(!0)},[i]);const K=k.useCallback(async()=>{if(o==="selector"){Ue(!0),We(null);try{const C=await Oe.listModels();Zt(C)}catch(C){We(C instanceof Error?C:new Error("Failed to load models"))}finally{Ue(!1)}}},[Oe,o]);k.useEffect(()=>{o==="selector"&&K()},[o,K]),k.useEffect(()=>(typeof window<"u"&&(window.__cuadraUIKitRefetchModels=K),()=>{typeof window<"u"&&delete window.__cuadraUIKitRefetchModels}),[K]);const[$,qe]=k.useState(o==="fixed"&&n||null),He=k.useRef($),ee=k.useCallback(C=>{const L=He.current;qe(C),He.current=C,c?.(C),L!==null&&L!==C&&i==="multiChat"&&setTimeout(()=>{const P=window.__cuadraThreadListRuntime;if(P?.threads?.switchToNewThread)try{P.threads.switchToNewThread()}catch{}else if(P?.threads?.createThread)try{P.threads.createThread()}catch{}else if(P?.switchToNewThread)try{P.switchToNewThread()}catch{}},100)},[c,i]);k.useEffect(()=>{if(o==="selector"&&X?.items&&X.items.length>0&&!$){const C=X.items[0];if(C?.id){const L=C.id;qe(L),c?.(L)}}},[o,X?.items,$,c]);const Qt=o==="fixed"?!!n:!!$,ce=k.useMemo(()=>(X?.items||[]).filter(C=>C?.id&&C?.displayName).map(C=>({id:C.id,name:C.displayName})),[X]),ke=k.useMemo(()=>({currentModelId:$||"",models:ce,modelsLoading:Q,modelsError:Y,onModelChange:ee,refetchModels:K}),[$,ce,Q,Y,ee,K]);return o==="selector"&&Q||i==="multiChat"&&Jt?u.jsx(Se,{value:ke,children:u.jsx(Ae,{className:"cuadra-h-full",paddingX:"cuadra-px-0",paddingY:"cuadra-py-0",children:u.jsx("div",{className:"cuadra-flex cuadra-items-center cuadra-justify-center cuadra-h-full",children:u.jsx(ft,{className:"cuadra-h-6 cuadra-w-6 cuadra-animate-spin cuadra-text-muted-foreground"})})})}):o==="selector"&&!Qt&&Y?u.jsx(Se,{value:ke,children:u.jsx(Ae,{className:"cuadra-h-full",paddingX:"cuadra-px-0",paddingY:"cuadra-py-0",children:u.jsx("div",{className:"cuadra-flex cuadra-items-center cuadra-justify-center cuadra-h-full",children:u.jsx("div",{className:"cuadra-flex cuadra-flex-col cuadra-items-center cuadra-gap-2",children:u.jsx("p",{className:"cuadra-text-sm cuadra-text-destructive font-brand",children:"Failed to load models"})})})})}):u.jsx("div",{className:"cuadra-uikit cuadra-h-full cuadra-w-full",style:{height:"100%",width:"100%"},children:u.jsx(Se,{value:ke,children:u.jsx(Lr,{baseUrl:se?oe:r||oe,sessionToken:a,isProxyMode:se,mode:i,modelMode:o,modelId:$||n||void 0,onModelChange:ee,ephemeral:s,systemPrompt:l,initialThreadId:f,enableAttachments:N,onError:w,onChatCreated:v,onUserMessage:A,onThreadIdUpdate:S,onChatsLoaded:()=>{i==="multiChat"&&Be(!1)},children:u.jsx(Ae,{paddingX:"cuadra-px-0",paddingY:"cuadra-py-0",className:`cuadra-h-full ${e.containerClass||""}`,borderSizePx:4,style:{height:"100%"},children:u.jsx("div",{className:"cuadra-h-full cuadra-flex cuadra-relative",style:{height:"100%"},onTouchStart:_e,onTouchMove:ze,onTouchEnd:$e,children:i==="multiChat"?u.jsxs(u.Fragment,{children:[typeof document<"u"&&Ne.createPortal(u.jsx("div",{className:`cuadra-fixed cuadra-inset-0 cuadra-bg-black cuadra-z-40 md:cuadra-hidden cuadra-transition-opacity cuadra-duration-300 ${I||z?"":"cuadra-pointer-events-none"}`,style:{opacity:Gt()},onClick:()=>F(!1)}),document.body),typeof document<"u"&&u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"cuadra-hidden md:cuadra-block !cuadra-border-r cuadra-border-border cuadra-flex cuadra-flex-col cuadra-bg-background cuadra-transition-all cuadra-duration-300 cuadra-ease-in-out cuadra-h-full cuadra-w-80 cuadra-relative",style:{borderRightWidth:"1px",height:"100%"},children:u.jsx(ut,{onThreadSelect:()=>F(!1),showThemeToggle:g,theme:x,onLogout:T})}),typeof document<"u"&&Ne.createPortal(u.jsx("div",{className:`cuadra-block md:cuadra-hidden !cuadra-border-r cuadra-border-border cuadra-flex cuadra-flex-col cuadra-bg-background cuadra-h-screen cuadra-w-80 cuadra-fixed cuadra-z-50 cuadra-top-0 cuadra-left-0 ${I||z?"":"cuadra-pointer-events-none"}`,style:{borderRightWidth:"1px",transform:Kt(),transition:z?"none":"transform 0.3s ease-in-out"},onTouchStart:_e,onTouchMove:ze,onTouchEnd:$e,children:u.jsx(ut,{onThreadSelect:()=>F(!1),showThemeToggle:g,theme:x,onLogout:T})}),document.body)]}),u.jsxs("div",{ref:ye,className:"cuadra-flex-1 cuadra-flex cuadra-flex-col",children:[o==="selector"&&u.jsx(lt,{currentModel:$||"",models:ce,modelsLoading:Q,modelsError:Y,onModelChange:ee,showThemeToggle:g,theme:x,onMobileMenuClick:()=>F(!I),showMobileMenuButton:i==="multiChat"}),u.jsx("div",{className:"cuadra-flex-1 cuadra-relative cuadra-min-h-0 cuadra-space-y-4 cuadra-p-4",children:u.jsx(ct,{welcomeTitle:d,welcomeSubtitle:p,extraTopPadding:b,suggestions:h,inputPlaceholder:y,enableAttachments:N})})]})]}):u.jsxs("div",{className:"cuadra-flex-1 cuadra-flex cuadra-flex-col",children:[o==="selector"&&u.jsx(lt,{currentModel:$||"",models:ce,modelsLoading:Q,modelsError:Y,onModelChange:ee,showThemeToggle:g,theme:x}),u.jsx("div",{className:"cuadra-flex-1 cuadra-relative cuadra-min-h-0 cuadra-space-y-4 cuadra-p-4",children:u.jsx(ct,{welcomeTitle:d,welcomeSubtitle:p,extraTopPadding:b,suggestions:h,inputPlaceholder:y})})]})})})})})})};function Vt(e,r=":root"){if(typeof document>"u")return;const t=document.documentElement;if(e.light&&vi(e.light,t),e.dark){let a=document.getElementById("cuadra-theme-dark");a||(a=document.createElement("style"),a.id="cuadra-theme-dark",document.head.appendChild(a));const i=Ci(e.dark);a.textContent=`.dark { ${i} }`}}const wi={background:"background",foreground:"foreground",card:"card",cardForeground:"card-foreground",popover:"popover",popoverForeground:"popover-foreground",primary:"primary",primaryForeground:"primary-foreground",primaryLight:"primary-light",primaryLighter:"primary-lighter",secondary:"secondary",secondaryForeground:"secondary-foreground",muted:"muted",mutedForeground:"muted-foreground",accent:"accent",accentForeground:"accent-foreground",border:"border",input:"input",ring:"ring",destructive:"destructive",destructiveForeground:"destructive-foreground",success:"success",successForeground:"success-foreground",info:"info",infoForeground:"info-foreground",warning:"warning",warningForeground:"warning-foreground"};function Xt(e){const r=wi[e];return r?`--cuadra-${r}`:`--cuadra-${e.replace(/([A-Z])/g,"-$1").toLowerCase()}`}function vi(e,r){Object.entries(e).forEach(([t,a])=>{if(a){const i=Xt(t);r.style.setProperty(i,a)}})}function Ci(e){return Object.entries(e).map(([r,t])=>t?`${Xt(r)}: ${t};`:"").filter(Boolean).join(" ")}function ji(){if(typeof document>"u")return;const e=document.documentElement;Array.from(e.style).filter(a=>a.startsWith("--cuadra-")).forEach(a=>e.style.removeProperty(a));const t=document.getElementById("cuadra-theme-dark");t&&t.remove()}function Ti(e){k.useEffect(()=>{e.customTheme&&Vt(e.customTheme)},[e.customTheme]);const r={baseUrl:e.baseUrl,proxyUrl:e.proxyUrl,sessionToken:e.sessionToken||null,mode:e.mode||"multiChat",modelMode:e.modelMode||"fixed",modelId:e.modelId,onModelChange:e.onModelChange,ephemeral:e.ephemeral,systemPrompt:e.systemPrompt,initialThreadId:e.initialThreadId,language:e.language,welcomeTitle:e.welcomeTitle,welcomeSubtitle:e.welcomeSubtitle,extraTopPadding:e.extraTopPadding,suggestions:e.suggestions,inputPlaceholder:e.inputPlaceholder,onError:e.onError,onChatCreated:e.onChatCreated,onUserMessage:e.onUserMessage,onThreadIdUpdate:e.onThreadIdUpdate,showThemeToggle:e.showThemeToggle,theme:e.theme,onLogout:e.onLogout,enableAttachments:e.enableAttachments,containerClass:e.className};return u.jsx(ki,{config:r})}exports.CuadraChat=Ti;exports.applyTheme=Vt;exports.removeTheme=ji;
|
|
23
23
|
//# sourceMappingURL=index.cjs.map
|