@json-to-office/jto 0.9.0 → 0.11.2

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.
Files changed (35) hide show
  1. package/README.md +10 -0
  2. package/dist/cli.js +2940 -6867
  3. package/dist/cli.js.map +1 -1
  4. package/dist/client/assets/{HomePage-CtePCdPD.js → HomePage-D1UvVA6K.js} +3 -3
  5. package/dist/client/assets/HomePage-D1UvVA6K.js.map +1 -0
  6. package/dist/client/assets/{JsonEditorPage-Dk_qYbQR.js → JsonEditorPage-CeSpZ1Q5.js} +3 -3
  7. package/dist/client/assets/{JsonEditorPage-Dk_qYbQR.js.map → JsonEditorPage-CeSpZ1Q5.js.map} +1 -1
  8. package/dist/client/assets/{MonacoPluginProvider-BmWwTUcW.js → MonacoPluginProvider-Ybzv4N6a.js} +3 -3
  9. package/dist/client/assets/{MonacoPluginProvider-BmWwTUcW.js.map → MonacoPluginProvider-Ybzv4N6a.js.map} +1 -1
  10. package/dist/client/assets/{button-jTamq7gj.js → button-COJ07qZY.js} +2 -2
  11. package/dist/client/assets/{button-jTamq7gj.js.map → button-COJ07qZY.js.map} +1 -1
  12. package/dist/client/assets/{editor-QOUTSCme.js → editor-D6UInUeu.js} +2 -2
  13. package/dist/client/assets/{editor-QOUTSCme.js.map → editor-D6UInUeu.js.map} +1 -1
  14. package/dist/client/assets/{editor-monaco-json-Bi4IKPau.js → editor-monaco-json-CcAwj92j.js} +2 -2
  15. package/dist/client/assets/{editor-monaco-json-Bi4IKPau.js.map → editor-monaco-json-CcAwj92j.js.map} +1 -1
  16. package/dist/client/assets/index-DMEmT8G4.css +1 -0
  17. package/dist/client/assets/{index-CLUTL9ST.js → index-XIrEiCYN.js} +3 -3
  18. package/dist/client/assets/{index-CLUTL9ST.js.map → index-XIrEiCYN.js.map} +1 -1
  19. package/dist/client/assets/preview-LDgzgj69.js +3 -0
  20. package/dist/client/assets/preview-LDgzgj69.js.map +1 -0
  21. package/dist/client/index.html +2 -2
  22. package/dist/client/templates/Alternative deck 16_9.pptx.json +3034 -0
  23. package/dist/client/templates/Brand template 16_9.pptx.json +1992 -0
  24. package/dist/client/templates/{Wiseair 16-9.pptx.json → Company deck 16_9.pptx.json } +2687 -2681
  25. package/dist/client/templates/{Wiseair.pptx.json → Company deck 4_3.pptx.json } +11 -52
  26. package/dist/client/templates/themes/wiseair.pptx.theme.json +61 -0
  27. package/dist/index.js +2 -2438
  28. package/dist/index.js.map +1 -1
  29. package/package.json +3 -2
  30. package/dist/client/assets/HomePage-CtePCdPD.js.map +0 -1
  31. package/dist/client/assets/index-DKIIAAih.css +0 -1
  32. package/dist/client/assets/preview-CtIrY86t.js +0 -3
  33. package/dist/client/assets/preview-CtIrY86t.js.map +0 -1
  34. package/dist/client/templates/Lumina Analytics.pptx.json +0 -1913
  35. package/dist/index.d.ts +0 -394
@@ -1,5 +1,5 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/editor-QOUTSCme.js","assets/react-vendor-CTFDOf2G.js","assets/editor-monaco-json-Bi4IKPau.js","assets/index-CLUTL9ST.js","assets/query-vendor-Df8-oete.js","assets/radix-ui-BiXCNJNt.js","assets/ui-vendor-D3QbouTA.js","assets/monaco-editor-BcgxPCqT.js","assets/state-vendor-DTum9m7F.js","assets/index-DKIIAAih.css","assets/MonacoPluginProvider-BmWwTUcW.js","assets/button-jTamq7gj.js","assets/preview-CtIrY86t.js"])))=>i.map(i=>d[i]);
2
- var om=Object.defineProperty;var lm=(e,t,n)=>t in e?om(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Mo=(e,t,n)=>lm(e,typeof t!="symbol"?t+"":t,n);import{c as Ee,r as y,j as c,R as cc,g as Za}from"./react-vendor-CTFDOf2G.js";import{B as _e}from"./button-jTamq7gj.js";import{c as H,T as ei,C as um,E as cm,F as kt,S as nn,a as dm,b as Xe,d as Qe,e as et,u as dc,f as Wi,s as Ss,_ as fc,g as ti,A as fm,h as pm,i as hm,j as mm,k as lr,l as pi,W as gm}from"./index-CLUTL9ST.js";import{b as pc,c as Ba,d as hc,e as mc,f as Gi,g as Ki,D as Yi,O as Xi,h as gc,S as rr,i as xm,V as ym,j as xc,I as bm,k as vm,l as yc,m as wm,n as bc,o as km,p as Sm,G as _m,q as vc,r as wc,L as kc,s as Sc,t as jm,u as Cm,v as Nm,w as _c,x as jc,y as Cc,z as Nc,A as Ec,B as Ic,E as zc,F as Tc,H as Ac,J as Pc,K as Oc,M as Em,N as Im,Q as Dc,U as zm,W as Tm,X as Am,Y as Pm,Z as Om,_ as Dm,$ as Rm,a0 as Mm,a1 as $m,a2 as Rc,a3 as Mc,a4 as $c,a5 as Fc,a6 as Lc,a7 as Zc,a8 as Bc,a9 as Vc,aa as Uc,ab as Fm,ac as Jc,ad as Hc,ae as qc}from"./radix-ui-BiXCNJNt.js";import{X as jn,a as qr,C as an,b as ln,d as Lm,e as Qi,f as Wc,P as Zm,g as $o,h as sa,F as Gc,S as Kc,B as Fo,i as Bm,j as Vm,k as Um,l as es,m as Jm,M as Hm,n as qm,o as Wm,p as Yc,q as Gm,r as Lo,s as Si,t as Km,I as Xc,G as Ym,u as Xm,R as Qm,v as eg,T as Qc,E as tg,w as ng,x as rg,y as ig,z as ed,A as Va,D as td,H as sg,J as nd,L as aa,K as ag,N as og,O as Zo,Q as oa,U as lg}from"./ui-vendor-D3QbouTA.js";import{i as ug,u as Ae,a as la,b as yn,g as ua,c as Ot,T as rd,d as ni,S as cg,O as dg,e as fg,M as pg,D as hg}from"./MonacoPluginProvider-BmWwTUcW.js";import{a as mg,d as gg,p as xg,b as yg,u as bg,e as vg}from"./state-vendor-DTum9m7F.js";import{b as wg}from"./query-vendor-Df8-oete.js";var Wr=e=>e.type==="checkbox",vn=e=>e instanceof Date,ct=e=>e==null;const id=e=>typeof e=="object";var We=e=>!ct(e)&&!Array.isArray(e)&&id(e)&&!vn(e),sd=e=>We(e)&&e.target?Wr(e.target)?e.target.checked:e.target.value:e,kg=e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,ad=(e,t)=>e.has(kg(t)),Sg=e=>{const t=e.constructor&&e.constructor.prototype;return We(t)&&t.hasOwnProperty("isPrototypeOf")},Ua=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function mt(e){let t;const n=Array.isArray(e),r=typeof FileList<"u"?e instanceof FileList:!1;if(e instanceof Date)t=new Date(e);else if(e instanceof Set)t=new Set(e);else if(!(Ua&&(e instanceof Blob||r))&&(n||We(e)))if(t=n?[]:{},!n&&!Sg(e))t=e;else for(const i in e)e.hasOwnProperty(i)&&(t[i]=mt(e[i]));else return e;return t}var ts=e=>Array.isArray(e)?e.filter(Boolean):[],qe=e=>e===void 0,se=(e,t,n)=>{if(!t||!We(e))return n;const r=ts(t.split(/[,[\].]+?/)).reduce((i,s)=>ct(i)?i:i[s],e);return qe(r)||r===e?qe(e[t])?n:e[t]:r},Ct=e=>typeof e=="boolean",Ja=e=>/^\w*$/.test(e),od=e=>ts(e.replace(/["|']|\]/g,"").split(/\.|\[/)),Oe=(e,t,n)=>{let r=-1;const i=Ja(t)?[t]:od(t),s=i.length,a=s-1;for(;++r<s;){const o=i[r];let l=n;if(r!==a){const u=e[o];l=We(u)||Array.isArray(u)?u:isNaN(+i[r+1])?{}:[]}if(o==="__proto__"||o==="constructor"||o==="prototype")return;e[o]=l,e=e[o]}return e};const _i={BLUR:"blur",FOCUS_OUT:"focusout",CHANGE:"change"},Pt={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},Ht={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},ld=Ee.createContext(null),ns=()=>Ee.useContext(ld),_g=e=>{const{children:t,...n}=e;return Ee.createElement(ld.Provider,{value:n},t)};var ud=(e,t,n,r=!0)=>{const i={defaultValues:t._defaultValues};for(const s in e)Object.defineProperty(i,s,{get:()=>{const a=s;return t._proxyFormState[a]!==Pt.all&&(t._proxyFormState[a]=!r||Pt.all),n&&(n[a]=!0),e[a]}});return i},gt=e=>We(e)&&!Object.keys(e).length,cd=(e,t,n,r)=>{n(e);const{name:i,...s}=e;return gt(s)||Object.keys(s).length>=Object.keys(t).length||Object.keys(s).find(a=>t[a]===(!r||Pt.all))},Cr=e=>Array.isArray(e)?e:[e],dd=(e,t,n)=>!e||!t||e===t||Cr(e).some(r=>r&&(n?r===t:r.startsWith(t)||t.startsWith(r)));function Ha(e){const t=Ee.useRef(e);t.current=e,Ee.useEffect(()=>{const n=!e.disabled&&t.current.subject&&t.current.subject.subscribe({next:t.current.next});return()=>{n&&n.unsubscribe()}},[e.disabled])}function jg(e){const t=ns(),{control:n=t.control,disabled:r,name:i,exact:s}=e||{},[a,o]=Ee.useState(n._formState),l=Ee.useRef(!0),u=Ee.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1}),f=Ee.useRef(i);return f.current=i,Ha({disabled:r,next:d=>l.current&&dd(f.current,d.name,s)&&cd(d,u.current,n._updateFormState)&&o({...n._formState,...d}),subject:n._subjects.state}),Ee.useEffect(()=>(l.current=!0,u.current.isValid&&n._updateValid(!0),()=>{l.current=!1}),[n]),Ee.useMemo(()=>ud(a,n,u.current,!1),[a,n])}var Bt=e=>typeof e=="string",fd=(e,t,n,r,i)=>Bt(e)?(r&&t.watch.add(e),se(n,e,i)):Array.isArray(e)?e.map(s=>(r&&t.watch.add(s),se(n,s))):(r&&(t.watchAll=!0),n);function Cg(e){const t=ns(),{control:n=t.control,name:r,defaultValue:i,disabled:s,exact:a}=e||{},o=Ee.useRef(r);o.current=r,Ha({disabled:s,subject:n._subjects.values,next:f=>{dd(o.current,f.name,a)&&u(mt(fd(o.current,n._names,f.values||n._formValues,!1,i)))}});const[l,u]=Ee.useState(n._getWatch(r,i));return Ee.useEffect(()=>n._removeUnmounted()),l}function Ng(e){const t=ns(),{name:n,disabled:r,control:i=t.control,shouldUnregister:s}=e,a=ad(i._names.array,n),o=Cg({control:i,name:n,defaultValue:se(i._formValues,n,se(i._defaultValues,n,e.defaultValue)),exact:!0}),l=jg({control:i,name:n,exact:!0}),u=Ee.useRef(i.register(n,{...e.rules,value:o,...Ct(e.disabled)?{disabled:e.disabled}:{}})),f=Ee.useMemo(()=>Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!se(l.errors,n)},isDirty:{enumerable:!0,get:()=>!!se(l.dirtyFields,n)},isTouched:{enumerable:!0,get:()=>!!se(l.touchedFields,n)},isValidating:{enumerable:!0,get:()=>!!se(l.validatingFields,n)},error:{enumerable:!0,get:()=>se(l.errors,n)}}),[l,n]),d=Ee.useMemo(()=>({name:n,value:o,...Ct(r)||l.disabled?{disabled:l.disabled||r}:{},onChange:p=>u.current.onChange({target:{value:sd(p),name:n},type:_i.CHANGE}),onBlur:()=>u.current.onBlur({target:{value:se(i._formValues,n),name:n},type:_i.BLUR}),ref:p=>{const h=se(i._fields,n);h&&p&&(h._f.ref={focus:()=>p.focus(),select:()=>p.select(),setCustomValidity:m=>p.setCustomValidity(m),reportValidity:()=>p.reportValidity()})}}),[n,i._formValues,r,l.disabled,o,i._fields]);return Ee.useEffect(()=>{const p=i._options.shouldUnregister||s,h=(m,w)=>{const S=se(i._fields,m);S&&S._f&&(S._f.mount=w)};if(h(n,!0),p){const m=mt(se(i._options.defaultValues,n));Oe(i._defaultValues,n,m),qe(se(i._formValues,n))&&Oe(i._formValues,n,m)}return!a&&i.register(n),()=>{(a?p&&!i._state.action:p)?i.unregister(n):h(n,!1)}},[n,i,a,s]),Ee.useEffect(()=>{i._updateDisabledField({disabled:r,fields:i._fields,name:n})},[r,n,i]),Ee.useMemo(()=>({field:d,formState:l,fieldState:f}),[d,l,f])}const Eg=e=>e.render(Ng(e));var Ig=(e,t,n,r,i)=>t?{...n[e],types:{...n[e]&&n[e].types?n[e].types:{},[r]:i||!0}}:{},Bo=e=>({isOnSubmit:!e||e===Pt.onSubmit,isOnBlur:e===Pt.onBlur,isOnChange:e===Pt.onChange,isOnAll:e===Pt.all,isOnTouch:e===Pt.onTouched}),Vo=(e,t,n)=>!n&&(t.watchAll||t.watch.has(e)||[...t.watch].some(r=>e.startsWith(r)&&/^\.\w+/.test(e.slice(r.length))));const Nr=(e,t,n,r)=>{for(const i of n||Object.keys(e)){const s=se(e,i);if(s){const{_f:a,...o}=s;if(a){if(a.refs&&a.refs[0]&&t(a.refs[0],i)&&!r)return!0;if(a.ref&&t(a.ref,a.name)&&!r)return!0;if(Nr(o,t))break}else if(We(o)&&Nr(o,t))break}}};var zg=(e,t,n)=>{const r=Cr(se(e,n));return Oe(r,"root",t[n]),Oe(e,n,r),e},qa=e=>e.type==="file",Zt=e=>typeof e=="function",ji=e=>{if(!Ua)return!1;const t=e?e.ownerDocument:0;return e instanceof(t&&t.defaultView?t.defaultView.HTMLElement:HTMLElement)},hi=e=>Bt(e),Wa=e=>e.type==="radio",Ci=e=>e instanceof RegExp;const Uo={value:!1,isValid:!1},Jo={value:!0,isValid:!0};var pd=e=>{if(Array.isArray(e)){if(e.length>1){const t=e.filter(n=>n&&n.checked&&!n.disabled).map(n=>n.value);return{value:t,isValid:!!t.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!qe(e[0].attributes.value)?qe(e[0].value)||e[0].value===""?Jo:{value:e[0].value,isValid:!0}:Jo:Uo}return Uo};const Ho={isValid:!1,value:null};var hd=e=>Array.isArray(e)?e.reduce((t,n)=>n&&n.checked&&!n.disabled?{isValid:!0,value:n.value}:t,Ho):Ho;function qo(e,t,n="validate"){if(hi(e)||Array.isArray(e)&&e.every(hi)||Ct(e)&&!e)return{type:n,message:hi(e)?e:"",ref:t}}var An=e=>We(e)&&!Ci(e)?e:{value:e,message:""},Wo=async(e,t,n,r,i,s)=>{const{ref:a,refs:o,required:l,maxLength:u,minLength:f,min:d,max:p,pattern:h,validate:m,name:w,valueAsNumber:S,mount:x}=e._f,_=se(n,w);if(!x||t.has(w))return{};const g=o?o[0]:a,T=R=>{i&&g.reportValidity&&(g.setCustomValidity(Ct(R)?"":R||""),g.reportValidity())},E={},k=Wa(a),N=Wr(a),M=k||N,Y=(S||qa(a))&&qe(a.value)&&qe(_)||ji(a)&&a.value===""||_===""||Array.isArray(_)&&!_.length,C=Ig.bind(null,w,r,E),B=(R,U,L,P=Ht.maxLength,A=Ht.minLength)=>{const J=R?U:L;E[w]={type:R?P:A,message:J,ref:a,...C(R?P:A,J)}};if(s?!Array.isArray(_)||!_.length:l&&(!M&&(Y||ct(_))||Ct(_)&&!_||N&&!pd(o).isValid||k&&!hd(o).isValid)){const{value:R,message:U}=hi(l)?{value:!!l,message:l}:An(l);if(R&&(E[w]={type:Ht.required,message:U,ref:g,...C(Ht.required,U)},!r))return T(U),E}if(!Y&&(!ct(d)||!ct(p))){let R,U;const L=An(p),P=An(d);if(!ct(_)&&!isNaN(_)){const A=a.valueAsNumber||_&&+_;ct(L.value)||(R=A>L.value),ct(P.value)||(U=A<P.value)}else{const A=a.valueAsDate||new Date(_),J=b=>new Date(new Date().toDateString()+" "+b),O=a.type=="time",q=a.type=="week";Bt(L.value)&&_&&(R=O?J(_)>J(L.value):q?_>L.value:A>new Date(L.value)),Bt(P.value)&&_&&(U=O?J(_)<J(P.value):q?_<P.value:A<new Date(P.value))}if((R||U)&&(B(!!R,L.message,P.message,Ht.max,Ht.min),!r))return T(E[w].message),E}if((u||f)&&!Y&&(Bt(_)||s&&Array.isArray(_))){const R=An(u),U=An(f),L=!ct(R.value)&&_.length>+R.value,P=!ct(U.value)&&_.length<+U.value;if((L||P)&&(B(L,R.message,U.message),!r))return T(E[w].message),E}if(h&&!Y&&Bt(_)){const{value:R,message:U}=An(h);if(Ci(R)&&!_.match(R)&&(E[w]={type:Ht.pattern,message:U,ref:a,...C(Ht.pattern,U)},!r))return T(U),E}if(m){if(Zt(m)){const R=await m(_,n),U=qo(R,g);if(U&&(E[w]={...U,...C(Ht.validate,U.message)},!r))return T(U.message),E}else if(We(m)){let R={};for(const U in m){if(!gt(R)&&!r)break;const L=qo(await m[U](_,n),g,U);L&&(R={...L,...C(U,L.message)},T(L.message),r&&(E[w]=R))}if(!gt(R)&&(E[w]={ref:g,...R},!r))return E}}return T(!0),E};function Tg(e,t){const n=t.slice(0,-1).length;let r=0;for(;r<n;)e=qe(e)?r++:e[t[r++]];return e}function Ag(e){for(const t in e)if(e.hasOwnProperty(t)&&!qe(e[t]))return!1;return!0}function nt(e,t){const n=Array.isArray(t)?t:Ja(t)?[t]:od(t),r=n.length===1?e:Tg(e,n),i=n.length-1,s=n[i];return r&&delete r[s],i!==0&&(We(r)&&gt(r)||Array.isArray(r)&&Ag(r))&&nt(e,n.slice(0,-1)),e}var _s=()=>{let e=[];return{get observers(){return e},next:i=>{for(const s of e)s.next&&s.next(i)},subscribe:i=>(e.push(i),{unsubscribe:()=>{e=e.filter(s=>s!==i)}}),unsubscribe:()=>{e=[]}}},ca=e=>ct(e)||!id(e);function rn(e,t){if(ca(e)||ca(t))return e===t;if(vn(e)&&vn(t))return e.getTime()===t.getTime();const n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(const i of n){const s=e[i];if(!r.includes(i))return!1;if(i!=="ref"){const a=t[i];if(vn(s)&&vn(a)||We(s)&&We(a)||Array.isArray(s)&&Array.isArray(a)?!rn(s,a):s!==a)return!1}}return!0}var md=e=>e.type==="select-multiple",Pg=e=>Wa(e)||Wr(e),js=e=>ji(e)&&e.isConnected,gd=e=>{for(const t in e)if(Zt(e[t]))return!0;return!1};function Ni(e,t={}){const n=Array.isArray(e);if(We(e)||n)for(const r in e)Array.isArray(e[r])||We(e[r])&&!gd(e[r])?(t[r]=Array.isArray(e[r])?[]:{},Ni(e[r],t[r])):ct(e[r])||(t[r]=!0);return t}function xd(e,t,n){const r=Array.isArray(e);if(We(e)||r)for(const i in e)Array.isArray(e[i])||We(e[i])&&!gd(e[i])?qe(t)||ca(n[i])?n[i]=Array.isArray(e[i])?Ni(e[i],[]):{...Ni(e[i])}:xd(e[i],ct(t)?{}:t[i],n[i]):n[i]=!rn(e[i],t[i]);return n}var ur=(e,t)=>xd(e,t,Ni(t)),yd=(e,{valueAsNumber:t,valueAsDate:n,setValueAs:r})=>qe(e)?e:t?e===""?NaN:e&&+e:n&&Bt(e)?new Date(e):r?r(e):e;function Cs(e){const t=e.ref;return qa(t)?t.files:Wa(t)?hd(e.refs).value:md(t)?[...t.selectedOptions].map(({value:n})=>n):Wr(t)?pd(e.refs).value:yd(qe(t.value)?e.ref.value:t.value,e)}var Og=(e,t,n,r)=>{const i={};for(const s of e){const a=se(t,s);a&&Oe(i,s,a._f)}return{criteriaMode:n,names:[...e],fields:i,shouldUseNativeValidation:r}},cr=e=>qe(e)?e:Ci(e)?e.source:We(e)?Ci(e.value)?e.value.source:e.value:e;const Go="AsyncFunction";var Dg=e=>!!e&&!!e.validate&&!!(Zt(e.validate)&&e.validate.constructor.name===Go||We(e.validate)&&Object.values(e.validate).find(t=>t.constructor.name===Go)),Rg=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate);function Ko(e,t,n){const r=se(e,n);if(r||Ja(n))return{error:r,name:n};const i=n.split(".");for(;i.length;){const s=i.join("."),a=se(t,s),o=se(e,s);if(a&&!Array.isArray(a)&&n!==s)return{name:n};if(o&&o.type)return{name:s,error:o};i.pop()}return{name:n}}var Mg=(e,t,n,r,i)=>i.isOnAll?!1:!n&&i.isOnTouch?!(t||e):(n?r.isOnBlur:i.isOnBlur)?!e:(n?r.isOnChange:i.isOnChange)?e:!0,$g=(e,t)=>!ts(se(e,t)).length&&nt(e,t);const Fg={mode:Pt.onSubmit,reValidateMode:Pt.onChange,shouldFocusError:!0};function Lg(e={}){let t={...Fg,...e},n={submitCount:0,isDirty:!1,isLoading:Zt(t.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:t.errors||{},disabled:t.disabled||!1},r={},i=We(t.defaultValues)||We(t.values)?mt(t.defaultValues||t.values)||{}:{},s=t.shouldUnregister?{}:mt(i),a={action:!1,mount:!1,watch:!1},o={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set},l,u=0;const f={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},d={values:_s(),array:_s(),state:_s()},p=Bo(t.mode),h=Bo(t.reValidateMode),m=t.criteriaMode===Pt.all,w=j=>z=>{clearTimeout(u),u=setTimeout(j,z)},S=async j=>{if(!t.disabled&&(f.isValid||j)){const z=t.resolver?gt((await M()).errors):await C(r,!0);z!==n.isValid&&d.state.next({isValid:z})}},x=(j,z)=>{!t.disabled&&(f.isValidating||f.validatingFields)&&((j||Array.from(o.mount)).forEach(Z=>{Z&&(z?Oe(n.validatingFields,Z,z):nt(n.validatingFields,Z))}),d.state.next({validatingFields:n.validatingFields,isValidating:!gt(n.validatingFields)}))},_=(j,z=[],Z,re,te=!0,ee=!0)=>{if(re&&Z&&!t.disabled){if(a.action=!0,ee&&Array.isArray(se(r,j))){const fe=Z(se(r,j),re.argA,re.argB);te&&Oe(r,j,fe)}if(ee&&Array.isArray(se(n.errors,j))){const fe=Z(se(n.errors,j),re.argA,re.argB);te&&Oe(n.errors,j,fe),$g(n.errors,j)}if(f.touchedFields&&ee&&Array.isArray(se(n.touchedFields,j))){const fe=Z(se(n.touchedFields,j),re.argA,re.argB);te&&Oe(n.touchedFields,j,fe)}f.dirtyFields&&(n.dirtyFields=ur(i,s)),d.state.next({name:j,isDirty:R(j,z),dirtyFields:n.dirtyFields,errors:n.errors,isValid:n.isValid})}else Oe(s,j,z)},g=(j,z)=>{Oe(n.errors,j,z),d.state.next({errors:n.errors})},T=j=>{n.errors=j,d.state.next({errors:n.errors,isValid:!1})},E=(j,z,Z,re)=>{const te=se(r,j);if(te){const ee=se(s,j,qe(Z)?se(i,j):Z);qe(ee)||re&&re.defaultChecked||z?Oe(s,j,z?ee:Cs(te._f)):P(j,ee),a.mount&&S()}},k=(j,z,Z,re,te)=>{let ee=!1,fe=!1;const be={name:j};if(!t.disabled){const F=!!(se(r,j)&&se(r,j)._f&&se(r,j)._f.disabled);if(!Z||re){f.isDirty&&(fe=n.isDirty,n.isDirty=be.isDirty=R(),ee=fe!==be.isDirty);const G=F||rn(se(i,j),z);fe=!!(!F&&se(n.dirtyFields,j)),G||F?nt(n.dirtyFields,j):Oe(n.dirtyFields,j,!0),be.dirtyFields=n.dirtyFields,ee=ee||f.dirtyFields&&fe!==!G}if(Z){const G=se(n.touchedFields,j);G||(Oe(n.touchedFields,j,Z),be.touchedFields=n.touchedFields,ee=ee||f.touchedFields&&G!==Z)}ee&&te&&d.state.next(be)}return ee?be:{}},N=(j,z,Z,re)=>{const te=se(n.errors,j),ee=f.isValid&&Ct(z)&&n.isValid!==z;if(t.delayError&&Z?(l=w(()=>g(j,Z)),l(t.delayError)):(clearTimeout(u),l=null,Z?Oe(n.errors,j,Z):nt(n.errors,j)),(Z?!rn(te,Z):te)||!gt(re)||ee){const fe={...re,...ee&&Ct(z)?{isValid:z}:{},errors:n.errors,name:j};n={...n,...fe},d.state.next(fe)}},M=async j=>{x(j,!0);const z=await t.resolver(s,t.context,Og(j||o.mount,r,t.criteriaMode,t.shouldUseNativeValidation));return x(j),z},Y=async j=>{const{errors:z}=await M(j);if(j)for(const Z of j){const re=se(z,Z);re?Oe(n.errors,Z,re):nt(n.errors,Z)}else n.errors=z;return z},C=async(j,z,Z={valid:!0})=>{for(const re in j){const te=j[re];if(te){const{_f:ee,...fe}=te;if(ee){const be=o.array.has(ee.name),F=te._f&&Dg(te._f);F&&f.validatingFields&&x([re],!0);const G=await Wo(te,o.disabled,s,m,t.shouldUseNativeValidation&&!z,be);if(F&&f.validatingFields&&x([re]),G[ee.name]&&(Z.valid=!1,z))break;!z&&(se(G,ee.name)?be?zg(n.errors,G,ee.name):Oe(n.errors,ee.name,G[ee.name]):nt(n.errors,ee.name))}!gt(fe)&&await C(fe,z,Z)}}return Z.valid},B=()=>{for(const j of o.unMount){const z=se(r,j);z&&(z._f.refs?z._f.refs.every(Z=>!js(Z)):!js(z._f.ref))&&ne(j)}o.unMount=new Set},R=(j,z)=>!t.disabled&&(j&&z&&Oe(s,j,z),!rn(ce(),i)),U=(j,z,Z)=>fd(j,o,{...a.mount?s:qe(z)?i:Bt(j)?{[j]:z}:z},Z,z),L=j=>ts(se(a.mount?s:i,j,t.shouldUnregister?se(i,j,[]):[])),P=(j,z,Z={})=>{const re=se(r,j);let te=z;if(re){const ee=re._f;ee&&(!ee.disabled&&Oe(s,j,yd(z,ee)),te=ji(ee.ref)&&ct(z)?"":z,md(ee.ref)?[...ee.ref.options].forEach(fe=>fe.selected=te.includes(fe.value)):ee.refs?Wr(ee.ref)?ee.refs.length>1?ee.refs.forEach(fe=>(!fe.defaultChecked||!fe.disabled)&&(fe.checked=Array.isArray(te)?!!te.find(be=>be===fe.value):te===fe.value)):ee.refs[0]&&(ee.refs[0].checked=!!te):ee.refs.forEach(fe=>fe.checked=fe.value===te):qa(ee.ref)?ee.ref.value="":(ee.ref.value=te,ee.ref.type||d.values.next({name:j,values:{...s}})))}(Z.shouldDirty||Z.shouldTouch)&&k(j,te,Z.shouldTouch,Z.shouldDirty,!0),Z.shouldValidate&&b(j)},A=(j,z,Z)=>{for(const re in z){const te=z[re],ee=`${j}.${re}`,fe=se(r,ee);(o.array.has(j)||We(te)||fe&&!fe._f)&&!vn(te)?A(ee,te,Z):P(ee,te,Z)}},J=(j,z,Z={})=>{const re=se(r,j),te=o.array.has(j),ee=mt(z);Oe(s,j,ee),te?(d.array.next({name:j,values:{...s}}),(f.isDirty||f.dirtyFields)&&Z.shouldDirty&&d.state.next({name:j,dirtyFields:ur(i,s),isDirty:R(j,ee)})):re&&!re._f&&!ct(ee)?A(j,ee,Z):P(j,ee,Z),Vo(j,o)&&d.state.next({...n}),d.values.next({name:a.mount?j:void 0,values:{...s}})},O=async j=>{a.mount=!0;const z=j.target;let Z=z.name,re=!0;const te=se(r,Z),ee=()=>z.type?Cs(te._f):sd(j),fe=be=>{re=Number.isNaN(be)||vn(be)&&isNaN(be.getTime())||rn(be,se(s,Z,be))};if(te){let be,F;const G=ee(),pe=j.type===_i.BLUR||j.type===_i.FOCUS_OUT,ke=!Rg(te._f)&&!t.resolver&&!se(n.errors,Z)&&!te._f.deps||Mg(pe,se(n.touchedFields,Z),n.isSubmitted,h,p),D=Vo(Z,o,pe);Oe(s,Z,G),pe?(te._f.onBlur&&te._f.onBlur(j),l&&l(0)):te._f.onChange&&te._f.onChange(j);const he=k(Z,G,pe,!1),Ne=!gt(he)||D;if(!pe&&d.values.next({name:Z,type:j.type,values:{...s}}),ke)return f.isValid&&(t.mode==="onBlur"&&pe?S():pe||S()),Ne&&d.state.next({name:Z,...D?{}:he});if(!pe&&D&&d.state.next({...n}),t.resolver){const{errors:Me}=await M([Z]);if(fe(G),re){const tt=Ko(n.errors,r,Z),Ke=Ko(Me,r,tt.name||Z);be=Ke.error,Z=Ke.name,F=gt(Me)}}else x([Z],!0),be=(await Wo(te,o.disabled,s,m,t.shouldUseNativeValidation))[Z],x([Z]),fe(G),re&&(be?F=!1:f.isValid&&(F=await C(r,!0)));re&&(te._f.deps&&b(te._f.deps),N(Z,F,be,he))}},q=(j,z)=>{if(se(n.errors,z)&&j.focus)return j.focus(),1},b=async(j,z={})=>{let Z,re;const te=Cr(j);if(t.resolver){const ee=await Y(qe(j)?j:te);Z=gt(ee),re=j?!te.some(fe=>se(ee,fe)):Z}else j?(re=(await Promise.all(te.map(async ee=>{const fe=se(r,ee);return await C(fe&&fe._f?{[ee]:fe}:fe)}))).every(Boolean),!(!re&&!n.isValid)&&S()):re=Z=await C(r);return d.state.next({...!Bt(j)||f.isValid&&Z!==n.isValid?{}:{name:j},...t.resolver||!j?{isValid:Z}:{},errors:n.errors}),z.shouldFocus&&!re&&Nr(r,q,j?te:o.mount),re},ce=j=>{const z={...a.mount?s:i};return qe(j)?z:Bt(j)?se(z,j):j.map(Z=>se(z,Z))},oe=(j,z)=>({invalid:!!se((z||n).errors,j),isDirty:!!se((z||n).dirtyFields,j),error:se((z||n).errors,j),isValidating:!!se(n.validatingFields,j),isTouched:!!se((z||n).touchedFields,j)}),v=j=>{j&&Cr(j).forEach(z=>nt(n.errors,z)),d.state.next({errors:j?n.errors:{}})},X=(j,z,Z)=>{const re=(se(r,j,{_f:{}})._f||{}).ref,te=se(n.errors,j)||{},{ref:ee,message:fe,type:be,...F}=te;Oe(n.errors,j,{...F,...z,ref:re}),d.state.next({name:j,errors:n.errors,isValid:!1}),Z&&Z.shouldFocus&&re&&re.focus&&re.focus()},ae=(j,z)=>Zt(j)?d.values.subscribe({next:Z=>j(U(void 0,z),Z)}):U(j,z,!0),ne=(j,z={})=>{for(const Z of j?Cr(j):o.mount)o.mount.delete(Z),o.array.delete(Z),z.keepValue||(nt(r,Z),nt(s,Z)),!z.keepError&&nt(n.errors,Z),!z.keepDirty&&nt(n.dirtyFields,Z),!z.keepTouched&&nt(n.touchedFields,Z),!z.keepIsValidating&&nt(n.validatingFields,Z),!t.shouldUnregister&&!z.keepDefaultValue&&nt(i,Z);d.values.next({values:{...s}}),d.state.next({...n,...z.keepDirty?{isDirty:R()}:{}}),!z.keepIsValid&&S()},I=({disabled:j,name:z,field:Z,fields:re})=>{(Ct(j)&&a.mount||j||o.disabled.has(z))&&(j?o.disabled.add(z):o.disabled.delete(z),k(z,Cs(Z?Z._f:se(re,z)._f),!1,!1,!0))},$=(j,z={})=>{let Z=se(r,j);const re=Ct(z.disabled)||Ct(t.disabled);return Oe(r,j,{...Z||{},_f:{...Z&&Z._f?Z._f:{ref:{name:j}},name:j,mount:!0,...z}}),o.mount.add(j),Z?I({field:Z,disabled:Ct(z.disabled)?z.disabled:t.disabled,name:j}):E(j,!0,z.value),{...re?{disabled:z.disabled||t.disabled}:{},...t.progressive?{required:!!z.required,min:cr(z.min),max:cr(z.max),minLength:cr(z.minLength),maxLength:cr(z.maxLength),pattern:cr(z.pattern)}:{},name:j,onChange:O,onBlur:O,ref:te=>{if(te){$(j,z),Z=se(r,j);const ee=qe(te.value)&&te.querySelectorAll&&te.querySelectorAll("input,select,textarea")[0]||te,fe=Pg(ee),be=Z._f.refs||[];if(fe?be.find(F=>F===ee):ee===Z._f.ref)return;Oe(r,j,{_f:{...Z._f,...fe?{refs:[...be.filter(js),ee,...Array.isArray(se(i,j))?[{}]:[]],ref:{type:ee.type,name:j}}:{ref:ee}}}),E(j,!1,void 0,ee)}else Z=se(r,j,{}),Z._f&&(Z._f.mount=!1),(t.shouldUnregister||z.shouldUnregister)&&!(ad(o.array,j)&&a.action)&&o.unMount.add(j)}}},W=()=>t.shouldFocusError&&Nr(r,q,o.mount),le=j=>{Ct(j)&&(d.state.next({disabled:j}),Nr(r,(z,Z)=>{const re=se(r,Z);re&&(z.disabled=re._f.disabled||j,Array.isArray(re._f.refs)&&re._f.refs.forEach(te=>{te.disabled=re._f.disabled||j}))},0,!1))},K=(j,z)=>async Z=>{let re;Z&&(Z.preventDefault&&Z.preventDefault(),Z.persist&&Z.persist());let te=mt(s);if(o.disabled.size)for(const ee of o.disabled)Oe(te,ee,void 0);if(d.state.next({isSubmitting:!0}),t.resolver){const{errors:ee,values:fe}=await M();n.errors=ee,te=fe}else await C(r);if(nt(n.errors,"root"),gt(n.errors)){d.state.next({errors:{}});try{await j(te,Z)}catch(ee){re=ee}}else z&&await z({...n.errors},Z),W(),setTimeout(W);if(d.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:gt(n.errors)&&!re,submitCount:n.submitCount+1,errors:n.errors}),re)throw re},ve=(j,z={})=>{se(r,j)&&(qe(z.defaultValue)?J(j,mt(se(i,j))):(J(j,z.defaultValue),Oe(i,j,mt(z.defaultValue))),z.keepTouched||nt(n.touchedFields,j),z.keepDirty||(nt(n.dirtyFields,j),n.isDirty=z.defaultValue?R(j,mt(se(i,j))):R()),z.keepError||(nt(n.errors,j),f.isValid&&S()),d.state.next({...n}))},de=(j,z={})=>{const Z=j?mt(j):i,re=mt(Z),te=gt(j),ee=te?i:re;if(z.keepDefaultValues||(i=Z),!z.keepValues){if(z.keepDirtyValues){const fe=new Set([...o.mount,...Object.keys(ur(i,s))]);for(const be of Array.from(fe))se(n.dirtyFields,be)?Oe(ee,be,se(s,be)):J(be,se(ee,be))}else{if(Ua&&qe(j))for(const fe of o.mount){const be=se(r,fe);if(be&&be._f){const F=Array.isArray(be._f.refs)?be._f.refs[0]:be._f.ref;if(ji(F)){const G=F.closest("form");if(G){G.reset();break}}}}r={}}s=t.shouldUnregister?z.keepDefaultValues?mt(i):{}:mt(ee),d.array.next({values:{...ee}}),d.values.next({values:{...ee}})}o={mount:z.keepDirtyValues?o.mount:new Set,unMount:new Set,array:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},a.mount=!f.isValid||!!z.keepIsValid||!!z.keepDirtyValues,a.watch=!!t.shouldUnregister,d.state.next({submitCount:z.keepSubmitCount?n.submitCount:0,isDirty:te?!1:z.keepDirty?n.isDirty:!!(z.keepDefaultValues&&!rn(j,i)),isSubmitted:z.keepIsSubmitted?n.isSubmitted:!1,dirtyFields:te?{}:z.keepDirtyValues?z.keepDefaultValues&&s?ur(i,s):n.dirtyFields:z.keepDefaultValues&&j?ur(i,j):z.keepDirty?n.dirtyFields:{},touchedFields:z.keepTouched?n.touchedFields:{},errors:z.keepErrors?n.errors:{},isSubmitSuccessful:z.keepIsSubmitSuccessful?n.isSubmitSuccessful:!1,isSubmitting:!1})},xe=(j,z)=>de(Zt(j)?j(s):j,z);return{control:{register:$,unregister:ne,getFieldState:oe,handleSubmit:K,setError:X,_executeSchema:M,_getWatch:U,_getDirty:R,_updateValid:S,_removeUnmounted:B,_updateFieldArray:_,_updateDisabledField:I,_getFieldArray:L,_reset:de,_resetDefaultValues:()=>Zt(t.defaultValues)&&t.defaultValues().then(j=>{xe(j,t.resetOptions),d.state.next({isLoading:!1})}),_updateFormState:j=>{n={...n,...j}},_disableForm:le,_subjects:d,_proxyFormState:f,_setErrors:T,get _fields(){return r},get _formValues(){return s},get _state(){return a},set _state(j){a=j},get _defaultValues(){return i},get _names(){return o},set _names(j){o=j},get _formState(){return n},set _formState(j){n=j},get _options(){return t},set _options(j){t={...t,...j}}},trigger:b,register:$,handleSubmit:K,watch:ae,setValue:J,getValues:ce,reset:xe,resetField:ve,clearErrors:v,unregister:ne,setError:X,setFocus:(j,z={})=>{const Z=se(r,j),re=Z&&Z._f;if(re){const te=re.refs?re.refs[0]:re.ref;te.focus&&(te.focus(),z.shouldSelect&&Zt(te.select)&&te.select())}},getFieldState:oe}}function Zg(e={}){const t=Ee.useRef(void 0),n=Ee.useRef(void 0),[r,i]=Ee.useState({isDirty:!1,isValidating:!1,isLoading:Zt(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1,defaultValues:Zt(e.defaultValues)?void 0:e.defaultValues});t.current||(t.current={...Lg(e),formState:r});const s=t.current.control;return s._options=e,Ha({subject:s._subjects.state,next:a=>{cd(a,s._proxyFormState,s._updateFormState,!0)&&i({...s._formState})}}),Ee.useEffect(()=>s._disableForm(e.disabled),[s,e.disabled]),Ee.useEffect(()=>{if(s._proxyFormState.isDirty){const a=s._getDirty();a!==r.isDirty&&s._subjects.state.next({isDirty:a})}},[s,r.isDirty]),Ee.useEffect(()=>{e.values&&!rn(e.values,n.current)?(s._reset(e.values,s._options.resetOptions),n.current=e.values,i(a=>({...a}))):s._resetDefaultValues()},[e.values,s]),Ee.useEffect(()=>{e.errors&&s._setErrors(e.errors)},[e.errors,s]),Ee.useEffect(()=>{s._state.mount||(s._updateValid(),s._state.mount=!0),s._state.watch&&(s._state.watch=!1,s._subjects.state.next({...s._formState})),s._removeUnmounted()}),Ee.useEffect(()=>{e.shouldUnregister&&s._subjects.values.next({values:s._getWatch()})},[e.shouldUnregister,s]),t.current.formState=ud(r,s),t.current}function Bg(e){return async t=>{const n=e(t);if(n.success&&n.data)return{values:n.data,errors:{}};const r={};if(n.errors)for(const i of n.errors){const s=i.path||"root";r[s]||(r[s]={type:"validation",message:i.message})}return{values:{},errors:r}}}const Dt=pc,Yo=hc,Vg=mc,Xo=Ba,bd=y.forwardRef(({className:e,...t},n)=>c.jsx(Xi,{ref:n,className:H("fixed inset-0 z-50 bg-black/80",e),...t}));bd.displayName=Xi.displayName;const Et=y.forwardRef(({className:e,children:t,...n},r)=>c.jsxs(Vg,{children:[c.jsx(bd,{}),c.jsxs(Gi,{ref:r,className:H("bg-background fixed top-[50%] left-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border p-6 shadow-lg sm:rounded-lg",e),...n,children:[t,c.jsxs(Ba,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 cursor-pointer rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:pointer-events-none",children:[c.jsx(jn,{className:"h-4 w-4"}),c.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));Et.displayName=Gi.displayName;const Gt=({className:e,...t})=>c.jsx("div",{className:H("flex flex-col space-y-1.5 text-center sm:text-left",e),...t});Gt.displayName="DialogHeader";const Yn=({className:e,...t})=>c.jsx("div",{className:H("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...t});Yn.displayName="DialogFooter";const Kt=y.forwardRef(({className:e,...t},n)=>c.jsx(Ki,{ref:n,className:H("text-lg leading-none font-semibold tracking-tight",e),...t}));Kt.displayName=Ki.displayName;const Cn=y.forwardRef(({className:e,...t},n)=>c.jsx(Yi,{ref:n,className:H("text-muted-foreground text-sm",e),...t}));Cn.displayName=Yi.displayName;const Ug=qr("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),Ga=y.forwardRef(({className:e,...t},n)=>c.jsx(gc,{ref:n,className:H(Ug(),e),...t}));Ga.displayName=gc.displayName;const Jg=_g,vd=y.createContext({}),Qo=({...e})=>c.jsx(vd.Provider,{value:{name:e.name},children:c.jsx(Eg,{...e})}),rs=()=>{const e=y.useContext(vd),t=y.useContext(wd),{getFieldState:n,formState:r}=ns(),i=n(e.name,r);if(!e)throw new Error("useFormField should be used within <FormField>");const{id:s}=t;return{id:s,name:e.name,formItemId:`${s}-form-item`,formDescriptionId:`${s}-form-item-description`,formMessageId:`${s}-form-item-message`,...i}},wd=y.createContext({}),da=y.forwardRef(({className:e,...t},n)=>{const r=y.useId();return c.jsx(wd.Provider,{value:{id:r},children:c.jsx("div",{ref:n,className:H("space-y-2",e),...t})})});da.displayName="FormItem";const fa=y.forwardRef(({className:e,...t},n)=>{const{error:r,formItemId:i}=rs();return c.jsx(Ga,{ref:n,className:H(r&&"text-destructive",e),htmlFor:i,...t})});fa.displayName="FormLabel";const pa=y.forwardRef(({...e},t)=>{const{error:n,formItemId:r,formDescriptionId:i,formMessageId:s}=rs();return c.jsx(rr,{ref:t,id:r,"aria-describedby":n?`${i} ${s}`:`${i}`,"aria-invalid":!!n,...e})});pa.displayName="FormControl";const kd=y.forwardRef(({className:e,...t},n)=>{const{formDescriptionId:r}=rs();return c.jsx("p",{ref:n,id:r,className:H("text-muted-foreground text-[0.8rem]",e),...t})});kd.displayName="FormDescription";const ha=y.forwardRef(({className:e,children:t,...n},r)=>{const{error:i,formMessageId:s}=rs(),a=i?String(i==null?void 0:i.message):t;return a?c.jsx("p",{ref:r,id:s,className:H("text-destructive text-[0.8rem] font-medium",e),...n,children:a}):null});ha.displayName="FormMessage";const is=y.forwardRef(({className:e,type:t,...n},r)=>c.jsx("input",{type:t,className:H("border-input file:text-foreground placeholder:text-muted-foreground focus-visible:ring-ring flex h-9 w-full rounded-md border bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium focus-visible:ring-1 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:r,...n}));is.displayName="Input";const Ka=xm,Hg=_m,Ya=ym,ss=y.forwardRef(({className:e,children:t,...n},r)=>c.jsxs(xc,{ref:r,className:H("border-input ring-offset-background placeholder:text-muted-foreground focus:ring-ring flex h-9 w-full items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm shadow-sm focus:ring-1 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50 [&>span]:truncate cursor-pointer",e),...n,children:[t,c.jsx(bm,{asChild:!0,children:c.jsx(an,{className:"h-4 w-4 shrink-0 opacity-50"})})]}));ss.displayName=xc.displayName;const Sd=y.forwardRef(({className:e,...t},n)=>c.jsx(vc,{ref:n,className:H("flex cursor-default items-center justify-center py-1",e),...t,children:c.jsx(Lm,{className:"h-4 w-4"})}));Sd.displayName=vc.displayName;const _d=y.forwardRef(({className:e,...t},n)=>c.jsx(wc,{ref:n,className:H("flex cursor-default items-center justify-center py-1",e),...t,children:c.jsx(an,{className:"h-4 w-4"})}));_d.displayName=wc.displayName;const as=y.forwardRef(({className:e,children:t,position:n="popper",...r},i)=>c.jsx(vm,{children:c.jsxs(yc,{ref:i,className:H("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border shadow-md",n==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:n,...r,children:[c.jsx(Sd,{}),c.jsx(wm,{className:H("p-1",n==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:t}),c.jsx(_d,{})]})}));as.displayName=yc.displayName;const jd=y.forwardRef(({className:e,...t},n)=>c.jsx(kc,{ref:n,className:H("px-2 py-1.5 text-sm font-semibold",e),...t}));jd.displayName=kc.displayName;const Ar=y.forwardRef(({className:e,children:t,...n},r)=>c.jsxs(bc,{ref:r,className:H("focus:bg-accent focus:text-accent-foreground relative flex w-full cursor-pointer items-center rounded-sm py-1.5 pr-8 pl-2 text-sm outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...n,children:[c.jsx("span",{className:"absolute right-2 flex h-3.5 w-3.5 items-center justify-center",children:c.jsx(km,{children:c.jsx(ln,{className:"h-4 w-4"})})}),c.jsx(Sm,{children:t})]}));Ar.displayName=bc.displayName;const qg=y.forwardRef(({className:e,...t},n)=>c.jsx(Sc,{ref:n,className:H("bg-muted -mx-1 my-1 h-px",e),...t}));qg.displayName=Sc.displayName;function Xa(){const e=new Date,t=n=>String(n).padStart(2,"0");return`Chat ${t(e.getMonth()+1)}/${t(e.getDate())} ${t(e.getHours())}:${t(e.getMinutes())}`}const Cd=()=>({chatOpen:!1,scope:"global",model:"opus",contextAttachments:[],threads:{},activeThreadId:{}}),Wg=(e=Cd())=>mg()(gg(xg((t,n)=>({...e,toggleChat:()=>t(r=>({chatOpen:!r.chatOpen})),openChat:()=>t({chatOpen:!0}),closeChat:()=>t({chatOpen:!1}),addContext:r=>t(i=>({contextAttachments:[...i.contextAttachments,r]})),removeContext:r=>t(i=>({contextAttachments:i.contextAttachments.filter((s,a)=>a!==r)})),clearContext:()=>t({contextAttachments:[]}),setScope:r=>t({scope:r}),setModel:r=>t({model:r}),createThread:r=>{const i=crypto.randomUUID(),s=Date.now(),a={id:i,documentName:r,title:Xa(),messages:[],createdAt:s,updatedAt:s};return t(o=>({threads:{...o.threads,[i]:a},activeThreadId:{...o.activeThreadId,[r]:i}})),i},deleteThread:r=>{const i=n(),s=i.threads[r];if(!s)return;const a=Object.fromEntries(Object.entries(i.threads).filter(([u])=>u!==r)),o=s.documentName,l={...i.activeThreadId};if(l[o]===r){const u=Object.values(a).filter(f=>f.documentName===o);u.length>0?(u.sort((f,d)=>d.updatedAt-f.updatedAt),l[o]=u[0].id):delete l[o]}t({threads:a,activeThreadId:l})},switchThread:r=>{const s=n().threads[r];s&&t(a=>({activeThreadId:{...a.activeThreadId,[s.documentName]:r}}))},updateThreadMessages:(r,i)=>{t(s=>{const a=s.threads[r];return a?{threads:{...s.threads,[r]:{...a,messages:i,updatedAt:Date.now()}}}:s})},updateThreadTitle:(r,i)=>{t(s=>{const a=s.threads[r];return a?{threads:{...s.threads,[r]:{...a,title:i}}}:s})},deleteThreadsForDocument:r=>{t(i=>{const s={...i.threads},a={...i.activeThreadId};for(const[o,l]of Object.entries(s))l.documentName===r&&delete s[o];return delete a[r],{threads:s,activeThreadId:a}})},renameThreadsForDocument:(r,i)=>{t(s=>{const a={...s.threads},o={...s.activeThreadId};for(const[l,u]of Object.entries(a))u.documentName===r&&(a[l]={...u,documentName:i});return r in o&&(o[i]=o[r],delete o[r]),{threads:a,activeThreadId:o}})},clearChat:()=>{t(r=>({contextAttachments:[]}))}}),{name:"chat-storage",version:1,storage:yg(()=>ug),partialize:t=>({threads:t.threads,activeThreadId:t.activeThreadId,scope:t.scope,model:t.model}),migrate:(t,n)=>{if(n===0&&t){const r=t.chatMessages;if(Array.isArray(r)&&r.length>0){const i=crypto.randomUUID(),s=Date.now();return{threads:{[i]:{id:i,documentName:"__migrated__",title:"Migrated Chat",messages:r,createdAt:s,updatedAt:s}},activeThreadId:{__migrated__:i}}}return{threads:{},activeThreadId:{}}}return t}}))),Nd=y.createContext(void 0),Gg=({children:e})=>{const t=y.useRef(null);return t.current||(t.current=Wg(Cd())),c.jsx(Nd.Provider,{value:t.current,children:e})},Te=e=>{const t=y.useContext(Nd);if(!t)throw new Error("useChatStore must be used within ChatStoreProvider");return bg(t,e)};function Kg(e,t,n){return t.filter(r=>r.name!==n).every(r=>r.name!==e)}function Yg(e,t,n){const r={},i=[];e!=="delete"&&(r.name=ei.String({minLength:1,maxLength:120,pattern:"^[a-zA-Z0-9-_. ]+$",description:"Document name (e.g., my-report.docx.json or my-theme.theme.json)"}),i.push("name")),e==="create"&&(r.template=ei.Optional(ei.String({description:"Template selection"})));const s=ei.Object(r,{additionalProperties:!1,required:i.length>0?i:void 0});return{schema:s,validate:a=>{const o=[];if(!um(s,a))for(const u of cm(s,a))o.push({path:u.path.replace(/^\//,""),message:u.message});const l=a;if(e!=="delete"&&l.name){const u=l.name.trim();u?(l.name=u,t(u)||o.push({path:"name",message:"Document with this name already exists"})):o.push({path:"name",message:"Name can't be empty"})}return e==="create"&&(n!=null&&n.length)&&l.template&&(n.some(u=>u.name===l.template)||o.push({path:"template",message:"You must select a valid template"})),{success:o.length===0,data:o.length===0?l:void 0,errors:o}}}}function Xg(e,t,n){return e==="create"?{name:"",template:t}:e==="update"?{name:n}:{}}const Qg=e=>({create:{title:e?"New Theme":"New Document",description:e?"Create a new theme from scratch or based on discovered themes.":"Create a new document from scratch or based on discovered documents.",button:"Create",buttonVariant:"default"},update:{title:"Rename Document",description:"Give your document a new name.",button:"Save",buttonVariant:"default"},delete:{title:"Are you absolutely sure?",description:"This action cannot be undone. Are you sure you want to permanently delete this document?",button:"Confirm",buttonVariant:"destructive"}}),dr="__empty__";function ex({mode:e,shouldReset:t,postSubmit:n,selectedName:r,discoveredDocuments:i,discoveredThemes:s,isTheme:a}){const[o,l]=y.useState(!1),[u,f]=y.useState(null),d=Qg(a),{documents:p,openTabs:h,createDocument:m,renameDocument:w,deleteDocument:S,openDocument:x,closeDocument:_}=Ae(O=>O),{updateTheme:g,removeTheme:T}=la(O=>O),E=Te(O=>O.renameThreadsForDocument),k=Te(O=>O.deleteThreadsForDocument),N=y.useMemo(()=>a?s||[]:i||[],[a,i,s]),M=y.useMemo(()=>{const O={current:[],downstream:[]};return N.forEach(q=>{O[q.location]&&O[q.location].push(q)}),O},[N]),Y=y.useMemo(()=>N.map(O=>({name:O.name,type:"application/json",text:"",mtime:new Date,ctime:new Date,atime:new Date})),[N]),C=y.useMemo(()=>Yg(e,O=>Kg(O,p,r),Y),[e,p,r,Y]),B=C.schema,R=y.useMemo(()=>{const O=new Map;return N.forEach(q=>O.set(q.path,q)),O},[N]),U=dr,L=Zg({resolver:Bg(C.validate),defaultValues:Xg(e,void 0,r)}),[P,A]=y.useState(U);y.useEffect(()=>{if(P&&P!==dr&&e==="create"){const O=R.get(P);O&&fetch(`/api/discovery/${a?"themes":"documents"}/${encodeURIComponent(O.name)}/content`).then(q=>{if(!q.ok)throw new Error(`Failed to fetch content: ${q.statusText}`);return q.text()}).then(q=>{try{const b=JSON.parse(q);f(JSON.stringify(b,null,2))}catch(b){console.error("Invalid JSON content received:",b),f(null)}}).catch(q=>{console.error("Failed to fetch content:",q),f(null)})}},[P,e,R,a]),y.useEffect(()=>{t&&(L.reset(),f(null),A(U))},[L,t]);const J=L.handleSubmit(async({name:O,template:q})=>{l(!0);try{if(await new Promise(b=>setTimeout(b,200)),e==="create"){const b=P?R.get(P):N.find($=>$.name===q);let ce,oe=O;if(a){const $=oe.replace(/\.(json|theme)$/i,"").toLowerCase().replace(/\s+/g,"-");ce=u||JSON.stringify(kt==="docx"?{name:$,colors:{primary:"#2563EB",secondary:"#64748B",accent:"#F8FAFC",background:"#FFFFFF",text:"#334155"},fonts:{heading:{family:"Calibri",size:28},body:{family:"Calibri",size:11}},page:{size:"A4"}}:{name:$,colors:{primary:"#2563EB",secondary:"#64748B",accent:"#F8FAFC",background:"#FFFFFF",text:"#334155"},fonts:{heading:"Calibri",body:"Calibri"},defaults:{fontSize:18,fontColor:"#334155"}},null,2);const le=`.${kt}.theme.json`;oe.endsWith(le)||(oe=oe.replace(/\.(pptx|docx)\.theme\.json$/i,"").replace(/\.theme\.json$/i,"").replace(/\.json$/i,""),oe+=le)}else{const $=b;ce=u||JSON.stringify(kt==="docx"?{name:"docx",props:{theme:($==null?void 0:$.theme)||"default",metadata:{title:($==null?void 0:$.title)||oe.replace(/\.(json|js)$/i,"")}},children:[{name:"section",props:{},children:[{name:"paragraph",props:{text:"Start writing your document content here..."}}]}]}:{name:"pptx",props:{title:($==null?void 0:$.title)||oe.replace(/\.(json|js)$/i,""),theme:($==null?void 0:$.theme)||"default"},children:[{name:"slide",props:{},children:[{name:"text",props:{text:"Start writing your presentation content here...",fontSize:24,y:2,x:1,w:8}}]}]},null,2);const W=kt==="docx"?".docx.json":".pptx.json";!oe.endsWith(W)&&!oe.endsWith(".json")&&(oe+=W)}const v=oe.match(/(\.(pptx|docx)(\.theme)?\.json|\.json)$/i),X=v?v[0]:"",ae=oe.slice(0,oe.length-X.length);let ne=oe,I=1;for(;p.some($=>$.name===ne);)I++,ne=`${ae} (${I})${X}`;oe=ne,m(oe,ce),x(oe),a&&g(oe,ce)}else if(e==="update"){const b=r,ce=O,oe=h.includes(b);oe&&_(b),w(b,ce),E(b,ce),oe&&x(ce)}else if(e==="delete"){const b=r;_(b),S(b),k(b),a&&T(b)}n()}finally{l(!1)}});return c.jsx(Jg,{...L,children:c.jsxs("form",{onSubmit:J,children:[c.jsxs(Gt,{children:[c.jsx(Kt,{children:d[e].title}),c.jsx(Cn,{children:d[e].description})]}),c.jsxs("div",{className:"flex flex-col gap-4 py-4",children:[B.properties&&"name"in B.properties&&c.jsx(Qo,{control:L.control,name:"name",render:({field:O})=>c.jsxs(da,{children:[c.jsx(fa,{children:"Name"}),c.jsx(pa,{children:c.jsx(is,{placeholder:"Enter a name or select a template below",autoComplete:"off",...O})}),c.jsx(ha,{})]})}),e==="create"&&c.jsx(Qo,{control:L.control,name:"template",render:({field:O})=>c.jsxs(da,{children:[c.jsx(fa,{children:a?"Base Theme":"Base Document"}),c.jsxs(Ka,{onValueChange:q=>{if(q===dr)O.onChange(void 0),L.setValue("name",""),A(dr),f(null);else{const b=R.get(q);b&&(O.onChange(b.name),L.setValue("name",b.name),A(q))}},defaultValue:U,children:[c.jsx(pa,{children:c.jsx(ss,{children:c.jsx(Ya,{placeholder:`Select a discovered ${a?"theme":"document"}`})})}),c.jsxs(as,{className:"max-h-[300px]",children:[c.jsxs(Ar,{value:dr,children:["Empty ",a?"theme":"document"]}),Object.entries(M).map(([q,b])=>b.length===0?null:c.jsxs(Hg,{children:[c.jsx(jd,{children:q==="current"?"📁 Current Directory":"📦 Project"}),b.map(ce=>{let oe=ce.name;if(ce.title)oe=`${ce.name} - ${ce.title}`;else if(ce.description){const v=ce.description.length>40?ce.description.substring(0,40)+"...":ce.description;oe=`${ce.name} - ${v}`}return c.jsx(Ar,{value:ce.path,className:"pl-6",children:oe},ce.path)})]},q))]})]}),c.jsxs(kd,{children:["Start empty or select a discovered"," ",a?"theme":"document"," as a starting point"]}),c.jsx(ha,{})]})})]}),c.jsx(Yn,{children:c.jsx(_e,{type:"submit",variant:d[e].buttonVariant,disabled:o,children:o?c.jsxs(c.Fragment,{children:[c.jsx(nn,{size:"sm",className:"mr-2"}),e==="create"?"Creating...":e==="update"?"Saving...":"Deleting..."]}):d[e].button})})]})})}const Ei=Ee.memo(ex),tx=jm,nx=Cm,rx=y.forwardRef(({className:e,inset:t,children:n,...r},i)=>c.jsxs(Nc,{ref:i,className:H("focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-pointer items-center rounded-sm px-2 py-1.5 text-sm outline-none select-none",t&&"pl-8",e),...r,children:[n,c.jsx(Qi,{className:"ml-auto h-4 w-4"})]}));rx.displayName=Nc.displayName;const ix=y.forwardRef(({className:e,...t},n)=>c.jsx(Ec,{ref:n,className:H("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-lg",e),...t}));ix.displayName=Ec.displayName;const Ed=y.forwardRef(({className:e,...t},n)=>c.jsx(Nm,{children:c.jsx(_c,{ref:n,className:H("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-md",e),...t})}));Ed.displayName=_c.displayName;const yr=y.forwardRef(({className:e,inset:t,...n},r)=>c.jsx(jc,{ref:r,className:H("focus:bg-accent focus:text-accent-foreground relative flex cursor-pointer items-center rounded-sm px-2 py-1.5 text-sm outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t&&"pl-8",e),...n}));yr.displayName=jc.displayName;const sx=y.forwardRef(({className:e,children:t,checked:n,...r},i)=>c.jsxs(Ic,{ref:i,className:H("focus:bg-accent focus:text-accent-foreground relative flex cursor-pointer items-center rounded-sm py-1.5 pr-2 pl-8 text-sm outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),checked:n,...r,children:[c.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:c.jsx(zc,{children:c.jsx(ln,{className:"h-4 w-4"})})}),t]}));sx.displayName=Ic.displayName;const ax=y.forwardRef(({className:e,children:t,...n},r)=>c.jsxs(Tc,{ref:r,className:H("focus:bg-accent focus:text-accent-foreground relative flex cursor-pointer items-center rounded-sm py-1.5 pr-2 pl-8 text-sm outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...n,children:[c.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:c.jsx(zc,{children:c.jsx(Wc,{className:"h-4 w-4 fill-current"})})}),t]}));ax.displayName=Tc.displayName;const ox=y.forwardRef(({className:e,inset:t,...n},r)=>c.jsx(Ac,{ref:r,className:H("text-foreground px-2 py-1.5 text-sm font-semibold",t&&"pl-8",e),...n}));ox.displayName=Ac.displayName;const ma=y.forwardRef(({className:e,...t},n)=>c.jsx(Cc,{ref:n,className:H("bg-border -mx-1 my-1 h-px",e),...t}));ma.displayName=Cc.displayName;const mi=({className:e,...t})=>c.jsx("span",{className:H("text-muted-foreground ml-auto text-xs tracking-widest",e),...t});mi.displayName="ContextMenuShortcut";const Id=y.forwardRef(({className:e,orientation:t="horizontal",decorative:n=!0,...r},i)=>c.jsx(Pc,{ref:i,decorative:n,orientation:t,className:H("bg-border shrink-0",t==="horizontal"?"h-[1px] w-full":"h-full w-[1px]",e),...r}));Id.displayName=Pc.displayName;const zd=pc,lx=hc,ux=mc,Td=y.forwardRef(({className:e,...t},n)=>c.jsx(Xi,{className:H("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80",e),...t,ref:n}));Td.displayName=Xi.displayName;const cx=qr("fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500 data-[state=open]:animate-in data-[state=closed]:animate-out",{variants:{side:{top:"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",bottom:"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",left:"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",right:"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"}},defaultVariants:{side:"right"}}),Qa=y.forwardRef(({side:e="right",className:t,children:n,...r},i)=>c.jsxs(ux,{children:[c.jsx(Td,{}),c.jsxs(Gi,{ref:i,className:H(cx({side:e}),t),...r,children:[c.jsxs(Ba,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:pointer-events-none",children:[c.jsx(jn,{className:"h-4 w-4"}),c.jsx("span",{className:"sr-only",children:"Close"})]}),n]})]}));Qa.displayName=Gi.displayName;const dx=y.forwardRef(({className:e,...t},n)=>c.jsx(Ki,{ref:n,className:H("text-foreground text-lg font-semibold",e),...t}));dx.displayName=Ki.displayName;const fx=y.forwardRef(({className:e,...t},n)=>c.jsx(Yi,{ref:n,className:H("text-muted-foreground text-sm",e),...t}));fx.displayName=Yi.displayName;function Er({className:e,...t}){return c.jsx("div",{className:H("bg-primary/10 animate-pulse rounded-md",e),...t})}const Ns=768,Es=1200;function Ad(e){return typeof window<"u"?window.innerWidth<e:!1}function Pd(){const[e,t]=y.useState(()=>Ad(Ns));return y.useEffect(()=>{const n=window.matchMedia(`(max-width: ${Ns-1}px)`),r=()=>{t(window.innerWidth<Ns)};return n.addEventListener("change",r),()=>n.removeEventListener("change",r)},[]),e}function px(){const[e,t]=y.useState(()=>Ad(Es));return y.useEffect(()=>{const n=window.matchMedia(`(max-width: ${Es-1}px)`),r=()=>{t(window.innerWidth<Es)};return n.addEventListener("change",r),()=>n.removeEventListener("change",r)},[]),e}const hx="sidebar_state",mx=60*60*24*7,gx="16rem",xx="18rem",yx="3rem",bx="b",Od=y.createContext(null);function os(){const e=y.useContext(Od);if(!e)throw new Error("useSidebar must be used within a SidebarProvider.");return e}const Dd=y.forwardRef(({defaultOpen:e=!0,open:t,onOpenChange:n,className:r,style:i,children:s,...a},o)=>{const l=Pd(),[u,f]=y.useState(!1),[d,p]=y.useState(e),h=t??d,m=y.useCallback(_=>{const g=typeof _=="function"?_(h):_;n?n(g):p(g),document.cookie=`${hx}=${g}; path=/; max-age=${mx}`},[n,h]),w=y.useCallback(()=>l?f(_=>!_):m(_=>!_),[l,m,f]);y.useEffect(()=>{const _=T=>{var N;const E=T;if(!E)return!1;const k=(N=E.tagName)==null?void 0:N.toLowerCase();return k==="input"||k==="textarea"||k==="select"||E.isContentEditable?!0:!!(E.closest&&E.closest(".monaco-editor"))},g=T=>{const E=T.metaKey||T.ctrlKey,k=T.key.toLowerCase();if(E&&k===bx){T.preventDefault(),w();return}E&&k==="s"&&!_(T.target)&&(T.preventDefault(),w())};return window.addEventListener("keydown",g),()=>window.removeEventListener("keydown",g)},[w]);const S=h?"expanded":"collapsed",x=y.useMemo(()=>({state:S,open:h,setOpen:m,isMobile:l,openMobile:u,setOpenMobile:f,toggleSidebar:w}),[S,h,m,l,u,f,w]);return c.jsx(Od.Provider,{value:x,children:c.jsx(dm,{delayDuration:0,children:c.jsx("div",{style:{"--sidebar-width":gx,"--sidebar-width-icon":yx,...i},className:H("group/sidebar-wrapper has-[[data-variant=inset]]:bg-sidebar flex min-h-svh w-full",r),ref:o,...a,children:s})})})});Dd.displayName="SidebarProvider";const Rd=y.forwardRef(({side:e="left",variant:t="sidebar",collapsible:n="offcanvas",className:r,children:i,...s},a)=>{const{isMobile:o,state:l,openMobile:u,setOpenMobile:f}=os();return n==="none"?c.jsx("div",{className:H("bg-sidebar text-sidebar-foreground flex h-full w-[--sidebar-width] flex-col",r),ref:a,...s,children:i}):o?c.jsx(zd,{open:u,onOpenChange:f,...s,children:c.jsx(Qa,{"data-sidebar":"sidebar","data-mobile":"true",className:"bg-sidebar text-sidebar-foreground w-[--sidebar-width] p-0 [&>button]:hidden",style:{"--sidebar-width":xx},side:e,children:c.jsx("div",{className:"flex h-full w-full flex-col",children:i})})}):c.jsxs("div",{ref:a,className:"group peer text-sidebar-foreground hidden md:block","data-state":l,"data-collapsible":l==="collapsed"?n:"","data-variant":t,"data-side":e,children:[c.jsx("div",{className:H("relative h-svh w-[--sidebar-width] bg-transparent transition-[width] duration-200 ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180",t==="floating"||t==="inset"?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]":"group-data-[collapsible=icon]:w-[--sidebar-width-icon]")}),c.jsx("div",{className:H("fixed inset-y-0 z-10 hidden h-svh w-[--sidebar-width] transition-[left,right,width] duration-200 ease-linear md:flex",e==="left"?"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",t==="floating"||t==="inset"?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]":"group-data-[collapsible=icon]:w-[--sidebar-width-icon] group-data-[side=left]:border-r group-data-[side=right]:border-l",r),...s,children:c.jsx("div",{"data-sidebar":"sidebar",className:"bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow",children:i})})]})});Rd.displayName="Sidebar";const vx=y.forwardRef(({className:e,onClick:t,...n},r)=>{const{toggleSidebar:i}=os();return c.jsxs(_e,{ref:r,"data-sidebar":"trigger",variant:"ghost",size:"icon",className:H("h-7 w-7",e),onClick:s=>{t==null||t(s),i()},...n,children:[c.jsx(Zm,{}),c.jsx("span",{className:"sr-only",children:"Toggle Sidebar"})]})});vx.displayName="SidebarTrigger";const wx=y.forwardRef(({className:e,...t},n)=>{const{toggleSidebar:r}=os();return c.jsx("button",{ref:n,"data-sidebar":"rail","aria-label":"Toggle Sidebar",tabIndex:-1,onClick:r,title:"Toggle Sidebar",className:H("hover:after:bg-sidebar-border absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] sm:flex","[[data-side=left]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize","[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize","group-data-[collapsible=offcanvas]:hover:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full","[[data-side=left][data-collapsible=offcanvas]_&]:-right-2","[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",e),...t})});wx.displayName="SidebarRail";const kx=y.forwardRef(({className:e,...t},n)=>c.jsx("main",{ref:n,className:H("bg-background relative flex min-h-svh flex-1 flex-col","peer-data-[variant=inset]:min-h-[calc(100svh-theme(spacing.4))] md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2",e),...t}));kx.displayName="SidebarInset";const Sx=y.forwardRef(({className:e,...t},n)=>c.jsx(is,{ref:n,"data-sidebar":"input",className:H("bg-background focus-visible:ring-sidebar-ring h-8 w-full shadow-none focus-visible:ring-2",e),...t}));Sx.displayName="SidebarInput";const Md=y.forwardRef(({className:e,...t},n)=>c.jsx("div",{ref:n,"data-sidebar":"header",className:H("flex flex-col gap-2 p-2",e),...t}));Md.displayName="SidebarHeader";const $d=y.forwardRef(({className:e,...t},n)=>c.jsx("div",{ref:n,"data-sidebar":"footer",className:H("flex flex-col gap-2 p-2",e),...t}));$d.displayName="SidebarFooter";const Fd=y.forwardRef(({className:e,...t},n)=>c.jsx(Id,{ref:n,"data-sidebar":"separator",className:H("bg-sidebar-border mx-2 w-auto",e),...t}));Fd.displayName="SidebarSeparator";const Ld=y.forwardRef(({className:e,...t},n)=>c.jsx("div",{ref:n,"data-sidebar":"content",className:H("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",e),...t}));Ld.displayName="SidebarContent";const gi=y.forwardRef(({className:e,...t},n)=>c.jsx("div",{ref:n,"data-sidebar":"group",className:H("relative flex w-full min-w-0 flex-col p-2",e),...t}));gi.displayName="SidebarGroup";const xi=y.forwardRef(({className:e,asChild:t=!1,...n},r)=>{const i=t?rr:"div";return c.jsx(i,{ref:r,"data-sidebar":"group-label",className:H("text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium transition-[margin,opa] duration-200 ease-linear outline-none focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",e),...n})});xi.displayName="SidebarGroupLabel";const _x=y.forwardRef(({className:e,asChild:t=!1,...n},r)=>{const i=t?rr:"button";return c.jsx(i,{ref:r,"data-sidebar":"group-action",className:H("text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 transition-transform outline-none focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0 cursor-pointer","after:absolute after:-inset-2 after:md:hidden","group-data-[collapsible=icon]:hidden",e),...n})});_x.displayName="SidebarGroupAction";const br=y.forwardRef(({className:e,...t},n)=>c.jsx("div",{ref:n,"data-sidebar":"group-content",className:H("w-full text-sm",e),...t}));br.displayName="SidebarGroupContent";const ga=y.forwardRef(({className:e,...t},n)=>c.jsx("ul",{ref:n,"data-sidebar":"menu",className:H("flex w-full min-w-0 flex-col gap-1",e),...t}));ga.displayName="SidebarMenu";const Zd=y.forwardRef(({className:e,...t},n)=>c.jsx("li",{ref:n,"data-sidebar":"menu-item",className:H("group/menu-item relative",e),...t}));Zd.displayName="SidebarMenuItem";const jx=qr("peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 cursor-pointer",{variants:{variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"},size:{default:"h-8 text-sm",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:!p-0"}},defaultVariants:{variant:"default",size:"default"}}),Bd=y.forwardRef(({asChild:e=!1,isActive:t=!1,variant:n="default",size:r="default",tooltip:i,className:s,...a},o)=>{const l=e?rr:"button",{isMobile:u,state:f}=os(),d=c.jsx(l,{ref:o,"data-sidebar":"menu-button","data-size":r,"data-active":t,className:H(jx({variant:n,size:r}),s),...a});return i?(typeof i=="string"&&(i={children:i}),c.jsxs(Xe,{children:[c.jsx(Qe,{asChild:!0,children:d}),c.jsx(et,{side:"right",align:"center",hidden:f!=="collapsed"||u,...i})]})):d});Bd.displayName="SidebarMenuButton";const Cx=y.forwardRef(({className:e,asChild:t=!1,showOnHover:n=!1,...r},i)=>{const s=t?rr:"button";return c.jsx(s,{ref:i,"data-sidebar":"menu-action",className:H("text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 transition-transform outline-none focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0 cursor-pointer","after:absolute after:-inset-2 after:md:hidden","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",n&&"peer-data-[active=true]/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0",e),...r})});Cx.displayName="SidebarMenuAction";const Nx=y.forwardRef(({className:e,...t},n)=>c.jsx("div",{ref:n,"data-sidebar":"menu-badge",className:H("text-sidebar-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums select-none","peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",e),...t}));Nx.displayName="SidebarMenuBadge";const Ex=y.forwardRef(({className:e,showIcon:t=!1,...n},r)=>{const i=y.useMemo(()=>`${Math.floor(Math.random()*40)+50}%`,[]);return c.jsxs("div",{ref:r,"data-sidebar":"menu-skeleton",className:H("flex h-8 items-center gap-2 rounded-md px-2",e),...n,children:[t&&c.jsx(Er,{className:"size-4 rounded-md","data-sidebar":"menu-skeleton-icon"}),c.jsx(Er,{className:"h-4 max-w-[--skeleton-width] flex-1","data-sidebar":"menu-skeleton-text",style:{"--skeleton-width":i}})]})});Ex.displayName="SidebarMenuSkeleton";const Ix=y.forwardRef(({className:e,...t},n)=>c.jsx("ul",{ref:n,"data-sidebar":"menu-sub",className:H("border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5","group-data-[collapsible=icon]:hidden",e),...t}));Ix.displayName="SidebarMenuSub";const zx=y.forwardRef(({...e},t)=>c.jsx("li",{ref:t,...e}));zx.displayName="SidebarMenuSubItem";const Tx=y.forwardRef(({asChild:e=!1,size:t="md",isActive:n,className:r,...i},s)=>{const a=e?rr:"a";return c.jsx(a,{ref:s,"data-sidebar":"menu-sub-button","data-size":t,"data-active":n,className:H("text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground [&>svg]:text-sidebar-accent-foreground flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-none focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 cursor-pointer","data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground",t==="sm"&&"text-xs",t==="md"&&"text-sm","group-data-[collapsible=icon]:hidden",r),...i})});Tx.displayName="SidebarMenuSubButton";function yi(e,t){const n=URL.createObjectURL(t),r=document.createElement("a");r.href=n,r.style.display="none",r.download=e,document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(n)}const Ax=typeof window<"u"?navigator.userAgent.toUpperCase().indexOf("MAC")>=0:!1;function Px({document:e,indicator:t,compact:n=!1}){const r=y.useRef(null),[i,s]=y.useState(!1),[a,o]=y.useState(!1),[l,u]=y.useState(!1),{openDocument:f,documentTypes:d,activeTab:p}=Ae(P=>P),{name:h,text:m,isGenerating:w}=yn(P=>P),x=(d[e.name]||"application/json+report")==="application/json+theme",_=p===e.name,[g,T]=y.useState(h),[E,k]=y.useState(m),N=100,M=0;y.useEffect(()=>{const P=setTimeout(()=>{h&&m?(T(h),k(m)):w||(T(""),k(""))},w?N:M);return()=>clearTimeout(P)},[h,m,w]);const Y=g===e.name,C=P=>{var J;const A=new Set;try{const O=JSON.parse(P);(J=O.props)!=null&&J.theme&&A.add(O.props.theme),O.children&&Array.isArray(O.children)&&O.children.forEach(q=>{var b;q.name==="docx"&&((b=q.props)!=null&&b.theme)&&A.add(q.props.theme)})}catch{}return A},B=y.useMemo(()=>{if(!x||!E)return!1;try{const P=JSON.parse(e.text),A=ua(P);if(A)return C(E).has(A)}catch{}return!1},[x,E,e.text,e.name,g]),R=y.useCallback(()=>{o(!1)},[]),U=y.useCallback(()=>{u(!1)},[]),L=c.jsxs(Bd,{variant:"default",size:"default",ref:r,className:H("text-sidebar-foreground focus:bg-accent focus:text-accent-foreground w-full",n?"justify-center px-1":"justify-start gap-2",i&&"bg-accent text-accent-foreground",_&&(n?"bg-green-50 text-green-700 dark:bg-green-900/20 dark:text-green-300":"bg-green-50 border-l-2 border-green-500 text-green-700 dark:bg-green-900/20 dark:border-green-400 dark:text-green-300"),Y&&!_&&(n?"bg-blue-50 text-blue-700 dark:bg-blue-900/20 dark:text-blue-300":"bg-blue-50 border-l-2 border-blue-500 text-blue-700 dark:bg-blue-900/20 dark:border-blue-400 dark:text-blue-300"),B&&!_&&!Y&&(n?"bg-purple-50 text-purple-700 dark:bg-purple-900/20 dark:text-purple-300":"bg-purple-50 border-l-2 border-purple-500 text-purple-700 dark:bg-purple-900/20 dark:border-purple-400 dark:text-purple-300")),title:e.name,onClick:()=>{f(e.name)},onKeyDown:P=>{var A;(P.ctrlKey||P.metaKey)&&P.key==="Enter"?(f(e.name),P.preventDefault()):P.key==="Enter"?(o(!0),P.preventDefault()):P.key==="Backspace"||P.key==="Delete"?(u(!0),P.preventDefault()):P.key==="Escape"&&((A=r.current)==null||A.blur(),P.preventDefault())},children:[_?c.jsx($o,{className:H("size-4","text-green-600 dark:text-green-400")}):Y?c.jsx($o,{className:H("size-4","text-blue-600 dark:text-blue-400")}):x?c.jsx(sa,{className:"size-4 text-purple-600 dark:text-purple-400"}):c.jsx(Gc,{className:"size-4 text-blue-600 dark:text-blue-400"}),!n&&c.jsx("span",{className:H("truncate flex-1",x&&!_&&!Y&&!B&&"text-purple-700 dark:text-purple-300",(_||Y||B)&&"font-medium"),children:e.name})]});return c.jsxs(Zd,{children:[c.jsxs(tx,{onOpenChange:s,children:[c.jsx(nx,{children:n?c.jsxs(Xe,{children:[c.jsx(Qe,{asChild:!0,children:L}),c.jsx(et,{side:"right",children:c.jsxs("div",{className:"text-xs",children:[e.name,x?c.jsx("div",{className:"opacity-70",children:"Theme"}):c.jsx("div",{className:"opacity-70",children:"Document"})]})})]}):L}),c.jsxs(Ed,{children:[c.jsxs(yr,{onClick:()=>f(e.name),children:["Open",c.jsx(mi,{children:Ax?"⌘⏎":"⌃⏎"})]}),c.jsx(ma,{}),c.jsx(yr,{disabled:!e,onClick:()=>{e&&yi(e.name,new Blob([e.text],{type:e.type}))},children:"Download..."}),c.jsx(ma,{}),c.jsxs(yr,{onClick:()=>o(!0),children:["Rename...",c.jsx(mi,{children:"⏎"})]}),c.jsxs(yr,{onClick:()=>u(!0),children:["Delete",c.jsx(mi,{children:"⌫"})]})]})]}),c.jsx(Dt,{open:a,onOpenChange:o,children:c.jsx(Et,{className:"sm:max-w-[425px]",onCloseAutoFocus:P=>{var A;P.preventDefault(),(A=r.current)==null||A.focus()},children:c.jsx(Ei,{mode:"update",shouldReset:!a,postSubmit:R,selectedName:e.name})})}),c.jsx(Dt,{open:l,onOpenChange:u,children:c.jsx(Et,{className:"sm:max-w-[425px]",onCloseAutoFocus:P=>{var A;P.preventDefault(),(A=r.current)==null||A.focus()},children:c.jsx(Ei,{mode:"delete",shouldReset:!l,postSubmit:U,selectedName:e.name})})})]})}const el=Ee.memo(Px);async function Ox(e,t){const n=JSON.stringify({name:e,props:t,children:[]},null,2);await navigator.clipboard.writeText(n)}const Dx=qr("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function kn({className:e,variant:t,...n}){return c.jsx("div",{className:H(Dx({variant:t}),e),...n})}const Pr=y.forwardRef(({className:e,children:t,...n},r)=>c.jsxs(Oc,{ref:r,className:H("relative overflow-hidden",e),...n,children:[c.jsx(Em,{className:"h-full w-full rounded-[inherit]",children:t}),c.jsx(Vd,{}),c.jsx(Im,{})]}));Pr.displayName=Oc.displayName;const Vd=y.forwardRef(({className:e,orientation:t="vertical",...n},r)=>c.jsx(Dc,{ref:r,orientation:t,className:H("flex touch-none transition-colors select-none",t==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",t==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",e),...n,children:c.jsx(zm,{className:"bg-border relative flex-1 rounded-full"})}));Vd.displayName=Dc.displayName;function eo({className:e,...t}){return c.jsx(Tm,{"data-slot":"switch",className:H("peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 cursor-pointer",e),...t,children:c.jsx(Am,{"data-slot":"switch-thumb",className:H("bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0")})})}const Rx=qr("relative w-full rounded-lg border px-4 py-3 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground [&>svg~*]:pl-7",{variants:{variant:{default:"bg-background text-foreground",destructive:"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive"}},defaultVariants:{variant:"default"}}),Ii=y.forwardRef(({className:e,variant:t,...n},r)=>c.jsx("div",{ref:r,role:"alert",className:H(Rx({variant:t}),e),...n}));Ii.displayName="Alert";const Mx=y.forwardRef(({className:e,...t},n)=>c.jsx("h5",{ref:n,className:H("mb-1 font-medium leading-none tracking-tight",e),...t}));Mx.displayName="AlertTitle";const zi=y.forwardRef(({className:e,...t},n)=>c.jsx("div",{ref:n,className:H("text-sm [&_p]:leading-relaxed",e),...t}));zi.displayName="AlertDescription";const Ti=y.memo(({keyName:e,value:t,depth:n=0,isLast:r=!1})=>{const[i,s]=y.useState(n<2),a=t!==null&&typeof t=="object",o=Array.isArray(t),l=()=>s(!i),u=()=>t===null?c.jsx("span",{className:"text-orange-500",children:"null"}):t===void 0?c.jsx("span",{className:"text-gray-500",children:"undefined"}):typeof t=="boolean"?c.jsx("span",{className:"text-blue-500",children:String(t)}):typeof t=="number"?c.jsx("span",{className:"text-green-500",children:t}):typeof t=="string"?t.startsWith("http")?c.jsxs("span",{className:"text-purple-500",children:['"',t,'"']}):t.startsWith("#/")?c.jsxs("span",{className:"text-cyan-500",children:['"',t,'"']}):c.jsxs("span",{className:"text-amber-600",children:['"',t,'"']}):null,f=a?Object.keys(t).length:0;return c.jsxs("div",{className:H("text-sm",n>0&&"ml-4"),children:[c.jsxs("div",{className:"flex items-start hover:bg-muted/30 rounded px-1 py-0.5",children:[a&&c.jsx("button",{onClick:l,className:"mr-1 hover:bg-muted rounded p-0.5","aria-label":i?"Collapse":"Expand",children:i?c.jsx(an,{className:"h-3 w-3"}):c.jsx(Qi,{className:"h-3 w-3"})}),!a&&c.jsx("span",{className:"w-4"}),e&&c.jsxs(c.Fragment,{children:[c.jsxs("span",{className:"text-blue-600 dark:text-blue-400",children:['"',e,'"']}),c.jsx("span",{className:"mx-1",children:":"})]}),a?c.jsxs("span",{className:"text-muted-foreground",children:[o?"[":"{",!i&&c.jsxs("span",{className:"mx-1 text-xs",children:[f," ",o?"items":"properties"]}),!i&&(o?"]":"}")]}):u(),!a&&!r&&c.jsx("span",{className:"text-muted-foreground",children:","})]}),a&&i&&c.jsxs("div",{className:"ml-4",children:[o?t.map((d,p)=>c.jsx(Ti,{keyName:String(p),value:d,depth:n+1,isLast:p===t.length-1},p)):Object.entries(t).map(([d,p],h,m)=>c.jsx(Ti,{keyName:d,value:p,depth:n+1,isLast:h===m.length-1},d)),c.jsx("div",{className:"ml-4",children:c.jsxs("span",{className:"text-muted-foreground",children:[o?"]":"}",!r&&","]})})]})]})});Ti.displayName="JsonNode";const Ai=y.memo(({schema:e,loading:t=!1,error:n,className:r})=>t?c.jsxs("div",{className:H("space-y-4",r),children:[c.jsx(Er,{className:"h-8 w-64"}),c.jsx(Er,{className:"h-4 w-full"}),c.jsx(Er,{className:"h-64 w-full"})]}):n?c.jsx(Ii,{variant:"destructive",className:r,children:c.jsx(zi,{children:n})}):e?c.jsx(Pr,{className:H("h-full w-full rounded-md border bg-muted/10 p-4",r),children:c.jsx("div",{className:"font-mono text-xs",children:c.jsx(Ti,{value:e})})}):c.jsx(Ii,{className:r,children:c.jsx(zi,{children:"No schema available"})}));Ai.displayName="SchemaViewer";function $x({plugins:e,initialFocusedPlugin:t}){var g,T;const n=Ot(E=>E.togglePlugin),r=Ot(E=>E.isPluginSelected),i=Ot(E=>E.selectedPlugins),s=Ot(E=>E.isApplyingPlugins),[a,o]=y.useState(null),[l,u]=y.useState(null),[f,d]=y.useState("properties");y.useEffect(()=>{if(t){const E=e.find(k=>k.name===t);if(E){o(E);return}}e.length>0&&!a&&o(e[0])},[t,e]);const p=y.useMemo(()=>{const E={current:[],downstream:[],upstream:[]};return e.forEach(k=>{E[k.location]&&E[k.location].push(k)}),E},[e]),h=async(E,k)=>{a&&(await Ox(a.name,E.props),u(k),setTimeout(()=>u(null),2e3))},m=E=>{switch(E){case"current":return"Current Directory";case"downstream":return"Project";case"upstream":return"Parent Directories";default:return E}},w=E=>{switch(E){case"current":return c.jsx(Hm,{className:"size-3"});case"downstream":return c.jsx(Jm,{className:"size-3"});case"upstream":return c.jsx(Gc,{className:"size-3"});default:return null}},S=((g=a==null?void 0:a.schema)==null?void 0:g.properties)&&Object.keys(a.schema.properties).length>0,x=(T=a==null?void 0:a.schema)==null?void 0:T.jsonSchema,_=(a==null?void 0:a.examples)&&a.examples.length>0;return c.jsxs(c.Fragment,{children:[c.jsxs(Gt,{children:[c.jsxs(Kt,{className:"flex items-center gap-2",children:[c.jsx(Kc,{className:"size-5 text-amber-600 dark:text-amber-400"}),"Plugins",c.jsxs(kn,{variant:"secondary",className:"font-normal",children:[i.size," active"]})]}),c.jsxs(Cn,{children:[e.length," plugin",e.length!==1?"s":""," discovered in your project"]})]}),c.jsxs("div",{className:"mt-3 flex gap-0 h-[600px] border rounded-lg overflow-hidden",children:[c.jsx("div",{className:"w-[240px] flex-none border-r bg-muted/30",children:c.jsx(Pr,{className:"h-full",children:c.jsx("div",{className:"p-2 space-y-3",children:Object.entries(p).map(([E,k])=>k.length===0?null:c.jsxs("div",{children:[c.jsxs("div",{className:"flex items-center gap-1.5 px-2 py-1 text-[11px] font-medium text-muted-foreground uppercase tracking-wider",children:[w(E),m(E)]}),c.jsx("div",{className:"space-y-0.5",children:k.map(N=>{const M=r(N.name),Y=(a==null?void 0:a.name)===N.name;return c.jsxs("button",{onClick:()=>o(N),className:H("w-full text-left px-2 py-1.5 rounded-md transition-colors cursor-pointer","flex items-center gap-2",Y?"bg-accent text-accent-foreground":"hover:bg-accent/50 text-foreground"),children:[c.jsx("div",{className:H("size-1.5 rounded-full flex-none transition-colors",M?"bg-amber-500 dark:bg-amber-400":"bg-muted-foreground/30")}),c.jsx("span",{className:"text-sm font-medium truncate flex-1",children:N.name})]},N.name)})})]},E))})})}),a?c.jsxs("div",{className:"flex-1 flex flex-col min-w-0",children:[c.jsxs("div",{className:"flex-none px-5 py-4 border-b bg-background",children:[c.jsxs("div",{className:"flex items-start justify-between gap-3",children:[c.jsxs("div",{className:"min-w-0",children:[c.jsxs("div",{className:"flex items-center gap-2.5",children:[c.jsx("h3",{className:"text-base font-semibold truncate",children:a.name}),a.version&&c.jsxs(kn,{variant:"outline",className:"font-mono text-[11px] flex-none",children:["v",a.version]})]}),a.description&&c.jsx("p",{className:"text-sm text-muted-foreground mt-1 line-clamp-2",children:a.description})]}),c.jsxs("div",{className:"flex items-center gap-2 flex-none pt-0.5",children:[c.jsx("span",{className:"text-xs text-muted-foreground",children:r(a.name)?"On":"Off"}),c.jsx(eo,{checked:r(a.name),onCheckedChange:()=>n(a),disabled:s,"aria-label":`Toggle ${a.name}`})]})]}),c.jsxs("div",{className:"flex items-center gap-1.5 mt-2 text-xs text-muted-foreground",children:[w(a.location),c.jsx("span",{children:m(a.location)}),c.jsx("span",{className:"text-muted-foreground/60 mx-1",children:"/"}),c.jsx("span",{className:"font-mono truncate",children:a.relativePath})]})]}),c.jsxs("div",{className:"flex-none px-5 pt-3 pb-0 flex gap-1 border-b bg-background",children:[S&&c.jsx("button",{onClick:()=>d("properties"),className:H("px-3 py-1.5 text-sm font-medium rounded-t-md border-b-2 transition-colors cursor-pointer",f==="properties"?"border-primary text-foreground":"border-transparent text-muted-foreground hover:text-foreground"),children:c.jsxs("span",{className:"flex items-center gap-1.5",children:[c.jsx(Fo,{className:"size-3.5"}),"Properties"]})}),x&&c.jsx("button",{onClick:()=>d("schema"),className:H("px-3 py-1.5 text-sm font-medium rounded-t-md border-b-2 transition-colors cursor-pointer",f==="schema"?"border-primary text-foreground":"border-transparent text-muted-foreground hover:text-foreground"),children:c.jsxs("span",{className:"flex items-center gap-1.5",children:[c.jsx(Bm,{className:"size-3.5"}),"Schema"]})}),_&&c.jsx("button",{onClick:()=>d("examples"),className:H("px-3 py-1.5 text-sm font-medium rounded-t-md border-b-2 transition-colors cursor-pointer",f==="examples"?"border-primary text-foreground":"border-transparent text-muted-foreground hover:text-foreground"),children:c.jsxs("span",{className:"flex items-center gap-1.5",children:[c.jsx(Vm,{className:"size-3.5"}),"Examples",c.jsx(kn,{variant:"secondary",className:"text-[10px] px-1.5 py-0 h-4",children:a.examples.length})]})})]}),c.jsx(Pr,{className:"flex-1",children:c.jsxs("div",{className:"p-5",children:[f==="properties"&&S&&c.jsx("div",{className:"space-y-1",children:Object.entries(a.schema.properties).map(([E,k])=>c.jsx(Fx,{name:E,prop:k},E))}),f==="schema"&&x&&c.jsx(Ai,{schema:a.schema.jsonSchema,loading:!1,className:"h-[420px]"}),f==="examples"&&_&&a.examples.map((E,k)=>c.jsxs("div",{className:H(k>0&&"mt-4 pt-4 border-t"),children:[c.jsxs("div",{className:"flex items-center justify-between mb-2",children:[c.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[E.title&&c.jsx("span",{className:"font-medium text-sm truncate",children:E.title}),!E.title&&c.jsxs("span",{className:"text-sm text-muted-foreground",children:["Example ",k+1]})]}),c.jsx(_e,{size:"sm",variant:"ghost",className:"h-7 px-2 text-xs flex-none",onClick:()=>h(E,k),children:l===k?c.jsxs(c.Fragment,{children:[c.jsx(Um,{className:"size-3 mr-1 text-green-600"}),"Copied"]}):c.jsxs(c.Fragment,{children:[c.jsx(es,{className:"size-3 mr-1"}),"Copy"]})})]}),E.description&&c.jsx("p",{className:"text-xs text-muted-foreground mb-2",children:E.description}),c.jsx("pre",{className:"p-3 bg-muted rounded-md overflow-x-auto text-xs font-mono leading-relaxed",children:JSON.stringify(E.props,null,2)})]},k)),!S&&!x&&!_&&c.jsxs("div",{className:"text-center py-12 text-muted-foreground",children:[c.jsx(Fo,{className:"size-10 mx-auto mb-3 opacity-20"}),c.jsx("p",{className:"text-sm",children:"No schema or examples available for this plugin"})]})]})})]}):c.jsx("div",{className:"flex-1 flex items-center justify-center text-muted-foreground",children:c.jsx("p",{className:"text-sm",children:"Select a plugin to view details"})})]})]})}function Fx({name:e,prop:t}){var a;const[n,r]=y.useState(!1),i=t.description||t.enum||t.default!==void 0||t.items||t.properties,s=t.type||(t.enum?"enum":t.oneOf?"oneOf":"—");return c.jsxs("div",{className:"rounded-md border",children:[c.jsxs("button",{onClick:()=>i&&r(!n),className:H("w-full text-left flex items-center gap-2 px-3 py-2 text-sm",i&&"cursor-pointer hover:bg-muted/50"),children:[i?n?c.jsx(an,{className:"size-3 text-muted-foreground flex-none"}):c.jsx(Qi,{className:"size-3 text-muted-foreground flex-none"}):c.jsx("span",{className:"size-3 flex-none"}),c.jsx("span",{className:"font-mono font-medium text-xs",children:e}),c.jsx(kn,{variant:"outline",className:"text-[10px] px-1.5 py-0 h-4 flex-none",children:s}),t.optional===!1&&c.jsx("span",{className:"text-[10px] text-red-500 font-medium flex-none",children:"required"}),c.jsx("span",{className:"flex-1"}),t.default!==void 0&&c.jsxs("span",{className:"text-[10px] font-mono text-muted-foreground flex-none",children:["= ",JSON.stringify(t.default)]})]}),n&&i&&c.jsxs("div",{className:"px-3 pb-2 pt-0 ml-5 text-xs space-y-1 text-muted-foreground",children:[t.description&&c.jsx("p",{children:t.description}),t.enum&&c.jsxs("p",{children:[c.jsx("span",{className:"font-medium text-foreground",children:"Values: "}),t.enum.map((o,l)=>c.jsxs("span",{children:[l>0&&", ",c.jsx("code",{className:"bg-muted px-1 rounded",children:JSON.stringify(o)})]},l))]}),((a=t.items)==null?void 0:a.type)&&c.jsxs("p",{children:[c.jsx("span",{className:"font-medium text-foreground",children:"Items: "}),t.items.type]})]})]})}const Is=Pm,zs=Om,Ts=Dm,to=Rm,no=Mm,Lx=y.forwardRef(({className:e,inset:t,children:n,...r},i)=>c.jsxs(Lc,{ref:i,className:H("focus:bg-accent data-[state=open]:bg-accent flex cursor-pointer items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none select-none [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",t&&"pl-8",e),...r,children:[n,c.jsx(Qi,{className:"ml-auto"})]}));Lx.displayName=Lc.displayName;const Zx=y.forwardRef(({className:e,...t},n)=>c.jsx(Zc,{ref:n,className:H("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-lg",e),...t}));Zx.displayName=Zc.displayName;const ls=y.forwardRef(({className:e,sideOffset:t=4,...n},r)=>c.jsx($m,{children:c.jsx(Rc,{ref:r,sideOffset:t,className:H("bg-popover text-popover-foreground z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-md","data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...n})}));ls.displayName=Rc.displayName;const qt=y.forwardRef(({className:e,inset:t,...n},r)=>c.jsx(Mc,{ref:r,className:H("focus:bg-accent focus:text-accent-foreground relative flex cursor-pointer items-center gap-2 rounded-sm px-2 py-1.5 text-sm transition-colors outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0",t&&"pl-8",e),...n}));qt.displayName=Mc.displayName;const Bx=y.forwardRef(({className:e,children:t,checked:n,...r},i)=>c.jsxs(Bc,{ref:i,className:H("focus:bg-accent focus:text-accent-foreground relative flex cursor-pointer items-center rounded-sm py-1.5 pr-2 pl-8 text-sm transition-colors outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),checked:n,...r,children:[c.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:c.jsx(Vc,{children:c.jsx(ln,{className:"h-4 w-4"})})}),t]}));Bx.displayName=Bc.displayName;const Vx=y.forwardRef(({className:e,children:t,...n},r)=>c.jsxs(Uc,{ref:r,className:H("focus:bg-accent focus:text-accent-foreground relative flex cursor-pointer items-center rounded-sm py-1.5 pr-2 pl-8 text-sm transition-colors outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...n,children:[c.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:c.jsx(Vc,{children:c.jsx(Wc,{className:"h-2 w-2 fill-current"})})}),t]}));Vx.displayName=Uc.displayName;const Ud=y.forwardRef(({className:e,inset:t,...n},r)=>c.jsx(Fc,{ref:r,className:H("px-2 py-1.5 text-sm font-semibold",t&&"pl-8",e),...n}));Ud.displayName=Fc.displayName;const Or=y.forwardRef(({className:e,...t},n)=>c.jsx($c,{ref:n,className:H("bg-muted -mx-1 my-1 h-px",e),...t}));Or.displayName=$c.displayName;function Ux(){const{theme:e,setTheme:t}=dc(),n=e==="system"?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":e,r=y.useCallback(()=>{t(n==="dark"?"light":"dark")},[n,t]);return c.jsxs(Xe,{children:[c.jsx(Qe,{asChild:!0,children:c.jsxs(_e,{variant:"ghost",size:"icon",onClick:r,children:[c.jsx(qm,{className:"hidden dark:block"}),c.jsx(Wm,{className:"block dark:hidden"}),c.jsx("span",{className:"sr-only",children:"Toggle theme"})]})}),c.jsx(et,{children:c.jsx("p",{children:"Toggle theme"})})]})}const Jd=Fm,ro=y.forwardRef(({className:e,...t},n)=>c.jsx(Jc,{ref:n,className:H("bg-muted text-muted-foreground inline-flex h-9 items-center justify-center rounded-lg p-1",e),...t}));ro.displayName=Jc.displayName;const Dr=y.forwardRef(({className:e,...t},n)=>c.jsx(Hc,{ref:n,className:H("ring-offset-background focus-visible:ring-ring data-[state=active]:bg-background data-[state=active]:text-foreground inline-flex cursor-pointer items-center justify-center rounded-md px-3 py-1 text-sm font-medium whitespace-nowrap transition-all focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow",e),...t}));Dr.displayName=Hc.displayName;const Rr=y.forwardRef(({className:e,...t},n)=>c.jsx(qc,{ref:n,className:H("ring-offset-background focus-visible:ring-ring mt-2 focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none",e),...t}));Rr.displayName=qc.displayName;async function Jx(e){if(navigator.clipboard&&navigator.clipboard.writeText)try{return await navigator.clipboard.writeText(e),!0}catch(t){console.warn("Clipboard API failed, falling back to legacy method:",t)}try{const t=document.createElement("textarea");t.value=e,t.style.position="fixed",t.style.top="0",t.style.left="0",t.style.width="2em",t.style.height="2em",t.style.padding="0",t.style.border="none",t.style.outline="none",t.style.boxShadow="none",t.style.background="transparent",document.body.appendChild(t),t.focus(),t.select();const n=document.execCommand("copy");return document.body.removeChild(t),n}catch(t){return console.error("Failed to copy text to clipboard:",t),!1}}function Hx(e){try{const t=typeof e=="string"?JSON.parse(e):e;return JSON.stringify(t,null,2)}catch(t){return console.error("Failed to format schema:",t),typeof e=="string"?e:JSON.stringify(e)}}async function qx(e){const t=Hx(e);return Jx(t)}const Hd=({open:e,onOpenChange:t,defaultTab:n="document"})=>{const[r,i]=y.useState(n),[s,a]=y.useState(null),[o,l]=y.useState(null),[u,f]=y.useState(!1),[d,p]=y.useState(!1),[h,m]=y.useState(null),[w,S]=y.useState(null),[x,_]=y.useState(!1),{toast:g}=Wi(),T=Ot(U=>U.selectedPlugins),E=Array.from(T);y.useEffect(()=>{n&&i(n)},[n]);const k=y.useCallback(async()=>{f(!0),m(null);try{const U=await Ss.fetchDocumentSchema(E);a(U)}catch(U){const L=U instanceof Error?U.message:"Failed to load document schema";m(L),g({variant:"destructive",title:"Error loading schema",description:L})}finally{f(!1)}},[E,g]),N=y.useCallback(async()=>{if(!o){p(!0),S(null);try{const U=await Ss.fetchThemeSchema();l(U)}catch(U){const L=U instanceof Error?U.message:"Failed to load theme schema";S(L),g({variant:"destructive",title:"Error loading schema",description:L})}finally{p(!1)}}},[o,g]),[M,Y]=y.useState([]);y.useEffect(()=>{e||(a(null),m(null))},[e]),y.useEffect(()=>{if(!e)return;const U=E.length!==M.length||E.some((L,P)=>L!==M[P]);r==="document"?(!s||U)&&(U&&(Ss.clearPluginSchemaCache(),Y([...E])),u||k()):r==="theme"&&!o&&!d&&N()},[r,e,s,o,u,d,E,M,k,N]);const C=E.length,B=r==="document"?s:o,R=async()=>{if(B)try{await qx(B)&&(_(!0),g({title:"Schema copied",description:"The JSON schema has been copied to your clipboard"}),setTimeout(()=>_(!1),2e3))}catch(U){console.error("Copy failed:",U)}};return c.jsx(Dt,{open:e,onOpenChange:t,children:c.jsxs(Et,{className:"max-w-4xl max-h-[90vh] overflow-hidden flex flex-col",children:[c.jsx(Gt,{children:c.jsx(Kt,{children:"Schema Viewer"})}),c.jsxs(Jd,{value:r,onValueChange:U=>i(U),className:"flex-1 overflow-hidden flex flex-col",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsxs(ro,{children:[c.jsxs(Dr,{value:"document",className:"flex items-center gap-1",children:["Document",C>0&&c.jsxs(kn,{variant:"secondary",className:"ml-1 text-xs px-1 py-0",children:["+",C]})]}),c.jsx(Dr,{value:"theme",children:"Theme"})]}),c.jsx("div",{className:"ml-auto",children:c.jsx(_e,{variant:"ghost",size:"icon",onClick:R,disabled:x||!B,"aria-label":"Copy schema",children:x?c.jsx(ln,{className:"h-4 w-4"}):c.jsx(es,{className:"h-4 w-4"})})})]}),c.jsxs("div",{className:"flex-1 overflow-auto mt-4",children:[c.jsx(Rr,{value:"document",className:"h-full",children:c.jsx(Ai,{schema:s,loading:u,error:h||void 0})}),c.jsx(Rr,{value:"theme",className:"h-full",children:c.jsx(Ai,{schema:o,loading:d,error:w||void 0})})]})]})]})})};function Wx({discoveryData:e,onToggleSidebar:t,isCollapsed:n=!1,isAnimating:r=!1}){const{documents:i,documentTypes:s,createDocument:a,openDocument:o}=Ae(vg(I=>({documents:I.documents,documentTypes:I.documentTypes,createDocument:I.createDocument,openDocument:I.openDocument}))),l=la(I=>I.updateTheme),u=la(I=>I.removeTheme),f=y.useContext(rd),[d,p]=y.useState(!1),[h,m]=y.useState(!1),[w,S]=y.useState(!1),[x,_]=y.useState(null),g=Ot(I=>I.togglePlugin),T=Ot(I=>I.isPluginSelected),E=Ot(I=>I.selectedPlugins),k=Ot(I=>I.isApplyingPlugins),[N,M]=y.useState(!1),[Y,C]=y.useState(new Set(["current-docs","current-themes"])),{toast:B}=Wi(),R=i.filter(I=>s[I.name]!=="application/json+theme"),U=i.filter(I=>s[I.name]==="application/json+theme"),L=y.useMemo(()=>{if(!e)return{current:[],downstream:[]};const I={current:[],downstream:[]};return e.documents.forEach($=>{I[$.location]&&I[$.location].push($)}),I},[e]),P=y.useMemo(()=>{if(!e)return{current:[],downstream:[]};const I={current:[],downstream:[]};return e.themes.forEach($=>{I[$.location]&&I[$.location].push($)}),I},[e]),A=y.useMemo(()=>{const I=new Set;return R.forEach($=>{try{const W=JSON.parse($.text);W.children&&Array.isArray(W.children)&&W.children.forEach(le=>{var K;le.name==="docx"&&((K=le.props)!=null&&K.theme)&&I.add(le.props.theme)})}catch{}}),I},[R]),J=y.useCallback(()=>{p(!1)},[]),O=y.useCallback(()=>{m(!1)},[]),q=y.useRef(new Map);y.useEffect(()=>{const I=q.current,$=new Map;U.forEach(W=>{$.set(W.name,W.text),I.get(W.name)!==W.text&&l(W.name,W.text)}),I.forEach((W,le)=>{$.has(le)||u(le)}),q.current=$},[U,l,u]);const b=y.useRef(!1);y.useEffect(()=>{if(b.current||!f)return;b.current=!0;const I=new Set(U.map(W=>W.name));Object.keys(f.getState().customThemes).forEach(W=>{I.has(W)||u(W)})},[U,u,f]);const ce=I=>{C($=>{const W=new Set($);return W.has(I)?W.delete(I):W.add(I),W})},oe=Ae(I=>I.activeTab),v=oe&&s[oe]==="application/json+theme"?"theme":"document",{resolvedTheme:X}=dc(),ae=X==="dark"?"https://ik.imagekit.io/wiseair/Brand%20assets/wiseair-logo-white.svg?updatedAt=1751359555877":"https://ik.imagekit.io/wiseair/Brand%20assets/wiseair-logo.svg?updatedAt=1749817149276",ne=y.useCallback(async(I,$)=>{if(i.some(W=>W.name===I)){o(I);return}try{const W=await fetch(`/api/discovery/${$?"themes":"documents"}/${encodeURIComponent(I)}/content`);if(!W.ok)throw new Error(W.statusText);const le=await W.text(),K=JSON.parse(le);a(I,JSON.stringify(K,null,2)),o(I),B({title:`Added ${$?"theme":"document"}: ${I}`})}catch{B({title:"Failed to load",description:`Could not load ${I}`,variant:"destructive"})}},[i,a,o,B]);return c.jsxs(c.Fragment,{children:[c.jsxs(Rd,{collapsible:"none",style:{"--sidebar-width":n?"3rem":"16rem"},children:[c.jsx(Md,{children:c.jsx("div",{className:H("flex items-center transition-opacity duration-150 ease-out",r?"opacity-0":"opacity-100",n?"justify-center":"justify-between"),children:n?c.jsx(_e,{variant:"ghost",size:"icon","aria-label":"Expand sidebar","aria-expanded":!1,onClick:t,children:c.jsx(Yc,{className:"h-4 w-4"})}):c.jsxs(c.Fragment,{children:[c.jsx("a",{href:"/",className:"flex items-center pl-2",children:c.jsx("img",{src:ae,alt:"WiseAir logo",className:"h-5 w-auto max-w-[120px] shrink-0"})}),c.jsx("div",{className:"flex items-center gap-1",children:c.jsx(_e,{variant:"ghost",size:"icon","aria-label":"Collapse sidebar","aria-expanded":!0,onClick:t,children:c.jsx(Gm,{className:"h-4 w-4"})})})]})})}),c.jsxs(Ld,{className:H("h-full transition-opacity duration-150 ease-out",r?"opacity-0":"opacity-100"),children:[c.jsxs(gi,{children:[c.jsxs(xi,{className:H("flex items-center",n?"justify-center":"justify-between"),children:[c.jsxs("div",{className:"flex items-center gap-2",children:[!n&&c.jsx(Lo,{className:"size-3"}),!n&&c.jsx("span",{children:"Active Documents"})]}),c.jsxs(Dt,{open:d,onOpenChange:p,children:[c.jsxs(Xe,{children:[c.jsx(Qe,{asChild:!0,children:c.jsx(Yo,{asChild:!0,children:c.jsx(_e,{className:H("p-0 flex-shrink-0",n?"mx-auto h-8 w-8 rounded border border-dashed border-sidebar-foreground/20 hover:border-sidebar-foreground/40":"h-6 w-6"),variant:"ghost",size:"icon",children:c.jsx(Si,{className:n?"size-3.5":"size-4"})})})}),c.jsx(et,{side:n?"right":"bottom",children:c.jsx("span",{className:"text-xs",children:"New Document"})})]}),c.jsx(Et,{className:"sm:max-w-[525px]",children:c.jsx(Ei,{mode:"create",shouldReset:!d,postSubmit:J,discoveredDocuments:(e==null?void 0:e.documents)||[]})})]})]}),n?c.jsx(br,{children:c.jsx("div",{className:"flex flex-col items-center gap-0.5 px-0.5",children:R.map(I=>{const $=oe===I.name;return c.jsxs(Xe,{children:[c.jsx(Qe,{asChild:!0,children:c.jsxs("button",{onClick:()=>o(I.name),"aria-label":I.name,className:H("relative w-8 h-8 rounded flex items-center justify-center text-[11px] font-bold transition-colors cursor-pointer",$?"bg-green-100 text-green-700 dark:bg-green-900/40 dark:text-green-300":"text-muted-foreground hover:bg-accent hover:text-accent-foreground"),children:[$&&c.jsx("span",{className:"absolute left-0 top-1 bottom-1 w-0.5 rounded-full bg-green-500 dark:bg-green-400"}),I.name.replace(/\.[^.]+$/,"").slice(0,2).toUpperCase()]})}),c.jsx(et,{side:"right",children:c.jsx("span",{className:"text-xs",children:I.name})})]},I.name)})})}):c.jsx(br,{children:c.jsx(ga,{children:R.length>0?R.map((I,$)=>c.jsx(el,{document:I,compact:n},`doc-${$}`)):c.jsx("div",{className:"px-3 py-2 text-xs text-muted-foreground",children:"No active documents. Click + to create one."})})})]}),c.jsx(Fd,{}),c.jsxs(gi,{children:[c.jsxs(xi,{className:H("flex items-center",n?"justify-center":"justify-between"),children:[c.jsxs("div",{className:"flex items-center gap-2",children:[!n&&c.jsx(sa,{className:"size-3 text-purple-600 dark:text-purple-400"}),!n&&c.jsx("span",{children:"Active Themes"})]}),c.jsxs(Dt,{open:h,onOpenChange:m,children:[c.jsxs(Xe,{children:[c.jsx(Qe,{asChild:!0,children:c.jsx(Yo,{asChild:!0,children:c.jsx(_e,{className:H("p-0 flex-shrink-0",n?"mx-auto h-8 w-8 rounded border border-dashed border-sidebar-foreground/20 hover:border-sidebar-foreground/40":"h-6 w-6"),variant:"ghost",size:"icon",children:c.jsx(Si,{className:n?"size-3.5":"size-4"})})})}),c.jsx(et,{side:n?"right":"bottom",children:c.jsx("span",{className:"text-xs",children:"New Theme"})})]}),c.jsx(Et,{className:"sm:max-w-[525px]",children:c.jsx(Ei,{mode:"create",shouldReset:!h,postSubmit:O,discoveredThemes:(e==null?void 0:e.themes)||[],isTheme:!0})})]})]}),n?c.jsx(br,{children:c.jsx("div",{className:"flex flex-col items-center gap-0.5 px-0.5",children:U.map(I=>{const $=oe===I.name;let W=null;try{const K=JSON.parse(I.text);W=ua(K)}catch{}const le=W?A.has(W):!1;return c.jsxs(Xe,{children:[c.jsx(Qe,{asChild:!0,children:c.jsxs("button",{onClick:()=>o(I.name),"aria-label":I.name,className:H("relative w-8 h-8 rounded flex items-center justify-center text-[11px] font-bold transition-colors cursor-pointer",$?"bg-purple-100 text-purple-700 dark:bg-purple-900/40 dark:text-purple-300":le?"bg-purple-50 text-purple-600 dark:bg-purple-900/20 dark:text-purple-400":"text-muted-foreground hover:bg-accent hover:text-accent-foreground"),children:[$&&c.jsx("span",{className:"absolute left-0 top-1 bottom-1 w-0.5 rounded-full bg-purple-500 dark:bg-purple-400"}),(W||I.name).charAt(0).toUpperCase()]})}),c.jsx(et,{side:"right",children:c.jsxs("div",{className:"text-xs",children:[I.name,le&&c.jsx("div",{className:"opacity-70",children:"In use"})]})})]},I.name)})})}):c.jsx(br,{children:c.jsx(ga,{children:U.length>0?U.map((I,$)=>{let W=null;try{const K=JSON.parse(I.text);W=ua(K)}catch{}const le=W?A.has(W):!1;return c.jsx(el,{document:I,compact:n,indicator:le?"in-use":void 0},`theme-${$}`)}):c.jsxs("div",{className:"px-3 py-2 text-xs text-muted-foreground",children:["No active themes."," ",e&&e.themes.length>0?"Click + to add one.":"No themes discovered in project."]})})})]}),!n&&e&&(e.documents.length>0||e.themes.length>0)&&c.jsxs(gi,{className:"mt-2 border-t pt-4",children:[c.jsxs(xi,{className:"flex items-center mb-2 gap-2",children:[c.jsx(Km,{className:"size-3"}),c.jsx("span",{children:"Discovered Resources"})]}),c.jsxs(c.Fragment,{children:[Object.entries(L).map(([I,$])=>{if($.length===0)return null;const W=`${I}-docs`,le=Y.has(W);return c.jsxs(Is,{open:le,children:[c.jsxs(zs,{className:"flex items-center gap-1 px-3 py-1 text-xs font-medium text-muted-foreground hover:text-foreground transition-colors cursor-pointer w-full",onClick:()=>ce(W),children:[c.jsx(an,{className:H("size-3 transition-transform",!le&&"-rotate-90")}),c.jsx(Lo,{className:"size-3"}),I==="current"?"Current Directory":"Project"," ","Documents (",$.length,")"]}),c.jsx(Ts,{children:c.jsx("div",{className:"pl-4 space-y-0.5",children:$.map((K,ve)=>{const de=i.some(xe=>xe.name===K.name);return c.jsxs("button",{onClick:()=>ne(K.name,!1),className:H("w-full text-left py-1 px-2 rounded text-sm transition-colors","border-l-2 border-blue-400/60 dark:border-blue-500/40","hover:bg-accent hover:text-accent-foreground",de&&"opacity-50"),children:[c.jsx("div",{className:"font-medium truncate",children:K.name}),K.title&&c.jsx("div",{className:"text-xs text-muted-foreground truncate",children:K.title})]},ve)})})})]},W)}),Object.entries(P).map(([I,$])=>{if($.length===0)return null;const W=`${I}-themes`,le=Y.has(W);return c.jsxs(Is,{open:le,children:[c.jsxs(zs,{className:"flex items-center gap-1 px-3 py-1 text-xs font-medium text-muted-foreground hover:text-foreground transition-colors cursor-pointer w-full",onClick:()=>ce(W),children:[c.jsx(an,{className:H("size-3 transition-transform",!le&&"-rotate-90")}),c.jsx(sa,{className:"size-3"}),I==="current"?"Current Directory":"Project"," ","Themes (",$.length,")"]}),c.jsx(Ts,{children:c.jsx("div",{className:"pl-4 space-y-0.5",children:$.map((K,ve)=>{const de=i.some(xe=>xe.name===K.name);return c.jsxs("button",{onClick:()=>ne(K.name,!0),className:H("w-full text-left py-1 px-2 rounded text-sm transition-colors","border-l-2 border-purple-400/60 dark:border-purple-500/40","hover:bg-accent hover:text-accent-foreground",de&&"opacity-50"),children:[c.jsx("div",{className:"font-medium truncate",children:K.name}),K.description&&c.jsx("div",{className:"text-xs text-muted-foreground truncate",children:K.description})]},ve)})})})]},W)}),e&&e.plugins.length>0&&c.jsxs(Is,{open:Y.has("plugins"),children:[c.jsxs(zs,{className:"flex items-center gap-1 px-3 py-1 text-xs font-medium text-muted-foreground hover:text-foreground transition-colors cursor-pointer w-full",onClick:()=>ce("plugins"),children:[c.jsx(an,{className:H("size-3 transition-transform",!Y.has("plugins")&&"-rotate-90")}),c.jsx(Kc,{className:"size-3 text-amber-600 dark:text-amber-400"}),"Plugins (",E.size,"/",e.plugins.length,")"]}),c.jsx(Ts,{children:c.jsx("div",{className:"pl-4 space-y-0.5",children:e.plugins.map((I,$)=>{const W=T(I.name);return c.jsxs("div",{className:H("py-1 px-2 text-sm border-l-2 flex items-center gap-2 group transition-colors",W?"border-amber-500 dark:border-amber-400 text-foreground":"border-amber-400/30 dark:border-amber-500/20 text-muted-foreground"),children:[c.jsxs("div",{className:"flex-1 min-w-0",children:[c.jsx("div",{className:"font-medium truncate",children:I.name}),I.description&&c.jsx("div",{className:"text-xs opacity-70 truncate",children:I.description})]}),c.jsx("button",{className:"flex-none size-5 flex items-center justify-center rounded-sm opacity-0 group-hover:opacity-100 hover:bg-accent transition-all cursor-pointer",title:`View details for ${I.name}`,onClick:le=>{le.stopPropagation(),_(I.name),S(!0)},children:c.jsx(Xc,{className:"size-3 text-muted-foreground"})}),c.jsx(eo,{checked:W,onCheckedChange:()=>g(I),disabled:k,className:"flex-none scale-[0.8]","aria-label":`Toggle ${I.name} plugin`})]},$)})})})]})]})]})]}),c.jsx($d,{children:c.jsx("div",{className:H("flex w-full items-center transition-opacity duration-150 ease-out",r?"opacity-0":"opacity-100",n?"justify-center":"justify-end pr-2"),children:c.jsx(Ux,{})})}),c.jsx(Dt,{open:w,onOpenChange:I=>{S(I),I||_(null)},children:c.jsx(Et,{className:"sm:max-w-5xl max-h-[85vh] overflow-hidden",children:c.jsx($x,{plugins:(e==null?void 0:e.plugins)||[],initialFocusedPlugin:x})})})]}),c.jsx(Hd,{open:N,onOpenChange:M,defaultTab:v==="theme"?"theme":"document"})]})}const tl=y.memo(Wx),Gx=y.lazy(()=>fc(()=>import("./editor-QOUTSCme.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11])).then(e=>({default:e.Editor})));function nl(){return c.jsx(y.Suspense,{fallback:c.jsx("div",{className:"flex items-center justify-center h-full",children:c.jsxs("div",{className:"text-center",children:[c.jsx(nn,{className:"w-8 h-8 mx-auto mb-2"}),c.jsx("p",{className:"text-sm text-muted-foreground",children:"Loading editor..."})]})}),children:c.jsx(Gx,{})})}const Kx=y.lazy(()=>fc(()=>import("./preview-CtIrY86t.js"),__vite__mapDeps([12,1,3,4,5,6,7,8,9,10,11])).then(e=>({default:e.Preview})));function rl(){return c.jsx(y.Suspense,{fallback:c.jsx("div",{className:"flex items-center justify-center h-full",children:c.jsxs("div",{className:"text-center",children:[c.jsx(nn,{className:"w-8 h-8 mx-auto mb-2"}),c.jsx("p",{className:"text-sm text-muted-foreground",children:"Loading preview..."})]})}),children:c.jsx(Kx,{})})}const{createElement:Xn,createContext:Yx,forwardRef:qd,useCallback:pt,useContext:Wd,useEffect:Sn,useImperativeHandle:Gd,useLayoutEffect:Xx,useMemo:Qx,useRef:xt,useState:qn}=cc,il=cc[`useId${Math.random()}`.slice(0,5)],ey=Xx,us=Yx(null);us.displayName="PanelGroupContext";const _n=ey,ty=typeof il=="function"?il:()=>null;let ny=0;function io(e=null){const t=ty(),n=xt(e||t||null);return n.current===null&&(n.current=""+ny++),e??n.current}function Kd({children:e,className:t="",collapsedSize:n,collapsible:r,defaultSize:i,forwardedRef:s,id:a,maxSize:o,minSize:l,onCollapse:u,onExpand:f,onResize:d,order:p,style:h,tagName:m="div",...w}){const S=Wd(us);if(S===null)throw Error("Panel components must be rendered within a PanelGroup container");const{collapsePanel:x,expandPanel:_,getPanelSize:g,getPanelStyle:T,groupId:E,isPanelCollapsed:k,reevaluatePanelConstraints:N,registerPanel:M,resizePanel:Y,unregisterPanel:C}=S,B=io(a),R=xt({callbacks:{onCollapse:u,onExpand:f,onResize:d},constraints:{collapsedSize:n,collapsible:r,defaultSize:i,maxSize:o,minSize:l},id:B,idIsFromProps:a!==void 0,order:p});xt({didLogMissingDefaultSizeWarning:!1}),_n(()=>{const{callbacks:L,constraints:P}=R.current,A={...P};R.current.id=B,R.current.idIsFromProps=a!==void 0,R.current.order=p,L.onCollapse=u,L.onExpand=f,L.onResize=d,P.collapsedSize=n,P.collapsible=r,P.defaultSize=i,P.maxSize=o,P.minSize=l,(A.collapsedSize!==P.collapsedSize||A.collapsible!==P.collapsible||A.maxSize!==P.maxSize||A.minSize!==P.minSize)&&N(R.current,A)}),_n(()=>{const L=R.current;return M(L),()=>{C(L)}},[p,B,M,C]),Gd(s,()=>({collapse:()=>{x(R.current)},expand:L=>{_(R.current,L)},getId(){return B},getSize(){return g(R.current)},isCollapsed(){return k(R.current)},isExpanded(){return!k(R.current)},resize:L=>{Y(R.current,L)}}),[x,_,g,k,B,Y]);const U=T(R.current,i);return Xn(m,{...w,children:e,className:t,id:a,style:{...U,...h},"data-panel":"","data-panel-collapsible":r||void 0,"data-panel-group-id":E,"data-panel-id":B,"data-panel-size":parseFloat(""+U.flexGrow).toFixed(1)})}const Yd=qd((e,t)=>Xn(Kd,{...e,forwardedRef:t}));Kd.displayName="Panel";Yd.displayName="forwardRef(Panel)";let xa=null,wn=null;function ry(e,t){if(t){const n=(t&nf)!==0,r=(t&rf)!==0,i=(t&sf)!==0,s=(t&af)!==0;if(n)return i?"se-resize":s?"ne-resize":"e-resize";if(r)return i?"sw-resize":s?"nw-resize":"w-resize";if(i)return"s-resize";if(s)return"n-resize"}switch(e){case"horizontal":return"ew-resize";case"intersection":return"move";case"vertical":return"ns-resize"}}function iy(){wn!==null&&(document.head.removeChild(wn),xa=null,wn=null)}function As(e,t){const n=ry(e,t);xa!==n&&(xa=n,wn===null&&(wn=document.createElement("style"),document.head.appendChild(wn)),wn.innerHTML=`*{cursor: ${n}!important;}`)}function Xd(e){return e.type==="keydown"}function Qd(e){return e.type.startsWith("pointer")}function ef(e){return e.type.startsWith("mouse")}function cs(e){if(Qd(e)){if(e.isPrimary)return{x:e.clientX,y:e.clientY}}else if(ef(e))return{x:e.clientX,y:e.clientY};return{x:1/0,y:1/0}}function sy(){if(typeof matchMedia=="function")return matchMedia("(pointer:coarse)").matches?"coarse":"fine"}function ay(e,t,n){return e.x<t.x+t.width&&e.x+e.width>t.x&&e.y<t.y+t.height&&e.y+e.height>t.y}function oy(e,t){if(e===t)throw new Error("Cannot compare node with itself");const n={a:ol(e),b:ol(t)};let r;for(;n.a.at(-1)===n.b.at(-1);)e=n.a.pop(),t=n.b.pop(),r=e;Se(r,"Stacking order can only be calculated for elements with a common ancestor");const i={a:al(sl(n.a)),b:al(sl(n.b))};if(i.a===i.b){const s=r.childNodes,a={a:n.a.at(-1),b:n.b.at(-1)};let o=s.length;for(;o--;){const l=s[o];if(l===a.a)return 1;if(l===a.b)return-1}}return Math.sign(i.a-i.b)}const ly=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function uy(e){var t;const n=getComputedStyle((t=tf(e))!==null&&t!==void 0?t:e).display;return n==="flex"||n==="inline-flex"}function cy(e){const t=getComputedStyle(e);return!!(t.position==="fixed"||t.zIndex!=="auto"&&(t.position!=="static"||uy(e))||+t.opacity<1||"transform"in t&&t.transform!=="none"||"webkitTransform"in t&&t.webkitTransform!=="none"||"mixBlendMode"in t&&t.mixBlendMode!=="normal"||"filter"in t&&t.filter!=="none"||"webkitFilter"in t&&t.webkitFilter!=="none"||"isolation"in t&&t.isolation==="isolate"||ly.test(t.willChange)||t.webkitOverflowScrolling==="touch")}function sl(e){let t=e.length;for(;t--;){const n=e[t];if(Se(n,"Missing node"),cy(n))return n}return null}function al(e){return e&&Number(getComputedStyle(e).zIndex)||0}function ol(e){const t=[];for(;e;)t.push(e),e=tf(e);return t}function tf(e){const{parentNode:t}=e;return t&&t instanceof ShadowRoot?t.host:t}const nf=1,rf=2,sf=4,af=8,dy=sy()==="coarse";let Rt=[],Wn=!1,sn=new Map,ds=new Map;const Mr=new Set;function fy(e,t,n,r,i){var s;const{ownerDocument:a}=t,o={direction:n,element:t,hitAreaMargins:r,setResizeHandlerState:i},l=(s=sn.get(a))!==null&&s!==void 0?s:0;return sn.set(a,l+1),Mr.add(o),Pi(),function(){var f;ds.delete(e),Mr.delete(o);const d=(f=sn.get(a))!==null&&f!==void 0?f:1;if(sn.set(a,d-1),Pi(),d===1&&sn.delete(a),Rt.includes(o)){const p=Rt.indexOf(o);p>=0&&Rt.splice(p,1),ao(),i("up",!0,null)}}}function ll(e){const{target:t}=e,{x:n,y:r}=cs(e);Wn=!0,so({target:t,x:n,y:r}),Pi(),Rt.length>0&&(Oi("down",e),e.preventDefault(),e.stopPropagation())}function fr(e){const{x:t,y:n}=cs(e);if(Wn&&e.buttons===0&&(Wn=!1,Oi("up",e)),!Wn){const{target:r}=e;so({target:r,x:t,y:n})}Oi("move",e),ao(),Rt.length>0&&e.preventDefault()}function Pn(e){const{target:t}=e,{x:n,y:r}=cs(e);ds.clear(),Wn=!1,Rt.length>0&&e.preventDefault(),Oi("up",e),so({target:t,x:n,y:r}),ao(),Pi()}function so({target:e,x:t,y:n}){Rt.splice(0);let r=null;(e instanceof HTMLElement||e instanceof SVGElement)&&(r=e),Mr.forEach(i=>{const{element:s,hitAreaMargins:a}=i,o=s.getBoundingClientRect(),{bottom:l,left:u,right:f,top:d}=o,p=dy?a.coarse:a.fine;if(t>=u-p&&t<=f+p&&n>=d-p&&n<=l+p){if(r!==null&&document.contains(r)&&s!==r&&!s.contains(r)&&!r.contains(s)&&oy(r,s)>0){let m=r,w=!1;for(;m&&!m.contains(s);){if(ay(m.getBoundingClientRect(),o)){w=!0;break}m=m.parentElement}if(w)return}Rt.push(i)}})}function Ps(e,t){ds.set(e,t)}function ao(){let e=!1,t=!1;Rt.forEach(r=>{const{direction:i}=r;i==="horizontal"?e=!0:t=!0});let n=0;ds.forEach(r=>{n|=r}),e&&t?As("intersection",n):e?As("horizontal",n):t?As("vertical",n):iy()}function Pi(){sn.forEach((e,t)=>{const{body:n}=t;n.removeEventListener("contextmenu",Pn),n.removeEventListener("pointerdown",ll),n.removeEventListener("pointerleave",fr),n.removeEventListener("pointermove",fr)}),window.removeEventListener("pointerup",Pn),window.removeEventListener("pointercancel",Pn),Mr.size>0&&(Wn?(Rt.length>0&&sn.forEach((e,t)=>{const{body:n}=t;e>0&&(n.addEventListener("contextmenu",Pn),n.addEventListener("pointerleave",fr),n.addEventListener("pointermove",fr))}),window.addEventListener("pointerup",Pn),window.addEventListener("pointercancel",Pn)):sn.forEach((e,t)=>{const{body:n}=t;e>0&&(n.addEventListener("pointerdown",ll,{capture:!0}),n.addEventListener("pointermove",fr))}))}function Oi(e,t){Mr.forEach(n=>{const{setResizeHandlerState:r}=n,i=Rt.includes(n);r(e,i,t)})}function py(){const[e,t]=qn(0);return pt(()=>t(n=>n+1),[])}function Se(e,t){if(!e)throw console.error(t),Error(t)}const oo=10;function Nn(e,t,n=oo){return e.toFixed(n)===t.toFixed(n)?0:e>t?1:-1}function Wt(e,t,n=oo){return Nn(e,t,n)===0}function wt(e,t,n){return Nn(e,t,n)===0}function hy(e,t,n){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++){const i=e[r],s=t[r];if(!wt(i,s,n))return!1}return!0}function Un({panelConstraints:e,panelIndex:t,size:n}){const r=e[t];Se(r!=null,`Panel constraints not found for index ${t}`);let{collapsedSize:i=0,collapsible:s,maxSize:a=100,minSize:o=0}=r;if(Nn(n,o)<0)if(s){const l=(i+o)/2;Nn(n,l)<0?n=i:n=o}else n=o;return n=Math.min(a,n),n=parseFloat(n.toFixed(oo)),n}function vr({delta:e,initialLayout:t,panelConstraints:n,pivotIndices:r,prevLayout:i,trigger:s}){if(wt(e,0))return t;const a=[...t],[o,l]=r;Se(o!=null,"Invalid first pivot index"),Se(l!=null,"Invalid second pivot index");let u=0;if(s==="keyboard"){{const d=e<0?l:o,p=n[d];Se(p,`Panel constraints not found for index ${d}`);const{collapsedSize:h=0,collapsible:m,minSize:w=0}=p;if(m){const S=t[d];if(Se(S!=null,`Previous layout not found for panel index ${d}`),wt(S,h)){const x=w-S;Nn(x,Math.abs(e))>0&&(e=e<0?0-x:x)}}}{const d=e<0?o:l,p=n[d];Se(p,`No panel constraints found for index ${d}`);const{collapsedSize:h=0,collapsible:m,minSize:w=0}=p;if(m){const S=t[d];if(Se(S!=null,`Previous layout not found for panel index ${d}`),wt(S,w)){const x=S-h;Nn(x,Math.abs(e))>0&&(e=e<0?0-x:x)}}}}{const d=e<0?1:-1;let p=e<0?l:o,h=0;for(;;){const w=t[p];Se(w!=null,`Previous layout not found for panel index ${p}`);const x=Un({panelConstraints:n,panelIndex:p,size:100})-w;if(h+=x,p+=d,p<0||p>=n.length)break}const m=Math.min(Math.abs(e),Math.abs(h));e=e<0?0-m:m}{let p=e<0?o:l;for(;p>=0&&p<n.length;){const h=Math.abs(e)-Math.abs(u),m=t[p];Se(m!=null,`Previous layout not found for panel index ${p}`);const w=m-h,S=Un({panelConstraints:n,panelIndex:p,size:w});if(!wt(m,S)&&(u+=m-S,a[p]=S,u.toPrecision(3).localeCompare(Math.abs(e).toPrecision(3),void 0,{numeric:!0})>=0))break;e<0?p--:p++}}if(hy(i,a))return i;{const d=e<0?l:o,p=t[d];Se(p!=null,`Previous layout not found for panel index ${d}`);const h=p+u,m=Un({panelConstraints:n,panelIndex:d,size:h});if(a[d]=m,!wt(m,h)){let w=h-m,x=e<0?l:o;for(;x>=0&&x<n.length;){const _=a[x];Se(_!=null,`Previous layout not found for panel index ${x}`);const g=_+w,T=Un({panelConstraints:n,panelIndex:x,size:g});if(wt(_,T)||(w-=T-_,a[x]=T),wt(w,0))break;e>0?x--:x++}}}const f=a.reduce((d,p)=>p+d,0);return wt(f,100)?a:i}function my({layout:e,panelsArray:t,pivotIndices:n}){let r=0,i=100,s=0,a=0;const o=n[0];Se(o!=null,"No pivot index found"),t.forEach((d,p)=>{const{constraints:h}=d,{maxSize:m=100,minSize:w=0}=h;p===o?(r=w,i=m):(s+=w,a+=m)});const l=Math.min(i,100-s),u=Math.max(r,100-a),f=e[o];return{valueMax:l,valueMin:u,valueNow:f}}function $r(e,t=document){return Array.from(t.querySelectorAll(`[data-panel-resize-handle-id][data-panel-group-id="${e}"]`))}function of(e,t,n=document){const i=$r(e,n).findIndex(s=>s.getAttribute("data-panel-resize-handle-id")===t);return i??null}function lf(e,t,n){const r=of(e,t,n);return r!=null?[r,r+1]:[-1,-1]}function uf(e,t=document){var n;if(t instanceof HTMLElement&&(t==null||(n=t.dataset)===null||n===void 0?void 0:n.panelGroupId)==e)return t;const r=t.querySelector(`[data-panel-group][data-panel-group-id="${e}"]`);return r||null}function fs(e,t=document){const n=t.querySelector(`[data-panel-resize-handle-id="${e}"]`);return n||null}function gy(e,t,n,r=document){var i,s,a,o;const l=fs(t,r),u=$r(e,r),f=l?u.indexOf(l):-1,d=(i=(s=n[f])===null||s===void 0?void 0:s.id)!==null&&i!==void 0?i:null,p=(a=(o=n[f+1])===null||o===void 0?void 0:o.id)!==null&&a!==void 0?a:null;return[d,p]}function xy({committedValuesRef:e,eagerValuesRef:t,groupId:n,layout:r,panelDataArray:i,panelGroupElement:s,setLayout:a}){xt({didWarnAboutMissingResizeHandle:!1}),_n(()=>{if(!s)return;const o=$r(n,s);for(let l=0;l<i.length-1;l++){const{valueMax:u,valueMin:f,valueNow:d}=my({layout:r,panelsArray:i,pivotIndices:[l,l+1]}),p=o[l];if(p!=null){const h=i[l];Se(h,`No panel data found for index "${l}"`),p.setAttribute("aria-controls",h.id),p.setAttribute("aria-valuemax",""+Math.round(u)),p.setAttribute("aria-valuemin",""+Math.round(f)),p.setAttribute("aria-valuenow",d!=null?""+Math.round(d):"")}}return()=>{o.forEach((l,u)=>{l.removeAttribute("aria-controls"),l.removeAttribute("aria-valuemax"),l.removeAttribute("aria-valuemin"),l.removeAttribute("aria-valuenow")})}},[n,r,i,s]),Sn(()=>{if(!s)return;const o=t.current;Se(o,"Eager values not found");const{panelDataArray:l}=o,u=uf(n,s);Se(u!=null,`No group found for id "${n}"`);const f=$r(n,s);Se(f,`No resize handles found for group id "${n}"`);const d=f.map(p=>{const h=p.getAttribute("data-panel-resize-handle-id");Se(h,"Resize handle element has no handle id attribute");const[m,w]=gy(n,h,l,s);if(m==null||w==null)return()=>{};const S=x=>{if(!x.defaultPrevented)switch(x.key){case"Enter":{x.preventDefault();const _=l.findIndex(g=>g.id===m);if(_>=0){const g=l[_];Se(g,`No panel data found for index ${_}`);const T=r[_],{collapsedSize:E=0,collapsible:k,minSize:N=0}=g.constraints;if(T!=null&&k){const M=vr({delta:wt(T,E)?N-E:E-T,initialLayout:r,panelConstraints:l.map(Y=>Y.constraints),pivotIndices:lf(n,h,s),prevLayout:r,trigger:"keyboard"});r!==M&&a(M)}}break}}};return p.addEventListener("keydown",S),()=>{p.removeEventListener("keydown",S)}});return()=>{d.forEach(p=>p())}},[s,e,t,n,r,i,a])}function ul(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function cf(e,t){const n=e==="horizontal",{x:r,y:i}=cs(t);return n?r:i}function yy(e,t,n,r,i){const s=n==="horizontal",a=fs(t,i);Se(a,`No resize handle element found for id "${t}"`);const o=a.getAttribute("data-panel-group-id");Se(o,"Resize handle element has no group id attribute");let{initialCursorPosition:l}=r;const u=cf(n,e),f=uf(o,i);Se(f,`No group element found for id "${o}"`);const d=f.getBoundingClientRect(),p=s?d.width:d.height;return(u-l)/p*100}function by(e,t,n,r,i,s){if(Xd(e)){const a=n==="horizontal";let o=0;e.shiftKey?o=100:i!=null?o=i:o=10;let l=0;switch(e.key){case"ArrowDown":l=a?0:o;break;case"ArrowLeft":l=a?-o:0;break;case"ArrowRight":l=a?o:0;break;case"ArrowUp":l=a?0:-o;break;case"End":l=100;break;case"Home":l=-100;break}return l}else return r==null?0:yy(e,t,n,r,s)}function vy({panelDataArray:e}){const t=Array(e.length),n=e.map(s=>s.constraints);let r=0,i=100;for(let s=0;s<e.length;s++){const a=n[s];Se(a,`Panel constraints not found for index ${s}`);const{defaultSize:o}=a;o!=null&&(r++,t[s]=o,i-=o)}for(let s=0;s<e.length;s++){const a=n[s];Se(a,`Panel constraints not found for index ${s}`);const{defaultSize:o}=a;if(o!=null)continue;const l=e.length-r,u=i/l;r++,t[s]=u,i-=u}return t}function On(e,t,n){t.forEach((r,i)=>{const s=e[i];Se(s,`Panel data not found for index ${i}`);const{callbacks:a,constraints:o,id:l}=s,{collapsedSize:u=0,collapsible:f}=o,d=n[l];if(d==null||r!==d){n[l]=r;const{onCollapse:p,onExpand:h,onResize:m}=a;m&&m(r,d),f&&(p||h)&&(h&&(d==null||Wt(d,u))&&!Wt(r,u)&&h(),p&&(d==null||!Wt(d,u))&&Wt(r,u)&&p())}})}function ri(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!=t[n])return!1;return!0}function wy({defaultSize:e,dragState:t,layout:n,panelData:r,panelIndex:i,precision:s=3}){const a=n[i];let o;return a==null?o=e!=null?e.toPrecision(s):"1":r.length===1?o="1":o=a.toPrecision(s),{flexBasis:0,flexGrow:o,flexShrink:1,overflow:"hidden",pointerEvents:t!==null?"none":void 0}}function ky(e,t=10){let n=null;return(...i)=>{n!==null&&clearTimeout(n),n=setTimeout(()=>{e(...i)},t)}}function cl(e){try{if(typeof localStorage<"u")e.getItem=t=>localStorage.getItem(t),e.setItem=(t,n)=>{localStorage.setItem(t,n)};else throw new Error("localStorage not supported in this environment")}catch(t){console.error(t),e.getItem=()=>null,e.setItem=()=>{}}}function df(e){return`react-resizable-panels:${e}`}function ff(e){return e.map(t=>{const{constraints:n,id:r,idIsFromProps:i,order:s}=t;return i?r:s?`${s}:${JSON.stringify(n)}`:JSON.stringify(n)}).sort((t,n)=>t.localeCompare(n)).join(",")}function pf(e,t){try{const n=df(e),r=t.getItem(n);if(r){const i=JSON.parse(r);if(typeof i=="object"&&i!=null)return i}}catch{}return null}function Sy(e,t,n){var r,i;const s=(r=pf(e,n))!==null&&r!==void 0?r:{},a=ff(t);return(i=s[a])!==null&&i!==void 0?i:null}function _y(e,t,n,r,i){var s;const a=df(e),o=ff(t),l=(s=pf(e,i))!==null&&s!==void 0?s:{};l[o]={expandToSizes:Object.fromEntries(n.entries()),layout:r};try{i.setItem(a,JSON.stringify(l))}catch(u){console.error(u)}}function dl({layout:e,panelConstraints:t}){const n=[...e],r=n.reduce((s,a)=>s+a,0);if(n.length!==t.length)throw Error(`Invalid ${t.length} panel layout: ${n.map(s=>`${s}%`).join(", ")}`);if(!wt(r,100)&&n.length>0)for(let s=0;s<t.length;s++){const a=n[s];Se(a!=null,`No layout data found for index ${s}`);const o=100/r*a;n[s]=o}let i=0;for(let s=0;s<t.length;s++){const a=n[s];Se(a!=null,`No layout data found for index ${s}`);const o=Un({panelConstraints:t,panelIndex:s,size:a});a!=o&&(i+=a-o,n[s]=o)}if(!wt(i,0))for(let s=0;s<t.length;s++){const a=n[s];Se(a!=null,`No layout data found for index ${s}`);const o=a+i,l=Un({panelConstraints:t,panelIndex:s,size:o});if(a!==l&&(i-=l-a,n[s]=l,wt(i,0)))break}return n}const jy=100,wr={getItem:e=>(cl(wr),wr.getItem(e)),setItem:(e,t)=>{cl(wr),wr.setItem(e,t)}},fl={};function hf({autoSaveId:e=null,children:t,className:n="",direction:r,forwardedRef:i,id:s=null,onLayout:a=null,keyboardResizeBy:o=null,storage:l=wr,style:u,tagName:f="div",...d}){const p=io(s),h=xt(null),[m,w]=qn(null),[S,x]=qn([]),_=py(),g=xt({}),T=xt(new Map),E=xt(0),k=xt({autoSaveId:e,direction:r,dragState:m,id:p,keyboardResizeBy:o,onLayout:a,storage:l}),N=xt({layout:S,panelDataArray:[],panelDataArrayChanged:!1});xt({didLogIdAndOrderWarning:!1,didLogPanelConstraintsWarning:!1,prevPanelIds:[]}),Gd(i,()=>({getId:()=>k.current.id,getLayout:()=>{const{layout:v}=N.current;return v},setLayout:v=>{const{onLayout:X}=k.current,{layout:ae,panelDataArray:ne}=N.current,I=dl({layout:v,panelConstraints:ne.map($=>$.constraints)});ul(ae,I)||(x(I),N.current.layout=I,X&&X(I),On(ne,I,g.current))}}),[]),_n(()=>{k.current.autoSaveId=e,k.current.direction=r,k.current.dragState=m,k.current.id=p,k.current.onLayout=a,k.current.storage=l}),xy({committedValuesRef:k,eagerValuesRef:N,groupId:p,layout:S,panelDataArray:N.current.panelDataArray,setLayout:x,panelGroupElement:h.current}),Sn(()=>{const{panelDataArray:v}=N.current;if(e){if(S.length===0||S.length!==v.length)return;let X=fl[e];X==null&&(X=ky(_y,jy),fl[e]=X);const ae=[...v],ne=new Map(T.current);X(e,ae,ne,S,l)}},[e,S,l]),Sn(()=>{});const M=pt(v=>{const{onLayout:X}=k.current,{layout:ae,panelDataArray:ne}=N.current;if(v.constraints.collapsible){const I=ne.map(K=>K.constraints),{collapsedSize:$=0,panelSize:W,pivotIndices:le}=hn(ne,v,ae);if(Se(W!=null,`Panel size not found for panel "${v.id}"`),!Wt(W,$)){T.current.set(v.id,W);const ve=Ln(ne,v)===ne.length-1?W-$:$-W,de=vr({delta:ve,initialLayout:ae,panelConstraints:I,pivotIndices:le,prevLayout:ae,trigger:"imperative-api"});ri(ae,de)||(x(de),N.current.layout=de,X&&X(de),On(ne,de,g.current))}}},[]),Y=pt((v,X)=>{const{onLayout:ae}=k.current,{layout:ne,panelDataArray:I}=N.current;if(v.constraints.collapsible){const $=I.map(xe=>xe.constraints),{collapsedSize:W=0,panelSize:le=0,minSize:K=0,pivotIndices:ve}=hn(I,v,ne),de=X??K;if(Wt(le,W)){const xe=T.current.get(v.id),Ue=xe!=null&&xe>=de?xe:de,Ge=Ln(I,v)===I.length-1?le-Ue:Ue-le,j=vr({delta:Ge,initialLayout:ne,panelConstraints:$,pivotIndices:ve,prevLayout:ne,trigger:"imperative-api"});ri(ne,j)||(x(j),N.current.layout=j,ae&&ae(j),On(I,j,g.current))}}},[]),C=pt(v=>{const{layout:X,panelDataArray:ae}=N.current,{panelSize:ne}=hn(ae,v,X);return Se(ne!=null,`Panel size not found for panel "${v.id}"`),ne},[]),B=pt((v,X)=>{const{panelDataArray:ae}=N.current,ne=Ln(ae,v);return wy({defaultSize:X,dragState:m,layout:S,panelData:ae,panelIndex:ne})},[m,S]),R=pt(v=>{const{layout:X,panelDataArray:ae}=N.current,{collapsedSize:ne=0,collapsible:I,panelSize:$}=hn(ae,v,X);return Se($!=null,`Panel size not found for panel "${v.id}"`),I===!0&&Wt($,ne)},[]),U=pt(v=>{const{layout:X,panelDataArray:ae}=N.current,{collapsedSize:ne=0,collapsible:I,panelSize:$}=hn(ae,v,X);return Se($!=null,`Panel size not found for panel "${v.id}"`),!I||Nn($,ne)>0},[]),L=pt(v=>{const{panelDataArray:X}=N.current;X.push(v),X.sort((ae,ne)=>{const I=ae.order,$=ne.order;return I==null&&$==null?0:I==null?-1:$==null?1:I-$}),N.current.panelDataArrayChanged=!0,_()},[_]);_n(()=>{if(N.current.panelDataArrayChanged){N.current.panelDataArrayChanged=!1;const{autoSaveId:v,onLayout:X,storage:ae}=k.current,{layout:ne,panelDataArray:I}=N.current;let $=null;if(v){const le=Sy(v,I,ae);le&&(T.current=new Map(Object.entries(le.expandToSizes)),$=le.layout)}$==null&&($=vy({panelDataArray:I}));const W=dl({layout:$,panelConstraints:I.map(le=>le.constraints)});ul(ne,W)||(x(W),N.current.layout=W,X&&X(W),On(I,W,g.current))}}),_n(()=>{const v=N.current;return()=>{v.layout=[]}},[]);const P=pt(v=>{let X=!1;const ae=h.current;return ae&&window.getComputedStyle(ae,null).getPropertyValue("direction")==="rtl"&&(X=!0),function(I){I.preventDefault();const $=h.current;if(!$)return()=>null;const{direction:W,dragState:le,id:K,keyboardResizeBy:ve,onLayout:de}=k.current,{layout:xe,panelDataArray:Ue}=N.current,{initialLayout:rt}=le??{},Ge=lf(K,v,$);let j=by(I,v,W,le,ve,$);const z=W==="horizontal";z&&X&&(j=-j);const Z=Ue.map(ee=>ee.constraints),re=vr({delta:j,initialLayout:rt??xe,panelConstraints:Z,pivotIndices:Ge,prevLayout:xe,trigger:Xd(I)?"keyboard":"mouse-or-touch"}),te=!ri(xe,re);(Qd(I)||ef(I))&&E.current!=j&&(E.current=j,!te&&j!==0?z?Ps(v,j<0?nf:rf):Ps(v,j<0?sf:af):Ps(v,0)),te&&(x(re),N.current.layout=re,de&&de(re),On(Ue,re,g.current))}},[]),A=pt((v,X)=>{const{onLayout:ae}=k.current,{layout:ne,panelDataArray:I}=N.current,$=I.map(xe=>xe.constraints),{panelSize:W,pivotIndices:le}=hn(I,v,ne);Se(W!=null,`Panel size not found for panel "${v.id}"`);const ve=Ln(I,v)===I.length-1?W-X:X-W,de=vr({delta:ve,initialLayout:ne,panelConstraints:$,pivotIndices:le,prevLayout:ne,trigger:"imperative-api"});ri(ne,de)||(x(de),N.current.layout=de,ae&&ae(de),On(I,de,g.current))},[]),J=pt((v,X)=>{const{layout:ae,panelDataArray:ne}=N.current,{collapsedSize:I=0,collapsible:$}=X,{collapsedSize:W=0,collapsible:le,maxSize:K=100,minSize:ve=0}=v.constraints,{panelSize:de}=hn(ne,v,ae);de!=null&&($&&le&&Wt(de,I)?Wt(I,W)||A(v,W):de<ve?A(v,ve):de>K&&A(v,K))},[A]),O=pt((v,X)=>{const{direction:ae}=k.current,{layout:ne}=N.current;if(!h.current)return;const I=fs(v,h.current);Se(I,`Drag handle element not found for id "${v}"`);const $=cf(ae,X);w({dragHandleId:v,dragHandleRect:I.getBoundingClientRect(),initialCursorPosition:$,initialLayout:ne})},[]),q=pt(()=>{w(null)},[]),b=pt(v=>{const{panelDataArray:X}=N.current,ae=Ln(X,v);ae>=0&&(X.splice(ae,1),delete g.current[v.id],N.current.panelDataArrayChanged=!0,_())},[_]),ce=Qx(()=>({collapsePanel:M,direction:r,dragState:m,expandPanel:Y,getPanelSize:C,getPanelStyle:B,groupId:p,isPanelCollapsed:R,isPanelExpanded:U,reevaluatePanelConstraints:J,registerPanel:L,registerResizeHandle:P,resizePanel:A,startDragging:O,stopDragging:q,unregisterPanel:b,panelGroupElement:h.current}),[M,m,r,Y,C,B,p,R,U,J,L,P,A,O,q,b]),oe={display:"flex",flexDirection:r==="horizontal"?"row":"column",height:"100%",overflow:"hidden",width:"100%"};return Xn(us.Provider,{value:ce},Xn(f,{...d,children:t,className:n,id:s,ref:h,style:{...oe,...u},"data-panel-group":"","data-panel-group-direction":r,"data-panel-group-id":p}))}const mf=qd((e,t)=>Xn(hf,{...e,forwardedRef:t}));hf.displayName="PanelGroup";mf.displayName="forwardRef(PanelGroup)";function Ln(e,t){return e.findIndex(n=>n===t||n.id===t.id)}function hn(e,t,n){const r=Ln(e,t),s=r===e.length-1?[r-1,r]:[r,r+1],a=n[r];return{...t.constraints,panelSize:a,pivotIndices:s}}function Cy({disabled:e,handleId:t,resizeHandler:n,panelGroupElement:r}){Sn(()=>{if(e||n==null||r==null)return;const i=fs(t,r);if(i==null)return;const s=a=>{if(!a.defaultPrevented)switch(a.key){case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"ArrowUp":case"End":case"Home":{a.preventDefault(),n(a);break}case"F6":{a.preventDefault();const o=i.getAttribute("data-panel-group-id");Se(o,`No group element found for id "${o}"`);const l=$r(o,r),u=of(o,t,r);Se(u!==null,`No resize element found for id "${t}"`);const f=a.shiftKey?u>0?u-1:l.length-1:u+1<l.length?u+1:0;l[f].focus();break}}};return i.addEventListener("keydown",s),()=>{i.removeEventListener("keydown",s)}},[r,e,t,n])}function gf({children:e=null,className:t="",disabled:n=!1,hitAreaMargins:r,id:i,onBlur:s,onDragging:a,onFocus:o,style:l={},tabIndex:u=0,tagName:f="div",...d}){var p,h;const m=xt(null),w=xt({onDragging:a});Sn(()=>{w.current.onDragging=a});const S=Wd(us);if(S===null)throw Error("PanelResizeHandle components must be rendered within a PanelGroup container");const{direction:x,groupId:_,registerResizeHandle:g,startDragging:T,stopDragging:E,panelGroupElement:k}=S,N=io(i),[M,Y]=qn("inactive"),[C,B]=qn(!1),[R,U]=qn(null),L=xt({state:M});_n(()=>{L.current.state=M}),Sn(()=>{if(n)U(null);else{const O=g(N);U(()=>O)}},[n,N,g]);const P=(p=r==null?void 0:r.coarse)!==null&&p!==void 0?p:15,A=(h=r==null?void 0:r.fine)!==null&&h!==void 0?h:5;return Sn(()=>{if(n||R==null)return;const O=m.current;return Se(O,"Element ref not attached"),fy(N,O,x,{coarse:P,fine:A},(b,ce,oe)=>{if(ce)switch(b){case"down":{Y("drag"),Se(oe,'Expected event to be defined for "down" action'),T(N,oe);const{onDragging:v}=w.current;v&&v(!0);break}case"move":{const{state:v}=L.current;v!=="drag"&&Y("hover"),Se(oe,'Expected event to be defined for "move" action'),R(oe);break}case"up":{Y("hover"),E();const{onDragging:v}=w.current;v&&v(!1);break}}else Y("inactive")})},[P,x,n,A,g,N,R,T,E]),Cy({disabled:n,handleId:N,resizeHandler:R,panelGroupElement:k}),Xn(f,{...d,children:e,className:t,id:i,onBlur:()=>{B(!1),s==null||s()},onFocus:()=>{B(!0),o==null||o()},ref:m,role:"separator",style:{...{touchAction:"none",userSelect:"none"},...l},tabIndex:u,"data-panel-group-direction":x,"data-panel-group-id":_,"data-resize-handle":"","data-resize-handle-active":M==="drag"?"pointer":C?"keyboard":void 0,"data-resize-handle-state":M,"data-panel-resize-handle-enabled":!n,"data-panel-resize-handle-id":N})}gf.displayName="PanelResizeHandle";const Ny=({className:e,...t})=>c.jsx(mf,{className:H("flex h-full w-full data-[panel-group-direction=vertical]:flex-col",e),...t}),Os=Yd,pl=({withHandle:e,className:t,...n})=>c.jsx(gf,{className:H("bg-border focus-visible:ring-ring relative flex w-px items-center justify-center after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:ring-1 focus-visible:ring-offset-1 focus-visible:outline-none data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:-translate-y-1/2 data-[panel-group-direction=vertical]:after:translate-x-0 [&[data-panel-group-direction=vertical]>div]:rotate-90",t),...n,children:e&&c.jsx("div",{className:"bg-border z-10 flex h-4 w-3 items-center justify-center rounded-sm border",children:c.jsx(Ym,{className:"h-2.5 w-2.5"})})});function Ey({children:e,className:t}){return c.jsx("kbd",{className:H("inline-flex items-center justify-center min-w-[1.25rem] h-5 px-1 rounded border border-border bg-background text-[11px] font-mono font-medium text-muted-foreground shadow-[0_1px_0_0] shadow-border/50 leading-none select-none",t),children:e})}function Iy({children:e,className:t}){return c.jsx("span",{className:H("inline-flex items-center gap-0.5",t),children:e})}const ii=typeof navigator<"u"&&/Mac|iPod|iPhone|iPad/.test(navigator.platform);function ya({shortcut:e,className:t}){const r=e.split("+").map(i=>i.trim().toLowerCase()).map(i=>{switch(i){case"mod":return ii?"⌘":"Ctrl";case"shift":return ii?"⇧":"Shift";case"alt":return ii?"⌥":"Alt";case"ctrl":return ii?"⌃":"Ctrl";case"enter":return"↵";default:return i.toUpperCase()}});return c.jsx(Iy,{className:t,children:r.map((i,s)=>c.jsx(Ey,{children:i},s))})}class zy{constructor(t){Mo(this,"client");this.client=wg.create({baseURL:t||void 0||"/api",headers:{"Content-Type":"application/json"}})}get(t,n){return this.client.get(t,n)}post(t,n,r){return this.client.post(t,n,r)}put(t,n,r){return this.client.put(t,n,r)}delete(t,n){return this.client.delete(t,n)}patch(t,n,r){return this.client.patch(t,n,r)}}const Ty=new zy;function Ay(){const e=y.useRef(null),t=y.useCallback(async(r,i,s,a,o)=>{e.current&&e.current.abort();const l=new AbortController;e.current=l;try{a==null||a("parsing","Validating JSON structure...");let u;try{u=JSON.parse(i)}catch(k){throw new Error(`Invalid JSON: ${k instanceof Error?k.message:"Unknown parse error"}`)}a==null||a("building",`Building ${ti.toLowerCase()} structure...`);const f={jsonDefinition:u,options:o||{}};f.customThemes=s??{},a==null||a("rendering",`Generating ${kt.toUpperCase()} content...`);const d={"Content-Type":"application/json"};o!=null&&o.bypassCache&&(d["X-Bypass-Cache"]="true");const p=await fetch(fm.generate,{method:"POST",headers:d,body:JSON.stringify(f),signal:l.signal}),h=await p.json();if(!p.ok||!h.success){const k=h.error||h.message||`API request failed with status: ${p.status}`;throw new Error(k)}const{data:m,cache:w,warnings:S}=h,x=w.status==="HIT"?"HIT":w.status==="MISS"?"MISS":"UNKNOWN",_=x==="HIT"?`Served from cache (Hit rate: ${w.hitRate})`:`Generated fresh ${ti.toLowerCase()}`;a==null||a("finalizing",_);const g=globalThis.atob(m.document),T=new Uint8Array(g.length);for(let k=0;k<g.length;k++)T[k]=g.charCodeAt(k);const E=new Blob([T],{type:m.contentType});if(E.size===0)throw new Error(`Received empty ${ti.toLowerCase()} from API`);return{name:r,text:i,blob:E,filename:m.filename,fileId:m.fileId,cacheStatus:x,cacheHitRate:w.hitRate,warnings:S}}catch(u){throw u instanceof Error&&u.name==="AbortError"?new Error(`${ti} generation was cancelled`):u}finally{e.current===l&&(e.current=null)}},[]),n=y.useCallback(()=>{e.current&&(e.current.abort(),e.current=null)},[]);return{generatePresentation:t,generateDocument:t,cancelGeneration:n}}function Py(e){if(!e||e.length===0)return null;const t=[{name:"heading",props:{level:1,text:"Document Generation Warnings"}},{name:"paragraph",props:{text:`${e.length} warning(s) were generated during document processing.`,spacing:{after:240}}}],n=new Map;for(const r of e){const i=n.get(r.component)||[];i.push(r),n.set(r.component,i)}for(const[r,i]of n.entries()){t.push({name:"heading",props:{level:2,text:`Component: ${r}`}});const s=[];for(const a of i){let o=a.message;if(a.context&&Object.keys(a.context).length>0){const l=Object.entries(a.context).map(([u,f])=>`${u}: ${JSON.stringify(f)}`).join(", ");o+=` (${l})`}s.push(o)}t.push({name:"list",props:{items:s,spacing:{after:120}}})}return{name:"docx",props:{metadata:{title:"Generation Warnings"},theme:"minimal"},children:t}}function Oy({open:e,onClose:t,nonSafeFonts:n,onChoose:r}){const[i,s]=Ee.useState("custom");Ee.useEffect(()=>{e&&s("custom")},[e]);const a=n.length===1?n[0]:n.slice(0,3).join(", ")+(n.length>3?` +${n.length-3} more`:""),o=[{value:"custom",title:"Keep custom fonts",desc:"Recipients with the font installed see the authored typeface. Others get a generic fallback."},{value:"substitute",title:"Convert to safe fonts",desc:"Rewrite non-safe families to Calibri / Georgia / Consolas so every recipient sees the same glyphs."}];return c.jsx(Dt,{open:e,onOpenChange:l=>!l&&t(),children:c.jsxs(Et,{className:"max-w-md",children:[c.jsxs(Gt,{children:[c.jsx(Kt,{children:"Non-safe fonts in this document"}),c.jsxs(Cn,{children:[a," ",n.length===1?"is":"are"," not in the built-in safe list. Choose how to export."]})]}),c.jsx("div",{className:"grid gap-2 py-2",children:o.map(l=>{const u=i===l.value;return c.jsxs("button",{type:"button",onClick:()=>s(l.value),className:`text-left rounded-md border px-3 py-2 transition-colors ${u?"border-primary bg-primary/5":"border-border hover:bg-muted/40"}`,children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("span",{className:`h-3.5 w-3.5 rounded-full border flex items-center justify-center ${u?"border-primary":"border-muted-foreground/50"}`,children:u&&c.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-primary"})}),c.jsx("span",{className:"text-sm font-medium",children:l.title})]}),c.jsx("p",{className:"mt-1 text-xs text-muted-foreground pl-6",children:l.desc})]},l.value)})}),c.jsxs(Yn,{children:[c.jsx(_e,{variant:"outline",size:"sm",onClick:t,children:"Cancel"}),c.jsx(_e,{size:"sm",onClick:()=>{r(i),t()},children:"Download"})]})]})})}const hl=kt==="docx"?["docxjs","LibreOffice"]:["LibreOffice"],Ds={docxjs:["⚡","(Fast) works in the browser — lower fidelity"],LibreOffice:["🖨️","(High fidelity) converts to PDF locally with LibreOffice"]};function Dy({name:e,blob:t,displayReloadButton:n,iframeRef:r,autoReload:i,onToggleAutoReload:s,onManualRender:a,isGenerating:o,isRendering:l,onShowCacheMetrics:u,onShowSchemas:f,onShowFonts:d,documentText:p,warnings:h,renderingLibrary:m,setRenderingLibrary:w,onToggleChat:S,chatOpen:x,onTogglePreview:_,previewOpen:g}){const T=m!=="docxjs",[E,k]=y.useState(!1),[N,M]=y.useState(!1),[Y,C]=y.useState(!1),[B,R]=y.useState(!1),[U,L]=y.useState(!1),[P,A]=y.useState(!1),{toast:J}=Wi(),{generateDocument:O}=Ay(),q=y.useContext(rd),b=y.useCallback(()=>{const K={},{customThemes:ve}=q.getState();return Object.values(ve).forEach(de=>{de.valid&&de.parsed&&(K[de.name]=de.parsed)}),K},[q]),ce=Ee.useMemo(()=>{if(!p)return[];try{const K=JSON.parse(p);return[...(kt==="pptx"?pm:hm)(K)].filter(de=>!mm(de))}catch{return[]}},[p]),[oe,v]=y.useState(!1),X=y.useCallback(async()=>{if(t){k(!0);try{await new Promise(K=>setTimeout(K,100)),yi(`${e}${lr}`,t)}finally{setTimeout(()=>k(!1),500)}}},[t,e]),ae=y.useCallback(async()=>{if(t){if(ce.length===0){await X();return}v(!0)}},[t,ce.length,X]),ne=y.useCallback(async K=>{var ve;if(p){k(!0);try{const de=await O(e,p,b(),void 0,{bypassCache:!0,fonts:{mode:K}});if(de.blob.size===0)J({title:"Export failed",description:"The server returned an empty document.",variant:"destructive"});else{yi(`${e}${lr}`,de.blob);const xe=(ve=de.warnings)==null?void 0:ve.find(Ue=>{var rt,Ge;return((rt=Ue.context)==null?void 0:rt.code)==="FONT_MODE_SUBSTITUTED"||((Ge=Ue.context)==null?void 0:Ge.code)==="FONT_MODE_CUSTOM"});xe&&J({title:K==="substitute"?"Fonts substituted":"Non-safe fonts kept",description:xe.message})}}catch(de){J({title:"Export failed",description:de instanceof Error?de.message:String(de),variant:"destructive"})}finally{setTimeout(()=>k(!1),500)}}},[p,e,O,J,b]),I=y.useCallback(async()=>{if(!(!h||h.length===0)){M(!0);try{const K=Py(h);if(!K){J({title:"No warnings",description:"There are no warnings to download.",variant:"destructive"});return}const ve=await O("warnings",JSON.stringify(K,null,2),{});ve&&typeof ve=="object"&&"blob"in ve&&ve.blob&&(yi(`${e}-warnings${lr}`,ve.blob),J({title:"Warnings downloaded",description:`Downloaded warnings document with ${h.length} warning(s).`}))}catch(K){console.error("Failed to generate warnings document:",K),J({title:"Download failed",description:K instanceof Error?K.message:"Failed to generate warnings document",variant:"destructive"})}finally{setTimeout(()=>M(!1),500)}}},[h,e,O,J]),$=y.useCallback(async()=>{const K=r==null?void 0:r.current;if(K!=null&&K.src){C(!0);try{await new Promise(de=>{let xe=null,Ue=!1;const rt=()=>{xe&&(clearTimeout(xe),xe=null),K.removeEventListener("load",j),K.removeEventListener("error",z)},Ge=()=>{Ue||(Ue=!0,rt(),de())},j=()=>Ge(),z=()=>Ge();K.addEventListener("load",j),K.addEventListener("error",z),xe=setTimeout(()=>{console.warn("Iframe reload timed out after 5 seconds"),Ge()},5e3);const Z=K.src,re=Z.includes("?")?"&":"?",te=Date.now();K.src=`${Z}${re}_reload=${te}`})}catch(ve){console.error("Iframe reload failed:",ve)}finally{C(!1)}}},[r]),W=y.useCallback(async()=>{R(!0);try{await Ty.delete(`/${kt}/cache`),window.dispatchEvent(new CustomEvent("cache:cleared")),J({title:"Cache Cleared",description:"All caches (document and component) have been successfully cleared.",variant:"default"})}catch(K){console.error("Failed to clear cache:",K),J({title:"Cache Clear Failed",description:"Failed to clear caches. Please try again.",variant:"destructive"})}finally{R(!1)}},[J]),le=y.useCallback(async()=>{if(!p){J({title:"No document available",description:"Please select a document to copy standard components",variant:"destructive"});return}A(!0);try{const K=await fetch(`/api/${kt}/standard-components`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonDefinition:p})});if(!K.ok){let xe=`Request failed with status ${K.status}`;try{const Ue=await K.json();Ue.message&&(xe=Ue.message)}catch{}J({title:"Failed to get standard components",description:xe,variant:"destructive"});return}const ve=await K.json(),de=JSON.stringify(ve.data,null,2);await navigator.clipboard.writeText(de),J({title:"Copied to clipboard",description:"Standard modules JSON has been copied"})}catch(K){console.error("Error copying standard components:",K),J({title:"Error",description:K instanceof Error?K.message:"Failed to copy standard components",variant:"destructive"})}finally{A(!1)}},[p,J]);return c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"bg-sidebar flex flex-row flex-nowrap items-center justify-between gap-x-2 px-3 py-1.5",children:[c.jsxs("div",{className:"flex items-center gap-2 min-w-0 flex-1",children:[c.jsx("p",{className:"text-foreground text-sm font-semibold tracking-tight truncate flex-1 min-w-0",children:e}),c.jsxs(Xe,{children:[c.jsx(Qe,{asChild:!0,children:c.jsx("button",{type:"button","aria-label":"Preview disclaimer",className:"cursor-help inline-flex items-center justify-center h-6 w-6 rounded hover:bg-muted/60 shrink-0",children:c.jsx(Xc,{className:"h-3.5 w-3.5 text-muted-foreground"})})}),c.jsx(et,{className:"max-w-sm",children:c.jsxs("p",{className:"text-sm",children:["Preview uses"," ",kt==="docx"?"docx-preview":"LibreOffice PDF conversion",". Download the ",lr," to verify fidelity."]})})]})]}),c.jsxs("div",{className:"flex flex-row items-center gap-x-1 shrink-0",children:[(!i||T)&&c.jsxs(Xe,{children:[c.jsx(Qe,{asChild:!0,children:c.jsxs(_e,{variant:"default",size:"sm",className:"gap-1.5 h-7 px-2.5",onClick:a,"aria-label":"Render preview",disabled:o||l||g===!1,children:[l?c.jsx(nn,{size:"sm"}):c.jsx(Xm,{className:"h-3.5 w-3.5"}),c.jsx("span",{className:"text-xs font-medium hidden sm:inline",children:"Run"})]})}),c.jsx(et,{children:c.jsx("p",{children:g===!1?"Open preview to run":l?"Rendering preview...":"Render preview"})})]}),kt==="docx"&&c.jsxs(Xe,{children:[c.jsx(Qe,{asChild:!0,children:c.jsxs("div",{className:"flex items-center gap-1.5 cursor-help ml-2 mr-1",children:[c.jsx(Ga,{className:"text-xs text-muted-foreground hidden sm:inline",children:"Auto"}),c.jsx(eo,{checked:i,onCheckedChange:s,disabled:T})]})}),c.jsx(et,{children:c.jsx("p",{children:T?"Auto-reload is not available for Office, Docs, and LibreOffice renderers":`${i?"Disable":"Enable"} automatic preview reload on content changes`})})]}),n&&i&&c.jsxs(Xe,{children:[c.jsx(Qe,{asChild:!0,children:c.jsx(_e,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:$,disabled:Y||o||l,children:Y?c.jsx(nn,{size:"sm"}):c.jsx(Qm,{className:"h-3.5 w-3.5"})})}),c.jsx(et,{children:c.jsx("p",{children:Y?"Reloading...":"Reload"})})]}),c.jsx("div",{className:"w-px h-4 bg-border/60 mx-1"}),c.jsxs(Xe,{children:[c.jsx(Qe,{asChild:!0,children:c.jsxs(_e,{variant:"outline",size:"sm",className:"gap-1.5 h-7 px-2.5",disabled:!t||E||o,onClick:ae,children:[E?c.jsx(nn,{size:"sm"}):c.jsx(eg,{className:"h-3.5 w-3.5"}),c.jsx("span",{className:"text-xs font-medium hidden sm:inline",children:"Download"})]})}),c.jsx(et,{children:c.jsxs("p",{children:["Download ",lr]})})]}),h&&h.length>0&&c.jsxs(Xe,{children:[c.jsx(Qe,{asChild:!0,children:c.jsx(_e,{variant:"outline",size:"icon",className:"h-7 w-7 bg-amber-50 dark:bg-amber-950 text-amber-600 dark:text-amber-400 border-amber-200 dark:border-amber-800 hover:bg-amber-100 dark:hover:bg-amber-900",disabled:N||o,onClick:I,children:N?c.jsx(nn,{size:"sm"}):c.jsx(Qc,{className:"h-3.5 w-3.5"})})}),c.jsx(et,{children:c.jsxs("p",{children:["Download warnings (",h.length,")"]})})]}),m&&w&&c.jsxs(Ka,{value:m,onValueChange:w,children:[c.jsxs(Xe,{children:[c.jsx(Qe,{asChild:!0,children:c.jsx(ss,{className:"w-[140px] h-7 text-xs hidden lg:flex",children:c.jsx(Ya,{placeholder:"Renderer"})})}),c.jsx(et,{children:c.jsx("p",{children:"Select the rendering library"})})]}),c.jsx(as,{className:"text-sidebar-foreground",children:hl.map(K=>c.jsxs(Ar,{value:K,children:[c.jsxs(Xe,{children:[c.jsx(Qe,{tabIndex:-1,children:Ds[K][0]}),c.jsx(et,{children:Ds[K][1]})]})," ",K]},K))})]}),c.jsx("div",{className:"w-px h-4 bg-border/60 mx-1"}),c.jsxs(to,{children:[c.jsxs(Xe,{children:[c.jsx(Qe,{asChild:!0,children:c.jsx(no,{asChild:!0,children:c.jsx(_e,{variant:"ghost",size:"icon",className:"h-7 w-7",children:c.jsx(tg,{className:"h-3.5 w-3.5"})})})}),c.jsx(et,{children:c.jsx("p",{children:"More actions"})})]}),c.jsxs(ls,{align:"end",className:"w-52",children:[f&&c.jsxs(qt,{onClick:f,children:[c.jsx(ng,{className:"h-4 w-4 mr-2"}),"View JSON Schemas"]}),d&&c.jsxs(qt,{onClick:d,children:[c.jsx(rg,{className:"h-4 w-4 mr-2"}),"Browse fonts"]}),u&&c.jsxs(qt,{onClick:u,children:[c.jsx(ig,{className:"h-4 w-4 mr-2"}),"View cache metrics"]}),c.jsxs(qt,{onClick:le,disabled:!p||P,children:[c.jsx(ed,{className:"h-4 w-4 mr-2"}),P?"Copying...":"Copy standard components"]}),c.jsx(Or,{}),c.jsxs(qt,{onClick:()=>L(!0),disabled:B,className:"text-destructive focus:text-destructive",children:[c.jsx(Va,{className:"h-4 w-4 mr-2"}),B?"Clearing...":"Clear all caches"]}),m&&w&&c.jsxs(c.Fragment,{children:[c.jsx(Or,{className:"lg:hidden"}),hl.map(K=>c.jsxs(qt,{className:"lg:hidden",onClick:()=>w(K),children:[c.jsx("span",{className:"mr-2",children:m===K?"●":"○"}),Ds[K][0]," ",K]},K))]})]})]}),_&&c.jsxs(Xe,{children:[c.jsx(Qe,{asChild:!0,children:c.jsx(_e,{variant:g?"default":"ghost",size:"icon",className:"h-7 w-7",onClick:_,children:g?c.jsx(td,{className:"h-3.5 w-3.5"}):c.jsx(sg,{className:"h-3.5 w-3.5"})})}),c.jsx(et,{children:c.jsxs("span",{className:"flex items-center gap-1.5",children:[g?"Hide":"Show"," Preview"," ",c.jsx(ya,{shortcut:"mod+shift+p"})]})})]}),S&&c.jsxs(Xe,{children:[c.jsx(Qe,{asChild:!0,children:c.jsx(_e,{variant:x?"default":"ghost",size:"icon",className:"h-7 w-7",onClick:S,children:c.jsx(nd,{className:"h-3.5 w-3.5"})})}),c.jsx(et,{children:c.jsxs("span",{className:"flex items-center gap-1.5",children:[x?"Close":"Open"," AI Chat"," ",c.jsx(ya,{shortcut:"mod+shift+j"})]})})]})]})]}),c.jsx(Oy,{open:oe,onClose:()=>v(!1),nonSafeFonts:ce,onChoose:ne}),c.jsx(Dt,{open:U,onOpenChange:L,children:c.jsxs(Et,{className:"max-w-sm",children:[c.jsxs(Gt,{children:[c.jsx(Kt,{children:"Clear all caches?"}),c.jsx(Cn,{children:"This will clear document and component caches. Next generation will be uncached."})]}),c.jsxs(Yn,{children:[c.jsx(_e,{variant:"outline",size:"sm",onClick:()=>L(!1),children:"Cancel"}),c.jsx(_e,{variant:"destructive",size:"sm",disabled:B,onClick:async()=>{await W(),L(!1)},children:B?c.jsx(nn,{size:"sm"}):"Clear"})]})]})})]})}const Ry=Ee.memo(Dy);function My(e,t,n){if(t.length===0)return n;const r=ml(e,t[0]);let i=r;for(let s=0;s<t.length-1;s++){const a=t[s],o=t[s+1],l=i[a],u=ml(l,o);i[a]=u,i=u}return i[t[t.length-1]]=n,r}function ml(e,t){return typeof t=="number"?Array.isArray(e)?[...e]:[]:e&&typeof e=="object"&&!Array.isArray(e)?{...e}:{}}const $y={safe:[],google:[]};function Fy(e,t){var f;const n=`gf-${e.replace(/\s+/g,"-")}`,r=document.getElementById(n),i=new Set(t&&t.length>0?t:[400,700]),s=new Set(((f=r==null?void 0:r.dataset.weights)==null?void 0:f.split(",").map(Number).filter(d=>!Number.isNaN(d)))??[]),a=new Set([...s,...i]);if(r&&a.size===s.size)return;const o=[...a].sort((d,p)=>d-p).join(";"),l=`https://fonts.googleapis.com/css2?family=${encodeURIComponent(e)}:wght@${o}&display=swap`,u=r??document.createElement("link");r||(u.id=n,u.rel="stylesheet",document.head.appendChild(u)),u.href=l,u.dataset.weights=[...a].sort((d,p)=>d-p).join(",")}function Ly(){const e=Ae(i=>i.activeTab),t=Ae(i=>i.documents),n=Ae(i=>i.documentTypes),r=Ae(i=>i.saveDocument);return y.useCallback(i=>{if(!e)return{ok:!1,error:"No active file"};if(n[e]!=="application/json+theme")return{ok:!1,error:"Fonts are registered on themes, not documents. Open a .theme.json file and try again."};const s=t.find(l=>l.name===e);if(!s)return{ok:!1,error:"Active theme not found"};let a;try{a=JSON.parse(s.text)}catch(l){return{ok:!1,error:`Active theme is not valid JSON: ${l.message}`}}const o=i(a);return r(e,JSON.stringify(o,null,2)),{ok:!0,name:e}},[e,t,n,r])}function Zy(){const e=Ae(r=>r.activeTab),t=Ae(r=>r.documents),n=Ae(r=>r.saveDocument);return y.useCallback((r,i)=>{if(!e)return{ok:!1,error:"No active file"};const s=t.find(l=>l.name===e);if(!s)return{ok:!1,error:"Active document not found"};let a;try{a=JSON.parse(s.text)}catch(l){return{ok:!1,error:`Active document is not valid JSON: ${l.message}`}}const o=My(a,r,i);return n(e,JSON.stringify(o,null,2)),{ok:!0,name:e}},[e,t,n])}function By(e,t,n){(!e.fonts||typeof e.fonts!="object")&&(e.fonts={});const r=e.fonts[t];r&&typeof r=="object"?e.fonts[t]={...r,family:n}:e.fonts[t]=n}function gl(e){return e.map((t,n)=>typeof t=="number"?`[${t}]`:n===0?t:`.${t}`).join("")}const Vy=({open:e,onOpenChange:t})=>{const n=pi(A=>A.open),r=pi(A=>A.contextual),i=pi(A=>A.close),s=e??n,a=r,o=y.useCallback(A=>{t&&t(A),A||i()},[t,i]),[l,u]=y.useState($y),[f,d]=y.useState(!1),[p,h]=y.useState(""),[m,w]=y.useState("safe"),[S,x]=y.useState(null),[_,g]=y.useState(null),{toast:T}=Wi(),E=Ly(),k=Zy(),N=Ae(A=>A.activeTab),M=Ae(A=>A.documentTypes),Y=N&&M[N]==="application/json+theme",C=!!a||Y;y.useEffect(()=>{s&&(l.safe.length>0||l.google.length>0||(d(!0),fetch("/api/fonts/catalog").then(A=>A.json()).then(A=>u(A)).catch(A=>{T({variant:"destructive",title:"Font catalog unavailable",description:A.message})}).finally(()=>d(!1))))},[s,l,T]),y.useEffect(()=>{if(!(m!=="google"||l.google.length===0))for(const A of l.google)Fy(A.family,A.weights)},[m,l]);const B=y.useMemo(()=>l.safe.filter(A=>A.toLowerCase().includes(p.toLowerCase())),[l.safe,p]),R=y.useMemo(()=>l.google.filter(A=>A.family.toLowerCase().includes(p.toLowerCase())),[l.google,p]),U=y.useCallback(async A=>{try{await navigator.clipboard.writeText(A),g(A),setTimeout(()=>g(null),1500)}catch{T({variant:"destructive",title:"Copy failed",description:"Your browser blocked clipboard write."})}},[T]),L=y.useCallback(async(A,J,O)=>{x(A);try{const q=E(b=>(By(b,O,A),b));if(!q.ok){T({variant:"destructive",title:"Could not insert font",description:q.error});return}T({title:"Font inserted",description:`${A} set as ${O} font in "${q.name}".`})}finally{x(null)}},[E,T]),P=y.useCallback(async A=>{if(a){x(A);try{const J=k(a.jsonPath,A);if(!J.ok){T({variant:"destructive",title:"Could not insert font",description:J.error});return}T({title:"Font inserted",description:`${A} set at ${gl(a.jsonPath)}.`}),o(!1)}finally{x(null)}}},[a,k,T,o]);return c.jsx(Dt,{open:s,onOpenChange:o,children:c.jsxs(Et,{className:"max-w-4xl max-h-[90vh] overflow-hidden flex flex-col",children:[c.jsx(Gt,{children:c.jsx(Kt,{children:a?`Font for ${gl(a.jsonPath)}`:"Fonts"})}),!a&&!Y&&c.jsx(Ii,{children:c.jsxs(zi,{children:["Fonts are registered on themes. Open a ",c.jsx("code",{children:".theme.json"})," ","file to apply a font — the buttons below are disabled until you do."]})}),c.jsxs(Jd,{value:m,onValueChange:A=>w(A),className:"flex-1 overflow-hidden flex flex-col",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsxs(ro,{children:[c.jsxs(Dr,{value:"safe",children:["Safe",c.jsx(kn,{variant:"secondary",className:"ml-1 text-xs px-1 py-0",children:l.safe.length})]}),c.jsxs(Dr,{value:"google",children:["Google",c.jsx(kn,{variant:"secondary",className:"ml-1 text-xs px-1 py-0",children:l.google.length})]})]}),c.jsx(is,{type:"search",placeholder:"Search fonts...",value:p,onChange:A=>h(A.target.value),className:"ml-auto max-w-xs"})]}),c.jsxs("div",{className:"flex-1 overflow-auto mt-4 pr-2",children:[c.jsx(Rr,{value:"safe",className:"m-0",children:f&&B.length===0?c.jsxs("div",{className:"flex items-center justify-center py-12 text-muted-foreground",children:[c.jsx(aa,{className:"animate-spin mr-2"})," Loading catalog..."]}):c.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-3",children:B.map(A=>c.jsx(xl,{family:A,meta:c.jsx("span",{className:"text-xs",children:"Installed with Office"}),previewStyle:{fontFamily:`"${A}", sans-serif`},onCopy:()=>U(A),copied:_===A,contextual:!!a,onUseThis:()=>P(A),onInsertHeading:()=>L(A,"safe","heading"),onInsertBody:()=>L(A,"safe","body"),applying:S===A,disabled:!C},A))})}),c.jsx(Rr,{value:"google",className:"m-0",children:f&&R.length===0?c.jsxs("div",{className:"flex items-center justify-center py-12 text-muted-foreground",children:[c.jsx(aa,{className:"animate-spin mr-2"})," Loading catalog..."]}):c.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-3",children:R.map(A=>c.jsx(xl,{family:A.family,meta:c.jsxs("span",{className:"text-xs",children:[A.category," · ",A.weights.length," weights"]}),previewStyle:{fontFamily:`"${A.family}", sans-serif`},onCopy:()=>U(A.family),copied:_===A.family,contextual:!!a,onUseThis:()=>P(A.family),onInsertHeading:()=>L(A.family,"google","heading"),onInsertBody:()=>L(A.family,"google","body"),applying:S===A.family,disabled:!C,extraAction:c.jsx(Jy,{family:A.family,weights:A.weights,hasItalic:A.hasItalic})},A.family))})})]})]})]})})},Uy="The quick brown fox jumps over the lazy dog",Jy=({family:e,weights:t,hasItalic:n})=>{const r=y.useMemo(()=>[...t].sort((i,s)=>i-s),[t]);return c.jsxs(to,{children:[c.jsx(no,{asChild:!0,children:c.jsx(_e,{size:"sm",variant:"ghost","aria-label":"Show variants",children:"Variants"})}),c.jsxs(ls,{align:"end",className:"min-w-[260px]",children:[c.jsxs(Ud,{className:"text-xs text-muted-foreground",children:[r.length," weight",r.length===1?"":"s",n?" · italic available":""]}),c.jsx(Or,{}),r.map(i=>{const s=gm[i]??String(i);return c.jsxs("div",{className:"flex flex-col gap-0.5 px-2 py-1.5",children:[c.jsx("span",{className:"truncate",style:{fontFamily:`"${e}", sans-serif`,fontWeight:i},children:s}),c.jsxs("span",{className:"text-xs text-muted-foreground font-mono",children:["fontWeight: ",i]})]},i)})]})]})},xl=({family:e,meta:t,previewStyle:n,onCopy:r,copied:i,contextual:s,onUseThis:a,onInsertHeading:o,onInsertBody:l,applying:u,disabled:f,extraAction:d})=>c.jsxs("div",{className:"border rounded-md p-3 flex flex-col gap-2 bg-card",children:[c.jsxs("div",{className:"flex items-baseline justify-between gap-2",children:[c.jsx("div",{className:"font-medium truncate",children:e}),c.jsx("div",{className:"text-muted-foreground",children:t})]}),c.jsx("div",{className:"text-lg truncate",style:n,"aria-hidden":!0,children:Uy}),c.jsxs("div",{className:"flex items-center gap-2 mt-1",children:[s?c.jsx(_e,{size:"sm",onClick:a,disabled:u||f,"aria-label":`Use ${e} at the target path`,children:"Use this font"}):c.jsxs(c.Fragment,{children:[c.jsx(_e,{size:"sm",variant:"secondary",onClick:o,disabled:u||f,"aria-label":`Set ${e} as heading font`,children:"Set heading"}),c.jsx(_e,{size:"sm",variant:"secondary",onClick:l,disabled:u||f,"aria-label":`Set ${e} as body font`,children:"Set body"})]}),d,c.jsx(_e,{size:"sm",variant:"ghost",className:"ml-auto",onClick:r,"aria-label":`Copy ${e}`,children:i?c.jsx(ln,{className:"h-4 w-4"}):c.jsx(es,{className:"h-4 w-4"})})]})]});function yl({previewOpen:e,onTogglePreview:t}){const n=yn(M=>M.name||""),r=yn(M=>M.blob),i=yn(M=>M.isGenerating),s=yn(M=>M.text),a=yn(M=>M.warnings),o=yn(M=>M.isRendering),l=ni(M=>M.autoReload),u=ni(M=>M.renderingLibrary),f=ni(M=>M.setSettings),d=ni(M=>M.useGlobalPreviewHeader??!0),p=Ae(M=>M.activeTab),h=Ae(M=>M.documentTypes),m=p&&h[p]==="application/json+theme"?"theme":"document",w=Te(M=>M.chatOpen),S=Te(M=>M.toggleChat),[x,_]=Ee.useState(!1),g=pi(M=>M.openFor);if(!d)return null;const T=y.useCallback(()=>f({saveDocumentDebounceWait:2e3,autoReload:!l}),[l,f]),E=y.useCallback(()=>{window.dispatchEvent(new CustomEvent("preview:manualRender"))},[]),k=y.useCallback(()=>{window.dispatchEvent(new CustomEvent("preview:showCacheMetrics"))},[]),N=(n==null?void 0:n.trim())||"Preview";return c.jsxs("div",{className:"sticky top-0 z-20",children:[c.jsx(Ry,{name:N,blob:r,displayReloadButton:!1,autoReload:l,onToggleAutoReload:T,onManualRender:E,isGenerating:i,isRendering:!!o,onShowCacheMetrics:k,onShowSchemas:()=>_(!0),onShowFonts:()=>g(),documentText:s,warnings:a,renderingLibrary:u,setRenderingLibrary:M=>f({renderingLibrary:M}),onToggleChat:S,chatOpen:w,onTogglePreview:t,previewOpen:e}),c.jsx(Hd,{open:x,onOpenChange:_,defaultTab:m==="theme"?"theme":"document"}),c.jsx(Vy,{})]})}function Hy(e,t){const n={};return(e[e.length-1]===""?[...e,""]:e).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}const qy=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,Wy=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,Gy={};function bl(e,t){return(Gy.jsx?Wy:qy).test(e)}const Ky=/[ \t\n\f\r]/g;function Yy(e){return typeof e=="object"?e.type==="text"?vl(e.value):!1:vl(e)}function vl(e){return e.replace(Ky,"")===""}class Gr{constructor(t,n,r){this.normal=n,this.property=t,r&&(this.space=r)}}Gr.prototype.normal={};Gr.prototype.property={};Gr.prototype.space=void 0;function xf(e,t){const n={},r={};for(const i of e)Object.assign(n,i.property),Object.assign(r,i.normal);return new Gr(n,r,t)}function ba(e){return e.toLowerCase()}class yt{constructor(t,n){this.attribute=n,this.property=t}}yt.prototype.attribute="";yt.prototype.booleanish=!1;yt.prototype.boolean=!1;yt.prototype.commaOrSpaceSeparated=!1;yt.prototype.commaSeparated=!1;yt.prototype.defined=!1;yt.prototype.mustUseProperty=!1;yt.prototype.number=!1;yt.prototype.overloadedBoolean=!1;yt.prototype.property="";yt.prototype.spaceSeparated=!1;yt.prototype.space=void 0;let Xy=0;const we=zn(),Ye=zn(),va=zn(),Q=zn(),$e=zn(),Gn=zn(),vt=zn();function zn(){return 2**++Xy}const wa=Object.freeze(Object.defineProperty({__proto__:null,boolean:we,booleanish:Ye,commaOrSpaceSeparated:vt,commaSeparated:Gn,number:Q,overloadedBoolean:va,spaceSeparated:$e},Symbol.toStringTag,{value:"Module"})),Rs=Object.keys(wa);class lo extends yt{constructor(t,n,r,i){let s=-1;if(super(t,n),wl(this,"space",i),typeof r=="number")for(;++s<Rs.length;){const a=Rs[s];wl(this,Rs[s],(r&wa[a])===wa[a])}}}lo.prototype.defined=!0;function wl(e,t,n){n&&(e[t]=n)}function ir(e){const t={},n={};for(const[r,i]of Object.entries(e.properties)){const s=new lo(r,e.transform(e.attributes||{},r),i,e.space);e.mustUseProperty&&e.mustUseProperty.includes(r)&&(s.mustUseProperty=!0),t[r]=s,n[ba(r)]=r,n[ba(s.attribute)]=r}return new Gr(t,n,e.space)}const yf=ir({properties:{ariaActiveDescendant:null,ariaAtomic:Ye,ariaAutoComplete:null,ariaBusy:Ye,ariaChecked:Ye,ariaColCount:Q,ariaColIndex:Q,ariaColSpan:Q,ariaControls:$e,ariaCurrent:null,ariaDescribedBy:$e,ariaDetails:null,ariaDisabled:Ye,ariaDropEffect:$e,ariaErrorMessage:null,ariaExpanded:Ye,ariaFlowTo:$e,ariaGrabbed:Ye,ariaHasPopup:null,ariaHidden:Ye,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:$e,ariaLevel:Q,ariaLive:null,ariaModal:Ye,ariaMultiLine:Ye,ariaMultiSelectable:Ye,ariaOrientation:null,ariaOwns:$e,ariaPlaceholder:null,ariaPosInSet:Q,ariaPressed:Ye,ariaReadOnly:Ye,ariaRelevant:null,ariaRequired:Ye,ariaRoleDescription:$e,ariaRowCount:Q,ariaRowIndex:Q,ariaRowSpan:Q,ariaSelected:Ye,ariaSetSize:Q,ariaSort:null,ariaValueMax:Q,ariaValueMin:Q,ariaValueNow:Q,ariaValueText:null,role:null},transform(e,t){return t==="role"?t:"aria-"+t.slice(4).toLowerCase()}});function bf(e,t){return t in e?e[t]:t}function vf(e,t){return bf(e,t.toLowerCase())}const Qy=ir({attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:Gn,acceptCharset:$e,accessKey:$e,action:null,allow:null,allowFullScreen:we,allowPaymentRequest:we,allowUserMedia:we,alt:null,as:null,async:we,autoCapitalize:null,autoComplete:$e,autoFocus:we,autoPlay:we,blocking:$e,capture:null,charSet:null,checked:we,cite:null,className:$e,cols:Q,colSpan:null,content:null,contentEditable:Ye,controls:we,controlsList:$e,coords:Q|Gn,crossOrigin:null,data:null,dateTime:null,decoding:null,default:we,defer:we,dir:null,dirName:null,disabled:we,download:va,draggable:Ye,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:we,formTarget:null,headers:$e,height:Q,hidden:va,high:Q,href:null,hrefLang:null,htmlFor:$e,httpEquiv:$e,id:null,imageSizes:null,imageSrcSet:null,inert:we,inputMode:null,integrity:null,is:null,isMap:we,itemId:null,itemProp:$e,itemRef:$e,itemScope:we,itemType:$e,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:we,low:Q,manifest:null,max:null,maxLength:Q,media:null,method:null,min:null,minLength:Q,multiple:we,muted:we,name:null,nonce:null,noModule:we,noValidate:we,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:we,optimum:Q,pattern:null,ping:$e,placeholder:null,playsInline:we,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:we,referrerPolicy:null,rel:$e,required:we,reversed:we,rows:Q,rowSpan:Q,sandbox:$e,scope:null,scoped:we,seamless:we,selected:we,shadowRootClonable:we,shadowRootDelegatesFocus:we,shadowRootMode:null,shape:null,size:Q,sizes:null,slot:null,span:Q,spellCheck:Ye,src:null,srcDoc:null,srcLang:null,srcSet:null,start:Q,step:null,style:null,tabIndex:Q,target:null,title:null,translate:null,type:null,typeMustMatch:we,useMap:null,value:Ye,width:Q,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:$e,axis:null,background:null,bgColor:null,border:Q,borderColor:null,bottomMargin:Q,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:we,declare:we,event:null,face:null,frame:null,frameBorder:null,hSpace:Q,leftMargin:Q,link:null,longDesc:null,lowSrc:null,marginHeight:Q,marginWidth:Q,noResize:we,noHref:we,noShade:we,noWrap:we,object:null,profile:null,prompt:null,rev:null,rightMargin:Q,rules:null,scheme:null,scrolling:Ye,standby:null,summary:null,text:null,topMargin:Q,valueType:null,version:null,vAlign:null,vLink:null,vSpace:Q,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:we,disableRemotePlayback:we,prefix:null,property:null,results:Q,security:null,unselectable:null},space:"html",transform:vf}),eb=ir({attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},properties:{about:vt,accentHeight:Q,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:Q,amplitude:Q,arabicForm:null,ascent:Q,attributeName:null,attributeType:null,azimuth:Q,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:Q,by:null,calcMode:null,capHeight:Q,className:$e,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:Q,diffuseConstant:Q,direction:null,display:null,dur:null,divisor:Q,dominantBaseline:null,download:we,dx:null,dy:null,edgeMode:null,editable:null,elevation:Q,enableBackground:null,end:null,event:null,exponent:Q,externalResourcesRequired:null,fill:null,fillOpacity:Q,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:Gn,g2:Gn,glyphName:Gn,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:Q,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:Q,horizOriginX:Q,horizOriginY:Q,id:null,ideographic:Q,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:Q,k:Q,k1:Q,k2:Q,k3:Q,k4:Q,kernelMatrix:vt,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:Q,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:Q,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:Q,overlineThickness:Q,paintOrder:null,panose1:null,path:null,pathLength:Q,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:$e,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:Q,pointsAtY:Q,pointsAtZ:Q,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:vt,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:vt,rev:vt,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:vt,requiredFeatures:vt,requiredFonts:vt,requiredFormats:vt,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:Q,specularExponent:Q,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:Q,strikethroughThickness:Q,string:null,stroke:null,strokeDashArray:vt,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:Q,strokeOpacity:Q,strokeWidth:null,style:null,surfaceScale:Q,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:vt,tabIndex:Q,tableValues:null,target:null,targetX:Q,targetY:Q,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:vt,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:Q,underlineThickness:Q,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:Q,values:null,vAlphabetic:Q,vMathematical:Q,vectorEffect:null,vHanging:Q,vIdeographic:Q,version:null,vertAdvY:Q,vertOriginX:Q,vertOriginY:Q,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:Q,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:"svg",transform:bf}),wf=ir({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:"xlink",transform(e,t){return"xlink:"+t.slice(5).toLowerCase()}}),kf=ir({attributes:{xmlnsxlink:"xmlns:xlink"},properties:{xmlnsXLink:null,xmlns:null},space:"xmlns",transform:vf}),Sf=ir({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:"xml",transform(e,t){return"xml:"+t.slice(3).toLowerCase()}}),tb={classId:"classID",dataType:"datatype",itemId:"itemID",strokeDashArray:"strokeDasharray",strokeDashOffset:"strokeDashoffset",strokeLineCap:"strokeLinecap",strokeLineJoin:"strokeLinejoin",strokeMiterLimit:"strokeMiterlimit",typeOf:"typeof",xLinkActuate:"xlinkActuate",xLinkArcRole:"xlinkArcrole",xLinkHref:"xlinkHref",xLinkRole:"xlinkRole",xLinkShow:"xlinkShow",xLinkTitle:"xlinkTitle",xLinkType:"xlinkType",xmlnsXLink:"xmlnsXlink"},nb=/[A-Z]/g,kl=/-[a-z]/g,rb=/^data[-\w.:]+$/i;function ib(e,t){const n=ba(t);let r=t,i=yt;if(n in e.normal)return e.property[e.normal[n]];if(n.length>4&&n.slice(0,4)==="data"&&rb.test(t)){if(t.charAt(4)==="-"){const s=t.slice(5).replace(kl,ab);r="data"+s.charAt(0).toUpperCase()+s.slice(1)}else{const s=t.slice(4);if(!kl.test(s)){let a=s.replace(nb,sb);a.charAt(0)!=="-"&&(a="-"+a),t="data"+a}}i=lo}return new i(r,t)}function sb(e){return"-"+e.toLowerCase()}function ab(e){return e.charAt(1).toUpperCase()}const ob=xf([yf,Qy,wf,kf,Sf],"html"),uo=xf([yf,eb,wf,kf,Sf],"svg");function lb(e){return e.join(" ").trim()}var Dn={},Ms,Sl;function ub(){if(Sl)return Ms;Sl=1;var e=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,t=/\n/g,n=/^\s*/,r=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,i=/^:\s*/,s=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,a=/^[;\s]*/,o=/^\s+|\s+$/g,l=`
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/editor-D6UInUeu.js","assets/react-vendor-CTFDOf2G.js","assets/editor-monaco-json-CcAwj92j.js","assets/index-XIrEiCYN.js","assets/query-vendor-Df8-oete.js","assets/radix-ui-BiXCNJNt.js","assets/ui-vendor-D3QbouTA.js","assets/monaco-editor-BcgxPCqT.js","assets/state-vendor-DTum9m7F.js","assets/index-DMEmT8G4.css","assets/MonacoPluginProvider-Ybzv4N6a.js","assets/button-COJ07qZY.js","assets/preview-LDgzgj69.js"])))=>i.map(i=>d[i]);
2
+ var om=Object.defineProperty;var lm=(e,t,n)=>t in e?om(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Mo=(e,t,n)=>lm(e,typeof t!="symbol"?t+"":t,n);import{c as Ee,r as y,j as c,R as cc,g as Za}from"./react-vendor-CTFDOf2G.js";import{B as _e}from"./button-COJ07qZY.js";import{c as H,T as ei,C as um,E as cm,F as kt,S as nn,a as dm,b as Xe,d as Qe,e as et,u as dc,f as Wi,s as Ss,_ as fc,g as ti,A as fm,h as pm,i as hm,j as mm,k as lr,l as pi,W as gm}from"./index-XIrEiCYN.js";import{b as pc,c as Ba,d as hc,e as mc,f as Gi,g as Ki,D as Yi,O as Xi,h as gc,S as rr,i as xm,V as ym,j as xc,I as bm,k as vm,l as yc,m as wm,n as bc,o as km,p as Sm,G as _m,q as vc,r as wc,L as kc,s as Sc,t as jm,u as Cm,v as Nm,w as _c,x as jc,y as Cc,z as Nc,A as Ec,B as Ic,E as zc,F as Tc,H as Ac,J as Pc,K as Oc,M as Em,N as Im,Q as Dc,U as zm,W as Tm,X as Am,Y as Pm,Z as Om,_ as Dm,$ as Rm,a0 as Mm,a1 as $m,a2 as Rc,a3 as Mc,a4 as $c,a5 as Fc,a6 as Lc,a7 as Zc,a8 as Bc,a9 as Vc,aa as Uc,ab as Fm,ac as Jc,ad as Hc,ae as qc}from"./radix-ui-BiXCNJNt.js";import{X as jn,a as qr,C as an,b as ln,d as Lm,e as Qi,f as Wc,P as Zm,g as $o,h as sa,F as Gc,S as Kc,B as Fo,i as Bm,j as Vm,k as Um,l as es,m as Jm,M as Hm,n as qm,o as Wm,p as Yc,q as Gm,r as Lo,s as Si,t as Km,I as Xc,G as Ym,u as Xm,R as Qm,v as eg,T as Qc,E as tg,w as ng,x as rg,y as ig,z as ed,A as Va,D as td,H as sg,J as nd,L as aa,K as ag,N as og,O as Zo,Q as oa,U as lg}from"./ui-vendor-D3QbouTA.js";import{i as ug,u as Ae,a as la,b as yn,g as ua,c as Ot,T as rd,d as ni,S as cg,O as dg,e as fg,M as pg,D as hg}from"./MonacoPluginProvider-Ybzv4N6a.js";import{a as mg,d as gg,p as xg,b as yg,u as bg,e as vg}from"./state-vendor-DTum9m7F.js";import{b as wg}from"./query-vendor-Df8-oete.js";var Wr=e=>e.type==="checkbox",vn=e=>e instanceof Date,ct=e=>e==null;const id=e=>typeof e=="object";var We=e=>!ct(e)&&!Array.isArray(e)&&id(e)&&!vn(e),sd=e=>We(e)&&e.target?Wr(e.target)?e.target.checked:e.target.value:e,kg=e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,ad=(e,t)=>e.has(kg(t)),Sg=e=>{const t=e.constructor&&e.constructor.prototype;return We(t)&&t.hasOwnProperty("isPrototypeOf")},Ua=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function mt(e){let t;const n=Array.isArray(e),r=typeof FileList<"u"?e instanceof FileList:!1;if(e instanceof Date)t=new Date(e);else if(e instanceof Set)t=new Set(e);else if(!(Ua&&(e instanceof Blob||r))&&(n||We(e)))if(t=n?[]:{},!n&&!Sg(e))t=e;else for(const i in e)e.hasOwnProperty(i)&&(t[i]=mt(e[i]));else return e;return t}var ts=e=>Array.isArray(e)?e.filter(Boolean):[],qe=e=>e===void 0,se=(e,t,n)=>{if(!t||!We(e))return n;const r=ts(t.split(/[,[\].]+?/)).reduce((i,s)=>ct(i)?i:i[s],e);return qe(r)||r===e?qe(e[t])?n:e[t]:r},Ct=e=>typeof e=="boolean",Ja=e=>/^\w*$/.test(e),od=e=>ts(e.replace(/["|']|\]/g,"").split(/\.|\[/)),Oe=(e,t,n)=>{let r=-1;const i=Ja(t)?[t]:od(t),s=i.length,a=s-1;for(;++r<s;){const o=i[r];let l=n;if(r!==a){const u=e[o];l=We(u)||Array.isArray(u)?u:isNaN(+i[r+1])?{}:[]}if(o==="__proto__"||o==="constructor"||o==="prototype")return;e[o]=l,e=e[o]}return e};const _i={BLUR:"blur",FOCUS_OUT:"focusout",CHANGE:"change"},Pt={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},Ht={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},ld=Ee.createContext(null),ns=()=>Ee.useContext(ld),_g=e=>{const{children:t,...n}=e;return Ee.createElement(ld.Provider,{value:n},t)};var ud=(e,t,n,r=!0)=>{const i={defaultValues:t._defaultValues};for(const s in e)Object.defineProperty(i,s,{get:()=>{const a=s;return t._proxyFormState[a]!==Pt.all&&(t._proxyFormState[a]=!r||Pt.all),n&&(n[a]=!0),e[a]}});return i},gt=e=>We(e)&&!Object.keys(e).length,cd=(e,t,n,r)=>{n(e);const{name:i,...s}=e;return gt(s)||Object.keys(s).length>=Object.keys(t).length||Object.keys(s).find(a=>t[a]===(!r||Pt.all))},Cr=e=>Array.isArray(e)?e:[e],dd=(e,t,n)=>!e||!t||e===t||Cr(e).some(r=>r&&(n?r===t:r.startsWith(t)||t.startsWith(r)));function Ha(e){const t=Ee.useRef(e);t.current=e,Ee.useEffect(()=>{const n=!e.disabled&&t.current.subject&&t.current.subject.subscribe({next:t.current.next});return()=>{n&&n.unsubscribe()}},[e.disabled])}function jg(e){const t=ns(),{control:n=t.control,disabled:r,name:i,exact:s}=e||{},[a,o]=Ee.useState(n._formState),l=Ee.useRef(!0),u=Ee.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1}),f=Ee.useRef(i);return f.current=i,Ha({disabled:r,next:d=>l.current&&dd(f.current,d.name,s)&&cd(d,u.current,n._updateFormState)&&o({...n._formState,...d}),subject:n._subjects.state}),Ee.useEffect(()=>(l.current=!0,u.current.isValid&&n._updateValid(!0),()=>{l.current=!1}),[n]),Ee.useMemo(()=>ud(a,n,u.current,!1),[a,n])}var Bt=e=>typeof e=="string",fd=(e,t,n,r,i)=>Bt(e)?(r&&t.watch.add(e),se(n,e,i)):Array.isArray(e)?e.map(s=>(r&&t.watch.add(s),se(n,s))):(r&&(t.watchAll=!0),n);function Cg(e){const t=ns(),{control:n=t.control,name:r,defaultValue:i,disabled:s,exact:a}=e||{},o=Ee.useRef(r);o.current=r,Ha({disabled:s,subject:n._subjects.values,next:f=>{dd(o.current,f.name,a)&&u(mt(fd(o.current,n._names,f.values||n._formValues,!1,i)))}});const[l,u]=Ee.useState(n._getWatch(r,i));return Ee.useEffect(()=>n._removeUnmounted()),l}function Ng(e){const t=ns(),{name:n,disabled:r,control:i=t.control,shouldUnregister:s}=e,a=ad(i._names.array,n),o=Cg({control:i,name:n,defaultValue:se(i._formValues,n,se(i._defaultValues,n,e.defaultValue)),exact:!0}),l=jg({control:i,name:n,exact:!0}),u=Ee.useRef(i.register(n,{...e.rules,value:o,...Ct(e.disabled)?{disabled:e.disabled}:{}})),f=Ee.useMemo(()=>Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!se(l.errors,n)},isDirty:{enumerable:!0,get:()=>!!se(l.dirtyFields,n)},isTouched:{enumerable:!0,get:()=>!!se(l.touchedFields,n)},isValidating:{enumerable:!0,get:()=>!!se(l.validatingFields,n)},error:{enumerable:!0,get:()=>se(l.errors,n)}}),[l,n]),d=Ee.useMemo(()=>({name:n,value:o,...Ct(r)||l.disabled?{disabled:l.disabled||r}:{},onChange:p=>u.current.onChange({target:{value:sd(p),name:n},type:_i.CHANGE}),onBlur:()=>u.current.onBlur({target:{value:se(i._formValues,n),name:n},type:_i.BLUR}),ref:p=>{const h=se(i._fields,n);h&&p&&(h._f.ref={focus:()=>p.focus(),select:()=>p.select(),setCustomValidity:m=>p.setCustomValidity(m),reportValidity:()=>p.reportValidity()})}}),[n,i._formValues,r,l.disabled,o,i._fields]);return Ee.useEffect(()=>{const p=i._options.shouldUnregister||s,h=(m,w)=>{const S=se(i._fields,m);S&&S._f&&(S._f.mount=w)};if(h(n,!0),p){const m=mt(se(i._options.defaultValues,n));Oe(i._defaultValues,n,m),qe(se(i._formValues,n))&&Oe(i._formValues,n,m)}return!a&&i.register(n),()=>{(a?p&&!i._state.action:p)?i.unregister(n):h(n,!1)}},[n,i,a,s]),Ee.useEffect(()=>{i._updateDisabledField({disabled:r,fields:i._fields,name:n})},[r,n,i]),Ee.useMemo(()=>({field:d,formState:l,fieldState:f}),[d,l,f])}const Eg=e=>e.render(Ng(e));var Ig=(e,t,n,r,i)=>t?{...n[e],types:{...n[e]&&n[e].types?n[e].types:{},[r]:i||!0}}:{},Bo=e=>({isOnSubmit:!e||e===Pt.onSubmit,isOnBlur:e===Pt.onBlur,isOnChange:e===Pt.onChange,isOnAll:e===Pt.all,isOnTouch:e===Pt.onTouched}),Vo=(e,t,n)=>!n&&(t.watchAll||t.watch.has(e)||[...t.watch].some(r=>e.startsWith(r)&&/^\.\w+/.test(e.slice(r.length))));const Nr=(e,t,n,r)=>{for(const i of n||Object.keys(e)){const s=se(e,i);if(s){const{_f:a,...o}=s;if(a){if(a.refs&&a.refs[0]&&t(a.refs[0],i)&&!r)return!0;if(a.ref&&t(a.ref,a.name)&&!r)return!0;if(Nr(o,t))break}else if(We(o)&&Nr(o,t))break}}};var zg=(e,t,n)=>{const r=Cr(se(e,n));return Oe(r,"root",t[n]),Oe(e,n,r),e},qa=e=>e.type==="file",Zt=e=>typeof e=="function",ji=e=>{if(!Ua)return!1;const t=e?e.ownerDocument:0;return e instanceof(t&&t.defaultView?t.defaultView.HTMLElement:HTMLElement)},hi=e=>Bt(e),Wa=e=>e.type==="radio",Ci=e=>e instanceof RegExp;const Uo={value:!1,isValid:!1},Jo={value:!0,isValid:!0};var pd=e=>{if(Array.isArray(e)){if(e.length>1){const t=e.filter(n=>n&&n.checked&&!n.disabled).map(n=>n.value);return{value:t,isValid:!!t.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!qe(e[0].attributes.value)?qe(e[0].value)||e[0].value===""?Jo:{value:e[0].value,isValid:!0}:Jo:Uo}return Uo};const Ho={isValid:!1,value:null};var hd=e=>Array.isArray(e)?e.reduce((t,n)=>n&&n.checked&&!n.disabled?{isValid:!0,value:n.value}:t,Ho):Ho;function qo(e,t,n="validate"){if(hi(e)||Array.isArray(e)&&e.every(hi)||Ct(e)&&!e)return{type:n,message:hi(e)?e:"",ref:t}}var An=e=>We(e)&&!Ci(e)?e:{value:e,message:""},Wo=async(e,t,n,r,i,s)=>{const{ref:a,refs:o,required:l,maxLength:u,minLength:f,min:d,max:p,pattern:h,validate:m,name:w,valueAsNumber:S,mount:x}=e._f,_=se(n,w);if(!x||t.has(w))return{};const g=o?o[0]:a,T=R=>{i&&g.reportValidity&&(g.setCustomValidity(Ct(R)?"":R||""),g.reportValidity())},E={},k=Wa(a),N=Wr(a),M=k||N,Y=(S||qa(a))&&qe(a.value)&&qe(_)||ji(a)&&a.value===""||_===""||Array.isArray(_)&&!_.length,C=Ig.bind(null,w,r,E),B=(R,U,L,P=Ht.maxLength,A=Ht.minLength)=>{const J=R?U:L;E[w]={type:R?P:A,message:J,ref:a,...C(R?P:A,J)}};if(s?!Array.isArray(_)||!_.length:l&&(!M&&(Y||ct(_))||Ct(_)&&!_||N&&!pd(o).isValid||k&&!hd(o).isValid)){const{value:R,message:U}=hi(l)?{value:!!l,message:l}:An(l);if(R&&(E[w]={type:Ht.required,message:U,ref:g,...C(Ht.required,U)},!r))return T(U),E}if(!Y&&(!ct(d)||!ct(p))){let R,U;const L=An(p),P=An(d);if(!ct(_)&&!isNaN(_)){const A=a.valueAsNumber||_&&+_;ct(L.value)||(R=A>L.value),ct(P.value)||(U=A<P.value)}else{const A=a.valueAsDate||new Date(_),J=b=>new Date(new Date().toDateString()+" "+b),O=a.type=="time",q=a.type=="week";Bt(L.value)&&_&&(R=O?J(_)>J(L.value):q?_>L.value:A>new Date(L.value)),Bt(P.value)&&_&&(U=O?J(_)<J(P.value):q?_<P.value:A<new Date(P.value))}if((R||U)&&(B(!!R,L.message,P.message,Ht.max,Ht.min),!r))return T(E[w].message),E}if((u||f)&&!Y&&(Bt(_)||s&&Array.isArray(_))){const R=An(u),U=An(f),L=!ct(R.value)&&_.length>+R.value,P=!ct(U.value)&&_.length<+U.value;if((L||P)&&(B(L,R.message,U.message),!r))return T(E[w].message),E}if(h&&!Y&&Bt(_)){const{value:R,message:U}=An(h);if(Ci(R)&&!_.match(R)&&(E[w]={type:Ht.pattern,message:U,ref:a,...C(Ht.pattern,U)},!r))return T(U),E}if(m){if(Zt(m)){const R=await m(_,n),U=qo(R,g);if(U&&(E[w]={...U,...C(Ht.validate,U.message)},!r))return T(U.message),E}else if(We(m)){let R={};for(const U in m){if(!gt(R)&&!r)break;const L=qo(await m[U](_,n),g,U);L&&(R={...L,...C(U,L.message)},T(L.message),r&&(E[w]=R))}if(!gt(R)&&(E[w]={ref:g,...R},!r))return E}}return T(!0),E};function Tg(e,t){const n=t.slice(0,-1).length;let r=0;for(;r<n;)e=qe(e)?r++:e[t[r++]];return e}function Ag(e){for(const t in e)if(e.hasOwnProperty(t)&&!qe(e[t]))return!1;return!0}function nt(e,t){const n=Array.isArray(t)?t:Ja(t)?[t]:od(t),r=n.length===1?e:Tg(e,n),i=n.length-1,s=n[i];return r&&delete r[s],i!==0&&(We(r)&&gt(r)||Array.isArray(r)&&Ag(r))&&nt(e,n.slice(0,-1)),e}var _s=()=>{let e=[];return{get observers(){return e},next:i=>{for(const s of e)s.next&&s.next(i)},subscribe:i=>(e.push(i),{unsubscribe:()=>{e=e.filter(s=>s!==i)}}),unsubscribe:()=>{e=[]}}},ca=e=>ct(e)||!id(e);function rn(e,t){if(ca(e)||ca(t))return e===t;if(vn(e)&&vn(t))return e.getTime()===t.getTime();const n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(const i of n){const s=e[i];if(!r.includes(i))return!1;if(i!=="ref"){const a=t[i];if(vn(s)&&vn(a)||We(s)&&We(a)||Array.isArray(s)&&Array.isArray(a)?!rn(s,a):s!==a)return!1}}return!0}var md=e=>e.type==="select-multiple",Pg=e=>Wa(e)||Wr(e),js=e=>ji(e)&&e.isConnected,gd=e=>{for(const t in e)if(Zt(e[t]))return!0;return!1};function Ni(e,t={}){const n=Array.isArray(e);if(We(e)||n)for(const r in e)Array.isArray(e[r])||We(e[r])&&!gd(e[r])?(t[r]=Array.isArray(e[r])?[]:{},Ni(e[r],t[r])):ct(e[r])||(t[r]=!0);return t}function xd(e,t,n){const r=Array.isArray(e);if(We(e)||r)for(const i in e)Array.isArray(e[i])||We(e[i])&&!gd(e[i])?qe(t)||ca(n[i])?n[i]=Array.isArray(e[i])?Ni(e[i],[]):{...Ni(e[i])}:xd(e[i],ct(t)?{}:t[i],n[i]):n[i]=!rn(e[i],t[i]);return n}var ur=(e,t)=>xd(e,t,Ni(t)),yd=(e,{valueAsNumber:t,valueAsDate:n,setValueAs:r})=>qe(e)?e:t?e===""?NaN:e&&+e:n&&Bt(e)?new Date(e):r?r(e):e;function Cs(e){const t=e.ref;return qa(t)?t.files:Wa(t)?hd(e.refs).value:md(t)?[...t.selectedOptions].map(({value:n})=>n):Wr(t)?pd(e.refs).value:yd(qe(t.value)?e.ref.value:t.value,e)}var Og=(e,t,n,r)=>{const i={};for(const s of e){const a=se(t,s);a&&Oe(i,s,a._f)}return{criteriaMode:n,names:[...e],fields:i,shouldUseNativeValidation:r}},cr=e=>qe(e)?e:Ci(e)?e.source:We(e)?Ci(e.value)?e.value.source:e.value:e;const Go="AsyncFunction";var Dg=e=>!!e&&!!e.validate&&!!(Zt(e.validate)&&e.validate.constructor.name===Go||We(e.validate)&&Object.values(e.validate).find(t=>t.constructor.name===Go)),Rg=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate);function Ko(e,t,n){const r=se(e,n);if(r||Ja(n))return{error:r,name:n};const i=n.split(".");for(;i.length;){const s=i.join("."),a=se(t,s),o=se(e,s);if(a&&!Array.isArray(a)&&n!==s)return{name:n};if(o&&o.type)return{name:s,error:o};i.pop()}return{name:n}}var Mg=(e,t,n,r,i)=>i.isOnAll?!1:!n&&i.isOnTouch?!(t||e):(n?r.isOnBlur:i.isOnBlur)?!e:(n?r.isOnChange:i.isOnChange)?e:!0,$g=(e,t)=>!ts(se(e,t)).length&&nt(e,t);const Fg={mode:Pt.onSubmit,reValidateMode:Pt.onChange,shouldFocusError:!0};function Lg(e={}){let t={...Fg,...e},n={submitCount:0,isDirty:!1,isLoading:Zt(t.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:t.errors||{},disabled:t.disabled||!1},r={},i=We(t.defaultValues)||We(t.values)?mt(t.defaultValues||t.values)||{}:{},s=t.shouldUnregister?{}:mt(i),a={action:!1,mount:!1,watch:!1},o={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set},l,u=0;const f={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},d={values:_s(),array:_s(),state:_s()},p=Bo(t.mode),h=Bo(t.reValidateMode),m=t.criteriaMode===Pt.all,w=j=>z=>{clearTimeout(u),u=setTimeout(j,z)},S=async j=>{if(!t.disabled&&(f.isValid||j)){const z=t.resolver?gt((await M()).errors):await C(r,!0);z!==n.isValid&&d.state.next({isValid:z})}},x=(j,z)=>{!t.disabled&&(f.isValidating||f.validatingFields)&&((j||Array.from(o.mount)).forEach(Z=>{Z&&(z?Oe(n.validatingFields,Z,z):nt(n.validatingFields,Z))}),d.state.next({validatingFields:n.validatingFields,isValidating:!gt(n.validatingFields)}))},_=(j,z=[],Z,re,te=!0,ee=!0)=>{if(re&&Z&&!t.disabled){if(a.action=!0,ee&&Array.isArray(se(r,j))){const fe=Z(se(r,j),re.argA,re.argB);te&&Oe(r,j,fe)}if(ee&&Array.isArray(se(n.errors,j))){const fe=Z(se(n.errors,j),re.argA,re.argB);te&&Oe(n.errors,j,fe),$g(n.errors,j)}if(f.touchedFields&&ee&&Array.isArray(se(n.touchedFields,j))){const fe=Z(se(n.touchedFields,j),re.argA,re.argB);te&&Oe(n.touchedFields,j,fe)}f.dirtyFields&&(n.dirtyFields=ur(i,s)),d.state.next({name:j,isDirty:R(j,z),dirtyFields:n.dirtyFields,errors:n.errors,isValid:n.isValid})}else Oe(s,j,z)},g=(j,z)=>{Oe(n.errors,j,z),d.state.next({errors:n.errors})},T=j=>{n.errors=j,d.state.next({errors:n.errors,isValid:!1})},E=(j,z,Z,re)=>{const te=se(r,j);if(te){const ee=se(s,j,qe(Z)?se(i,j):Z);qe(ee)||re&&re.defaultChecked||z?Oe(s,j,z?ee:Cs(te._f)):P(j,ee),a.mount&&S()}},k=(j,z,Z,re,te)=>{let ee=!1,fe=!1;const be={name:j};if(!t.disabled){const F=!!(se(r,j)&&se(r,j)._f&&se(r,j)._f.disabled);if(!Z||re){f.isDirty&&(fe=n.isDirty,n.isDirty=be.isDirty=R(),ee=fe!==be.isDirty);const G=F||rn(se(i,j),z);fe=!!(!F&&se(n.dirtyFields,j)),G||F?nt(n.dirtyFields,j):Oe(n.dirtyFields,j,!0),be.dirtyFields=n.dirtyFields,ee=ee||f.dirtyFields&&fe!==!G}if(Z){const G=se(n.touchedFields,j);G||(Oe(n.touchedFields,j,Z),be.touchedFields=n.touchedFields,ee=ee||f.touchedFields&&G!==Z)}ee&&te&&d.state.next(be)}return ee?be:{}},N=(j,z,Z,re)=>{const te=se(n.errors,j),ee=f.isValid&&Ct(z)&&n.isValid!==z;if(t.delayError&&Z?(l=w(()=>g(j,Z)),l(t.delayError)):(clearTimeout(u),l=null,Z?Oe(n.errors,j,Z):nt(n.errors,j)),(Z?!rn(te,Z):te)||!gt(re)||ee){const fe={...re,...ee&&Ct(z)?{isValid:z}:{},errors:n.errors,name:j};n={...n,...fe},d.state.next(fe)}},M=async j=>{x(j,!0);const z=await t.resolver(s,t.context,Og(j||o.mount,r,t.criteriaMode,t.shouldUseNativeValidation));return x(j),z},Y=async j=>{const{errors:z}=await M(j);if(j)for(const Z of j){const re=se(z,Z);re?Oe(n.errors,Z,re):nt(n.errors,Z)}else n.errors=z;return z},C=async(j,z,Z={valid:!0})=>{for(const re in j){const te=j[re];if(te){const{_f:ee,...fe}=te;if(ee){const be=o.array.has(ee.name),F=te._f&&Dg(te._f);F&&f.validatingFields&&x([re],!0);const G=await Wo(te,o.disabled,s,m,t.shouldUseNativeValidation&&!z,be);if(F&&f.validatingFields&&x([re]),G[ee.name]&&(Z.valid=!1,z))break;!z&&(se(G,ee.name)?be?zg(n.errors,G,ee.name):Oe(n.errors,ee.name,G[ee.name]):nt(n.errors,ee.name))}!gt(fe)&&await C(fe,z,Z)}}return Z.valid},B=()=>{for(const j of o.unMount){const z=se(r,j);z&&(z._f.refs?z._f.refs.every(Z=>!js(Z)):!js(z._f.ref))&&ne(j)}o.unMount=new Set},R=(j,z)=>!t.disabled&&(j&&z&&Oe(s,j,z),!rn(ce(),i)),U=(j,z,Z)=>fd(j,o,{...a.mount?s:qe(z)?i:Bt(j)?{[j]:z}:z},Z,z),L=j=>ts(se(a.mount?s:i,j,t.shouldUnregister?se(i,j,[]):[])),P=(j,z,Z={})=>{const re=se(r,j);let te=z;if(re){const ee=re._f;ee&&(!ee.disabled&&Oe(s,j,yd(z,ee)),te=ji(ee.ref)&&ct(z)?"":z,md(ee.ref)?[...ee.ref.options].forEach(fe=>fe.selected=te.includes(fe.value)):ee.refs?Wr(ee.ref)?ee.refs.length>1?ee.refs.forEach(fe=>(!fe.defaultChecked||!fe.disabled)&&(fe.checked=Array.isArray(te)?!!te.find(be=>be===fe.value):te===fe.value)):ee.refs[0]&&(ee.refs[0].checked=!!te):ee.refs.forEach(fe=>fe.checked=fe.value===te):qa(ee.ref)?ee.ref.value="":(ee.ref.value=te,ee.ref.type||d.values.next({name:j,values:{...s}})))}(Z.shouldDirty||Z.shouldTouch)&&k(j,te,Z.shouldTouch,Z.shouldDirty,!0),Z.shouldValidate&&b(j)},A=(j,z,Z)=>{for(const re in z){const te=z[re],ee=`${j}.${re}`,fe=se(r,ee);(o.array.has(j)||We(te)||fe&&!fe._f)&&!vn(te)?A(ee,te,Z):P(ee,te,Z)}},J=(j,z,Z={})=>{const re=se(r,j),te=o.array.has(j),ee=mt(z);Oe(s,j,ee),te?(d.array.next({name:j,values:{...s}}),(f.isDirty||f.dirtyFields)&&Z.shouldDirty&&d.state.next({name:j,dirtyFields:ur(i,s),isDirty:R(j,ee)})):re&&!re._f&&!ct(ee)?A(j,ee,Z):P(j,ee,Z),Vo(j,o)&&d.state.next({...n}),d.values.next({name:a.mount?j:void 0,values:{...s}})},O=async j=>{a.mount=!0;const z=j.target;let Z=z.name,re=!0;const te=se(r,Z),ee=()=>z.type?Cs(te._f):sd(j),fe=be=>{re=Number.isNaN(be)||vn(be)&&isNaN(be.getTime())||rn(be,se(s,Z,be))};if(te){let be,F;const G=ee(),pe=j.type===_i.BLUR||j.type===_i.FOCUS_OUT,ke=!Rg(te._f)&&!t.resolver&&!se(n.errors,Z)&&!te._f.deps||Mg(pe,se(n.touchedFields,Z),n.isSubmitted,h,p),D=Vo(Z,o,pe);Oe(s,Z,G),pe?(te._f.onBlur&&te._f.onBlur(j),l&&l(0)):te._f.onChange&&te._f.onChange(j);const he=k(Z,G,pe,!1),Ne=!gt(he)||D;if(!pe&&d.values.next({name:Z,type:j.type,values:{...s}}),ke)return f.isValid&&(t.mode==="onBlur"&&pe?S():pe||S()),Ne&&d.state.next({name:Z,...D?{}:he});if(!pe&&D&&d.state.next({...n}),t.resolver){const{errors:Me}=await M([Z]);if(fe(G),re){const tt=Ko(n.errors,r,Z),Ke=Ko(Me,r,tt.name||Z);be=Ke.error,Z=Ke.name,F=gt(Me)}}else x([Z],!0),be=(await Wo(te,o.disabled,s,m,t.shouldUseNativeValidation))[Z],x([Z]),fe(G),re&&(be?F=!1:f.isValid&&(F=await C(r,!0)));re&&(te._f.deps&&b(te._f.deps),N(Z,F,be,he))}},q=(j,z)=>{if(se(n.errors,z)&&j.focus)return j.focus(),1},b=async(j,z={})=>{let Z,re;const te=Cr(j);if(t.resolver){const ee=await Y(qe(j)?j:te);Z=gt(ee),re=j?!te.some(fe=>se(ee,fe)):Z}else j?(re=(await Promise.all(te.map(async ee=>{const fe=se(r,ee);return await C(fe&&fe._f?{[ee]:fe}:fe)}))).every(Boolean),!(!re&&!n.isValid)&&S()):re=Z=await C(r);return d.state.next({...!Bt(j)||f.isValid&&Z!==n.isValid?{}:{name:j},...t.resolver||!j?{isValid:Z}:{},errors:n.errors}),z.shouldFocus&&!re&&Nr(r,q,j?te:o.mount),re},ce=j=>{const z={...a.mount?s:i};return qe(j)?z:Bt(j)?se(z,j):j.map(Z=>se(z,Z))},oe=(j,z)=>({invalid:!!se((z||n).errors,j),isDirty:!!se((z||n).dirtyFields,j),error:se((z||n).errors,j),isValidating:!!se(n.validatingFields,j),isTouched:!!se((z||n).touchedFields,j)}),v=j=>{j&&Cr(j).forEach(z=>nt(n.errors,z)),d.state.next({errors:j?n.errors:{}})},X=(j,z,Z)=>{const re=(se(r,j,{_f:{}})._f||{}).ref,te=se(n.errors,j)||{},{ref:ee,message:fe,type:be,...F}=te;Oe(n.errors,j,{...F,...z,ref:re}),d.state.next({name:j,errors:n.errors,isValid:!1}),Z&&Z.shouldFocus&&re&&re.focus&&re.focus()},ae=(j,z)=>Zt(j)?d.values.subscribe({next:Z=>j(U(void 0,z),Z)}):U(j,z,!0),ne=(j,z={})=>{for(const Z of j?Cr(j):o.mount)o.mount.delete(Z),o.array.delete(Z),z.keepValue||(nt(r,Z),nt(s,Z)),!z.keepError&&nt(n.errors,Z),!z.keepDirty&&nt(n.dirtyFields,Z),!z.keepTouched&&nt(n.touchedFields,Z),!z.keepIsValidating&&nt(n.validatingFields,Z),!t.shouldUnregister&&!z.keepDefaultValue&&nt(i,Z);d.values.next({values:{...s}}),d.state.next({...n,...z.keepDirty?{isDirty:R()}:{}}),!z.keepIsValid&&S()},I=({disabled:j,name:z,field:Z,fields:re})=>{(Ct(j)&&a.mount||j||o.disabled.has(z))&&(j?o.disabled.add(z):o.disabled.delete(z),k(z,Cs(Z?Z._f:se(re,z)._f),!1,!1,!0))},$=(j,z={})=>{let Z=se(r,j);const re=Ct(z.disabled)||Ct(t.disabled);return Oe(r,j,{...Z||{},_f:{...Z&&Z._f?Z._f:{ref:{name:j}},name:j,mount:!0,...z}}),o.mount.add(j),Z?I({field:Z,disabled:Ct(z.disabled)?z.disabled:t.disabled,name:j}):E(j,!0,z.value),{...re?{disabled:z.disabled||t.disabled}:{},...t.progressive?{required:!!z.required,min:cr(z.min),max:cr(z.max),minLength:cr(z.minLength),maxLength:cr(z.maxLength),pattern:cr(z.pattern)}:{},name:j,onChange:O,onBlur:O,ref:te=>{if(te){$(j,z),Z=se(r,j);const ee=qe(te.value)&&te.querySelectorAll&&te.querySelectorAll("input,select,textarea")[0]||te,fe=Pg(ee),be=Z._f.refs||[];if(fe?be.find(F=>F===ee):ee===Z._f.ref)return;Oe(r,j,{_f:{...Z._f,...fe?{refs:[...be.filter(js),ee,...Array.isArray(se(i,j))?[{}]:[]],ref:{type:ee.type,name:j}}:{ref:ee}}}),E(j,!1,void 0,ee)}else Z=se(r,j,{}),Z._f&&(Z._f.mount=!1),(t.shouldUnregister||z.shouldUnregister)&&!(ad(o.array,j)&&a.action)&&o.unMount.add(j)}}},W=()=>t.shouldFocusError&&Nr(r,q,o.mount),le=j=>{Ct(j)&&(d.state.next({disabled:j}),Nr(r,(z,Z)=>{const re=se(r,Z);re&&(z.disabled=re._f.disabled||j,Array.isArray(re._f.refs)&&re._f.refs.forEach(te=>{te.disabled=re._f.disabled||j}))},0,!1))},K=(j,z)=>async Z=>{let re;Z&&(Z.preventDefault&&Z.preventDefault(),Z.persist&&Z.persist());let te=mt(s);if(o.disabled.size)for(const ee of o.disabled)Oe(te,ee,void 0);if(d.state.next({isSubmitting:!0}),t.resolver){const{errors:ee,values:fe}=await M();n.errors=ee,te=fe}else await C(r);if(nt(n.errors,"root"),gt(n.errors)){d.state.next({errors:{}});try{await j(te,Z)}catch(ee){re=ee}}else z&&await z({...n.errors},Z),W(),setTimeout(W);if(d.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:gt(n.errors)&&!re,submitCount:n.submitCount+1,errors:n.errors}),re)throw re},ve=(j,z={})=>{se(r,j)&&(qe(z.defaultValue)?J(j,mt(se(i,j))):(J(j,z.defaultValue),Oe(i,j,mt(z.defaultValue))),z.keepTouched||nt(n.touchedFields,j),z.keepDirty||(nt(n.dirtyFields,j),n.isDirty=z.defaultValue?R(j,mt(se(i,j))):R()),z.keepError||(nt(n.errors,j),f.isValid&&S()),d.state.next({...n}))},de=(j,z={})=>{const Z=j?mt(j):i,re=mt(Z),te=gt(j),ee=te?i:re;if(z.keepDefaultValues||(i=Z),!z.keepValues){if(z.keepDirtyValues){const fe=new Set([...o.mount,...Object.keys(ur(i,s))]);for(const be of Array.from(fe))se(n.dirtyFields,be)?Oe(ee,be,se(s,be)):J(be,se(ee,be))}else{if(Ua&&qe(j))for(const fe of o.mount){const be=se(r,fe);if(be&&be._f){const F=Array.isArray(be._f.refs)?be._f.refs[0]:be._f.ref;if(ji(F)){const G=F.closest("form");if(G){G.reset();break}}}}r={}}s=t.shouldUnregister?z.keepDefaultValues?mt(i):{}:mt(ee),d.array.next({values:{...ee}}),d.values.next({values:{...ee}})}o={mount:z.keepDirtyValues?o.mount:new Set,unMount:new Set,array:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},a.mount=!f.isValid||!!z.keepIsValid||!!z.keepDirtyValues,a.watch=!!t.shouldUnregister,d.state.next({submitCount:z.keepSubmitCount?n.submitCount:0,isDirty:te?!1:z.keepDirty?n.isDirty:!!(z.keepDefaultValues&&!rn(j,i)),isSubmitted:z.keepIsSubmitted?n.isSubmitted:!1,dirtyFields:te?{}:z.keepDirtyValues?z.keepDefaultValues&&s?ur(i,s):n.dirtyFields:z.keepDefaultValues&&j?ur(i,j):z.keepDirty?n.dirtyFields:{},touchedFields:z.keepTouched?n.touchedFields:{},errors:z.keepErrors?n.errors:{},isSubmitSuccessful:z.keepIsSubmitSuccessful?n.isSubmitSuccessful:!1,isSubmitting:!1})},xe=(j,z)=>de(Zt(j)?j(s):j,z);return{control:{register:$,unregister:ne,getFieldState:oe,handleSubmit:K,setError:X,_executeSchema:M,_getWatch:U,_getDirty:R,_updateValid:S,_removeUnmounted:B,_updateFieldArray:_,_updateDisabledField:I,_getFieldArray:L,_reset:de,_resetDefaultValues:()=>Zt(t.defaultValues)&&t.defaultValues().then(j=>{xe(j,t.resetOptions),d.state.next({isLoading:!1})}),_updateFormState:j=>{n={...n,...j}},_disableForm:le,_subjects:d,_proxyFormState:f,_setErrors:T,get _fields(){return r},get _formValues(){return s},get _state(){return a},set _state(j){a=j},get _defaultValues(){return i},get _names(){return o},set _names(j){o=j},get _formState(){return n},set _formState(j){n=j},get _options(){return t},set _options(j){t={...t,...j}}},trigger:b,register:$,handleSubmit:K,watch:ae,setValue:J,getValues:ce,reset:xe,resetField:ve,clearErrors:v,unregister:ne,setError:X,setFocus:(j,z={})=>{const Z=se(r,j),re=Z&&Z._f;if(re){const te=re.refs?re.refs[0]:re.ref;te.focus&&(te.focus(),z.shouldSelect&&Zt(te.select)&&te.select())}},getFieldState:oe}}function Zg(e={}){const t=Ee.useRef(void 0),n=Ee.useRef(void 0),[r,i]=Ee.useState({isDirty:!1,isValidating:!1,isLoading:Zt(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1,defaultValues:Zt(e.defaultValues)?void 0:e.defaultValues});t.current||(t.current={...Lg(e),formState:r});const s=t.current.control;return s._options=e,Ha({subject:s._subjects.state,next:a=>{cd(a,s._proxyFormState,s._updateFormState,!0)&&i({...s._formState})}}),Ee.useEffect(()=>s._disableForm(e.disabled),[s,e.disabled]),Ee.useEffect(()=>{if(s._proxyFormState.isDirty){const a=s._getDirty();a!==r.isDirty&&s._subjects.state.next({isDirty:a})}},[s,r.isDirty]),Ee.useEffect(()=>{e.values&&!rn(e.values,n.current)?(s._reset(e.values,s._options.resetOptions),n.current=e.values,i(a=>({...a}))):s._resetDefaultValues()},[e.values,s]),Ee.useEffect(()=>{e.errors&&s._setErrors(e.errors)},[e.errors,s]),Ee.useEffect(()=>{s._state.mount||(s._updateValid(),s._state.mount=!0),s._state.watch&&(s._state.watch=!1,s._subjects.state.next({...s._formState})),s._removeUnmounted()}),Ee.useEffect(()=>{e.shouldUnregister&&s._subjects.values.next({values:s._getWatch()})},[e.shouldUnregister,s]),t.current.formState=ud(r,s),t.current}function Bg(e){return async t=>{const n=e(t);if(n.success&&n.data)return{values:n.data,errors:{}};const r={};if(n.errors)for(const i of n.errors){const s=i.path||"root";r[s]||(r[s]={type:"validation",message:i.message})}return{values:{},errors:r}}}const Dt=pc,Yo=hc,Vg=mc,Xo=Ba,bd=y.forwardRef(({className:e,...t},n)=>c.jsx(Xi,{ref:n,className:H("fixed inset-0 z-50 bg-black/80",e),...t}));bd.displayName=Xi.displayName;const Et=y.forwardRef(({className:e,children:t,...n},r)=>c.jsxs(Vg,{children:[c.jsx(bd,{}),c.jsxs(Gi,{ref:r,className:H("bg-background fixed top-[50%] left-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border p-6 shadow-lg sm:rounded-lg",e),...n,children:[t,c.jsxs(Ba,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 cursor-pointer rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:pointer-events-none",children:[c.jsx(jn,{className:"h-4 w-4"}),c.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));Et.displayName=Gi.displayName;const Gt=({className:e,...t})=>c.jsx("div",{className:H("flex flex-col space-y-1.5 text-center sm:text-left",e),...t});Gt.displayName="DialogHeader";const Yn=({className:e,...t})=>c.jsx("div",{className:H("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...t});Yn.displayName="DialogFooter";const Kt=y.forwardRef(({className:e,...t},n)=>c.jsx(Ki,{ref:n,className:H("text-lg leading-none font-semibold tracking-tight",e),...t}));Kt.displayName=Ki.displayName;const Cn=y.forwardRef(({className:e,...t},n)=>c.jsx(Yi,{ref:n,className:H("text-muted-foreground text-sm",e),...t}));Cn.displayName=Yi.displayName;const Ug=qr("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),Ga=y.forwardRef(({className:e,...t},n)=>c.jsx(gc,{ref:n,className:H(Ug(),e),...t}));Ga.displayName=gc.displayName;const Jg=_g,vd=y.createContext({}),Qo=({...e})=>c.jsx(vd.Provider,{value:{name:e.name},children:c.jsx(Eg,{...e})}),rs=()=>{const e=y.useContext(vd),t=y.useContext(wd),{getFieldState:n,formState:r}=ns(),i=n(e.name,r);if(!e)throw new Error("useFormField should be used within <FormField>");const{id:s}=t;return{id:s,name:e.name,formItemId:`${s}-form-item`,formDescriptionId:`${s}-form-item-description`,formMessageId:`${s}-form-item-message`,...i}},wd=y.createContext({}),da=y.forwardRef(({className:e,...t},n)=>{const r=y.useId();return c.jsx(wd.Provider,{value:{id:r},children:c.jsx("div",{ref:n,className:H("space-y-2",e),...t})})});da.displayName="FormItem";const fa=y.forwardRef(({className:e,...t},n)=>{const{error:r,formItemId:i}=rs();return c.jsx(Ga,{ref:n,className:H(r&&"text-destructive",e),htmlFor:i,...t})});fa.displayName="FormLabel";const pa=y.forwardRef(({...e},t)=>{const{error:n,formItemId:r,formDescriptionId:i,formMessageId:s}=rs();return c.jsx(rr,{ref:t,id:r,"aria-describedby":n?`${i} ${s}`:`${i}`,"aria-invalid":!!n,...e})});pa.displayName="FormControl";const kd=y.forwardRef(({className:e,...t},n)=>{const{formDescriptionId:r}=rs();return c.jsx("p",{ref:n,id:r,className:H("text-muted-foreground text-[0.8rem]",e),...t})});kd.displayName="FormDescription";const ha=y.forwardRef(({className:e,children:t,...n},r)=>{const{error:i,formMessageId:s}=rs(),a=i?String(i==null?void 0:i.message):t;return a?c.jsx("p",{ref:r,id:s,className:H("text-destructive text-[0.8rem] font-medium",e),...n,children:a}):null});ha.displayName="FormMessage";const is=y.forwardRef(({className:e,type:t,...n},r)=>c.jsx("input",{type:t,className:H("border-input file:text-foreground placeholder:text-muted-foreground focus-visible:ring-ring flex h-9 w-full rounded-md border bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium focus-visible:ring-1 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:r,...n}));is.displayName="Input";const Ka=xm,Hg=_m,Ya=ym,ss=y.forwardRef(({className:e,children:t,...n},r)=>c.jsxs(xc,{ref:r,className:H("border-input ring-offset-background placeholder:text-muted-foreground focus:ring-ring flex min-h-9 w-full min-w-0 items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm shadow-sm focus:ring-1 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50 [&>span]:min-w-0 [&>span]:whitespace-normal [&>span]:break-words text-left cursor-pointer",e),...n,children:[t,c.jsx(bm,{asChild:!0,children:c.jsx(an,{className:"h-4 w-4 shrink-0 opacity-50"})})]}));ss.displayName=xc.displayName;const Sd=y.forwardRef(({className:e,...t},n)=>c.jsx(vc,{ref:n,className:H("flex cursor-default items-center justify-center py-1",e),...t,children:c.jsx(Lm,{className:"h-4 w-4"})}));Sd.displayName=vc.displayName;const _d=y.forwardRef(({className:e,...t},n)=>c.jsx(wc,{ref:n,className:H("flex cursor-default items-center justify-center py-1",e),...t,children:c.jsx(an,{className:"h-4 w-4"})}));_d.displayName=wc.displayName;const as=y.forwardRef(({className:e,children:t,position:n="popper",...r},i)=>c.jsx(vm,{children:c.jsxs(yc,{ref:i,className:H("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border shadow-md",n==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:n,...r,children:[c.jsx(Sd,{}),c.jsx(wm,{className:H("p-1",n==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:t}),c.jsx(_d,{})]})}));as.displayName=yc.displayName;const jd=y.forwardRef(({className:e,...t},n)=>c.jsx(kc,{ref:n,className:H("px-2 py-1.5 text-sm font-semibold",e),...t}));jd.displayName=kc.displayName;const Ar=y.forwardRef(({className:e,children:t,...n},r)=>c.jsxs(bc,{ref:r,className:H("focus:bg-accent focus:text-accent-foreground relative flex w-full cursor-pointer items-center rounded-sm py-1.5 pr-8 pl-2 text-sm outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...n,children:[c.jsx("span",{className:"absolute right-2 flex h-3.5 w-3.5 items-center justify-center",children:c.jsx(km,{children:c.jsx(ln,{className:"h-4 w-4"})})}),c.jsx(Sm,{children:t})]}));Ar.displayName=bc.displayName;const qg=y.forwardRef(({className:e,...t},n)=>c.jsx(Sc,{ref:n,className:H("bg-muted -mx-1 my-1 h-px",e),...t}));qg.displayName=Sc.displayName;function Xa(){const e=new Date,t=n=>String(n).padStart(2,"0");return`Chat ${t(e.getMonth()+1)}/${t(e.getDate())} ${t(e.getHours())}:${t(e.getMinutes())}`}const Cd=()=>({chatOpen:!1,scope:"global",model:"opus",contextAttachments:[],threads:{},activeThreadId:{}}),Wg=(e=Cd())=>mg()(gg(xg((t,n)=>({...e,toggleChat:()=>t(r=>({chatOpen:!r.chatOpen})),openChat:()=>t({chatOpen:!0}),closeChat:()=>t({chatOpen:!1}),addContext:r=>t(i=>({contextAttachments:[...i.contextAttachments,r]})),removeContext:r=>t(i=>({contextAttachments:i.contextAttachments.filter((s,a)=>a!==r)})),clearContext:()=>t({contextAttachments:[]}),setScope:r=>t({scope:r}),setModel:r=>t({model:r}),createThread:r=>{const i=crypto.randomUUID(),s=Date.now(),a={id:i,documentName:r,title:Xa(),messages:[],createdAt:s,updatedAt:s};return t(o=>({threads:{...o.threads,[i]:a},activeThreadId:{...o.activeThreadId,[r]:i}})),i},deleteThread:r=>{const i=n(),s=i.threads[r];if(!s)return;const a=Object.fromEntries(Object.entries(i.threads).filter(([u])=>u!==r)),o=s.documentName,l={...i.activeThreadId};if(l[o]===r){const u=Object.values(a).filter(f=>f.documentName===o);u.length>0?(u.sort((f,d)=>d.updatedAt-f.updatedAt),l[o]=u[0].id):delete l[o]}t({threads:a,activeThreadId:l})},switchThread:r=>{const s=n().threads[r];s&&t(a=>({activeThreadId:{...a.activeThreadId,[s.documentName]:r}}))},updateThreadMessages:(r,i)=>{t(s=>{const a=s.threads[r];return a?{threads:{...s.threads,[r]:{...a,messages:i,updatedAt:Date.now()}}}:s})},updateThreadTitle:(r,i)=>{t(s=>{const a=s.threads[r];return a?{threads:{...s.threads,[r]:{...a,title:i}}}:s})},deleteThreadsForDocument:r=>{t(i=>{const s={...i.threads},a={...i.activeThreadId};for(const[o,l]of Object.entries(s))l.documentName===r&&delete s[o];return delete a[r],{threads:s,activeThreadId:a}})},renameThreadsForDocument:(r,i)=>{t(s=>{const a={...s.threads},o={...s.activeThreadId};for(const[l,u]of Object.entries(a))u.documentName===r&&(a[l]={...u,documentName:i});return r in o&&(o[i]=o[r],delete o[r]),{threads:a,activeThreadId:o}})},clearChat:()=>{t(r=>({contextAttachments:[]}))}}),{name:"chat-storage",version:1,storage:yg(()=>ug),partialize:t=>({threads:t.threads,activeThreadId:t.activeThreadId,scope:t.scope,model:t.model}),migrate:(t,n)=>{if(n===0&&t){const r=t.chatMessages;if(Array.isArray(r)&&r.length>0){const i=crypto.randomUUID(),s=Date.now();return{threads:{[i]:{id:i,documentName:"__migrated__",title:"Migrated Chat",messages:r,createdAt:s,updatedAt:s}},activeThreadId:{__migrated__:i}}}return{threads:{},activeThreadId:{}}}return t}}))),Nd=y.createContext(void 0),Gg=({children:e})=>{const t=y.useRef(null);return t.current||(t.current=Wg(Cd())),c.jsx(Nd.Provider,{value:t.current,children:e})},Te=e=>{const t=y.useContext(Nd);if(!t)throw new Error("useChatStore must be used within ChatStoreProvider");return bg(t,e)};function Kg(e,t,n){return t.filter(r=>r.name!==n).every(r=>r.name!==e)}function Yg(e,t,n){const r={},i=[];e!=="delete"&&(r.name=ei.String({minLength:1,maxLength:120,pattern:"^[a-zA-Z0-9-_. ]+$",description:"Document name (e.g., my-report.docx.json or my-theme.theme.json)"}),i.push("name")),e==="create"&&(r.template=ei.Optional(ei.String({description:"Template selection"})));const s=ei.Object(r,{additionalProperties:!1,required:i.length>0?i:void 0});return{schema:s,validate:a=>{const o=[];if(!um(s,a))for(const u of cm(s,a))o.push({path:u.path.replace(/^\//,""),message:u.message});const l=a;if(e!=="delete"&&l.name){const u=l.name.trim();u?(l.name=u,t(u)||o.push({path:"name",message:"Document with this name already exists"})):o.push({path:"name",message:"Name can't be empty"})}return e==="create"&&(n!=null&&n.length)&&l.template&&(n.some(u=>u.name===l.template)||o.push({path:"template",message:"You must select a valid template"})),{success:o.length===0,data:o.length===0?l:void 0,errors:o}}}}function Xg(e,t,n){return e==="create"?{name:"",template:t}:e==="update"?{name:n}:{}}const Qg=e=>({create:{title:e?"New Theme":"New Document",description:e?"Create a new theme from scratch or based on discovered themes.":"Create a new document from scratch or based on discovered documents.",button:"Create",buttonVariant:"default"},update:{title:"Rename Document",description:"Give your document a new name.",button:"Save",buttonVariant:"default"},delete:{title:"Are you absolutely sure?",description:"This action cannot be undone. Are you sure you want to permanently delete this document?",button:"Confirm",buttonVariant:"destructive"}}),dr="__empty__";function ex({mode:e,shouldReset:t,postSubmit:n,selectedName:r,discoveredDocuments:i,discoveredThemes:s,isTheme:a}){const[o,l]=y.useState(!1),[u,f]=y.useState(null),d=Qg(a),{documents:p,openTabs:h,createDocument:m,renameDocument:w,deleteDocument:S,openDocument:x,closeDocument:_}=Ae(O=>O),{updateTheme:g,removeTheme:T}=la(O=>O),E=Te(O=>O.renameThreadsForDocument),k=Te(O=>O.deleteThreadsForDocument),N=y.useMemo(()=>a?s||[]:i||[],[a,i,s]),M=y.useMemo(()=>{const O={current:[],downstream:[]};return N.forEach(q=>{O[q.location]&&O[q.location].push(q)}),O},[N]),Y=y.useMemo(()=>N.map(O=>({name:O.name,type:"application/json",text:"",mtime:new Date,ctime:new Date,atime:new Date})),[N]),C=y.useMemo(()=>Yg(e,O=>Kg(O,p,r),Y),[e,p,r,Y]),B=C.schema,R=y.useMemo(()=>{const O=new Map;return N.forEach(q=>O.set(q.path,q)),O},[N]),U=dr,L=Zg({resolver:Bg(C.validate),defaultValues:Xg(e,void 0,r)}),[P,A]=y.useState(U);y.useEffect(()=>{if(P&&P!==dr&&e==="create"){const O=R.get(P);O&&fetch(`/api/discovery/${a?"themes":"documents"}/${encodeURIComponent(O.name)}/content`).then(q=>{if(!q.ok)throw new Error(`Failed to fetch content: ${q.statusText}`);return q.text()}).then(q=>{try{const b=JSON.parse(q);f(JSON.stringify(b,null,2))}catch(b){console.error("Invalid JSON content received:",b),f(null)}}).catch(q=>{console.error("Failed to fetch content:",q),f(null)})}},[P,e,R,a]),y.useEffect(()=>{t&&(L.reset(),f(null),A(U))},[L,t]);const J=L.handleSubmit(async({name:O,template:q})=>{l(!0);try{if(await new Promise(b=>setTimeout(b,200)),e==="create"){const b=P?R.get(P):N.find($=>$.name===q);let ce,oe=O;if(a){const $=oe.replace(/\.(json|theme)$/i,"").toLowerCase().replace(/\s+/g,"-");ce=u||JSON.stringify(kt==="docx"?{name:$,colors:{primary:"#2563EB",secondary:"#64748B",accent:"#F8FAFC",background:"#FFFFFF",text:"#334155"},fonts:{heading:{family:"Calibri",size:28},body:{family:"Calibri",size:11}},page:{size:"A4"}}:{name:$,colors:{primary:"#2563EB",secondary:"#64748B",accent:"#F8FAFC",background:"#FFFFFF",text:"#334155"},fonts:{heading:"Calibri",body:"Calibri"},defaults:{fontSize:18,fontColor:"#334155"}},null,2);const le=`.${kt}.theme.json`;oe.endsWith(le)||(oe=oe.replace(/\.(pptx|docx)\.theme\.json$/i,"").replace(/\.theme\.json$/i,"").replace(/\.json$/i,""),oe+=le)}else{const $=b;ce=u||JSON.stringify(kt==="docx"?{name:"docx",props:{theme:($==null?void 0:$.theme)||"default",metadata:{title:($==null?void 0:$.title)||oe.replace(/\.(json|js)$/i,"")}},children:[{name:"section",props:{},children:[{name:"paragraph",props:{text:"Start writing your document content here..."}}]}]}:{name:"pptx",props:{title:($==null?void 0:$.title)||oe.replace(/\.(json|js)$/i,""),theme:($==null?void 0:$.theme)||"default"},children:[{name:"slide",props:{},children:[{name:"text",props:{text:"Start writing your presentation content here...",fontSize:24,y:2,x:1,w:8}}]}]},null,2);const W=kt==="docx"?".docx.json":".pptx.json";!oe.endsWith(W)&&!oe.endsWith(".json")&&(oe+=W)}const v=oe.match(/(\.(pptx|docx)(\.theme)?\.json|\.json)$/i),X=v?v[0]:"",ae=oe.slice(0,oe.length-X.length);let ne=oe,I=1;for(;p.some($=>$.name===ne);)I++,ne=`${ae} (${I})${X}`;oe=ne,m(oe,ce),x(oe),a&&g(oe,ce)}else if(e==="update"){const b=r,ce=O,oe=h.includes(b);oe&&_(b),w(b,ce),E(b,ce),oe&&x(ce)}else if(e==="delete"){const b=r;_(b),S(b),k(b),a&&T(b)}n()}finally{l(!1)}});return c.jsx(Jg,{...L,children:c.jsxs("form",{onSubmit:J,children:[c.jsxs(Gt,{children:[c.jsx(Kt,{children:d[e].title}),c.jsx(Cn,{children:d[e].description})]}),c.jsxs("div",{className:"flex flex-col gap-4 py-4",children:[B.properties&&"name"in B.properties&&c.jsx(Qo,{control:L.control,name:"name",render:({field:O})=>c.jsxs(da,{children:[c.jsx(fa,{children:"Name"}),c.jsx(pa,{children:c.jsx(is,{placeholder:"Enter a name or select a template below",autoComplete:"off",...O})}),c.jsx(ha,{})]})}),e==="create"&&c.jsx(Qo,{control:L.control,name:"template",render:({field:O})=>c.jsxs(da,{children:[c.jsx(fa,{children:a?"Base Theme":"Base Document"}),c.jsxs(Ka,{onValueChange:q=>{if(q===dr)O.onChange(void 0),L.setValue("name",""),A(dr),f(null);else{const b=R.get(q);b&&(O.onChange(b.name),L.setValue("name",b.name),A(q))}},defaultValue:U,children:[c.jsx(pa,{children:c.jsx(ss,{children:c.jsx(Ya,{placeholder:`Select a discovered ${a?"theme":"document"}`})})}),c.jsxs(as,{className:"max-h-[300px]",children:[c.jsxs(Ar,{value:dr,children:["Empty ",a?"theme":"document"]}),Object.entries(M).map(([q,b])=>b.length===0?null:c.jsxs(Hg,{children:[c.jsx(jd,{children:q==="current"?"📁 Current Directory":"📦 Project"}),b.map(ce=>{let oe;return ce.title&&ce.title!==ce.name?oe=ce.title:ce.description&&(oe=ce.description.length>40?ce.description.substring(0,40)+"...":ce.description),c.jsx(Ar,{value:ce.path,className:"pl-6",children:c.jsxs("span",{className:"flex flex-col",children:[c.jsx("span",{className:"font-medium",children:ce.name}),oe&&c.jsx("span",{className:"text-muted-foreground text-xs",children:oe})]})},ce.path)})]},q))]})]}),c.jsxs(kd,{children:["Start empty or select a discovered"," ",a?"theme":"document"," as a starting point"]}),c.jsx(ha,{})]})})]}),c.jsx(Yn,{children:c.jsx(_e,{type:"submit",variant:d[e].buttonVariant,disabled:o,children:o?c.jsxs(c.Fragment,{children:[c.jsx(nn,{size:"sm",className:"mr-2"}),e==="create"?"Creating...":e==="update"?"Saving...":"Deleting..."]}):d[e].button})})]})})}const Ei=Ee.memo(ex),tx=jm,nx=Cm,rx=y.forwardRef(({className:e,inset:t,children:n,...r},i)=>c.jsxs(Nc,{ref:i,className:H("focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-pointer items-center rounded-sm px-2 py-1.5 text-sm outline-none select-none",t&&"pl-8",e),...r,children:[n,c.jsx(Qi,{className:"ml-auto h-4 w-4"})]}));rx.displayName=Nc.displayName;const ix=y.forwardRef(({className:e,...t},n)=>c.jsx(Ec,{ref:n,className:H("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-lg",e),...t}));ix.displayName=Ec.displayName;const Ed=y.forwardRef(({className:e,...t},n)=>c.jsx(Nm,{children:c.jsx(_c,{ref:n,className:H("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-md",e),...t})}));Ed.displayName=_c.displayName;const yr=y.forwardRef(({className:e,inset:t,...n},r)=>c.jsx(jc,{ref:r,className:H("focus:bg-accent focus:text-accent-foreground relative flex cursor-pointer items-center rounded-sm px-2 py-1.5 text-sm outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t&&"pl-8",e),...n}));yr.displayName=jc.displayName;const sx=y.forwardRef(({className:e,children:t,checked:n,...r},i)=>c.jsxs(Ic,{ref:i,className:H("focus:bg-accent focus:text-accent-foreground relative flex cursor-pointer items-center rounded-sm py-1.5 pr-2 pl-8 text-sm outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),checked:n,...r,children:[c.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:c.jsx(zc,{children:c.jsx(ln,{className:"h-4 w-4"})})}),t]}));sx.displayName=Ic.displayName;const ax=y.forwardRef(({className:e,children:t,...n},r)=>c.jsxs(Tc,{ref:r,className:H("focus:bg-accent focus:text-accent-foreground relative flex cursor-pointer items-center rounded-sm py-1.5 pr-2 pl-8 text-sm outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...n,children:[c.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:c.jsx(zc,{children:c.jsx(Wc,{className:"h-4 w-4 fill-current"})})}),t]}));ax.displayName=Tc.displayName;const ox=y.forwardRef(({className:e,inset:t,...n},r)=>c.jsx(Ac,{ref:r,className:H("text-foreground px-2 py-1.5 text-sm font-semibold",t&&"pl-8",e),...n}));ox.displayName=Ac.displayName;const ma=y.forwardRef(({className:e,...t},n)=>c.jsx(Cc,{ref:n,className:H("bg-border -mx-1 my-1 h-px",e),...t}));ma.displayName=Cc.displayName;const mi=({className:e,...t})=>c.jsx("span",{className:H("text-muted-foreground ml-auto text-xs tracking-widest",e),...t});mi.displayName="ContextMenuShortcut";const Id=y.forwardRef(({className:e,orientation:t="horizontal",decorative:n=!0,...r},i)=>c.jsx(Pc,{ref:i,decorative:n,orientation:t,className:H("bg-border shrink-0",t==="horizontal"?"h-[1px] w-full":"h-full w-[1px]",e),...r}));Id.displayName=Pc.displayName;const zd=pc,lx=hc,ux=mc,Td=y.forwardRef(({className:e,...t},n)=>c.jsx(Xi,{className:H("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80",e),...t,ref:n}));Td.displayName=Xi.displayName;const cx=qr("fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500 data-[state=open]:animate-in data-[state=closed]:animate-out",{variants:{side:{top:"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",bottom:"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",left:"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",right:"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"}},defaultVariants:{side:"right"}}),Qa=y.forwardRef(({side:e="right",className:t,children:n,...r},i)=>c.jsxs(ux,{children:[c.jsx(Td,{}),c.jsxs(Gi,{ref:i,className:H(cx({side:e}),t),...r,children:[c.jsxs(Ba,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:pointer-events-none",children:[c.jsx(jn,{className:"h-4 w-4"}),c.jsx("span",{className:"sr-only",children:"Close"})]}),n]})]}));Qa.displayName=Gi.displayName;const dx=y.forwardRef(({className:e,...t},n)=>c.jsx(Ki,{ref:n,className:H("text-foreground text-lg font-semibold",e),...t}));dx.displayName=Ki.displayName;const fx=y.forwardRef(({className:e,...t},n)=>c.jsx(Yi,{ref:n,className:H("text-muted-foreground text-sm",e),...t}));fx.displayName=Yi.displayName;function Er({className:e,...t}){return c.jsx("div",{className:H("bg-primary/10 animate-pulse rounded-md",e),...t})}const Ns=768,Es=1200;function Ad(e){return typeof window<"u"?window.innerWidth<e:!1}function Pd(){const[e,t]=y.useState(()=>Ad(Ns));return y.useEffect(()=>{const n=window.matchMedia(`(max-width: ${Ns-1}px)`),r=()=>{t(window.innerWidth<Ns)};return n.addEventListener("change",r),()=>n.removeEventListener("change",r)},[]),e}function px(){const[e,t]=y.useState(()=>Ad(Es));return y.useEffect(()=>{const n=window.matchMedia(`(max-width: ${Es-1}px)`),r=()=>{t(window.innerWidth<Es)};return n.addEventListener("change",r),()=>n.removeEventListener("change",r)},[]),e}const hx="sidebar_state",mx=60*60*24*7,gx="16rem",xx="18rem",yx="3rem",bx="b",Od=y.createContext(null);function os(){const e=y.useContext(Od);if(!e)throw new Error("useSidebar must be used within a SidebarProvider.");return e}const Dd=y.forwardRef(({defaultOpen:e=!0,open:t,onOpenChange:n,className:r,style:i,children:s,...a},o)=>{const l=Pd(),[u,f]=y.useState(!1),[d,p]=y.useState(e),h=t??d,m=y.useCallback(_=>{const g=typeof _=="function"?_(h):_;n?n(g):p(g),document.cookie=`${hx}=${g}; path=/; max-age=${mx}`},[n,h]),w=y.useCallback(()=>l?f(_=>!_):m(_=>!_),[l,m,f]);y.useEffect(()=>{const _=T=>{var N;const E=T;if(!E)return!1;const k=(N=E.tagName)==null?void 0:N.toLowerCase();return k==="input"||k==="textarea"||k==="select"||E.isContentEditable?!0:!!(E.closest&&E.closest(".monaco-editor"))},g=T=>{const E=T.metaKey||T.ctrlKey,k=T.key.toLowerCase();if(E&&k===bx){T.preventDefault(),w();return}E&&k==="s"&&!_(T.target)&&(T.preventDefault(),w())};return window.addEventListener("keydown",g),()=>window.removeEventListener("keydown",g)},[w]);const S=h?"expanded":"collapsed",x=y.useMemo(()=>({state:S,open:h,setOpen:m,isMobile:l,openMobile:u,setOpenMobile:f,toggleSidebar:w}),[S,h,m,l,u,f,w]);return c.jsx(Od.Provider,{value:x,children:c.jsx(dm,{delayDuration:0,children:c.jsx("div",{style:{"--sidebar-width":gx,"--sidebar-width-icon":yx,...i},className:H("group/sidebar-wrapper has-[[data-variant=inset]]:bg-sidebar flex min-h-svh w-full",r),ref:o,...a,children:s})})})});Dd.displayName="SidebarProvider";const Rd=y.forwardRef(({side:e="left",variant:t="sidebar",collapsible:n="offcanvas",className:r,children:i,...s},a)=>{const{isMobile:o,state:l,openMobile:u,setOpenMobile:f}=os();return n==="none"?c.jsx("div",{className:H("bg-sidebar text-sidebar-foreground flex h-full w-[--sidebar-width] flex-col",r),ref:a,...s,children:i}):o?c.jsx(zd,{open:u,onOpenChange:f,...s,children:c.jsx(Qa,{"data-sidebar":"sidebar","data-mobile":"true",className:"bg-sidebar text-sidebar-foreground w-[--sidebar-width] p-0 [&>button]:hidden",style:{"--sidebar-width":xx},side:e,children:c.jsx("div",{className:"flex h-full w-full flex-col",children:i})})}):c.jsxs("div",{ref:a,className:"group peer text-sidebar-foreground hidden md:block","data-state":l,"data-collapsible":l==="collapsed"?n:"","data-variant":t,"data-side":e,children:[c.jsx("div",{className:H("relative h-svh w-[--sidebar-width] bg-transparent transition-[width] duration-200 ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180",t==="floating"||t==="inset"?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]":"group-data-[collapsible=icon]:w-[--sidebar-width-icon]")}),c.jsx("div",{className:H("fixed inset-y-0 z-10 hidden h-svh w-[--sidebar-width] transition-[left,right,width] duration-200 ease-linear md:flex",e==="left"?"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",t==="floating"||t==="inset"?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]":"group-data-[collapsible=icon]:w-[--sidebar-width-icon] group-data-[side=left]:border-r group-data-[side=right]:border-l",r),...s,children:c.jsx("div",{"data-sidebar":"sidebar",className:"bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow",children:i})})]})});Rd.displayName="Sidebar";const vx=y.forwardRef(({className:e,onClick:t,...n},r)=>{const{toggleSidebar:i}=os();return c.jsxs(_e,{ref:r,"data-sidebar":"trigger",variant:"ghost",size:"icon",className:H("h-7 w-7",e),onClick:s=>{t==null||t(s),i()},...n,children:[c.jsx(Zm,{}),c.jsx("span",{className:"sr-only",children:"Toggle Sidebar"})]})});vx.displayName="SidebarTrigger";const wx=y.forwardRef(({className:e,...t},n)=>{const{toggleSidebar:r}=os();return c.jsx("button",{ref:n,"data-sidebar":"rail","aria-label":"Toggle Sidebar",tabIndex:-1,onClick:r,title:"Toggle Sidebar",className:H("hover:after:bg-sidebar-border absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] sm:flex","[[data-side=left]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize","[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize","group-data-[collapsible=offcanvas]:hover:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full","[[data-side=left][data-collapsible=offcanvas]_&]:-right-2","[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",e),...t})});wx.displayName="SidebarRail";const kx=y.forwardRef(({className:e,...t},n)=>c.jsx("main",{ref:n,className:H("bg-background relative flex min-h-svh flex-1 flex-col","peer-data-[variant=inset]:min-h-[calc(100svh-theme(spacing.4))] md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2",e),...t}));kx.displayName="SidebarInset";const Sx=y.forwardRef(({className:e,...t},n)=>c.jsx(is,{ref:n,"data-sidebar":"input",className:H("bg-background focus-visible:ring-sidebar-ring h-8 w-full shadow-none focus-visible:ring-2",e),...t}));Sx.displayName="SidebarInput";const Md=y.forwardRef(({className:e,...t},n)=>c.jsx("div",{ref:n,"data-sidebar":"header",className:H("flex flex-col gap-2 p-2",e),...t}));Md.displayName="SidebarHeader";const $d=y.forwardRef(({className:e,...t},n)=>c.jsx("div",{ref:n,"data-sidebar":"footer",className:H("flex flex-col gap-2 p-2",e),...t}));$d.displayName="SidebarFooter";const Fd=y.forwardRef(({className:e,...t},n)=>c.jsx(Id,{ref:n,"data-sidebar":"separator",className:H("bg-sidebar-border mx-2 w-auto",e),...t}));Fd.displayName="SidebarSeparator";const Ld=y.forwardRef(({className:e,...t},n)=>c.jsx("div",{ref:n,"data-sidebar":"content",className:H("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",e),...t}));Ld.displayName="SidebarContent";const gi=y.forwardRef(({className:e,...t},n)=>c.jsx("div",{ref:n,"data-sidebar":"group",className:H("relative flex w-full min-w-0 flex-col p-2",e),...t}));gi.displayName="SidebarGroup";const xi=y.forwardRef(({className:e,asChild:t=!1,...n},r)=>{const i=t?rr:"div";return c.jsx(i,{ref:r,"data-sidebar":"group-label",className:H("text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium transition-[margin,opa] duration-200 ease-linear outline-none focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",e),...n})});xi.displayName="SidebarGroupLabel";const _x=y.forwardRef(({className:e,asChild:t=!1,...n},r)=>{const i=t?rr:"button";return c.jsx(i,{ref:r,"data-sidebar":"group-action",className:H("text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 transition-transform outline-none focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0 cursor-pointer","after:absolute after:-inset-2 after:md:hidden","group-data-[collapsible=icon]:hidden",e),...n})});_x.displayName="SidebarGroupAction";const br=y.forwardRef(({className:e,...t},n)=>c.jsx("div",{ref:n,"data-sidebar":"group-content",className:H("w-full text-sm",e),...t}));br.displayName="SidebarGroupContent";const ga=y.forwardRef(({className:e,...t},n)=>c.jsx("ul",{ref:n,"data-sidebar":"menu",className:H("flex w-full min-w-0 flex-col gap-1",e),...t}));ga.displayName="SidebarMenu";const Zd=y.forwardRef(({className:e,...t},n)=>c.jsx("li",{ref:n,"data-sidebar":"menu-item",className:H("group/menu-item relative",e),...t}));Zd.displayName="SidebarMenuItem";const jx=qr("peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 cursor-pointer",{variants:{variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"},size:{default:"h-8 text-sm",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:!p-0"}},defaultVariants:{variant:"default",size:"default"}}),Bd=y.forwardRef(({asChild:e=!1,isActive:t=!1,variant:n="default",size:r="default",tooltip:i,className:s,...a},o)=>{const l=e?rr:"button",{isMobile:u,state:f}=os(),d=c.jsx(l,{ref:o,"data-sidebar":"menu-button","data-size":r,"data-active":t,className:H(jx({variant:n,size:r}),s),...a});return i?(typeof i=="string"&&(i={children:i}),c.jsxs(Xe,{children:[c.jsx(Qe,{asChild:!0,children:d}),c.jsx(et,{side:"right",align:"center",hidden:f!=="collapsed"||u,...i})]})):d});Bd.displayName="SidebarMenuButton";const Cx=y.forwardRef(({className:e,asChild:t=!1,showOnHover:n=!1,...r},i)=>{const s=t?rr:"button";return c.jsx(s,{ref:i,"data-sidebar":"menu-action",className:H("text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 transition-transform outline-none focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0 cursor-pointer","after:absolute after:-inset-2 after:md:hidden","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",n&&"peer-data-[active=true]/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0",e),...r})});Cx.displayName="SidebarMenuAction";const Nx=y.forwardRef(({className:e,...t},n)=>c.jsx("div",{ref:n,"data-sidebar":"menu-badge",className:H("text-sidebar-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums select-none","peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",e),...t}));Nx.displayName="SidebarMenuBadge";const Ex=y.forwardRef(({className:e,showIcon:t=!1,...n},r)=>{const i=y.useMemo(()=>`${Math.floor(Math.random()*40)+50}%`,[]);return c.jsxs("div",{ref:r,"data-sidebar":"menu-skeleton",className:H("flex h-8 items-center gap-2 rounded-md px-2",e),...n,children:[t&&c.jsx(Er,{className:"size-4 rounded-md","data-sidebar":"menu-skeleton-icon"}),c.jsx(Er,{className:"h-4 max-w-[--skeleton-width] flex-1","data-sidebar":"menu-skeleton-text",style:{"--skeleton-width":i}})]})});Ex.displayName="SidebarMenuSkeleton";const Ix=y.forwardRef(({className:e,...t},n)=>c.jsx("ul",{ref:n,"data-sidebar":"menu-sub",className:H("border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5","group-data-[collapsible=icon]:hidden",e),...t}));Ix.displayName="SidebarMenuSub";const zx=y.forwardRef(({...e},t)=>c.jsx("li",{ref:t,...e}));zx.displayName="SidebarMenuSubItem";const Tx=y.forwardRef(({asChild:e=!1,size:t="md",isActive:n,className:r,...i},s)=>{const a=e?rr:"a";return c.jsx(a,{ref:s,"data-sidebar":"menu-sub-button","data-size":t,"data-active":n,className:H("text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground [&>svg]:text-sidebar-accent-foreground flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-none focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 cursor-pointer","data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground",t==="sm"&&"text-xs",t==="md"&&"text-sm","group-data-[collapsible=icon]:hidden",r),...i})});Tx.displayName="SidebarMenuSubButton";function yi(e,t){const n=URL.createObjectURL(t),r=document.createElement("a");r.href=n,r.style.display="none",r.download=e,document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(n)}const Ax=typeof window<"u"?navigator.userAgent.toUpperCase().indexOf("MAC")>=0:!1;function Px({document:e,indicator:t,compact:n=!1}){const r=y.useRef(null),[i,s]=y.useState(!1),[a,o]=y.useState(!1),[l,u]=y.useState(!1),{openDocument:f,documentTypes:d,activeTab:p}=Ae(P=>P),{name:h,text:m,isGenerating:w}=yn(P=>P),x=(d[e.name]||"application/json+report")==="application/json+theme",_=p===e.name,[g,T]=y.useState(h),[E,k]=y.useState(m),N=100,M=0;y.useEffect(()=>{const P=setTimeout(()=>{h&&m?(T(h),k(m)):w||(T(""),k(""))},w?N:M);return()=>clearTimeout(P)},[h,m,w]);const Y=g===e.name,C=P=>{var J;const A=new Set;try{const O=JSON.parse(P);(J=O.props)!=null&&J.theme&&A.add(O.props.theme),O.children&&Array.isArray(O.children)&&O.children.forEach(q=>{var b;q.name==="docx"&&((b=q.props)!=null&&b.theme)&&A.add(q.props.theme)})}catch{}return A},B=y.useMemo(()=>{if(!x||!E)return!1;try{const P=JSON.parse(e.text),A=ua(P);if(A)return C(E).has(A)}catch{}return!1},[x,E,e.text,e.name,g]),R=y.useCallback(()=>{o(!1)},[]),U=y.useCallback(()=>{u(!1)},[]),L=c.jsxs(Bd,{variant:"default",size:"default",ref:r,className:H("text-sidebar-foreground focus:bg-accent focus:text-accent-foreground w-full",n?"justify-center px-1":"justify-start gap-2",i&&"bg-accent text-accent-foreground",_&&(n?"bg-green-50 text-green-700 dark:bg-green-900/20 dark:text-green-300":"bg-green-50 border-l-2 border-green-500 text-green-700 dark:bg-green-900/20 dark:border-green-400 dark:text-green-300"),Y&&!_&&(n?"bg-blue-50 text-blue-700 dark:bg-blue-900/20 dark:text-blue-300":"bg-blue-50 border-l-2 border-blue-500 text-blue-700 dark:bg-blue-900/20 dark:border-blue-400 dark:text-blue-300"),B&&!_&&!Y&&(n?"bg-purple-50 text-purple-700 dark:bg-purple-900/20 dark:text-purple-300":"bg-purple-50 border-l-2 border-purple-500 text-purple-700 dark:bg-purple-900/20 dark:border-purple-400 dark:text-purple-300")),title:e.name,onClick:()=>{f(e.name)},onKeyDown:P=>{var A;(P.ctrlKey||P.metaKey)&&P.key==="Enter"?(f(e.name),P.preventDefault()):P.key==="Enter"?(o(!0),P.preventDefault()):P.key==="Backspace"||P.key==="Delete"?(u(!0),P.preventDefault()):P.key==="Escape"&&((A=r.current)==null||A.blur(),P.preventDefault())},children:[_?c.jsx($o,{className:H("size-4","text-green-600 dark:text-green-400")}):Y?c.jsx($o,{className:H("size-4","text-blue-600 dark:text-blue-400")}):x?c.jsx(sa,{className:"size-4 text-purple-600 dark:text-purple-400"}):c.jsx(Gc,{className:"size-4 text-blue-600 dark:text-blue-400"}),!n&&c.jsx("span",{className:H("truncate flex-1",x&&!_&&!Y&&!B&&"text-purple-700 dark:text-purple-300",(_||Y||B)&&"font-medium"),children:e.name})]});return c.jsxs(Zd,{children:[c.jsxs(tx,{onOpenChange:s,children:[c.jsx(nx,{children:n?c.jsxs(Xe,{children:[c.jsx(Qe,{asChild:!0,children:L}),c.jsx(et,{side:"right",children:c.jsxs("div",{className:"text-xs",children:[e.name,x?c.jsx("div",{className:"opacity-70",children:"Theme"}):c.jsx("div",{className:"opacity-70",children:"Document"})]})})]}):L}),c.jsxs(Ed,{children:[c.jsxs(yr,{onClick:()=>f(e.name),children:["Open",c.jsx(mi,{children:Ax?"⌘⏎":"⌃⏎"})]}),c.jsx(ma,{}),c.jsx(yr,{disabled:!e,onClick:()=>{e&&yi(e.name,new Blob([e.text],{type:e.type}))},children:"Download..."}),c.jsx(ma,{}),c.jsxs(yr,{onClick:()=>o(!0),children:["Rename...",c.jsx(mi,{children:"⏎"})]}),c.jsxs(yr,{onClick:()=>u(!0),children:["Delete",c.jsx(mi,{children:"⌫"})]})]})]}),c.jsx(Dt,{open:a,onOpenChange:o,children:c.jsx(Et,{className:"sm:max-w-[425px]",onCloseAutoFocus:P=>{var A;P.preventDefault(),(A=r.current)==null||A.focus()},children:c.jsx(Ei,{mode:"update",shouldReset:!a,postSubmit:R,selectedName:e.name})})}),c.jsx(Dt,{open:l,onOpenChange:u,children:c.jsx(Et,{className:"sm:max-w-[425px]",onCloseAutoFocus:P=>{var A;P.preventDefault(),(A=r.current)==null||A.focus()},children:c.jsx(Ei,{mode:"delete",shouldReset:!l,postSubmit:U,selectedName:e.name})})})]})}const el=Ee.memo(Px);async function Ox(e,t){const n=JSON.stringify({name:e,props:t,children:[]},null,2);await navigator.clipboard.writeText(n)}const Dx=qr("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function kn({className:e,variant:t,...n}){return c.jsx("div",{className:H(Dx({variant:t}),e),...n})}const Pr=y.forwardRef(({className:e,children:t,...n},r)=>c.jsxs(Oc,{ref:r,className:H("relative overflow-hidden",e),...n,children:[c.jsx(Em,{className:"h-full w-full rounded-[inherit]",children:t}),c.jsx(Vd,{}),c.jsx(Im,{})]}));Pr.displayName=Oc.displayName;const Vd=y.forwardRef(({className:e,orientation:t="vertical",...n},r)=>c.jsx(Dc,{ref:r,orientation:t,className:H("flex touch-none transition-colors select-none",t==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",t==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",e),...n,children:c.jsx(zm,{className:"bg-border relative flex-1 rounded-full"})}));Vd.displayName=Dc.displayName;function eo({className:e,...t}){return c.jsx(Tm,{"data-slot":"switch",className:H("peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 cursor-pointer",e),...t,children:c.jsx(Am,{"data-slot":"switch-thumb",className:H("bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0")})})}const Rx=qr("relative w-full rounded-lg border px-4 py-3 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground [&>svg~*]:pl-7",{variants:{variant:{default:"bg-background text-foreground",destructive:"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive"}},defaultVariants:{variant:"default"}}),Ii=y.forwardRef(({className:e,variant:t,...n},r)=>c.jsx("div",{ref:r,role:"alert",className:H(Rx({variant:t}),e),...n}));Ii.displayName="Alert";const Mx=y.forwardRef(({className:e,...t},n)=>c.jsx("h5",{ref:n,className:H("mb-1 font-medium leading-none tracking-tight",e),...t}));Mx.displayName="AlertTitle";const zi=y.forwardRef(({className:e,...t},n)=>c.jsx("div",{ref:n,className:H("text-sm [&_p]:leading-relaxed",e),...t}));zi.displayName="AlertDescription";const Ti=y.memo(({keyName:e,value:t,depth:n=0,isLast:r=!1})=>{const[i,s]=y.useState(n<2),a=t!==null&&typeof t=="object",o=Array.isArray(t),l=()=>s(!i),u=()=>t===null?c.jsx("span",{className:"text-orange-500",children:"null"}):t===void 0?c.jsx("span",{className:"text-gray-500",children:"undefined"}):typeof t=="boolean"?c.jsx("span",{className:"text-blue-500",children:String(t)}):typeof t=="number"?c.jsx("span",{className:"text-green-500",children:t}):typeof t=="string"?t.startsWith("http")?c.jsxs("span",{className:"text-purple-500",children:['"',t,'"']}):t.startsWith("#/")?c.jsxs("span",{className:"text-cyan-500",children:['"',t,'"']}):c.jsxs("span",{className:"text-amber-600",children:['"',t,'"']}):null,f=a?Object.keys(t).length:0;return c.jsxs("div",{className:H("text-sm",n>0&&"ml-4"),children:[c.jsxs("div",{className:"flex items-start hover:bg-muted/30 rounded px-1 py-0.5",children:[a&&c.jsx("button",{onClick:l,className:"mr-1 hover:bg-muted rounded p-0.5","aria-label":i?"Collapse":"Expand",children:i?c.jsx(an,{className:"h-3 w-3"}):c.jsx(Qi,{className:"h-3 w-3"})}),!a&&c.jsx("span",{className:"w-4"}),e&&c.jsxs(c.Fragment,{children:[c.jsxs("span",{className:"text-blue-600 dark:text-blue-400",children:['"',e,'"']}),c.jsx("span",{className:"mx-1",children:":"})]}),a?c.jsxs("span",{className:"text-muted-foreground",children:[o?"[":"{",!i&&c.jsxs("span",{className:"mx-1 text-xs",children:[f," ",o?"items":"properties"]}),!i&&(o?"]":"}")]}):u(),!a&&!r&&c.jsx("span",{className:"text-muted-foreground",children:","})]}),a&&i&&c.jsxs("div",{className:"ml-4",children:[o?t.map((d,p)=>c.jsx(Ti,{keyName:String(p),value:d,depth:n+1,isLast:p===t.length-1},p)):Object.entries(t).map(([d,p],h,m)=>c.jsx(Ti,{keyName:d,value:p,depth:n+1,isLast:h===m.length-1},d)),c.jsx("div",{className:"ml-4",children:c.jsxs("span",{className:"text-muted-foreground",children:[o?"]":"}",!r&&","]})})]})]})});Ti.displayName="JsonNode";const Ai=y.memo(({schema:e,loading:t=!1,error:n,className:r})=>t?c.jsxs("div",{className:H("space-y-4",r),children:[c.jsx(Er,{className:"h-8 w-64"}),c.jsx(Er,{className:"h-4 w-full"}),c.jsx(Er,{className:"h-64 w-full"})]}):n?c.jsx(Ii,{variant:"destructive",className:r,children:c.jsx(zi,{children:n})}):e?c.jsx(Pr,{className:H("h-full w-full rounded-md border bg-muted/10 p-4",r),children:c.jsx("div",{className:"font-mono text-xs",children:c.jsx(Ti,{value:e})})}):c.jsx(Ii,{className:r,children:c.jsx(zi,{children:"No schema available"})}));Ai.displayName="SchemaViewer";function $x({plugins:e,initialFocusedPlugin:t}){var g,T;const n=Ot(E=>E.togglePlugin),r=Ot(E=>E.isPluginSelected),i=Ot(E=>E.selectedPlugins),s=Ot(E=>E.isApplyingPlugins),[a,o]=y.useState(null),[l,u]=y.useState(null),[f,d]=y.useState("properties");y.useEffect(()=>{if(t){const E=e.find(k=>k.name===t);if(E){o(E);return}}e.length>0&&!a&&o(e[0])},[t,e]);const p=y.useMemo(()=>{const E={current:[],downstream:[],upstream:[]};return e.forEach(k=>{E[k.location]&&E[k.location].push(k)}),E},[e]),h=async(E,k)=>{a&&(await Ox(a.name,E.props),u(k),setTimeout(()=>u(null),2e3))},m=E=>{switch(E){case"current":return"Current Directory";case"downstream":return"Project";case"upstream":return"Parent Directories";default:return E}},w=E=>{switch(E){case"current":return c.jsx(Hm,{className:"size-3"});case"downstream":return c.jsx(Jm,{className:"size-3"});case"upstream":return c.jsx(Gc,{className:"size-3"});default:return null}},S=((g=a==null?void 0:a.schema)==null?void 0:g.properties)&&Object.keys(a.schema.properties).length>0,x=(T=a==null?void 0:a.schema)==null?void 0:T.jsonSchema,_=(a==null?void 0:a.examples)&&a.examples.length>0;return c.jsxs(c.Fragment,{children:[c.jsxs(Gt,{children:[c.jsxs(Kt,{className:"flex items-center gap-2",children:[c.jsx(Kc,{className:"size-5 text-amber-600 dark:text-amber-400"}),"Plugins",c.jsxs(kn,{variant:"secondary",className:"font-normal",children:[i.size," active"]})]}),c.jsxs(Cn,{children:[e.length," plugin",e.length!==1?"s":""," discovered in your project"]})]}),c.jsxs("div",{className:"mt-3 flex gap-0 h-[600px] border rounded-lg overflow-hidden",children:[c.jsx("div",{className:"w-[240px] flex-none border-r bg-muted/30",children:c.jsx(Pr,{className:"h-full",children:c.jsx("div",{className:"p-2 space-y-3",children:Object.entries(p).map(([E,k])=>k.length===0?null:c.jsxs("div",{children:[c.jsxs("div",{className:"flex items-center gap-1.5 px-2 py-1 text-[11px] font-medium text-muted-foreground uppercase tracking-wider",children:[w(E),m(E)]}),c.jsx("div",{className:"space-y-0.5",children:k.map(N=>{const M=r(N.name),Y=(a==null?void 0:a.name)===N.name;return c.jsxs("button",{onClick:()=>o(N),className:H("w-full text-left px-2 py-1.5 rounded-md transition-colors cursor-pointer","flex items-center gap-2",Y?"bg-accent text-accent-foreground":"hover:bg-accent/50 text-foreground"),children:[c.jsx("div",{className:H("size-1.5 rounded-full flex-none transition-colors",M?"bg-amber-500 dark:bg-amber-400":"bg-muted-foreground/30")}),c.jsx("span",{className:"text-sm font-medium truncate flex-1",children:N.name})]},N.name)})})]},E))})})}),a?c.jsxs("div",{className:"flex-1 flex flex-col min-w-0",children:[c.jsxs("div",{className:"flex-none px-5 py-4 border-b bg-background",children:[c.jsxs("div",{className:"flex items-start justify-between gap-3",children:[c.jsxs("div",{className:"min-w-0",children:[c.jsxs("div",{className:"flex items-center gap-2.5",children:[c.jsx("h3",{className:"text-base font-semibold truncate",children:a.name}),a.version&&c.jsxs(kn,{variant:"outline",className:"font-mono text-[11px] flex-none",children:["v",a.version]})]}),a.description&&c.jsx("p",{className:"text-sm text-muted-foreground mt-1 line-clamp-2",children:a.description})]}),c.jsxs("div",{className:"flex items-center gap-2 flex-none pt-0.5",children:[c.jsx("span",{className:"text-xs text-muted-foreground",children:r(a.name)?"On":"Off"}),c.jsx(eo,{checked:r(a.name),onCheckedChange:()=>n(a),disabled:s,"aria-label":`Toggle ${a.name}`})]})]}),c.jsxs("div",{className:"flex items-center gap-1.5 mt-2 text-xs text-muted-foreground",children:[w(a.location),c.jsx("span",{children:m(a.location)}),c.jsx("span",{className:"text-muted-foreground/60 mx-1",children:"/"}),c.jsx("span",{className:"font-mono truncate",children:a.relativePath})]})]}),c.jsxs("div",{className:"flex-none px-5 pt-3 pb-0 flex gap-1 border-b bg-background",children:[S&&c.jsx("button",{onClick:()=>d("properties"),className:H("px-3 py-1.5 text-sm font-medium rounded-t-md border-b-2 transition-colors cursor-pointer",f==="properties"?"border-primary text-foreground":"border-transparent text-muted-foreground hover:text-foreground"),children:c.jsxs("span",{className:"flex items-center gap-1.5",children:[c.jsx(Fo,{className:"size-3.5"}),"Properties"]})}),x&&c.jsx("button",{onClick:()=>d("schema"),className:H("px-3 py-1.5 text-sm font-medium rounded-t-md border-b-2 transition-colors cursor-pointer",f==="schema"?"border-primary text-foreground":"border-transparent text-muted-foreground hover:text-foreground"),children:c.jsxs("span",{className:"flex items-center gap-1.5",children:[c.jsx(Bm,{className:"size-3.5"}),"Schema"]})}),_&&c.jsx("button",{onClick:()=>d("examples"),className:H("px-3 py-1.5 text-sm font-medium rounded-t-md border-b-2 transition-colors cursor-pointer",f==="examples"?"border-primary text-foreground":"border-transparent text-muted-foreground hover:text-foreground"),children:c.jsxs("span",{className:"flex items-center gap-1.5",children:[c.jsx(Vm,{className:"size-3.5"}),"Examples",c.jsx(kn,{variant:"secondary",className:"text-[10px] px-1.5 py-0 h-4",children:a.examples.length})]})})]}),c.jsx(Pr,{className:"flex-1",children:c.jsxs("div",{className:"p-5",children:[f==="properties"&&S&&c.jsx("div",{className:"space-y-1",children:Object.entries(a.schema.properties).map(([E,k])=>c.jsx(Fx,{name:E,prop:k},E))}),f==="schema"&&x&&c.jsx(Ai,{schema:a.schema.jsonSchema,loading:!1,className:"h-[420px]"}),f==="examples"&&_&&a.examples.map((E,k)=>c.jsxs("div",{className:H(k>0&&"mt-4 pt-4 border-t"),children:[c.jsxs("div",{className:"flex items-center justify-between mb-2",children:[c.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[E.title&&c.jsx("span",{className:"font-medium text-sm truncate",children:E.title}),!E.title&&c.jsxs("span",{className:"text-sm text-muted-foreground",children:["Example ",k+1]})]}),c.jsx(_e,{size:"sm",variant:"ghost",className:"h-7 px-2 text-xs flex-none",onClick:()=>h(E,k),children:l===k?c.jsxs(c.Fragment,{children:[c.jsx(Um,{className:"size-3 mr-1 text-green-600"}),"Copied"]}):c.jsxs(c.Fragment,{children:[c.jsx(es,{className:"size-3 mr-1"}),"Copy"]})})]}),E.description&&c.jsx("p",{className:"text-xs text-muted-foreground mb-2",children:E.description}),c.jsx("pre",{className:"p-3 bg-muted rounded-md overflow-x-auto text-xs font-mono leading-relaxed",children:JSON.stringify(E.props,null,2)})]},k)),!S&&!x&&!_&&c.jsxs("div",{className:"text-center py-12 text-muted-foreground",children:[c.jsx(Fo,{className:"size-10 mx-auto mb-3 opacity-20"}),c.jsx("p",{className:"text-sm",children:"No schema or examples available for this plugin"})]})]})})]}):c.jsx("div",{className:"flex-1 flex items-center justify-center text-muted-foreground",children:c.jsx("p",{className:"text-sm",children:"Select a plugin to view details"})})]})]})}function Fx({name:e,prop:t}){var a;const[n,r]=y.useState(!1),i=t.description||t.enum||t.default!==void 0||t.items||t.properties,s=t.type||(t.enum?"enum":t.oneOf?"oneOf":"—");return c.jsxs("div",{className:"rounded-md border",children:[c.jsxs("button",{onClick:()=>i&&r(!n),className:H("w-full text-left flex items-center gap-2 px-3 py-2 text-sm",i&&"cursor-pointer hover:bg-muted/50"),children:[i?n?c.jsx(an,{className:"size-3 text-muted-foreground flex-none"}):c.jsx(Qi,{className:"size-3 text-muted-foreground flex-none"}):c.jsx("span",{className:"size-3 flex-none"}),c.jsx("span",{className:"font-mono font-medium text-xs",children:e}),c.jsx(kn,{variant:"outline",className:"text-[10px] px-1.5 py-0 h-4 flex-none",children:s}),t.optional===!1&&c.jsx("span",{className:"text-[10px] text-red-500 font-medium flex-none",children:"required"}),c.jsx("span",{className:"flex-1"}),t.default!==void 0&&c.jsxs("span",{className:"text-[10px] font-mono text-muted-foreground flex-none",children:["= ",JSON.stringify(t.default)]})]}),n&&i&&c.jsxs("div",{className:"px-3 pb-2 pt-0 ml-5 text-xs space-y-1 text-muted-foreground",children:[t.description&&c.jsx("p",{children:t.description}),t.enum&&c.jsxs("p",{children:[c.jsx("span",{className:"font-medium text-foreground",children:"Values: "}),t.enum.map((o,l)=>c.jsxs("span",{children:[l>0&&", ",c.jsx("code",{className:"bg-muted px-1 rounded",children:JSON.stringify(o)})]},l))]}),((a=t.items)==null?void 0:a.type)&&c.jsxs("p",{children:[c.jsx("span",{className:"font-medium text-foreground",children:"Items: "}),t.items.type]})]})]})}const Is=Pm,zs=Om,Ts=Dm,to=Rm,no=Mm,Lx=y.forwardRef(({className:e,inset:t,children:n,...r},i)=>c.jsxs(Lc,{ref:i,className:H("focus:bg-accent data-[state=open]:bg-accent flex cursor-pointer items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none select-none [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",t&&"pl-8",e),...r,children:[n,c.jsx(Qi,{className:"ml-auto"})]}));Lx.displayName=Lc.displayName;const Zx=y.forwardRef(({className:e,...t},n)=>c.jsx(Zc,{ref:n,className:H("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-lg",e),...t}));Zx.displayName=Zc.displayName;const ls=y.forwardRef(({className:e,sideOffset:t=4,...n},r)=>c.jsx($m,{children:c.jsx(Rc,{ref:r,sideOffset:t,className:H("bg-popover text-popover-foreground z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-md","data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...n})}));ls.displayName=Rc.displayName;const qt=y.forwardRef(({className:e,inset:t,...n},r)=>c.jsx(Mc,{ref:r,className:H("focus:bg-accent focus:text-accent-foreground relative flex cursor-pointer items-center gap-2 rounded-sm px-2 py-1.5 text-sm transition-colors outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0",t&&"pl-8",e),...n}));qt.displayName=Mc.displayName;const Bx=y.forwardRef(({className:e,children:t,checked:n,...r},i)=>c.jsxs(Bc,{ref:i,className:H("focus:bg-accent focus:text-accent-foreground relative flex cursor-pointer items-center rounded-sm py-1.5 pr-2 pl-8 text-sm transition-colors outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),checked:n,...r,children:[c.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:c.jsx(Vc,{children:c.jsx(ln,{className:"h-4 w-4"})})}),t]}));Bx.displayName=Bc.displayName;const Vx=y.forwardRef(({className:e,children:t,...n},r)=>c.jsxs(Uc,{ref:r,className:H("focus:bg-accent focus:text-accent-foreground relative flex cursor-pointer items-center rounded-sm py-1.5 pr-2 pl-8 text-sm transition-colors outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...n,children:[c.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:c.jsx(Vc,{children:c.jsx(Wc,{className:"h-2 w-2 fill-current"})})}),t]}));Vx.displayName=Uc.displayName;const Ud=y.forwardRef(({className:e,inset:t,...n},r)=>c.jsx(Fc,{ref:r,className:H("px-2 py-1.5 text-sm font-semibold",t&&"pl-8",e),...n}));Ud.displayName=Fc.displayName;const Or=y.forwardRef(({className:e,...t},n)=>c.jsx($c,{ref:n,className:H("bg-muted -mx-1 my-1 h-px",e),...t}));Or.displayName=$c.displayName;function Ux(){const{theme:e,setTheme:t}=dc(),n=e==="system"?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":e,r=y.useCallback(()=>{t(n==="dark"?"light":"dark")},[n,t]);return c.jsxs(Xe,{children:[c.jsx(Qe,{asChild:!0,children:c.jsxs(_e,{variant:"ghost",size:"icon",onClick:r,children:[c.jsx(qm,{className:"hidden dark:block"}),c.jsx(Wm,{className:"block dark:hidden"}),c.jsx("span",{className:"sr-only",children:"Toggle theme"})]})}),c.jsx(et,{children:c.jsx("p",{children:"Toggle theme"})})]})}const Jd=Fm,ro=y.forwardRef(({className:e,...t},n)=>c.jsx(Jc,{ref:n,className:H("bg-muted text-muted-foreground inline-flex h-9 items-center justify-center rounded-lg p-1",e),...t}));ro.displayName=Jc.displayName;const Dr=y.forwardRef(({className:e,...t},n)=>c.jsx(Hc,{ref:n,className:H("ring-offset-background focus-visible:ring-ring data-[state=active]:bg-background data-[state=active]:text-foreground inline-flex cursor-pointer items-center justify-center rounded-md px-3 py-1 text-sm font-medium whitespace-nowrap transition-all focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow",e),...t}));Dr.displayName=Hc.displayName;const Rr=y.forwardRef(({className:e,...t},n)=>c.jsx(qc,{ref:n,className:H("ring-offset-background focus-visible:ring-ring mt-2 focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none",e),...t}));Rr.displayName=qc.displayName;async function Jx(e){if(navigator.clipboard&&navigator.clipboard.writeText)try{return await navigator.clipboard.writeText(e),!0}catch(t){console.warn("Clipboard API failed, falling back to legacy method:",t)}try{const t=document.createElement("textarea");t.value=e,t.style.position="fixed",t.style.top="0",t.style.left="0",t.style.width="2em",t.style.height="2em",t.style.padding="0",t.style.border="none",t.style.outline="none",t.style.boxShadow="none",t.style.background="transparent",document.body.appendChild(t),t.focus(),t.select();const n=document.execCommand("copy");return document.body.removeChild(t),n}catch(t){return console.error("Failed to copy text to clipboard:",t),!1}}function Hx(e){try{const t=typeof e=="string"?JSON.parse(e):e;return JSON.stringify(t,null,2)}catch(t){return console.error("Failed to format schema:",t),typeof e=="string"?e:JSON.stringify(e)}}async function qx(e){const t=Hx(e);return Jx(t)}const Hd=({open:e,onOpenChange:t,defaultTab:n="document"})=>{const[r,i]=y.useState(n),[s,a]=y.useState(null),[o,l]=y.useState(null),[u,f]=y.useState(!1),[d,p]=y.useState(!1),[h,m]=y.useState(null),[w,S]=y.useState(null),[x,_]=y.useState(!1),{toast:g}=Wi(),T=Ot(U=>U.selectedPlugins),E=Array.from(T);y.useEffect(()=>{n&&i(n)},[n]);const k=y.useCallback(async()=>{f(!0),m(null);try{const U=await Ss.fetchDocumentSchema(E);a(U)}catch(U){const L=U instanceof Error?U.message:"Failed to load document schema";m(L),g({variant:"destructive",title:"Error loading schema",description:L})}finally{f(!1)}},[E,g]),N=y.useCallback(async()=>{if(!o){p(!0),S(null);try{const U=await Ss.fetchThemeSchema();l(U)}catch(U){const L=U instanceof Error?U.message:"Failed to load theme schema";S(L),g({variant:"destructive",title:"Error loading schema",description:L})}finally{p(!1)}}},[o,g]),[M,Y]=y.useState([]);y.useEffect(()=>{e||(a(null),m(null))},[e]),y.useEffect(()=>{if(!e)return;const U=E.length!==M.length||E.some((L,P)=>L!==M[P]);r==="document"?(!s||U)&&(U&&(Ss.clearPluginSchemaCache(),Y([...E])),u||k()):r==="theme"&&!o&&!d&&N()},[r,e,s,o,u,d,E,M,k,N]);const C=E.length,B=r==="document"?s:o,R=async()=>{if(B)try{await qx(B)&&(_(!0),g({title:"Schema copied",description:"The JSON schema has been copied to your clipboard"}),setTimeout(()=>_(!1),2e3))}catch(U){console.error("Copy failed:",U)}};return c.jsx(Dt,{open:e,onOpenChange:t,children:c.jsxs(Et,{className:"max-w-4xl max-h-[90vh] overflow-hidden flex flex-col",children:[c.jsx(Gt,{children:c.jsx(Kt,{children:"Schema Viewer"})}),c.jsxs(Jd,{value:r,onValueChange:U=>i(U),className:"flex-1 overflow-hidden flex flex-col",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsxs(ro,{children:[c.jsxs(Dr,{value:"document",className:"flex items-center gap-1",children:["Document",C>0&&c.jsxs(kn,{variant:"secondary",className:"ml-1 text-xs px-1 py-0",children:["+",C]})]}),c.jsx(Dr,{value:"theme",children:"Theme"})]}),c.jsx("div",{className:"ml-auto",children:c.jsx(_e,{variant:"ghost",size:"icon",onClick:R,disabled:x||!B,"aria-label":"Copy schema",children:x?c.jsx(ln,{className:"h-4 w-4"}):c.jsx(es,{className:"h-4 w-4"})})})]}),c.jsxs("div",{className:"flex-1 overflow-auto mt-4",children:[c.jsx(Rr,{value:"document",className:"h-full",children:c.jsx(Ai,{schema:s,loading:u,error:h||void 0})}),c.jsx(Rr,{value:"theme",className:"h-full",children:c.jsx(Ai,{schema:o,loading:d,error:w||void 0})})]})]})]})})};function Wx({discoveryData:e,onToggleSidebar:t,isCollapsed:n=!1,isAnimating:r=!1}){const{documents:i,documentTypes:s,createDocument:a,openDocument:o}=Ae(vg(I=>({documents:I.documents,documentTypes:I.documentTypes,createDocument:I.createDocument,openDocument:I.openDocument}))),l=la(I=>I.updateTheme),u=la(I=>I.removeTheme),f=y.useContext(rd),[d,p]=y.useState(!1),[h,m]=y.useState(!1),[w,S]=y.useState(!1),[x,_]=y.useState(null),g=Ot(I=>I.togglePlugin),T=Ot(I=>I.isPluginSelected),E=Ot(I=>I.selectedPlugins),k=Ot(I=>I.isApplyingPlugins),[N,M]=y.useState(!1),[Y,C]=y.useState(new Set(["current-docs","current-themes"])),{toast:B}=Wi(),R=i.filter(I=>s[I.name]!=="application/json+theme"),U=i.filter(I=>s[I.name]==="application/json+theme"),L=y.useMemo(()=>{if(!e)return{current:[],downstream:[]};const I={current:[],downstream:[]};return e.documents.forEach($=>{I[$.location]&&I[$.location].push($)}),I},[e]),P=y.useMemo(()=>{if(!e)return{current:[],downstream:[]};const I={current:[],downstream:[]};return e.themes.forEach($=>{I[$.location]&&I[$.location].push($)}),I},[e]),A=y.useMemo(()=>{const I=new Set;return R.forEach($=>{try{const W=JSON.parse($.text);W.children&&Array.isArray(W.children)&&W.children.forEach(le=>{var K;le.name==="docx"&&((K=le.props)!=null&&K.theme)&&I.add(le.props.theme)})}catch{}}),I},[R]),J=y.useCallback(()=>{p(!1)},[]),O=y.useCallback(()=>{m(!1)},[]),q=y.useRef(new Map);y.useEffect(()=>{const I=q.current,$=new Map;U.forEach(W=>{$.set(W.name,W.text),I.get(W.name)!==W.text&&l(W.name,W.text)}),I.forEach((W,le)=>{$.has(le)||u(le)}),q.current=$},[U,l,u]);const b=y.useRef(!1);y.useEffect(()=>{if(b.current||!f)return;b.current=!0;const I=new Set(U.map(W=>W.name));Object.keys(f.getState().customThemes).forEach(W=>{I.has(W)||u(W)})},[U,u,f]);const ce=I=>{C($=>{const W=new Set($);return W.has(I)?W.delete(I):W.add(I),W})},oe=Ae(I=>I.activeTab),v=oe&&s[oe]==="application/json+theme"?"theme":"document",{resolvedTheme:X}=dc(),ae=X==="dark"?"https://ik.imagekit.io/wiseair/Brand%20assets/wiseair-logo-white.svg?updatedAt=1751359555877":"https://ik.imagekit.io/wiseair/Brand%20assets/wiseair-logo.svg?updatedAt=1749817149276",ne=y.useCallback(async(I,$)=>{if(i.some(W=>W.name===I)){o(I);return}try{const W=await fetch(`/api/discovery/${$?"themes":"documents"}/${encodeURIComponent(I)}/content`);if(!W.ok)throw new Error(W.statusText);const le=await W.text(),K=JSON.parse(le);a(I,JSON.stringify(K,null,2)),o(I),B({title:`Added ${$?"theme":"document"}: ${I}`})}catch{B({title:"Failed to load",description:`Could not load ${I}`,variant:"destructive"})}},[i,a,o,B]);return c.jsxs(c.Fragment,{children:[c.jsxs(Rd,{collapsible:"none",style:{"--sidebar-width":n?"3rem":"16rem"},children:[c.jsx(Md,{children:c.jsx("div",{className:H("flex items-center transition-opacity duration-150 ease-out",r?"opacity-0":"opacity-100",n?"justify-center":"justify-between"),children:n?c.jsx(_e,{variant:"ghost",size:"icon","aria-label":"Expand sidebar","aria-expanded":!1,onClick:t,children:c.jsx(Yc,{className:"h-4 w-4"})}):c.jsxs(c.Fragment,{children:[c.jsx("a",{href:"/",className:"flex items-center pl-2",children:c.jsx("img",{src:ae,alt:"WiseAir logo",className:"h-5 w-auto max-w-[120px] shrink-0"})}),c.jsx("div",{className:"flex items-center gap-1",children:c.jsx(_e,{variant:"ghost",size:"icon","aria-label":"Collapse sidebar","aria-expanded":!0,onClick:t,children:c.jsx(Gm,{className:"h-4 w-4"})})})]})})}),c.jsxs(Ld,{className:H("h-full transition-opacity duration-150 ease-out",r?"opacity-0":"opacity-100"),children:[c.jsxs(gi,{children:[c.jsxs(xi,{className:H("flex items-center",n?"justify-center":"justify-between"),children:[c.jsxs("div",{className:"flex items-center gap-2",children:[!n&&c.jsx(Lo,{className:"size-3"}),!n&&c.jsx("span",{children:"Active Documents"})]}),c.jsxs(Dt,{open:d,onOpenChange:p,children:[c.jsxs(Xe,{children:[c.jsx(Qe,{asChild:!0,children:c.jsx(Yo,{asChild:!0,children:c.jsx(_e,{className:H("p-0 flex-shrink-0",n?"mx-auto h-8 w-8 rounded border border-dashed border-sidebar-foreground/20 hover:border-sidebar-foreground/40":"h-6 w-6"),variant:"ghost",size:"icon",children:c.jsx(Si,{className:n?"size-3.5":"size-4"})})})}),c.jsx(et,{side:n?"right":"bottom",children:c.jsx("span",{className:"text-xs",children:"New Document"})})]}),c.jsx(Et,{className:"sm:max-w-[525px]",children:c.jsx(Ei,{mode:"create",shouldReset:!d,postSubmit:J,discoveredDocuments:(e==null?void 0:e.documents)||[]})})]})]}),n?c.jsx(br,{children:c.jsx("div",{className:"flex flex-col items-center gap-0.5 px-0.5",children:R.map(I=>{const $=oe===I.name;return c.jsxs(Xe,{children:[c.jsx(Qe,{asChild:!0,children:c.jsxs("button",{onClick:()=>o(I.name),"aria-label":I.name,className:H("relative w-8 h-8 rounded flex items-center justify-center text-[11px] font-bold transition-colors cursor-pointer",$?"bg-green-100 text-green-700 dark:bg-green-900/40 dark:text-green-300":"text-muted-foreground hover:bg-accent hover:text-accent-foreground"),children:[$&&c.jsx("span",{className:"absolute left-0 top-1 bottom-1 w-0.5 rounded-full bg-green-500 dark:bg-green-400"}),I.name.replace(/\.[^.]+$/,"").slice(0,2).toUpperCase()]})}),c.jsx(et,{side:"right",children:c.jsx("span",{className:"text-xs",children:I.name})})]},I.name)})})}):c.jsx(br,{children:c.jsx(ga,{children:R.length>0?R.map((I,$)=>c.jsx(el,{document:I,compact:n},`doc-${$}`)):c.jsx("div",{className:"px-3 py-2 text-xs text-muted-foreground",children:"No active documents. Click + to create one."})})})]}),c.jsx(Fd,{}),c.jsxs(gi,{children:[c.jsxs(xi,{className:H("flex items-center",n?"justify-center":"justify-between"),children:[c.jsxs("div",{className:"flex items-center gap-2",children:[!n&&c.jsx(sa,{className:"size-3 text-purple-600 dark:text-purple-400"}),!n&&c.jsx("span",{children:"Active Themes"})]}),c.jsxs(Dt,{open:h,onOpenChange:m,children:[c.jsxs(Xe,{children:[c.jsx(Qe,{asChild:!0,children:c.jsx(Yo,{asChild:!0,children:c.jsx(_e,{className:H("p-0 flex-shrink-0",n?"mx-auto h-8 w-8 rounded border border-dashed border-sidebar-foreground/20 hover:border-sidebar-foreground/40":"h-6 w-6"),variant:"ghost",size:"icon",children:c.jsx(Si,{className:n?"size-3.5":"size-4"})})})}),c.jsx(et,{side:n?"right":"bottom",children:c.jsx("span",{className:"text-xs",children:"New Theme"})})]}),c.jsx(Et,{className:"sm:max-w-[525px]",children:c.jsx(Ei,{mode:"create",shouldReset:!h,postSubmit:O,discoveredThemes:(e==null?void 0:e.themes)||[],isTheme:!0})})]})]}),n?c.jsx(br,{children:c.jsx("div",{className:"flex flex-col items-center gap-0.5 px-0.5",children:U.map(I=>{const $=oe===I.name;let W=null;try{const K=JSON.parse(I.text);W=ua(K)}catch{}const le=W?A.has(W):!1;return c.jsxs(Xe,{children:[c.jsx(Qe,{asChild:!0,children:c.jsxs("button",{onClick:()=>o(I.name),"aria-label":I.name,className:H("relative w-8 h-8 rounded flex items-center justify-center text-[11px] font-bold transition-colors cursor-pointer",$?"bg-purple-100 text-purple-700 dark:bg-purple-900/40 dark:text-purple-300":le?"bg-purple-50 text-purple-600 dark:bg-purple-900/20 dark:text-purple-400":"text-muted-foreground hover:bg-accent hover:text-accent-foreground"),children:[$&&c.jsx("span",{className:"absolute left-0 top-1 bottom-1 w-0.5 rounded-full bg-purple-500 dark:bg-purple-400"}),(W||I.name).charAt(0).toUpperCase()]})}),c.jsx(et,{side:"right",children:c.jsxs("div",{className:"text-xs",children:[I.name,le&&c.jsx("div",{className:"opacity-70",children:"In use"})]})})]},I.name)})})}):c.jsx(br,{children:c.jsx(ga,{children:U.length>0?U.map((I,$)=>{let W=null;try{const K=JSON.parse(I.text);W=ua(K)}catch{}const le=W?A.has(W):!1;return c.jsx(el,{document:I,compact:n,indicator:le?"in-use":void 0},`theme-${$}`)}):c.jsxs("div",{className:"px-3 py-2 text-xs text-muted-foreground",children:["No active themes."," ",e&&e.themes.length>0?"Click + to add one.":"No themes discovered in project."]})})})]}),!n&&e&&(e.documents.length>0||e.themes.length>0)&&c.jsxs(gi,{className:"mt-2 border-t pt-4",children:[c.jsxs(xi,{className:"flex items-center mb-2 gap-2",children:[c.jsx(Km,{className:"size-3"}),c.jsx("span",{children:"Discovered Resources"})]}),c.jsxs(c.Fragment,{children:[Object.entries(L).map(([I,$])=>{if($.length===0)return null;const W=`${I}-docs`,le=Y.has(W);return c.jsxs(Is,{open:le,children:[c.jsxs(zs,{className:"flex items-center gap-1 px-3 py-1 text-xs font-medium text-muted-foreground hover:text-foreground transition-colors cursor-pointer w-full",onClick:()=>ce(W),children:[c.jsx(an,{className:H("size-3 transition-transform",!le&&"-rotate-90")}),c.jsx(Lo,{className:"size-3"}),I==="current"?"Current Directory":"Project"," ","Documents (",$.length,")"]}),c.jsx(Ts,{children:c.jsx("div",{className:"pl-4 space-y-0.5",children:$.map((K,ve)=>{const de=i.some(xe=>xe.name===K.name);return c.jsxs("button",{onClick:()=>ne(K.name,!1),className:H("w-full text-left py-1 px-2 rounded text-sm transition-colors","border-l-2 border-blue-400/60 dark:border-blue-500/40","hover:bg-accent hover:text-accent-foreground",de&&"opacity-50"),children:[c.jsx("div",{className:"font-medium truncate",children:K.name}),K.title&&c.jsx("div",{className:"text-xs text-muted-foreground truncate",children:K.title})]},ve)})})})]},W)}),Object.entries(P).map(([I,$])=>{if($.length===0)return null;const W=`${I}-themes`,le=Y.has(W);return c.jsxs(Is,{open:le,children:[c.jsxs(zs,{className:"flex items-center gap-1 px-3 py-1 text-xs font-medium text-muted-foreground hover:text-foreground transition-colors cursor-pointer w-full",onClick:()=>ce(W),children:[c.jsx(an,{className:H("size-3 transition-transform",!le&&"-rotate-90")}),c.jsx(sa,{className:"size-3"}),I==="current"?"Current Directory":"Project"," ","Themes (",$.length,")"]}),c.jsx(Ts,{children:c.jsx("div",{className:"pl-4 space-y-0.5",children:$.map((K,ve)=>{const de=i.some(xe=>xe.name===K.name);return c.jsxs("button",{onClick:()=>ne(K.name,!0),className:H("w-full text-left py-1 px-2 rounded text-sm transition-colors","border-l-2 border-purple-400/60 dark:border-purple-500/40","hover:bg-accent hover:text-accent-foreground",de&&"opacity-50"),children:[c.jsx("div",{className:"font-medium truncate",children:K.name}),K.description&&c.jsx("div",{className:"text-xs text-muted-foreground truncate",children:K.description})]},ve)})})})]},W)}),e&&e.plugins.length>0&&c.jsxs(Is,{open:Y.has("plugins"),children:[c.jsxs(zs,{className:"flex items-center gap-1 px-3 py-1 text-xs font-medium text-muted-foreground hover:text-foreground transition-colors cursor-pointer w-full",onClick:()=>ce("plugins"),children:[c.jsx(an,{className:H("size-3 transition-transform",!Y.has("plugins")&&"-rotate-90")}),c.jsx(Kc,{className:"size-3 text-amber-600 dark:text-amber-400"}),"Plugins (",E.size,"/",e.plugins.length,")"]}),c.jsx(Ts,{children:c.jsx("div",{className:"pl-4 space-y-0.5",children:e.plugins.map((I,$)=>{const W=T(I.name);return c.jsxs("div",{className:H("py-1 px-2 text-sm border-l-2 flex items-center gap-2 group transition-colors",W?"border-amber-500 dark:border-amber-400 text-foreground":"border-amber-400/30 dark:border-amber-500/20 text-muted-foreground"),children:[c.jsxs("div",{className:"flex-1 min-w-0",children:[c.jsx("div",{className:"font-medium truncate",children:I.name}),I.description&&c.jsx("div",{className:"text-xs opacity-70 truncate",children:I.description})]}),c.jsx("button",{className:"flex-none size-5 flex items-center justify-center rounded-sm opacity-0 group-hover:opacity-100 hover:bg-accent transition-all cursor-pointer",title:`View details for ${I.name}`,onClick:le=>{le.stopPropagation(),_(I.name),S(!0)},children:c.jsx(Xc,{className:"size-3 text-muted-foreground"})}),c.jsx(eo,{checked:W,onCheckedChange:()=>g(I),disabled:k,className:"flex-none scale-[0.8]","aria-label":`Toggle ${I.name} plugin`})]},$)})})})]})]})]})]}),c.jsx($d,{children:c.jsx("div",{className:H("flex w-full items-center transition-opacity duration-150 ease-out",r?"opacity-0":"opacity-100",n?"justify-center":"justify-end pr-2"),children:c.jsx(Ux,{})})}),c.jsx(Dt,{open:w,onOpenChange:I=>{S(I),I||_(null)},children:c.jsx(Et,{className:"sm:max-w-5xl max-h-[85vh] overflow-hidden",children:c.jsx($x,{plugins:(e==null?void 0:e.plugins)||[],initialFocusedPlugin:x})})})]}),c.jsx(Hd,{open:N,onOpenChange:M,defaultTab:v==="theme"?"theme":"document"})]})}const tl=y.memo(Wx),Gx=y.lazy(()=>fc(()=>import("./editor-D6UInUeu.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11])).then(e=>({default:e.Editor})));function nl(){return c.jsx(y.Suspense,{fallback:c.jsx("div",{className:"flex items-center justify-center h-full",children:c.jsxs("div",{className:"text-center",children:[c.jsx(nn,{className:"w-8 h-8 mx-auto mb-2"}),c.jsx("p",{className:"text-sm text-muted-foreground",children:"Loading editor..."})]})}),children:c.jsx(Gx,{})})}const Kx=y.lazy(()=>fc(()=>import("./preview-LDgzgj69.js"),__vite__mapDeps([12,1,3,4,5,6,7,8,9,10,11])).then(e=>({default:e.Preview})));function rl(){return c.jsx(y.Suspense,{fallback:c.jsx("div",{className:"flex items-center justify-center h-full",children:c.jsxs("div",{className:"text-center",children:[c.jsx(nn,{className:"w-8 h-8 mx-auto mb-2"}),c.jsx("p",{className:"text-sm text-muted-foreground",children:"Loading preview..."})]})}),children:c.jsx(Kx,{})})}const{createElement:Xn,createContext:Yx,forwardRef:qd,useCallback:pt,useContext:Wd,useEffect:Sn,useImperativeHandle:Gd,useLayoutEffect:Xx,useMemo:Qx,useRef:xt,useState:qn}=cc,il=cc[`useId${Math.random()}`.slice(0,5)],ey=Xx,us=Yx(null);us.displayName="PanelGroupContext";const _n=ey,ty=typeof il=="function"?il:()=>null;let ny=0;function io(e=null){const t=ty(),n=xt(e||t||null);return n.current===null&&(n.current=""+ny++),e??n.current}function Kd({children:e,className:t="",collapsedSize:n,collapsible:r,defaultSize:i,forwardedRef:s,id:a,maxSize:o,minSize:l,onCollapse:u,onExpand:f,onResize:d,order:p,style:h,tagName:m="div",...w}){const S=Wd(us);if(S===null)throw Error("Panel components must be rendered within a PanelGroup container");const{collapsePanel:x,expandPanel:_,getPanelSize:g,getPanelStyle:T,groupId:E,isPanelCollapsed:k,reevaluatePanelConstraints:N,registerPanel:M,resizePanel:Y,unregisterPanel:C}=S,B=io(a),R=xt({callbacks:{onCollapse:u,onExpand:f,onResize:d},constraints:{collapsedSize:n,collapsible:r,defaultSize:i,maxSize:o,minSize:l},id:B,idIsFromProps:a!==void 0,order:p});xt({didLogMissingDefaultSizeWarning:!1}),_n(()=>{const{callbacks:L,constraints:P}=R.current,A={...P};R.current.id=B,R.current.idIsFromProps=a!==void 0,R.current.order=p,L.onCollapse=u,L.onExpand=f,L.onResize=d,P.collapsedSize=n,P.collapsible=r,P.defaultSize=i,P.maxSize=o,P.minSize=l,(A.collapsedSize!==P.collapsedSize||A.collapsible!==P.collapsible||A.maxSize!==P.maxSize||A.minSize!==P.minSize)&&N(R.current,A)}),_n(()=>{const L=R.current;return M(L),()=>{C(L)}},[p,B,M,C]),Gd(s,()=>({collapse:()=>{x(R.current)},expand:L=>{_(R.current,L)},getId(){return B},getSize(){return g(R.current)},isCollapsed(){return k(R.current)},isExpanded(){return!k(R.current)},resize:L=>{Y(R.current,L)}}),[x,_,g,k,B,Y]);const U=T(R.current,i);return Xn(m,{...w,children:e,className:t,id:a,style:{...U,...h},"data-panel":"","data-panel-collapsible":r||void 0,"data-panel-group-id":E,"data-panel-id":B,"data-panel-size":parseFloat(""+U.flexGrow).toFixed(1)})}const Yd=qd((e,t)=>Xn(Kd,{...e,forwardedRef:t}));Kd.displayName="Panel";Yd.displayName="forwardRef(Panel)";let xa=null,wn=null;function ry(e,t){if(t){const n=(t&nf)!==0,r=(t&rf)!==0,i=(t&sf)!==0,s=(t&af)!==0;if(n)return i?"se-resize":s?"ne-resize":"e-resize";if(r)return i?"sw-resize":s?"nw-resize":"w-resize";if(i)return"s-resize";if(s)return"n-resize"}switch(e){case"horizontal":return"ew-resize";case"intersection":return"move";case"vertical":return"ns-resize"}}function iy(){wn!==null&&(document.head.removeChild(wn),xa=null,wn=null)}function As(e,t){const n=ry(e,t);xa!==n&&(xa=n,wn===null&&(wn=document.createElement("style"),document.head.appendChild(wn)),wn.innerHTML=`*{cursor: ${n}!important;}`)}function Xd(e){return e.type==="keydown"}function Qd(e){return e.type.startsWith("pointer")}function ef(e){return e.type.startsWith("mouse")}function cs(e){if(Qd(e)){if(e.isPrimary)return{x:e.clientX,y:e.clientY}}else if(ef(e))return{x:e.clientX,y:e.clientY};return{x:1/0,y:1/0}}function sy(){if(typeof matchMedia=="function")return matchMedia("(pointer:coarse)").matches?"coarse":"fine"}function ay(e,t,n){return e.x<t.x+t.width&&e.x+e.width>t.x&&e.y<t.y+t.height&&e.y+e.height>t.y}function oy(e,t){if(e===t)throw new Error("Cannot compare node with itself");const n={a:ol(e),b:ol(t)};let r;for(;n.a.at(-1)===n.b.at(-1);)e=n.a.pop(),t=n.b.pop(),r=e;Se(r,"Stacking order can only be calculated for elements with a common ancestor");const i={a:al(sl(n.a)),b:al(sl(n.b))};if(i.a===i.b){const s=r.childNodes,a={a:n.a.at(-1),b:n.b.at(-1)};let o=s.length;for(;o--;){const l=s[o];if(l===a.a)return 1;if(l===a.b)return-1}}return Math.sign(i.a-i.b)}const ly=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function uy(e){var t;const n=getComputedStyle((t=tf(e))!==null&&t!==void 0?t:e).display;return n==="flex"||n==="inline-flex"}function cy(e){const t=getComputedStyle(e);return!!(t.position==="fixed"||t.zIndex!=="auto"&&(t.position!=="static"||uy(e))||+t.opacity<1||"transform"in t&&t.transform!=="none"||"webkitTransform"in t&&t.webkitTransform!=="none"||"mixBlendMode"in t&&t.mixBlendMode!=="normal"||"filter"in t&&t.filter!=="none"||"webkitFilter"in t&&t.webkitFilter!=="none"||"isolation"in t&&t.isolation==="isolate"||ly.test(t.willChange)||t.webkitOverflowScrolling==="touch")}function sl(e){let t=e.length;for(;t--;){const n=e[t];if(Se(n,"Missing node"),cy(n))return n}return null}function al(e){return e&&Number(getComputedStyle(e).zIndex)||0}function ol(e){const t=[];for(;e;)t.push(e),e=tf(e);return t}function tf(e){const{parentNode:t}=e;return t&&t instanceof ShadowRoot?t.host:t}const nf=1,rf=2,sf=4,af=8,dy=sy()==="coarse";let Rt=[],Wn=!1,sn=new Map,ds=new Map;const Mr=new Set;function fy(e,t,n,r,i){var s;const{ownerDocument:a}=t,o={direction:n,element:t,hitAreaMargins:r,setResizeHandlerState:i},l=(s=sn.get(a))!==null&&s!==void 0?s:0;return sn.set(a,l+1),Mr.add(o),Pi(),function(){var f;ds.delete(e),Mr.delete(o);const d=(f=sn.get(a))!==null&&f!==void 0?f:1;if(sn.set(a,d-1),Pi(),d===1&&sn.delete(a),Rt.includes(o)){const p=Rt.indexOf(o);p>=0&&Rt.splice(p,1),ao(),i("up",!0,null)}}}function ll(e){const{target:t}=e,{x:n,y:r}=cs(e);Wn=!0,so({target:t,x:n,y:r}),Pi(),Rt.length>0&&(Oi("down",e),e.preventDefault(),e.stopPropagation())}function fr(e){const{x:t,y:n}=cs(e);if(Wn&&e.buttons===0&&(Wn=!1,Oi("up",e)),!Wn){const{target:r}=e;so({target:r,x:t,y:n})}Oi("move",e),ao(),Rt.length>0&&e.preventDefault()}function Pn(e){const{target:t}=e,{x:n,y:r}=cs(e);ds.clear(),Wn=!1,Rt.length>0&&e.preventDefault(),Oi("up",e),so({target:t,x:n,y:r}),ao(),Pi()}function so({target:e,x:t,y:n}){Rt.splice(0);let r=null;(e instanceof HTMLElement||e instanceof SVGElement)&&(r=e),Mr.forEach(i=>{const{element:s,hitAreaMargins:a}=i,o=s.getBoundingClientRect(),{bottom:l,left:u,right:f,top:d}=o,p=dy?a.coarse:a.fine;if(t>=u-p&&t<=f+p&&n>=d-p&&n<=l+p){if(r!==null&&document.contains(r)&&s!==r&&!s.contains(r)&&!r.contains(s)&&oy(r,s)>0){let m=r,w=!1;for(;m&&!m.contains(s);){if(ay(m.getBoundingClientRect(),o)){w=!0;break}m=m.parentElement}if(w)return}Rt.push(i)}})}function Ps(e,t){ds.set(e,t)}function ao(){let e=!1,t=!1;Rt.forEach(r=>{const{direction:i}=r;i==="horizontal"?e=!0:t=!0});let n=0;ds.forEach(r=>{n|=r}),e&&t?As("intersection",n):e?As("horizontal",n):t?As("vertical",n):iy()}function Pi(){sn.forEach((e,t)=>{const{body:n}=t;n.removeEventListener("contextmenu",Pn),n.removeEventListener("pointerdown",ll),n.removeEventListener("pointerleave",fr),n.removeEventListener("pointermove",fr)}),window.removeEventListener("pointerup",Pn),window.removeEventListener("pointercancel",Pn),Mr.size>0&&(Wn?(Rt.length>0&&sn.forEach((e,t)=>{const{body:n}=t;e>0&&(n.addEventListener("contextmenu",Pn),n.addEventListener("pointerleave",fr),n.addEventListener("pointermove",fr))}),window.addEventListener("pointerup",Pn),window.addEventListener("pointercancel",Pn)):sn.forEach((e,t)=>{const{body:n}=t;e>0&&(n.addEventListener("pointerdown",ll,{capture:!0}),n.addEventListener("pointermove",fr))}))}function Oi(e,t){Mr.forEach(n=>{const{setResizeHandlerState:r}=n,i=Rt.includes(n);r(e,i,t)})}function py(){const[e,t]=qn(0);return pt(()=>t(n=>n+1),[])}function Se(e,t){if(!e)throw console.error(t),Error(t)}const oo=10;function Nn(e,t,n=oo){return e.toFixed(n)===t.toFixed(n)?0:e>t?1:-1}function Wt(e,t,n=oo){return Nn(e,t,n)===0}function wt(e,t,n){return Nn(e,t,n)===0}function hy(e,t,n){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++){const i=e[r],s=t[r];if(!wt(i,s,n))return!1}return!0}function Un({panelConstraints:e,panelIndex:t,size:n}){const r=e[t];Se(r!=null,`Panel constraints not found for index ${t}`);let{collapsedSize:i=0,collapsible:s,maxSize:a=100,minSize:o=0}=r;if(Nn(n,o)<0)if(s){const l=(i+o)/2;Nn(n,l)<0?n=i:n=o}else n=o;return n=Math.min(a,n),n=parseFloat(n.toFixed(oo)),n}function vr({delta:e,initialLayout:t,panelConstraints:n,pivotIndices:r,prevLayout:i,trigger:s}){if(wt(e,0))return t;const a=[...t],[o,l]=r;Se(o!=null,"Invalid first pivot index"),Se(l!=null,"Invalid second pivot index");let u=0;if(s==="keyboard"){{const d=e<0?l:o,p=n[d];Se(p,`Panel constraints not found for index ${d}`);const{collapsedSize:h=0,collapsible:m,minSize:w=0}=p;if(m){const S=t[d];if(Se(S!=null,`Previous layout not found for panel index ${d}`),wt(S,h)){const x=w-S;Nn(x,Math.abs(e))>0&&(e=e<0?0-x:x)}}}{const d=e<0?o:l,p=n[d];Se(p,`No panel constraints found for index ${d}`);const{collapsedSize:h=0,collapsible:m,minSize:w=0}=p;if(m){const S=t[d];if(Se(S!=null,`Previous layout not found for panel index ${d}`),wt(S,w)){const x=S-h;Nn(x,Math.abs(e))>0&&(e=e<0?0-x:x)}}}}{const d=e<0?1:-1;let p=e<0?l:o,h=0;for(;;){const w=t[p];Se(w!=null,`Previous layout not found for panel index ${p}`);const x=Un({panelConstraints:n,panelIndex:p,size:100})-w;if(h+=x,p+=d,p<0||p>=n.length)break}const m=Math.min(Math.abs(e),Math.abs(h));e=e<0?0-m:m}{let p=e<0?o:l;for(;p>=0&&p<n.length;){const h=Math.abs(e)-Math.abs(u),m=t[p];Se(m!=null,`Previous layout not found for panel index ${p}`);const w=m-h,S=Un({panelConstraints:n,panelIndex:p,size:w});if(!wt(m,S)&&(u+=m-S,a[p]=S,u.toPrecision(3).localeCompare(Math.abs(e).toPrecision(3),void 0,{numeric:!0})>=0))break;e<0?p--:p++}}if(hy(i,a))return i;{const d=e<0?l:o,p=t[d];Se(p!=null,`Previous layout not found for panel index ${d}`);const h=p+u,m=Un({panelConstraints:n,panelIndex:d,size:h});if(a[d]=m,!wt(m,h)){let w=h-m,x=e<0?l:o;for(;x>=0&&x<n.length;){const _=a[x];Se(_!=null,`Previous layout not found for panel index ${x}`);const g=_+w,T=Un({panelConstraints:n,panelIndex:x,size:g});if(wt(_,T)||(w-=T-_,a[x]=T),wt(w,0))break;e>0?x--:x++}}}const f=a.reduce((d,p)=>p+d,0);return wt(f,100)?a:i}function my({layout:e,panelsArray:t,pivotIndices:n}){let r=0,i=100,s=0,a=0;const o=n[0];Se(o!=null,"No pivot index found"),t.forEach((d,p)=>{const{constraints:h}=d,{maxSize:m=100,minSize:w=0}=h;p===o?(r=w,i=m):(s+=w,a+=m)});const l=Math.min(i,100-s),u=Math.max(r,100-a),f=e[o];return{valueMax:l,valueMin:u,valueNow:f}}function $r(e,t=document){return Array.from(t.querySelectorAll(`[data-panel-resize-handle-id][data-panel-group-id="${e}"]`))}function of(e,t,n=document){const i=$r(e,n).findIndex(s=>s.getAttribute("data-panel-resize-handle-id")===t);return i??null}function lf(e,t,n){const r=of(e,t,n);return r!=null?[r,r+1]:[-1,-1]}function uf(e,t=document){var n;if(t instanceof HTMLElement&&(t==null||(n=t.dataset)===null||n===void 0?void 0:n.panelGroupId)==e)return t;const r=t.querySelector(`[data-panel-group][data-panel-group-id="${e}"]`);return r||null}function fs(e,t=document){const n=t.querySelector(`[data-panel-resize-handle-id="${e}"]`);return n||null}function gy(e,t,n,r=document){var i,s,a,o;const l=fs(t,r),u=$r(e,r),f=l?u.indexOf(l):-1,d=(i=(s=n[f])===null||s===void 0?void 0:s.id)!==null&&i!==void 0?i:null,p=(a=(o=n[f+1])===null||o===void 0?void 0:o.id)!==null&&a!==void 0?a:null;return[d,p]}function xy({committedValuesRef:e,eagerValuesRef:t,groupId:n,layout:r,panelDataArray:i,panelGroupElement:s,setLayout:a}){xt({didWarnAboutMissingResizeHandle:!1}),_n(()=>{if(!s)return;const o=$r(n,s);for(let l=0;l<i.length-1;l++){const{valueMax:u,valueMin:f,valueNow:d}=my({layout:r,panelsArray:i,pivotIndices:[l,l+1]}),p=o[l];if(p!=null){const h=i[l];Se(h,`No panel data found for index "${l}"`),p.setAttribute("aria-controls",h.id),p.setAttribute("aria-valuemax",""+Math.round(u)),p.setAttribute("aria-valuemin",""+Math.round(f)),p.setAttribute("aria-valuenow",d!=null?""+Math.round(d):"")}}return()=>{o.forEach((l,u)=>{l.removeAttribute("aria-controls"),l.removeAttribute("aria-valuemax"),l.removeAttribute("aria-valuemin"),l.removeAttribute("aria-valuenow")})}},[n,r,i,s]),Sn(()=>{if(!s)return;const o=t.current;Se(o,"Eager values not found");const{panelDataArray:l}=o,u=uf(n,s);Se(u!=null,`No group found for id "${n}"`);const f=$r(n,s);Se(f,`No resize handles found for group id "${n}"`);const d=f.map(p=>{const h=p.getAttribute("data-panel-resize-handle-id");Se(h,"Resize handle element has no handle id attribute");const[m,w]=gy(n,h,l,s);if(m==null||w==null)return()=>{};const S=x=>{if(!x.defaultPrevented)switch(x.key){case"Enter":{x.preventDefault();const _=l.findIndex(g=>g.id===m);if(_>=0){const g=l[_];Se(g,`No panel data found for index ${_}`);const T=r[_],{collapsedSize:E=0,collapsible:k,minSize:N=0}=g.constraints;if(T!=null&&k){const M=vr({delta:wt(T,E)?N-E:E-T,initialLayout:r,panelConstraints:l.map(Y=>Y.constraints),pivotIndices:lf(n,h,s),prevLayout:r,trigger:"keyboard"});r!==M&&a(M)}}break}}};return p.addEventListener("keydown",S),()=>{p.removeEventListener("keydown",S)}});return()=>{d.forEach(p=>p())}},[s,e,t,n,r,i,a])}function ul(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function cf(e,t){const n=e==="horizontal",{x:r,y:i}=cs(t);return n?r:i}function yy(e,t,n,r,i){const s=n==="horizontal",a=fs(t,i);Se(a,`No resize handle element found for id "${t}"`);const o=a.getAttribute("data-panel-group-id");Se(o,"Resize handle element has no group id attribute");let{initialCursorPosition:l}=r;const u=cf(n,e),f=uf(o,i);Se(f,`No group element found for id "${o}"`);const d=f.getBoundingClientRect(),p=s?d.width:d.height;return(u-l)/p*100}function by(e,t,n,r,i,s){if(Xd(e)){const a=n==="horizontal";let o=0;e.shiftKey?o=100:i!=null?o=i:o=10;let l=0;switch(e.key){case"ArrowDown":l=a?0:o;break;case"ArrowLeft":l=a?-o:0;break;case"ArrowRight":l=a?o:0;break;case"ArrowUp":l=a?0:-o;break;case"End":l=100;break;case"Home":l=-100;break}return l}else return r==null?0:yy(e,t,n,r,s)}function vy({panelDataArray:e}){const t=Array(e.length),n=e.map(s=>s.constraints);let r=0,i=100;for(let s=0;s<e.length;s++){const a=n[s];Se(a,`Panel constraints not found for index ${s}`);const{defaultSize:o}=a;o!=null&&(r++,t[s]=o,i-=o)}for(let s=0;s<e.length;s++){const a=n[s];Se(a,`Panel constraints not found for index ${s}`);const{defaultSize:o}=a;if(o!=null)continue;const l=e.length-r,u=i/l;r++,t[s]=u,i-=u}return t}function On(e,t,n){t.forEach((r,i)=>{const s=e[i];Se(s,`Panel data not found for index ${i}`);const{callbacks:a,constraints:o,id:l}=s,{collapsedSize:u=0,collapsible:f}=o,d=n[l];if(d==null||r!==d){n[l]=r;const{onCollapse:p,onExpand:h,onResize:m}=a;m&&m(r,d),f&&(p||h)&&(h&&(d==null||Wt(d,u))&&!Wt(r,u)&&h(),p&&(d==null||!Wt(d,u))&&Wt(r,u)&&p())}})}function ri(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!=t[n])return!1;return!0}function wy({defaultSize:e,dragState:t,layout:n,panelData:r,panelIndex:i,precision:s=3}){const a=n[i];let o;return a==null?o=e!=null?e.toPrecision(s):"1":r.length===1?o="1":o=a.toPrecision(s),{flexBasis:0,flexGrow:o,flexShrink:1,overflow:"hidden",pointerEvents:t!==null?"none":void 0}}function ky(e,t=10){let n=null;return(...i)=>{n!==null&&clearTimeout(n),n=setTimeout(()=>{e(...i)},t)}}function cl(e){try{if(typeof localStorage<"u")e.getItem=t=>localStorage.getItem(t),e.setItem=(t,n)=>{localStorage.setItem(t,n)};else throw new Error("localStorage not supported in this environment")}catch(t){console.error(t),e.getItem=()=>null,e.setItem=()=>{}}}function df(e){return`react-resizable-panels:${e}`}function ff(e){return e.map(t=>{const{constraints:n,id:r,idIsFromProps:i,order:s}=t;return i?r:s?`${s}:${JSON.stringify(n)}`:JSON.stringify(n)}).sort((t,n)=>t.localeCompare(n)).join(",")}function pf(e,t){try{const n=df(e),r=t.getItem(n);if(r){const i=JSON.parse(r);if(typeof i=="object"&&i!=null)return i}}catch{}return null}function Sy(e,t,n){var r,i;const s=(r=pf(e,n))!==null&&r!==void 0?r:{},a=ff(t);return(i=s[a])!==null&&i!==void 0?i:null}function _y(e,t,n,r,i){var s;const a=df(e),o=ff(t),l=(s=pf(e,i))!==null&&s!==void 0?s:{};l[o]={expandToSizes:Object.fromEntries(n.entries()),layout:r};try{i.setItem(a,JSON.stringify(l))}catch(u){console.error(u)}}function dl({layout:e,panelConstraints:t}){const n=[...e],r=n.reduce((s,a)=>s+a,0);if(n.length!==t.length)throw Error(`Invalid ${t.length} panel layout: ${n.map(s=>`${s}%`).join(", ")}`);if(!wt(r,100)&&n.length>0)for(let s=0;s<t.length;s++){const a=n[s];Se(a!=null,`No layout data found for index ${s}`);const o=100/r*a;n[s]=o}let i=0;for(let s=0;s<t.length;s++){const a=n[s];Se(a!=null,`No layout data found for index ${s}`);const o=Un({panelConstraints:t,panelIndex:s,size:a});a!=o&&(i+=a-o,n[s]=o)}if(!wt(i,0))for(let s=0;s<t.length;s++){const a=n[s];Se(a!=null,`No layout data found for index ${s}`);const o=a+i,l=Un({panelConstraints:t,panelIndex:s,size:o});if(a!==l&&(i-=l-a,n[s]=l,wt(i,0)))break}return n}const jy=100,wr={getItem:e=>(cl(wr),wr.getItem(e)),setItem:(e,t)=>{cl(wr),wr.setItem(e,t)}},fl={};function hf({autoSaveId:e=null,children:t,className:n="",direction:r,forwardedRef:i,id:s=null,onLayout:a=null,keyboardResizeBy:o=null,storage:l=wr,style:u,tagName:f="div",...d}){const p=io(s),h=xt(null),[m,w]=qn(null),[S,x]=qn([]),_=py(),g=xt({}),T=xt(new Map),E=xt(0),k=xt({autoSaveId:e,direction:r,dragState:m,id:p,keyboardResizeBy:o,onLayout:a,storage:l}),N=xt({layout:S,panelDataArray:[],panelDataArrayChanged:!1});xt({didLogIdAndOrderWarning:!1,didLogPanelConstraintsWarning:!1,prevPanelIds:[]}),Gd(i,()=>({getId:()=>k.current.id,getLayout:()=>{const{layout:v}=N.current;return v},setLayout:v=>{const{onLayout:X}=k.current,{layout:ae,panelDataArray:ne}=N.current,I=dl({layout:v,panelConstraints:ne.map($=>$.constraints)});ul(ae,I)||(x(I),N.current.layout=I,X&&X(I),On(ne,I,g.current))}}),[]),_n(()=>{k.current.autoSaveId=e,k.current.direction=r,k.current.dragState=m,k.current.id=p,k.current.onLayout=a,k.current.storage=l}),xy({committedValuesRef:k,eagerValuesRef:N,groupId:p,layout:S,panelDataArray:N.current.panelDataArray,setLayout:x,panelGroupElement:h.current}),Sn(()=>{const{panelDataArray:v}=N.current;if(e){if(S.length===0||S.length!==v.length)return;let X=fl[e];X==null&&(X=ky(_y,jy),fl[e]=X);const ae=[...v],ne=new Map(T.current);X(e,ae,ne,S,l)}},[e,S,l]),Sn(()=>{});const M=pt(v=>{const{onLayout:X}=k.current,{layout:ae,panelDataArray:ne}=N.current;if(v.constraints.collapsible){const I=ne.map(K=>K.constraints),{collapsedSize:$=0,panelSize:W,pivotIndices:le}=hn(ne,v,ae);if(Se(W!=null,`Panel size not found for panel "${v.id}"`),!Wt(W,$)){T.current.set(v.id,W);const ve=Ln(ne,v)===ne.length-1?W-$:$-W,de=vr({delta:ve,initialLayout:ae,panelConstraints:I,pivotIndices:le,prevLayout:ae,trigger:"imperative-api"});ri(ae,de)||(x(de),N.current.layout=de,X&&X(de),On(ne,de,g.current))}}},[]),Y=pt((v,X)=>{const{onLayout:ae}=k.current,{layout:ne,panelDataArray:I}=N.current;if(v.constraints.collapsible){const $=I.map(xe=>xe.constraints),{collapsedSize:W=0,panelSize:le=0,minSize:K=0,pivotIndices:ve}=hn(I,v,ne),de=X??K;if(Wt(le,W)){const xe=T.current.get(v.id),Ue=xe!=null&&xe>=de?xe:de,Ge=Ln(I,v)===I.length-1?le-Ue:Ue-le,j=vr({delta:Ge,initialLayout:ne,panelConstraints:$,pivotIndices:ve,prevLayout:ne,trigger:"imperative-api"});ri(ne,j)||(x(j),N.current.layout=j,ae&&ae(j),On(I,j,g.current))}}},[]),C=pt(v=>{const{layout:X,panelDataArray:ae}=N.current,{panelSize:ne}=hn(ae,v,X);return Se(ne!=null,`Panel size not found for panel "${v.id}"`),ne},[]),B=pt((v,X)=>{const{panelDataArray:ae}=N.current,ne=Ln(ae,v);return wy({defaultSize:X,dragState:m,layout:S,panelData:ae,panelIndex:ne})},[m,S]),R=pt(v=>{const{layout:X,panelDataArray:ae}=N.current,{collapsedSize:ne=0,collapsible:I,panelSize:$}=hn(ae,v,X);return Se($!=null,`Panel size not found for panel "${v.id}"`),I===!0&&Wt($,ne)},[]),U=pt(v=>{const{layout:X,panelDataArray:ae}=N.current,{collapsedSize:ne=0,collapsible:I,panelSize:$}=hn(ae,v,X);return Se($!=null,`Panel size not found for panel "${v.id}"`),!I||Nn($,ne)>0},[]),L=pt(v=>{const{panelDataArray:X}=N.current;X.push(v),X.sort((ae,ne)=>{const I=ae.order,$=ne.order;return I==null&&$==null?0:I==null?-1:$==null?1:I-$}),N.current.panelDataArrayChanged=!0,_()},[_]);_n(()=>{if(N.current.panelDataArrayChanged){N.current.panelDataArrayChanged=!1;const{autoSaveId:v,onLayout:X,storage:ae}=k.current,{layout:ne,panelDataArray:I}=N.current;let $=null;if(v){const le=Sy(v,I,ae);le&&(T.current=new Map(Object.entries(le.expandToSizes)),$=le.layout)}$==null&&($=vy({panelDataArray:I}));const W=dl({layout:$,panelConstraints:I.map(le=>le.constraints)});ul(ne,W)||(x(W),N.current.layout=W,X&&X(W),On(I,W,g.current))}}),_n(()=>{const v=N.current;return()=>{v.layout=[]}},[]);const P=pt(v=>{let X=!1;const ae=h.current;return ae&&window.getComputedStyle(ae,null).getPropertyValue("direction")==="rtl"&&(X=!0),function(I){I.preventDefault();const $=h.current;if(!$)return()=>null;const{direction:W,dragState:le,id:K,keyboardResizeBy:ve,onLayout:de}=k.current,{layout:xe,panelDataArray:Ue}=N.current,{initialLayout:rt}=le??{},Ge=lf(K,v,$);let j=by(I,v,W,le,ve,$);const z=W==="horizontal";z&&X&&(j=-j);const Z=Ue.map(ee=>ee.constraints),re=vr({delta:j,initialLayout:rt??xe,panelConstraints:Z,pivotIndices:Ge,prevLayout:xe,trigger:Xd(I)?"keyboard":"mouse-or-touch"}),te=!ri(xe,re);(Qd(I)||ef(I))&&E.current!=j&&(E.current=j,!te&&j!==0?z?Ps(v,j<0?nf:rf):Ps(v,j<0?sf:af):Ps(v,0)),te&&(x(re),N.current.layout=re,de&&de(re),On(Ue,re,g.current))}},[]),A=pt((v,X)=>{const{onLayout:ae}=k.current,{layout:ne,panelDataArray:I}=N.current,$=I.map(xe=>xe.constraints),{panelSize:W,pivotIndices:le}=hn(I,v,ne);Se(W!=null,`Panel size not found for panel "${v.id}"`);const ve=Ln(I,v)===I.length-1?W-X:X-W,de=vr({delta:ve,initialLayout:ne,panelConstraints:$,pivotIndices:le,prevLayout:ne,trigger:"imperative-api"});ri(ne,de)||(x(de),N.current.layout=de,ae&&ae(de),On(I,de,g.current))},[]),J=pt((v,X)=>{const{layout:ae,panelDataArray:ne}=N.current,{collapsedSize:I=0,collapsible:$}=X,{collapsedSize:W=0,collapsible:le,maxSize:K=100,minSize:ve=0}=v.constraints,{panelSize:de}=hn(ne,v,ae);de!=null&&($&&le&&Wt(de,I)?Wt(I,W)||A(v,W):de<ve?A(v,ve):de>K&&A(v,K))},[A]),O=pt((v,X)=>{const{direction:ae}=k.current,{layout:ne}=N.current;if(!h.current)return;const I=fs(v,h.current);Se(I,`Drag handle element not found for id "${v}"`);const $=cf(ae,X);w({dragHandleId:v,dragHandleRect:I.getBoundingClientRect(),initialCursorPosition:$,initialLayout:ne})},[]),q=pt(()=>{w(null)},[]),b=pt(v=>{const{panelDataArray:X}=N.current,ae=Ln(X,v);ae>=0&&(X.splice(ae,1),delete g.current[v.id],N.current.panelDataArrayChanged=!0,_())},[_]),ce=Qx(()=>({collapsePanel:M,direction:r,dragState:m,expandPanel:Y,getPanelSize:C,getPanelStyle:B,groupId:p,isPanelCollapsed:R,isPanelExpanded:U,reevaluatePanelConstraints:J,registerPanel:L,registerResizeHandle:P,resizePanel:A,startDragging:O,stopDragging:q,unregisterPanel:b,panelGroupElement:h.current}),[M,m,r,Y,C,B,p,R,U,J,L,P,A,O,q,b]),oe={display:"flex",flexDirection:r==="horizontal"?"row":"column",height:"100%",overflow:"hidden",width:"100%"};return Xn(us.Provider,{value:ce},Xn(f,{...d,children:t,className:n,id:s,ref:h,style:{...oe,...u},"data-panel-group":"","data-panel-group-direction":r,"data-panel-group-id":p}))}const mf=qd((e,t)=>Xn(hf,{...e,forwardedRef:t}));hf.displayName="PanelGroup";mf.displayName="forwardRef(PanelGroup)";function Ln(e,t){return e.findIndex(n=>n===t||n.id===t.id)}function hn(e,t,n){const r=Ln(e,t),s=r===e.length-1?[r-1,r]:[r,r+1],a=n[r];return{...t.constraints,panelSize:a,pivotIndices:s}}function Cy({disabled:e,handleId:t,resizeHandler:n,panelGroupElement:r}){Sn(()=>{if(e||n==null||r==null)return;const i=fs(t,r);if(i==null)return;const s=a=>{if(!a.defaultPrevented)switch(a.key){case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"ArrowUp":case"End":case"Home":{a.preventDefault(),n(a);break}case"F6":{a.preventDefault();const o=i.getAttribute("data-panel-group-id");Se(o,`No group element found for id "${o}"`);const l=$r(o,r),u=of(o,t,r);Se(u!==null,`No resize element found for id "${t}"`);const f=a.shiftKey?u>0?u-1:l.length-1:u+1<l.length?u+1:0;l[f].focus();break}}};return i.addEventListener("keydown",s),()=>{i.removeEventListener("keydown",s)}},[r,e,t,n])}function gf({children:e=null,className:t="",disabled:n=!1,hitAreaMargins:r,id:i,onBlur:s,onDragging:a,onFocus:o,style:l={},tabIndex:u=0,tagName:f="div",...d}){var p,h;const m=xt(null),w=xt({onDragging:a});Sn(()=>{w.current.onDragging=a});const S=Wd(us);if(S===null)throw Error("PanelResizeHandle components must be rendered within a PanelGroup container");const{direction:x,groupId:_,registerResizeHandle:g,startDragging:T,stopDragging:E,panelGroupElement:k}=S,N=io(i),[M,Y]=qn("inactive"),[C,B]=qn(!1),[R,U]=qn(null),L=xt({state:M});_n(()=>{L.current.state=M}),Sn(()=>{if(n)U(null);else{const O=g(N);U(()=>O)}},[n,N,g]);const P=(p=r==null?void 0:r.coarse)!==null&&p!==void 0?p:15,A=(h=r==null?void 0:r.fine)!==null&&h!==void 0?h:5;return Sn(()=>{if(n||R==null)return;const O=m.current;return Se(O,"Element ref not attached"),fy(N,O,x,{coarse:P,fine:A},(b,ce,oe)=>{if(ce)switch(b){case"down":{Y("drag"),Se(oe,'Expected event to be defined for "down" action'),T(N,oe);const{onDragging:v}=w.current;v&&v(!0);break}case"move":{const{state:v}=L.current;v!=="drag"&&Y("hover"),Se(oe,'Expected event to be defined for "move" action'),R(oe);break}case"up":{Y("hover"),E();const{onDragging:v}=w.current;v&&v(!1);break}}else Y("inactive")})},[P,x,n,A,g,N,R,T,E]),Cy({disabled:n,handleId:N,resizeHandler:R,panelGroupElement:k}),Xn(f,{...d,children:e,className:t,id:i,onBlur:()=>{B(!1),s==null||s()},onFocus:()=>{B(!0),o==null||o()},ref:m,role:"separator",style:{...{touchAction:"none",userSelect:"none"},...l},tabIndex:u,"data-panel-group-direction":x,"data-panel-group-id":_,"data-resize-handle":"","data-resize-handle-active":M==="drag"?"pointer":C?"keyboard":void 0,"data-resize-handle-state":M,"data-panel-resize-handle-enabled":!n,"data-panel-resize-handle-id":N})}gf.displayName="PanelResizeHandle";const Ny=({className:e,...t})=>c.jsx(mf,{className:H("flex h-full w-full data-[panel-group-direction=vertical]:flex-col",e),...t}),Os=Yd,pl=({withHandle:e,className:t,...n})=>c.jsx(gf,{className:H("bg-border focus-visible:ring-ring relative flex w-px items-center justify-center after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:ring-1 focus-visible:ring-offset-1 focus-visible:outline-none data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:-translate-y-1/2 data-[panel-group-direction=vertical]:after:translate-x-0 [&[data-panel-group-direction=vertical]>div]:rotate-90",t),...n,children:e&&c.jsx("div",{className:"bg-border z-10 flex h-4 w-3 items-center justify-center rounded-sm border",children:c.jsx(Ym,{className:"h-2.5 w-2.5"})})});function Ey({children:e,className:t}){return c.jsx("kbd",{className:H("inline-flex items-center justify-center min-w-[1.25rem] h-5 px-1 rounded border border-border bg-background text-[11px] font-mono font-medium text-muted-foreground shadow-[0_1px_0_0] shadow-border/50 leading-none select-none",t),children:e})}function Iy({children:e,className:t}){return c.jsx("span",{className:H("inline-flex items-center gap-0.5",t),children:e})}const ii=typeof navigator<"u"&&/Mac|iPod|iPhone|iPad/.test(navigator.platform);function ya({shortcut:e,className:t}){const r=e.split("+").map(i=>i.trim().toLowerCase()).map(i=>{switch(i){case"mod":return ii?"⌘":"Ctrl";case"shift":return ii?"⇧":"Shift";case"alt":return ii?"⌥":"Alt";case"ctrl":return ii?"⌃":"Ctrl";case"enter":return"↵";default:return i.toUpperCase()}});return c.jsx(Iy,{className:t,children:r.map((i,s)=>c.jsx(Ey,{children:i},s))})}class zy{constructor(t){Mo(this,"client");this.client=wg.create({baseURL:t||void 0||"/api",headers:{"Content-Type":"application/json"}})}get(t,n){return this.client.get(t,n)}post(t,n,r){return this.client.post(t,n,r)}put(t,n,r){return this.client.put(t,n,r)}delete(t,n){return this.client.delete(t,n)}patch(t,n,r){return this.client.patch(t,n,r)}}const Ty=new zy;function Ay(){const e=y.useRef(null),t=y.useCallback(async(r,i,s,a,o)=>{e.current&&e.current.abort();const l=new AbortController;e.current=l;try{a==null||a("parsing","Validating JSON structure...");let u;try{u=JSON.parse(i)}catch(k){throw new Error(`Invalid JSON: ${k instanceof Error?k.message:"Unknown parse error"}`)}a==null||a("building",`Building ${ti.toLowerCase()} structure...`);const f={jsonDefinition:u,options:o||{}};f.customThemes=s??{},a==null||a("rendering",`Generating ${kt.toUpperCase()} content...`);const d={"Content-Type":"application/json"};o!=null&&o.bypassCache&&(d["X-Bypass-Cache"]="true");const p=await fetch(fm.generate,{method:"POST",headers:d,body:JSON.stringify(f),signal:l.signal}),h=await p.json();if(!p.ok||!h.success){const k=h.error||h.message||`API request failed with status: ${p.status}`;throw new Error(k)}const{data:m,cache:w,warnings:S}=h,x=w.status==="HIT"?"HIT":w.status==="MISS"?"MISS":"UNKNOWN",_=x==="HIT"?`Served from cache (Hit rate: ${w.hitRate})`:`Generated fresh ${ti.toLowerCase()}`;a==null||a("finalizing",_);const g=globalThis.atob(m.document),T=new Uint8Array(g.length);for(let k=0;k<g.length;k++)T[k]=g.charCodeAt(k);const E=new Blob([T],{type:m.contentType});if(E.size===0)throw new Error(`Received empty ${ti.toLowerCase()} from API`);return{name:r,text:i,blob:E,filename:m.filename,fileId:m.fileId,cacheStatus:x,cacheHitRate:w.hitRate,warnings:S}}catch(u){throw u instanceof Error&&u.name==="AbortError"?new Error(`${ti} generation was cancelled`):u}finally{e.current===l&&(e.current=null)}},[]),n=y.useCallback(()=>{e.current&&(e.current.abort(),e.current=null)},[]);return{generatePresentation:t,generateDocument:t,cancelGeneration:n}}function Py(e){if(!e||e.length===0)return null;const t=[{name:"heading",props:{level:1,text:"Document Generation Warnings"}},{name:"paragraph",props:{text:`${e.length} warning(s) were generated during document processing.`,spacing:{after:240}}}],n=new Map;for(const r of e){const i=n.get(r.component)||[];i.push(r),n.set(r.component,i)}for(const[r,i]of n.entries()){t.push({name:"heading",props:{level:2,text:`Component: ${r}`}});const s=[];for(const a of i){let o=a.message;if(a.context&&Object.keys(a.context).length>0){const l=Object.entries(a.context).map(([u,f])=>`${u}: ${JSON.stringify(f)}`).join(", ");o+=` (${l})`}s.push(o)}t.push({name:"list",props:{items:s,spacing:{after:120}}})}return{name:"docx",props:{metadata:{title:"Generation Warnings"},theme:"minimal"},children:t}}function Oy({open:e,onClose:t,nonSafeFonts:n,onChoose:r}){const[i,s]=Ee.useState("custom");Ee.useEffect(()=>{e&&s("custom")},[e]);const a=n.length===1?n[0]:n.slice(0,3).join(", ")+(n.length>3?` +${n.length-3} more`:""),o=[{value:"custom",title:"Keep custom fonts",desc:"Recipients with the font installed see the authored typeface. Others get a generic fallback."},{value:"substitute",title:"Convert to safe fonts",desc:"Rewrite non-safe families to Calibri / Georgia / Consolas so every recipient sees the same glyphs."}];return c.jsx(Dt,{open:e,onOpenChange:l=>!l&&t(),children:c.jsxs(Et,{className:"max-w-md",children:[c.jsxs(Gt,{children:[c.jsx(Kt,{children:"Non-safe fonts in this document"}),c.jsxs(Cn,{children:[a," ",n.length===1?"is":"are"," not in the built-in safe list. Choose how to export."]})]}),c.jsx("div",{className:"grid gap-2 py-2",children:o.map(l=>{const u=i===l.value;return c.jsxs("button",{type:"button",onClick:()=>s(l.value),className:`text-left rounded-md border px-3 py-2 transition-colors ${u?"border-primary bg-primary/5":"border-border hover:bg-muted/40"}`,children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("span",{className:`h-3.5 w-3.5 rounded-full border flex items-center justify-center ${u?"border-primary":"border-muted-foreground/50"}`,children:u&&c.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-primary"})}),c.jsx("span",{className:"text-sm font-medium",children:l.title})]}),c.jsx("p",{className:"mt-1 text-xs text-muted-foreground pl-6",children:l.desc})]},l.value)})}),c.jsxs(Yn,{children:[c.jsx(_e,{variant:"outline",size:"sm",onClick:t,children:"Cancel"}),c.jsx(_e,{size:"sm",onClick:()=>{r(i),t()},children:"Download"})]})]})})}const hl=kt==="docx"?["docxjs","LibreOffice"]:["LibreOffice"],Ds={docxjs:["⚡","(Fast) works in the browser — lower fidelity"],LibreOffice:["🖨️","(High fidelity) converts to PDF locally with LibreOffice"]};function Dy({name:e,blob:t,displayReloadButton:n,iframeRef:r,autoReload:i,onToggleAutoReload:s,onManualRender:a,isGenerating:o,isRendering:l,onShowCacheMetrics:u,onShowSchemas:f,onShowFonts:d,documentText:p,warnings:h,renderingLibrary:m,setRenderingLibrary:w,onToggleChat:S,chatOpen:x,onTogglePreview:_,previewOpen:g}){const T=m!=="docxjs",[E,k]=y.useState(!1),[N,M]=y.useState(!1),[Y,C]=y.useState(!1),[B,R]=y.useState(!1),[U,L]=y.useState(!1),[P,A]=y.useState(!1),{toast:J}=Wi(),{generateDocument:O}=Ay(),q=y.useContext(rd),b=y.useCallback(()=>{const K={},{customThemes:ve}=q.getState();return Object.values(ve).forEach(de=>{de.valid&&de.parsed&&(K[de.name]=de.parsed)}),K},[q]),ce=Ee.useMemo(()=>{if(!p)return[];try{const K=JSON.parse(p);return[...(kt==="pptx"?pm:hm)(K)].filter(de=>!mm(de))}catch{return[]}},[p]),[oe,v]=y.useState(!1),X=y.useCallback(async()=>{if(t){k(!0);try{await new Promise(K=>setTimeout(K,100)),yi(`${e}${lr}`,t)}finally{setTimeout(()=>k(!1),500)}}},[t,e]),ae=y.useCallback(async()=>{if(t){if(ce.length===0){await X();return}v(!0)}},[t,ce.length,X]),ne=y.useCallback(async K=>{var ve;if(p){k(!0);try{const de=await O(e,p,b(),void 0,{bypassCache:!0,fonts:{mode:K}});if(de.blob.size===0)J({title:"Export failed",description:"The server returned an empty document.",variant:"destructive"});else{yi(`${e}${lr}`,de.blob);const xe=(ve=de.warnings)==null?void 0:ve.find(Ue=>{var rt,Ge;return((rt=Ue.context)==null?void 0:rt.code)==="FONT_MODE_SUBSTITUTED"||((Ge=Ue.context)==null?void 0:Ge.code)==="FONT_MODE_CUSTOM"});xe&&J({title:K==="substitute"?"Fonts substituted":"Non-safe fonts kept",description:xe.message})}}catch(de){J({title:"Export failed",description:de instanceof Error?de.message:String(de),variant:"destructive"})}finally{setTimeout(()=>k(!1),500)}}},[p,e,O,J,b]),I=y.useCallback(async()=>{if(!(!h||h.length===0)){M(!0);try{const K=Py(h);if(!K){J({title:"No warnings",description:"There are no warnings to download.",variant:"destructive"});return}const ve=await O("warnings",JSON.stringify(K,null,2),{});ve&&typeof ve=="object"&&"blob"in ve&&ve.blob&&(yi(`${e}-warnings${lr}`,ve.blob),J({title:"Warnings downloaded",description:`Downloaded warnings document with ${h.length} warning(s).`}))}catch(K){console.error("Failed to generate warnings document:",K),J({title:"Download failed",description:K instanceof Error?K.message:"Failed to generate warnings document",variant:"destructive"})}finally{setTimeout(()=>M(!1),500)}}},[h,e,O,J]),$=y.useCallback(async()=>{const K=r==null?void 0:r.current;if(K!=null&&K.src){C(!0);try{await new Promise(de=>{let xe=null,Ue=!1;const rt=()=>{xe&&(clearTimeout(xe),xe=null),K.removeEventListener("load",j),K.removeEventListener("error",z)},Ge=()=>{Ue||(Ue=!0,rt(),de())},j=()=>Ge(),z=()=>Ge();K.addEventListener("load",j),K.addEventListener("error",z),xe=setTimeout(()=>{console.warn("Iframe reload timed out after 5 seconds"),Ge()},5e3);const Z=K.src,re=Z.includes("?")?"&":"?",te=Date.now();K.src=`${Z}${re}_reload=${te}`})}catch(ve){console.error("Iframe reload failed:",ve)}finally{C(!1)}}},[r]),W=y.useCallback(async()=>{R(!0);try{await Ty.delete(`/${kt}/cache`),window.dispatchEvent(new CustomEvent("cache:cleared")),J({title:"Cache Cleared",description:"All caches (document and component) have been successfully cleared.",variant:"default"})}catch(K){console.error("Failed to clear cache:",K),J({title:"Cache Clear Failed",description:"Failed to clear caches. Please try again.",variant:"destructive"})}finally{R(!1)}},[J]),le=y.useCallback(async()=>{if(!p){J({title:"No document available",description:"Please select a document to copy standard components",variant:"destructive"});return}A(!0);try{const K=await fetch(`/api/${kt}/standard-components`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonDefinition:p})});if(!K.ok){let xe=`Request failed with status ${K.status}`;try{const Ue=await K.json();Ue.message&&(xe=Ue.message)}catch{}J({title:"Failed to get standard components",description:xe,variant:"destructive"});return}const ve=await K.json(),de=JSON.stringify(ve.data,null,2);await navigator.clipboard.writeText(de),J({title:"Copied to clipboard",description:"Standard modules JSON has been copied"})}catch(K){console.error("Error copying standard components:",K),J({title:"Error",description:K instanceof Error?K.message:"Failed to copy standard components",variant:"destructive"})}finally{A(!1)}},[p,J]);return c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"bg-sidebar flex flex-row flex-nowrap items-center justify-between gap-x-2 px-3 py-1.5",children:[c.jsxs("div",{className:"flex items-center gap-2 min-w-0 flex-1",children:[c.jsx("p",{className:"text-foreground text-sm font-semibold tracking-tight truncate flex-1 min-w-0",children:e}),c.jsxs(Xe,{children:[c.jsx(Qe,{asChild:!0,children:c.jsx("button",{type:"button","aria-label":"Preview disclaimer",className:"cursor-help inline-flex items-center justify-center h-6 w-6 rounded hover:bg-muted/60 shrink-0",children:c.jsx(Xc,{className:"h-3.5 w-3.5 text-muted-foreground"})})}),c.jsx(et,{className:"max-w-sm",children:c.jsxs("p",{className:"text-sm",children:["Preview uses"," ",kt==="docx"?"docx-preview":"LibreOffice PDF conversion",". Download the ",lr," to verify fidelity."]})})]})]}),c.jsxs("div",{className:"flex flex-row items-center gap-x-1 shrink-0",children:[(!i||T)&&c.jsxs(Xe,{children:[c.jsx(Qe,{asChild:!0,children:c.jsxs(_e,{variant:"default",size:"sm",className:"gap-1.5 h-7 px-2.5",onClick:a,"aria-label":"Render preview",disabled:o||l||g===!1,children:[l?c.jsx(nn,{size:"sm"}):c.jsx(Xm,{className:"h-3.5 w-3.5"}),c.jsx("span",{className:"text-xs font-medium hidden sm:inline",children:"Run"})]})}),c.jsx(et,{children:c.jsx("p",{children:g===!1?"Open preview to run":l?"Rendering preview...":"Render preview"})})]}),kt==="docx"&&c.jsxs(Xe,{children:[c.jsx(Qe,{asChild:!0,children:c.jsxs("div",{className:"flex items-center gap-1.5 cursor-help ml-2 mr-1",children:[c.jsx(Ga,{className:"text-xs text-muted-foreground hidden sm:inline",children:"Auto"}),c.jsx(eo,{checked:i,onCheckedChange:s,disabled:T})]})}),c.jsx(et,{children:c.jsx("p",{children:T?"Auto-reload is not available for Office, Docs, and LibreOffice renderers":`${i?"Disable":"Enable"} automatic preview reload on content changes`})})]}),n&&i&&c.jsxs(Xe,{children:[c.jsx(Qe,{asChild:!0,children:c.jsx(_e,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:$,disabled:Y||o||l,children:Y?c.jsx(nn,{size:"sm"}):c.jsx(Qm,{className:"h-3.5 w-3.5"})})}),c.jsx(et,{children:c.jsx("p",{children:Y?"Reloading...":"Reload"})})]}),c.jsx("div",{className:"w-px h-4 bg-border/60 mx-1"}),c.jsxs(Xe,{children:[c.jsx(Qe,{asChild:!0,children:c.jsxs(_e,{variant:"outline",size:"sm",className:"gap-1.5 h-7 px-2.5",disabled:!t||E||o,onClick:ae,children:[E?c.jsx(nn,{size:"sm"}):c.jsx(eg,{className:"h-3.5 w-3.5"}),c.jsx("span",{className:"text-xs font-medium hidden sm:inline",children:"Download"})]})}),c.jsx(et,{children:c.jsxs("p",{children:["Download ",lr]})})]}),h&&h.length>0&&c.jsxs(Xe,{children:[c.jsx(Qe,{asChild:!0,children:c.jsx(_e,{variant:"outline",size:"icon",className:"h-7 w-7 bg-amber-50 dark:bg-amber-950 text-amber-600 dark:text-amber-400 border-amber-200 dark:border-amber-800 hover:bg-amber-100 dark:hover:bg-amber-900",disabled:N||o,onClick:I,children:N?c.jsx(nn,{size:"sm"}):c.jsx(Qc,{className:"h-3.5 w-3.5"})})}),c.jsx(et,{children:c.jsxs("p",{children:["Download warnings (",h.length,")"]})})]}),m&&w&&c.jsxs(Ka,{value:m,onValueChange:w,children:[c.jsxs(Xe,{children:[c.jsx(Qe,{asChild:!0,children:c.jsx(ss,{className:"w-[140px] h-7 text-xs hidden lg:flex",children:c.jsx(Ya,{placeholder:"Renderer"})})}),c.jsx(et,{children:c.jsx("p",{children:"Select the rendering library"})})]}),c.jsx(as,{className:"text-sidebar-foreground",children:hl.map(K=>c.jsxs(Ar,{value:K,children:[c.jsxs(Xe,{children:[c.jsx(Qe,{tabIndex:-1,children:Ds[K][0]}),c.jsx(et,{children:Ds[K][1]})]})," ",K]},K))})]}),c.jsx("div",{className:"w-px h-4 bg-border/60 mx-1"}),c.jsxs(to,{children:[c.jsxs(Xe,{children:[c.jsx(Qe,{asChild:!0,children:c.jsx(no,{asChild:!0,children:c.jsx(_e,{variant:"ghost",size:"icon",className:"h-7 w-7",children:c.jsx(tg,{className:"h-3.5 w-3.5"})})})}),c.jsx(et,{children:c.jsx("p",{children:"More actions"})})]}),c.jsxs(ls,{align:"end",className:"w-52",children:[f&&c.jsxs(qt,{onClick:f,children:[c.jsx(ng,{className:"h-4 w-4 mr-2"}),"View JSON Schemas"]}),d&&c.jsxs(qt,{onClick:d,children:[c.jsx(rg,{className:"h-4 w-4 mr-2"}),"Browse fonts"]}),u&&c.jsxs(qt,{onClick:u,children:[c.jsx(ig,{className:"h-4 w-4 mr-2"}),"View cache metrics"]}),c.jsxs(qt,{onClick:le,disabled:!p||P,children:[c.jsx(ed,{className:"h-4 w-4 mr-2"}),P?"Copying...":"Copy standard components"]}),c.jsx(Or,{}),c.jsxs(qt,{onClick:()=>L(!0),disabled:B,className:"text-destructive focus:text-destructive",children:[c.jsx(Va,{className:"h-4 w-4 mr-2"}),B?"Clearing...":"Clear all caches"]}),m&&w&&c.jsxs(c.Fragment,{children:[c.jsx(Or,{className:"lg:hidden"}),hl.map(K=>c.jsxs(qt,{className:"lg:hidden",onClick:()=>w(K),children:[c.jsx("span",{className:"mr-2",children:m===K?"●":"○"}),Ds[K][0]," ",K]},K))]})]})]}),_&&c.jsxs(Xe,{children:[c.jsx(Qe,{asChild:!0,children:c.jsx(_e,{variant:g?"default":"ghost",size:"icon",className:"h-7 w-7",onClick:_,children:g?c.jsx(td,{className:"h-3.5 w-3.5"}):c.jsx(sg,{className:"h-3.5 w-3.5"})})}),c.jsx(et,{children:c.jsxs("span",{className:"flex items-center gap-1.5",children:[g?"Hide":"Show"," Preview"," ",c.jsx(ya,{shortcut:"mod+shift+p"})]})})]}),S&&c.jsxs(Xe,{children:[c.jsx(Qe,{asChild:!0,children:c.jsx(_e,{variant:x?"default":"ghost",size:"icon",className:"h-7 w-7",onClick:S,children:c.jsx(nd,{className:"h-3.5 w-3.5"})})}),c.jsx(et,{children:c.jsxs("span",{className:"flex items-center gap-1.5",children:[x?"Close":"Open"," AI Chat"," ",c.jsx(ya,{shortcut:"mod+shift+j"})]})})]})]})]}),c.jsx(Oy,{open:oe,onClose:()=>v(!1),nonSafeFonts:ce,onChoose:ne}),c.jsx(Dt,{open:U,onOpenChange:L,children:c.jsxs(Et,{className:"max-w-sm",children:[c.jsxs(Gt,{children:[c.jsx(Kt,{children:"Clear all caches?"}),c.jsx(Cn,{children:"This will clear document and component caches. Next generation will be uncached."})]}),c.jsxs(Yn,{children:[c.jsx(_e,{variant:"outline",size:"sm",onClick:()=>L(!1),children:"Cancel"}),c.jsx(_e,{variant:"destructive",size:"sm",disabled:B,onClick:async()=>{await W(),L(!1)},children:B?c.jsx(nn,{size:"sm"}):"Clear"})]})]})})]})}const Ry=Ee.memo(Dy);function My(e,t,n){if(t.length===0)return n;const r=ml(e,t[0]);let i=r;for(let s=0;s<t.length-1;s++){const a=t[s],o=t[s+1],l=i[a],u=ml(l,o);i[a]=u,i=u}return i[t[t.length-1]]=n,r}function ml(e,t){return typeof t=="number"?Array.isArray(e)?[...e]:[]:e&&typeof e=="object"&&!Array.isArray(e)?{...e}:{}}const $y={safe:[],google:[]};function Fy(e,t){var f;const n=`gf-${e.replace(/\s+/g,"-")}`,r=document.getElementById(n),i=new Set(t&&t.length>0?t:[400,700]),s=new Set(((f=r==null?void 0:r.dataset.weights)==null?void 0:f.split(",").map(Number).filter(d=>!Number.isNaN(d)))??[]),a=new Set([...s,...i]);if(r&&a.size===s.size)return;const o=[...a].sort((d,p)=>d-p).join(";"),l=`https://fonts.googleapis.com/css2?family=${encodeURIComponent(e)}:wght@${o}&display=swap`,u=r??document.createElement("link");r||(u.id=n,u.rel="stylesheet",document.head.appendChild(u)),u.href=l,u.dataset.weights=[...a].sort((d,p)=>d-p).join(",")}function Ly(){const e=Ae(i=>i.activeTab),t=Ae(i=>i.documents),n=Ae(i=>i.documentTypes),r=Ae(i=>i.saveDocument);return y.useCallback(i=>{if(!e)return{ok:!1,error:"No active file"};if(n[e]!=="application/json+theme")return{ok:!1,error:"Fonts are registered on themes, not documents. Open a .theme.json file and try again."};const s=t.find(l=>l.name===e);if(!s)return{ok:!1,error:"Active theme not found"};let a;try{a=JSON.parse(s.text)}catch(l){return{ok:!1,error:`Active theme is not valid JSON: ${l.message}`}}const o=i(a);return r(e,JSON.stringify(o,null,2)),{ok:!0,name:e}},[e,t,n,r])}function Zy(){const e=Ae(r=>r.activeTab),t=Ae(r=>r.documents),n=Ae(r=>r.saveDocument);return y.useCallback((r,i)=>{if(!e)return{ok:!1,error:"No active file"};const s=t.find(l=>l.name===e);if(!s)return{ok:!1,error:"Active document not found"};let a;try{a=JSON.parse(s.text)}catch(l){return{ok:!1,error:`Active document is not valid JSON: ${l.message}`}}const o=My(a,r,i);return n(e,JSON.stringify(o,null,2)),{ok:!0,name:e}},[e,t,n])}function By(e,t,n){(!e.fonts||typeof e.fonts!="object")&&(e.fonts={});const r=e.fonts[t];r&&typeof r=="object"?e.fonts[t]={...r,family:n}:e.fonts[t]=n}function gl(e){return e.map((t,n)=>typeof t=="number"?`[${t}]`:n===0?t:`.${t}`).join("")}const Vy=({open:e,onOpenChange:t})=>{const n=pi(A=>A.open),r=pi(A=>A.contextual),i=pi(A=>A.close),s=e??n,a=r,o=y.useCallback(A=>{t&&t(A),A||i()},[t,i]),[l,u]=y.useState($y),[f,d]=y.useState(!1),[p,h]=y.useState(""),[m,w]=y.useState("safe"),[S,x]=y.useState(null),[_,g]=y.useState(null),{toast:T}=Wi(),E=Ly(),k=Zy(),N=Ae(A=>A.activeTab),M=Ae(A=>A.documentTypes),Y=N&&M[N]==="application/json+theme",C=!!a||Y;y.useEffect(()=>{s&&(l.safe.length>0||l.google.length>0||(d(!0),fetch("/api/fonts/catalog").then(A=>A.json()).then(A=>u(A)).catch(A=>{T({variant:"destructive",title:"Font catalog unavailable",description:A.message})}).finally(()=>d(!1))))},[s,l,T]),y.useEffect(()=>{if(!(m!=="google"||l.google.length===0))for(const A of l.google)Fy(A.family,A.weights)},[m,l]);const B=y.useMemo(()=>l.safe.filter(A=>A.toLowerCase().includes(p.toLowerCase())),[l.safe,p]),R=y.useMemo(()=>l.google.filter(A=>A.family.toLowerCase().includes(p.toLowerCase())),[l.google,p]),U=y.useCallback(async A=>{try{await navigator.clipboard.writeText(A),g(A),setTimeout(()=>g(null),1500)}catch{T({variant:"destructive",title:"Copy failed",description:"Your browser blocked clipboard write."})}},[T]),L=y.useCallback(async(A,J,O)=>{x(A);try{const q=E(b=>(By(b,O,A),b));if(!q.ok){T({variant:"destructive",title:"Could not insert font",description:q.error});return}T({title:"Font inserted",description:`${A} set as ${O} font in "${q.name}".`})}finally{x(null)}},[E,T]),P=y.useCallback(async A=>{if(a){x(A);try{const J=k(a.jsonPath,A);if(!J.ok){T({variant:"destructive",title:"Could not insert font",description:J.error});return}T({title:"Font inserted",description:`${A} set at ${gl(a.jsonPath)}.`}),o(!1)}finally{x(null)}}},[a,k,T,o]);return c.jsx(Dt,{open:s,onOpenChange:o,children:c.jsxs(Et,{className:"max-w-4xl max-h-[90vh] overflow-hidden flex flex-col",children:[c.jsx(Gt,{children:c.jsx(Kt,{children:a?`Font for ${gl(a.jsonPath)}`:"Fonts"})}),!a&&!Y&&c.jsx(Ii,{children:c.jsxs(zi,{children:["Fonts are registered on themes. Open a ",c.jsx("code",{children:".theme.json"})," ","file to apply a font — the buttons below are disabled until you do."]})}),c.jsxs(Jd,{value:m,onValueChange:A=>w(A),className:"flex-1 overflow-hidden flex flex-col",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsxs(ro,{children:[c.jsxs(Dr,{value:"safe",children:["Safe",c.jsx(kn,{variant:"secondary",className:"ml-1 text-xs px-1 py-0",children:l.safe.length})]}),c.jsxs(Dr,{value:"google",children:["Google",c.jsx(kn,{variant:"secondary",className:"ml-1 text-xs px-1 py-0",children:l.google.length})]})]}),c.jsx(is,{type:"search",placeholder:"Search fonts...",value:p,onChange:A=>h(A.target.value),className:"ml-auto max-w-xs"})]}),c.jsxs("div",{className:"flex-1 overflow-auto mt-4 pr-2",children:[c.jsx(Rr,{value:"safe",className:"m-0",children:f&&B.length===0?c.jsxs("div",{className:"flex items-center justify-center py-12 text-muted-foreground",children:[c.jsx(aa,{className:"animate-spin mr-2"})," Loading catalog..."]}):c.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-3",children:B.map(A=>c.jsx(xl,{family:A,meta:c.jsx("span",{className:"text-xs",children:"Installed with Office"}),previewStyle:{fontFamily:`"${A}", sans-serif`},onCopy:()=>U(A),copied:_===A,contextual:!!a,onUseThis:()=>P(A),onInsertHeading:()=>L(A,"safe","heading"),onInsertBody:()=>L(A,"safe","body"),applying:S===A,disabled:!C},A))})}),c.jsx(Rr,{value:"google",className:"m-0",children:f&&R.length===0?c.jsxs("div",{className:"flex items-center justify-center py-12 text-muted-foreground",children:[c.jsx(aa,{className:"animate-spin mr-2"})," Loading catalog..."]}):c.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-3",children:R.map(A=>c.jsx(xl,{family:A.family,meta:c.jsxs("span",{className:"text-xs",children:[A.category," · ",A.weights.length," weights"]}),previewStyle:{fontFamily:`"${A.family}", sans-serif`},onCopy:()=>U(A.family),copied:_===A.family,contextual:!!a,onUseThis:()=>P(A.family),onInsertHeading:()=>L(A.family,"google","heading"),onInsertBody:()=>L(A.family,"google","body"),applying:S===A.family,disabled:!C,extraAction:c.jsx(Jy,{family:A.family,weights:A.weights,hasItalic:A.hasItalic})},A.family))})})]})]})]})})},Uy="The quick brown fox jumps over the lazy dog",Jy=({family:e,weights:t,hasItalic:n})=>{const r=y.useMemo(()=>[...t].sort((i,s)=>i-s),[t]);return c.jsxs(to,{children:[c.jsx(no,{asChild:!0,children:c.jsx(_e,{size:"sm",variant:"ghost","aria-label":"Show variants",children:"Variants"})}),c.jsxs(ls,{align:"end",className:"min-w-[260px]",children:[c.jsxs(Ud,{className:"text-xs text-muted-foreground",children:[r.length," weight",r.length===1?"":"s",n?" · italic available":""]}),c.jsx(Or,{}),r.map(i=>{const s=gm[i]??String(i);return c.jsxs("div",{className:"flex flex-col gap-0.5 px-2 py-1.5",children:[c.jsx("span",{className:"truncate",style:{fontFamily:`"${e}", sans-serif`,fontWeight:i},children:s}),c.jsxs("span",{className:"text-xs text-muted-foreground font-mono",children:["fontWeight: ",i]})]},i)})]})]})},xl=({family:e,meta:t,previewStyle:n,onCopy:r,copied:i,contextual:s,onUseThis:a,onInsertHeading:o,onInsertBody:l,applying:u,disabled:f,extraAction:d})=>c.jsxs("div",{className:"border rounded-md p-3 flex flex-col gap-2 bg-card",children:[c.jsxs("div",{className:"flex items-baseline justify-between gap-2",children:[c.jsx("div",{className:"font-medium truncate",children:e}),c.jsx("div",{className:"text-muted-foreground",children:t})]}),c.jsx("div",{className:"text-lg truncate",style:n,"aria-hidden":!0,children:Uy}),c.jsxs("div",{className:"flex items-center gap-2 mt-1",children:[s?c.jsx(_e,{size:"sm",onClick:a,disabled:u||f,"aria-label":`Use ${e} at the target path`,children:"Use this font"}):c.jsxs(c.Fragment,{children:[c.jsx(_e,{size:"sm",variant:"secondary",onClick:o,disabled:u||f,"aria-label":`Set ${e} as heading font`,children:"Set heading"}),c.jsx(_e,{size:"sm",variant:"secondary",onClick:l,disabled:u||f,"aria-label":`Set ${e} as body font`,children:"Set body"})]}),d,c.jsx(_e,{size:"sm",variant:"ghost",className:"ml-auto",onClick:r,"aria-label":`Copy ${e}`,children:i?c.jsx(ln,{className:"h-4 w-4"}):c.jsx(es,{className:"h-4 w-4"})})]})]});function yl({previewOpen:e,onTogglePreview:t}){const n=yn(M=>M.name||""),r=yn(M=>M.blob),i=yn(M=>M.isGenerating),s=yn(M=>M.text),a=yn(M=>M.warnings),o=yn(M=>M.isRendering),l=ni(M=>M.autoReload),u=ni(M=>M.renderingLibrary),f=ni(M=>M.setSettings),d=ni(M=>M.useGlobalPreviewHeader??!0),p=Ae(M=>M.activeTab),h=Ae(M=>M.documentTypes),m=p&&h[p]==="application/json+theme"?"theme":"document",w=Te(M=>M.chatOpen),S=Te(M=>M.toggleChat),[x,_]=Ee.useState(!1),g=pi(M=>M.openFor);if(!d)return null;const T=y.useCallback(()=>f({saveDocumentDebounceWait:2e3,autoReload:!l}),[l,f]),E=y.useCallback(()=>{window.dispatchEvent(new CustomEvent("preview:manualRender"))},[]),k=y.useCallback(()=>{window.dispatchEvent(new CustomEvent("preview:showCacheMetrics"))},[]),N=(n==null?void 0:n.trim())||"Preview";return c.jsxs("div",{className:"sticky top-0 z-20",children:[c.jsx(Ry,{name:N,blob:r,displayReloadButton:!1,autoReload:l,onToggleAutoReload:T,onManualRender:E,isGenerating:i,isRendering:!!o,onShowCacheMetrics:k,onShowSchemas:()=>_(!0),onShowFonts:()=>g(),documentText:s,warnings:a,renderingLibrary:u,setRenderingLibrary:M=>f({renderingLibrary:M}),onToggleChat:S,chatOpen:w,onTogglePreview:t,previewOpen:e}),c.jsx(Hd,{open:x,onOpenChange:_,defaultTab:m==="theme"?"theme":"document"}),c.jsx(Vy,{})]})}function Hy(e,t){const n={};return(e[e.length-1]===""?[...e,""]:e).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}const qy=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,Wy=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,Gy={};function bl(e,t){return(Gy.jsx?Wy:qy).test(e)}const Ky=/[ \t\n\f\r]/g;function Yy(e){return typeof e=="object"?e.type==="text"?vl(e.value):!1:vl(e)}function vl(e){return e.replace(Ky,"")===""}class Gr{constructor(t,n,r){this.normal=n,this.property=t,r&&(this.space=r)}}Gr.prototype.normal={};Gr.prototype.property={};Gr.prototype.space=void 0;function xf(e,t){const n={},r={};for(const i of e)Object.assign(n,i.property),Object.assign(r,i.normal);return new Gr(n,r,t)}function ba(e){return e.toLowerCase()}class yt{constructor(t,n){this.attribute=n,this.property=t}}yt.prototype.attribute="";yt.prototype.booleanish=!1;yt.prototype.boolean=!1;yt.prototype.commaOrSpaceSeparated=!1;yt.prototype.commaSeparated=!1;yt.prototype.defined=!1;yt.prototype.mustUseProperty=!1;yt.prototype.number=!1;yt.prototype.overloadedBoolean=!1;yt.prototype.property="";yt.prototype.spaceSeparated=!1;yt.prototype.space=void 0;let Xy=0;const we=zn(),Ye=zn(),va=zn(),Q=zn(),$e=zn(),Gn=zn(),vt=zn();function zn(){return 2**++Xy}const wa=Object.freeze(Object.defineProperty({__proto__:null,boolean:we,booleanish:Ye,commaOrSpaceSeparated:vt,commaSeparated:Gn,number:Q,overloadedBoolean:va,spaceSeparated:$e},Symbol.toStringTag,{value:"Module"})),Rs=Object.keys(wa);class lo extends yt{constructor(t,n,r,i){let s=-1;if(super(t,n),wl(this,"space",i),typeof r=="number")for(;++s<Rs.length;){const a=Rs[s];wl(this,Rs[s],(r&wa[a])===wa[a])}}}lo.prototype.defined=!0;function wl(e,t,n){n&&(e[t]=n)}function ir(e){const t={},n={};for(const[r,i]of Object.entries(e.properties)){const s=new lo(r,e.transform(e.attributes||{},r),i,e.space);e.mustUseProperty&&e.mustUseProperty.includes(r)&&(s.mustUseProperty=!0),t[r]=s,n[ba(r)]=r,n[ba(s.attribute)]=r}return new Gr(t,n,e.space)}const yf=ir({properties:{ariaActiveDescendant:null,ariaAtomic:Ye,ariaAutoComplete:null,ariaBusy:Ye,ariaChecked:Ye,ariaColCount:Q,ariaColIndex:Q,ariaColSpan:Q,ariaControls:$e,ariaCurrent:null,ariaDescribedBy:$e,ariaDetails:null,ariaDisabled:Ye,ariaDropEffect:$e,ariaErrorMessage:null,ariaExpanded:Ye,ariaFlowTo:$e,ariaGrabbed:Ye,ariaHasPopup:null,ariaHidden:Ye,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:$e,ariaLevel:Q,ariaLive:null,ariaModal:Ye,ariaMultiLine:Ye,ariaMultiSelectable:Ye,ariaOrientation:null,ariaOwns:$e,ariaPlaceholder:null,ariaPosInSet:Q,ariaPressed:Ye,ariaReadOnly:Ye,ariaRelevant:null,ariaRequired:Ye,ariaRoleDescription:$e,ariaRowCount:Q,ariaRowIndex:Q,ariaRowSpan:Q,ariaSelected:Ye,ariaSetSize:Q,ariaSort:null,ariaValueMax:Q,ariaValueMin:Q,ariaValueNow:Q,ariaValueText:null,role:null},transform(e,t){return t==="role"?t:"aria-"+t.slice(4).toLowerCase()}});function bf(e,t){return t in e?e[t]:t}function vf(e,t){return bf(e,t.toLowerCase())}const Qy=ir({attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:Gn,acceptCharset:$e,accessKey:$e,action:null,allow:null,allowFullScreen:we,allowPaymentRequest:we,allowUserMedia:we,alt:null,as:null,async:we,autoCapitalize:null,autoComplete:$e,autoFocus:we,autoPlay:we,blocking:$e,capture:null,charSet:null,checked:we,cite:null,className:$e,cols:Q,colSpan:null,content:null,contentEditable:Ye,controls:we,controlsList:$e,coords:Q|Gn,crossOrigin:null,data:null,dateTime:null,decoding:null,default:we,defer:we,dir:null,dirName:null,disabled:we,download:va,draggable:Ye,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:we,formTarget:null,headers:$e,height:Q,hidden:va,high:Q,href:null,hrefLang:null,htmlFor:$e,httpEquiv:$e,id:null,imageSizes:null,imageSrcSet:null,inert:we,inputMode:null,integrity:null,is:null,isMap:we,itemId:null,itemProp:$e,itemRef:$e,itemScope:we,itemType:$e,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:we,low:Q,manifest:null,max:null,maxLength:Q,media:null,method:null,min:null,minLength:Q,multiple:we,muted:we,name:null,nonce:null,noModule:we,noValidate:we,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:we,optimum:Q,pattern:null,ping:$e,placeholder:null,playsInline:we,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:we,referrerPolicy:null,rel:$e,required:we,reversed:we,rows:Q,rowSpan:Q,sandbox:$e,scope:null,scoped:we,seamless:we,selected:we,shadowRootClonable:we,shadowRootDelegatesFocus:we,shadowRootMode:null,shape:null,size:Q,sizes:null,slot:null,span:Q,spellCheck:Ye,src:null,srcDoc:null,srcLang:null,srcSet:null,start:Q,step:null,style:null,tabIndex:Q,target:null,title:null,translate:null,type:null,typeMustMatch:we,useMap:null,value:Ye,width:Q,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:$e,axis:null,background:null,bgColor:null,border:Q,borderColor:null,bottomMargin:Q,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:we,declare:we,event:null,face:null,frame:null,frameBorder:null,hSpace:Q,leftMargin:Q,link:null,longDesc:null,lowSrc:null,marginHeight:Q,marginWidth:Q,noResize:we,noHref:we,noShade:we,noWrap:we,object:null,profile:null,prompt:null,rev:null,rightMargin:Q,rules:null,scheme:null,scrolling:Ye,standby:null,summary:null,text:null,topMargin:Q,valueType:null,version:null,vAlign:null,vLink:null,vSpace:Q,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:we,disableRemotePlayback:we,prefix:null,property:null,results:Q,security:null,unselectable:null},space:"html",transform:vf}),eb=ir({attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},properties:{about:vt,accentHeight:Q,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:Q,amplitude:Q,arabicForm:null,ascent:Q,attributeName:null,attributeType:null,azimuth:Q,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:Q,by:null,calcMode:null,capHeight:Q,className:$e,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:Q,diffuseConstant:Q,direction:null,display:null,dur:null,divisor:Q,dominantBaseline:null,download:we,dx:null,dy:null,edgeMode:null,editable:null,elevation:Q,enableBackground:null,end:null,event:null,exponent:Q,externalResourcesRequired:null,fill:null,fillOpacity:Q,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:Gn,g2:Gn,glyphName:Gn,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:Q,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:Q,horizOriginX:Q,horizOriginY:Q,id:null,ideographic:Q,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:Q,k:Q,k1:Q,k2:Q,k3:Q,k4:Q,kernelMatrix:vt,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:Q,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:Q,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:Q,overlineThickness:Q,paintOrder:null,panose1:null,path:null,pathLength:Q,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:$e,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:Q,pointsAtY:Q,pointsAtZ:Q,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:vt,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:vt,rev:vt,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:vt,requiredFeatures:vt,requiredFonts:vt,requiredFormats:vt,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:Q,specularExponent:Q,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:Q,strikethroughThickness:Q,string:null,stroke:null,strokeDashArray:vt,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:Q,strokeOpacity:Q,strokeWidth:null,style:null,surfaceScale:Q,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:vt,tabIndex:Q,tableValues:null,target:null,targetX:Q,targetY:Q,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:vt,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:Q,underlineThickness:Q,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:Q,values:null,vAlphabetic:Q,vMathematical:Q,vectorEffect:null,vHanging:Q,vIdeographic:Q,version:null,vertAdvY:Q,vertOriginX:Q,vertOriginY:Q,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:Q,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:"svg",transform:bf}),wf=ir({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:"xlink",transform(e,t){return"xlink:"+t.slice(5).toLowerCase()}}),kf=ir({attributes:{xmlnsxlink:"xmlns:xlink"},properties:{xmlnsXLink:null,xmlns:null},space:"xmlns",transform:vf}),Sf=ir({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:"xml",transform(e,t){return"xml:"+t.slice(3).toLowerCase()}}),tb={classId:"classID",dataType:"datatype",itemId:"itemID",strokeDashArray:"strokeDasharray",strokeDashOffset:"strokeDashoffset",strokeLineCap:"strokeLinecap",strokeLineJoin:"strokeLinejoin",strokeMiterLimit:"strokeMiterlimit",typeOf:"typeof",xLinkActuate:"xlinkActuate",xLinkArcRole:"xlinkArcrole",xLinkHref:"xlinkHref",xLinkRole:"xlinkRole",xLinkShow:"xlinkShow",xLinkTitle:"xlinkTitle",xLinkType:"xlinkType",xmlnsXLink:"xmlnsXlink"},nb=/[A-Z]/g,kl=/-[a-z]/g,rb=/^data[-\w.:]+$/i;function ib(e,t){const n=ba(t);let r=t,i=yt;if(n in e.normal)return e.property[e.normal[n]];if(n.length>4&&n.slice(0,4)==="data"&&rb.test(t)){if(t.charAt(4)==="-"){const s=t.slice(5).replace(kl,ab);r="data"+s.charAt(0).toUpperCase()+s.slice(1)}else{const s=t.slice(4);if(!kl.test(s)){let a=s.replace(nb,sb);a.charAt(0)!=="-"&&(a="-"+a),t="data"+a}}i=lo}return new i(r,t)}function sb(e){return"-"+e.toLowerCase()}function ab(e){return e.charAt(1).toUpperCase()}const ob=xf([yf,Qy,wf,kf,Sf],"html"),uo=xf([yf,eb,wf,kf,Sf],"svg");function lb(e){return e.join(" ").trim()}var Dn={},Ms,Sl;function ub(){if(Sl)return Ms;Sl=1;var e=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,t=/\n/g,n=/^\s*/,r=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,i=/^:\s*/,s=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,a=/^[;\s]*/,o=/^\s+|\s+$/g,l=`
3
3
  `,u="/",f="*",d="",p="comment",h="declaration";function m(S,x){if(typeof S!="string")throw new TypeError("First argument must be a string");if(!S)return[];x=x||{};var _=1,g=1;function T(L){var P=L.match(t);P&&(_+=P.length);var A=L.lastIndexOf(l);g=~A?L.length-A:g+L.length}function E(){var L={line:_,column:g};return function(P){return P.position=new k(L),Y(),P}}function k(L){this.start=L,this.end={line:_,column:g},this.source=x.source}k.prototype.content=S;function N(L){var P=new Error(x.source+":"+_+":"+g+": "+L);if(P.reason=L,P.filename=x.source,P.line=_,P.column=g,P.source=S,!x.silent)throw P}function M(L){var P=L.exec(S);if(P){var A=P[0];return T(A),S=S.slice(A.length),P}}function Y(){M(n)}function C(L){var P;for(L=L||[];P=B();)P!==!1&&L.push(P);return L}function B(){var L=E();if(!(u!=S.charAt(0)||f!=S.charAt(1))){for(var P=2;d!=S.charAt(P)&&(f!=S.charAt(P)||u!=S.charAt(P+1));)++P;if(P+=2,d===S.charAt(P-1))return N("End of comment missing");var A=S.slice(2,P-2);return g+=2,T(A),S=S.slice(P),g+=2,L({type:p,comment:A})}}function R(){var L=E(),P=M(r);if(P){if(B(),!M(i))return N("property missing ':'");var A=M(s),J=L({type:h,property:w(P[0].replace(e,d)),value:A?w(A[0].replace(e,d)):d});return M(a),J}}function U(){var L=[];C(L);for(var P;P=R();)P!==!1&&(L.push(P),C(L));return L}return Y(),U()}function w(S){return S?S.replace(o,d):d}return Ms=m,Ms}var _l;function cb(){if(_l)return Dn;_l=1;var e=Dn&&Dn.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Dn,"__esModule",{value:!0}),Dn.default=n;const t=e(ub());function n(r,i){let s=null;if(!r||typeof r!="string")return s;const a=(0,t.default)(r),o=typeof i=="function";return a.forEach(l=>{if(l.type!=="declaration")return;const{property:u,value:f}=l;o?i(u,f,l):f&&(s=s||{},s[u]=f)}),s}return Dn}var pr={},jl;function db(){if(jl)return pr;jl=1,Object.defineProperty(pr,"__esModule",{value:!0}),pr.camelCase=void 0;var e=/^--[a-zA-Z0-9_-]+$/,t=/-([a-z])/g,n=/^[^-]+$/,r=/^-(webkit|moz|ms|o|khtml)-/,i=/^-(ms)-/,s=function(u){return!u||n.test(u)||e.test(u)},a=function(u,f){return f.toUpperCase()},o=function(u,f){return"".concat(f,"-")},l=function(u,f){return f===void 0&&(f={}),s(u)?u:(u=u.toLowerCase(),f.reactCompat?u=u.replace(i,o):u=u.replace(r,o),u.replace(t,a))};return pr.camelCase=l,pr}var hr,Cl;function fb(){if(Cl)return hr;Cl=1;var e=hr&&hr.__importDefault||function(i){return i&&i.__esModule?i:{default:i}},t=e(cb()),n=db();function r(i,s){var a={};return!i||typeof i!="string"||(0,t.default)(i,function(o,l){o&&l&&(a[(0,n.camelCase)(o,s)]=l)}),a}return r.default=r,hr=r,hr}var pb=fb();const hb=Za(pb),_f=jf("end"),co=jf("start");function jf(e){return t;function t(n){const r=n&&n.position&&n.position[e]||{};if(typeof r.line=="number"&&r.line>0&&typeof r.column=="number"&&r.column>0)return{line:r.line,column:r.column,offset:typeof r.offset=="number"&&r.offset>-1?r.offset:void 0}}}function mb(e){const t=co(e),n=_f(e);if(t&&n)return{start:t,end:n}}function Ir(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?Nl(e.position):"start"in e||"end"in e?Nl(e):"line"in e||"column"in e?ka(e):""}function ka(e){return El(e&&e.line)+":"+El(e&&e.column)}function Nl(e){return ka(e&&e.start)+"-"+ka(e&&e.end)}function El(e){return e&&typeof e=="number"?e:1}class at extends Error{constructor(t,n,r){super(),typeof n=="string"&&(r=n,n=void 0);let i="",s={},a=!1;if(n&&("line"in n&&"column"in n?s={place:n}:"start"in n&&"end"in n?s={place:n}:"type"in n?s={ancestors:[n],place:n.position}:s={...n}),typeof t=="string"?i=t:!s.cause&&t&&(a=!0,i=t.message,s.cause=t),!s.ruleId&&!s.source&&typeof r=="string"){const l=r.indexOf(":");l===-1?s.ruleId=r:(s.source=r.slice(0,l),s.ruleId=r.slice(l+1))}if(!s.place&&s.ancestors&&s.ancestors){const l=s.ancestors[s.ancestors.length-1];l&&(s.place=l.position)}const o=s.place&&"start"in s.place?s.place.start:s.place;this.ancestors=s.ancestors||void 0,this.cause=s.cause||void 0,this.column=o?o.column:void 0,this.fatal=void 0,this.file="",this.message=i,this.line=o?o.line:void 0,this.name=Ir(s.place)||"1:1",this.place=s.place||void 0,this.reason=this.message,this.ruleId=s.ruleId||void 0,this.source=s.source||void 0,this.stack=a&&s.cause&&typeof s.cause.stack=="string"?s.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}at.prototype.file="";at.prototype.name="";at.prototype.reason="";at.prototype.message="";at.prototype.stack="";at.prototype.column=void 0;at.prototype.line=void 0;at.prototype.ancestors=void 0;at.prototype.cause=void 0;at.prototype.fatal=void 0;at.prototype.place=void 0;at.prototype.ruleId=void 0;at.prototype.source=void 0;const fo={}.hasOwnProperty,gb=new Map,xb=/[A-Z]/g,yb=new Set(["table","tbody","thead","tfoot","tr"]),bb=new Set(["td","th"]),Cf="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function vb(e,t){if(!t||t.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const n=t.filePath||void 0;let r;if(t.development){if(typeof t.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");r=Eb(n,t.jsxDEV)}else{if(typeof t.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof t.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");r=Nb(n,t.jsx,t.jsxs)}const i={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:r,elementAttributeNameCase:t.elementAttributeNameCase||"react",evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:n,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:t.passKeys!==!1,passNode:t.passNode||!1,schema:t.space==="svg"?uo:ob,stylePropertyNameCase:t.stylePropertyNameCase||"dom",tableCellAlignToStyle:t.tableCellAlignToStyle!==!1},s=Nf(i,e,void 0);return s&&typeof s!="string"?s:i.create(e,i.Fragment,{children:s||void 0},void 0)}function Nf(e,t,n){if(t.type==="element")return wb(e,t,n);if(t.type==="mdxFlowExpression"||t.type==="mdxTextExpression")return kb(e,t);if(t.type==="mdxJsxFlowElement"||t.type==="mdxJsxTextElement")return _b(e,t,n);if(t.type==="mdxjsEsm")return Sb(e,t);if(t.type==="root")return jb(e,t,n);if(t.type==="text")return Cb(e,t)}function wb(e,t,n){const r=e.schema;let i=r;t.tagName.toLowerCase()==="svg"&&r.space==="html"&&(i=uo,e.schema=i),e.ancestors.push(t);const s=If(e,t.tagName,!1),a=Ib(e,t);let o=ho(e,t);return yb.has(t.tagName)&&(o=o.filter(function(l){return typeof l=="string"?!Yy(l):!0})),Ef(e,a,s,t),po(a,o),e.ancestors.pop(),e.schema=r,e.create(t,s,a,n)}function kb(e,t){if(t.data&&t.data.estree&&e.evaluater){const r=t.data.estree.body[0];return r.type,e.evaluater.evaluateExpression(r.expression)}Fr(e,t.position)}function Sb(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);Fr(e,t.position)}function _b(e,t,n){const r=e.schema;let i=r;t.name==="svg"&&r.space==="html"&&(i=uo,e.schema=i),e.ancestors.push(t);const s=t.name===null?e.Fragment:If(e,t.name,!0),a=zb(e,t),o=ho(e,t);return Ef(e,a,s,t),po(a,o),e.ancestors.pop(),e.schema=r,e.create(t,s,a,n)}function jb(e,t,n){const r={};return po(r,ho(e,t)),e.create(t,e.Fragment,r,n)}function Cb(e,t){return t.value}function Ef(e,t,n,r){typeof n!="string"&&n!==e.Fragment&&e.passNode&&(t.node=r)}function po(e,t){if(t.length>0){const n=t.length>1?t:t[0];n&&(e.children=n)}}function Nb(e,t,n){return r;function r(i,s,a,o){const u=Array.isArray(a.children)?n:t;return o?u(s,a,o):u(s,a)}}function Eb(e,t){return n;function n(r,i,s,a){const o=Array.isArray(s.children),l=co(r);return t(i,s,a,o,{columnNumber:l?l.column-1:void 0,fileName:e,lineNumber:l?l.line:void 0},void 0)}}function Ib(e,t){const n={};let r,i;for(i in t.properties)if(i!=="children"&&fo.call(t.properties,i)){const s=Tb(e,i,t.properties[i]);if(s){const[a,o]=s;e.tableCellAlignToStyle&&a==="align"&&typeof o=="string"&&bb.has(t.tagName)?r=o:n[a]=o}}if(r){const s=n.style||(n.style={});s[e.stylePropertyNameCase==="css"?"text-align":"textAlign"]=r}return n}function zb(e,t){const n={};for(const r of t.attributes)if(r.type==="mdxJsxExpressionAttribute")if(r.data&&r.data.estree&&e.evaluater){const s=r.data.estree.body[0];s.type;const a=s.expression;a.type;const o=a.properties[0];o.type,Object.assign(n,e.evaluater.evaluateExpression(o.argument))}else Fr(e,t.position);else{const i=r.name;let s;if(r.value&&typeof r.value=="object")if(r.value.data&&r.value.data.estree&&e.evaluater){const o=r.value.data.estree.body[0];o.type,s=e.evaluater.evaluateExpression(o.expression)}else Fr(e,t.position);else s=r.value===null?!0:r.value;n[i]=s}return n}function ho(e,t){const n=[];let r=-1;const i=e.passKeys?new Map:gb;for(;++r<t.children.length;){const s=t.children[r];let a;if(e.passKeys){const l=s.type==="element"?s.tagName:s.type==="mdxJsxFlowElement"||s.type==="mdxJsxTextElement"?s.name:void 0;if(l){const u=i.get(l)||0;a=l+"-"+u,i.set(l,u+1)}}const o=Nf(e,s,a);o!==void 0&&n.push(o)}return n}function Tb(e,t,n){const r=ib(e.schema,t);if(!(n==null||typeof n=="number"&&Number.isNaN(n))){if(Array.isArray(n)&&(n=r.commaSeparated?Hy(n):lb(n)),r.property==="style"){let i=typeof n=="object"?n:Ab(e,String(n));return e.stylePropertyNameCase==="css"&&(i=Pb(i)),["style",i]}return[e.elementAttributeNameCase==="react"&&r.space?tb[r.property]||r.property:r.attribute,n]}}function Ab(e,t){try{return hb(t,{reactCompat:!0})}catch(n){if(e.ignoreInvalidStyle)return{};const r=n,i=new at("Cannot parse `style` attribute",{ancestors:e.ancestors,cause:r,ruleId:"style",source:"hast-util-to-jsx-runtime"});throw i.file=e.filePath||void 0,i.url=Cf+"#cannot-parse-style-attribute",i}}function If(e,t,n){let r;if(!n)r={type:"Literal",value:t};else if(t.includes(".")){const i=t.split(".");let s=-1,a;for(;++s<i.length;){const o=bl(i[s])?{type:"Identifier",name:i[s]}:{type:"Literal",value:i[s]};a=a?{type:"MemberExpression",object:a,property:o,computed:!!(s&&o.type==="Literal"),optional:!1}:o}r=a}else r=bl(t)&&!/^[a-z]/.test(t)?{type:"Identifier",name:t}:{type:"Literal",value:t};if(r.type==="Literal"){const i=r.value;return fo.call(e.components,i)?e.components[i]:i}if(e.evaluater)return e.evaluater.evaluateExpression(r);Fr(e)}function Fr(e,t){const n=new at("Cannot handle MDX estrees without `createEvaluater`",{ancestors:e.ancestors,place:t,ruleId:"mdx-estree",source:"hast-util-to-jsx-runtime"});throw n.file=e.filePath||void 0,n.url=Cf+"#cannot-handle-mdx-estrees-without-createevaluater",n}function Pb(e){const t={};let n;for(n in e)fo.call(e,n)&&(t[Ob(n)]=e[n]);return t}function Ob(e){let t=e.replace(xb,Db);return t.slice(0,3)==="ms-"&&(t="-"+t),t}function Db(e){return"-"+e.toLowerCase()}const $s={action:["form"],cite:["blockquote","del","ins","q"],data:["object"],formAction:["button","input"],href:["a","area","base","link"],icon:["menuitem"],itemId:null,manifest:["html"],ping:["a","area"],poster:["video"],src:["audio","embed","iframe","img","input","script","source","track","video"]},Rb={};function mo(e,t){const n=Rb,r=typeof n.includeImageAlt=="boolean"?n.includeImageAlt:!0,i=typeof n.includeHtml=="boolean"?n.includeHtml:!0;return zf(e,r,i)}function zf(e,t,n){if(Mb(e)){if("value"in e)return e.type==="html"&&!n?"":e.value;if(t&&"alt"in e&&e.alt)return e.alt;if("children"in e)return Il(e.children,t,n)}return Array.isArray(e)?Il(e,t,n):""}function Il(e,t,n){const r=[];let i=-1;for(;++i<e.length;)r[i]=zf(e[i],t,n);return r.join("")}function Mb(e){return!!(e&&typeof e=="object")}const zl=document.createElement("i");function go(e){const t="&"+e+";";zl.innerHTML=t;const n=zl.textContent;return n.charCodeAt(n.length-1)===59&&e!=="semi"||n===t?!1:n}function St(e,t,n,r){const i=e.length;let s=0,a;if(t<0?t=-t>i?0:i+t:t=t>i?i:t,n=n>0?n:0,r.length<1e4)a=Array.from(r),a.unshift(t,n),e.splice(...a);else for(n&&e.splice(t,n);s<r.length;)a=r.slice(s,s+1e4),a.unshift(t,0),e.splice(...a),s+=1e4,t+=1e4}function Nt(e,t){return e.length>0?(St(e,e.length,0,t),e):t}const Tl={}.hasOwnProperty;function Tf(e){const t={};let n=-1;for(;++n<e.length;)$b(t,e[n]);return t}function $b(e,t){let n;for(n in t){const i=(Tl.call(e,n)?e[n]:void 0)||(e[n]={}),s=t[n];let a;if(s)for(a in s){Tl.call(i,a)||(i[a]=[]);const o=s[a];Fb(i[a],Array.isArray(o)?o:o?[o]:[])}}}function Fb(e,t){let n=-1;const r=[];for(;++n<t.length;)(t[n].add==="after"?e:r).push(t[n]);St(e,0,0,r)}function Af(e,t){const n=Number.parseInt(e,t);return n<9||n===11||n>13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)===65535||(n&65535)===65534||n>1114111?"�":String.fromCodePoint(n)}function Mt(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const dt=dn(/[A-Za-z]/),st=dn(/[\dA-Za-z]/),Lb=dn(/[#-'*+\--9=?A-Z^-~]/);function Di(e){return e!==null&&(e<32||e===127)}const Sa=dn(/\d/),Zb=dn(/[\dA-Fa-f]/),Bb=dn(/[!-/:-@[-`{-~]/);function me(e){return e!==null&&e<-2}function Re(e){return e!==null&&(e<0||e===32)}function Ce(e){return e===-2||e===-1||e===32}const ps=dn(new RegExp("\\p{P}|\\p{S}","u")),En=dn(/\s/);function dn(e){return t;function t(n){return n!==null&&n>-1&&e.test(String.fromCharCode(n))}}function sr(e){const t=[];let n=-1,r=0,i=0;for(;++n<e.length;){const s=e.charCodeAt(n);let a="";if(s===37&&st(e.charCodeAt(n+1))&&st(e.charCodeAt(n+2)))i=2;else if(s<128)/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(s))||(a=String.fromCharCode(s));else if(s>55295&&s<57344){const o=e.charCodeAt(n+1);s<56320&&o>56319&&o<57344?(a=String.fromCharCode(s,o),i=1):a="�"}else a=String.fromCharCode(s);a&&(t.push(e.slice(r,n),encodeURIComponent(a)),r=n+i+1,a=""),i&&(n+=i,i=0)}return t.join("")+e.slice(r)}function ze(e,t,n,r){const i=r?r-1:Number.POSITIVE_INFINITY;let s=0;return a;function a(l){return Ce(l)?(e.enter(n),o(l)):t(l)}function o(l){return Ce(l)&&s++<i?(e.consume(l),o):(e.exit(n),t(l))}}const Vb={tokenize:Ub};function Ub(e){const t=e.attempt(this.parser.constructs.contentInitial,r,i);let n;return t;function r(o){if(o===null){e.consume(o);return}return e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),ze(e,t,"linePrefix")}function i(o){return e.enter("paragraph"),s(o)}function s(o){const l=e.enter("chunkText",{contentType:"text",previous:n});return n&&(n.next=l),n=l,a(o)}function a(o){if(o===null){e.exit("chunkText"),e.exit("paragraph"),e.consume(o);return}return me(o)?(e.consume(o),e.exit("chunkText"),s):(e.consume(o),a)}}const Jb={tokenize:Hb},Al={tokenize:qb};function Hb(e){const t=this,n=[];let r=0,i,s,a;return o;function o(g){if(r<n.length){const T=n[r];return t.containerState=T[1],e.attempt(T[0].continuation,l,u)(g)}return u(g)}function l(g){if(r++,t.containerState._closeFlow){t.containerState._closeFlow=void 0,i&&_();const T=t.events.length;let E=T,k;for(;E--;)if(t.events[E][0]==="exit"&&t.events[E][1].type==="chunkFlow"){k=t.events[E][1].end;break}x(r);let N=T;for(;N<t.events.length;)t.events[N][1].end={...k},N++;return St(t.events,E+1,0,t.events.slice(T)),t.events.length=N,u(g)}return o(g)}function u(g){if(r===n.length){if(!i)return p(g);if(i.currentConstruct&&i.currentConstruct.concrete)return m(g);t.interrupt=!!(i.currentConstruct&&!i._gfmTableDynamicInterruptHack)}return t.containerState={},e.check(Al,f,d)(g)}function f(g){return i&&_(),x(r),p(g)}function d(g){return t.parser.lazy[t.now().line]=r!==n.length,a=t.now().offset,m(g)}function p(g){return t.containerState={},e.attempt(Al,h,m)(g)}function h(g){return r++,n.push([t.currentConstruct,t.containerState]),p(g)}function m(g){if(g===null){i&&_(),x(0),e.consume(g);return}return i=i||t.parser.flow(t.now()),e.enter("chunkFlow",{_tokenizer:i,contentType:"flow",previous:s}),w(g)}function w(g){if(g===null){S(e.exit("chunkFlow"),!0),x(0),e.consume(g);return}return me(g)?(e.consume(g),S(e.exit("chunkFlow")),r=0,t.interrupt=void 0,o):(e.consume(g),w)}function S(g,T){const E=t.sliceStream(g);if(T&&E.push(null),g.previous=s,s&&(s.next=g),s=g,i.defineSkip(g.start),i.write(E),t.parser.lazy[g.start.line]){let k=i.events.length;for(;k--;)if(i.events[k][1].start.offset<a&&(!i.events[k][1].end||i.events[k][1].end.offset>a))return;const N=t.events.length;let M=N,Y,C;for(;M--;)if(t.events[M][0]==="exit"&&t.events[M][1].type==="chunkFlow"){if(Y){C=t.events[M][1].end;break}Y=!0}for(x(r),k=N;k<t.events.length;)t.events[k][1].end={...C},k++;St(t.events,M+1,0,t.events.slice(N)),t.events.length=k}}function x(g){let T=n.length;for(;T-- >g;){const E=n[T];t.containerState=E[1],E[0].exit.call(t,e)}n.length=g}function _(){i.write([null]),s=void 0,i=void 0,t.containerState._closeFlow=void 0}}function qb(e,t,n){return ze(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function Qn(e){if(e===null||Re(e)||En(e))return 1;if(ps(e))return 2}function hs(e,t,n){const r=[];let i=-1;for(;++i<e.length;){const s=e[i].resolveAll;s&&!r.includes(s)&&(t=s(t,n),r.push(s))}return t}const _a={name:"attention",resolveAll:Wb,tokenize:Gb};function Wb(e,t){let n=-1,r,i,s,a,o,l,u,f;for(;++n<e.length;)if(e[n][0]==="enter"&&e[n][1].type==="attentionSequence"&&e[n][1]._close){for(r=n;r--;)if(e[r][0]==="exit"&&e[r][1].type==="attentionSequence"&&e[r][1]._open&&t.sliceSerialize(e[r][1]).charCodeAt(0)===t.sliceSerialize(e[n][1]).charCodeAt(0)){if((e[r][1]._close||e[n][1]._open)&&(e[n][1].end.offset-e[n][1].start.offset)%3&&!((e[r][1].end.offset-e[r][1].start.offset+e[n][1].end.offset-e[n][1].start.offset)%3))continue;l=e[r][1].end.offset-e[r][1].start.offset>1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1;const d={...e[r][1].end},p={...e[n][1].start};Pl(d,-l),Pl(p,l),a={type:l>1?"strongSequence":"emphasisSequence",start:d,end:{...e[r][1].end}},o={type:l>1?"strongSequence":"emphasisSequence",start:{...e[n][1].start},end:p},s={type:l>1?"strongText":"emphasisText",start:{...e[r][1].end},end:{...e[n][1].start}},i={type:l>1?"strong":"emphasis",start:{...a.start},end:{...o.end}},e[r][1].end={...a.start},e[n][1].start={...o.end},u=[],e[r][1].end.offset-e[r][1].start.offset&&(u=Nt(u,[["enter",e[r][1],t],["exit",e[r][1],t]])),u=Nt(u,[["enter",i,t],["enter",a,t],["exit",a,t],["enter",s,t]]),u=Nt(u,hs(t.parser.constructs.insideSpan.null,e.slice(r+1,n),t)),u=Nt(u,[["exit",s,t],["enter",o,t],["exit",o,t],["exit",i,t]]),e[n][1].end.offset-e[n][1].start.offset?(f=2,u=Nt(u,[["enter",e[n][1],t],["exit",e[n][1],t]])):f=0,St(e,r-1,n-r+3,u),n=r+u.length-f-2;break}}for(n=-1;++n<e.length;)e[n][1].type==="attentionSequence"&&(e[n][1].type="data");return e}function Gb(e,t){const n=this.parser.constructs.attentionMarkers.null,r=this.previous,i=Qn(r);let s;return a;function a(l){return s=l,e.enter("attentionSequence"),o(l)}function o(l){if(l===s)return e.consume(l),o;const u=e.exit("attentionSequence"),f=Qn(l),d=!f||f===2&&i||n.includes(l),p=!i||i===2&&f||n.includes(r);return u._open=!!(s===42?d:d&&(i||!p)),u._close=!!(s===42?p:p&&(f||!d)),t(l)}}function Pl(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}const Kb={name:"autolink",tokenize:Yb};function Yb(e,t,n){let r=0;return i;function i(h){return e.enter("autolink"),e.enter("autolinkMarker"),e.consume(h),e.exit("autolinkMarker"),e.enter("autolinkProtocol"),s}function s(h){return dt(h)?(e.consume(h),a):h===64?n(h):u(h)}function a(h){return h===43||h===45||h===46||st(h)?(r=1,o(h)):u(h)}function o(h){return h===58?(e.consume(h),r=0,l):(h===43||h===45||h===46||st(h))&&r++<32?(e.consume(h),o):(r=0,u(h))}function l(h){return h===62?(e.exit("autolinkProtocol"),e.enter("autolinkMarker"),e.consume(h),e.exit("autolinkMarker"),e.exit("autolink"),t):h===null||h===32||h===60||Di(h)?n(h):(e.consume(h),l)}function u(h){return h===64?(e.consume(h),f):Lb(h)?(e.consume(h),u):n(h)}function f(h){return st(h)?d(h):n(h)}function d(h){return h===46?(e.consume(h),r=0,f):h===62?(e.exit("autolinkProtocol").type="autolinkEmail",e.enter("autolinkMarker"),e.consume(h),e.exit("autolinkMarker"),e.exit("autolink"),t):p(h)}function p(h){if((h===45||st(h))&&r++<63){const m=h===45?p:d;return e.consume(h),m}return n(h)}}const Kr={partial:!0,tokenize:Xb};function Xb(e,t,n){return r;function r(s){return Ce(s)?ze(e,i,"linePrefix")(s):i(s)}function i(s){return s===null||me(s)?t(s):n(s)}}const Pf={continuation:{tokenize:ev},exit:tv,name:"blockQuote",tokenize:Qb};function Qb(e,t,n){const r=this;return i;function i(a){if(a===62){const o=r.containerState;return o.open||(e.enter("blockQuote",{_container:!0}),o.open=!0),e.enter("blockQuotePrefix"),e.enter("blockQuoteMarker"),e.consume(a),e.exit("blockQuoteMarker"),s}return n(a)}function s(a){return Ce(a)?(e.enter("blockQuotePrefixWhitespace"),e.consume(a),e.exit("blockQuotePrefixWhitespace"),e.exit("blockQuotePrefix"),t):(e.exit("blockQuotePrefix"),t(a))}}function ev(e,t,n){const r=this;return i;function i(a){return Ce(a)?ze(e,s,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(a):s(a)}function s(a){return e.attempt(Pf,t,n)(a)}}function tv(e){e.exit("blockQuote")}const Of={name:"characterEscape",tokenize:nv};function nv(e,t,n){return r;function r(s){return e.enter("characterEscape"),e.enter("escapeMarker"),e.consume(s),e.exit("escapeMarker"),i}function i(s){return Bb(s)?(e.enter("characterEscapeValue"),e.consume(s),e.exit("characterEscapeValue"),e.exit("characterEscape"),t):n(s)}}const Df={name:"characterReference",tokenize:rv};function rv(e,t,n){const r=this;let i=0,s,a;return o;function o(d){return e.enter("characterReference"),e.enter("characterReferenceMarker"),e.consume(d),e.exit("characterReferenceMarker"),l}function l(d){return d===35?(e.enter("characterReferenceMarkerNumeric"),e.consume(d),e.exit("characterReferenceMarkerNumeric"),u):(e.enter("characterReferenceValue"),s=31,a=st,f(d))}function u(d){return d===88||d===120?(e.enter("characterReferenceMarkerHexadecimal"),e.consume(d),e.exit("characterReferenceMarkerHexadecimal"),e.enter("characterReferenceValue"),s=6,a=Zb,f):(e.enter("characterReferenceValue"),s=7,a=Sa,f(d))}function f(d){if(d===59&&i){const p=e.exit("characterReferenceValue");return a===st&&!go(r.sliceSerialize(p))?n(d):(e.enter("characterReferenceMarker"),e.consume(d),e.exit("characterReferenceMarker"),e.exit("characterReference"),t)}return a(d)&&i++<s?(e.consume(d),f):n(d)}}const Ol={partial:!0,tokenize:sv},Dl={concrete:!0,name:"codeFenced",tokenize:iv};function iv(e,t,n){const r=this,i={partial:!0,tokenize:E};let s=0,a=0,o;return l;function l(k){return u(k)}function u(k){const N=r.events[r.events.length-1];return s=N&&N[1].type==="linePrefix"?N[2].sliceSerialize(N[1],!0).length:0,o=k,e.enter("codeFenced"),e.enter("codeFencedFence"),e.enter("codeFencedFenceSequence"),f(k)}function f(k){return k===o?(a++,e.consume(k),f):a<3?n(k):(e.exit("codeFencedFenceSequence"),Ce(k)?ze(e,d,"whitespace")(k):d(k))}function d(k){return k===null||me(k)?(e.exit("codeFencedFence"),r.interrupt?t(k):e.check(Ol,w,T)(k)):(e.enter("codeFencedFenceInfo"),e.enter("chunkString",{contentType:"string"}),p(k))}function p(k){return k===null||me(k)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),d(k)):Ce(k)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),ze(e,h,"whitespace")(k)):k===96&&k===o?n(k):(e.consume(k),p)}function h(k){return k===null||me(k)?d(k):(e.enter("codeFencedFenceMeta"),e.enter("chunkString",{contentType:"string"}),m(k))}function m(k){return k===null||me(k)?(e.exit("chunkString"),e.exit("codeFencedFenceMeta"),d(k)):k===96&&k===o?n(k):(e.consume(k),m)}function w(k){return e.attempt(i,T,S)(k)}function S(k){return e.enter("lineEnding"),e.consume(k),e.exit("lineEnding"),x}function x(k){return s>0&&Ce(k)?ze(e,_,"linePrefix",s+1)(k):_(k)}function _(k){return k===null||me(k)?e.check(Ol,w,T)(k):(e.enter("codeFlowValue"),g(k))}function g(k){return k===null||me(k)?(e.exit("codeFlowValue"),_(k)):(e.consume(k),g)}function T(k){return e.exit("codeFenced"),t(k)}function E(k,N,M){let Y=0;return C;function C(P){return k.enter("lineEnding"),k.consume(P),k.exit("lineEnding"),B}function B(P){return k.enter("codeFencedFence"),Ce(P)?ze(k,R,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(P):R(P)}function R(P){return P===o?(k.enter("codeFencedFenceSequence"),U(P)):M(P)}function U(P){return P===o?(Y++,k.consume(P),U):Y>=a?(k.exit("codeFencedFenceSequence"),Ce(P)?ze(k,L,"whitespace")(P):L(P)):M(P)}function L(P){return P===null||me(P)?(k.exit("codeFencedFence"),N(P)):M(P)}}}function sv(e,t,n){const r=this;return i;function i(a){return a===null?n(a):(e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),s)}function s(a){return r.parser.lazy[r.now().line]?n(a):t(a)}}const Fs={name:"codeIndented",tokenize:ov},av={partial:!0,tokenize:lv};function ov(e,t,n){const r=this;return i;function i(u){return e.enter("codeIndented"),ze(e,s,"linePrefix",5)(u)}function s(u){const f=r.events[r.events.length-1];return f&&f[1].type==="linePrefix"&&f[2].sliceSerialize(f[1],!0).length>=4?a(u):n(u)}function a(u){return u===null?l(u):me(u)?e.attempt(av,a,l)(u):(e.enter("codeFlowValue"),o(u))}function o(u){return u===null||me(u)?(e.exit("codeFlowValue"),a(u)):(e.consume(u),o)}function l(u){return e.exit("codeIndented"),t(u)}}function lv(e,t,n){const r=this;return i;function i(a){return r.parser.lazy[r.now().line]?n(a):me(a)?(e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),i):ze(e,s,"linePrefix",5)(a)}function s(a){const o=r.events[r.events.length-1];return o&&o[1].type==="linePrefix"&&o[2].sliceSerialize(o[1],!0).length>=4?t(a):me(a)?i(a):n(a)}}const uv={name:"codeText",previous:dv,resolve:cv,tokenize:fv};function cv(e){let t=e.length-4,n=3,r,i;if((e[n][1].type==="lineEnding"||e[n][1].type==="space")&&(e[t][1].type==="lineEnding"||e[t][1].type==="space")){for(r=n;++r<t;)if(e[r][1].type==="codeTextData"){e[n][1].type="codeTextPadding",e[t][1].type="codeTextPadding",n+=2,t-=2;break}}for(r=n-1,t++;++r<=t;)i===void 0?r!==t&&e[r][1].type!=="lineEnding"&&(i=r):(r===t||e[r][1].type==="lineEnding")&&(e[i][1].type="codeTextData",r!==i+2&&(e[i][1].end=e[r-1][1].end,e.splice(i+2,r-i-2),t-=r-i-2,r=i+2),i=void 0);return e}function dv(e){return e!==96||this.events[this.events.length-1][1].type==="characterEscape"}function fv(e,t,n){let r=0,i,s;return a;function a(d){return e.enter("codeText"),e.enter("codeTextSequence"),o(d)}function o(d){return d===96?(e.consume(d),r++,o):(e.exit("codeTextSequence"),l(d))}function l(d){return d===null?n(d):d===32?(e.enter("space"),e.consume(d),e.exit("space"),l):d===96?(s=e.enter("codeTextSequence"),i=0,f(d)):me(d)?(e.enter("lineEnding"),e.consume(d),e.exit("lineEnding"),l):(e.enter("codeTextData"),u(d))}function u(d){return d===null||d===32||d===96||me(d)?(e.exit("codeTextData"),l(d)):(e.consume(d),u)}function f(d){return d===96?(e.consume(d),i++,f):i===r?(e.exit("codeTextSequence"),e.exit("codeText"),t(d)):(s.type="codeTextData",u(d))}}class pv{constructor(t){this.left=t?[...t]:[],this.right=[]}get(t){if(t<0||t>=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+t+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return t<this.left.length?this.left[t]:this.right[this.right.length-t+this.left.length-1]}get length(){return this.left.length+this.right.length}shift(){return this.setCursor(0),this.right.pop()}slice(t,n){const r=n??Number.POSITIVE_INFINITY;return r<this.left.length?this.left.slice(t,r):t>this.left.length?this.right.slice(this.right.length-r+this.left.length,this.right.length-t+this.left.length).reverse():this.left.slice(t).concat(this.right.slice(this.right.length-r+this.left.length).reverse())}splice(t,n,r){const i=n||0;this.setCursor(Math.trunc(t));const s=this.right.splice(this.right.length-i,Number.POSITIVE_INFINITY);return r&&mr(this.left,r),s.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(t){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(t)}pushMany(t){this.setCursor(Number.POSITIVE_INFINITY),mr(this.left,t)}unshift(t){this.setCursor(0),this.right.push(t)}unshiftMany(t){this.setCursor(0),mr(this.right,t.reverse())}setCursor(t){if(!(t===this.left.length||t>this.left.length&&this.right.length===0||t<0&&this.left.length===0))if(t<this.left.length){const n=this.left.splice(t,Number.POSITIVE_INFINITY);mr(this.right,n.reverse())}else{const n=this.right.splice(this.left.length+this.right.length-t,Number.POSITIVE_INFINITY);mr(this.left,n.reverse())}}}function mr(e,t){let n=0;if(t.length<1e4)e.push(...t);else for(;n<t.length;)e.push(...t.slice(n,n+1e4)),n+=1e4}function Rf(e){const t={};let n=-1,r,i,s,a,o,l,u;const f=new pv(e);for(;++n<f.length;){for(;n in t;)n=t[n];if(r=f.get(n),n&&r[1].type==="chunkFlow"&&f.get(n-1)[1].type==="listItemPrefix"&&(l=r[1]._tokenizer.events,s=0,s<l.length&&l[s][1].type==="lineEndingBlank"&&(s+=2),s<l.length&&l[s][1].type==="content"))for(;++s<l.length&&l[s][1].type!=="content";)l[s][1].type==="chunkText"&&(l[s][1]._isInFirstContentOfListItem=!0,s++);if(r[0]==="enter")r[1].contentType&&(Object.assign(t,hv(f,n)),n=t[n],u=!0);else if(r[1]._container){for(s=n,i=void 0;s--;)if(a=f.get(s),a[1].type==="lineEnding"||a[1].type==="lineEndingBlank")a[0]==="enter"&&(i&&(f.get(i)[1].type="lineEndingBlank"),a[1].type="lineEnding",i=s);else if(!(a[1].type==="linePrefix"||a[1].type==="listItemIndent"))break;i&&(r[1].end={...f.get(i)[1].start},o=f.slice(i,n),o.unshift(r),f.splice(i,n-i+1,o))}}return St(e,0,Number.POSITIVE_INFINITY,f.slice(0)),!u}function hv(e,t){const n=e.get(t)[1],r=e.get(t)[2];let i=t-1;const s=[];let a=n._tokenizer;a||(a=r.parser[n.contentType](n.start),n._contentTypeTextTrailing&&(a._contentTypeTextTrailing=!0));const o=a.events,l=[],u={};let f,d,p=-1,h=n,m=0,w=0;const S=[w];for(;h;){for(;e.get(++i)[1]!==h;);s.push(i),h._tokenizer||(f=r.sliceStream(h),h.next||f.push(null),d&&a.defineSkip(h.start),h._isInFirstContentOfListItem&&(a._gfmTasklistFirstContentOfListItem=!0),a.write(f),h._isInFirstContentOfListItem&&(a._gfmTasklistFirstContentOfListItem=void 0)),d=h,h=h.next}for(h=n;++p<o.length;)o[p][0]==="exit"&&o[p-1][0]==="enter"&&o[p][1].type===o[p-1][1].type&&o[p][1].start.line!==o[p][1].end.line&&(w=p+1,S.push(w),h._tokenizer=void 0,h.previous=void 0,h=h.next);for(a.events=[],h?(h._tokenizer=void 0,h.previous=void 0):S.pop(),p=S.length;p--;){const x=o.slice(S[p],S[p+1]),_=s.pop();l.push([_,_+x.length-1]),e.splice(_,2,x)}for(l.reverse(),p=-1;++p<l.length;)u[m+l[p][0]]=m+l[p][1],m+=l[p][1]-l[p][0]-1;return u}const mv={resolve:xv,tokenize:yv},gv={partial:!0,tokenize:bv};function xv(e){return Rf(e),e}function yv(e,t){let n;return r;function r(o){return e.enter("content"),n=e.enter("chunkContent",{contentType:"content"}),i(o)}function i(o){return o===null?s(o):me(o)?e.check(gv,a,s)(o):(e.consume(o),i)}function s(o){return e.exit("chunkContent"),e.exit("content"),t(o)}function a(o){return e.consume(o),e.exit("chunkContent"),n.next=e.enter("chunkContent",{contentType:"content",previous:n}),n=n.next,i}}function bv(e,t,n){const r=this;return i;function i(a){return e.exit("chunkContent"),e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),ze(e,s,"linePrefix")}function s(a){if(a===null||me(a))return n(a);const o=r.events[r.events.length-1];return!r.parser.constructs.disable.null.includes("codeIndented")&&o&&o[1].type==="linePrefix"&&o[2].sliceSerialize(o[1],!0).length>=4?t(a):e.interrupt(r.parser.constructs.flow,n,t)(a)}}function Mf(e,t,n,r,i,s,a,o,l){const u=l||Number.POSITIVE_INFINITY;let f=0;return d;function d(x){return x===60?(e.enter(r),e.enter(i),e.enter(s),e.consume(x),e.exit(s),p):x===null||x===32||x===41||Di(x)?n(x):(e.enter(r),e.enter(a),e.enter(o),e.enter("chunkString",{contentType:"string"}),w(x))}function p(x){return x===62?(e.enter(s),e.consume(x),e.exit(s),e.exit(i),e.exit(r),t):(e.enter(o),e.enter("chunkString",{contentType:"string"}),h(x))}function h(x){return x===62?(e.exit("chunkString"),e.exit(o),p(x)):x===null||x===60||me(x)?n(x):(e.consume(x),x===92?m:h)}function m(x){return x===60||x===62||x===92?(e.consume(x),h):h(x)}function w(x){return!f&&(x===null||x===41||Re(x))?(e.exit("chunkString"),e.exit(o),e.exit(a),e.exit(r),t(x)):f<u&&x===40?(e.consume(x),f++,w):x===41?(e.consume(x),f--,w):x===null||x===32||x===40||Di(x)?n(x):(e.consume(x),x===92?S:w)}function S(x){return x===40||x===41||x===92?(e.consume(x),w):w(x)}}function $f(e,t,n,r,i,s){const a=this;let o=0,l;return u;function u(h){return e.enter(r),e.enter(i),e.consume(h),e.exit(i),e.enter(s),f}function f(h){return o>999||h===null||h===91||h===93&&!l||h===94&&!o&&"_hiddenFootnoteSupport"in a.parser.constructs?n(h):h===93?(e.exit(s),e.enter(i),e.consume(h),e.exit(i),e.exit(r),t):me(h)?(e.enter("lineEnding"),e.consume(h),e.exit("lineEnding"),f):(e.enter("chunkString",{contentType:"string"}),d(h))}function d(h){return h===null||h===91||h===93||me(h)||o++>999?(e.exit("chunkString"),f(h)):(e.consume(h),l||(l=!Ce(h)),h===92?p:d)}function p(h){return h===91||h===92||h===93?(e.consume(h),o++,d):d(h)}}function Ff(e,t,n,r,i,s){let a;return o;function o(p){return p===34||p===39||p===40?(e.enter(r),e.enter(i),e.consume(p),e.exit(i),a=p===40?41:p,l):n(p)}function l(p){return p===a?(e.enter(i),e.consume(p),e.exit(i),e.exit(r),t):(e.enter(s),u(p))}function u(p){return p===a?(e.exit(s),l(a)):p===null?n(p):me(p)?(e.enter("lineEnding"),e.consume(p),e.exit("lineEnding"),ze(e,u,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),f(p))}function f(p){return p===a||p===null||me(p)?(e.exit("chunkString"),u(p)):(e.consume(p),p===92?d:f)}function d(p){return p===a||p===92?(e.consume(p),f):f(p)}}function zr(e,t){let n;return r;function r(i){return me(i)?(e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),n=!0,r):Ce(i)?ze(e,r,n?"linePrefix":"lineSuffix")(i):t(i)}}const vv={name:"definition",tokenize:kv},wv={partial:!0,tokenize:Sv};function kv(e,t,n){const r=this;let i;return s;function s(h){return e.enter("definition"),a(h)}function a(h){return $f.call(r,e,o,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(h)}function o(h){return i=Mt(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),h===58?(e.enter("definitionMarker"),e.consume(h),e.exit("definitionMarker"),l):n(h)}function l(h){return Re(h)?zr(e,u)(h):u(h)}function u(h){return Mf(e,f,n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(h)}function f(h){return e.attempt(wv,d,d)(h)}function d(h){return Ce(h)?ze(e,p,"whitespace")(h):p(h)}function p(h){return h===null||me(h)?(e.exit("definition"),r.parser.defined.push(i),t(h)):n(h)}}function Sv(e,t,n){return r;function r(o){return Re(o)?zr(e,i)(o):n(o)}function i(o){return Ff(e,s,n,"definitionTitle","definitionTitleMarker","definitionTitleString")(o)}function s(o){return Ce(o)?ze(e,a,"whitespace")(o):a(o)}function a(o){return o===null||me(o)?t(o):n(o)}}const _v={name:"hardBreakEscape",tokenize:jv};function jv(e,t,n){return r;function r(s){return e.enter("hardBreakEscape"),e.consume(s),i}function i(s){return me(s)?(e.exit("hardBreakEscape"),t(s)):n(s)}}const Cv={name:"headingAtx",resolve:Nv,tokenize:Ev};function Nv(e,t){let n=e.length-2,r=3,i,s;return e[r][1].type==="whitespace"&&(r+=2),n-2>r&&e[n][1].type==="whitespace"&&(n-=2),e[n][1].type==="atxHeadingSequence"&&(r===n-1||n-4>r&&e[n-2][1].type==="whitespace")&&(n-=r+1===n?2:4),n>r&&(i={type:"atxHeadingText",start:e[r][1].start,end:e[n][1].end},s={type:"chunkText",start:e[r][1].start,end:e[n][1].end,contentType:"text"},St(e,r,n-r+1,[["enter",i,t],["enter",s,t],["exit",s,t],["exit",i,t]])),e}function Ev(e,t,n){let r=0;return i;function i(f){return e.enter("atxHeading"),s(f)}function s(f){return e.enter("atxHeadingSequence"),a(f)}function a(f){return f===35&&r++<6?(e.consume(f),a):f===null||Re(f)?(e.exit("atxHeadingSequence"),o(f)):n(f)}function o(f){return f===35?(e.enter("atxHeadingSequence"),l(f)):f===null||me(f)?(e.exit("atxHeading"),t(f)):Ce(f)?ze(e,o,"whitespace")(f):(e.enter("atxHeadingText"),u(f))}function l(f){return f===35?(e.consume(f),l):(e.exit("atxHeadingSequence"),o(f))}function u(f){return f===null||f===35||Re(f)?(e.exit("atxHeadingText"),o(f)):(e.consume(f),u)}}const Iv=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],Rl=["pre","script","style","textarea"],zv={concrete:!0,name:"htmlFlow",resolveTo:Pv,tokenize:Ov},Tv={partial:!0,tokenize:Rv},Av={partial:!0,tokenize:Dv};function Pv(e){let t=e.length;for(;t--&&!(e[t][0]==="enter"&&e[t][1].type==="htmlFlow"););return t>1&&e[t-2][1].type==="linePrefix"&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function Ov(e,t,n){const r=this;let i,s,a,o,l;return u;function u(v){return f(v)}function f(v){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(v),d}function d(v){return v===33?(e.consume(v),p):v===47?(e.consume(v),s=!0,w):v===63?(e.consume(v),i=3,r.interrupt?t:b):dt(v)?(e.consume(v),a=String.fromCharCode(v),S):n(v)}function p(v){return v===45?(e.consume(v),i=2,h):v===91?(e.consume(v),i=5,o=0,m):dt(v)?(e.consume(v),i=4,r.interrupt?t:b):n(v)}function h(v){return v===45?(e.consume(v),r.interrupt?t:b):n(v)}function m(v){const X="CDATA[";return v===X.charCodeAt(o++)?(e.consume(v),o===X.length?r.interrupt?t:R:m):n(v)}function w(v){return dt(v)?(e.consume(v),a=String.fromCharCode(v),S):n(v)}function S(v){if(v===null||v===47||v===62||Re(v)){const X=v===47,ae=a.toLowerCase();return!X&&!s&&Rl.includes(ae)?(i=1,r.interrupt?t(v):R(v)):Iv.includes(a.toLowerCase())?(i=6,X?(e.consume(v),x):r.interrupt?t(v):R(v)):(i=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(v):s?_(v):g(v))}return v===45||st(v)?(e.consume(v),a+=String.fromCharCode(v),S):n(v)}function x(v){return v===62?(e.consume(v),r.interrupt?t:R):n(v)}function _(v){return Ce(v)?(e.consume(v),_):C(v)}function g(v){return v===47?(e.consume(v),C):v===58||v===95||dt(v)?(e.consume(v),T):Ce(v)?(e.consume(v),g):C(v)}function T(v){return v===45||v===46||v===58||v===95||st(v)?(e.consume(v),T):E(v)}function E(v){return v===61?(e.consume(v),k):Ce(v)?(e.consume(v),E):g(v)}function k(v){return v===null||v===60||v===61||v===62||v===96?n(v):v===34||v===39?(e.consume(v),l=v,N):Ce(v)?(e.consume(v),k):M(v)}function N(v){return v===l?(e.consume(v),l=null,Y):v===null||me(v)?n(v):(e.consume(v),N)}function M(v){return v===null||v===34||v===39||v===47||v===60||v===61||v===62||v===96||Re(v)?E(v):(e.consume(v),M)}function Y(v){return v===47||v===62||Ce(v)?g(v):n(v)}function C(v){return v===62?(e.consume(v),B):n(v)}function B(v){return v===null||me(v)?R(v):Ce(v)?(e.consume(v),B):n(v)}function R(v){return v===45&&i===2?(e.consume(v),A):v===60&&i===1?(e.consume(v),J):v===62&&i===4?(e.consume(v),ce):v===63&&i===3?(e.consume(v),b):v===93&&i===5?(e.consume(v),q):me(v)&&(i===6||i===7)?(e.exit("htmlFlowData"),e.check(Tv,oe,U)(v)):v===null||me(v)?(e.exit("htmlFlowData"),U(v)):(e.consume(v),R)}function U(v){return e.check(Av,L,oe)(v)}function L(v){return e.enter("lineEnding"),e.consume(v),e.exit("lineEnding"),P}function P(v){return v===null||me(v)?U(v):(e.enter("htmlFlowData"),R(v))}function A(v){return v===45?(e.consume(v),b):R(v)}function J(v){return v===47?(e.consume(v),a="",O):R(v)}function O(v){if(v===62){const X=a.toLowerCase();return Rl.includes(X)?(e.consume(v),ce):R(v)}return dt(v)&&a.length<8?(e.consume(v),a+=String.fromCharCode(v),O):R(v)}function q(v){return v===93?(e.consume(v),b):R(v)}function b(v){return v===62?(e.consume(v),ce):v===45&&i===2?(e.consume(v),b):R(v)}function ce(v){return v===null||me(v)?(e.exit("htmlFlowData"),oe(v)):(e.consume(v),ce)}function oe(v){return e.exit("htmlFlow"),t(v)}}function Dv(e,t,n){const r=this;return i;function i(a){return me(a)?(e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),s):n(a)}function s(a){return r.parser.lazy[r.now().line]?n(a):t(a)}}function Rv(e,t,n){return r;function r(i){return e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),e.attempt(Kr,t,n)}}const Mv={name:"htmlText",tokenize:$v};function $v(e,t,n){const r=this;let i,s,a;return o;function o(b){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(b),l}function l(b){return b===33?(e.consume(b),u):b===47?(e.consume(b),E):b===63?(e.consume(b),g):dt(b)?(e.consume(b),M):n(b)}function u(b){return b===45?(e.consume(b),f):b===91?(e.consume(b),s=0,m):dt(b)?(e.consume(b),_):n(b)}function f(b){return b===45?(e.consume(b),h):n(b)}function d(b){return b===null?n(b):b===45?(e.consume(b),p):me(b)?(a=d,J(b)):(e.consume(b),d)}function p(b){return b===45?(e.consume(b),h):d(b)}function h(b){return b===62?A(b):b===45?p(b):d(b)}function m(b){const ce="CDATA[";return b===ce.charCodeAt(s++)?(e.consume(b),s===ce.length?w:m):n(b)}function w(b){return b===null?n(b):b===93?(e.consume(b),S):me(b)?(a=w,J(b)):(e.consume(b),w)}function S(b){return b===93?(e.consume(b),x):w(b)}function x(b){return b===62?A(b):b===93?(e.consume(b),x):w(b)}function _(b){return b===null||b===62?A(b):me(b)?(a=_,J(b)):(e.consume(b),_)}function g(b){return b===null?n(b):b===63?(e.consume(b),T):me(b)?(a=g,J(b)):(e.consume(b),g)}function T(b){return b===62?A(b):g(b)}function E(b){return dt(b)?(e.consume(b),k):n(b)}function k(b){return b===45||st(b)?(e.consume(b),k):N(b)}function N(b){return me(b)?(a=N,J(b)):Ce(b)?(e.consume(b),N):A(b)}function M(b){return b===45||st(b)?(e.consume(b),M):b===47||b===62||Re(b)?Y(b):n(b)}function Y(b){return b===47?(e.consume(b),A):b===58||b===95||dt(b)?(e.consume(b),C):me(b)?(a=Y,J(b)):Ce(b)?(e.consume(b),Y):A(b)}function C(b){return b===45||b===46||b===58||b===95||st(b)?(e.consume(b),C):B(b)}function B(b){return b===61?(e.consume(b),R):me(b)?(a=B,J(b)):Ce(b)?(e.consume(b),B):Y(b)}function R(b){return b===null||b===60||b===61||b===62||b===96?n(b):b===34||b===39?(e.consume(b),i=b,U):me(b)?(a=R,J(b)):Ce(b)?(e.consume(b),R):(e.consume(b),L)}function U(b){return b===i?(e.consume(b),i=void 0,P):b===null?n(b):me(b)?(a=U,J(b)):(e.consume(b),U)}function L(b){return b===null||b===34||b===39||b===60||b===61||b===96?n(b):b===47||b===62||Re(b)?Y(b):(e.consume(b),L)}function P(b){return b===47||b===62||Re(b)?Y(b):n(b)}function A(b){return b===62?(e.consume(b),e.exit("htmlTextData"),e.exit("htmlText"),t):n(b)}function J(b){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(b),e.exit("lineEnding"),O}function O(b){return Ce(b)?ze(e,q,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(b):q(b)}function q(b){return e.enter("htmlTextData"),a(b)}}const xo={name:"labelEnd",resolveAll:Bv,resolveTo:Vv,tokenize:Uv},Fv={tokenize:Jv},Lv={tokenize:Hv},Zv={tokenize:qv};function Bv(e){let t=-1;const n=[];for(;++t<e.length;){const r=e[t][1];if(n.push(e[t]),r.type==="labelImage"||r.type==="labelLink"||r.type==="labelEnd"){const i=r.type==="labelImage"?4:2;r.type="data",t+=i}}return e.length!==n.length&&St(e,0,e.length,n),e}function Vv(e,t){let n=e.length,r=0,i,s,a,o;for(;n--;)if(i=e[n][1],s){if(i.type==="link"||i.type==="labelLink"&&i._inactive)break;e[n][0]==="enter"&&i.type==="labelLink"&&(i._inactive=!0)}else if(a){if(e[n][0]==="enter"&&(i.type==="labelImage"||i.type==="labelLink")&&!i._balanced&&(s=n,i.type!=="labelLink")){r=2;break}}else i.type==="labelEnd"&&(a=n);const l={type:e[s][1].type==="labelLink"?"link":"image",start:{...e[s][1].start},end:{...e[e.length-1][1].end}},u={type:"label",start:{...e[s][1].start},end:{...e[a][1].end}},f={type:"labelText",start:{...e[s+r+2][1].end},end:{...e[a-2][1].start}};return o=[["enter",l,t],["enter",u,t]],o=Nt(o,e.slice(s+1,s+r+3)),o=Nt(o,[["enter",f,t]]),o=Nt(o,hs(t.parser.constructs.insideSpan.null,e.slice(s+r+4,a-3),t)),o=Nt(o,[["exit",f,t],e[a-2],e[a-1],["exit",u,t]]),o=Nt(o,e.slice(a+1)),o=Nt(o,[["exit",l,t]]),St(e,s,e.length,o),e}function Uv(e,t,n){const r=this;let i=r.events.length,s,a;for(;i--;)if((r.events[i][1].type==="labelImage"||r.events[i][1].type==="labelLink")&&!r.events[i][1]._balanced){s=r.events[i][1];break}return o;function o(p){return s?s._inactive?d(p):(a=r.parser.defined.includes(Mt(r.sliceSerialize({start:s.end,end:r.now()}))),e.enter("labelEnd"),e.enter("labelMarker"),e.consume(p),e.exit("labelMarker"),e.exit("labelEnd"),l):n(p)}function l(p){return p===40?e.attempt(Fv,f,a?f:d)(p):p===91?e.attempt(Lv,f,a?u:d)(p):a?f(p):d(p)}function u(p){return e.attempt(Zv,f,d)(p)}function f(p){return t(p)}function d(p){return s._balanced=!0,n(p)}}function Jv(e,t,n){return r;function r(d){return e.enter("resource"),e.enter("resourceMarker"),e.consume(d),e.exit("resourceMarker"),i}function i(d){return Re(d)?zr(e,s)(d):s(d)}function s(d){return d===41?f(d):Mf(e,a,o,"resourceDestination","resourceDestinationLiteral","resourceDestinationLiteralMarker","resourceDestinationRaw","resourceDestinationString",32)(d)}function a(d){return Re(d)?zr(e,l)(d):f(d)}function o(d){return n(d)}function l(d){return d===34||d===39||d===40?Ff(e,u,n,"resourceTitle","resourceTitleMarker","resourceTitleString")(d):f(d)}function u(d){return Re(d)?zr(e,f)(d):f(d)}function f(d){return d===41?(e.enter("resourceMarker"),e.consume(d),e.exit("resourceMarker"),e.exit("resource"),t):n(d)}}function Hv(e,t,n){const r=this;return i;function i(o){return $f.call(r,e,s,a,"reference","referenceMarker","referenceString")(o)}function s(o){return r.parser.defined.includes(Mt(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)))?t(o):n(o)}function a(o){return n(o)}}function qv(e,t,n){return r;function r(s){return e.enter("reference"),e.enter("referenceMarker"),e.consume(s),e.exit("referenceMarker"),i}function i(s){return s===93?(e.enter("referenceMarker"),e.consume(s),e.exit("referenceMarker"),e.exit("reference"),t):n(s)}}const Wv={name:"labelStartImage",resolveAll:xo.resolveAll,tokenize:Gv};function Gv(e,t,n){const r=this;return i;function i(o){return e.enter("labelImage"),e.enter("labelImageMarker"),e.consume(o),e.exit("labelImageMarker"),s}function s(o){return o===91?(e.enter("labelMarker"),e.consume(o),e.exit("labelMarker"),e.exit("labelImage"),a):n(o)}function a(o){return o===94&&"_hiddenFootnoteSupport"in r.parser.constructs?n(o):t(o)}}const Kv={name:"labelStartLink",resolveAll:xo.resolveAll,tokenize:Yv};function Yv(e,t,n){const r=this;return i;function i(a){return e.enter("labelLink"),e.enter("labelMarker"),e.consume(a),e.exit("labelMarker"),e.exit("labelLink"),s}function s(a){return a===94&&"_hiddenFootnoteSupport"in r.parser.constructs?n(a):t(a)}}const Ls={name:"lineEnding",tokenize:Xv};function Xv(e,t){return n;function n(r){return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),ze(e,t,"linePrefix")}}const bi={name:"thematicBreak",tokenize:Qv};function Qv(e,t,n){let r=0,i;return s;function s(u){return e.enter("thematicBreak"),a(u)}function a(u){return i=u,o(u)}function o(u){return u===i?(e.enter("thematicBreakSequence"),l(u)):r>=3&&(u===null||me(u))?(e.exit("thematicBreak"),t(u)):n(u)}function l(u){return u===i?(e.consume(u),r++,l):(e.exit("thematicBreakSequence"),Ce(u)?ze(e,o,"whitespace")(u):o(u))}}const ht={continuation:{tokenize:rw},exit:sw,name:"list",tokenize:nw},ew={partial:!0,tokenize:aw},tw={partial:!0,tokenize:iw};function nw(e,t,n){const r=this,i=r.events[r.events.length-1];let s=i&&i[1].type==="linePrefix"?i[2].sliceSerialize(i[1],!0).length:0,a=0;return o;function o(h){const m=r.containerState.type||(h===42||h===43||h===45?"listUnordered":"listOrdered");if(m==="listUnordered"?!r.containerState.marker||h===r.containerState.marker:Sa(h)){if(r.containerState.type||(r.containerState.type=m,e.enter(m,{_container:!0})),m==="listUnordered")return e.enter("listItemPrefix"),h===42||h===45?e.check(bi,n,u)(h):u(h);if(!r.interrupt||h===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),l(h)}return n(h)}function l(h){return Sa(h)&&++a<10?(e.consume(h),l):(!r.interrupt||a<2)&&(r.containerState.marker?h===r.containerState.marker:h===41||h===46)?(e.exit("listItemValue"),u(h)):n(h)}function u(h){return e.enter("listItemMarker"),e.consume(h),e.exit("listItemMarker"),r.containerState.marker=r.containerState.marker||h,e.check(Kr,r.interrupt?n:f,e.attempt(ew,p,d))}function f(h){return r.containerState.initialBlankLine=!0,s++,p(h)}function d(h){return Ce(h)?(e.enter("listItemPrefixWhitespace"),e.consume(h),e.exit("listItemPrefixWhitespace"),p):n(h)}function p(h){return r.containerState.size=s+r.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(h)}}function rw(e,t,n){const r=this;return r.containerState._closeFlow=void 0,e.check(Kr,i,s);function i(o){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,ze(e,t,"listItemIndent",r.containerState.size+1)(o)}function s(o){return r.containerState.furtherBlankLines||!Ce(o)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,a(o)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(tw,t,a)(o))}function a(o){return r.containerState._closeFlow=!0,r.interrupt=void 0,ze(e,e.attempt(ht,t,n),"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(o)}}function iw(e,t,n){const r=this;return ze(e,i,"listItemIndent",r.containerState.size+1);function i(s){const a=r.events[r.events.length-1];return a&&a[1].type==="listItemIndent"&&a[2].sliceSerialize(a[1],!0).length===r.containerState.size?t(s):n(s)}}function sw(e){e.exit(this.containerState.type)}function aw(e,t,n){const r=this;return ze(e,i,"listItemPrefixWhitespace",r.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function i(s){const a=r.events[r.events.length-1];return!Ce(s)&&a&&a[1].type==="listItemPrefixWhitespace"?t(s):n(s)}}const Ml={name:"setextUnderline",resolveTo:ow,tokenize:lw};function ow(e,t){let n=e.length,r,i,s;for(;n--;)if(e[n][0]==="enter"){if(e[n][1].type==="content"){r=n;break}e[n][1].type==="paragraph"&&(i=n)}else e[n][1].type==="content"&&e.splice(n,1),!s&&e[n][1].type==="definition"&&(s=n);const a={type:"setextHeading",start:{...e[r][1].start},end:{...e[e.length-1][1].end}};return e[i][1].type="setextHeadingText",s?(e.splice(i,0,["enter",a,t]),e.splice(s+1,0,["exit",e[r][1],t]),e[r][1].end={...e[s][1].end}):e[r][1]=a,e.push(["exit",a,t]),e}function lw(e,t,n){const r=this;let i;return s;function s(u){let f=r.events.length,d;for(;f--;)if(r.events[f][1].type!=="lineEnding"&&r.events[f][1].type!=="linePrefix"&&r.events[f][1].type!=="content"){d=r.events[f][1].type==="paragraph";break}return!r.parser.lazy[r.now().line]&&(r.interrupt||d)?(e.enter("setextHeadingLine"),i=u,a(u)):n(u)}function a(u){return e.enter("setextHeadingLineSequence"),o(u)}function o(u){return u===i?(e.consume(u),o):(e.exit("setextHeadingLineSequence"),Ce(u)?ze(e,l,"lineSuffix")(u):l(u))}function l(u){return u===null||me(u)?(e.exit("setextHeadingLine"),t(u)):n(u)}}const uw={tokenize:cw};function cw(e){const t=this,n=e.attempt(Kr,r,e.attempt(this.parser.constructs.flowInitial,i,ze(e,e.attempt(this.parser.constructs.flow,i,e.attempt(mv,i)),"linePrefix")));return n;function r(s){if(s===null){e.consume(s);return}return e.enter("lineEndingBlank"),e.consume(s),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n}function i(s){if(s===null){e.consume(s);return}return e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),t.currentConstruct=void 0,n}}const dw={resolveAll:Zf()},fw=Lf("string"),pw=Lf("text");function Lf(e){return{resolveAll:Zf(e==="text"?hw:void 0),tokenize:t};function t(n){const r=this,i=this.parser.constructs[e],s=n.attempt(i,a,o);return a;function a(f){return u(f)?s(f):o(f)}function o(f){if(f===null){n.consume(f);return}return n.enter("data"),n.consume(f),l}function l(f){return u(f)?(n.exit("data"),s(f)):(n.consume(f),l)}function u(f){if(f===null)return!0;const d=i[f];let p=-1;if(d)for(;++p<d.length;){const h=d[p];if(!h.previous||h.previous.call(r,r.previous))return!0}return!1}}}function Zf(e){return t;function t(n,r){let i=-1,s;for(;++i<=n.length;)s===void 0?n[i]&&n[i][1].type==="data"&&(s=i,i++):(!n[i]||n[i][1].type!=="data")&&(i!==s+2&&(n[s][1].end=n[i-1][1].end,n.splice(s+2,i-s-2),i=s+2),s=void 0);return e?e(n,r):n}}function hw(e,t){let n=0;for(;++n<=e.length;)if((n===e.length||e[n][1].type==="lineEnding")&&e[n-1][1].type==="data"){const r=e[n-1][1],i=t.sliceStream(r);let s=i.length,a=-1,o=0,l;for(;s--;){const u=i[s];if(typeof u=="string"){for(a=u.length;u.charCodeAt(a-1)===32;)o++,a--;if(a)break;a=-1}else if(u===-2)l=!0,o++;else if(u!==-1){s++;break}}if(t._contentTypeTextTrailing&&n===e.length&&(o=0),o){const u={type:n===e.length||l||o<2?"lineSuffix":"hardBreakTrailing",start:{_bufferIndex:s?a:r.start._bufferIndex+a,_index:r.start._index+s,line:r.end.line,column:r.end.column-o,offset:r.end.offset-o},end:{...r.end}};r.end={...u.start},r.start.offset===r.end.offset?Object.assign(r,u):(e.splice(n,0,["enter",u,t],["exit",u,t]),n+=2)}n++}return e}const mw={42:ht,43:ht,45:ht,48:ht,49:ht,50:ht,51:ht,52:ht,53:ht,54:ht,55:ht,56:ht,57:ht,62:Pf},gw={91:vv},xw={[-2]:Fs,[-1]:Fs,32:Fs},yw={35:Cv,42:bi,45:[Ml,bi],60:zv,61:Ml,95:bi,96:Dl,126:Dl},bw={38:Df,92:Of},vw={[-5]:Ls,[-4]:Ls,[-3]:Ls,33:Wv,38:Df,42:_a,60:[Kb,Mv],91:Kv,92:[_v,Of],93:xo,95:_a,96:uv},ww={null:[_a,dw]},kw={null:[42,95]},Sw={null:[]},_w=Object.freeze(Object.defineProperty({__proto__:null,attentionMarkers:kw,contentInitial:gw,disable:Sw,document:mw,flow:yw,flowInitial:xw,insideSpan:ww,string:bw,text:vw},Symbol.toStringTag,{value:"Module"}));function jw(e,t,n){let r={_bufferIndex:-1,_index:0,line:n&&n.line||1,column:n&&n.column||1,offset:n&&n.offset||0};const i={},s=[];let a=[],o=[];const l={attempt:N(E),check:N(k),consume:_,enter:g,exit:T,interrupt:N(k,{interrupt:!0})},u={code:null,containerState:{},defineSkip:w,events:[],now:m,parser:e,previous:null,sliceSerialize:p,sliceStream:h,write:d};let f=t.tokenize.call(u,l);return t.resolveAll&&s.push(t),u;function d(B){return a=Nt(a,B),S(),a[a.length-1]!==null?[]:(M(t,0),u.events=hs(s,u.events,u),u.events)}function p(B,R){return Nw(h(B),R)}function h(B){return Cw(a,B)}function m(){const{_bufferIndex:B,_index:R,line:U,column:L,offset:P}=r;return{_bufferIndex:B,_index:R,line:U,column:L,offset:P}}function w(B){i[B.line]=B.column,C()}function S(){let B;for(;r._index<a.length;){const R=a[r._index];if(typeof R=="string")for(B=r._index,r._bufferIndex<0&&(r._bufferIndex=0);r._index===B&&r._bufferIndex<R.length;)x(R.charCodeAt(r._bufferIndex));else x(R)}}function x(B){f=f(B)}function _(B){me(B)?(r.line++,r.column=1,r.offset+=B===-3?2:1,C()):B!==-1&&(r.column++,r.offset++),r._bufferIndex<0?r._index++:(r._bufferIndex++,r._bufferIndex===a[r._index].length&&(r._bufferIndex=-1,r._index++)),u.previous=B}function g(B,R){const U=R||{};return U.type=B,U.start=m(),u.events.push(["enter",U,u]),o.push(U),U}function T(B){const R=o.pop();return R.end=m(),u.events.push(["exit",R,u]),R}function E(B,R){M(B,R.from)}function k(B,R){R.restore()}function N(B,R){return U;function U(L,P,A){let J,O,q,b;return Array.isArray(L)?oe(L):"tokenize"in L?oe([L]):ce(L);function ce(ne){return I;function I($){const W=$!==null&&ne[$],le=$!==null&&ne.null,K=[...Array.isArray(W)?W:W?[W]:[],...Array.isArray(le)?le:le?[le]:[]];return oe(K)($)}}function oe(ne){return J=ne,O=0,ne.length===0?A:v(ne[O])}function v(ne){return I;function I($){return b=Y(),q=ne,ne.partial||(u.currentConstruct=ne),ne.name&&u.parser.constructs.disable.null.includes(ne.name)?ae():ne.tokenize.call(R?Object.assign(Object.create(u),R):u,l,X,ae)($)}}function X(ne){return B(q,b),P}function ae(ne){return b.restore(),++O<J.length?v(J[O]):A}}}function M(B,R){B.resolveAll&&!s.includes(B)&&s.push(B),B.resolve&&St(u.events,R,u.events.length-R,B.resolve(u.events.slice(R),u)),B.resolveTo&&(u.events=B.resolveTo(u.events,u))}function Y(){const B=m(),R=u.previous,U=u.currentConstruct,L=u.events.length,P=Array.from(o);return{from:L,restore:A};function A(){r=B,u.previous=R,u.currentConstruct=U,u.events.length=L,o=P,C()}}function C(){r.line in i&&r.column<2&&(r.column=i[r.line],r.offset+=i[r.line]-1)}}function Cw(e,t){const n=t.start._index,r=t.start._bufferIndex,i=t.end._index,s=t.end._bufferIndex;let a;if(n===i)a=[e[n].slice(r,s)];else{if(a=e.slice(n,i),r>-1){const o=a[0];typeof o=="string"?a[0]=o.slice(r):a.shift()}s>0&&a.push(e[i].slice(0,s))}return a}function Nw(e,t){let n=-1;const r=[];let i;for(;++n<e.length;){const s=e[n];let a;if(typeof s=="string")a=s;else switch(s){case-5:{a="\r";break}case-4:{a=`
4
4
  `;break}case-3:{a=`\r
5
5
  `;break}case-2:{a=t?" ":" ";break}case-1:{if(!t&&i)continue;a=" ";break}default:a=String.fromCharCode(s)}i=s===-2,r.push(a)}return r.join("")}function Ew(e){const r={constructs:Tf([_w,...(e||{}).extensions||[]]),content:i(Vb),defined:[],document:i(Jb),flow:i(uw),lazy:{},string:i(fw),text:i(pw)};return r;function i(s){return a;function a(o){return jw(r,s,o)}}}function Iw(e){for(;!Rf(e););return e}const $l=/[\0\t\n\r]/g;function zw(){let e=1,t="",n=!0,r;return i;function i(s,a,o){const l=[];let u,f,d,p,h;for(s=t+(typeof s=="string"?s.toString():new TextDecoder(a||void 0).decode(s)),d=0,t="",n&&(s.charCodeAt(0)===65279&&d++,n=void 0);d<s.length;){if($l.lastIndex=d,u=$l.exec(s),p=u&&u.index!==void 0?u.index:s.length,h=s.charCodeAt(p),!u){t=s.slice(d);break}if(h===10&&d===p&&r)l.push(-3),r=void 0;else switch(r&&(l.push(-5),r=void 0),d<p&&(l.push(s.slice(d,p)),e+=p-d),h){case 0:{l.push(65533),e++;break}case 9:{for(f=Math.ceil(e/4)*4,l.push(-2);e++<f;)l.push(-1);break}case 10:{l.push(-4),e=1;break}default:r=!0,e=1}d=p+1}return o&&(r&&l.push(-5),t&&l.push(t),l.push(null)),l}}const Tw=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function Aw(e){return e.replace(Tw,Pw)}function Pw(e,t,n){if(t)return t;if(n.charCodeAt(0)===35){const i=n.charCodeAt(1),s=i===120||i===88;return Af(n.slice(s?2:1),s?16:10)}return go(n)||e}const Bf={}.hasOwnProperty;function Ow(e,t,n){return t&&typeof t=="object"&&(n=t,t=void 0),Dw(n)(Iw(Ew(n).document().write(zw()(e,t,!0))))}function Dw(e){const t={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:s(z),autolinkProtocol:Y,autolinkEmail:Y,atxHeading:s(Ue),blockQuote:s(le),characterEscape:Y,characterReference:Y,codeFenced:s(K),codeFencedFenceInfo:a,codeFencedFenceMeta:a,codeIndented:s(K,a),codeText:s(ve,a),codeTextData:Y,data:Y,codeFlowValue:Y,definition:s(de),definitionDestinationString:a,definitionLabelString:a,definitionTitleString:a,emphasis:s(xe),hardBreakEscape:s(rt),hardBreakTrailing:s(rt),htmlFlow:s(Ge,a),htmlFlowData:Y,htmlText:s(Ge,a),htmlTextData:Y,image:s(j),label:a,link:s(z),listItem:s(re),listItemValue:p,listOrdered:s(Z,d),listUnordered:s(Z),paragraph:s(te),reference:v,referenceString:a,resourceDestinationString:a,resourceTitleString:a,setextHeading:s(Ue),strong:s(ee),thematicBreak:s(be)},exit:{atxHeading:l(),atxHeadingSequence:E,autolink:l(),autolinkEmail:W,autolinkProtocol:$,blockQuote:l(),characterEscapeValue:C,characterReferenceMarkerHexadecimal:ae,characterReferenceMarkerNumeric:ae,characterReferenceValue:ne,characterReference:I,codeFenced:l(S),codeFencedFence:w,codeFencedFenceInfo:h,codeFencedFenceMeta:m,codeFlowValue:C,codeIndented:l(x),codeText:l(P),codeTextData:C,data:C,definition:l(),definitionDestinationString:T,definitionLabelString:_,definitionTitleString:g,emphasis:l(),hardBreakEscape:l(R),hardBreakTrailing:l(R),htmlFlow:l(U),htmlFlowData:C,htmlText:l(L),htmlTextData:C,image:l(J),label:q,labelText:O,lineEnding:B,link:l(A),listItem:l(),listOrdered:l(),listUnordered:l(),paragraph:l(),referenceString:X,resourceDestinationString:b,resourceTitleString:ce,resource:oe,setextHeading:l(M),setextHeadingLineSequence:N,setextHeadingText:k,strong:l(),thematicBreak:l()}};Vf(t,(e||{}).mdastExtensions||[]);const n={};return r;function r(F){let G={type:"root",children:[]};const pe={stack:[G],tokenStack:[],config:t,enter:o,exit:u,buffer:a,resume:f,data:n},ke=[];let D=-1;for(;++D<F.length;)if(F[D][1].type==="listOrdered"||F[D][1].type==="listUnordered")if(F[D][0]==="enter")ke.push(D);else{const he=ke.pop();D=i(F,he,D)}for(D=-1;++D<F.length;){const he=t[F[D][0]];Bf.call(he,F[D][1].type)&&he[F[D][1].type].call(Object.assign({sliceSerialize:F[D][2].sliceSerialize},pe),F[D][1])}if(pe.tokenStack.length>0){const he=pe.tokenStack[pe.tokenStack.length-1];(he[1]||Fl).call(pe,void 0,he[0])}for(G.position={start:Qt(F.length>0?F[0][1].start:{line:1,column:1,offset:0}),end:Qt(F.length>0?F[F.length-2][1].end:{line:1,column:1,offset:0})},D=-1;++D<t.transforms.length;)G=t.transforms[D](G)||G;return G}function i(F,G,pe){let ke=G-1,D=-1,he=!1,Ne,Me,tt,Ke;for(;++ke<=pe;){const it=F[ke];switch(it[1].type){case"listUnordered":case"listOrdered":case"blockQuote":{it[0]==="enter"?D++:D--,Ke=void 0;break}case"lineEndingBlank":{it[0]==="enter"&&(Ne&&!Ke&&!D&&!tt&&(tt=ke),Ke=void 0);break}case"linePrefix":case"listItemValue":case"listItemMarker":case"listItemPrefix":case"listItemPrefixWhitespace":break;default:Ke=void 0}if(!D&&it[0]==="enter"&&it[1].type==="listItemPrefix"||D===-1&&it[0]==="exit"&&(it[1].type==="listUnordered"||it[1].type==="listOrdered")){if(Ne){let Xt=ke;for(Me=void 0;Xt--;){const Jt=F[Xt];if(Jt[1].type==="lineEnding"||Jt[1].type==="lineEndingBlank"){if(Jt[0]==="exit")continue;Me&&(F[Me][1].type="lineEndingBlank",he=!0),Jt[1].type="lineEnding",Me=Xt}else if(!(Jt[1].type==="linePrefix"||Jt[1].type==="blockQuotePrefix"||Jt[1].type==="blockQuotePrefixWhitespace"||Jt[1].type==="blockQuoteMarker"||Jt[1].type==="listItemIndent"))break}tt&&(!Me||tt<Me)&&(Ne._spread=!0),Ne.end=Object.assign({},Me?F[Me][1].start:it[1].end),F.splice(Me||ke,0,["exit",Ne,it[2]]),ke++,pe++}if(it[1].type==="listItemPrefix"){const Xt={type:"listItem",_spread:!1,start:Object.assign({},it[1].start),end:void 0};Ne=Xt,F.splice(ke,0,["enter",Xt,it[2]]),ke++,pe++,tt=void 0,Ke=!0}}}return F[G][1]._spread=he,pe}function s(F,G){return pe;function pe(ke){o.call(this,F(ke),ke),G&&G.call(this,ke)}}function a(){this.stack.push({type:"fragment",children:[]})}function o(F,G,pe){this.stack[this.stack.length-1].children.push(F),this.stack.push(F),this.tokenStack.push([G,pe||void 0]),F.position={start:Qt(G.start),end:void 0}}function l(F){return G;function G(pe){F&&F.call(this,pe),u.call(this,pe)}}function u(F,G){const pe=this.stack.pop(),ke=this.tokenStack.pop();if(ke)ke[0].type!==F.type&&(G?G.call(this,F,ke[0]):(ke[1]||Fl).call(this,F,ke[0]));else throw new Error("Cannot close `"+F.type+"` ("+Ir({start:F.start,end:F.end})+"): it’s not open");pe.position.end=Qt(F.end)}function f(){return mo(this.stack.pop())}function d(){this.data.expectingFirstListItemValue=!0}function p(F){if(this.data.expectingFirstListItemValue){const G=this.stack[this.stack.length-2];G.start=Number.parseInt(this.sliceSerialize(F),10),this.data.expectingFirstListItemValue=void 0}}function h(){const F=this.resume(),G=this.stack[this.stack.length-1];G.lang=F}function m(){const F=this.resume(),G=this.stack[this.stack.length-1];G.meta=F}function w(){this.data.flowCodeInside||(this.buffer(),this.data.flowCodeInside=!0)}function S(){const F=this.resume(),G=this.stack[this.stack.length-1];G.value=F.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),this.data.flowCodeInside=void 0}function x(){const F=this.resume(),G=this.stack[this.stack.length-1];G.value=F.replace(/(\r?\n|\r)$/g,"")}function _(F){const G=this.resume(),pe=this.stack[this.stack.length-1];pe.label=G,pe.identifier=Mt(this.sliceSerialize(F)).toLowerCase()}function g(){const F=this.resume(),G=this.stack[this.stack.length-1];G.title=F}function T(){const F=this.resume(),G=this.stack[this.stack.length-1];G.url=F}function E(F){const G=this.stack[this.stack.length-1];if(!G.depth){const pe=this.sliceSerialize(F).length;G.depth=pe}}function k(){this.data.setextHeadingSlurpLineEnding=!0}function N(F){const G=this.stack[this.stack.length-1];G.depth=this.sliceSerialize(F).codePointAt(0)===61?1:2}function M(){this.data.setextHeadingSlurpLineEnding=void 0}function Y(F){const pe=this.stack[this.stack.length-1].children;let ke=pe[pe.length-1];(!ke||ke.type!=="text")&&(ke=fe(),ke.position={start:Qt(F.start),end:void 0},pe.push(ke)),this.stack.push(ke)}function C(F){const G=this.stack.pop();G.value+=this.sliceSerialize(F),G.position.end=Qt(F.end)}function B(F){const G=this.stack[this.stack.length-1];if(this.data.atHardBreak){const pe=G.children[G.children.length-1];pe.position.end=Qt(F.end),this.data.atHardBreak=void 0;return}!this.data.setextHeadingSlurpLineEnding&&t.canContainEols.includes(G.type)&&(Y.call(this,F),C.call(this,F))}function R(){this.data.atHardBreak=!0}function U(){const F=this.resume(),G=this.stack[this.stack.length-1];G.value=F}function L(){const F=this.resume(),G=this.stack[this.stack.length-1];G.value=F}function P(){const F=this.resume(),G=this.stack[this.stack.length-1];G.value=F}function A(){const F=this.stack[this.stack.length-1];if(this.data.inReference){const G=this.data.referenceType||"shortcut";F.type+="Reference",F.referenceType=G,delete F.url,delete F.title}else delete F.identifier,delete F.label;this.data.referenceType=void 0}function J(){const F=this.stack[this.stack.length-1];if(this.data.inReference){const G=this.data.referenceType||"shortcut";F.type+="Reference",F.referenceType=G,delete F.url,delete F.title}else delete F.identifier,delete F.label;this.data.referenceType=void 0}function O(F){const G=this.sliceSerialize(F),pe=this.stack[this.stack.length-2];pe.label=Aw(G),pe.identifier=Mt(G).toLowerCase()}function q(){const F=this.stack[this.stack.length-1],G=this.resume(),pe=this.stack[this.stack.length-1];if(this.data.inReference=!0,pe.type==="link"){const ke=F.children;pe.children=ke}else pe.alt=G}function b(){const F=this.resume(),G=this.stack[this.stack.length-1];G.url=F}function ce(){const F=this.resume(),G=this.stack[this.stack.length-1];G.title=F}function oe(){this.data.inReference=void 0}function v(){this.data.referenceType="collapsed"}function X(F){const G=this.resume(),pe=this.stack[this.stack.length-1];pe.label=G,pe.identifier=Mt(this.sliceSerialize(F)).toLowerCase(),this.data.referenceType="full"}function ae(F){this.data.characterReferenceType=F.type}function ne(F){const G=this.sliceSerialize(F),pe=this.data.characterReferenceType;let ke;pe?(ke=Af(G,pe==="characterReferenceMarkerNumeric"?10:16),this.data.characterReferenceType=void 0):ke=go(G);const D=this.stack[this.stack.length-1];D.value+=ke}function I(F){const G=this.stack.pop();G.position.end=Qt(F.end)}function $(F){C.call(this,F);const G=this.stack[this.stack.length-1];G.url=this.sliceSerialize(F)}function W(F){C.call(this,F);const G=this.stack[this.stack.length-1];G.url="mailto:"+this.sliceSerialize(F)}function le(){return{type:"blockquote",children:[]}}function K(){return{type:"code",lang:null,meta:null,value:""}}function ve(){return{type:"inlineCode",value:""}}function de(){return{type:"definition",identifier:"",label:null,title:null,url:""}}function xe(){return{type:"emphasis",children:[]}}function Ue(){return{type:"heading",depth:0,children:[]}}function rt(){return{type:"break"}}function Ge(){return{type:"html",value:""}}function j(){return{type:"image",title:null,url:"",alt:null}}function z(){return{type:"link",title:null,url:"",children:[]}}function Z(F){return{type:"list",ordered:F.type==="listOrdered",start:null,spread:F._spread,children:[]}}function re(F){return{type:"listItem",spread:F._spread,checked:null,children:[]}}function te(){return{type:"paragraph",children:[]}}function ee(){return{type:"strong",children:[]}}function fe(){return{type:"text",value:""}}function be(){return{type:"thematicBreak"}}}function Qt(e){return{line:e.line,column:e.column,offset:e.offset}}function Vf(e,t){let n=-1;for(;++n<t.length;){const r=t[n];Array.isArray(r)?Vf(e,r):Rw(e,r)}}function Rw(e,t){let n;for(n in t)if(Bf.call(t,n))switch(n){case"canContainEols":{const r=t[n];r&&e[n].push(...r);break}case"transforms":{const r=t[n];r&&e[n].push(...r);break}case"enter":case"exit":{const r=t[n];r&&Object.assign(e[n],r);break}}}function Fl(e,t){throw e?new Error("Cannot close `"+e.type+"` ("+Ir({start:e.start,end:e.end})+"): a different token (`"+t.type+"`, "+Ir({start:t.start,end:t.end})+") is open"):new Error("Cannot close document, a token (`"+t.type+"`, "+Ir({start:t.start,end:t.end})+") is still open")}function Mw(e){const t=this;t.parser=n;function n(r){return Ow(r,{...t.data("settings"),...e,extensions:t.data("micromarkExtensions")||[],mdastExtensions:t.data("fromMarkdownExtensions")||[]})}}function $w(e,t){const n={type:"element",tagName:"blockquote",properties:{},children:e.wrap(e.all(t),!0)};return e.patch(t,n),e.applyData(t,n)}function Fw(e,t){const n={type:"element",tagName:"br",properties:{},children:[]};return e.patch(t,n),[e.applyData(t,n),{type:"text",value:`
@@ -96,4 +96,4 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
96
96
  `;)t++;return!0}return!1}function u(O){if(f(O)){if(Yu(e[t]))for(;t<e.length&&Xu(e[t]);)t++;return a(),!0}return!1}function f(O){o(!0);for(const q of O){const b=t+q.length;if(e.slice(t,b)===q)return t=b,!0}return!1}function d(O){return e[t]===O?(n+=e[t],t++,!0):!1}function p(O){return e[t]===O?(t++,!0):!1}function h(){return p("\\")}function m(){return a(),e[t]==="."&&e[t+1]==="."&&e[t+2]==="."?(t+=3,a(),p(","),!0):!1}function w(){if(e[t]==="{"){n+="{",t++,a(),p(",")&&a();let O=!0;for(;t<e.length&&e[t]!=="}";){let q;if(O?(q=!0,O=!1):(q=d(","),q||(n=At(n,",")),a()),m(),!(_()||N(!0))){e[t]==="}"||e[t]==="{"||e[t]==="]"||e[t]==="["||e[t]===void 0?n=xr(n,","):P();break}a();const ce=d(":"),oe=t>=e.length;ce||(nc(e[t])||oe?n=At(n,":"):A()),s()||(ce||oe?n+="null":A())}return e[t]==="}"?(n+="}",t++):n=At(n,"}"),!0}return!1}function S(){if(e[t]==="["){n+="[",t++,a(),p(",")&&a();let O=!0;for(;t<e.length&&e[t]!=="]";)if(O?O=!1:d(",")||(n=At(n,",")),m(),!s()){n=xr(n,",");break}return e[t]==="]"?(n+="]",t++):n=At(n,"]"),!0}return!1}function x(){let O=!0,q=!0;for(;q;)O?O=!1:d(",")||(n=At(n,",")),q=s();q||(n=xr(n,",")),n=`[
97
97
  ${n}
98
98
  ]`}function _(){let O=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,q=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-1,b=e[t]==="\\";if(b&&(t++,b=!0),ki(e[t])){const ce=rc(e[t])?rc:ic(e[t])?ic:La(e[t])?La:im,oe=t,v=n.length;let X='"';for(t++;;){if(t>=e.length){const ae=Y(t-1);return!O&&fi(e.charAt(ae))?(t=oe,n=n.substring(0,v),_(!0)):(X=At(X,'"'),n+=X,!0)}if(t===q)return X=At(X,'"'),n+=X,!0;if(ce(e[t])){const ae=t,ne=X.length;if(X+='"',t++,n+=X,a(!1),O||t>=e.length||fi(e[t])||ki(e[t])||xn(e[t]))return g(),!0;const I=Y(ae-1),$=e.charAt(I);if($===",")return t=oe,n=n.substring(0,v),_(!1,I);if(fi($))return t=oe,n=n.substring(0,v),_(!0);n=n.substring(0,v),t=ae+1,X=`${X.substring(0,ne)}\\${X.substring(ne)}`}else if(O&&tc(e[t])){if(e[t-1]===":"&&Qu.test(e.substring(oe+1,t+2)))for(;t<e.length&&ec.test(e[t]);)X+=e[t],t++;return X=At(X,'"'),n+=X,g(),!0}else if(e[t]==="\\"){const ae=e.charAt(t+1);if(wz[ae]!==void 0)X+=e.slice(t,t+2),t+=2;else if(ae==="u"){let I=2;for(;I<6&&fz(e[t+I]);)I++;I===6?(X+=e.slice(t,t+6),t+=6):t+I>=e.length?t=e.length:J()}else X+=ae,t+=2}else{const ae=e.charAt(t);ae==='"'&&e[t-1]!=="\\"?(X+=`\\${ae}`,t++):mz(ae)?(X+=vz[ae],t++):(pz(ae)||R(ae),X+=ae,t++)}b&&h()}}return!1}function g(){let O=!1;for(a();e[t]==="+";){O=!0,t++,a(),n=xr(n,'"',!0);const q=n.length;_()?n=yz(n,q,1):n=At(n,'"')}return O}function T(){const O=t;if(e[t]==="-"){if(t++,C())return B(O),!0;if(!xn(e[t]))return t=O,!1}for(;xn(e[t]);)t++;if(e[t]==="."){if(t++,C())return B(O),!0;if(!xn(e[t]))return t=O,!1;for(;xn(e[t]);)t++}if(e[t]==="e"||e[t]==="E"){if(t++,(e[t]==="-"||e[t]==="+")&&t++,C())return B(O),!0;if(!xn(e[t]))return t=O,!1;for(;xn(e[t]);)t++}if(!C())return t=O,!1;if(t>O){const q=e.slice(O,t),b=/^0\d/.test(q);return n+=b?`"${q}"`:q,!0}return!1}function E(){return k("true","true")||k("false","false")||k("null","null")||k("True","true")||k("False","false")||k("None","null")}function k(O,q){return e.slice(t,t+O.length)===O?(n+=q,t+=O.length,!0):!1}function N(O){const q=t;if(Yu(e[t])){for(;t<e.length&&Xu(e[t]);)t++;let b=t;for(;bn(e,b);)b++;if(e[b]==="(")return t=b+1,s(),e[t]===")"&&(t++,e[t]===";"&&t++),!0}for(;t<e.length&&!tc(e[t])&&!ki(e[t])&&(!O||e[t]!==":");)t++;if(e[t-1]===":"&&Qu.test(e.substring(q,t+2)))for(;t<e.length&&ec.test(e[t]);)t++;if(t>q){for(;bn(e,t-1)&&t>0;)t--;const b=e.slice(q,t);return n+=b==="undefined"?"null":JSON.stringify(b),e[t]==='"'&&t++,!0}}function M(){if(e[t]==="/"){const O=t;for(t++;t<e.length&&(e[t]!=="/"||e[t-1]==="\\");)t++;return t++,n+=JSON.stringify(e.substring(O,t)),!0}}function Y(O){let q=O;for(;q>0&&bn(e,q);)q--;return q}function C(){return t>=e.length||fi(e[t])||bn(e,t)}function B(O){n+=`${e.slice(O,t)}0`}function R(O){throw new Fn(`Invalid character ${JSON.stringify(O)}`,t)}function U(){throw new Fn(`Unexpected character ${JSON.stringify(e[t])}`,t)}function L(){throw new Fn("Unexpected end of json string",e.length)}function P(){throw new Fn("Object key expected",t)}function A(){throw new Fn("Colon expected",t)}function J(){const O=e.slice(t,t+6);throw new Fn(`Invalid unicode character "${O}"`,t)}}function kz(e,t){return e[t]==="*"&&e[t+1]==="/"}function Sz({json:e,context:t,scope:n}){const[r,i]=y.useState(!1),[s,a]=y.useState(null),o=y.useMemo(()=>{try{return JSON.parse(e),e}catch{}try{return sc(e)}catch{}const x=`{${e}}`;try{return JSON.parse(x),x}catch{}try{return sc(x)}catch{return null}},[e]),l=y.useMemo(()=>Yh(o||e),[o,e]),u=Ae(x=>x.activeTab),f=Ae(x=>x.documents),d=Ae(x=>(x.acceptedApplyIds||[]).includes(l)),p=Ae(x=>x.setPendingDiff),h=Ae(x=>x.createDocument),m=Ae(x=>x.openDocument),w=y.useCallback(()=>{if(o){a(null);try{if(u){const x=f.find(k=>k.name===u),_=(x==null?void 0:x.text)||"";if(n==="templates")try{const k=JSON.parse(_),N=JSON.parse(o);if(Array.isArray(N.templates)){k.props||(k.props={}),k.props.templates=Kh(k.props.templates||[],N.templates);const M=JSON.stringify(k,null,2);p(u,_,M,l);return}}catch{}const g=t==null?void 0:t[0],{original:T,modified:E}=Xh(_,o,g);p(u,T,E,l)}else{const x=`ai-generated-${Date.now()}`;h(x,o),m(x)}}catch(x){a(x instanceof Error?x.message:"Merge failed")}}},[o,u,f,p,h,m,t,n,l]),S=y.useCallback(async()=>{await navigator.clipboard.writeText(e),i(!0),setTimeout(()=>i(!1),1500)},[e]);return c.jsxs("div",{className:"flex flex-col gap-1 px-3 py-2 border-t",children:[c.jsxs("div",{className:"flex gap-1.5",children:[c.jsx(_e,{variant:"secondary",size:"sm",onClick:w,disabled:d||!o,children:d?"Applied":o?"Apply to Editor":"Invalid JSON"}),c.jsx(_e,{variant:"ghost",size:"sm",onClick:S,children:r?c.jsx(ln,{className:"h-3.5 w-3.5"}):c.jsx(es,{className:"h-3.5 w-3.5"})})]}),s&&c.jsx("p",{className:"text-xs text-destructive m-0",children:s})]})}function _z({threads:e,activeThread:t,disabled:n,onSwitch:r,onCreate:i,onDelete:s,onRename:a}){const[o,l]=y.useState(null),[u,f]=y.useState(""),[d,p]=y.useState(null),h=y.useRef(null),m=(t==null?void 0:t.title)||"New Chat",w=m.length>24?m.slice(0,24)+"...":m;y.useEffect(()=>{o&&requestAnimationFrame(()=>{var N;return(N=h.current)==null?void 0:N.focus()})},[o]);const S=y.useCallback((N,M)=>{M.stopPropagation(),M.preventDefault(),l(N.id),f(N.title),p(null)},[]),x=y.useCallback(()=>{o&&u.trim()&&a(o,u.trim()),l(null),f("")},[o,u,a]),_=y.useCallback(()=>{l(null),f("")},[]),g=y.useCallback(N=>{N.stopPropagation(),N.key==="Enter"?(N.preventDefault(),x()):N.key==="Escape"&&(N.preventDefault(),_())},[x,_]),T=y.useCallback((N,M)=>{M.stopPropagation(),M.preventDefault(),p(N),l(null)},[]),E=y.useCallback(N=>{N.stopPropagation(),N.preventDefault(),d&&(s(d),p(null))},[d,s]),k=y.useCallback(N=>{N.stopPropagation(),N.preventDefault(),p(null)},[]);return c.jsxs("div",{className:"flex items-center gap-1",children:[c.jsxs(to,{onOpenChange:N=>{N||(l(null),p(null))},children:[c.jsx(no,{asChild:!0,disabled:n,children:c.jsxs("button",{className:"flex items-center gap-1 text-sm font-semibold tracking-tight hover:text-foreground/80 transition-colors max-w-[180px] cursor-pointer",children:[c.jsx("div",{className:"h-2 w-2 rounded-full bg-primary/70 shrink-0"}),c.jsx("span",{className:"truncate",children:w}),c.jsx(an,{className:"h-3 w-3 shrink-0 opacity-60"})]})}),c.jsxs(ls,{align:"start",className:"w-64",children:[e.map(N=>{const M=o===N.id;return d===N.id?c.jsxs("div",{className:"flex items-center gap-2 px-2 py-1.5 text-sm",children:[c.jsx("span",{className:"text-red-400 text-xs flex-1 truncate",children:"Delete this thread?"}),c.jsx("button",{className:"shrink-0 text-red-400 hover:text-red-300 transition-colors cursor-pointer",onClick:E,children:c.jsx(ln,{className:"h-3.5 w-3.5"})}),c.jsx("button",{className:"shrink-0 text-muted-foreground hover:text-foreground transition-colors cursor-pointer",onClick:k,children:c.jsx(jn,{className:"h-3.5 w-3.5"})})]},N.id):M?c.jsxs("div",{className:"flex items-center gap-1.5 px-2 py-1",onClick:C=>C.stopPropagation(),onPointerDown:C=>C.stopPropagation(),children:[c.jsx("input",{ref:h,type:"text",value:u,onChange:C=>f(C.target.value),onKeyDown:g,onBlur:x,className:"flex-1 min-w-0 text-sm rounded border border-border bg-background px-1.5 py-0.5 outline-none focus:ring-1 focus:ring-primary/40"}),c.jsx("button",{className:"shrink-0 text-primary hover:text-primary/80 transition-colors cursor-pointer",onMouseDown:C=>{C.preventDefault(),x()},children:c.jsx(ln,{className:"h-3.5 w-3.5"})}),c.jsx("button",{className:"shrink-0 text-muted-foreground hover:text-foreground transition-colors cursor-pointer",onMouseDown:C=>{C.preventDefault(),_()},children:c.jsx(jn,{className:"h-3.5 w-3.5"})})]},N.id):c.jsxs(qt,{onSelect:()=>r(N.id),className:`group ${N.id===(t==null?void 0:t.id)?"bg-accent":""}`,children:[c.jsx("span",{className:"truncate flex-1",children:N.title.length>30?N.title.slice(0,30)+"...":N.title}),c.jsxs("div",{className:"ml-auto shrink-0 flex items-center gap-0.5 opacity-0 group-hover:opacity-100 transition-opacity",children:[c.jsx("button",{className:"text-muted-foreground hover:text-foreground transition-colors p-0.5 cursor-pointer",onClick:C=>S(N,C),children:c.jsx(og,{className:"h-3 w-3"})}),e.length>1&&c.jsx("button",{className:"text-muted-foreground hover:text-destructive transition-colors p-0.5 cursor-pointer",onClick:C=>T(N.id,C),children:c.jsx(Va,{className:"h-3 w-3"})})]})]},N.id)}),c.jsx(Or,{}),c.jsxs(qt,{onSelect:N=>{N.preventDefault();const M=i();M&&(l(M),f(Xa()),p(null))},children:[c.jsx(Si,{className:"h-3.5 w-3.5 mr-1.5"}),"New Chat"]})]})]}),c.jsx(_e,{variant:"ghost",size:"icon",className:"h-6 w-6 text-muted-foreground hover:text-foreground",onClick:()=>i(),disabled:n,title:"New chat thread",children:c.jsx(Si,{className:"h-3.5 w-3.5"})})]})}const sm=new Set(["image/png","image/jpeg","image/gif","image/webp","application/pdf","text/plain","text/markdown","text/csv","text/html"]),jz=Array.from(sm).join(","),Cz=20*1024*1024,ac=10;function Nz(e){return new Promise((t,n)=>{const r=new FileReader;r.onload=()=>t({type:"file",mediaType:e.type,filename:e.name,url:r.result}),r.onerror=n,r.readAsDataURL(e)})}function oc(e){return Array.from(e).filter(t=>sm.has(t.type)&&t.size<=Cz)}function am(e){return e.startsWith("image/")}function lc(){var G,pe,ke;const e=Te(D=>D.contextAttachments),t=Te(D=>D.addContext),n=Te(D=>D.removeContext),r=Te(D=>D.scope),i=Te(D=>D.setScope),s=Te(D=>D.model),a=Te(D=>D.setModel),o=Te(D=>D.openChat),l=Te(D=>D.closeChat),u=Te(D=>D.threads),f=Te(D=>D.activeThreadId),d=Te(D=>D.createThread),p=Te(D=>D.deleteThread),h=Te(D=>D.switchThread),m=Te(D=>D.updateThreadMessages),w=Te(D=>D.updateThreadTitle),S=Te(D=>D.deleteThreadsForDocument),x=Ae(D=>D.activeTab),_=Ae(D=>D.documents),{messages:g,sendMessage:T,status:E,error:k,setMessages:N,stop:M,getMessageContext:Y,getMessageScope:C}=ez(),[B,R]=y.useState(""),[U,L]=y.useState([]),[P,A]=y.useState(!1),[J,O]=y.useState(!1),q=y.useRef(null),b=y.useRef(null),ce=y.useRef(null),oe=y.useCallback(async D=>{const he=oc(D);if(he.length===0)return;const Ne=await Promise.all(he.map(Nz));L(Me=>{const tt=[...Me,...Ne];return tt.length>ac?tt.slice(0,ac):tt})},[]),v=y.useCallback(D=>{L(he=>he.filter((Ne,Me)=>Me!==D))},[]),X=y.useCallback(D=>{var Ne;const he=(Ne=D.clipboardData)==null?void 0:Ne.files;if(he&&he.length>0){const Me=oc(he);Me.length>0&&(D.preventDefault(),oe(Me))}},[oe]),ae=y.useCallback(D=>{var Ne;D.preventDefault(),O(!1);const he=(Ne=D.dataTransfer)==null?void 0:Ne.files;he&&he.length>0&&oe(Array.from(he))},[oe]),ne=y.useCallback(D=>{D.preventDefault(),O(!0)},[]),I=y.useCallback(()=>O(!1),[]),$=x?f[x]:void 0,W=$?u[$]:void 0,le=y.useMemo(()=>x?Object.values(u).filter(D=>D.documentName===x).sort((D,he)=>he.updatedAt-D.updatedAt):[],[u,x]);y.useEffect(()=>{x&&le.length===0&&d(x)},[x,le.length,d]);const K=y.useRef(u);K.current=u,y.useEffect(()=>{const D=new Set(_.map(Ne=>Ne.name)),he=new Set;for(const Ne of Object.values(K.current))!D.has(Ne.documentName)&&Ne.documentName!=="__migrated__"&&he.add(Ne.documentName);for(const Ne of he)S(Ne)},[_,S]);const ve=y.useRef(null);y.useEffect(()=>{ve.current!==$&&(ve.current=$,N((W==null?void 0:W.messages)??[]))},[$,W,N]),y.useEffect(()=>{var D;(D=q.current)==null||D.scrollIntoView({behavior:"smooth"})},[g,E]),y.useEffect(()=>{const D=he=>{var tt;const{documentName:Ne,selection:Me}=he.detail;t({...Me,documentName:Ne}),o(),(tt=b.current)==null||tt.focus()};return window.addEventListener("monaco-selection-to-ai",D),()=>window.removeEventListener("monaco-selection-to-ai",D)},[t,o]);const de=E==="streaming",xe=E==="submitted"||de,Ue=y.useCallback(D=>{D.preventDefault(),!(!B.trim()&&U.length===0||xe)&&(T(B,U.length>0?U:void 0),R(""),L([]))},[B,U,xe,T]),rt=y.useCallback(D=>{D.key==="Enter"&&!D.shiftKey&&(D.preventDefault(),Ue(D))},[Ue]),Ge=y.useCallback(()=>{g.length!==0&&A(!0)},[g.length]),j=y.useCallback(()=>{A(!1),N([]),$&&(m($,[]),w($,Xa()))},[N,$,m,w]),[z,Z]=y.useState(null),re=y.useCallback(D=>{Z(D)},[]),te=y.useCallback(()=>{var tt,Ke;if(!z)return;const D=g.findIndex(it=>it.id===z);if(D===-1){Z(null);return}const he=g[D],Ne=new Set([D]);he.role==="user"&&((tt=g[D+1])==null?void 0:tt.role)==="assistant"?Ne.add(D+1):he.role==="assistant"&&D>0&&((Ke=g[D-1])==null?void 0:Ke.role)==="user"&&Ne.add(D-1);const Me=g.filter((it,Xt)=>!Ne.has(Xt));N(Me),$&&m($,Me),Z(null)},[z,g,N,$,m]),ee=y.useCallback(D=>{if(!xe){if(le.length<=1){Ge();return}p(D)}},[xe,le.length,Ge,p]),fe=y.useCallback(()=>{if(!(!x||xe))return d(x)},[x,xe,d]),be=y.useCallback(D=>{xe||D===$||h(D)},[xe,$,h]),F=y.useCallback((D,he)=>{w(D,he)},[w]);return c.jsxs("div",{className:"flex flex-col h-full border-l bg-surface-chat",children:[c.jsxs("div",{className:"flex items-center justify-between px-3 py-2 border-b border-border/60 bg-surface-chat",children:[c.jsx(_z,{threads:le,activeThread:W,disabled:xe,onSwitch:be,onCreate:fe,onDelete:ee,onRename:F}),c.jsxs("div",{className:"flex items-center gap-1",children:[c.jsx(_e,{variant:"ghost",size:"sm",className:"h-7 px-2 text-xs text-muted-foreground hover:text-foreground",onClick:Ge,disabled:xe||g.length===0,children:"Clear"}),c.jsx(_e,{variant:"ghost",size:"icon",className:"h-7 w-7 text-muted-foreground hover:text-foreground",onClick:l,title:"Close chat",children:c.jsx(jn,{className:"h-3.5 w-3.5"})})]})]}),c.jsx(Pr,{className:"flex-1 min-h-0 [&_[data-radix-scroll-area-viewport]>div]:!block",children:c.jsxs("div",{className:"p-3 space-y-4 min-w-0",children:[g.length===0&&c.jsxs("div",{className:"flex flex-col items-center justify-center py-12 px-4",children:[c.jsx("div",{className:"rounded-xl bg-primary/10 p-3 mb-4",children:c.jsx(Zo,{className:"h-5 w-5 text-primary"})}),c.jsx("p",{className:"text-sm font-medium text-foreground/80 mb-1",children:"JSON Assistant"}),c.jsx("p",{className:"text-xs text-muted-foreground text-center max-w-[200px] mb-4",children:"Generate, edit, and refine your JSON document definitions with AI."}),c.jsxs("div",{className:"flex items-center gap-1.5 rounded-md bg-muted/50 px-2.5 py-1.5",children:[c.jsx(ya,{shortcut:"mod+k"}),c.jsx("span",{className:"text-xs text-muted-foreground",children:"to send a selection"})]})]}),g.map((D,he)=>{let Ne;if(D.role==="user"){const Ke=Y(D.id);Ke&&Ke.length>0&&(Ne=Ke)}else if(D.role==="assistant"){for(let Ke=he-1;Ke>=0;Ke--)if(g[Ke].role==="user"){Ne=Y(g[Ke].id);break}}const Me=de&&he===g.length-1&&D.role==="assistant",tt=D.role==="user"?C(D.id):void 0;return c.jsx(Ez,{msg:D,isStreaming:Me,context:Ne,scope:tt,onDelete:xe?void 0:re},D.id)}),xe&&((G=g[g.length-1])==null?void 0:G.role)!=="assistant"&&c.jsx("div",{className:"flex justify-start",children:c.jsx("div",{className:"rounded-lg px-3 py-2 bg-muted/60 border border-border/40",children:c.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[c.jsx(aa,{className:"h-3.5 w-3.5 animate-spin text-primary"}),c.jsx("span",{children:"Thinking..."})]})})}),k&&!xe&&c.jsx("div",{className:"flex justify-start",children:c.jsx("div",{className:"rounded-lg px-3 py-2 bg-destructive/10 border border-destructive/30 text-destructive text-sm max-w-[90%]",children:k.message||"Something went wrong"})}),c.jsx("div",{ref:q})]})}),c.jsxs("div",{className:`border-t border-border/60 p-2.5 space-y-2 bg-surface-chat transition-colors ${J?"ring-2 ring-primary/40 bg-primary/5":""}`,onDrop:ae,onDragOver:ne,onDragLeave:I,children:[e.length>0&&c.jsx("div",{className:"flex flex-wrap gap-1.5",children:e.map((D,he)=>c.jsx(em,{context:D,onRemove:()=>n(he)},he))}),c.jsxs("div",{className:"flex items-center gap-3 flex-wrap",children:[c.jsx(Tz,{model:s,setModel:a}),kt==="pptx"&&x&&c.jsx(Pz,{scope:r,setScope:i,docSize:((ke=(pe=_.find(D=>D.name===x))==null?void 0:pe.text)==null?void 0:ke.length)??0})]}),U.length>0&&c.jsx("div",{className:"flex flex-wrap gap-1.5",children:U.map((D,he)=>c.jsxs("div",{className:"relative group",children:[am(D.mediaType)?c.jsx("img",{src:D.url,alt:D.filename||"attachment",className:"h-14 w-14 rounded-md object-cover border border-border/60"}):c.jsxs("div",{className:"h-14 px-2.5 flex items-center gap-1.5 rounded-md border border-border/60 bg-muted/60 max-w-[140px]",children:[c.jsx(oa,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}),c.jsx("span",{className:"text-xs truncate text-muted-foreground",children:D.filename||"file"})]}),c.jsx("button",{type:"button",onClick:()=>v(he),className:"absolute -top-1.5 -right-1.5 rounded-full bg-destructive text-destructive-foreground p-0.5 opacity-0 group-hover:opacity-100 transition-opacity cursor-pointer",children:c.jsx(jn,{className:"h-3 w-3"})})]},he))}),c.jsxs("form",{onSubmit:Ue,className:"flex items-end gap-2",children:[c.jsx("input",{ref:ce,type:"file",accept:jz,multiple:!0,className:"hidden",onChange:D=>{D.target.files&&oe(Array.from(D.target.files)),D.target.value=""}}),c.jsx(_e,{type:"button",variant:"ghost",size:"icon",className:"shrink-0 h-9 w-9 rounded-lg text-muted-foreground hover:text-foreground",onClick:()=>{var D;return(D=ce.current)==null?void 0:D.click()},title:"Attach file",children:c.jsx(oa,{className:"h-4 w-4"})}),c.jsx("textarea",{ref:b,value:B,onChange:D=>{R(D.target.value);const he=D.target;he.style.height="auto",he.style.height=`${Math.min(he.scrollHeight,128)}px`},onKeyDown:rt,onPaste:X,placeholder:e.length>0?"Describe how to edit the selection...":r==="slides"?"Add, edit, or remove slides...":r==="templates"?"Edit template layouts and placeholders...":"Ask AI to generate or edit JSON...",className:"flex-1 min-h-[36px] max-h-32 resize-none overflow-y-auto rounded-lg border border-border/60 bg-background px-3 py-1.5 text-sm placeholder:text-muted-foreground placeholder:whitespace-nowrap placeholder:overflow-hidden placeholder:text-ellipsis focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/30 focus-visible:border-primary/50 transition-shadow",rows:1}),xe?c.jsx(_e,{type:"button",size:"icon",variant:"destructive",className:"shrink-0 h-9 w-9 rounded-lg",onClick:M,title:"Stop generating",children:c.jsx(lg,{className:"h-4 w-4"})}):c.jsx(_e,{type:"submit",size:"icon",disabled:!B.trim()&&U.length===0,className:"shrink-0 h-9 w-9 rounded-lg",children:c.jsx(Zo,{className:"h-4 w-4"})})]})]}),c.jsx(Dt,{open:P,onOpenChange:A,children:c.jsxs(Et,{className:"max-w-sm",children:[c.jsxs(Gt,{children:[c.jsx(Kt,{children:"Clear thread"}),c.jsx(Cn,{children:"This will delete all messages in this thread. This action cannot be undone."})]}),c.jsxs(Yn,{children:[c.jsx(Xo,{asChild:!0,children:c.jsx(_e,{variant:"ghost",size:"sm",children:"Cancel"})}),c.jsx(_e,{variant:"destructive",size:"sm",onClick:j,children:"Clear"})]})]})}),c.jsx(Dt,{open:z!==null,onOpenChange:D=>{D||Z(null)},children:c.jsxs(Et,{className:"max-w-sm",children:[c.jsxs(Gt,{children:[c.jsx(Kt,{children:"Delete message"}),c.jsx(Cn,{children:"This will delete the message and its paired response. This action cannot be undone."})]}),c.jsxs(Yn,{children:[c.jsx(Xo,{asChild:!0,children:c.jsx(_e,{variant:"ghost",size:"sm",children:"Cancel"})}),c.jsx(_e,{variant:"destructive",size:"sm",onClick:te,children:"Delete"})]})]})})]})}const Ez=y.memo(function({msg:t,isStreaming:n,context:r,scope:i,onDelete:s}){var l,u;const a=((l=t.parts)==null?void 0:l.filter(f=>f.type==="text").map(f=>f.text).join(""))||"",o=((u=t.parts)==null?void 0:u.filter(f=>f.type==="file"))||[];return c.jsx("div",{className:`group/msg flex ${t.role==="user"?"justify-end":"justify-start"}`,children:c.jsxs("div",{className:`rounded-lg px-3 py-2 max-w-[90%] overflow-hidden min-w-0 ${t.role==="user"?"bg-primary text-primary-foreground":"bg-muted/60 border border-border/40"}`,children:[t.role==="user"?c.jsxs("div",{children:[o.length>0&&c.jsx("div",{className:"flex flex-wrap gap-1 mb-1.5",children:o.map((f,d)=>am(f.mediaType)?c.jsx("img",{src:f.url,alt:f.filename||"image",className:"h-20 max-w-[160px] rounded object-cover"},d):c.jsxs("div",{className:"flex items-center gap-1.5 rounded bg-primary-foreground/20 px-2 py-1",children:[c.jsx(oa,{className:"h-3 w-3 shrink-0"}),c.jsx("span",{className:"text-xs truncate max-w-[120px]",children:f.filename||"file"})]},d))}),r&&r.length>0&&c.jsx("div",{className:"flex flex-wrap gap-1 mb-1.5",children:r.map((f,d)=>c.jsx(em,{context:f,variant:"sent"},d))}),a&&c.jsx("div",{className:"whitespace-pre-wrap text-sm break-words",children:a}),i&&i!=="global"&&c.jsx("span",{className:"text-[10px] text-primary-foreground/60 mt-0.5 block text-right",children:i})]}):c.jsx(Iz,{text:a,isStreaming:n,context:r,scope:i}),s&&!n&&c.jsx("div",{className:"opacity-0 group-hover/msg:opacity-100 transition-opacity mt-1",children:c.jsx("button",{type:"button",onClick:()=>s(t.id),className:`p-0.5 rounded cursor-pointer ${t.role==="user"?"text-primary-foreground/50 hover:text-primary-foreground/80":"text-muted-foreground hover:text-destructive"}`,children:c.jsx(Va,{className:"h-3 w-3"})})})]})})},(e,t)=>e.msg.id===t.msg.id&&e.isStreaming===t.isStreaming&&e.scope===t.scope&&e.onDelete===t.onDelete&&e.context===t.context);function Iz({text:e,isStreaming:t,context:n,scope:r}){return t?c.jsx("div",{className:"text-sm prose prose-sm dark:prose-invert break-words [&_pre]:overflow-x-auto [&_p]:my-1",children:c.jsx("pre",{className:"whitespace-pre-wrap font-sans text-sm m-0 p-0 bg-transparent border-none",children:e})}):c.jsx("div",{className:"text-sm prose prose-sm dark:prose-invert break-words [&_pre]:overflow-x-auto [&_p]:my-1 [&_ul]:my-1 [&_ol]:my-1 [&_li]:my-0.5 [&_h1]:text-base [&_h2]:text-sm [&_h3]:text-sm [&_h1]:my-2 [&_h2]:my-1.5 [&_h3]:my-1",children:c.jsx(nk,{remarkPlugins:[m1],components:{pre:({children:i})=>c.jsx(c.Fragment,{children:i}),code:({className:i,children:s})=>{const a=i==null?void 0:i.startsWith("language-"),o=(i==null?void 0:i.replace("language-",""))||"",l=String(s).replace(/\n$/,"");if(!a)return c.jsx("code",{className:"rounded bg-muted px-1 py-0.5 text-xs font-mono",children:s});const u=o==="json"||o==="jsonc";return c.jsxs("div",{className:"my-2 rounded-lg border bg-card",children:[c.jsxs("div",{className:"flex items-center justify-between px-3 py-1.5 bg-muted/60 border-b text-xs text-muted-foreground",children:[c.jsx("span",{className:"font-mono",children:o||"code"}),!u&&c.jsx(Oz,{text:l})]}),c.jsx("pre",{className:"p-3 text-xs font-mono overflow-x-auto max-h-80 overflow-y-auto m-0",children:c.jsx("code",{children:l})}),u&&c.jsx(Sz,{json:l,context:n,scope:r})]})}},children:e})})}const zz=[{value:"opus",label:"Opus"},{value:"sonnet",label:"Sonnet"},{value:"haiku",label:"Haiku"}];function Tz({model:e,setModel:t}){return c.jsxs(Ka,{value:e,onValueChange:n=>t(n),children:[c.jsx(ss,{className:"h-6 w-auto gap-1 border-none bg-muted/40 px-2 py-0 text-[10px] shadow-none focus:ring-0",children:c.jsx(Ya,{})}),c.jsx(as,{children:zz.map(n=>c.jsx(Ar,{value:n.value,className:"text-xs",children:n.label},n.value))})]})}const uc={global:"AI sees and edits the entire document",slides:"AI sees and edits only slides — templates stay unchanged",templates:"AI sees and edits only template layouts — slides stay unchanged"},Az=1e5;function Pz({scope:e,setScope:t,docSize:n}){return c.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[c.jsxs("div",{className:"flex items-center gap-1.5",children:[c.jsx("span",{className:"text-[10px] text-muted-foreground",children:"Scope"}),c.jsx("div",{className:"flex items-center bg-muted/40 rounded-md p-0.5 gap-px",children:Object.keys(uc).map(r=>c.jsxs(Xe,{children:[c.jsx(Qe,{asChild:!0,children:c.jsx("button",{type:"button",onClick:()=>t(r),className:`px-2 py-0.5 rounded text-[10px] cursor-pointer transition-colors ${e===r?"bg-background text-foreground font-medium shadow-sm":"text-muted-foreground hover:text-foreground"}`,children:r})}),c.jsx(et,{side:"top",className:"text-xs max-w-[200px]",children:uc[r]})]},r))})]}),e==="global"&&n>Az&&c.jsxs("div",{className:"text-[10px] text-amber-500 flex items-center gap-1",children:[c.jsx(Qc,{className:"h-3 w-3 shrink-0"}),c.jsxs("span",{children:["Large doc — switch to"," ",c.jsx("button",{type:"button",onClick:()=>t("slides"),className:"underline cursor-pointer hover:text-amber-400",children:"slides"})," ","or"," ",c.jsx("button",{type:"button",onClick:()=>t("templates"),className:"underline cursor-pointer hover:text-amber-400",children:"templates"})]})]})]})}function Oz({text:e}){const[t,n]=y.useState(!1),r=y.useCallback(async()=>{await navigator.clipboard.writeText(e),n(!0),setTimeout(()=>n(!1),1500)},[e]);return c.jsx("button",{onClick:r,className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:t?"Copied!":"Copy"})}function Dz({discoveryData:e}){const t=Pd(),n=px(),r=Te(C=>C.chatOpen),i=Te(C=>C.toggleChat),[s,a]=y.useState(()=>{try{const C=localStorage.getItem("dev-env.sidebar-open");return n?!1:C?C==="true":!0}catch{return!n}}),[o,l]=y.useState(()=>{try{const C=localStorage.getItem("dev-env.preview-open");return C?C==="true":!0}catch{return!0}}),[u,f]=y.useState("editor"),[d,p]=y.useState(!1),h=150,[m,w]=y.useState(!s),[S,x]=y.useState(!1);y.useEffect(()=>{try{localStorage.setItem("dev-env.sidebar-open",String(s))}catch{}},[s]),y.useEffect(()=>{try{localStorage.setItem("dev-env.preview-open",String(o))}catch{}},[o]);const _=y.useRef(n);y.useEffect(()=>{n&&!_.current&&s&&(x(!0),a(!1),setTimeout(()=>{w(!0),x(!1)},h)),!n&&_.current&&!s&&(x(!0),a(!0),setTimeout(()=>{w(!1),x(!1)},h)),_.current=n},[n,s]);const g=y.useCallback(()=>{if(t){p(C=>!C);return}x(!0),a(C=>!C),setTimeout(()=>{w(C=>!C),x(!1)},h)},[t]),T=y.useCallback(()=>l(C=>!C),[]),E=y.useRef(i),k=y.useRef(g),N=y.useRef(T);y.useEffect(()=>{E.current=i}),y.useEffect(()=>{k.current=g}),y.useEffect(()=>{N.current=T}),y.useEffect(()=>{const C=B=>{(B.metaKey||B.ctrlKey)&&(B.code==="KeyB"&&!B.shiftKey&&(B.preventDefault(),k.current()),B.code==="KeyJ"&&B.shiftKey&&(B.preventDefault(),B.stopPropagation(),E.current()),B.code==="KeyP"&&B.shiftKey&&(B.preventDefault(),N.current()))};return window.addEventListener("keydown",C,!0),()=>window.removeEventListener("keydown",C,!0)},[]);const M=QI,Y=[{key:"editor",icon:ed,label:"Editor"},{key:"preview",icon:td,label:"Preview"},{key:"chat",icon:nd,label:"Chat"}];return t?c.jsx(M,{children:c.jsxs("div",{className:"flex flex-col h-full w-full overflow-hidden",children:[c.jsxs("div",{className:"flex items-center gap-1 px-2 py-1.5 border-b bg-sidebar shrink-0",children:[c.jsxs(zd,{open:d,onOpenChange:p,children:[c.jsx(lx,{asChild:!0,children:c.jsx(_e,{variant:"ghost",size:"icon",className:"h-8 w-8 shrink-0",children:c.jsx(Yc,{className:"h-4 w-4"})})}),c.jsx(Qa,{side:"left",className:"p-0 w-72",children:c.jsx(tl,{discoveryData:e,onToggleSidebar:()=>p(!1),isCollapsed:!1})})]}),c.jsx("div",{className:"flex gap-0.5 flex-1 min-w-0",children:Y.map(({key:C,icon:B,label:R})=>c.jsxs(_e,{variant:u===C?"default":"ghost",size:"sm",className:"h-7 gap-1.5 text-xs flex-1",onClick:()=>f(C),children:[c.jsx(B,{className:"h-3.5 w-3.5"}),c.jsx("span",{className:"hidden xs:inline",children:R})]},C))})]}),u!=="chat"&&c.jsx(yl,{previewOpen:o,onTogglePreview:T}),c.jsxs("div",{className:"flex-1 min-h-0",children:[u==="editor"&&c.jsx("div",{className:"h-full bg-surface-editor",children:c.jsx(nl,{})}),u==="preview"&&c.jsx("div",{className:"h-full bg-surface-preview",children:c.jsx(rl,{})}),u==="chat"&&c.jsx(lc,{})]})]})}):c.jsx(M,{children:c.jsxs("div",{className:"flex h-full w-full overflow-hidden",children:[c.jsx("div",{className:H("shrink-0 overflow-hidden border-r bg-sidebar","transition-[width] duration-300 ease-[cubic-bezier(0.16,1,0.3,1)]",s?"w-64":"w-12"),children:c.jsx(tl,{discoveryData:e,onToggleSidebar:g,isCollapsed:m,isAnimating:S})}),c.jsxs("div",{className:"flex-1 min-w-0 flex flex-col h-full",children:[c.jsx(yl,{previewOpen:o,onTogglePreview:T}),c.jsxs(Ny,{direction:"horizontal",autoSaveId:"layout-main",className:"flex-1 min-h-0",children:[c.jsx(Os,{defaultSize:o?50:100,minSize:20,id:"editor",order:1,children:c.jsx("div",{className:"h-full bg-surface-editor",children:c.jsx(nl,{})})}),o&&c.jsxs(c.Fragment,{children:[c.jsx(pl,{withHandle:!0}),c.jsx(Os,{defaultSize:50,minSize:20,id:"preview",order:2,children:c.jsx("div",{className:"h-full bg-surface-preview",children:c.jsx(rl,{})})})]}),r&&c.jsxs(c.Fragment,{children:[c.jsx(pl,{withHandle:!0}),c.jsx(Os,{defaultSize:30,minSize:25,maxSize:50,id:"chat",order:3,children:c.jsx(lc,{})})]})]})]})]})})}function Rz(){const[e,t]=y.useState(null),[n,r]=y.useState(!0),[i,s]=y.useState(null),a=y.useCallback(async()=>{r(!0),s(null);try{const o=await fetch("/api/discovery/all");if(!o.ok)throw new Error(`Discovery failed: ${o.statusText}`);const l=await o.json();if(!l.success)throw new Error(l.error||"Discovery failed");t(l.data)}catch(o){console.error("Discovery error:",o),s(o instanceof Error?o.message:"Failed to fetch discovered items"),t({plugins:[],documents:[],themes:[]})}finally{r(!1)}},[]);return y.useEffect(()=>{a()},[a]),{data:e,loading:n,error:i,refetch:a}}function Mz(){const[e,t]=y.useState(!1),[n,r]=y.useState(null),[i,s]=y.useState(0);return{loadPlugins:y.useCallback(async()=>{t(!0),r(null);try{const o=await fetch("/api/discovery/load-plugins",{method:"POST"});if(!o.ok)throw new Error(`Failed to load plugins: ${o.statusText}`);const l=await o.json();if(!l.success)throw new Error(l.error||"Failed to load plugins");return s(l.data.loaded),!0}catch(o){return console.error("Plugin loading error:",o),r(o instanceof Error?o.message:"Failed to load plugins"),!1}finally{t(!1)}},[]),loading:e,error:n,loadedCount:i}}function $z(){const{data:e,loading:t,error:n}=Rz(),{loadPlugins:r}=Mz(),i=Ot(s=>s.applyPluginsWithValidation);return y.useEffect(()=>{e&&e.plugins.length>0&&r().then(s=>{if(s){console.log("Plugins loaded successfully");const a=Ot.getState().selectedPlugins;a.size>0&&(console.log("Auto-applying persisted plugin selections:",Array.from(a)),i())}})},[e,r,i]),t?c.jsx("div",{className:"flex items-center justify-center h-screen",children:c.jsxs("div",{className:"text-center",children:[c.jsx("div",{className:"text-lg font-medium",children:"Discovering project resources..."}),c.jsx("div",{className:"text-sm text-muted-foreground mt-2",children:"Searching for documents, themes, and plugins"})]})}):n?c.jsx("div",{className:"flex items-center justify-center h-screen",children:c.jsxs("div",{className:"text-center",children:[c.jsx("div",{className:"text-lg font-medium text-destructive",children:"Discovery failed"}),c.jsx("div",{className:"text-sm text-muted-foreground mt-2",children:n}),c.jsx("div",{className:"text-xs text-muted-foreground mt-4",children:"The playground will work with limited functionality."})]})}):c.jsx(cg,{children:c.jsx(dg,{children:c.jsx(fg,{children:c.jsx(pg,{children:c.jsx(hg,{children:c.jsx(Gg,{children:c.jsx(Dd,{children:c.jsx("section",{className:"flex h-screen w-full flex-col",children:c.jsx("div",{className:"grow overflow-hidden",children:c.jsx(Dz,{discoveryData:e})})})})})})})})})})}const Wz=Object.freeze(Object.defineProperty({__proto__:null,HomePage:$z},Symbol.toStringTag,{value:"Module"}));export{kn as B,Dt as D,Wz as H,Ry as P,Er as S,Rr as T,Jd as a,Id as b,Et as c,Gt as d,Kt as e,Ay as u};
99
- //# sourceMappingURL=HomePage-CtePCdPD.js.map
99
+ //# sourceMappingURL=HomePage-D1UvVA6K.js.map