@shumai-one/shumai 0.6.1 → 0.6.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.
- package/bin/chunk-01052ssf.js +32 -0
- package/bin/{chunk-w4ydfy9d.js → chunk-02fvcrej.js} +4 -4
- package/bin/chunk-0bj887zm.js +2 -0
- package/bin/chunk-167z646e.js +2 -0
- package/bin/chunk-1ktk6764.js +10 -0
- package/bin/{chunk-p1ed0pa6.js → chunk-1nvd90g2.js} +1 -1
- package/bin/{chunk-kywdke0y.js → chunk-1wfg56z3.js} +5 -5
- package/bin/{chunk-ahgq10a7.js → chunk-257dcd2f.js} +2 -2
- package/bin/chunk-26qn7fek.js +2 -0
- package/bin/chunk-2cdxm1cp.js +55 -0
- package/bin/chunk-2jj4j8cn.js +3 -0
- package/bin/chunk-2ne2b54t.js +2 -0
- package/bin/{chunk-qqj2m1b1.js → chunk-2nhgdqdg.js} +2 -2
- package/bin/chunk-2vbeqczj.js +1 -0
- package/bin/chunk-37p6bcx2.js +1 -0
- package/bin/chunk-3ckkwdjx.js +13 -0
- package/bin/chunk-3knfx6dm.js +1 -0
- package/bin/chunk-3z85zxkn.js +1 -0
- package/bin/chunk-4mws03es.js +5 -0
- package/bin/chunk-54tbfvya.js +2 -0
- package/bin/chunk-55h9ze53.js +2 -0
- package/bin/chunk-56kh5fxc.js +1 -0
- package/bin/chunk-576nj64j.js +2 -0
- package/bin/{chunk-dfecgpce.js → chunk-5wapd171.js} +13 -13
- package/bin/chunk-6cnqjngz.js +1 -0
- package/bin/chunk-73yncv54.js +2 -0
- package/bin/chunk-7g46e1wy.js +3 -0
- package/bin/{chunk-jq3pq545.js → chunk-7naa7tpn.js} +2 -2
- package/bin/{chunk-am6dg0a5.js → chunk-7sgrtxbt.js} +2 -2
- package/bin/{chunk-3me1v3z5.js → chunk-7v7mypc6.js} +2 -2
- package/bin/chunk-82tps5n1.js +2 -0
- package/bin/chunk-84x8p7v5.js +1 -0
- package/bin/{chunk-fxtzy5f5.js → chunk-88jg9dq5.js} +2 -2
- package/bin/chunk-8cjet7pp.js +12 -0
- package/bin/chunk-8fyg9dy4.js +2 -0
- package/bin/chunk-8gtfgkrn.js +2 -0
- package/bin/chunk-8mqbztj8.js +2 -0
- package/bin/chunk-8xb6yz11.js +2 -0
- package/bin/chunk-8yjsmr7g.js +2 -0
- package/bin/chunk-91rb0jpb.js +2 -0
- package/bin/chunk-96qpjght.js +2 -0
- package/bin/chunk-9f1xk1nt.js +1 -0
- package/bin/chunk-9mk9cvbk.js +1 -0
- package/bin/{chunk-r5g84kj4.js → chunk-9n1w5dw1.js} +3 -3
- package/bin/chunk-9nw5w8vh.js +1 -0
- package/bin/{chunk-3j82q2gj.js → chunk-9t3p4xp6.js} +1 -1
- package/bin/chunk-9xhjy897.js +11 -0
- package/bin/chunk-9zsv6d2f.js +1 -0
- package/bin/chunk-a411xhmm.js +7 -0
- package/bin/{chunk-s01p4w8d.js → chunk-a74g6h8a.js} +2 -2
- package/bin/chunk-ah8fjb6f.js +2 -0
- package/bin/chunk-atfz7g7e.js +2 -0
- package/bin/{chunk-swz6v48q.js → chunk-b5rhvzv9.js} +2 -2
- package/bin/{chunk-bg6waaf9.js → chunk-b7bnp021.js} +2 -2
- package/bin/chunk-cf5axr8c.js +1 -0
- package/bin/chunk-cgmebxx6.js +2 -0
- package/bin/chunk-cwat1jwx.js +3 -0
- package/bin/chunk-cz13a82m.js +3 -0
- package/bin/chunk-dk42gf7v.js +2 -0
- package/bin/chunk-e4f56spj.js +4 -0
- package/bin/chunk-e4yscwen.js +18 -0
- package/bin/chunk-eb7mzbfm.js +1 -0
- package/bin/chunk-er14d498.js +3 -0
- package/bin/{chunk-bs6saf4d.js → chunk-eyjfhdp9.js} +2 -2
- package/bin/chunk-f25fe9th.js +393 -0
- package/bin/chunk-f6avg5qe.js +129 -0
- package/bin/chunk-fatmqnp1.js +2 -0
- package/bin/chunk-fvx9k1dc.js +2 -0
- package/bin/{chunk-h6f2gyt5.js → chunk-g22wmpk1.js} +2 -2
- package/bin/chunk-g6sdezec.js +2 -0
- package/bin/chunk-gtf19jc1.js +2 -0
- package/bin/chunk-gxepkvt2.js +2 -0
- package/bin/chunk-h1n7jqnw.js +1 -0
- package/bin/chunk-hfm82066.js +2 -0
- package/bin/chunk-hnkcgvcj.js +3 -0
- package/bin/{chunk-agcnbjxk.js → chunk-hpbn0k9n.js} +2 -2
- package/bin/{chunk-d4hk62q2.js → chunk-hpwv4am3.js} +4 -4
- package/bin/{chunk-acmr8v0d.js → chunk-hw6czrya.js} +1 -1
- package/bin/{chunk-r9gp9yqw.js → chunk-hzkjgcre.js} +1 -1
- package/bin/chunk-j2s311yc.js +3 -0
- package/bin/{chunk-6hzktewz.js → chunk-jt02kpfc.js} +2 -2
- package/bin/{chunk-c60j1b4w.js → chunk-jt0ykktx.js} +1 -1
- package/bin/{chunk-sd6w0z6a.js → chunk-jzgbxqdg.js} +2 -2
- package/bin/chunk-kj6h5j5a.js +4 -0
- package/bin/chunk-km4gn6b6.js +1 -0
- package/bin/chunk-knj2s8mg.js +16 -0
- package/bin/{chunk-1eqw2dpx.js → chunk-kvhf12b4.js} +2 -2
- package/bin/chunk-m0q2cgfg.js +2 -0
- package/bin/chunk-m82tkhaa.js +11 -0
- package/bin/chunk-m9adtgzk.js +2 -0
- package/bin/{chunk-0tvnfy4k.js → chunk-mcj1xpcc.js} +2 -2
- package/bin/chunk-mcw198kg.js +13 -0
- package/bin/{chunk-9s0k533c.js → chunk-mwktrwtx.js} +1 -1
- package/bin/{chunk-wsprap60.js → chunk-mzsw9var.js} +2 -2
- package/bin/chunk-ns33grgx.js +2 -0
- package/bin/{chunk-xsfy8hz3.js → chunk-ny1kbmxt.js} +2 -2
- package/bin/{chunk-16n160h1.js → chunk-p3f5aevs.js} +1 -1
- package/bin/chunk-p3j6ydk1.js +1 -0
- package/bin/chunk-p4s95471.js +2 -0
- package/bin/chunk-pk406dgy.js +2 -0
- package/bin/chunk-q2bew2vc.js +2 -0
- package/bin/chunk-q5vkxee3.js +5 -0
- package/bin/{chunk-hzv1mhr5.js → chunk-q83h0hkx.js} +2 -2
- package/bin/{chunk-fre31bhw.js → chunk-q8w4mbw4.js} +2 -2
- package/bin/{chunk-b7qs7hxg.js → chunk-qwpkcp8d.js} +2 -2
- package/bin/chunk-r1xer8gn.js +5 -0
- package/bin/chunk-s1e4qy3q.js +14 -0
- package/bin/{chunk-b9d8xdhb.js → chunk-s9ksftq2.js} +1 -1
- package/bin/chunk-srxp5jav.js +42 -0
- package/bin/chunk-swtwaaqe.js +1 -0
- package/bin/chunk-tagdrg7p.js +1 -0
- package/bin/{chunk-d18v5vmp.js → chunk-tekwpkjf.js} +2 -2
- package/bin/chunk-twtxnzbv.js +2 -0
- package/bin/{chunk-c6f8x05m.js → chunk-v05rrxp5.js} +2 -2
- package/bin/{chunk-ht5rht98.js → chunk-v5cn90cf.js} +2 -2
- package/bin/chunk-v5mcjwxy.js +2 -0
- package/bin/{chunk-jb8vbeb0.js → chunk-vcrmjtcz.js} +2 -2
- package/bin/chunk-vkzasgxw.js +2 -0
- package/bin/chunk-vp3czaeh.js +7 -0
- package/bin/chunk-x03jwaga.js +8 -0
- package/bin/chunk-x342vzdx.js +2 -0
- package/bin/chunk-x8mjh387.js +5 -0
- package/bin/chunk-xc54vhfz.js +2 -0
- package/bin/chunk-xvkwbczx.js +3 -0
- package/bin/chunk-y241cxff.js +1 -0
- package/bin/chunk-yk12hydf.js +7 -0
- package/bin/chunk-ympbfzz4.js +2 -0
- package/bin/{chunk-n412a1hp.js → chunk-yq32evnn.js} +6 -6
- package/bin/chunk-z1p13dnc.js +2 -0
- package/bin/chunk-zarz3sqn.js +211 -0
- package/bin/chunk-zezje74z.js +4 -0
- package/bin/chunk-zrszykjf.js +3 -0
- package/bin/shumai-app.html +1 -1
- package/bin/shumai-app.js +942 -1015
- package/package.json +7 -7
- package/prisma/migrations/20261026024507_hash_api_tokens/migration.sql +28 -0
- package/prisma/migrations/20261026031904_add_audit_log_via/migration.sql +2 -0
- package/prisma/migrations/20261029024626_add_oauth_and_jwks/migration.sql +205 -0
- package/prisma/migrations/20261029030321_default_empty_arrays_oauth/migration.sql +25 -0
- package/prisma/schema.prisma +186 -1
- package/bin/chunk-0502p2k7.js +0 -3
- package/bin/chunk-0b0t6y8h.js +0 -11
- package/bin/chunk-1vt9ss7d.js +0 -2
- package/bin/chunk-23780yj6.js +0 -3
- package/bin/chunk-2cpsfc87.js +0 -1
- package/bin/chunk-2w0d9veg.js +0 -2
- package/bin/chunk-2xp9prpq.js +0 -1
- package/bin/chunk-3gqs15zq.js +0 -2
- package/bin/chunk-3pw7z25v.js +0 -3
- package/bin/chunk-3tx9v8kj.js +0 -2
- package/bin/chunk-3wdtp4ht.js +0 -1
- package/bin/chunk-57axjy7y.js +0 -1
- package/bin/chunk-5aqthcm6.js +0 -5
- package/bin/chunk-5gq4q1bb.js +0 -2
- package/bin/chunk-5r1br11d.js +0 -2
- package/bin/chunk-61hrdg0g.js +0 -1
- package/bin/chunk-6aa4xmnw.js +0 -2
- package/bin/chunk-6mrgtn78.js +0 -18
- package/bin/chunk-6s55r0z9.js +0 -1
- package/bin/chunk-6vkfzzvt.js +0 -5
- package/bin/chunk-7dprpnm6.js +0 -2
- package/bin/chunk-7rycq6wb.js +0 -129
- package/bin/chunk-895gzdtp.js +0 -7
- package/bin/chunk-8d1p8qpv.js +0 -1
- package/bin/chunk-8r3k84dh.js +0 -2
- package/bin/chunk-99sarrvt.js +0 -3
- package/bin/chunk-b21z62fj.js +0 -1
- package/bin/chunk-bv589v2m.js +0 -3
- package/bin/chunk-c8kjpmfe.js +0 -2
- package/bin/chunk-c9xyejnk.js +0 -2
- package/bin/chunk-cb9peqy5.js +0 -2
- package/bin/chunk-ckczqmrz.js +0 -5
- package/bin/chunk-cr33cs6j.js +0 -2
- package/bin/chunk-cxet91kt.js +0 -2
- package/bin/chunk-d7e351jd.js +0 -6
- package/bin/chunk-ebcfbn00.js +0 -2
- package/bin/chunk-f0b4a9y3.js +0 -2
- package/bin/chunk-fkn6f4qt.js +0 -4
- package/bin/chunk-g78vapcm.js +0 -2
- package/bin/chunk-gdpfwxea.js +0 -4
- package/bin/chunk-gwqqq0b1.js +0 -32
- package/bin/chunk-h3cwf9aw.js +0 -2
- package/bin/chunk-h4ty530v.js +0 -16
- package/bin/chunk-h58yfx7w.js +0 -2
- package/bin/chunk-h9ngpxyd.js +0 -1
- package/bin/chunk-hbr17jvr.js +0 -13
- package/bin/chunk-hc0xbmtt.js +0 -5
- package/bin/chunk-j9t7tvt5.js +0 -2
- package/bin/chunk-jvt8q0eg.js +0 -2
- package/bin/chunk-jzgtthsj.js +0 -3
- package/bin/chunk-jzjhg7ng.js +0 -1
- package/bin/chunk-k547syp2.js +0 -2
- package/bin/chunk-k7sjpke6.js +0 -2
- package/bin/chunk-k8ct1qgv.js +0 -3
- package/bin/chunk-k9q4nn8b.js +0 -11
- package/bin/chunk-keetdtxb.js +0 -2
- package/bin/chunk-kjjw8mbg.js +0 -1
- package/bin/chunk-mey80kv9.js +0 -54
- package/bin/chunk-nfncawpm.js +0 -12
- package/bin/chunk-nvwt8atc.js +0 -1
- package/bin/chunk-p1d500sf.js +0 -211
- package/bin/chunk-q0vs124k.js +0 -2
- package/bin/chunk-q5795f3s.js +0 -2
- package/bin/chunk-q5j3b0h5.js +0 -3
- package/bin/chunk-qd7pvaxb.js +0 -2
- package/bin/chunk-qhpt7170.js +0 -2
- package/bin/chunk-qt78vs3g.js +0 -2
- package/bin/chunk-ra6mdjr0.js +0 -1
- package/bin/chunk-ryfvaz6v.js +0 -3
- package/bin/chunk-s22eapcc.js +0 -2
- package/bin/chunk-sbg86tch.js +0 -2
- package/bin/chunk-sbqy6m8t.js +0 -1
- package/bin/chunk-sdp9w627.js +0 -14
- package/bin/chunk-sn0nypvd.js +0 -42
- package/bin/chunk-sv92vkyh.js +0 -2
- package/bin/chunk-t6cn018t.js +0 -3
- package/bin/chunk-ts4d1mxf.js +0 -2
- package/bin/chunk-wkdkc12e.js +0 -4
- package/bin/chunk-xgnvktq6.js +0 -10
- package/bin/chunk-xjw3mpvx.js +0 -1
- package/bin/chunk-xznq2axj.js +0 -1
- package/bin/chunk-y4v08wq7.js +0 -1
- package/bin/chunk-yncvy335.js +0 -3
- package/bin/chunk-ytzddcj2.js +0 -1
- package/bin/chunk-zxqasmvz.js +0 -2
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import{ne,J,Q,S,nt,G,kn,M,w,Z,Y,a,g,ie,X,ee,Tt,We,Rn,R,z,_o,Gr,Ar,K,ao,wn,tn,Po,$t,qe,Be,jt,Rl,cr,Bt,On,Er,Ti,xr,ki,Pn,Re,rr,Ue,Ge,B,Ut,pe,aa,er,we,Bc,Qf,Gf,Vf,Kf,Wf,Jf,Yf,Xf,ep,F,Dn,Nn,Fn,Ln,$e,He,Qe,De,Ne,Fe,de,ur,ri,Gy,Wy,np,xA,pb,Zb,Hm,ap,md,hd,gd,Ke,Nl,Ow,zw,Vw,Wm,o_,Yw,Xw,sE,l_,fE,mE,gE,AE,_E,yE,vE,bE,wE,EE,u_,Mt,TE,th,Uc,up,Dr,fx,gx,wx,Ex,sh,Tx,Ms,Nx,Vx,Kx,jc,ah,lh,nC,oC,sC,ch,iC,aC,uh,lC,cC,pC,_C,yC,KC,OS,Ah,_h,BS,e0,Ch,Sh,t0,r0,Ih,Th,n0,o0,$c,VI,Ep,sT,Mh,Oh,pT,OT,PT,DT,NT,FT,LT,Hc,ZT,BT,UT,Qc,zT,jT,Cp,Gc,qT,$T,HT,Ph,Sp,Dh,h1,x0,y1,x1,B1,Ak,Gh,_k,Vh,ms,Rk,Kh,wo,Bk,Jh,zk,jk,qk,$k,Hk,J0,Kk,eR,tR,iR,aR,eg,mR,hR,gR,AR,Cd,Jc,ng,og,YR,sg,Yc,Sd,Id,ig,ag,Td,eM,MM,ug,XM,eO,aO,uO,EO,xO,Jn,Xc,Ty,mg,hg,kd,Rd,_t,yt,vt,bt,wt,Et,xt,Ct,Se,xe,ke,ot,Ce,Ot,re,Ie,Xt,Os,an,Yn,Eo,si,ln,Vt,j,qr,rn,Kr,nn,Qp,Gp,ve,Lo,Gl,Vp,pt,mt,ht,fe,Ve,Xe,et,tt,rt,be,Bo,Sr,on,An,Fr,Xn,wg}from"./chunk-zarz3sqn.js";import{Ps,xa,qd,tc,cn,As,Ns,ci,Qd,Au,cl,Ca,ui,Sa,ul,Dg,di}from"./chunk-f6avg5qe.js";import{os,Lr}from"./chunk-q2bew2vc.js";import{fi,dl}from"./chunk-55h9ze53.js";import{vu}from"./chunk-8mqbztj8.js";import{rc}from"./chunk-257dcd2f.js";import{_r}from"./chunk-ny1kbmxt.js";import{qn}from"./chunk-qwpkcp8d.js";import{jo}from"./chunk-88jg9dq5.js";import{Zr}from"./chunk-v5cn90cf.js";import{se,L}from"./chunk-2jj4j8cn.js";var Xs=L(function(Lf,Ks){function Ws(e,t){this.text=e=e||"",this.hasWild=~e.indexOf("*"),this.separator=t,this.parts=e.split(t)}Ws.prototype.match=function(e){var t=!0,n=this.parts,o,r=n.length,s;if(typeof e=="string"||e instanceof String)if(!this.hasWild&&this.text!=e)t=!1;else{s=(e||"").split(this.separator);for(o=0;t&&o<r;o++)if(n[o]==="*")continue;else if(o<s.length)t=n[o]===s[o];else t=!1;t=t&&s}else if(typeof e.splice=="function"){t=[];for(o=e.length;o--;)if(this.match(e[o]))t[t.length]=e[o]}else if(typeof e=="object"){t={};for(var i in e)if(this.match(i))t[i]=e[i]}return t};Ks.exports=function(e,t,n){var o=new Ws(e,n||/[\/\.]/);if(typeof t<"u")return o.match(t);return o}});var Ys=L(function(Uf,Qs){var Gd=Xs(),Wd=/[\/\+\.]/;Qs.exports=function(e,t){function n(o){var r=Gd(o,e,Wd);return r&&r.length>=2}return t?n(t.split(";")[0]):n}});var mo=L(function(Bf,ei){function Kd(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}ei.exports=Kd});var ni=L(function(Hf,ti){var Xd=typeof global=="object"&&global&&global.Object===Object&&global;ti.exports=Xd});var Zo=L(function(Zf,oi){var Yd=ni(),Jd=typeof self=="object"&&self&&self.Object===Object&&self,eu=Yd||Jd||Function("return this")();oi.exports=eu});var ai=L(function(em,ii){var tu=Zo(),nu=function(){return tu.Date.now()};ii.exports=nu});var pi=L(function(tm,li){var ou=/\s/;function ru(e){var t=e.length;while(t--&&ou.test(e.charAt(t)));return t}li.exports=ru});var gi=L(function(nm,mi){var su=pi(),iu=/^\s+/;function au(e){return e?e.slice(0,su(e)+1).replace(iu,""):e}mi.exports=au});var tr=L(function(om,hi){var lu=Zo(),du=lu.Symbol;hi.exports=du});var xi=L(function(rm,yi){var vi=tr(),wi=Object.prototype,{hasOwnProperty:uu,toString:cu}=wi,oo=vi?vi.toStringTag:void 0;function pu(e){var t=uu.call(e,oo),n=e[oo];try{e[oo]=void 0;var o=!0}catch(s){}var r=cu.call(e);if(o)if(t)e[oo]=n;else delete e[oo];return r}yi.exports=pu});var Si=L(function(sm,bi){var fu=Object.prototype,mu=fu.toString;function gu(e){return mu.call(e)}bi.exports=gu});var Ii=L(function(im,Fi){var Ci=tr(),hu=xi(),wu=Si(),yu="[object Null]",xu="[object Undefined]",Ri=Ci?Ci.toStringTag:void 0;function bu(e){if(e==null)return e===void 0?xu:yu;return Ri&&Ri in Object(e)?hu(e):wu(e)}Fi.exports=bu});var _i=L(function(am,Ei){function Su(e){return e!=null&&typeof e=="object"}Ei.exports=Su});var Ni=L(function(lm,Mi){var Cu=Ii(),Ru=_i(),Fu="[object Symbol]";function Iu(e){return typeof e=="symbol"||Ru(e)&&Cu(e)==Fu}Mi.exports=Iu});var Oi=L(function(dm,Di){var Eu=gi(),Pi=mo(),_u=Ni(),Ai=NaN,Mu=/^[-+]0x[0-9a-f]+$/i,Tu=/^0b[01]+$/i,Nu=/^0o[0-7]+$/i,ku=parseInt;function Pu(e){if(typeof e=="number")return e;if(_u(e))return Ai;if(Pi(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=Pi(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=Eu(e);var n=Tu.test(e);return n||Nu.test(e)?ku(e.slice(2),n?2:8):Mu.test(e)?Ai:+e}Di.exports=Pu});var Li=L(function(um,zi){var Du=mo(),nr=ai(),$i=Oi(),Ou="Expected a function",{max:$u,min:zu}=Math;function Lu(e,t,n){var o,r,s,i,l,d,u=0,c=!1,m=!1,p=!0;if(typeof e!="function")throw TypeError(Ou);if(t=$i(t)||0,Du(n))c=!!n.leading,m="maxWait"in n,s=m?$u($i(n.maxWait)||0,t):s,p="trailing"in n?!!n.trailing:p;function f(V){var W=o,D=r;return o=r=void 0,u=V,i=e.apply(D,W),i}function h(V){return u=V,l=setTimeout(I,t),c?f(V):i}function v(V){var W=V-d,D=V-u,ye=t-W;return m?zu(ye,s-D):ye}function y(V){var W=V-d,D=V-u;return d===void 0||W>=t||W<0||m&&D>=s}function I(){var V=nr();if(y(V))return E(V);l=setTimeout(I,v(V))}function E(V){if(l=void 0,p&&o)return f(V);return o=r=void 0,i}function T(){if(l!==void 0)clearTimeout(l);u=0,o=d=r=l=void 0}function N(){return l===void 0?i:E(nr())}function A(){var V=nr(),W=y(V);if(o=arguments,r=this,d=V,W){if(l===void 0)return h(d);if(m)return clearTimeout(l),l=setTimeout(I,t),f(d)}if(l===void 0)l=setTimeout(I,t);return i}return A.cancel=T,A.flush=N,A}zi.exports=Lu});var ji=L(function(cm,Ui){var Uu=Li(),ju=mo(),Vu="Expected a function";function qu(e,t,n){var o=!0,r=!0;if(typeof e!="function")throw TypeError(Vu);if(ju(n))o="leading"in n?!!n.leading:o,r="trailing"in n?!!n.trailing:r;return Uu(e,t,{leading:o,maxWait:t,trailing:r})}Ui.exports=qu});var qi=L(function(pm,Vi){Vi.exports=function(){var t={},n=t._fns={};t.emit=function(i,l,d,u,c,m,p){var f=o(i);if(f.length)r(i,f,[l,d,u,c,m,p])},t.on=function(i,l){if(!n[i])n[i]=[];n[i].push(l)},t.once=function(i,l){function d(){l.apply(this,arguments),t.off(i,d)}this.on(i,d)},t.off=function(i,l){var d=[];if(i&&l){var u=this._fns[i],c=0,m=u?u.length:0;for(c;c<m;c++)if(u[c]!==l)d.push(u[c])}d.length?this._fns[i]=d:delete this._fns[i]};function o(s){var i=n[s]?n[s]:[],l=s.indexOf(":"),d=l===-1?[s]:[s.substring(0,l),s.substring(l+1)],u=Object.keys(n),c=0,m=u.length;for(c;c<m;c++){var p=u[c];if(p==="*")i=i.concat(n[p]);if(d.length===2&&d[0]===p){i=i.concat(n[p]);break}}return i}function r(s,i,l){var d=0,u=i.length;for(d;d<u;d++){if(!i[d])break;i[d].event=s,i[d].apply(i[d],l)}}return t}});Z();var Ql=Object.defineProperty,Dt=(e,t)=>Ql(e,"name",{value:t,configurable:!0}),Ho="ContextMenu",[Zl,Hp]=Ut(Ho,[Bc]),Qt=Bc(),[ed,$s]=Zl(Ho),td=Dt((e)=>{let{__scopeContextMenu:t,children:n,onOpenChange:o,open:r,dir:s,modal:i=!0}=e,l=M(!1);if(aa){let m=M(!1);S(()=>{if(r===!0&&!l.current&&!m.current)m.current=!0,console.warn("ContextMenu: The `open` prop has been set to `true` before the user has interacted with the trigger, so its position is indeterminate. This is likely unintended and will result in the menu being anchored to the top-left corner of the viewport.")},[r])}let[d,u]=er({prop:r,defaultProp:!1,onChange:o,caller:Ho}),c=Qt(t);return a(ed,{scope:t,open:d,onOpenChange:u,modal:i,hasInteractedRef:l,children:a(Qf,{...c,dir:s,open:d,onOpenChange:u,modal:i,children:n})})},"ContextMenu"),nd="ContextMenuTrigger",od=J(Dt(function(t,n){let{__scopeContextMenu:o,disabled:r=!1,...s}=t,i=$s(nd,o),l=Qt(o),[d,u]=w({x:0,y:0}),c=G(()=>({current:{getBoundingClientRect:Dt(()=>DOMRect.fromRect({width:0,height:0,...d}),"getBoundingClientRect")}}),[d]),m=M(0),p=Q(()=>window.clearTimeout(m.current),[]),f=Dt((h)=>{i.hasInteractedRef.current=!0,u({x:h.clientX,y:h.clientY}),i.onOpenChange(!0)},"handleOpen");return S(()=>p,[p]),S(()=>void(r&&p()),[r,p]),g(Y,{children:[a(Gf,{...l,virtualRef:c}),a(we.span,{"data-state":i.open?"open":"closed","data-disabled":r?"":void 0,...s,ref:n,style:{WebkitTouchCallout:"none",...t.style},onContextMenu:r?t.onContextMenu:pe(t.onContextMenu,(h)=>{p(),f(h),h.preventDefault()}),onPointerDown:r?t.onPointerDown:pe(t.onPointerDown,Qn((h)=>{if(p(),i.open)i.onOpenChange(!1);m.current=window.setTimeout(()=>f(h),700)})),onPointerMove:r?t.onPointerMove:pe(t.onPointerMove,Qn(p)),onPointerCancel:r?t.onPointerCancel:pe(t.onPointerCancel,Qn(p)),onPointerUp:r?t.onPointerUp:pe(t.onPointerUp,Qn(p))})]})},"ContextMenuTrigger")),rd=Dt((e)=>{let{__scopeContextMenu:t,...n}=e,o=Qt(t);return a(Vf,{...o,...n})},"ContextMenuPortal"),sd="ContextMenuContent",id=J(Dt(function(t,n){let{__scopeContextMenu:o,...r}=t,s=$s(sd,o),i=Qt(o),l=M(!1);return a(Kf,{...i,...r,ref:n,side:"right",sideOffset:2,align:"start",onCloseAutoFocus:(d)=>{if(t.onCloseAutoFocus?.(d),!d.defaultPrevented&&l.current)d.preventDefault();l.current=!1},onInteractOutside:(d)=>{if(t.onInteractOutside?.(d),!d.defaultPrevented&&!s.modal)l.current=!0},style:{...t.style,...{"--radix-context-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-context-menu-content-available-width":"var(--radix-popper-available-width)","--radix-context-menu-content-available-height":"var(--radix-popper-available-height)","--radix-context-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-context-menu-trigger-height":"var(--radix-popper-anchor-height)"}}})},"ContextMenuContent"));var ad=J(Dt(function(t,n){let{__scopeContextMenu:o,...r}=t,s=Qt(o);return a(Wf,{...s,...r,ref:n})},"ContextMenuItem"));var ld=J(Dt(function(t,n){let{__scopeContextMenu:o,...r}=t,s=Qt(o);return a(Jf,{...s,...r,ref:n})},"ContextMenuSeparator"));var dd="ContextMenuSub",ud=Dt((e)=>{let{__scopeContextMenu:t,children:n,onOpenChange:o,open:r,defaultOpen:s}=e,i=Qt(t),[l,d]=er({prop:r,defaultProp:s??!1,onChange:o,caller:dd});return a(Yf,{...i,open:l,onOpenChange:d,children:n})},"ContextMenuSub"),cd=J(Dt(function(t,n){let{__scopeContextMenu:o,...r}=t,s=Qt(o);return a(Xf,{...s,...r,ref:n})},"ContextMenuSubTrigger")),pd=J(Dt(function(t,n){let{__scopeContextMenu:o,...r}=t,s=Qt(o);return a(ep,{...s,...r,ref:n,style:{...t.style,...{"--radix-context-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-context-menu-content-available-width":"var(--radix-popper-available-width)","--radix-context-menu-content-available-height":"var(--radix-popper-available-height)","--radix-context-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-context-menu-trigger-height":"var(--radix-popper-anchor-height)"}}})},"ContextMenuSubContent"));function Qn(e){return(t)=>t.pointerType!=="mouse"?e(t):void 0}Dt(Qn,"whenTouchOrPen");var fd=td,vd=od,zs=rd,wd=id;var yd=ad;var xd=ld;var bd=ud,Fd=cd,Ed=pd;var Md=[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]],po=z("layers",Md);var Nd=[["path",{d:"m3 16 4 4 4-4",key:"1co6wj"}],["path",{d:"M7 20V4",key:"1yoxec"}],["path",{d:"m21 8-4-4-4 4",key:"1c9v7m"}],["path",{d:"M17 4v16",key:"7dpous"}]],Zd=z("arrow-down-up",Nd);var Pd=[["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"M9 13h6",key:"1uhe8q"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]],Bd=z("folder-plus",Pd);var Ad=[["path",{d:"M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719",key:"1sd12s"}],["path",{d:"M8 12h.01",key:"czm47f"}],["path",{d:"M12 12h.01",key:"1mp3jc"}],["path",{d:"M16 12h.01",key:"1l6xoz"}]],Ls=z("message-circle-more",Ad);class Us extends Error{cause;isNetworkError;request;constructor(e,t=null){super("This looks like a network error, the endpoint might be blocked by an internet provider or a firewall.");this.cause=e,this.isNetworkError=!0,this.request=t}}var Sn=Us;class js{#n;#e=!1;#t;#o;constructor(e,t){this.#o=e,this.#t=()=>t(e)}progress(){if(this.#e)return;if(this.#o>0)clearTimeout(this.#n),this.#n=setTimeout(this.#t,this.#o)}done(){if(!this.#e)clearTimeout(this.#n),this.#n=void 0,this.#e=!0}}var Vs=js;var fo=()=>{};function Zn(e,t={}){let{body:n=null,headers:o={},method:r="GET",onBeforeRequest:s=fo,onUploadProgress:i=fo,shouldRetry:l=()=>!0,onAfterResponse:d=fo,onTimeout:u=fo,responseType:c,retries:m=3,signal:p=null,timeout:f=30000,withCredentials:h=!1}=t,v=(E)=>0.3*2**(E-1)*1000,y=new Vs(f,u);function I(E=0){return new Promise(async(T,N)=>{let A=new XMLHttpRequest,V=(D)=>{if(l(A)&&E<m)setTimeout(()=>{I(E+1).then(T,N)},v(E));else y.done(),N(D)};if(A.open(r,e,!0),A.withCredentials=h,c)A.responseType=c;if(A.onload=async()=>{try{await d(A,E)}catch(D){D.request=A,V(D);return}if(A.status>=200&&A.status<300)y.done(),T(A);else if(l(A)&&E<m)setTimeout(()=>{I(E+1).then(T,N)},v(E));else y.done(),N(new Sn(A.statusText,A))},A.onerror=()=>V(new Sn(A.statusText,A)),A.upload.onprogress=(D)=>{y.progress(),i(D)},o)Object.keys(o).forEach((D)=>{A.setRequestHeader(D,o[D])});function W(){A.abort(),N(new DOMException("Aborted","AbortError"))}if(p?.addEventListener("abort",W),p?.aborted){W();return}await s(A,E),A.send(n)})}return I()}var Dd=(e)=>("error"in e)&&!!e.error,Od=(e)=>e.progress.uploadComplete;function eo(e){return e.filter((t)=>!Dd(t)&&!Od(t))}function to(e){return e.filter((t)=>!t.progress?.uploadStarted||!t.isRestored)}function Cn(e){let t=e.lastIndexOf(".");if(t===-1||t===e.length-1)return{name:e,extension:void 0};return{name:e.slice(0,t),extension:e.slice(t+1)}}var Go={__proto__:null,md:"text/markdown",markdown:"text/markdown",mp4:"video/mp4",mp3:"audio/mp3",svg:"image/svg+xml",jpg:"image/jpeg",png:"image/png",webp:"image/webp",gif:"image/gif",heic:"image/heic",heif:"image/heif",yaml:"text/yaml",yml:"text/yaml",csv:"text/csv",tsv:"text/tab-separated-values",tab:"text/tab-separated-values",avi:"video/x-msvideo",mks:"video/x-matroska",mkv:"video/x-matroska",mov:"video/quicktime",dicom:"application/dicom",doc:"application/msword",msg:"application/vnd.ms-outlook",docm:"application/vnd.ms-word.document.macroenabled.12",docx:"application/vnd.openxmlformats-officedocument.wordprocessingml.document",dot:"application/msword",dotm:"application/vnd.ms-word.template.macroenabled.12",dotx:"application/vnd.openxmlformats-officedocument.wordprocessingml.template",xla:"application/vnd.ms-excel",xlam:"application/vnd.ms-excel.addin.macroenabled.12",xlc:"application/vnd.ms-excel",xlf:"application/x-xliff+xml",xlm:"application/vnd.ms-excel",xls:"application/vnd.ms-excel",xlsb:"application/vnd.ms-excel.sheet.binary.macroenabled.12",xlsm:"application/vnd.ms-excel.sheet.macroenabled.12",xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",xlt:"application/vnd.ms-excel",xltm:"application/vnd.ms-excel.template.macroenabled.12",xltx:"application/vnd.openxmlformats-officedocument.spreadsheetml.template",xlw:"application/vnd.ms-excel",txt:"text/plain",text:"text/plain",conf:"text/plain",log:"text/plain",pdf:"application/pdf",zip:"application/zip","7z":"application/x-7z-compressed",rar:"application/x-rar-compressed",tar:"application/x-tar",gz:"application/gzip",dmg:"application/x-apple-diskimage"};function In(e){if(e.type)return e.type;let t=e.name?Cn(e.name).extension?.toLowerCase():null;if(t&&t in Go)return Go[t];return"application/octet-stream"}function $d(e){return e.charCodeAt(0).toString(32)}function qs(e){let t="";return e.replace(/[^A-Z0-9]/gi,(n)=>(t+=`-${$d(n)}`,"/"))+t}function Wo(e,t){let n=t||"uppy";if(typeof e.name==="string")n+=`-${qs(e.name.toLowerCase())}`;if(e.type!==void 0)n+=`-${e.type}`;if(e.meta&&typeof e.meta.relativePath==="string")n+=`-${qs(e.meta.relativePath.toLowerCase())}`;if(e.data?.size!==void 0)n+=`-${e.data.size}`;if(e.data.lastModified!==void 0)n+=`-${e.data.lastModified}`;return n}function Ld(e){if(!e.isRemote||!e.remote)return!1;return new Set(["box","dropbox","drive","facebook","unsplash"]).has(e.remote.provider)}function Ko(e,t){if(Ld(e))return e.id;let n=In(e);return Wo({...e,type:n},t)}function un(e,t){if(e===!0)return Object.keys(t);if(Array.isArray(e))return e;return[]}function Xo(e){return e<10?`0${e}`:e.toString()}function pn(){let e=new Date,t=Xo(e.getHours()),n=Xo(e.getMinutes()),o=Xo(e.getSeconds());return`${t}:${n}:${o}`}function jd(e){if(!e)return!1;return e.readyState===4&&e.status===0}var Qo=jd;class En{#n=[];#e=0;#t;#o=!1;constructor(e){let t=e?.concurrency;this.#t=typeof t!=="number"||t===0?1/0:t}add(e){let t=new AbortController,n,o,r=new Promise((i,l)=>{n=i,o=l}),s={run:()=>e(t.signal),resolve:n,reject:o,controller:t};if(t.signal.addEventListener("abort",()=>{let i=this.#n.indexOf(s);if(i!==-1)this.#n.splice(i,1),o(t.signal.reason??new DOMException("Aborted","AbortError"))},{once:!0}),r.abort=(i)=>{t.abort(i??new DOMException("Aborted","AbortError"))},r.abortOn=(i)=>{if(i){let l=()=>r.abort(i.reason);i.addEventListener("abort",l,{once:!0}),r.then(()=>i.removeEventListener("abort",l),()=>i.removeEventListener("abort",l))}return r},!this.#o&&this.#e<this.#t)this.#s(s);else this.#n.push(s);return r}#s(e){if(this.#e++,e.controller.signal.aborted){this.#e--,e.reject(e.controller.signal.reason??new DOMException("Aborted","AbortError")),this.#r();return}let t;try{t=e.run()}catch(n){t=Promise.reject(n)}t.then((n)=>{if(e.controller.signal.aborted)e.reject(e.controller.signal.reason??new DOMException("Aborted","AbortError"));else e.resolve(n)},(n)=>{e.reject(n)}).finally(()=>{this.#e--,this.#r()})}#r(){queueMicrotask(()=>{if(this.#o||this.#e>=this.#t)return;while(this.#n.length>0){let e=this.#n.shift();if(e.controller.signal.aborted)continue;this.#s(e);return}})}pause(){this.#o=!0}resume(){this.#o=!1;let e=this.#t-this.#e;for(let t=0;t<e;t++)this.#r()}clear(e){let t=this.#n.splice(0),n=e??new DOMException("Cleared","AbortError");for(let o of t)o.controller.abort(n),o.reject(n)}get concurrency(){return this.#t}set concurrency(e){if(this.#t=typeof e!=="number"||e===0?1/0:e,!this.#o){let t=this.#t-this.#e;for(let n=0;n<t;n++)this.#r()}}get pending(){return this.#n.length}get running(){return this.#e}get isPaused(){return this.#o}wrapPromiseFunction(e){return(...t)=>this.add((n)=>e(...t))}}function Vd(e,t,n){let o=[];return e.forEach((r)=>{if(typeof r!=="string"){o.push(r);return}t[Symbol.split](r).forEach((s,i,l)=>{if(s!=="")o.push(s);if(i<l.length-1)o.push(n)})}),o}function Bs(e,t){let n=/\$/g,o="$$$$",r=[e];if(t==null)return r;for(let s of Object.keys(t))if(s!=="_"){let i=t[s];if(typeof i==="string")i=n[Symbol.replace](i,"$$$$");r=Vd(r,new RegExp(`%\\{${s}\\}`,"g"),i)}return r}var Hd=(e)=>{throw Error(`missing string: ${e}`)};class fn{locale;constructor(e,{onMissingKey:t=Hd}={}){if(this.locale={strings:{},pluralize(n){if(n===1)return 0;return 1}},Array.isArray(e))e.forEach(this.#e,this);else this.#e(e);this.#n=t}#n;#e(e){if(!e?.strings)return;let t=this.locale;Object.assign(this.locale,{strings:{...t.strings,...e.strings},pluralize:e.pluralize||t.pluralize})}translate(e,t){return this.translateArray(e,t).join("")}translateArray(e,t){let n=this.locale.strings[e];if(n==null)this.#n(e),n=e;if(typeof n==="object"){if(t&&typeof t.smart_count<"u"){let r=this.locale.pluralize(t.smart_count);return Bs(n[r],t)}throw Error("Attempted to use a string with plural forms, but no value was given for %{smart_count}")}if(typeof n!=="string")throw Error("string was not a string");return Bs(n,t)}}class mn{uppy;opts;id;defaultLocale;i18n;i18nArray;type;VERSION;constructor(e,t){this.uppy=e,this.opts=t??{}}getPluginState(){let{plugins:e}=this.uppy.getState();return e?.[this.id]||{}}setPluginState(e){let{plugins:t}=this.uppy.getState();this.uppy.setState({plugins:{...t,[this.id]:{...t[this.id],...e}}})}setOptions(e){this.opts={...this.opts,...e},this.setPluginState(void 0),this.i18nInit()}i18nInit(){let e=new fn([this.defaultLocale,this.uppy.locale,this.opts.locale]);this.i18n=e.translate.bind(e),this.i18nArray=e.translateArray.bind(e),this.setPluginState(void 0)}addTarget(e){throw Error("Extend the addTarget method to add your plugin to another plugin's target")}install(){}uninstall(){}update(e){}afterUpdate(){}}class gn{#n;#e=[];constructor(e){this.#n=e}on(e,t){return this.#e.push([e,t]),this.#n.on(e,t)}remove(){for(let[e,t]of this.#e.splice(0))this.#n.off(e,t)}onFilePause(e,t){this.on("upload-pause",(n,o)=>{if(e===n?.id)t(o)})}onFileRemove(e,t){this.on("file-removed",(n)=>{if(e===n.id)t(n.id)})}onPause(e,t){this.on("upload-pause",(n,o)=>{if(e===n?.id)t(o)})}onRetry(e,t){this.on("upload-retry",(n)=>{if(e===n?.id)t()})}onRetryAll(e,t){this.on("retry-all",()=>{if(!this.#n.getFile(e))return;t()})}onPauseAll(e,t){this.on("pause-all",()=>{if(!this.#n.getFile(e))return;t()})}onCancelAll(e,t){this.on("cancel-all",(...n)=>{if(!this.#n.getFile(e))return;t(...n)})}onResumeAll(e,t){this.on("resume-all",()=>{if(!this.#n.getFile(e))return;t()})}}var Hs={debug:()=>{},warn:()=>{},error:(...e)=>console.error(`[Uppy] [${pn()}]`,...e)},Gs={debug:(...e)=>console.debug(`[Uppy] [${pn()}]`,...e),warn:(...e)=>console.warn(`[Uppy] [${pn()}]`,...e),error:(...e)=>console.error(`[Uppy] [${pn()}]`,...e)};var Yo=["B","KB","MB","GB","TB","PB","EB","ZB","YB"];function no(e,t){if(typeof e!=="number"||Number.isNaN(e))throw TypeError(`Expected a number, got ${typeof e}`);let n=e<0,o=Math.abs(e);if(n)o=-o;if(o===0)return"0 B";let r=t?Yo.indexOf(t):Math.min(Math.floor(Math.log(o)/Math.log(1024)),Yo.length-1),s=Number(o/1024**r),i=Yo[r];if(r>=3)return s%1===0?`${Math.round(s)} ${i}`:`${s.toFixed(2)} ${i}`;return`${s>=10||s%1===0?Math.round(s):s.toFixed(1)} ${i}`}var Js=se(Ys(),1),Zs={maxFileSize:null,minFileSize:null,maxTotalFileSize:null,maxNumberOfFiles:null,minNumberOfFiles:null,allowedFileTypes:null,requiredMetaFields:[]};class It extends Error{isUserFacing;file;constructor(e,t){super(e);if(this.isUserFacing=t?.isUserFacing??!0,t?.file)this.file=t.file}isRestriction=!0}class Jo{getI18n;getOpts;constructor(e,t){this.getI18n=t,this.getOpts=()=>{let n=e();if(n.restrictions?.allowedFileTypes!=null&&!Array.isArray(n.restrictions.allowedFileTypes))throw TypeError("`restrictions.allowedFileTypes` must be an array");return n}}validateAggregateRestrictions(e,t){let{maxTotalFileSize:n,maxNumberOfFiles:o}=this.getOpts().restrictions;if(o){if(e.filter((s)=>!s.isGhost).length+t.length>o)throw new It(`${this.getI18n()("youCanOnlyUploadX",{smart_count:o})}`)}if(n){let r=[...e,...t].reduce((s,i)=>s+(i.size??0),0);if(r>n)throw new It(this.getI18n()("aggregateExceedsSize",{sizeAllowed:no(n),size:no(r)}))}}validateSingleFile(e){let{maxFileSize:t,minFileSize:n,allowedFileTypes:o}=this.getOpts().restrictions;if(o){if(!o.some((s)=>{if(s.includes("/")){if(!e.type)return!1;return Js.default(e.type.replace(/;.*?$/,""),s)}if(s[0]==="."&&e.extension)return e.extension.toLowerCase()===s.slice(1).toLowerCase();return!1})){let s=o.join(", ");throw new It(this.getI18n()("youCanOnlyUploadFileTypes",{types:s}),{file:e})}}if(t&&e.size!=null&&e.size>t)throw new It(this.getI18n()("exceedsSize",{size:no(t),file:e.name??this.getI18n()("unnamed")}),{file:e});if(n&&e.size!=null&&e.size<n)throw new It(this.getI18n()("inferiorSize",{size:no(n)}),{file:e})}validate(e,t){t.forEach((n)=>{this.validateSingleFile(n)}),this.validateAggregateRestrictions(e,t)}validateMinNumberOfFiles(e){let{minNumberOfFiles:t}=this.getOpts().restrictions;if(t&&Object.keys(e).length<t)throw new It(this.getI18n()("youHaveToAtLeastSelectX",{smart_count:t}))}getMissingRequiredMetaFields(e){let t=new It(this.getI18n()("missingRequiredMetaFieldOnFile",{fileName:e.name??this.getI18n()("unnamed")})),{requiredMetaFields:n}=this.getOpts().restrictions,o=[];for(let r of n)if(!Object.hasOwn(e.meta,r)||e.meta[r]==="")o.push(r);return{missingFields:o,error:t}}}var Ki=se(ji(),1),Xi=se(qi(),1);var Bu="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var Bi=(e=21)=>{let t="",n=e|0;while(n-- >0)t+=Bu[Math.random()*64|0];return t};var go={name:"@uppy/core",description:"Core module for the extensible JavaScript file upload widget with support for drag&drop, resumable uploads, previews, restrictions, file processing/encoding, remote providers like Dropbox, Google Drive, S3 and more :dog:",version:"6.0.0",license:"MIT",style:"dist/style.min.css",type:"module",sideEffects:["*.css"],scripts:{build:"tsc --build tsconfig.build.json","build:css":"sass --load-path=../../ src/style.scss dist/style.css && sass --load-path=../../ src/provider-views/style.scss dist/provider-views.css && postcss dist/style.css -u cssnano -o dist/style.min.css && postcss dist/provider-views.css -u cssnano -o dist/provider-views.min.css",typecheck:"tsc --build",test:"vitest run --silent='passed-only'"},keywords:["file uploader","uppy","uppy-plugin"],homepage:"https://uppy.io",bugs:{url:"https://github.com/transloadit/uppy/issues"},repository:{type:"git",url:"git+https://github.com/transloadit/uppy.git"},files:["src","lib","dist","CHANGELOG.md"],exports:{".":"./lib/index.js","./css/style.min.css":"./dist/style.min.css","./css/style.css":"./dist/style.css","./css/style.scss":"./src/style.scss","./store-default":"./lib/store/index.js","./utils":"./lib/utils/index.js","./utils/preact":"./lib/utils/preact/index.js","./utils/preact/hooks":"./lib/utils/preact/hooks.js","./companion-client":"./lib/companion-client/index.js","./provider-views":"./lib/provider-views/index.js","./provider-views/css/style.min.css":"./dist/provider-views.min.css","./provider-views/css/style.css":"./dist/provider-views.css","./provider-views/css/style.scss":"./src/provider-views/style.scss","./package.json":"./package.json"},dependencies:{"@transloadit/prettier-bytes":"^2.0.0",classnames:"^2.5.1",lodash:"^4.18.1","mime-match":"^1.0.2","namespace-emitter":"^2.0.1",nanoid:"^5.1.11","p-queue":"^9.3.3","p-retry":"^6.1.0",preact:"^10.29.2"},devDependencies:{"@types/deep-freeze":"^0","@types/gapi":"^0.0.47","@types/google.accounts":"^0.0.18","@types/google.picker":"^0.0.52","@types/lodash":"^4.14.199","@types/mime-match":"^1.0.0","@types/namespace-emitter":"^2.0.0","@types/node":"^22.20.1","@vitest/browser-playwright":"^4.1.6",cssnano:"^8.0.1","deep-freeze":"^0.0.1",playwright:"1.61.1",postcss:"^8.5.23","postcss-cli":"^11.0.1",sass:"^1.89.2",typescript:"^6.0.3",vite:"^8.1.5",vitest:"^4.1.6"}};function or(e,t){if(t.name)return t.name;if(e.split("/")[0]==="image")return`${e.split("/")[0]}.${e.split("/")[1]}`;return"noname"}var Hi={strings:{addBulkFilesFailed:{0:"Failed to add %{smart_count} file due to an internal error",1:"Failed to add %{smart_count} files due to internal errors"},youCanOnlyUploadX:{0:"You can only upload %{smart_count} file",1:"You can only upload %{smart_count} files"},youHaveToAtLeastSelectX:{0:"You have to select at least %{smart_count} file",1:"You have to select at least %{smart_count} files"},aggregateExceedsSize:"You selected %{size} of files, but maximum allowed size is %{sizeAllowed}",exceedsSize:"%{file} exceeds maximum allowed size of %{size}",missingRequiredMetaField:"Missing required meta fields",missingRequiredMetaFieldOnFile:"Missing required meta fields in %{fileName}",inferiorSize:"This file is smaller than the allowed size of %{size}",youCanOnlyUploadFileTypes:"You can only upload: %{types}",noMoreFilesAllowed:"Cannot add more files",noDuplicates:"Cannot add the duplicate file '%{fileName}', it already exists",companionError:"Connection with Companion failed",authAborted:"Authentication aborted",companionUnauthorizeHint:"To unauthorize to your %{provider} account, please go to %{url}",failedToUpload:"Failed to upload %{file}",noInternetConnection:"No Internet connection",connectedToInternet:"Connected to the Internet",noFilesFound:"You have no files or folders here",noSearchResults:"Unfortunately, there are no results for this search",selectX:{0:"Select %{smart_count}",1:"Select %{smart_count}"},allFilesFromFolderNamed:"All files from folder %{name}",openFolderNamed:"Open folder %{name}",cancel:"Cancel",logOut:"Log out",logIn:"Log in",pickFiles:"Pick files",pickPhotos:"Pick photos",filter:"Filter",resetFilter:"Reset filter",loading:"Loading...",loadedXFiles:"Loaded %{numFiles} files",authenticateWithTitle:"Please authenticate with %{pluginName} to select files",authenticateWith:"Connect to %{pluginName}",signInWithGoogle:"Sign in with Google",searchImages:"Search for images",enterTextToSearch:"Enter text to search for images",search:"Search",resetSearch:"Reset search",emptyFolderAdded:"No files were added from empty folder",addedNumFiles:"Added %{numFiles} file(s)",folderAlreadyAdded:'The folder "%{folder}" was already added',folderAdded:{0:"Added %{smart_count} file from %{folder}",1:"Added %{smart_count} files from %{folder}"},additionalRestrictionsFailed:"%{count} additional restrictions were not fulfilled",unnamed:"Unnamed",pleaseWait:"Please wait"}};class Gi{static VERSION=go.version;state={};#n=new Set;getState(){return this.state}setState(e){let t={...this.state},n={...this.state,...e};this.state=n,this.#e(t,n,e)}subscribe(e){return this.#n.add(e),()=>{this.#n.delete(e)}}#e(...e){this.#n.forEach((t)=>{t(...e)})}}var Wi=Gi;function sr(e){if(e==null&&typeof navigator<"u")e=navigator.userAgent;if(!e)return!0;let t=/Edge\/(\d+\.\d+)/.exec(e);if(!t)return!0;let o=t[1].split(".",2),r=parseInt(o[0],10),s=parseInt(o[1],10);if(r<15||r===15&&s<15063)return!0;if(r>18||r===18&&s>=18218)return!0;return!1}var ho={totalProgress:0,allowNewUpload:!0,error:null,recoveredState:null};class ir{static VERSION=go.version;#n=Object.create(null);#e;#t;#o=Xi.default();#s=new Set;#r=new Set;#a=new Set;defaultLocale;locale;opts;store;i18n;i18nArray;scheduledAutoProceed=null;wasOffline=!1;constructor(e){this.defaultLocale=Hi;let t={id:"uppy",autoProceed:!1,allowMultipleUploadBatches:!0,debug:!1,restrictions:Zs,meta:{},onBeforeFileAdded:(o,r)=>!Object.hasOwn(r,o.id),onBeforeUpload:(o)=>o,store:new Wi,logger:Hs,infoTimeout:5000},n={...t,...e};if(this.opts={...n,restrictions:{...t.restrictions,...e?.restrictions}},e?.logger&&e.debug)this.log("You are using a custom `logger`, but also set `debug: true`, which uses built-in logger to output logs to console. Ignoring `debug: true` and using your custom `logger`.","warning");else if(e?.debug)this.opts.logger=Gs;if(this.log(`Using Core v${ir.VERSION}`),this.i18nInit(),this.store=this.opts.store,this.setState({...ho,plugins:{},files:{},currentUploads:{},capabilities:{uploadProgress:sr(),individualCancellation:!0,resumableUploads:!1},meta:{...this.opts.meta},info:[]}),this.#e=new Jo(()=>this.opts,()=>this.i18n),this.#t=this.store.subscribe((o,r,s)=>{this.emit("state-update",o,r,s),this.updateAll(r)}),this.opts.debug&&typeof window<"u")window[this.opts.id]=this;this.#F()}emit(e,...t){this.#o.emit(e,...t)}on(e,t){return this.#o.on(e,t),this}once(e,t){return this.#o.once(e,t),this}off(e,t){return this.#o.off(e,t),this}updateAll(e){this.iteratePlugins((t)=>{t.update(e)})}setState(e){this.store.setState(e)}getState(){return this.store.getState()}patchFilesState(e){let t=this.getState().files;this.setState({files:{...t,...Object.fromEntries(Object.entries(e).map(([n,o])=>[n,{...t[n],...o}]))}})}setFileState(e,t){if(!this.getState().files[e])throw Error(`Can’t set state for ${e} (the file could have been removed)`);this.patchFilesState({[e]:t})}i18nInit(){let e=(n)=>this.log(`Missing i18n string: ${n}`,"error"),t=new fn([this.defaultLocale,this.opts.locale],{onMissingKey:e});this.i18n=t.translate.bind(t),this.i18nArray=t.translateArray.bind(t),this.locale=t.locale}setOptions(e){if(this.opts={...this.opts,...e,restrictions:{...this.opts.restrictions,...e?.restrictions}},e.meta)this.setMeta(e.meta);if(this.i18nInit(),e.locale)this.iteratePlugins((t)=>{t.setOptions(e)});this.setState(void 0)}resetProgress(){let e={percentage:0,bytesUploaded:!1,uploadComplete:!1,uploadStarted:null},t={...this.getState().files},n=Object.create(null);Object.keys(t).forEach((o)=>{n[o]={...t[o],progress:{...t[o].progress,...e},tus:void 0,transloadit:void 0,s3Multipart:void 0}}),this.setState({files:n,...ho})}clear(){let{capabilities:e,currentUploads:t}=this.getState();if(Object.keys(t).length>0&&!e.individualCancellation)throw Error("The installed uploader plugin does not allow removing files during an upload.");this.setState({...ho,files:{}})}addPreProcessor(e){this.#s.add(e)}removePreProcessor(e){return this.#s.delete(e)}addPostProcessor(e){this.#a.add(e)}removePostProcessor(e){return this.#a.delete(e)}addUploader(e){this.#r.add(e)}removeUploader(e){return this.#r.delete(e)}setMeta(e){let t={...this.getState().meta,...e},n={...this.getState().files};Object.keys(n).forEach((o)=>{n[o]={...n[o],meta:{...n[o].meta,...e}}}),this.log("Adding metadata:"),this.log(e),this.setState({meta:t,files:n})}setFileMeta(e,t){let n={...this.getState().files};if(!n[e]){this.log(`Was trying to set metadata for a file that has been removed: ${e}`);return}let o={...n[e].meta,...t};n[e]={...n[e],meta:o},this.setState({files:n})}getFile(e){return this.getState().files[e]}getFiles(){let{files:e}=this.getState();return Object.values(e)}getFilesByIds(e){return e.map((t)=>this.getFile(t))}getObjectOfFilesPerState(){let{files:e,totalProgress:t,error:n}=this.getState(),o=Object.values(e),r=[],s=[],i=[],l=[],d=[],u=[],c=[],m=[],p=[];for(let f of o){let{progress:h}=f;if(!h.uploadComplete&&h.uploadStarted){if(r.push(f),!f.isPaused)m.push(f)}if(!h.uploadStarted)s.push(f);if(h.uploadStarted||h.preprocess||h.postprocess)i.push(f);if(h.uploadStarted)l.push(f);if(f.isPaused)d.push(f);if(h.uploadComplete)u.push(f);if(f.error)c.push(f);if(h.preprocess||h.postprocess)p.push(f)}return{newFiles:s,startedFiles:i,uploadStartedFiles:l,pausedFiles:d,completeFiles:u,erroredFiles:c,inProgressFiles:r,inProgressNotPausedFiles:m,processingFiles:p,isUploadStarted:l.length>0,isAllComplete:t===100&&u.length===o.length&&p.length===0,isAllErrored:!!n&&c.length===o.length,isAllPaused:r.length!==0&&d.length===r.length,isUploadInProgress:r.length>0,isSomeGhost:o.some((f)=>f.isGhost)}}#i(e){for(let s of e){if(s.isRestriction)this.emit("restriction-failed",s.file,s);else this.emit("error",s,s.file);this.log(s,"warning")}let t=e.filter((s)=>s.isUserFacing),n=4,o=t.slice(0,n),r=t.slice(n);if(o.forEach(({message:s,details:i=""})=>{this.info({message:s,details:i},"error",this.opts.infoTimeout)}),r.length>0)this.info({message:this.i18n("additionalRestrictionsFailed",{count:r.length})})}validateRestrictions(e,t=this.getFiles()){try{this.#e.validate(t,[e])}catch(n){return n}return null}validateSingleFile(e){try{this.#e.validateSingleFile(e)}catch(t){return t.message}return null}validateAggregateRestrictions(e){let t=this.getFiles();try{this.#e.validateAggregateRestrictions(t,e)}catch(n){return n.message}return null}#l(e){let{missingFields:t,error:n}=this.#e.getMissingRequiredMetaFields(e);if(t.length>0)return this.setFileState(e.id,{missingRequiredMetaFields:t,error:n.message}),this.log(n.message),this.emit("restriction-failed",e,n),!1;if(t.length===0&&e.missingRequiredMetaFields)this.setFileState(e.id,{missingRequiredMetaFields:[]});return!0}#d(e){let t=!0;for(let n of Object.values(e))if(!this.#l(n))t=!1;return t}#u(e){let{allowNewUpload:t}=this.getState();if(t===!1){let n=new It(this.i18n("noMoreFilesAllowed"),{file:e});throw this.#i([n]),n}}checkIfFileAlreadyExists(e){let{files:t}=this.getState();if(t[e]&&!t[e].isGhost)return!0;return!1}#c(e){let t=e instanceof File?{name:e.name,type:e.type,size:e.size,data:e,meta:{},isRemote:!1,source:void 0,preview:void 0}:e,n=In(t),o=or(n,t),r=Cn(o).extension,s=Ko(t,this.getID()),i={...t.meta,name:o,type:n},l=Number.isFinite(t.data.size)?t.data.size:null;return{source:t.source||"",id:s,name:o,extension:r||"",meta:{...this.getState().meta,...i},type:n,progress:{percentage:0,bytesUploaded:!1,bytesTotal:l,uploadComplete:!1,uploadStarted:null},size:l,isGhost:!1,...t.isRemote?{isRemote:!0,remote:t.remote,data:t.data}:{isRemote:!1,data:t.data},preview:t.preview}}#p(){if(this.opts.autoProceed&&!this.scheduledAutoProceed)this.scheduledAutoProceed=setTimeout(()=>{this.scheduledAutoProceed=null,this.upload().catch((e)=>{if(!e.isRestriction)this.log(e.stack||e.message||e)})},4)}#w(e){let{files:t}=this.getState(),n={...t},o=[],r=[];for(let s of e)try{let i=this.#c(s);this.#u(i);let l=t[i.id],d=l?.isGhost;if(d&&!i.isRemote){if(i.data==null)throw Error("File data is missing");i={...l,isGhost:!1,data:i.data},this.log(`Replaced the blob in the restored ghost file: ${i.name}, ${i.id}`)}let u=this.opts.onBeforeFileAdded(i,n);if(t=this.getState().files,n={...t,...n},!u&&this.checkIfFileAlreadyExists(i.id))throw new It(this.i18n("noDuplicates",{fileName:i.name??this.i18n("unnamed")}),{file:i});if(u===!1&&!d)throw new It("Cannot add the file because onBeforeFileAdded returned false.",{isUserFacing:!1,file:i});else if(typeof u==="object"&&u!==null)i=u;this.#e.validateSingleFile(i),n[i.id]=i,o.push(i)}catch(i){r.push(i)}try{this.#e.validateAggregateRestrictions(Object.values(t),o)}catch(s){return r.push(s),{nextFilesState:t,validFilesToAdd:[],errors:r}}return{nextFilesState:n,validFilesToAdd:o,errors:r}}addFile(e){let{nextFilesState:t,validFilesToAdd:n,errors:o}=this.#w([e]),r=o.filter((i)=>i.isRestriction);if(this.#i(r),o.length>0)throw o[0];this.setState({files:t});let[s]=n;return this.emit("file-added",s),this.emit("files-added",n),this.log(`Added file: ${s.name}, ${s.id}, mime type: ${s.type}`),this.#p(),s.id}addFiles(e){let{nextFilesState:t,validFilesToAdd:n,errors:o}=this.#w(e),r=o.filter((i)=>i.isRestriction);this.#i(r);let s=o.filter((i)=>!i.isRestriction);if(s.length>0){let i=`Multiple errors occurred while adding files:
|
|
2
|
+
`;if(s.forEach((l)=>{i+=`
|
|
3
|
+
* ${l.message}`}),this.info({message:this.i18n("addBulkFilesFailed",{smart_count:s.length}),details:i},"error",this.opts.infoTimeout),typeof AggregateError==="function")throw AggregateError(s,i);else{let l=Error(i);throw l.errors=s,l}}if(this.setState({files:t}),n.forEach((i)=>{this.emit("file-added",i)}),this.emit("files-added",n),n.length>5)this.log(`Added batch of ${n.length} files`);else Object.values(n).forEach((i)=>{this.log(`Added file: ${i.name}
|
|
4
|
+
id: ${i.id}
|
|
5
|
+
type: ${i.type}`)});if(n.length>0)this.#p()}removeFiles(e){let{files:t,currentUploads:n}=this.getState(),o={...t},r={...n},s=Object.create(null);e.forEach((u)=>{if(t[u])s[u]=t[u],delete o[u]});function i(u){return s[u]===void 0}Object.keys(r).forEach((u)=>{let c=n[u].fileIDs.filter(i);if(c.length===0){delete r[u];return}let{capabilities:m}=this.getState();if(c.length!==n[u].fileIDs.length&&!m.individualCancellation)throw Error("The installed uploader plugin does not allow removing files during an upload.");r[u]={...n[u],fileIDs:c}});let l={currentUploads:r,files:o};if(Object.keys(o).length===0)l.allowNewUpload=!0,l.error=null,l.recoveredState=null;this.setState(l),this.#m();let d=Object.keys(s);if(d.forEach((u)=>{this.emit("file-removed",s[u])}),d.length>5)this.log(`Removed ${d.length} files`);else this.log(`Removed files: ${d.join(", ")}`)}removeFile(e){this.removeFiles([e])}pauseResume(e){if(!this.getState().capabilities.resumableUploads||this.getFile(e).progress.uploadComplete)return;let t=this.getFile(e),o=!t.isPaused;return this.setFileState(e,{isPaused:o}),this.emit("upload-pause",t,o),o}pauseAll(){let e={...this.getState().files};Object.keys(e).filter((n)=>!e[n].progress.uploadComplete&&e[n].progress.uploadStarted).forEach((n)=>{let o={...e[n],isPaused:!0};e[n]=o}),this.setState({files:e}),this.emit("pause-all")}resumeAll(){let e={...this.getState().files};Object.keys(e).filter((n)=>!e[n].progress.uploadComplete&&e[n].progress.uploadStarted).forEach((n)=>{let o={...e[n],isPaused:!1,error:null};e[n]=o}),this.setState({files:e}),this.emit("resume-all")}#y(){let{files:e}=this.getState();return Object.keys(e).filter((t)=>{let n=e[t];return n.error&&(!n.missingRequiredMetaFields||n.missingRequiredMetaFields.length===0)})}async#g(){let e=this.#y(),t={...this.getState().files};if(e.forEach((o)=>{t[o]={...t[o],isPaused:!1,error:null}}),this.setState({files:t,error:null}),this.emit("retry-all",this.getFilesByIds(e)),e.length===0)return{successful:[],failed:[]};let n=this.#x(e,{forceAllowNewUpload:!0});return this.#b(n)}async retryAll(){let e=await this.#g();return this.emit("complete",e),e}cancelAll(){this.emit("cancel-all");let{files:e}=this.getState(),t=Object.keys(e);if(t.length)this.removeFiles(t);this.setState(ho)}retryUpload(e){this.setFileState(e,{error:null,isPaused:!1}),this.emit("upload-retry",this.getFile(e));let t=this.#x([e],{forceAllowNewUpload:!0});return this.#b(t)}logout(){this.iteratePlugins((e)=>{e.provider?.logout?.()})}#f=(e,t)=>{let n=e?this.getFile(e.id):void 0;if(e==null||!n){this.log(`Not setting progress for a file that has been removed: ${e?.id}`);return}if(n.progress.percentage===100){this.log(`Not setting progress for a file that has been already uploaded: ${e.id}`);return}let o={bytesTotal:t.bytesTotal,percentage:t.bytesTotal!=null&&Number.isFinite(t.bytesTotal)&&t.bytesTotal>0?Math.round(t.bytesUploaded/t.bytesTotal*100):void 0};if(n.progress.uploadStarted!=null)this.setFileState(e.id,{progress:{...n.progress,...o,bytesUploaded:t.bytesUploaded}});else this.setFileState(e.id,{progress:{...n.progress,...o}});this.#m()};#h(){let e=this.#R(),t=null;if(e!=null){if(t=Math.round(e*100),t>100)t=100;else if(t<0)t=0}this.emit("progress",t??0),this.setState({totalProgress:t??0})}#m=Ki.default(()=>this.#h(),500,{leading:!0,trailing:!0});[Symbol.for("uppy test: updateTotalProgress")](){return this.#h()}#R(){let t=this.getFiles().filter((l)=>l.progress.uploadStarted||l.progress.preprocess||l.progress.postprocess);if(t.length===0)return 0;if(t.every((l)=>l.progress.uploadComplete))return 1;let n=(l)=>l.progress.bytesTotal!=null&&l.progress.bytesTotal!==0,o=t.filter(n),r=t.filter((l)=>!n(l));if(o.every((l)=>l.progress.uploadComplete)&&r.length>0&&!r.every((l)=>l.progress.uploadComplete))return null;let s=o.reduce((l,d)=>l+(d.progress.bytesTotal??0),0),i=o.reduce((l,d)=>l+(d.progress.bytesUploaded||0),0);return s===0?0:i/s}#F(){let e=(o,r,s)=>{let i=o.message||"Unknown error";if(o.details)i+=` ${o.details}`;if(this.setState({error:i}),r!=null&&r.id in this.getState().files)this.setFileState(r.id,{error:i,response:s})};this.on("error",e),this.on("upload-error",(o,r,s)=>{if(e(r,o,s),typeof r==="object"&&r.message){this.log(r.message,"error");let i=Error(this.i18n("failedToUpload",{file:o?.name??""}));if(i.isUserFacing=!0,i.details=r.message,r.details)i.details+=` ${r.details}`;this.#i([i])}else this.#i([r])});let t=null;this.on("upload-stalled",(o,r)=>{let{message:s}=o,i=r.map((l)=>l.meta.name).join(", ");if(!t)this.info({message:s,details:i},"warning",this.opts.infoTimeout),t=setTimeout(()=>{t=null},this.opts.infoTimeout);this.log(`${s} ${i}`.trim(),"warning")}),this.on("upload",()=>{this.setState({error:null})});let n=(o)=>{let r=o.filter((i)=>{let l=i!=null&&this.getFile(i.id);if(!l)this.log(`Not setting progress for a file that has been removed: ${i?.id}`);return l}),s=Object.fromEntries(r.map((i)=>[i.id,{progress:{uploadStarted:Date.now(),uploadComplete:!1,bytesUploaded:0,bytesTotal:i.size}}]));this.patchFilesState(s)};if(this.on("upload-start",n),this.on("upload-progress",this.#f),this.on("upload-success",(o,r)=>{if(o==null||!this.getFile(o.id)){this.log(`Not setting progress for a file that has been removed: ${o?.id}`);return}let s=this.getFile(o.id).progress,i=this.#a.size>0;if(this.setFileState(o.id,{progress:{...s,postprocess:i?{mode:"indeterminate"}:void 0,uploadComplete:!0,...!i&&{complete:!0},percentage:100,bytesUploaded:s.bytesTotal},response:r,uploadURL:r.uploadURL,isPaused:!1}),o.size==null)this.setFileState(o.id,{size:r.bytesUploaded||s.bytesTotal});this.#m()}),this.on("preprocess-progress",(o,r)=>{if(o==null||!this.getFile(o.id)){this.log(`Not setting progress for a file that has been removed: ${o?.id}`);return}this.setFileState(o.id,{progress:{...this.getFile(o.id).progress,preprocess:r}})}),this.on("preprocess-complete",(o)=>{if(o==null||!this.getFile(o.id)){this.log(`Not setting progress for a file that has been removed: ${o?.id}`);return}let r={...this.getState().files};r[o.id]={...r[o.id],progress:{...r[o.id].progress}},delete r[o.id].progress.preprocess,this.setState({files:r})}),this.on("postprocess-progress",(o,r)=>{if(o==null||!this.getFile(o.id)){this.log(`Not setting progress for a file that has been removed: ${o?.id}`);return}this.setFileState(o.id,{progress:{...this.getState().files[o.id].progress,postprocess:r}})}),this.on("postprocess-complete",(o)=>{let r=o&&this.getFile(o.id);if(r==null){this.log(`Not setting progress for a file that has been removed: ${o?.id}`);return}let{postprocess:s,...i}=r.progress;this.patchFilesState({[r.id]:{progress:{...i,complete:!0}}})}),this.on("restored",()=>{this.#m()}),this.on("dashboard:file-edit-complete",(o)=>{if(o)this.#l(o)}),typeof window<"u"&&window.addEventListener)window.addEventListener("online",this.#v),window.addEventListener("offline",this.#v),setTimeout(this.#v,3000)}updateOnlineStatus(){if(!(window.navigator.onLine??!0))this.emit("is-offline"),this.info(this.i18n("noInternetConnection"),"error",0),this.wasOffline=!0;else if(this.emit("is-online"),this.wasOffline)this.emit("back-online"),this.info(this.i18n("connectedToInternet"),"success",3000),this.wasOffline=!1}#v=this.updateOnlineStatus.bind(this);getID(){return this.opts.id}use(e,...t){if(typeof e!=="function")throw TypeError(`Expected a plugin class, but got ${e===null?"null":typeof e}. Please verify that the plugin was imported and spelled correctly.`);let n=new e(this,...t),o=n.id;if(!o)throw Error("Your plugin must have an id");if(!n.type)throw Error("Your plugin must have a type");let r=this.getPlugin(o);if(r){let s=`Already found a plugin named '${r.id}'. Tried to use: '${o}'.
|
|
6
|
+
Uppy plugins must have unique \`id\` options.`;throw Error(s)}if(e.VERSION)this.log(`Using ${o} v${e.VERSION}`);if(n.type in this.#n)this.#n[n.type].push(n);else this.#n[n.type]=[n];return n.install(),this.emit("plugin-added",n),this}getPlugin(e){for(let t of Object.values(this.#n)){let n=t.find((o)=>o.id===e);if(n!=null)return n}return}[Symbol.for("uppy test: getPlugins")](e){return this.#n[e]}iteratePlugins(e){Object.values(this.#n).flat(1).forEach(e)}removePlugin(e){if(this.log(`Removing plugin ${e.id}`),this.emit("plugin-remove",e),e.uninstall)e.uninstall();let t=this.#n[e.type],n=t.findIndex((s)=>s.id===e.id);if(n!==-1)t.splice(n,1);let r={plugins:{...this.getState().plugins,[e.id]:void 0}};this.setState(r)}destroy(){if(this.log(`Closing Uppy instance ${this.opts.id}: removing all files and uninstalling plugins`),this.cancelAll(),this.#t(),this.iteratePlugins((e)=>{this.removePlugin(e)}),typeof window<"u"&&window.removeEventListener)window.removeEventListener("online",this.#v),window.removeEventListener("offline",this.#v)}hideInfo(){let{info:e}=this.getState();this.setState({info:e.slice(1)}),this.emit("info-hidden")}info(e,t="info",n=3000){let o=typeof e==="object";this.setState({info:[...this.getState().info,{type:t,message:o?e.message:e,details:o?e.details:null}]}),setTimeout(()=>this.hideInfo(),n),this.emit("info-visible")}log(e,t){let{logger:n}=this.opts;switch(t){case"error":n.error(e);break;case"warning":n.warn(e);break;default:n.debug(e);break}}#S=new Map;registerRequestClient(e,t){this.#S.set(e,t)}getRequestClientForFile(e){if(!(("remote"in e)&&e.remote))throw Error(`Tried to get RequestClient for a non-remote file ${e.id}`);let t=this.#S.get(e.remote.requestClientId);if(t==null)throw Error(`requestClientId "${e.remote.requestClientId}" not registered for file "${e.id}"`);return t}async restore(e){this.log(`Core: Running restored upload "${e}"`);let t=await this.#b(e);return this.emit("complete",t),t}#x(e,t={}){let{forceAllowNewUpload:n=!1}=t,{allowNewUpload:o,currentUploads:r}=this.getState();if(!o&&!n)throw Error("Cannot create a new upload: already uploading.");let s=Bi();return this.emit("upload",s,this.getFilesByIds(e)),this.setState({allowNewUpload:this.opts.allowMultipleUploadBatches!==!1&&this.opts.allowMultipleUploads!==!1,currentUploads:{...r,[s]:{fileIDs:e,step:0,result:{}}}}),s}[Symbol.for("uppy test: createUpload")](...e){return this.#x(...e)}#I(e){let{currentUploads:t}=this.getState();return t[e]}addResultData(e,t){if(!this.#I(e)){this.log(`Not setting result for an upload that has been removed: ${e}`);return}let{currentUploads:n}=this.getState(),o={...n[e],result:{...n[e].result,...t}};this.setState({currentUploads:{...n,[e]:o}})}#C(e){let{[e]:t,...n}=this.getState().currentUploads;this.setState({currentUploads:n})}async#b(e){let t=()=>{let{currentUploads:s}=this.getState();return s[e]},n=t();if(!n)throw Error("Nonexistent upload");let o=[...this.#s,...this.#r,...this.#a];try{for(let s=n.step||0;s<o.length;s++){let i=o[s];this.setState({currentUploads:{...this.getState().currentUploads,[e]:{...n,step:s}}});let{fileIDs:l}=n;if(await i(l,e),n=t(),!n)break}}catch(s){throw this.#C(e),s}if(n){n.fileIDs.forEach((d)=>{let u=this.getFile(d);if(u?.progress.postprocess)this.emit("postprocess-complete",u)});let s=n.fileIDs.map((d)=>this.getFile(d)),i=s.filter((d)=>!d.error),l=s.filter((d)=>d.error);this.addResultData(e,{successful:i,failed:l,uploadID:e}),n=t()}let r;if(n)r=n.result,this.#C(e);if(r==null)this.log(`Not setting result for an upload that has been removed: ${e}`),r={successful:[],failed:[],uploadID:e};return r}async upload(){if(!this.#n.uploader?.length)this.log("No uploader type plugins are used","warning");let{files:e}=this.getState();if(this.#y().length>0){let o=await this.#g();if(!(this.getFiles().filter((s)=>s.progress.uploadStarted==null).length>0))return this.emit("complete",o),o;({files:e}=this.getState())}let n=this.opts.onBeforeUpload(e);if(n===!1)throw Error("Not starting the upload because onBeforeUpload returned false");if(n&&typeof n==="object")e=n,this.setState({files:e});try{if(this.#e.validateMinNumberOfFiles(e),!this.#d(e))throw new It(this.i18n("missingRequiredMetaField"));let{currentUploads:o}=this.getState(),r=Object.values(o).flatMap((d)=>d.fileIDs),s=Object.keys(e).filter((d)=>{let u=this.getFile(d);return u&&!u.progress.uploadStarted&&!r.includes(d)}),i=this.#x(s),l=await this.#b(i);return this.emit("complete",l),l}catch(o){throw this.#i([o]),o}}}var vo=ir;var Qi={name:"@uppy/aws-s3",description:"Upload to Amazon S3 with Uppy",version:"6.0.0",license:"MIT",type:"module",sideEffects:!1,scripts:{build:"tsc --build tsconfig.build.json",typecheck:"tsc --build",test:"vitest run --silent='passed-only'"},keywords:["file uploader","aws s3","amazon s3","s3","uppy","uppy-plugin","multipart"],homepage:"https://uppy.io",bugs:{url:"https://github.com/transloadit/uppy/issues"},repository:{type:"git",url:"git+https://github.com/transloadit/uppy.git"},files:["src","lib","dist","CHANGELOG.md"],exports:{".":"./lib/index.js","./package.json":"./package.json"},devDependencies:{"@aws-sdk/client-s3":"^3.362.0","@aws-sdk/client-sts":"^3.362.0","@aws-sdk/s3-request-presigner":"^3.362.0","@types/node":"^22.20.1","@uppy/core":"^6.0.0","@vitest/browser-playwright":"^4.1.6",playwright:"1.61.1",typescript:"^6.0.3",vitest:"^4.1.6","whatwg-fetch":"3.6.20"},peerDependencies:{"@uppy/core":"^6.0.0"}};var Wu=1048576,Yi=5*Wu,ar=1e4;class yo{#n;#e;#t;#o;#s=[];#r=[];#a=!1;#i;#l=!1;#d;constructor(e){if(e.file.data==null)throw Error(`File data is missing for file ${e.file.id}`);this.#t=e,this.#n=e.file.data,this.#o=new gn(e.uppy);let t=e.file.s3Multipart;if(t)this.#e=t.key,this.#i=t.uploadId,this.#l=!0;let n=e.file.data.size;if(this.#a=Boolean(t)||this.#t.shouldUseMultipart===!0&&n>Yi,this.#a){let r=this.#u(n);if(r=Math.max(r,Yi),Math.ceil(n/r)>ar)r=Math.ceil(n/ar);for(let s=0,i=0;s<n;s+=r,i++){let l=Math.min(s+r,n);this.#s.push({index:i,start:s,end:l,size:l-s})}}else this.#s=[{index:0,start:0,end:n,size:n}];this.#r=this.#s.map(()=>({uploaded:0}));let o=this.#t.file.id;this.#o.onFileRemove(o,()=>{this.abort(),this.#t.onAbort?.()}),this.#o.onCancelAll(o,()=>{this.abort(),this.#t.onAbort?.()}),this.#o.onFilePause(o,(r)=>{if(r)this.#c();else this.start()}),this.#o.onPauseAll(o,()=>{this.#c()}),this.#o.onResumeAll(o,()=>{this.start()}),this.#o.onRetry(o,()=>{this.start()}),this.#o.onRetryAll(o,()=>{this.start()})}#u(e){if(this.#t.getChunkSize)return this.#t.getChunkSize({size:e});return Math.ceil(e/ar)}async start(){this.#d?.abort(),this.#d=new AbortController;let e=this.#d.signal;try{let t=this.#i;if(this.#l&&t)await this.#p(t,e);else if(this.#l=!0,this.#a)await this.#y(e);else await this.#w(e)}catch(t){this.#m(t instanceof Error?t:Error(t))}}#c(){this.#d?.abort()}abort(e){if(this.#d?.abort(),this.#o.remove(),e?.abortInS3!==!1&&this.#i){if(!this.#e)throw Error("Missing S3 object key for aborting upload");this.#t.s3Client.abortMultipartUpload({key:this.#e,uploadId:this.#i}).catch((t)=>{this.#t.log?.(t,"warning")})}this.#e=void 0,this.#i=void 0,this.#l=!1}async#p(e,t){if(!this.#e)throw Error("Missing S3 object key for resuming upload");let n=await this.#t.s3Client.listParts({uploadId:e,key:this.#e,signal:t});for(let o of n){let r=o.partNumber-1;if(r>=0&&r<this.#r.length)this.#r[r].uploaded=this.#s[r].size,this.#r[r].etag=o.etag}this.#f(),await this.#g(t)}async#w(e){let{location:t,key:n}=await this.#t.s3Client.putObject({key:this.#t.key,data:this.#n,fileType:this.#t.file.type||"application/octet-stream",metadata:this.#t.metadata,onProgress:(o)=>{this.#r[0].uploaded=o,this.#f()},signal:e});this.#h({location:t,key:n})}async#y(e){let{uploadId:t,key:n}=await this.#t.s3Client.createMultipartUpload({key:this.#t.key,fileType:this.#t.file.type||"application/octet-stream",metadata:this.#t.metadata,signal:e});this.#e=n,this.#i=t,this.#t.uppy.setFileState(this.#t.file.id,{s3Multipart:{uploadId:t,key:n}}),await this.#g(e)}async#g(e){for(let r=0;r<this.#s.length;r++){if(e.throwIfAborted(),this.#r[r].etag)continue;let s=this.#s[r],i=r+1,l=this.#n.slice(s.start,s.end),d=r;if(this.#e==null)throw Error("Missing S3 object key for uploading part");let{etag:u}=await this.#t.s3Client.uploadPart({key:this.#e,uploadId:this.#i,data:l,partNumber:i,onProgress:(c)=>{this.#r[d].uploaded=c,this.#f()},signal:e});if(this.#r[r].uploaded=s.size,this.#r[r].etag=u,this.#f(),this.#t.onPartComplete)this.#t.onPartComplete({PartNumber:i,ETag:u})}let t=this.#r.flatMap((r,s)=>r.etag?[{partNumber:s+1,etag:r.etag}]:[]);if(this.#e==null)throw Error("Missing S3 object key for completing multipart upload");let{location:n,key:o}=await this.#t.s3Client.completeMultipartUpload({key:this.#e,uploadId:this.#i,parts:t,signal:e});this.#h({location:n,key:o,uploadId:this.#i})}#f(){if(!this.#t.onProgress)return;let e=this.#r.reduce((t,n)=>t+n.uploaded,0);this.#t.onProgress(e,this.#n.size)}#h(e){this.#o.remove(),this.#t.uppy.setFileState(this.#t.file.id,{s3Multipart:void 0}),this.#t.onSuccess?.(e)}#m(e){if(e.name==="AbortError")return;this.#o.remove(),this.#t.onError?.(e)}}var lr="AWS4-HMAC-SHA256",xo="aws4_request",Ji="s3",dr="UNSIGNED-PAYLOAD",_n="application/octet-stream",Zi="application/xml",ea=8388608,zt="[s3mini] ",ta="[s3mini] endpoint must be a non-empty string",na="[s3mini] endpoint must be a valid URL. Expected format: https://<host>[:port][/base-path]",oa="[s3mini] key must be a non-empty string",Mn="[s3mini] uploadId must be a non-empty string";class ra{requestAbortTimeout;constructor({requestAbortTimeout:e}){this.requestAbortTimeout=e}isOffline(){return typeof navigator<"u"&&navigator.onLine===!1}waitForOnline(e){return new Promise((t,n)=>{if(!this.isOffline()){t();return}if(typeof navigator>"u"||navigator.onLine===!0||navigator.onLine===void 0){t();return}if(e?.aborted){n(new DOMException("Upload aborted","AbortError"));return}let o=()=>{window.removeEventListener("online",r),e?.removeEventListener("abort",s)},r=()=>{o(),t()},s=()=>{o(),n(new DOMException("Upload aborted","AbortError"))};window.addEventListener("online",r),e?.addEventListener("abort",s)})}async xhr({url:e,method:t,data:n,onProgress:o,signal:r,contentType:s}){if(r?.aborted)throw new DOMException("Request aborted","AbortError");return Zn(e,{method:t,body:["GET","HEAD"].includes(t)?void 0:n,headers:s?{"Content-Type":s}:{},signal:r,timeout:this.requestAbortTimeout,retries:3,shouldRetry:(i)=>{if(this.isOffline())return!1;if(i.status>=400&&i.status<500&&i.status!==429)return!1;return!0},onUploadProgress:(i)=>{if(i.lengthComputable&&o)o(i.loaded,i.total)}})}async putObject(e){throw Error("Not implemented")}async createMultipartUpload(e){throw Error("Not implemented")}async uploadPart(e){throw Error("Not implemented")}async listParts(e){throw Error("Not implemented")}async completeMultipartUpload(e){throw Error("Not implemented")}async abortMultipartUpload(e){throw Error("Not implemented")}async deleteObject(e){throw Error("Not implemented")}}var bo=ra;var mr=(e)=>e.replace(/^("|")+|("|")+$/g,""),Tn=(e)=>e?.replace(/^"+|"+$/g,"");function la(e){let t=new URL(e);return t.search="",t.hash="",t.href}var fr=new TextEncoder,sa="0123456789abcdef",gr=(e)=>{let t=new Uint8Array(e),n="";for(let o of t)n+=sa[o>>4]+sa[o&15];return n},da=async(e)=>{let t=fr.encode(e);return await globalThis.crypto.subtle.digest("SHA-256",t)},$n=async(e,t)=>{let n=await globalThis.crypto.subtle.importKey("raw",typeof e==="string"?fr.encode(e):e,{name:"HMAC",hash:"SHA-256"},!1,["sign"]),o=fr.encode(t);return await globalThis.crypto.subtle.sign("HMAC",n,o)},Ku={""":'"',"'":"'","<":"<",">":">","&":"&"},ia=(e)=>e.replaceAll(/&(quot|apos|lt|gt|amp);/g,(t)=>Ku[t]??t),hn=(e)=>{let t=e.replace(/<\?xml[^?]*\?>\s*/,""),n=/<([A-Za-z_][\w\-.]*)[^>]*>([\s\S]*?)<\/\1>/gm,o={},r;while((r=n.exec(t))!==null){let s=r[1],i=r[2],l=i?hn(i):ia(i?.trim()||"");if(!s)continue;let d=o[s];if(d===void 0)o[s]=l;else if(Array.isArray(d))d.push(l);else o[s]=[d,l]}return Object.keys(o).length>0?o:ia(t.trim())},Xu=(e)=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`,Qu=(e)=>encodeURIComponent(e).replace(/[!'()*]/g,Xu),ua=(e)=>Qu(e).replaceAll("%2F","/");class hr extends Error{code;constructor(e,t,n){super(e);this.name=new.target.name,this.code=t,this.cause=n}}class vr extends hr{}class wr extends hr{status;serviceCode;body;constructor(e,t,n,o){super(e,n);this.status=t,this.serviceCode=n,this.body=o}}class ca extends bo{companionEndpoint;constructor({companionEndpoint:e,requestAbortTimeout:t}){super({requestAbortTimeout:t});this.companionEndpoint=e}async _fetch(e,t){let n=await fetch(`${this.companionEndpoint}/s3${e}`,t);if(!n.ok)throw Error(`Companion request failed: ${n.statusText}`);return n}async _request({url:e,method:t,data:n,onProgress:o,signal:r,contentType:s}){return await this.waitForOnline(r),this.xhr({url:e,method:t,data:n,onProgress:o,signal:r,contentType:s})}async putObject({key:e,data:t,fileType:n=_n,metadata:o={},onProgress:r,signal:s}){let i=new URLSearchParams({filename:e,type:n,...Object.fromEntries(Object.entries(o).map(([p,f])=>[`metadata[${p}]`,String(f)]))}),l=await this._fetch(`/params?${i}`),{url:d,fields:u}=await l.json(),c=new FormData;Object.entries(u).forEach(([p,f])=>{c.set(p,f)}),c.set("file",t);let m=await this._request({url:d,method:"POST",data:c,onProgress:r,signal:s});return{location:`${d}${u.key}`,etag:Tn(m.getResponseHeader("etag")),key:u.key}}async createMultipartUpload({key:e,fileType:t=_n,metadata:n,signal:o}){if(typeof t!=="string")throw TypeError(`${zt}fileType must be a string`);let r="POST",s=await this._fetch("/multipart",{method:r,body:JSON.stringify({filename:e,metadata:n,type:t}),headers:{"content-type":"application/json"},signal:o}),{key:i,uploadId:l}=await s.json();if(l==null)throw Error("No uploadId returned");if(i==null)throw Error("No key returned");return{uploadId:l,key:i}}async uploadPart({key:e,uploadId:t,data:n,partNumber:o,onProgress:r,signal:s}){let i=await this._fetch(`/multipart/${encodeURIComponent(t)}/${encodeURIComponent(o)}?${new URLSearchParams({key:e})}`,{method:"GET",signal:s}),{url:l}=await i.json(),d=await this._request({url:l,method:"PUT",data:n,onProgress:r,signal:s}),u=Tn(d.getResponseHeader("etag"));if(u==null)throw Error(`${zt}Missing ETag in uploadPart response headers`);return{etag:u}}async listParts({uploadId:e,key:t,signal:n}){if(!e)throw TypeError(Mn);return(await(await this._fetch(`/multipart/${encodeURIComponent(e)}?${new URLSearchParams({key:t})}`,{method:"GET",signal:n})).json()).map((s)=>({partNumber:parseInt(String(s.PartNumber),10),etag:String(s.ETag)}))}async completeMultipartUpload({key:e,uploadId:t,parts:n,signal:o}){let r=await this._fetch(`/multipart/${encodeURIComponent(t)}/complete?${new URLSearchParams({key:e})}`,{method:"POST",body:JSON.stringify({parts:n.map((d)=>({PartNumber:d.partNumber,ETag:d.etag}))}),headers:{"content-type":"application/json"},signal:o}),{location:s,bucket:i,key:l}=await r.json();return{location:s,bucket:i,key:l}}async abortMultipartUpload({key:e,uploadId:t,signal:n}){await this._fetch(`/multipart/${encodeURIComponent(t)}?${new URLSearchParams({key:e})}`,{method:"DELETE",signal:n})}}var pa=ca;var Yu=3600;function Ju(e){let{accessKeyId:t,secretAccessKey:n,sessionToken:o,region:r,endpoint:s,service:i=Ji}=e,l=null,d=null;async function u(c){let m=await $n(`AWS4${n}`,c),p=await $n(m,r),f=await $n(p,i);return $n(f,xo)}return async function(m){let{method:p,key:f,expiresIn:h=Yu}=m,v=new URL(s),y=f?f.replace(/^\/+/,""):"",I=y?ua(y):"",E=v.pathname;if(I)E=E.endsWith("/")?`${E}${I}`:`${E}/${I}`;let T=new Date,N=T.toISOString().slice(0,10).replace(/-/g,""),A=`${N}T${T.toISOString().slice(11,19).replace(/:/g,"")}Z`,V=`${t}/${N}/${r}/${i}/${xo}`;if(v.searchParams.set("X-Amz-Algorithm",lr),v.searchParams.set("X-Amz-Content-Sha256",dr),v.searchParams.set("X-Amz-Credential",V),v.searchParams.set("X-Amz-Date",A),v.searchParams.set("X-Amz-Expires",String(h)),v.searchParams.set("X-Amz-SignedHeaders","host"),o)v.searchParams.set("X-Amz-Security-Token",o);if("uploadId"in m)v.searchParams.set("uploadId",m.uploadId);if("partNumber"in m)v.searchParams.set("partNumber",String(m.partNumber));if(p==="POST"&&!("uploadId"in m))v.searchParams.set("uploads","");v.searchParams.sort();let W=v.searchParams.toString().replace(/\+/g,"%20"),D=`host:${v.host}`,b=[p,E,W,D,"","host",dr].join(`
|
|
7
|
+
`),te=`${N}/${r}/${i}/${xo}`,H=[lr,A,te,gr(await da(b))].join(`
|
|
8
|
+
`);if(N!==l||!d)l=N,d=await u(N);let O=gr(await $n(d,H));return{url:`${v.origin}${E}?${W}&X-Amz-Signature=${O}`}}}var fa=Ju;class ma extends bo{endpoint;region;requestSizeInBytes;getCredentials;cachedCredentials;cachedCredentialsPromise;signRequest;constructor({region:e="auto",requestSizeInBytes:t=ea,requestAbortTimeout:n,...o}){super({requestAbortTimeout:n});if("signRequest"in o){let{signRequest:r}=o;if(!r)throw TypeError("Either signRequest or getCredentials must be provided");if(r&&typeof r!=="function")throw TypeError("signRequest must be a function");this.signRequest=r}else if("getCredentials"in o){let{getCredentials:r,endpoint:s}=o;if(typeof s!=="string"||s.trim().length===0)throw TypeError(ta);if(r&&typeof r!=="function")throw TypeError("getCredentials must be a function");this.endpoint=new URL(this._ensureValidUrl(s)),this.getCredentials=r,this.signRequest=this._createCredentialBasedSigner()}else throw TypeError("Either signRequest or getCredentials must be provided");this.region=e,this.requestSizeInBytes=t}_createCredentialBasedSigner(){return async(e)=>{let t=await this._getCachedCredentials();if(this.endpoint==null)throw Error("Endpoint is required for credential-based signing");return fa({accessKeyId:t.credentials.accessKeyId,secretAccessKey:t.credentials.secretAccessKey,sessionToken:t.credentials.sessionToken,region:t.region||this.region,endpoint:this.endpoint.toString()})(e)}}async _getCachedCredentials(){if(this.cachedCredentials!=null)return this.cachedCredentials;if(this.cachedCredentialsPromise==null)this.cachedCredentialsPromise=(async()=>{try{let e=await this.getCredentials({});return this.cachedCredentials=e,e}finally{this.cachedCredentialsPromise=void 0}})();return this.cachedCredentialsPromise}_ensureValidUrl(e){let t=/^(https?:)?\/\//i.test(e)?e:`https://${e}`;try{new URL(t);let n=t.length;while(n>0&&t[n-1]==="/")n--;return n===t.length?t:t.substring(0,n)}catch{let n=`${na} But provided: "${e}"`;throw TypeError(n)}}_checkKey(e){if(typeof e!=="string"||e.trim().length===0)throw TypeError(oa)}_validateUploadPartParams(e,t,n){if(this._checkKey(e),typeof t!=="string"||t.trim().length===0)throw TypeError(Mn);if(!Number.isInteger(n)||n<=0)throw TypeError(`${zt}partNumber must be a positive integer`)}async putObject({key:e,data:t,fileType:n=_n,onProgress:o,signal:r}){this._checkKey(e);let{xhr:s,url:i}=await this.request({request:{method:"PUT",key:e},data:t,onProgress:o,signal:r,contentType:n});return{location:la(i),etag:Tn(s.getResponseHeader("etag")),key:e}}async createMultipartUpload({key:e,fileType:t=_n,signal:n}){if(this._checkKey(e),typeof t!=="string")throw TypeError(`${zt}fileType must be a string`);let{xhr:o}=await this.request({request:{method:"POST",key:e},contentType:t,signal:n}),r=hn(o.responseText);if(r&&typeof r==="object"){let s=r.initiateMultipartUploadResult||r.InitiateMultipartUploadResult;if(s&&typeof s==="object"){let i=s.uploadId||s.UploadId;if(i&&typeof i==="string")return{uploadId:i,key:e}}}throw Error(`${zt}Failed to create multipart upload: ${JSON.stringify(r)}`)}async uploadPart({key:e,uploadId:t,data:n,partNumber:o,onProgress:r,signal:s}){this._validateUploadPartParams(e,t,o);let{xhr:i}=await this.request({request:{method:"PUT",key:e,uploadId:t,partNumber:o},data:n,onProgress:r,signal:s}),l=Tn(i.getResponseHeader("etag"));if(l==null)throw Error(`${zt}Missing ETag in uploadPart response headers`);return{etag:l}}async request({request:e,data:t,onProgress:n,signal:o,contentType:r,shouldRetryCredentials:s=!0}){if(await this.waitForOnline(o),o?.aborted)throw new DOMException("Request aborted","AbortError");try{let{url:i}=await this.signRequest(e);return{xhr:await this.xhr({url:i,method:e.method,data:t,onProgress:n,signal:o,contentType:r}),url:i}}catch(i){if(i instanceof Error&&"request"in i&&i.request instanceof XMLHttpRequest){let l=i.request;if(l.status===0)throw new vr("Network error during S3 request","NETWORK",i);let d=this._parseErrorXml((c)=>l.getResponseHeader(c),l.responseText),u=l.getResponseHeader("x-amz-error-code")??d.svcCode;if(s&&this.getCredentials!=null&&u!=null&&["ExpiredToken","InvalidAccessKeyId"].includes(u))return this.clearCachedCredentials(),this.request({request:e,data:t,onProgress:n,signal:o,contentType:r,shouldRetryCredentials:!1});throw new wr(`S3 returned ${l.status}${u?` – ${u}`:""}`,l.status,u,l.responseText)}throw i}}async listParts({uploadId:e,key:t,signal:n}){if(this._checkKey(t),!e)throw TypeError(Mn);let{xhr:o}=await this.request({request:{method:"GET",key:t,uploadId:e},signal:n}),r=hn(o.responseText),s=r.listPartsResult||r.ListPartsResult||r;if(s&&typeof s==="object"){let i=s.Part||s.part||[];return(Array.isArray(i)?i:[i]).filter((d)=>d!=null&&typeof d==="object"&&("PartNumber"in d)&&("ETag"in d)).map((d)=>({partNumber:parseInt(String(d.PartNumber),10),etag:mr(String(d.ETag))}))}return[]}async completeMultipartUpload({key:e,uploadId:t,parts:n,signal:o}){let r=this._buildCompleteMultipartUploadXml(n),{xhr:s}=await this.request({request:{method:"POST",key:e,uploadId:t},contentType:Zi,data:r,signal:o}),i=hn(s.responseText);if(i&&typeof i==="object"){let l=i.completeMultipartUploadResult||i.CompleteMultipartUploadResult||i;if(l&&typeof l==="object"){let d=l,u=d.Location||d.location,c=d.Bucket||d.bucket,m=d.Key||d.key,p=d.ETag||d.eTag||d.etag;if(!u||!m)throw Error(`${zt}CompleteMultipartUpload response missing Location or Key: ${JSON.stringify(d)}`);let f=p?mr(p):void 0;return{location:u,bucket:c,key:m,etag:f}}}throw Error(`${zt}Failed to complete multipart upload: ${JSON.stringify(i)}`)}async abortMultipartUpload({key:e,uploadId:t,signal:n}){if(this._checkKey(e),!t)throw TypeError(Mn);let{xhr:o}=await this.request({request:{method:"DELETE",key:e,uploadId:t},signal:n}),r=hn(o.responseText);if(r&&"error"in r&&typeof r.error==="object"&&r.error!==null&&"message"in r.error)throw Error(`${zt}Failed to abort multipart upload: ${String(r.error.message)}`)}_buildCompleteMultipartUploadXml(e){let t="<CompleteMultipartUpload>";for(let n of e)t+=`<Part><PartNumber>${n.partNumber}</PartNumber><ETag>${n.etag}</ETag></Part>`;return t+="</CompleteMultipartUpload>",t}async deleteObject({key:e,signal:t}){let{xhr:n}=await this.request({request:{method:"DELETE",key:e},signal:t});if(n.status!==200&&n.status!==204)throw Error(`${zt}Failed to delete object. HTTP status: ${n.status}`)}clearCachedCredentials(){this.cachedCredentials=void 0,this.cachedCredentialsPromise=void 0}_parseErrorXml(e,t){if(e("content-type")!=="application/xml")return{};let n=hn(t);if(!n||typeof n!=="object"||!("Error"in n)||!n.Error||typeof n.Error!=="object")return{};let o=n.Error;return{svcCode:"Code"in o&&typeof o.Code==="string"?o.Code:void 0,errorMessage:"Message"in o&&typeof o.Message==="string"?o.Message:void 0}}}var br=ma;var ga=1048576,Zu={shouldUseMultipart:(e)=>(e.size||0)>100*ga,allowedMetaFields:!0,limit:6};class So extends mn{static VERSION=Qi.version;#n;#e;#t={};constructor(e,t){super(e,{...Zu,...t});this.type="uploader",this.id=this.opts.id||"AwsS3"}install(){this.#o(!0),this.#r(),this.#e=new En({concurrency:this.opts.limit}),this.uppy.addUploader(this.#a),this.uppy.on("cancel-all",this.#s)}uninstall(){this.#o(!1),this.uppy.removeUploader(this.#a),this.uppy.off("cancel-all",this.#s),this.#e.clear();for(let e of Object.keys(this.#t)){let t=this.#t[e];if(t)t.abort()}}#o=(e)=>{let{capabilities:t}=this.uppy.getState();this.uppy.setState({capabilities:{...t,resumableUploads:e}})};#s=()=>{this.#o(!0),this.#e.clear()};#r(){if("companionEndpoint"in this.opts){if(typeof this.opts.companionEndpoint!=="string")throw TypeError("companionEndpoint must be a string");this.#n=new pa({companionEndpoint:this.opts.companionEndpoint})}else if("getCredentials"in this.opts){if(typeof this.opts.s3Endpoint!=="string")throw TypeError("s3Endpoint must be a string");if(typeof this.opts.getCredentials!=="function")throw TypeError("getCredentials must be a function");if(this.opts.region!=null&&typeof this.opts.region!=="string")throw TypeError("region must be a string");this.#n=new br({endpoint:this.opts.s3Endpoint,getCredentials:this.opts.getCredentials,region:this.opts.region})}else if("signRequest"in this.opts){if(typeof this.opts.signRequest!=="function")throw TypeError("signRequest must be a function");this.#n=new br({signRequest:this.opts.signRequest})}else throw TypeError("One of options `companionEndpoint`, `signRequest`, or `getCredentials` is required")}#a=async(e)=>{if(e.length===0)return;let t=this.uppy.getFilesByIds(e),n=eo(t),o=to(n);this.uppy.emit("upload-start",o);let r=n.map((s)=>{if(s.isRemote)return this.#p(s);return this.#e.add(async()=>{let i=this.uppy.getFile(s.id);if(!i)return;return this.#i(i)})});await Promise.allSettled(r),this.#o(!0)};async#i(e){try{return await new Promise((t,n)=>{let o=new yo({uppy:this.uppy,s3Client:this.#n,file:e,metadata:this.#u(e),key:this.#d(e),shouldUseMultipart:this.#l(e),getChunkSize:this.opts.getChunkSize,log:(...r)=>this.uppy.log(...r),onProgress:(r,s)=>{this.uppy.emit("upload-progress",e,{uploadStarted:e.progress.uploadStarted??Date.now(),bytesUploaded:r,bytesTotal:s})},onPartComplete:(r)=>{this.uppy.emit("s3-multipart:part-uploaded",e,r)},onSuccess:(r)=>{this.uppy.emit("upload-success",e,{status:200,body:{location:r.location,key:r.key},uploadURL:r.location}),t()},onError:(r)=>{this.uppy.emit("upload-error",e,r),n(r)},onAbort:()=>{t()}});this.#t[e.id]=o,o.start()})}finally{delete this.#t[e.id]}}#l(e){let{shouldUseMultipart:t}=this.opts;if(typeof t==="function")return t(e);if(typeof t==="boolean")return t;return(e.size??0)>100*ga}#d(e){if("companionEndpoint"in this.opts)return e.name;return this.opts.generateObjectKey?.(e)??`${crypto.randomUUID()}-${e.name}`}#u(e){let t=un(this.opts.allowedMetaFields,e.meta);return Object.fromEntries(t.map((n)=>[n,e.meta[n]]))}#c(e){return{...e.remote.body,protocol:"s3-multipart",size:e.data.size,metadata:this.#u(e)}}async#p(e){this.#o(!1);let t=new AbortController,n=(o)=>{if(o.id===e.id)t.abort()};this.uppy.on("file-removed",n);try{await this.uppy.getRequestClientForFile(e).uploadRemoteFile(e,this.#c(e),{signal:t.signal,getQueue:()=>this.#e})}finally{this.uppy.off("file-removed",n)}}}var ha={name:"@uppy/xhr-upload",description:"Plain and simple classic HTML multipart form uploads with Uppy, as well as uploads using the HTTP PUT method.",version:"6.0.0",license:"MIT",type:"module",sideEffects:!1,scripts:{build:"tsc --build tsconfig.build.json",typecheck:"tsc --build",test:"vitest run --silent='passed-only'"},keywords:["file uploader","xhr","xhr upload","XMLHttpRequest","ajax","fetch","uppy","uppy-plugin"],homepage:"https://uppy.io",bugs:{url:"https://github.com/transloadit/uppy/issues"},repository:{type:"git",url:"git+https://github.com/transloadit/uppy.git"},files:["src","lib","dist","CHANGELOG.md"],exports:{".":"./lib/index.js","./package.json":"./package.json"},devDependencies:{"@uppy/core":"^6.0.0","@uppy/dashboard":"^6.0.0","@vitest/browser-playwright":"^4.1.6",msw:"^2.10.4",playwright:"1.61.1",typescript:"^6.0.3",vitest:"^4.1.6"},peerDependencies:{"@uppy/core":"^6.0.0"}};var va={strings:{uploadStalled:"Upload has not made any progress for %{seconds} seconds. You may want to retry it."}};function nc(e,t){let n=t;if(!n)n=Error("Upload error");if(typeof n==="string")n=Error(n);if(!(n instanceof Error))n=Object.assign(Error("Upload error"),{data:n});if(Qo(e))return n=new Sn(n,e),n;return n.request=e,n}function ya(e){return e.data.slice(0,e.data.size,e.meta.type)}var oc={formData:!0,fieldName:"file",method:"post",allowedMetaFields:!0,bundle:!1,headers:{},timeout:30000,limit:5,withCredentials:!1,responseType:""};class Co extends mn{static VERSION=ha.version;#n;#e;uploaderEvents;constructor(e,t){super(e,{...oc,fieldName:t.bundle?"files[]":"file",...t});if(this.type="uploader",this.id=this.opts.id||"XHRUpload",this.defaultLocale=va,this.i18nInit(),this.#e=new En({concurrency:this.opts.limit}),this.opts.bundle&&!this.opts.formData)throw Error("`opts.formData` must be true when `opts.bundle` is enabled.");if(this.opts.bundle&&typeof this.opts.headers==="function")throw Error("`opts.headers` can not be a function when the `bundle: true` option is set.");if(t?.allowedMetaFields===void 0&&"metaFields"in this.opts)throw Error("The `metaFields` option has been renamed to `allowedMetaFields`.");this.uploaderEvents=Object.create(null),this.#n=(n)=>async(o,r)=>{try{let s=await Zn(o,{...r,onBeforeRequest:(d,u)=>this.opts.onBeforeRequest?.(d,u,n),shouldRetry:this.opts.shouldRetry,onAfterResponse:this.opts.onAfterResponse,onTimeout:(d)=>{let u=Math.ceil(d/1000),c=Error(this.i18n("uploadStalled",{seconds:u}));this.uppy.emit("upload-stalled",c,n)},onUploadProgress:(d)=>{if(d.lengthComputable)for(let{id:u}of n){let c=this.uppy.getFile(u);if(c!=null)this.uppy.emit("upload-progress",c,{uploadStarted:c.progress.uploadStarted??0,bytesUploaded:d.loaded/d.total*c.size,bytesTotal:c.size})}}}),i=await this.opts.getResponseData?.(s);if(s.responseType==="json")i??=s.response;else try{i??=JSON.parse(s.responseText)}catch(d){throw Error("@uppy/xhr-upload expects a JSON response (with a `url` property). To parse non-JSON responses, use `getResponseData` to turn your response into JSON.",{cause:d})}let l=typeof i?.url==="string"?i.url:void 0;for(let{id:d}of n)this.uppy.emit("upload-success",this.uppy.getFile(d),{status:s.status,body:i,uploadURL:l});return s}catch(s){if(s.name==="AbortError")return;let i=s.request;for(let l of n)this.uppy.emit("upload-error",this.uppy.getFile(l.id),nc(i,s),i);throw s}}}getOptions(e){let t=this.uppy.getState().xhrUpload,{headers:n}=this.opts,o={...this.opts,...t||{},...e.xhrUpload||{},headers:{}};if(typeof n==="function")o.headers=n(e);else Object.assign(o.headers,this.opts.headers);if(t)Object.assign(o.headers,t.headers);if(e.xhrUpload)Object.assign(o.headers,e.xhrUpload.headers);return o}addMetadata(e,t,n){un(n.allowedMetaFields,t).forEach((r)=>{let s=t[r];if(Array.isArray(s))s.forEach((i)=>{e.append(r,i)});else e.append(r,s)})}createFormDataUpload(e,t){let n=new FormData;this.addMetadata(n,e.meta,t);let o=ya(e);if(e.name)n.append(t.fieldName,o,e.meta.name);else n.append(t.fieldName,o);return n}createBundledUpload(e,t){let n=new FormData,{meta:o}=this.uppy.getState();return this.addMetadata(n,o,t),e.forEach((r)=>{let s=this.getOptions(r),i=ya(r);if(r.name)n.append(s.fieldName,i,r.name);else n.append(s.fieldName,i)}),n}async#t(e){let t=new gn(this.uppy),n=new AbortController;t.onFileRemove(e.id,()=>n.abort()),t.onCancelAll(e.id,()=>n.abort());try{await this.#e.add(async(o)=>{let r=this.getOptions(e),s=this.#n([e]),i=r.formData?this.createFormDataUpload(e,r):e.data,l=typeof r.endpoint==="string"?r.endpoint:await r.endpoint(e);return s(l,{...r,body:i,signal:AbortSignal.any([o,n.signal])})})}catch(o){if(o.name==="AbortError")return;throw o}finally{t.remove()}}async#o(e){let t=new AbortController;function n(){t.abort()}this.uppy.once("cancel-all",n);try{await this.#e.add(async(o)=>{let r=this.uppy.getState().xhrUpload??{},s=this.#n(e),i=this.createBundledUpload(e,{...this.opts,...r}),l=typeof this.opts.endpoint==="string"?this.opts.endpoint:await this.opts.endpoint(e);return s(l,{...this.opts,body:i,signal:AbortSignal.any([o,t.signal])})})}catch(o){if(o.name==="AbortError")return;throw o}finally{this.uppy.off("cancel-all",n)}}#s(e){let t=this.getOptions(e),n=un(t.allowedMetaFields,e.meta);return{...e.remote?.body,protocol:"multipart",endpoint:t.endpoint,size:e.data.size,fieldname:t.fieldName,metadata:Object.fromEntries(n.map((o)=>[o,e.meta[o]])),httpMethod:t.method,useFormData:t.formData,headers:t.headers}}async#r(e){await Promise.allSettled(e.map((t)=>{if(t.isRemote){let n=()=>this.#e,o=new AbortController,r=(s)=>{if(s.id===t.id)o.abort()};return this.uppy.on("file-removed",r),this.uppy.getRequestClientForFile(t).uploadRemoteFile(t,this.#s(t),{signal:o.signal,getQueue:n}).finally(()=>{this.uppy.off("file-removed",r)})}return this.#t(t)}))}#a=async(e)=>{if(e.length===0){this.uppy.log("[XHRUpload] No files to upload!");return}if(this.opts.limit===0)this.uppy.log("[XHRUpload] When uploading multiple files at once, consider setting the `limit` option (to `10` for example), to limit the number of concurrent uploads, which helps prevent memory and network issues: https://uppy.io/docs/xhr-upload/#limit-0","warning");this.uppy.log("[XHRUpload] Uploading...");let t=this.uppy.getFilesByIds(e),n=eo(t),o=to(n);if(this.uppy.emit("upload-start",o),this.opts.bundle){if(n.some((s)=>s.isRemote))throw Error("Can’t upload remote files when the `bundle: true` option is set");if(typeof this.opts.headers==="function")throw TypeError("`headers` may not be a function when the `bundle: true` option is set");await this.#o(n)}else await this.#r(n)};install(){if(this.opts.bundle){let{capabilities:e}=this.uppy.getState();this.uppy.setState({capabilities:{...e,individualCancellation:!1}})}this.uppy.addUploader(this.#a)}uninstall(){if(this.opts.bundle){let{capabilities:e}=this.uppy.getState();this.uppy.setState({capabilities:{...e,individualCancellation:!0}})}this.uppy.removeUploader(this.#a)}}var Lt=null,zn=0;async function ba(){if(zn++,zn>1&&Lt)return;if(typeof navigator<"u"&&"wakeLock"in navigator)try{Lt=await navigator.wakeLock.request("screen"),Lt.addEventListener("release",()=>{Lt=null})}catch(e){console.warn("Screen Wake Lock request failed:",e)}}async function Ra(){if(zn=Math.max(0,zn-1),zn===0&&Lt)try{await Lt.release()}catch(e){console.warn("Screen Wake Lock release failed:",e)}finally{Lt=null}}if(typeof document<"u")document.addEventListener("visibilitychange",async()=>{if(document.visibilityState==="visible"&&zn>0&&!Lt)try{if(typeof navigator<"u"&&"wakeLock"in navigator)Lt=await navigator.wakeLock.request("screen"),Lt.addEventListener("release",()=>{Lt=null})}catch(e){console.warn("Screen Wake Lock re-acquisition failed:",e)}});var qt=new Map;if(typeof window<"u")window.addEventListener("beforeunload",(e)=>{if(Xn.getState().uploading>0||qt.size>0)e.preventDefault(),e.returnValue=""}),window.addEventListener("pagehide",()=>{if(qt.size===0)return;for(let e of qt.values()){let t=`/api/teams/${e.teamId}/upload/tasks/${e.taskId}/abort`,n=JSON.stringify({fileId:e.fileId,uploadId:e.uploadId,key:e.key});try{if("sendBeacon"in navigator){let o=new Blob([n],{type:"application/json"});navigator.sendBeacon(t,o)}else fetch(t,{method:"POST",headers:{"Content-Type":"application/json"},body:n,keepalive:!0,credentials:"include"})}catch(o){console.warn("Failed to send abort beacon:",o)}}qt.clear()});function Fa(e){if(typeof navigator<"u"&&!navigator.onLine)return!0;if(!e)return!1;let t=e;if(t.isNetworkError===!0)return!0;if(t.name==="S3NetworkError"||t.name==="NetworkError")return!0;let n=(typeof t.message==="string"?t.message:"").toLowerCase();if(n.includes("network error")||n.includes("failed to fetch")||n.includes("networkerror")||n.includes("load failed")||n.includes("err_internet_disconnected"))return!0;let o=t.request;if(o&&o.status===0)return!0;return!1}async function Ud({files:e,taskId:t,teamId:n,storageBackend:o,createdAssets:r=[],presignedUrls:s=[],onFileFinished:i}){if(!e.length)return;await ba();let l=Xn.getState(),{increment:d,decrement:u,updateFileProgress:c,completeFile:m,failFile:p}=l,f=new Map;for(let b of r)f.set(b.tempId,{assetId:b.assetId,key:b.key});let h=new Map;for(let b of s)if(b.id)h.set(b.id,{url:b.url||"",fileId:b.fileId||""});let v=new Map,y=new vo({autoProceed:!0,allowMultipleUploadBatches:!1});if(o==="s3")y.use(So,{shouldUseMultipart:(b)=>(b.size||0)>104857600,getChunkSize:({size:b})=>{if(b>5368709120)return 33554432;if(b>1073741824)return 16777216;return 8388608},generateObjectKey:(b)=>b.meta.key||b.name,signRequest:async(b)=>{let te="uploadId"in b?b.uploadId:void 0,H="partNumber"in b?b.partNumber:void 0,O=v.get(b.key);if(O&&te){let Le=qt.get(O);if(Le)Le.uploadId=te}let q=await fetch(`/api/teams/${n}/upload/sign`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({key:b.key,method:b.method,uploadId:te,partNumber:H,fileId:O}),credentials:"include"});if(!q.ok)throw Error(`Failed to sign request: ${q.statusText}`);return{url:(await q.json()).url}}});else y.use(Co,{endpoint:(b)=>(Array.isArray(b)?b[0]:b)?.meta?.url||"",method:"PUT",formData:!1,headers:(b)=>({"Content-Type":b.type||"application/octet-stream"}),getResponseData:(b)=>{try{return b.responseText?JSON.parse(b.responseText):{}}catch{return{}}},shouldRetry:()=>!1,limit:5});let I=new Map,E=new Map,T=3,N=null,A=()=>{if(typeof navigator<"u"&&!navigator.onLine){console.log("[Uploader] Delaying retry because browser is currently offline.");return}console.log("[Uploader] Calling uppy.retryAll() to resume paused/failed uploads..."),y.retryAll().catch((b)=>{console.error("[Uploader] Error during retryAll:",b)})},V=(b=2000)=>{if(N)return;N=setTimeout(()=>{N=null,A()},b)},W=()=>{let b=typeof navigator<"u"?navigator.onLine:!0;console.log(`[Uploader] Network 'online' event received! navigator.onLine = ${b}`),A()},D=()=>{let b=typeof navigator<"u"?navigator.onLine:!1;console.warn(`[Uploader] Network 'offline' event received! navigator.onLine = ${b}`)};if(y.on("back-online",W),typeof window<"u")window.addEventListener("online",W),window.addEventListener("offline",D);y.on("upload-progress",(b,te)=>{if(!b)return;let H=b.meta.fileId;if(H&&te.bytesUploaded!=null)c(t,H,te.bytesUploaded)}),y.on("upload-success",(b)=>{if(!b)return;let te=b.meta.fileId;qt.delete(te);let H=(async()=>{try{let O=await R.api.teams[":teamId"].upload.tasks[":taskId"].$patch({param:{teamId:n,taskId:t},json:{fileId:te}});if(!O.ok)throw Error(`Failed to confirm upload: ${O.statusText}`);m(t,te),u(),await i?.(te)}catch(O){throw console.error("Failed to confirm upload:",O),p(t,te),u(),j.error(`Failed to confirm upload: ${b.name}`),await i?.(te),O}})();I.set(te,H)});let ye=(b,te)=>{let H=b.meta.fileId;if(!qt.has(H))return;qt.delete(H),p(t,H),u(),j.error(`Failed to upload file: ${b.name}`);let O=(async()=>{try{await R.api.teams[":teamId"].upload.tasks[":taskId"].$patch({param:{teamId:n,taskId:t},json:{fileId:H,errorMessage:te?.message||"Upload failed"}})}catch(q){console.error("Failed to report upload failure:",q)}await i?.(H)})();I.set(H,O)};y.on("upload-error",(b,te)=>{if(!b)return;if(console.error(`[Uploader] upload-error for ${b.name}:`,te),Fa(te)){if(console.warn(`[Uploader] Network error detected for ${b.name}. Keeping upload active to resume when connection is restored.`),typeof navigator<"u"&&navigator.onLine){let H=b.meta.fileId,O=(E.get(H)||0)+1;if(E.set(H,O),O>T){console.error(`[Uploader] Exceeded max online retries (${T}) for ${b.name}. Failing permanently.`),ye(b,te);return}console.log(`[Uploader] Scheduling retry for ${b.name} (attempt ${O}/${T})...`),V(2000)}return}ye(b,te)});for(let b of e){let te=f.get(b.id),H=h.get(b.id),O=te?.assetId||H?.fileId||b.id,q=te?.key,Ee=H?.url;if(q)v.set(q,O);qt.set(O,{teamId:n,taskId:t,fileId:O,key:q}),d(),y.addFile({name:b.file.name,type:b.file.type,data:b.file,meta:{fileId:O,key:q,url:Ee}})}try{await new Promise((b)=>{let te=(H)=>{if(qt.size===0){b();return}let O=H?.failed||[];if(typeof navigator<"u"&&!navigator.onLine||O.some((Le)=>Fa(Le?.error))){console.log("[Uploader] Batch completed with network issues; waiting for reconnection to resume...");return}for(let Le of O)ye(Le,Le?.error);if(qt.size===0)b()};y.on("complete",te),y.on("cancel-all",()=>{b()})}),await Promise.allSettled(Array.from(I.values()))}finally{if(N)clearTimeout(N);if(typeof window<"u")window.removeEventListener("online",W),window.removeEventListener("offline",D);await Ra(),y.destroy()}}Z();Z();function Ia({isOpen:e,onClose:t,onConfirm:n,mode:o,teamId:r,currentProjectId:s}){let[i,l]=w(s),[d,u]=w(null),[c,m]=w(!1),{data:p,isLoading:f}=X({queryKey:["projects",r],queryFn:async()=>{let E=await R.api.teams[":teamId"].projects.$get({param:{teamId:r},query:{first:"100"}});if(!E.ok)throw Error("Failed to fetch projects");return await E.json()},enabled:!!r&&e}),h=p?.data??[],v=h.find((E)=>E.id===i),y=()=>{if(d)n(d.id,c);else if(v?.rootFolder)n(v.rootFolder,c)};return a(Se,{open:e,onOpenChange:t,children:g(xe,{className:"sm:max-w-[425px] flex flex-col h-[600px]",children:[a(ke,{children:a(Ce,{children:o==="move"?"Move to":"Copy to"})}),g("div",{className:"flex flex-col gap-4 flex-1 overflow-hidden",children:[g("div",{className:"flex flex-col gap-2",children:[a("label",{className:"text-sm font-medium",children:"Select Project"}),g(Xe,{value:i,onValueChange:(E)=>{l(E),u(null)},children:[a(tt,{children:a(et,{placeholder:"Select a project"})}),a(rt,{children:h.map((E)=>a(be,{value:E.id,children:E.name},E.id))})]})]}),g("div",{className:"flex flex-col gap-2 flex-1 overflow-hidden",children:[a("label",{className:"text-sm font-medium",children:"Select Folder"}),a("div",{className:"border rounded-md flex-1 overflow-hidden",children:a(Ie,{className:"h-full",children:v&&v.rootFolder?a(qr,{teamId:r,projectId:v.id,projectName:v.name,rootFolderId:v.rootFolder,onSelect:u,selectedFolderId:d?.id||v.rootFolder}):a("div",{className:"flex items-center justify-center h-full p-4",children:f?a(K,{className:"animate-spin h-6 w-6"}):"Select a project first"})})})]}),o==="copy"&&g("div",{className:"flex items-center space-x-2",children:[a(Sr,{id:"copy-comments",checked:c,onCheckedChange:(E)=>m(!!E)}),a("label",{htmlFor:"copy-comments",className:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",children:"Copy comments"})]})]}),g(ot,{children:[a(F,{variant:"outline",onClick:t,children:"Cancel"}),a(F,{onClick:y,disabled:!v,children:"Confirm"})]})]})})}Z();function Ea({item:e,isOpen:t,onClose:n,allowDownload:o=!0,shareId:r,sharePassword:s}){S(()=>{if(!t)return;let p=(f)=>{if(f.key===" "||f.code==="Space")f.preventDefault(),f.stopPropagation(),n()};return window.addEventListener("keydown",p,!0),()=>{window.removeEventListener("keydown",p,!0)}},[t,n]);let i=e?.type==="folder"||e?.targetType==="folder",l=e?.versionStack?e.versionStack.id:e?.id,d=s??(r&&typeof window<"u"?localStorage.getItem(`share_pwd_${r}`)||"":""),{data:u}=X({queryKey:r?["shares",r,"files",l,d]:["files",l],queryFn:async()=>{if(!l)throw Error("No target file ID");let p=r?await R.api.shares[":shareId"].files[":fileId"].$get({param:{shareId:r,fileId:l}},d?{headers:{"x-share-password":d}}:void 0):await R.api.files[":fileId"].$get({param:{fileId:l}});if(!p.ok)throw Error("Failed to fetch file detail");return await p.json()},enabled:t&&!i&&!!l});if(!e)return null;let c=Boolean(e.media?.videoTranscodes?.some((p)=>!!p.url)||e.media?.imageTranscodes?.some((p)=>!!p.url)||e.media?.pdfTranscode?.url),m=u||(c?e:null);return a(Se,{open:t,onOpenChange:(p)=>{if(!p)n()},children:g(xe,{"data-testid":"file-preview-dialog-content",showCloseButton:!1,className:B("p-0 overflow-hidden flex flex-col gap-0 border bg-background rounded-lg shadow-2xl outline-none focus:outline-none focus-visible:outline-none",i?"w-full max-w-md max-h-[min(1080px,70vh)]":"w-[min(1920px,70vw)] h-[min(1080px,70vh)] max-w-[min(1920px,70vw)] max-h-[min(1080px,70vh)]"),style:{maxWidth:"min(1920px, 70vw)",maxHeight:"min(1080px, 70vh)"},children:[g("div",{className:"flex items-center justify-between px-4 py-2.5 border-b border-border bg-card select-none shrink-0",children:[a("div",{className:"flex items-center gap-2 min-w-0 mr-4",children:a(Ce,{className:"text-sm font-medium text-foreground truncate",title:e.name,children:e.name})}),a("button",{"data-testid":"quick-preview-close-button",onClick:n,className:"p-1 rounded-sm text-muted-foreground hover:text-foreground hover:bg-muted transition-colors cursor-pointer","aria-label":"Close",children:a(Ge,{size:16})})]}),i?g("div",{className:"flex flex-col items-center justify-center p-8 text-center select-none gap-4",children:[a("div",{className:"p-4 rounded-2xl bg-primary/10 text-primary",children:a(xr,{className:"w-16 h-16 stroke-[1.5]","data-testid":"folder-preview-icon"})}),g("div",{className:"flex flex-col items-center gap-1 max-w-full px-2",children:[a("h3",{className:"text-lg font-semibold text-foreground truncate max-w-full",title:e.name,children:e.name}),a("p",{className:"text-sm text-muted-foreground","data-testid":"folder-preview-count",children:(e.fileCount||0)===1?o0({count:e.fileCount||0}):n0({count:e.fileCount||0})})]})]}):!m?a("div",{"data-testid":"preview-loading-spinner",className:"flex-1 flex items-center justify-center bg-background min-h-[300px]",children:a(K,{className:"h-8 w-8 animate-spin text-muted-foreground"})}):a("div",{className:"flex-1 relative min-h-0 overflow-hidden bg-background",children:a(Ns,{file:m,allowDownload:o,shareId:r,autoPlay:!0})})]})})}function _a({...e}){return a(fd,{"data-slot":"context-menu",...e})}function Ma({...e}){return a(vd,{"data-slot":"context-menu-trigger",...e})}function Cr({...e}){return a(zs,{"data-slot":"context-menu-portal",...e})}function Rr({...e}){return a(bd,{"data-slot":"context-menu-sub",...e})}function Ir({className:e,inset:t,children:n,...o}){return g(Fd,{"data-slot":"context-menu-sub-trigger","data-inset":t,className:B("flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[inset]:pl-8 data-[state=open]:bg-accent data-[state=open]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground",e),...o,children:[n,a(jt,{className:"ml-auto"})]})}function Mr({className:e,...t}){return a(Ed,{"data-slot":"context-menu-sub-content",className:B("z-50 min-w-[8rem] origin-(--radix-context-menu-content-transform-origin) overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg 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 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",e),...t})}function Un({className:e,...t}){return a(zs,{children:a(wd,{"data-slot":"context-menu-content",className:B("z-50 max-h-(--radix-context-menu-content-available-height) min-w-[8rem] origin-(--radix-context-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border bg-popover p-1 text-popover-foreground shadow-md 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 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",e),...t})})}function lt({className:e,inset:t,variant:n="default",...o}){return a(yd,{"data-slot":"context-menu-item","data-inset":t,"data-variant":n,className:B("relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground data-[variant=destructive]:*:[svg]:text-destructive!",e),...o})}function Ro({className:e,...t}){return a(xd,{"data-slot":"context-menu-separator",className:B("-mx-1 my-1 h-px bg-border",e),...t})}function Ta({item:e,selectedIds:t,onRename:n,onDelete:o,onDownload:r,onCopyNameAndDownloadLink:s,onRestore:i,onNewFolder:l,onUploadFile:d,onUploadFolder:u,onNewVersion:c,onManageVersions:m,onMoveTo:p,onCopyTo:f,folders:h,files:v,isRecentlyDeleted:y,isRecents:I,onOpenAgentsMd:E,isShareView:T,onRemoveFromShare:N,shareLinks:A=[],onCreateShareLink:V,onAddToShareLink:W,canEdit:D=!0}){let b=[...h,...v].filter((ge)=>t.has(ge.id)),te=e&&t.has(e.id),H=te?b:e?[e]:[],O=H,q=H,Ee=()=>{if(e)n(e)},Le=()=>{o(O)},je=()=>{if(te)r(b);else if(e)r([e])},Me=()=>{if(te)s?.(b);else if(e)s?.([e])},_=()=>{i(q)};if(I)return null;if(T){if(!e)return null;return g(Un,{children:[g(lt,{onSelect:je,children:[a(Bt,{className:"mr-2 h-4 w-4"}),a("span",{children:Dr()})]}),g(lt,{onSelect:Me,children:[a(Zr,{className:"mr-2 h-4 w-4"}),a("span",{children:Wm()})]}),D&&g(lt,{onSelect:()=>N?.(H),className:"text-destructive",children:[a(Ue,{className:"mr-2 h-4 w-4"}),a("span",{children:Vh()})]})]})}if(y){if(!e)return null;return a(Un,{children:g(lt,{onSelect:_,children:[a(ao,{className:"mr-2 h-4 w-4"}),a("span",{children:Kh()})]})})}if(!e){if(!D||I)return null;return g(Un,{onCloseAutoFocus:(ge)=>{ge.preventDefault()},children:[g(lt,{onSelect:d,children:[a(_o,{className:"mr-2 h-4 w-4"}),a("span",{children:mg()})]}),g(lt,{onSelect:u,children:[a(_o,{className:"mr-2 h-4 w-4"}),a("span",{children:hg()})]}),g(lt,{onSelect:()=>{l($c())},children:[a(Bd,{className:"mr-2 h-4 w-4"}),a("span",{children:$c()})]})]})}let oe=te&&t.size>1?g(Un,{onCloseAutoFocus:(ge)=>{ge.preventDefault()},children:[g(lt,{onSelect:je,children:[a(Bt,{className:"mr-2 h-4 w-4"}),a("span",{children:Dr()})]}),g(lt,{onSelect:Me,children:[a(Zr,{className:"mr-2 h-4 w-4"}),a("span",{children:Wm()})]}),D&&g(lt,{onSelect:()=>p(H),children:[a(Po,{className:"mr-2 h-4 w-4"}),a("span",{children:e0()})]}),D&&g(lt,{onSelect:()=>f(H),children:[a(Zr,{className:"mr-2 h-4 w-4"}),a("span",{children:o_()})]}),D&&g(lt,{onSelect:Le,className:"text-destructive",children:[a(Ue,{className:"mr-2 h-4 w-4"}),a("span",{children:Mt()})]}),D&&g(Y,{children:[a(Ro,{}),g(lt,{onSelect:()=>V?.(H),children:[a(Re,{className:"mr-2 h-4 w-4"}),a("span",{children:l_()})]}),A.length>0&&g(Rr,{children:[g(Ir,{children:[a(rc,{className:"mr-2 h-4 w-4"}),a("span",{children:xA()})]}),a(Cr,{children:a(Mr,{className:"w-48",children:A.map((ge)=>a(lt,{onSelect:()=>W?.(ge.id,H),children:a("span",{className:"truncate",children:ge.name})},ge.id))})})]})]})]}):g(Un,{onCloseAutoFocus:(ge)=>{ge.preventDefault()},children:[D&&g(lt,{onSelect:()=>{Ee()},children:[a(wn,{className:"mr-2 h-4 w-4"}),a("span",{children:ms()})]}),g(lt,{onSelect:je,children:[a(Bt,{className:"mr-2 h-4 w-4"}),a("span",{children:Dr()})]}),g(lt,{onSelect:Me,children:[a(Zr,{className:"mr-2 h-4 w-4"}),a("span",{children:Wm()})]}),D&&g(lt,{onSelect:()=>p(H),children:[a(Po,{className:"mr-2 h-4 w-4"}),a("span",{children:e0()})]}),D&&g(lt,{onSelect:()=>f(H),children:[a(Zr,{className:"mr-2 h-4 w-4"}),a("span",{children:o_()})]}),D&&(e.type==="file"||e.type==="version_stack")&&g(lt,{onSelect:()=>c(e),children:[a(_o,{className:"mr-2 h-4 w-4"}),a("span",{children:sE()})]}),D&&e.type==="version_stack"&&g(lt,{onSelect:()=>m?.(e),children:[a(po,{className:"mr-2 h-4 w-4"}),a("span",{children:_h()})]}),e.type==="folder"&&E&&g(lt,{onSelect:()=>E(e),children:[a(On,{className:"mr-2 h-4 w-4"}),a("span",{children:"AGENTS.md"})]}),D&&g(Y,{children:[a(Ro,{}),g(lt,{onSelect:Le,className:"text-destructive",children:[a(Ue,{className:"mr-2 h-4 w-4"}),a("span",{children:Mt()})]}),a(Ro,{}),g(lt,{onSelect:()=>V?.(H),children:[a(Re,{className:"mr-2 h-4 w-4"}),a("span",{children:l_()})]}),A.length>0&&g(Rr,{children:[g(Ir,{children:[a(rc,{className:"mr-2 h-4 w-4"}),a("span",{children:xA()})]}),a(Cr,{children:a(Mr,{className:"w-48",children:A.map((ge)=>a(lt,{onSelect:()=>W?.(ge.id,H),children:a("span",{className:"truncate",children:ge.name})},ge.id))})})]})]})]});return a(Y,{children:oe})}Z();var vn=J(({className:e,onClick:t,onMouseDown:n,disabled:o,value:r,title:s,tooltipSide:i="top",tooltipDelayDuration:l=100,...d},u)=>{let[c,m]=w(!1),p=M(null),f=typeof r==="string"?r:r?.toString()??"";if(o)return a(Dn,{delayDuration:l,children:g(Nn,{open:c,onOpenChange:(h)=>{if(h)if(p.current&&p.current.scrollWidth>p.current.clientWidth)m(!0);else m(!1);else m(!1)},children:[a(Fn,{asChild:!0,children:a("span",{ref:p,className:B("box-border block min-w-0 w-full rounded-sm border border-transparent px-1 py-0.5 text-base shadow-none transition-all outline-none cursor-default opacity-100 select-none truncate",e),onClick:t,onMouseDown:n,children:f})}),c&&a(Ln,{side:i,className:"max-w-md break-all text-wrap [text-wrap:normal] text-left",children:f})]})});return a(re,{ref:u,value:r,tabIndex:0,className:B("box-border block min-w-0 h-auto w-full rounded-sm border border-blue-500 !bg-muted/10 ring-1 ring-blue-500 px-1 py-0.5 text-base shadow-none transition-all outline-none focus-visible:ring-0",e),onClick:(h)=>{h.stopPropagation(),t?.(h)},onMouseDown:(h)=>{h.stopPropagation(),n?.(h)},...d})});vn.displayName="EditableText";Z();var ro=({item:e,showDuration:t=!1,matchDuration:n})=>{let o=e.preview?.proxyType||e.proxyType,r=o==="video",s=o==="audio",i=o==="pdf",l=o==="3d",d=r||s,u=e.preview?.duration,c=e.preview?.pageCount,p=n!=null&&n.startTime!=null&&n.endTime!=null?g("span",{"data-testid":"file-preview-matched-duration",className:"pointer-events-none absolute bottom-1 right-1 rounded bg-black/60 px-1 py-0.5 text-xs font-medium tabular-nums text-white",children:[fi(n.startTime)," - ",fi(n.endTime)]}):t&&d&&typeof u==="number"&&u>0?a("span",{className:"pointer-events-none absolute bottom-1 right-1 rounded bg-black/60 px-1 py-0.5 text-xs font-medium tabular-nums text-white",children:fi(u)}):t&&i&&typeof c==="number"&&c>0?g("span",{className:"pointer-events-none absolute bottom-1 right-1 rounded bg-black/60 px-1 py-0.5 text-xs font-medium tabular-nums text-white",children:[c," P"]}):null;if((r||i||l)&&e.preview?.spriteUrl&&e.preview.thumbnailUrl&&e.preview.originalWidth&&e.preview.originalHeight&&e.preview)return g(Y,{children:[a(Gp,{spriteUrl:e.preview.spriteUrl,thumbnailUrl:e.preview.thumbnailUrl,videoWidth:e.preview.originalWidth,videoHeight:e.preview.originalHeight,reverse:l}),p]});if(e.preview?.thumbnailUrl)return g(Y,{children:[a("img",{src:e.preview.thumbnailUrl,alt:"Preview",className:"w-full h-full object-contain bg-black"}),p]});if(s)return g(Y,{children:[a("div",{className:"w-full h-full flex items-center justify-center bg-zinc-950",children:a(Ps,{className:"w-8 h-8 text-zinc-500"})}),p]});if(!e.type)return a("div",{className:"w-full h-full flex items-center justify-center bg-linear-to-t from-black/5 to-black/0",children:a(xr,{className:"w-8 h-8 fill-primary/60 stroke-0"})});return a("div",{className:"w-full h-full flex items-center justify-center",children:a(Er,{className:"w-8 h-8 fill-primary/60 stroke-0"})})};function Jl({teamId:e,item:t,isSelected:n=!1,isChecked:o=!1,isEditing:r=!1,onSelect:s=()=>{},onDoubleClick:i=()=>{},onContextMenu:l=()=>{},onDragStart:d,onDrop:u,onRename:c=()=>{},onFinishEditing:m=()=>{},onSaveField:p=()=>{},dragState:f,disabled:h,onAction:v,isRecentlyDeleted:y,isRecents:I,selectedCount:E,fields:T=[],isShareView:N,canEdit:A=!0,allowDownload:V=!0,hideCheckbox:W=!1,hideActions:D=!1}){let[ye,b]=w(t.name),te=M(null),[H,O]=w(!1),q=M(null),Ee=Xn((ue)=>ue.fileProgress[t.id||""]),Le=Ee?Ee.total>0?Ee.loaded/Ee.total*100:0:0,je=(t.type==="file"||t.type==="version_stack")&&!!e&&(t.status==="uploading"||t.status==="uploaded"||t.status==="processing"),{data:Me}=X({queryKey:["file",e,t.id],queryFn:async()=>{let ue=await R.api.files[":fileId"].$get({param:{fileId:t.id||""}});if(!ue.ok)throw Error("failed to fetch file");return await ue.json()},enabled:je,refetchInterval:(ue)=>{let Rt=ue.state.data;return Rt?.status==="processed"||Rt?.status==="failed"||Rt?.status==="error"?!1:1000}}),_=G(()=>{if(t.status==="processed"||t.status==="error"||t.status==="failed")return t;if(Me?.status==="processed"||Me?.status==="error"||Me?.status==="failed")return Me;return Me||t},[t,Me]),{ref:oe,isDragging:ge}=si({id:`browser:${_.id}`,data:{type:_.type,id:_.id,item:_},disabled:h}),{ref:Ae,isDropTarget:ae}=ln({id:`browser:${_.id}`,data:{type:_.type,id:_.id,item:_},disabled:h}),_e=(ue)=>{if(h)return;oe(ue),Ae(ue)},Ye=ge||(f?.draggedIds.has(_.id)??!1),ct=G(()=>{if(!f?.isActive)return!1;if(f.draggedIds.has(_.id))return!1;return f.isSingleFile},[f,_.id]),U=ae&&ct,Oe=Ye?0.5:1,st=G(()=>(_.fieldValues||[]).reduce((ue,Rt)=>(ue[Rt.fieldId]=Rt,ue),{}),[_.fieldValues]);S(()=>{if(r){let ue=setTimeout(()=>{if(te.current)ci(te.current)},150);return()=>clearTimeout(ue)}},[r]),S(()=>{b(_.name)},[_.name]);let ut=(ue)=>{s(_,ue)},me=()=>{if(ye!==_.name)c(ye||"");m()},le=(ue)=>{if(ue.key==="Enter")me();if(ue.key==="Escape")b(_.name||""),m()},P=G(()=>{if(!_.createdAt)return"";return fE({time:nn(_.createdAt),author:_.agent?Rd({user:_.creator?.name||Xc(),agent:_.agent.name}):_.creator?.name||Xc()})},[_.createdAt,_.agent,_.creator?.name]),x=y?Qp(_.deletedAt):null,k=x===null?"":x===1?r0({count:x}):t0({count:x}),he=Boolean(_.preview?.thumbnailUrl||_.preview?.spriteUrl),ze=_.status==="failed",gt=_.status==="processing"||_.status==="uploaded",jn=_.status==="uploading"?kd():_.status==="uploaded"||_.status==="processing"?h1():null,Vn=_.media?.error||x0(),xn=x!==null||typeof _.commentsCount==="number"&&_.commentsCount>0?g("div",{"data-testid":"file-card-preview-badges",className:"pointer-events-none absolute bottom-1 left-1 z-10 flex items-center gap-1",children:[x!==null&&g("span",{"data-testid":"file-card-days-left",title:k,className:"flex items-center gap-1 rounded bg-black/60 px-1 py-0.5 text-xs font-medium tabular-nums text-white",children:[a(cr,{className:"h-3.5 w-3.5"}),a("span",{children:u_({count:x})})]}),typeof _.commentsCount==="number"&&_.commentsCount>0&&g("span",{"data-testid":"file-card-comments-count",className:"flex items-center gap-1 rounded bg-black/60 px-1 py-0.5 text-xs font-medium tabular-nums text-white",children:[a(Ls,{className:"h-3.5 w-3.5"}),a("span",{children:_.commentsCount})]})]}):null;return g("div",{ref:_e,style:{opacity:Oe},onClick:ut,onDoubleClick:()=>i(_),onContextMenu:(ue)=>l(ue,_),onMouseDown:(ue)=>{if(ue.shiftKey)ue.preventDefault()},"data-testid":"file-card",className:B("group relative flex cursor-pointer select-none flex-col overflow-hidden rounded-xl border border-border bg-card transition-all hover:border-primary h-full m-1 outline-none focus:outline-none focus-visible:outline-none",(n||o)&&"outline-1 outline-primary border-primary",U&&"border-primary outline-1 outline-primary"),children:[!W&&a("div",{className:"absolute left-2 top-2 z-10 flex items-center gap-1.5",children:a(Sr,{checked:o,onCheckedChange:()=>{},onClick:(ue)=>{ue.stopPropagation(),s(_,ue)},className:"h-4 w-4 bg-white/20 dark:bg-white/20 border-2 data-[state=checked]:bg-primary data-[state=checked]:border-primary border-foreground/15"})}),g("div",{className:"absolute right-2 top-2 z-10 flex items-center gap-1.5",children:[_.agent&&a("span",{className:"select-none rounded bg-black/60 px-1 py-0.5 text-xs font-medium text-white",title:_.agent.name,"data-testid":"agent-badge",children:"AI"}),_.versionStack&&g(ve,{children:["v",_.versionStack.versions.find((ue)=>ue.id===_.id)?.version??_.versionStack.versions.length]}),ze&&a(Dn,{delayDuration:100,children:g(Nn,{children:[a(Fn,{asChild:!0,children:a("span",{"data-testid":"file-card-failed-badge",className:"select-none rounded bg-destructive/90 px-1.5 py-0.5 text-xs font-medium text-destructive-foreground shadow-sm cursor-help",children:aO()})}),a(Ln,{side:"bottom","data-testid":"file-card-failed-tooltip",className:"max-w-xs break-words text-xs",children:Vn})]})})]}),a("div",{className:"relative aspect-square overflow-hidden bg-muted/30",children:_.status==="uploading"?a("div",{className:"flex h-full w-full items-center justify-center bg-background/50",children:a(dl,{progress:Le,className:"w-16 h-16 z-10"})}):he?g(Y,{children:[a("div",{"data-testid":"file-card-preview-media",className:B("h-full w-full",gt&&"animate-pulse"),children:a(ro,{item:_,showDuration:!gt&&!ze,matchDuration:_.startTime!=null&&_.endTime!=null?{startTime:_.startTime,endTime:_.endTime}:null})}),xn]}):_.status==="error"?a("div",{className:"flex h-full w-full items-center justify-center bg-background/50",children:a("span",{className:"z-10 font-medium px-2 text-center text-sm text-destructive font-semibold",children:Vx()})}):ze?g("div",{"data-testid":"file-card-failed-state",className:"flex flex-col h-full w-full items-center justify-center gap-2 p-3 text-center bg-muted/40",children:[a(_r,{className:"h-10 w-10 text-destructive/80 shrink-0"}),a("span",{className:"z-10 text-xs font-semibold text-destructive px-2",children:x0()})]}):gt?a("div",{className:"flex h-full w-full items-center justify-center",children:a("svg",{viewBox:"0 0 50 50","data-testid":"file-card-preparing-circle",className:"h-16 w-16 opacity-60 animate-preparing-breathe",children:a("circle",{cx:"25",cy:"25",r:"20",className:"stroke-muted-foreground",strokeWidth:"4",fill:"transparent"})})}):g(Y,{children:[a(ro,{item:_,showDuration:!0,matchDuration:_.startTime!=null&&_.endTime!=null?{startTime:_.startTime,endTime:_.endTime}:null}),xn]})}),g("div",{className:"flex items-center justify-between gap-2 p-3",children:[g("div",{className:"min-w-0 flex-1",children:[a(vn,{ref:te,value:ye,onChange:(ue)=>b(ue.target.value),onBlur:me,onKeyDown:le,disabled:!r,className:"h-auto p-0 text-sm font-medium text-foreground truncate !bg-transparent"}),a(Dn,{delayDuration:100,children:g(Nn,{open:H,onOpenChange:(ue)=>{if(ue)if(q.current&&(q.current.scrollHeight>q.current.clientHeight||q.current.scrollWidth>q.current.clientWidth))O(!0);else O(!1);else O(!1)},children:[a(Fn,{asChild:!0,children:a("p",{ref:q,className:"text-sm line-clamp-2 h-[2lh] text-muted-foreground",children:jn??P})}),H&&a(Ln,{side:"bottom",className:"max-w-md break-all text-wrap [text-wrap:normal] text-left",children:P})]})})]}),!D&&!I&&g(De,{modal:!1,children:[a(Ne,{asChild:!0,children:a(F,{size:"icon-sm",variant:"ghost",className:"cursor-pointer",onClick:(ue)=>ue.stopPropagation(),children:a(Ar,{className:"h-4 w-4 text-foreground"})})}),a(Fe,{align:"end",children:N?g(Y,{children:[V&&g(de,{onClick:(ue)=>{ue.stopPropagation(),v?.("download",t)},children:[a(Bt,{className:"mr-2 h-4 w-4"}),a("span",{children:Dr()})]}),A&&g(de,{onClick:(ue)=>{ue.stopPropagation(),v?.("remove-from-share",t)},className:"text-destructive",children:[a(Ue,{className:"mr-2 h-4 w-4"}),a("span",{children:Vh()})]})]}):y?g(de,{onClick:(ue)=>{ue.stopPropagation(),v?.("restore",t)},children:[a(ao,{className:"mr-2 h-4 w-4"}),a("span",{children:Kh()})]}):g(Y,{children:[A&&(!o||(E||0)<=1)&&g(de,{onClick:(ue)=>{ue.stopPropagation(),v?.("rename",t)},children:[a(wn,{className:"mr-2 h-4 w-4"}),a("span",{children:ms()})]}),A&&t.type==="version_stack"&&g(de,{onClick:(ue)=>{ue.stopPropagation(),v?.("manage-versions",t)},children:[a(po,{className:"mr-2 h-4 w-4"}),a("span",{children:_h()})]}),V&&g(de,{onClick:(ue)=>{ue.stopPropagation(),v?.("download",t)},children:[a(Bt,{className:"mr-2 h-4 w-4"}),a("span",{children:Dr()})]}),A&&g(Y,{children:[a(ur,{}),g(de,{onClick:(ue)=>{ue.stopPropagation(),v?.("delete",t)},className:"text-destructive",children:[a(Ue,{className:"mr-2 h-4 w-4"}),a("span",{children:Mt()})]})]})]})})]})]}),T&&T.length>0&&a("div",{className:"space-y-2 border-t p-1 pt-3 mx-2",onClick:(ue)=>ue.stopPropagation(),onDoubleClick:(ue)=>ue.stopPropagation(),children:T.map((ue)=>{let Rt=ue.config?.type?ul[ue.config.type]:null;return g("div",{className:"space-y-1 bg-muted/50 p-1 rounded border",children:[g("label",{className:"text-xs text-muted-foreground tracking-wide flex items-center gap-1",children:[Rt&&a(Rt,{className:"h-3.5 w-3.5 text-muted-foreground shrink-0"}),a("span",{children:ue.config?.name})]}),a("div",{className:"min-h-[28px]",children:a(di,{fieldId:ue.id,config:ue.config,value:st[ue.id]?.value,onSave:A&&!I?(Bn)=>p(ue.id,Bn):void 0,readOnly:ue.readOnly||!A||!!I})})]},ue.id)})})]})}Z();function Na({teamId:e,item:t,isSelected:n,isChecked:o,isEditing:r,onSelect:s,onDoubleClick:i,onContextMenu:l,onDragStart:d,onDrop:u,onRename:c,onFinishEditing:m,onSaveField:p,dragState:f,disabled:h,fields:v,columnSizing:y,canEdit:I=!0,isRecents:E}){let[T,N]=w(t.name),A=M(null),V=Xn((oe)=>oe.fileProgress[t.id||""]),W=V?V.total>0?V.loaded/V.total*100:0:0,D=(t.type==="file"||t.type==="version_stack")&&!!e&&(t.status==="uploading"||t.status==="uploaded"||t.status==="processing"),{data:ye}=X({queryKey:["file",e,t.id],queryFn:async()=>{let oe=await R.api.files[":fileId"].$get({param:{fileId:t.id||""}});if(!oe.ok)throw Error("failed to fetch file");return await oe.json()},enabled:D,refetchInterval:(oe)=>{let ge=oe.state.data;return ge?.status==="processed"||ge?.status==="failed"||ge?.status==="error"?!1:1000}}),b=G(()=>{if(t.status==="processed"||t.status==="error"||t.status==="failed")return t;if(ye?.status==="processed"||ye?.status==="error"||ye?.status==="failed")return ye;return ye||t},[t,ye]),{ref:te,isDragging:H}=si({id:`browser:${b.id}`,data:{type:b.type,id:b.id,item:b},disabled:h}),q=H||(f?.draggedIds.has(b.id)??!1)?0.5:1,Ee=G(()=>(b.fieldValues||[]).reduce((oe,ge)=>(oe[ge.fieldId]=ge,oe),{}),[b.fieldValues]);S(()=>{if(r){let oe=setTimeout(()=>{if(A.current)ci(A.current)},150);return()=>clearTimeout(oe)}},[r]),S(()=>{N(b.name)},[b.name]);let Le=(oe)=>{if(!oe)return"-";return new Date(oe).toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"})},je=(oe)=>{s(b,oe)},Me=()=>{if(T!==b.name)c(T||"");m()},_=(oe)=>{if(oe.key==="Enter")Me();if(oe.key==="Escape")N(b.name||""),m()};return g("div",{ref:te,style:{opacity:q},onClick:je,onDoubleClick:()=>i(b),onContextMenu:(oe)=>l(oe,b),onMouseDown:(oe)=>{if(oe.shiftKey)oe.preventDefault()},"data-testid":"file-card",className:"group cursor-pointer select-none transition-colors whitespace-nowrap flex w-full outline-none focus:outline-none focus-visible:outline-none",children:[a("div",{className:B("px-4 py-2 sticky left-0 z-10 transition-colors border-r shrink-0",n||o?"bg-muted":"bg-card group-hover:bg-muted"),style:{width:y?.name||300,minWidth:y?.name||300},children:g("div",{className:"flex items-center gap-2 overflow-hidden",children:[a(Sr,{checked:o,onCheckedChange:()=>{},onClick:(oe)=>{oe.stopPropagation(),s(b,oe)},className:"h-4 w-4 shrink-0 data-[state=checked]:bg-primary data-[state=checked]:border-primary"}),a("div",{className:"w-8 h-8 shrink-0 flex items-center justify-center bg-muted rounded overflow-hidden",children:b.status==="uploading"?a(dl,{progress:W,className:"w-7 h-7"}):b.status==="failed"&&!b.preview?.thumbnailUrl?a(_r,{className:"h-4 w-4 text-destructive"}):b.preview?.thumbnailUrl?a("img",{src:b.preview.thumbnailUrl,alt:"",className:"w-full h-full object-cover"}):b.preview?.proxyType==="audio"||b.proxyType==="audio"?a(Ps,{className:"h-4 w-4 text-muted-foreground"}):b.type==="folder"?a(xr,{className:"h-4 w-4 text-primary"}):a(Er,{className:"h-4 w-4 text-muted-foreground"})}),a(vn,{ref:A,value:T,onChange:(oe)=>N(oe.target.value),onBlur:Me,onKeyDown:_,disabled:!r,className:"h-auto p-0 text-sm font-medium text-foreground truncate min-w-0 flex-1"}),b.status==="error"&&a("span",{className:"text-xs text-destructive font-semibold shrink-0",children:Kx()}),b.status==="failed"&&a("span",{"data-testid":"file-list-item-failed",className:"text-xs text-destructive font-semibold shrink-0",children:y1()}),b.agent&&a("span",{className:"select-none rounded bg-black/60 px-1 py-0.5 text-xs font-medium text-white shrink-0",title:b.agent.name,"data-testid":"agent-badge",children:"AI"}),b.versionStack&&g(ve,{variant:"outline",className:"px-1 py-0 text-xs shrink-0",children:["v",b.versionStack.versions.find((oe)=>oe.id===b.id)?.version??b.versionStack.versions.length]})]})}),a("div",{className:"px-4 py-2 text-sm text-muted-foreground truncate border-r shrink-0 flex items-center",style:{width:y?.size||100,minWidth:y?.size||100},children:b.type==="folder"?"-":b.sizeByte?on(b.sizeByte):"-"}),a("div",{className:"px-4 py-2 border-r shrink-0 flex items-center",style:{width:y?.modified||200,minWidth:y?.modified||200},children:g("div",{className:"flex items-center justify-between overflow-hidden w-full",children:[a("span",{className:"text-sm text-muted-foreground truncate",children:Le(b.updatedAt)}),!E&&a("button",{onClick:(oe)=>{oe.stopPropagation();let ge=oe.target.getBoundingClientRect(),Ae=new MouseEvent(oe.nativeEvent.type,{bubbles:!0,cancelable:!0,clientX:ge.left,clientY:ge.bottom});l(Ae,b)},className:"opacity-0 shrink-0 transition-opacity group-hover:opacity-100 ml-2",children:a(Gr,{className:"h-4 w-4 text-muted-foreground hover:text-foreground"})})]})}),b.type==="file"&&v.map((oe)=>a("div",{onClick:(ge)=>ge.stopPropagation(),onDoubleClick:(ge)=>ge.stopPropagation(),className:"px-4 py-2 truncate border-r shrink-0 flex items-center",style:{width:y?.[oe.id]||150,minWidth:y?.[oe.id]||150},children:a(di,{fieldId:oe.id,config:oe.config,value:Ee[oe.id]?.value,onSave:I&&!E?(ge)=>p(oe.id,ge):void 0,readOnly:oe.readOnly||!I||!!E})},oe.id))]})}Z();var sc=({items:e})=>{let t=e,n=t?t.slice(0,3):[],o=n.length,r=(s)=>{if(!s)return null;return a(ro,{item:s})};if(o===0)return a("div",{});if(o===1)return a("div",{className:"w-full h-full bg-foreground/6 rounded-sm",children:r(n[0])});if(o===2)return g("div",{className:"grid grid-cols-2 gap-0.5 h-full w-full",children:[a("div",{className:"overflow-hidden h-full bg-foreground/6 rounded-sm",children:r(n[0])}),a("div",{className:"overflow-hidden h-full bg-foreground/6 rounded-sm",children:r(n[1])})]});return g("div",{className:"grid grid-cols-3 gap-0.5 h-full w-full",children:[a("div",{className:"col-span-1 overflow-hidden h-full relative bg-foreground/6 rounded-sm col-span-2",children:a("div",{className:"absolute inset-0 w-full h-full",children:r(n[0])})}),g("div",{className:"col-span-1 grid grid-rows-2 gap-0.5 h-full col-span-1",children:[a("div",{className:"overflow-hidden h-full relative bg-foreground/6 rounded-sm",children:a("div",{className:"absolute inset-0 w-full h-full",children:r(n[1])})}),a("div",{className:"overflow-hidden h-full relative bg-foreground/6 rounded-sm",children:a("div",{className:"absolute inset-0 w-full h-full",children:r(n[2])})})]})]})};function Yl({item:e,isSelected:t=!1,isChecked:n=!1,isEditing:o=!1,onSelect:r=()=>{},onDoubleClick:s=()=>{},onContextMenu:i=()=>{},onDragStart:l,onDrop:d,onRename:u=()=>{},onFinishEditing:c=()=>{},dragState:m,disabled:p,onAction:f,isRecentlyDeleted:h,isRecents:v,selectedCount:y,canEdit:I=!0,isShareView:E,isExternalDragging:T,externalOverFolderId:N,setExternalOverFolderId:A,resetExternalDragState:V,onExternalDrop:W,allowDownload:D=!0,hideCheckbox:ye=!1,hideActions:b=!1}){let[te,H]=w(e.name||""),O=M(null),{ref:q,isDragging:Ee}=si({id:`browser:${e.id}`,data:{type:"folder",id:e.id,item:e},disabled:p}),{ref:Le,isDropTarget:je}=ln({id:`browser:${e.id}`,data:{type:"folder",id:e.id,item:e},disabled:p}),Me=(x)=>{if(p)return;q(x),Le(x)},_=Ee||(m?.draggedIds.has(e.id)??!1),oe=G(()=>{if(!m?.isActive)return!1;if(m.draggedIds.has(e.id))return!1;return!0},[m,e.id]),ge=T&&N===e.id,Ae=je&&oe||ge,ae=_?0.5:1;S(()=>{if(o){let x=setTimeout(()=>{O.current?.focus(),O.current?.select()},150);return()=>clearTimeout(x)}},[o]),S(()=>{H(e.name||"")},[e.name]);let _e=(x)=>{r(e,x)},Ye=()=>{if(te!==e.name)u(te||"");c()},ct=(x)=>{if(x.key==="Enter")Ye();if(x.key==="Escape")H(e.name||""),c()},U=300,Oe=220,st=8,ut={cornerRadius:4,tabRadius:5,tabSlope:15,tabBaseWidth:120},me=G(()=>{let{cornerRadius:x,tabRadius:k,tabSlope:he,tabBaseWidth:ze}=ut,gt=1;return`M 1, ${st+1} L 1, ${1+k} A ${k} ${k} 0 0 1 ${1+k} 1 L ${ze-he+1-k} 1 Q ${ze-he+1} 1 ${ze-he+1} 1 L ${ze+1} ${st+1} L ${U-x-1} ${st+1} A ${x} ${x} 0 0 1 ${U-1} ${st+x+1} L ${U-1} ${Oe-x-1} A ${x} ${x} 0 0 1 ${U-x-1} ${Oe-1} L ${x+1} ${Oe-1} A ${x} ${x} 0 0 1 1 ${Oe-x-1} Z`.replace(/\s+/g," ").trim()},[]),le=h?Qp(e.deletedAt):null,P=le===null?"":le===1?r0({count:le}):t0({count:le});return g("div",{ref:Me,style:{opacity:ae},onClick:_e,onDoubleClick:()=>s(e),onContextMenu:(x)=>i(x,e),onMouseDown:(x)=>{if(x.shiftKey)x.preventDefault()},onDragEnter:T?()=>{A?.(e.id)}:void 0,onDragLeave:T?(x)=>{if(!x.currentTarget.contains(x.relatedTarget))A?.(null)}:void 0,onDragOver:T?(x)=>{x.preventDefault()}:void 0,onDrop:T?async(x)=>{x.preventDefault(),x.stopPropagation(),V?.();let k=await tc(x.dataTransfer);W?.(k,e.id)}:void 0,"data-testid":"file-card",className:B("group relative w-full md:max-w-[340px] select-none cursor-pointer isolate flex flex-col items-center h-full outline-none focus:outline-none focus-visible:outline-none"),children:[a("div",{className:"absolute inset-0 z-10 pointer-events-none",children:a("svg",{width:"100%",height:"100%",viewBox:`0 0 ${U} ${Oe}`,preserveAspectRatio:"none",className:"overflow-visible",children:a("path",{d:me,vectorEffect:"non-scaling-stroke",strokeLinejoin:"round",strokeWidth:Ae||t?2:1,className:B("transition-colors duration-200 fill-none group-hover:stroke-primary stroke-foreground/10",(t||n||Ae)&&"stroke-primary")})})}),a("div",{className:"absolute inset-0 -z-10 pointer-events-none",children:a("svg",{width:"100%",height:"100%",viewBox:`0 0 ${U} ${Oe}`,preserveAspectRatio:"none",className:"overflow-visible",children:a("path",{d:me,vectorEffect:"non-scaling-stroke",strokeLinejoin:"round",strokeWidth:Ae?3:1,className:B("transition-colors duration-200 fill-foreground/6 dark:fill-foreground/4")})})}),g("div",{className:"shadow-[0_-4px_6px_rgba(0,0,0,0.08)] relative w-full flex flex-1 flex-col p-2 mt-5 bg-muted dark:bg-muted/50 rounded-sm",children:[g("div",{className:"relative w-full aspect-video shrink-0 overflow-hidden",children:[!ye&&a("div",{className:"absolute top-1 left-1 z-30 transition-all duration-200",children:a(Sr,{checked:n,onClick:(x)=>x.stopPropagation(),className:"w-5 h-5 border-1 border-foreground/20 bg-background/50 data-[state=checked]:bg-primary data-[state=checked]:border-primary"})}),e.latestChildren&&e.latestChildren.length>0&&a("div",{"data-testid":"folder-preview-grid",className:"h-full w-full",children:a(sc,{items:e.latestChildren})}),le!==null&&g("span",{"data-testid":"folder-card-days-left",title:P,className:"pointer-events-none absolute bottom-1 left-1 z-10 flex items-center gap-1 rounded bg-black/60 px-1 py-0.5 text-xs font-medium tabular-nums text-white",children:[a(cr,{className:"h-3.5 w-3.5"}),a("span",{children:u_({count:le})})]})]}),g("div",{className:"flex flex-col gap-1 mt-2 px-1",children:[a(vn,{ref:O,value:te||"",onChange:(x)=>H(x.target.value),onBlur:Ye,onKeyDown:ct,disabled:!o,className:"h-auto p-0 text-sm font-medium text-foreground truncate !bg-transparent"}),g("div",{className:"flex items-center justify-between text-muted-foreground",children:[a("span",{className:"text-xs tracking-wide opacity-80",children:(e.fileCount||0)===1?o0({count:e.fileCount||0}):n0({count:e.fileCount||0})}),!b&&!v&&g(De,{modal:!1,children:[a(Ne,{asChild:!0,children:a("button",{onClick:(x)=>x.stopPropagation(),className:"p-1.5 -mr-2 rounded-full hover:bg-muted text-muted-foreground hover:text-foreground transition-colors cursor-pointer",children:a(Ar,{size:18})})}),a(Fe,{align:"end",children:E?g(Y,{children:[D&&g(de,{onClick:(x)=>{x.stopPropagation(),f?.("download",e)},children:[a(Bt,{className:"mr-2 h-4 w-4"}),a("span",{children:Dr()})]}),I&&g(de,{onClick:(x)=>{x.stopPropagation(),f?.("remove-from-share",e)},className:"text-destructive",children:[a(Ue,{className:"mr-2 h-4 w-4"}),a("span",{children:Vh()})]})]}):h?g(de,{onClick:(x)=>{x.stopPropagation(),f?.("restore",e)},children:[a(ao,{className:"mr-2 h-4 w-4"}),a("span",{children:Kh()})]}):g(Y,{children:[I&&(!n||(y||0)<=1)&&g(de,{onClick:(x)=>{x.stopPropagation(),f?.("rename",e)},children:[a(wn,{className:"mr-2 h-4 w-4"}),a("span",{children:ms()})]}),D&&g(de,{onClick:(x)=>{x.stopPropagation(),f?.("download",e)},children:[a(Bt,{className:"mr-2 h-4 w-4"}),a("span",{children:Dr()})]}),I&&g(Y,{children:[a(ur,{}),g(de,{onClick:(x)=>{x.stopPropagation(),f?.("delete",e)},className:"text-destructive",children:[a(Ue,{className:"mr-2 h-4 w-4"}),a("span",{children:Mt()})]})]})]})})]})]})]})]})]})}Z();function ka(e,t,n){let o=Array(e);return new Proxy(o,{get(r,s,i){if(typeof s==="string"){let l=s.charCodeAt(0);if(l>=48&&l<=57){let d=+s;if(Number.isInteger(d)&&d>=0&&d<e){let u=r[d];if(!u){let c=t[d*2];u=r[d]={index:d,key:n(d),start:c,size:t[d*2+1],end:c+t[d*2+1],lane:0}}return u}}if(s==="length")return e}return Reflect.get(r,s,i)}})}function yn(e,t,n){let o=n.initialDeps??[],r,s=!0;function i(){var l;let d=!1,u=0,c=e();if(!(c.length!==o.length||c.some((f,h)=>o[h]!==f)))return r;o=c;let p=0;if(r=t(...c),(n==null?void 0:n.onChange)&&!(s&&n.skipInitialOnChange))n.onChange(r);return s=!1,r}return i.updateDeps=(l)=>{o=l},i}function Tr(e,t){if(e===void 0)throw Error(`Unexpected undefined${t?`: ${t}`:""}`);else return e}var Pa=(e,t)=>Math.abs(e-t)<1.01,Aa=(e,t,n)=>{let o;return Object.assign(function(...r){e.clearTimeout(o),o=e.setTimeout(()=>t.apply(this,r),n)},{cancel:()=>{e.clearTimeout(o)}})};var so,Nr=()=>{if(so!==void 0)return so;if(typeof navigator>"u")return so=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return so=!0;let e=navigator.maxTouchPoints;return so=navigator.platform==="MacIntel"&&e!==void 0&&e>0};var Da=(e)=>{let{offsetWidth:t,offsetHeight:n}=e;return{width:t,height:n}},ic=(e)=>e,ac=(e)=>{let t=Math.max(e.startIndex-e.overscan,0),o=Math.min(e.endIndex+e.overscan,e.count-1)-t+1,r=Array(o);for(let s=0;s<o;s++)r[s]=t+s;return r},Oa=(e,t)=>{let n=e.scrollElement;if(!n)return;let o=e.targetWindow;if(!o)return;let r=(i)=>{let{width:l,height:d}=i;t({width:Math.round(l),height:Math.round(d)})};if(r(Da(n)),!o.ResizeObserver)return()=>{};let s=new o.ResizeObserver((i)=>{let l=()=>{let d=i[0];if(d==null?void 0:d.borderBoxSize){let u=d.borderBoxSize[0];if(u){r({width:u.inlineSize,height:u.blockSize});return}}r(Da(n))};e.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(l):l()});return s.observe(n,{box:"border-box"}),()=>{s.unobserve(n)}},Fo={passive:!0};var lc=typeof window>"u"?!0:("onscrollend"in window),dc=(e,t,n)=>{let o=e.scrollElement;if(!o)return;let r=e.targetWindow;if(!r)return;let s=e.options.useScrollendEvent&&lc,i=0,l=s?null:Aa(r,()=>t(i,!1),e.options.isScrollingResetDelay),d=(m)=>()=>{i=n(o),l==null||l(),t(i,m)},u=d(!0),c=d(!1);if(o.addEventListener("scroll",u,Fo),s)o.addEventListener("scrollend",c,Fo);return()=>{if(o.removeEventListener("scroll",u),s)o.removeEventListener("scrollend",c);l==null||l.cancel()}},$a=(e,t)=>dc(e,t,(n)=>{let{horizontal:o,isRtl:r}=e.options;return o?n.scrollLeft*(r&&-1||1):n.scrollTop});var uc=(e,t,n)=>{if(n.options.useCachedMeasurements){let o=n.indexFromElement(e),r=n.options.getItemKey(o);return n.itemSizeCache.get(r)??n.options.estimateSize(o)}if(t==null?void 0:t.borderBoxSize){let o=t.borderBoxSize[0];if(o)return Math.round(o[n.options.horizontal?"inlineSize":"blockSize"])}if(!t){let o=n.indexFromElement(e),r=n.options.getItemKey(o),s=n.itemSizeCache.get(r);if(s!==void 0)return s}return e[n.options.horizontal?"offsetWidth":"offsetHeight"]},cc=(e,{adjustments:t=0,behavior:n},o)=>{var r,s;(s=(r=o.scrollElement)==null?void 0:r.scrollTo)==null||s.call(r,{[o.options.horizontal?"left":"top"]:e+t,behavior:n})};var za=cc;class kr{constructor(e){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._flatMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._intendedScrollOffset=null,this.elementsCache=new Map,this.now=()=>{var t,n,o;return((o=(n=(t=this.targetWindow)==null?void 0:t.performance)==null?void 0:n.now)==null?void 0:o.call(n))??Date.now()},this.observer=(()=>{let t=null,n=()=>{if(t)return t;if(!this.targetWindow||!this.targetWindow.ResizeObserver)return null;return t=new this.targetWindow.ResizeObserver((o)=>{o.forEach((r)=>{let s=()=>{let i=r.target,l=this.indexFromElement(i);if(!i.isConnected){this.observer.unobserve(i);for(let[d,u]of this.elementsCache)if(u===i){this.elementsCache.delete(d);break}return}if(!this.isIndexInRange(l))return;if(this.shouldMeasureDuringScroll(l))this.resizeItem(l,this.options.measureElement(i,r,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(s):s()})})};return{disconnect:()=>{var o;(o=n())==null||o.disconnect(),t=null},observe:(o)=>{var r;return(r=n())==null?void 0:r.observe(o,{box:"border-box"})},unobserve:(o)=>{var r;return(r=n())==null?void 0:r.unobserve(o)}}})(),this.range=null,this.setOptions=(t)=>{var n,o;let r={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:ic,rangeExtractor:ac,onChange:()=>{},measureElement:uc,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,anchorTo:"start",followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:"estimate",useCachedMeasurements:!1};for(let m in t){let p=t[m];if(p!==void 0)r[m]=p}let s=this.options,i=null,l=null,d=!1;if(s!==void 0&&s.enabled&&r.enabled&&r.anchorTo==="end"&&this.scrollElement!==null){let m=s.count,p=r.count,f=this.getMeasurements(),h=m>0?((n=f[0])==null?void 0:n.key)??s.getItemKey(0):null,v=m>0?((o=f[m-1])==null?void 0:o.key)??s.getItemKey(m-1):null;if(p!==m||m>0&&p>0&&(r.getItemKey(0)!==h||r.getItemKey(p-1)!==v)){d=!0;let E=m>0?this.getVirtualItemForOffset(this.getScrollOffset())??f[0]:null;if(E)i=[E.key,this.getScrollOffset()-E.start];let T=r.followOnAppend===!0?"auto":r.followOnAppend||null;if(T&&p>m&&this.isAtEnd(s.scrollEndThreshold)&&(m===0||r.getItemKey(p-1)!==v))l=T}}if(this.options=r,d)this.pendingMin=0,this.itemSizeCacheVersion++;let u=!1,c=0;if(i&&this.scrollOffset!==null){let[m,p]=i,f=this.getMeasurements(),{count:h,getItemKey:v}=this.options,y=0;while(y<h&&v(y)!==m)y++;if(y<h){let I=f[y];if(I){let E=Math.max(0,I.start+p);if(E!==this.scrollOffset)c=E-this.scrollOffset,this.scrollOffset=E,u=!0}}}if(u||l)this.pendingScrollAnchor=[u?i[0]:null,u?i[1]:0,l,c]},this.notify=(t)=>{var n,o;(o=(n=this.options).onChange)==null||o.call(n,this,t)},this.maybeNotify=yn(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),(t)=>{this.notify(t)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{if(this.unsubs.filter(Boolean).forEach((t)=>t()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow)this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null;this.scrollState=null,this.isScrolling=!1,this.scrollDirection=null,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var t;let n=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==n){if(this.cleanup(),!n){this.maybeNotify();return}if(this.scrollElement=n,this.scrollElement&&"ownerDocument"in this.scrollElement)this.targetWindow=this.scrollElement.ownerDocument.defaultView;else this.targetWindow=((t=this.scrollElement)==null?void 0:t.window)??null;if(this.elementsCache.forEach((r)=>{this.observer.observe(r)}),this.unsubs.push(this.options.observeElementRect(this,(r)=>{this.scrollRect=r,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(r,s)=>{if(s&&this._intendedScrollOffset===null&&r===this.scrollOffset)return;if(this._intendedScrollOffset!==null&&Math.abs(r-this._intendedScrollOffset)<1.5)r=this._intendedScrollOffset;this._intendedScrollOffset=null,this.scrollAdjustments=0;let i=this.getScrollOffset();if(this.scrollDirection=s?i===r?this.scrollDirection:i<r?"forward":"backward":null,this.scrollOffset=r,this.isScrolling=s,this._flushIosDeferredIfReady(),this.scrollState)this.scheduleScrollReconcile();this.maybeNotify()})),"addEventListener"in this.scrollElement){let r=this.scrollElement,s=()=>{if(this._iosTouching=!0,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId!==null&&this.targetWindow!=null)this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null},i=()=>{if(this._iosTouching=!1,!Nr()||this.targetWindow==null)return;this._iosJustTouchEnded=!0,this._iosTouchEndTimerId=this.targetWindow.setTimeout(()=>{this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._flushIosDeferredIfReady()},150)};r.addEventListener("touchstart",s,Fo),r.addEventListener("touchend",i,Fo),this.unsubs.push(()=>{if(r.removeEventListener("touchstart",s),r.removeEventListener("touchend",i),this._iosTouchEndTimerId!==null&&this.targetWindow!=null)this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null})}this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}let o=this.pendingScrollAnchor;if(this.pendingScrollAnchor=null,o&&this.scrollElement&&this.options.enabled){let[r,s,i,l]=o;if(r!==null&&!i)if(Nr()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)){if(l!==0)this._iosDeferredAdjustment+=l}else this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0});if(i)this.scrollToEnd({behavior:i})}},this._flushIosDeferredIfReady=()=>{if(this._iosDeferredAdjustment===0)return;if(this.isScrolling)return;if(this._iosTouching)return;if(this._iosJustTouchEnded)return;let t=this.getScrollOffset(),n=this.getMaxScrollOffset();if(t<0||t>n)return;if(this._iosDeferredAdjustment<0&&t>=n-1){this._iosDeferredAdjustment=0;return}let o=this._iosDeferredAdjustment;this._iosDeferredAdjustment=0,this._scrollToOffset(t,{adjustments:this.scrollAdjustments+=o,behavior:void 0})},this.rafId=null,this.getSize=()=>{if(!this.options.enabled)return this.scrollRect=null,0;return this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]},this.getScrollOffset=()=>{if(!this.options.enabled)return this.scrollOffset=null,0;return this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset==="function"?this.options.initialOffset():this.options.initialOffset),this.scrollOffset},this.getMeasurementOptions=yn(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode,this.options.gap],(t,n,o,r,s,i,l,d)=>{if(this.prevLanes!==void 0&&this.prevLanes!==i)this.lanesChangedFlag=!0;return this.prevLanes=i,this.pendingMin=null,{count:t,paddingStart:n,scrollMargin:o,getItemKey:r,enabled:s,lanes:i,laneAssignmentMode:l,gap:d}},{key:!1}),this.isIndexInRange=(t)=>t>=0&&t<this.options.count,this.getMeasurements=yn(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:t,paddingStart:n,scrollMargin:o,getItemKey:r,enabled:s,lanes:i,laneAssignmentMode:l,gap:d},u)=>{let c=this.itemSizeCache;if(!s)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>t){for(let y of this.laneAssignments.keys())if(y>=t)this.laneAssignments.delete(y)}if(this.lanesChangedFlag)this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null;if(this.measurementsCache.length===0&&!this.lanesSettling)this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach((y)=>{this.itemSizeCache.set(y.key,y.size)});let m=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===t)this.lanesSettling=!1;if(i===1){let y=t*2,I=this._flatMeasurements;if(!I||I.length<y){let N=new Float64Array(y);if(I&&m>0)N.set(I.subarray(0,m*2));I=N,this._flatMeasurements=I}let E;if(m===0)E=n+o;else{let N=m-1;E=I[N*2]+I[N*2+1]+d}for(let N=m;N<t;N++){let A=r(N),V=c.get(A),W=typeof V==="number"?V:this.options.estimateSize(N);I[N*2]=E,I[N*2+1]=W,E+=W+d}let T=ka(t,I,r);return this.measurementsCache=T,T}let p=this.measurementsCache.slice(0,m),f=Array(i).fill(void 0),h=new Float64Array(i),v=0;for(let y=0;y<m;y++){let I=p[y];if(I){if(f[I.lane]===void 0)v++;f[I.lane]=y,h[I.lane]=I.end}}for(let y=m;y<t;y++){let I=r(y),E=this.laneAssignments.get(y),T,N,A=l==="estimate"||c.has(I);if(E!==void 0&&this.options.lanes>1){T=E;let ye=f[T],b=ye!==void 0?p[ye]:void 0;N=b?b.end+d:n+o}else if(v===i){let ye=0,b=h[0],te=f[0];for(let H=1;H<i;H++){let O=h[H];if(O<b||O===b&&f[H]<te)ye=H,b=O,te=f[H]}if(T=ye,N=b+d,A)this.laneAssignments.set(y,T)}else if(T=y%this.options.lanes,N=n+o,A)this.laneAssignments.set(y,T);let V=c.get(I),W=typeof V==="number"?V:this.options.estimateSize(y),D=N+W;if(p[y]={index:y,start:N,size:W,end:D,key:I,lane:T},f[T]===void 0)v++;f[T]=y,h[T]=D}return this.measurementsCache=p,p},{key:!1,debug:()=>this.options.debug}),this.calculateRange=yn(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(t,n,o,r)=>{if(t.length===0||n===0)return this.range=null,null;return this.range=fc(t,n,o,r,r===1&&this._flatMeasurements!=null?this._flatMeasurements:null),this.range},{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=yn(()=>{let t=null,n=null,o=this.calculateRange();if(o)t=o.startIndex,n=o.endIndex;return this.maybeNotify.updateDeps([this.isScrolling,t,n]),[this.options.rangeExtractor,this.options.overscan,this.options.count,t,n]},(t,n,o,r,s)=>r===null||s===null?[]:t({startIndex:r,endIndex:s,overscan:n,count:o}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=(t)=>{let n=this.options.indexAttribute,o=t.getAttribute(n);if(!o)return console.warn(`Missing attribute name '${n}={index}' on measured element.`),-1;return parseInt(o,10)},this.shouldMeasureDuringScroll=(t)=>{var n;if(!this.scrollState||this.scrollState.behavior!=="smooth")return!0;let o=this.scrollState.index??((n=this.getVirtualItemForOffset(this.scrollState.lastTargetOffset))==null?void 0:n.index);if(o!==void 0&&this.range){let r=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),s=Math.max(0,o-r),i=Math.min(this.options.count-1,o+r);return t>=s&&t<=i}return!0},this.measureElement=(t)=>{if(!t){this.elementsCache.forEach((s,i)=>{if(!s.isConnected)this.observer.unobserve(s),this.elementsCache.delete(i)});return}let n=this.indexFromElement(t);if(!this.isIndexInRange(n))return;let o=this.options.getItemKey(n),r=this.elementsCache.get(o);if(r!==t){if(r)this.observer.unobserve(r);this.observer.observe(t),this.elementsCache.set(o,t)}if((!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(n))this.resizeItem(n,this.options.measureElement(t,void 0,this))},this.resizeItem=(t,n)=>{var o,r;if(!this.isIndexInRange(t))return;let s,i,l,d=this._flatMeasurements;if(this.options.lanes===1&&d!==null)l=this.options.getItemKey(t),i=d[t*2],s=d[t*2+1];else{let m=this.measurementsCache[t];if(!m)return;l=m.key,i=m.start,s=m.size}let u=this.itemSizeCache.get(l)??s,c=n-u;if(c!==0){let m=this.options.anchorTo==="end"&&((o=this.scrollState)==null?void 0:o.behavior)!=="smooth"&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,p=m?this.getTotalSize():0,f=this.getScrollOffset()+this.scrollAdjustments,v=!this.itemSizeCache.has(l)?i<f:i+u<=f&&this.scrollDirection!=="backward",y=((r=this.scrollState)==null?void 0:r.behavior)!=="smooth"&&(this.shouldAdjustScrollPositionOnItemSizeChange!==void 0?this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[t]??{index:t,key:l,start:i,size:s,end:i+s,lane:0},c,this):v);if(this.pendingMin===null||t<this.pendingMin)this.pendingMin=t;this.itemSizeCache.set(l,n),this.itemSizeCacheVersion++;let I=!1;if(m)I=this.applyScrollAdjustment(this.getTotalSize()-p);else if(y)I=this.applyScrollAdjustment(c);this.notify(I)}},this.getVirtualItems=yn(()=>[this.getVirtualIndexes(),this.getMeasurements()],(t,n)=>{let o=[];for(let r=0,s=t.length;r<s;r++){let i=t[r],l=n[i];o.push(l)}return o},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=(t)=>{let n=this.getMeasurements();if(n.length===0)return;let o=this._flatMeasurements,r=this.options.lanes===1&&o!=null,s=La(0,n.length-1,r?(i)=>o[i*2]:(i)=>Tr(n[i]).start,t);return Tr(n[s])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if("scrollHeight"in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;else{let t=this.scrollElement.document.documentElement;return this.options.horizontal?t.scrollWidth-this.scrollElement.innerWidth:t.scrollHeight-this.scrollElement.innerHeight}},this.getVirtualDistanceFromEnd=()=>Math.max(this.getTotalSize()-this.getSize()-this.getScrollOffset(),0),this.getDistanceFromEnd=()=>Math.max(this.getMaxScrollOffset()-this.getScrollOffset(),0),this.isAtEnd=(t=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=t,this.getOffsetForAlignment=(t,n,o=0)=>{if(!this.scrollElement)return 0;let r=this.getSize(),s=this.getScrollOffset();if(n==="auto")n=t>=s+r?"end":"start";if(n==="center")t+=(o-r)/2;else if(n==="end")t-=r;let i=this.getMaxScrollOffset();return Math.max(Math.min(i,t),0)},this.getOffsetForIndex=(t,n="auto")=>{t=Math.max(0,Math.min(t,this.options.count-1));let o=this.getSize(),r=this.getScrollOffset(),s=this.measurementsCache[t];if(!s)return;if(n==="auto")if(s.end>=r+o-this.options.scrollPaddingEnd)n="end";else if(s.start<=r+this.options.scrollPaddingStart)n="start";else return[r,n];if(n==="end"&&t===this.options.count-1)return[this.getMaxScrollOffset(),n];let i=n==="end"?s.end+this.options.scrollPaddingEnd:s.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(i,n,s.size),n]},this.scrollToOffset=(t,{align:n="start",behavior:o="auto"}={})=>{this._iosDeferredAdjustment=0;let r=this.getOffsetForAlignment(t,n),s=this.now();this.scrollState={index:null,align:n,behavior:o,startedAt:s,lastTargetOffset:r,stableFrames:0},this._scrollToOffset(r,{adjustments:void 0,behavior:o}),this.scheduleScrollReconcile()},this.scrollToIndex=(t,{align:n="auto",behavior:o="auto"}={})=>{this._iosDeferredAdjustment=0,t=Math.max(0,Math.min(t,this.options.count-1));let r=this.getOffsetForIndex(t,n);if(!r)return;let[s,i]=r,l=this.now();this.scrollState={index:t,align:i,behavior:o,startedAt:l,lastTargetOffset:s,stableFrames:0},this._scrollToOffset(s,{adjustments:void 0,behavior:o}),this.scheduleScrollReconcile()},this.scrollBy=(t,{behavior:n="auto"}={})=>{let o=this.getScrollOffset()+t,r=this.now();this.scrollState={index:null,align:"start",behavior:n,startedAt:r,lastTargetOffset:o,stableFrames:0},this._scrollToOffset(o,{adjustments:void 0,behavior:n}),this.scheduleScrollReconcile()},this.scrollToEnd=({behavior:t="auto"}={})=>{if(this.options.count>0){this.scrollToIndex(this.options.count-1,{align:"end",behavior:t});return}this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior:t})},this.getTotalSize=()=>{var t;let n=this.getMeasurements(),o;if(n.length===0)o=this.options.paddingStart;else if(this.options.lanes===1){let r=n.length-1,s=this._flatMeasurements;if(s!=null)o=s[r*2]+s[r*2+1];else o=((t=n[r])==null?void 0:t.end)??0}else{let r=Array(this.options.lanes).fill(null),s=n.length-1;while(s>=0&&r.some((i)=>i===null)){let i=n[s];if(r[i.lane]===null)r[i.lane]=i.end;s--}o=Math.max(...r.filter((i)=>i!==null))}return Math.max(o-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{let t=[];if(this.itemSizeCache.size===0)return t;let n=this.getMeasurements();for(let o of n)if(o&&this.itemSizeCache.has(o.key))t.push({index:o.index,key:o.key,start:o.start,size:o.size,end:o.end,lane:o.lane});return t},this._scrollToOffset=(t,{adjustments:n,behavior:o})=>{this._intendedScrollOffset=t+(n??0),this.options.scrollToFn(t,{behavior:o,adjustments:n},this)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(e)}applyScrollAdjustment(e,t){if(e===0)return!1;if(Nr()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded))return this._iosDeferredAdjustment+=e,!1;else{if(this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=e,behavior:t}),this.scrollOffset!==null){if(this.scrollOffset+=this.scrollAdjustments,this.scrollOffset<0)this.scrollOffset=0;this.scrollAdjustments=0}return!0}}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}if(this.rafId!=null)return;this.rafId=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()})}reconcileScroll(){if(!this.scrollState)return;if(!this.scrollElement)return;let t=5000;if(this.now()-this.scrollState.startedAt>t){this.scrollState=null;return}let n=this.scrollState.index!=null?this.getOffsetForIndex(this.scrollState.index,this.scrollState.align):void 0,o=n?n[0]:this.scrollState.lastTargetOffset,r=1,s=o!==this.scrollState.lastTargetOffset;if(!s&&Pa(o,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=r){if(this.getScrollOffset()!==o)this._scrollToOffset(o,{adjustments:void 0,behavior:"auto"});this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,s){let i=this.getSize()||600,l=Math.abs(o-this.getScrollOffset()),d=this.scrollState.behavior==="smooth"&&l>i;if(this.scrollState.lastTargetOffset=o,!d)this.scrollState.behavior="auto";this._scrollToOffset(o,{adjustments:void 0,behavior:d?"smooth":"auto"})}this.scheduleScrollReconcile()}}var La=(e,t,n,o)=>{while(e<=t){let r=(e+t)/2|0,s=n(r);if(s<o)e=r+1;else if(s>o)t=r-1;else return r}if(e>0)return e-1;else return 0};function pc(e,t,n){let o=0;while(o<=t){let r=(o+t)/2|0,s=e[r*2];if(s<n)o=r+1;else if(s>n)t=r-1;else return r}return o>0?o-1:0}function fc(e,t,n,o,r){let s=e.length-1;if(e.length<=o)return{startIndex:0,endIndex:s};if(o===1&&r!==null){let u=pc(r,s,n),c=u,m=n+t;while(c<s&&r[c*2]+r[c*2+1]<m)c++;return{startIndex:u,endIndex:c}}let l=La(0,s,(u)=>e[u].start,n),d=l;if(o===1)while(d<s&&e[d].end<n+t)d++;else if(o>1){let u=Array(o).fill(0);while(d<s&&u.some((m)=>m<n+t)){let m=e[d];u[m.lane]=m.end,d++}let c=Array(o).fill(n+t);while(l>=0&&c.some((m)=>m>=n)){let m=e[l];c[m.lane]=m.start,l--}l=Math.max(0,l-l%o),d=Math.min(s,d+(o-1-d%o))}return{startIndex:l,endIndex:d}}var Pr=typeof document<"u"?nt:S;function mc({useFlushSync:e=!0,directDomUpdates:t=!1,directDomUpdatesMode:n="transform",...o}){let r=kn((c)=>c+1,0)[1],s=M({enabled:t,mode:n,container:null,lastSize:null,lastPositions:new WeakMap,prevRange:null});s.current.enabled=t,s.current.mode=n;let i=(c)=>{let m=s.current;if(!m.enabled||!m.container)return;let p=c.getTotalSize();if(p!==m.lastSize){m.lastSize=p;let f=c.options.horizontal?"width":"height";m.container.style[f]=`${p}px`}},l=(c)=>{let m=s.current;if(!m.enabled||!m.container)return;i(c);let p=!!c.options.horizontal,f=m.mode==="transform",h=p?"left":"top",v=c.options.scrollMargin,y=c.getVirtualItems();for(let I of y){let E=I.start-v,T=c.elementsCache.get(I.key);if(!T)continue;if(m.lastPositions.get(T)===E)continue;if(m.lastPositions.set(T,E),f)T.style.transform=p?`translate3d(${E}px, 0, 0)`:`translate3d(0, ${E}px, 0)`;else T.style[h]=`${E}px`}},d={...o,onChange:(c,m)=>{var p;let f=s.current,h=!0;if(f.enabled){l(c);let v=c.range,y=f.prevRange;if(h=!y||y.isScrolling!==c.isScrolling||y.startIndex!==(v==null?void 0:v.startIndex)||y.endIndex!==(v==null?void 0:v.endIndex),h)f.prevRange=v?{startIndex:v.startIndex,endIndex:v.endIndex,isScrolling:c.isScrolling}:null}if(h)if(e&&m)Rn(r);else r();(p=o.onChange)==null||p.call(o,c,m)}},[u]=w(()=>{let c=new kr(d);return Object.assign(c,{containerRef:(m)=>{let p=s.current;if(p.container=m,p.lastSize=null,m&&p.enabled){let f=c.getTotalSize();p.lastSize=f;let h=c.options.horizontal?"width":"height";m.style[h]=`${f}px`}}})});return u.setOptions(d),Pr(()=>u._didMount(),[]),Pr(()=>(i(u),u._willUpdate())),Pr(()=>{l(u)}),u}function Io(e){return mc({observeElementRect:Oa,observeElementOffset:$a,scrollToFn:za,...e})}Z();function Ua({id:e,item:t,position:n,active:o,className:r,dragState:s,isNextItemDragging:i}){let l=s?.draggedIds.has(t.id),d=s?.isActive,{ref:u,isDropTarget:c}=ln({id:e,data:{type:"reorder",item:t,position:n},disabled:!o||l||!d});if(l||i)return null;return a("div",{ref:u,className:B("absolute top-0 bottom-0 w-4 flex-shrink-0 flex items-center justify-center pointer-events-auto z-50",n==="before"?"-left-2 -translate-x-1/2":"-right-2 translate-x-1/2",r),children:a("div",{className:B("h-full w-[3px] rounded-full transition-colors",c&&o&&!l&&d?"bg-primary":"bg-transparent")})})}function ja({folders:e,files:t,totalFolders:n,totalFiles:o,renderItem:r,foldersExpanded:s,setFoldersExpanded:i,filesExpanded:l,setFilesExpanded:d,hasNextFoldersPage:u,hasNextFilesPage:c,isFetchingNextFoldersPage:m,isFetchingNextFilesPage:p,fetchNextFoldersPage:f,fetchNextFilesPage:h,formatCount:v,formatSize:y,totalFoldersSize:I,totalFilesSize:E,handleEmptyAreaClick:T,dragState:N,sort:A,scrollContainerRef:V}){let W=M(null),[D,ye]=w(5);S(()=>{let O=()=>{if(!W.current)return;let Ee=W.current.offsetWidth;if(Ee<640)ye(2);else if(Ee<768)ye(2);else if(Ee<1024)ye(3);else if(Ee<1280)ye(4);else ye(5)};O();let q=new ResizeObserver(O);if(W.current)q.observe(W.current);return()=>q.disconnect()},[]);let b=G(()=>{let O=[],q=n??e.length;if(q>0){if(O.push({type:"header",kind:"folder"}),s){let Le=Math.ceil(q/D);for(let je=0;je<Le;je++)O.push({type:"row",kind:"folder",rowIndex:je})}}let Ee=o??t.length;if(Ee>0){if(O.push({type:"header",kind:"file"}),l){let Le=Math.ceil(Ee/D);for(let je=0;je<Le;je++)O.push({type:"row",kind:"file",rowIndex:je})}}return O},[s,l,e.length,t.length,n,o,D]),te=Io({count:b.length,getScrollElement:()=>V.current,estimateSize:(O)=>b[O]?.type==="header"?40:350,getItemKey:Q((O)=>{let q=b[O];if(!q)return O;if(q.type==="header")return`header-${q.kind}`;return`row-${q.kind}-${q.rowIndex}`},[b]),overscan:5,paddingEnd:240}),H=te.getVirtualItems();return S(()=>{if(H.length===0)return;for(let O of H){let q=b[O.index];if(q?.type==="row"){let Ee=q.kind==="folder",Le=Ee?e:t,je=q.rowIndex*D,Me=!Le[je],_=je>=Le.length-D*3;if(Ee&&u&&!m){if(Me||_){f();break}}else if(!Ee&&c&&!p){if(Me||_){h();break}}}}},[H,b,e.length,t.length,u,c,m,p,f,h,D]),a("div",{ref:W,className:"flex-1 p-4 relative",onClick:T,children:a("div",{className:"relative w-full",style:{height:`${te.getTotalSize()}px`},children:H.map((O)=>{let q=b[O.index];if(q.type==="header"){let _=q.kind==="folder",oe=_?n??e.length:o??t.length,ge=_?I??-1:E??-1,Ae=ge>-1,ae=_?s:l,_e=_?i:d;return a("div",{ref:te.measureElement,"data-index":O.index,className:"absolute top-0 left-0 w-full z-10 bg-background",style:{transform:`translateY(${O.start}px)`},children:g("button",{onClick:(Ye)=>{Ye.stopPropagation(),_e(!ae)},className:"mb-3 flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground",children:[ae?a(Be,{className:"h-4 w-4"}):a(jt,{className:"h-4 w-4"}),g("span",{children:[v(oe,!_),Ae?` • ${y(ge)}`:""]})]})},`header-${q.kind}`)}let Ee=q.kind==="folder",Le=Ee?e:t,je=q.rowIndex*D,Me=[];for(let _=0;_<D;_++)Me.push(Le[je+_]);return a("div",{ref:te.measureElement,"data-index":O.index,className:"absolute top-0 left-0 w-full grid gap-4",style:{transform:`translateY(${O.start}px)`,gridTemplateColumns:`repeat(${D}, minmax(0, 1fr))`},children:Me.map((_,oe)=>{let ge=je+oe;if(!_){let Ae=Ee?n??e.length:o??t.length;if(ge<Ae)return a("div",{className:"aspect-square bg-muted animate-pulse rounded-lg"},`skeleton-${ge}`);return a("div",{},`empty-${ge}`)}return g("div",{className:"group-reorder relative flex pb-10",children:[a(Ua,{id:`reorder-before-${q.kind}-${_.id}`,item:_,position:"before",active:A?.field==="custom",dragState:N}),a("div",{className:"flex-1 min-w-0",children:r(_)}),a(Ua,{id:`reorder-after-${q.kind}-${_.id}`,item:_,position:"after",active:A?.field==="custom",dragState:N,isNextItemDragging:Le[ge+1]&&N?.draggedIds.has(Le[ge+1].id)})]},_.id)})},`row-${q.kind}-${q.rowIndex}`)})})})}Z();function Zt(e,t){return typeof e==="function"?e(t):e}function Nt(e,t){return(n)=>{t.setState((o)=>({...o,[e]:Zt(n,o[e])}))}}function ko(e){return e instanceof Function}function gc(e){return Array.isArray(e)&&e.every((t)=>typeof t==="number")}function hc(e,t){let n=[],o=(r)=>{r.forEach((s)=>{n.push(s);let i=t(s);if(i!=null&&i.length)o(i)})};return o(e),n}function Te(e,t,n){let o=[],r;return(s)=>{let i;if(n.key&&n.debug)i=Date.now();let l=e(s);if(!(l.length!==o.length||l.some((c,m)=>o[m]!==c)))return r;o=l;let u;if(n.key&&n.debug)u=Date.now();if(r=t(...l),n==null||n.onChange==null||n.onChange(r),n.key&&n.debug){if(n!=null&&n.debug()){let c=Math.round((Date.now()-i)*100)/100,m=Math.round((Date.now()-u)*100)/100,p=m/16,f=(h,v)=>{h=String(h);while(h.length<v)h=" "+h;return h};console.info(`%c⏱ ${f(m,5)} /${f(c,5)} ms`,`
|
|
9
|
+
font-size: .6rem;
|
|
10
|
+
font-weight: bold;
|
|
11
|
+
color: hsl(${Math.max(0,Math.min(120-120*p,120))}deg 100% 31%);`,n==null?void 0:n.key)}}return r}}function Pe(e,t,n,o){return{debug:()=>{var r;return(r=e==null?void 0:e.debugAll)!=null?r:e[t]},key:!1,onChange:o}}function vc(e,t,n,o){let r=()=>{var i;return(i=s.getValue())!=null?i:e.options.renderFallbackValue},s={id:`${t.id}_${n.id}`,row:t,column:n,getValue:()=>t.getValue(o),renderValue:r,getContext:Te(()=>[e,n,t,s],(i,l,d,u)=>({table:i,column:l,row:d,cell:u,getValue:u.getValue,renderValue:u.renderValue}),Pe(e.options,"debugCells","cell.getContext"))};return e._features.forEach((i)=>{i.createCell==null||i.createCell(s,n,t,e)},{}),s}function wc(e,t,n,o){var r,s;let l={...e._getDefaultColumnDef(),...t},d=l.accessorKey,u=(r=(s=l.id)!=null?s:d?typeof String.prototype.replaceAll==="function"?d.replaceAll(".","_"):d.replace(/\./g,"_"):void 0)!=null?r:typeof l.header==="string"?l.header:void 0,c;if(l.accessorFn)c=l.accessorFn;else if(d)if(d.includes("."))c=(p)=>{let f=p;for(let v of d.split(".")){var h;f=(h=f)==null?void 0:h[v]}return f};else c=(p)=>p[l.accessorKey];if(!u)throw Error();let m={id:`${String(u)}`,accessorFn:c,parent:o,depth:n,columnDef:l,columns:[],getFlatColumns:Te(()=>[!0],()=>{var p;return[m,...(p=m.columns)==null?void 0:p.flatMap((f)=>f.getFlatColumns())]},Pe(e.options,"debugColumns","column.getFlatColumns")),getLeafColumns:Te(()=>[e._getOrderColumnsFn()],(p)=>{var f;if((f=m.columns)!=null&&f.length){let h=m.columns.flatMap((v)=>v.getLeafColumns());return p(h)}return[m]},Pe(e.options,"debugColumns","column.getLeafColumns"))};for(let p of e._features)p.createColumn==null||p.createColumn(m,e);return m}var St="debugHeaders";function Va(e,t,n){var o;let s={id:(o=n.id)!=null?o:t.id,column:t,index:n.index,isPlaceholder:!!n.isPlaceholder,placeholderId:n.placeholderId,depth:n.depth,subHeaders:[],colSpan:0,rowSpan:0,headerGroup:null,getLeafHeaders:()=>{let i=[],l=(d)=>{if(d.subHeaders&&d.subHeaders.length)d.subHeaders.map(l);i.push(d)};return l(s),i},getContext:()=>({table:e,header:s,column:t})};return e._features.forEach((i)=>{i.createHeader==null||i.createHeader(s,e)}),s}var yc={createTable:(e)=>{e.getHeaderGroups=Te(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,o,r)=>{var s,i;let l=(s=o==null?void 0:o.map((m)=>n.find((p)=>p.id===m)).filter(Boolean))!=null?s:[],d=(i=r==null?void 0:r.map((m)=>n.find((p)=>p.id===m)).filter(Boolean))!=null?i:[],u=n.filter((m)=>!(o!=null&&o.includes(m.id))&&!(r!=null&&r.includes(m.id)));return Mo(t,[...l,...u,...d],e)},Pe(e.options,St,"getHeaderGroups")),e.getCenterHeaderGroups=Te(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,o,r)=>(n=n.filter((s)=>!(o!=null&&o.includes(s.id))&&!(r!=null&&r.includes(s.id))),Mo(t,n,e,"center")),Pe(e.options,St,"getCenterHeaderGroups")),e.getLeftHeaderGroups=Te(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left],(t,n,o)=>{var r;let s=(r=o==null?void 0:o.map((i)=>n.find((l)=>l.id===i)).filter(Boolean))!=null?r:[];return Mo(t,s,e,"left")},Pe(e.options,St,"getLeftHeaderGroups")),e.getRightHeaderGroups=Te(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.right],(t,n,o)=>{var r;let s=(r=o==null?void 0:o.map((i)=>n.find((l)=>l.id===i)).filter(Boolean))!=null?r:[];return Mo(t,s,e,"right")},Pe(e.options,St,"getRightHeaderGroups")),e.getFooterGroups=Te(()=>[e.getHeaderGroups()],(t)=>[...t].reverse(),Pe(e.options,St,"getFooterGroups")),e.getLeftFooterGroups=Te(()=>[e.getLeftHeaderGroups()],(t)=>[...t].reverse(),Pe(e.options,St,"getLeftFooterGroups")),e.getCenterFooterGroups=Te(()=>[e.getCenterHeaderGroups()],(t)=>[...t].reverse(),Pe(e.options,St,"getCenterFooterGroups")),e.getRightFooterGroups=Te(()=>[e.getRightHeaderGroups()],(t)=>[...t].reverse(),Pe(e.options,St,"getRightFooterGroups")),e.getFlatHeaders=Te(()=>[e.getHeaderGroups()],(t)=>t.map((n)=>n.headers).flat(),Pe(e.options,St,"getFlatHeaders")),e.getLeftFlatHeaders=Te(()=>[e.getLeftHeaderGroups()],(t)=>t.map((n)=>n.headers).flat(),Pe(e.options,St,"getLeftFlatHeaders")),e.getCenterFlatHeaders=Te(()=>[e.getCenterHeaderGroups()],(t)=>t.map((n)=>n.headers).flat(),Pe(e.options,St,"getCenterFlatHeaders")),e.getRightFlatHeaders=Te(()=>[e.getRightHeaderGroups()],(t)=>t.map((n)=>n.headers).flat(),Pe(e.options,St,"getRightFlatHeaders")),e.getCenterLeafHeaders=Te(()=>[e.getCenterFlatHeaders()],(t)=>t.filter((n)=>{var o;return!((o=n.subHeaders)!=null&&o.length)}),Pe(e.options,St,"getCenterLeafHeaders")),e.getLeftLeafHeaders=Te(()=>[e.getLeftFlatHeaders()],(t)=>t.filter((n)=>{var o;return!((o=n.subHeaders)!=null&&o.length)}),Pe(e.options,St,"getLeftLeafHeaders")),e.getRightLeafHeaders=Te(()=>[e.getRightFlatHeaders()],(t)=>t.filter((n)=>{var o;return!((o=n.subHeaders)!=null&&o.length)}),Pe(e.options,St,"getRightLeafHeaders")),e.getLeafHeaders=Te(()=>[e.getLeftHeaderGroups(),e.getCenterHeaderGroups(),e.getRightHeaderGroups()],(t,n,o)=>{var r,s,i,l,d,u;return[...(r=(s=t[0])==null?void 0:s.headers)!=null?r:[],...(i=(l=n[0])==null?void 0:l.headers)!=null?i:[],...(d=(u=o[0])==null?void 0:u.headers)!=null?d:[]].map((c)=>c.getLeafHeaders()).flat()},Pe(e.options,St,"getLeafHeaders"))}};function Mo(e,t,n,o){var r,s;let i=0,l=function(p,f){if(f===void 0)f=1;i=Math.max(i,f),p.filter((h)=>h.getIsVisible()).forEach((h)=>{var v;if((v=h.columns)!=null&&v.length)l(h.columns,f+1)},0)};l(e);let d=[],u=(p,f)=>{let h={depth:f,id:[o,`${f}`].filter(Boolean).join("_"),headers:[]},v=[];if(p.forEach((y)=>{let I=[...v].reverse()[0],E=y.column.depth===h.depth,T,N=!1;if(E&&y.column.parent)T=y.column.parent;else T=y.column,N=!0;if(I&&(I==null?void 0:I.column)===T)I.subHeaders.push(y);else{let A=Va(n,T,{id:[o,f,T.id,y==null?void 0:y.id].filter(Boolean).join("_"),isPlaceholder:N,placeholderId:N?`${v.filter((V)=>V.column===T).length}`:void 0,depth:f,index:v.length});A.subHeaders.push(y),v.push(A)}h.headers.push(y),y.headerGroup=h}),d.push(h),f>0)u(v,f-1)},c=t.map((p,f)=>Va(n,p,{depth:i,index:f}));u(c,i-1),d.reverse();let m=(p)=>p.filter((h)=>h.column.getIsVisible()).map((h)=>{let v=0,y=0,I=[0];if(h.subHeaders&&h.subHeaders.length)I=[],m(h.subHeaders).forEach((T)=>{let{colSpan:N,rowSpan:A}=T;v+=N,I.push(A)});else v=1;let E=Math.min(...I);return y=y+E,h.colSpan=v,h.rowSpan=y,{colSpan:v,rowSpan:y}});return m((r=(s=d[0])==null?void 0:s.headers)!=null?r:[]),d}var xc=(e,t,n,o,r,s,i)=>{let l={id:t,index:o,original:n,depth:r,parentId:i,_valuesCache:{},_uniqueValuesCache:{},getValue:(d)=>{if(l._valuesCache.hasOwnProperty(d))return l._valuesCache[d];let u=e.getColumn(d);if(!(u!=null&&u.accessorFn))return;return l._valuesCache[d]=u.accessorFn(l.original,o),l._valuesCache[d]},getUniqueValues:(d)=>{if(l._uniqueValuesCache.hasOwnProperty(d))return l._uniqueValuesCache[d];let u=e.getColumn(d);if(!(u!=null&&u.accessorFn))return;if(!u.columnDef.getUniqueValues)return l._uniqueValuesCache[d]=[l.getValue(d)],l._uniqueValuesCache[d];return l._uniqueValuesCache[d]=u.columnDef.getUniqueValues(l.original,o),l._uniqueValuesCache[d]},renderValue:(d)=>{var u;return(u=l.getValue(d))!=null?u:e.options.renderFallbackValue},subRows:s!=null?s:[],getLeafRows:()=>hc(l.subRows,(d)=>d.subRows),getParentRow:()=>l.parentId?e.getRow(l.parentId,!0):void 0,getParentRows:()=>{let d=[],u=l;while(!0){let c=u.getParentRow();if(!c)break;d.push(c),u=c}return d.reverse()},getAllCells:Te(()=>[e.getAllLeafColumns()],(d)=>d.map((u)=>vc(e,l,u,u.id)),Pe(e.options,"debugRows","getAllCells")),_getAllCellsByColumnId:Te(()=>[l.getAllCells()],(d)=>d.reduce((u,c)=>(u[c.column.id]=c,u),{}),Pe(e.options,"debugRows","getAllCellsByColumnId"))};for(let d=0;d<e._features.length;d++){let u=e._features[d];u==null||u.createRow==null||u.createRow(l,e)}return l},bc={createColumn:(e,t)=>{e._getFacetedRowModel=t.options.getFacetedRowModel&&t.options.getFacetedRowModel(t,e.id),e.getFacetedRowModel=()=>{if(!e._getFacetedRowModel)return t.getPreFilteredRowModel();return e._getFacetedRowModel()},e._getFacetedUniqueValues=t.options.getFacetedUniqueValues&&t.options.getFacetedUniqueValues(t,e.id),e.getFacetedUniqueValues=()=>{if(!e._getFacetedUniqueValues)return new Map;return e._getFacetedUniqueValues()},e._getFacetedMinMaxValues=t.options.getFacetedMinMaxValues&&t.options.getFacetedMinMaxValues(t,e.id),e.getFacetedMinMaxValues=()=>{if(!e._getFacetedMinMaxValues)return;return e._getFacetedMinMaxValues()}}},Ba=(e,t,n)=>{var o,r;let s=n==null||(o=n.toString())==null?void 0:o.toLowerCase();return Boolean((r=e.getValue(t))==null||(r=r.toString())==null||(r=r.toLowerCase())==null?void 0:r.includes(s))};Ba.autoRemove=(e)=>Gt(e);var Ha=(e,t,n)=>{var o;return Boolean((o=e.getValue(t))==null||(o=o.toString())==null?void 0:o.includes(n))};Ha.autoRemove=(e)=>Gt(e);var Ga=(e,t,n)=>{var o;return((o=e.getValue(t))==null||(o=o.toString())==null?void 0:o.toLowerCase())===(n==null?void 0:n.toLowerCase())};Ga.autoRemove=(e)=>Gt(e);var Wa=(e,t,n)=>{var o;return(o=e.getValue(t))==null?void 0:o.includes(n)};Wa.autoRemove=(e)=>Gt(e);var Ka=(e,t,n)=>!n.some((o)=>{var r;return!((r=e.getValue(t))!=null&&r.includes(o))});Ka.autoRemove=(e)=>Gt(e)||!(e!=null&&e.length);var Xa=(e,t,n)=>n.some((o)=>{var r;return(r=e.getValue(t))==null?void 0:r.includes(o)});Xa.autoRemove=(e)=>Gt(e)||!(e!=null&&e.length);var Qa=(e,t,n)=>e.getValue(t)===n;Qa.autoRemove=(e)=>Gt(e);var Ya=(e,t,n)=>e.getValue(t)==n;Ya.autoRemove=(e)=>Gt(e);var Jr=(e,t,n)=>{let[o,r]=n,s=e.getValue(t);return s>=o&&s<=r};Jr.resolveFilterValue=(e)=>{let[t,n]=e,o=typeof t!=="number"?parseFloat(t):t,r=typeof n!=="number"?parseFloat(n):n,s=t===null||Number.isNaN(o)?-1/0:o,i=n===null||Number.isNaN(r)?1/0:r;if(s>i){let l=s;s=i,i=l}return[s,i]};Jr.autoRemove=(e)=>Gt(e)||Gt(e[0])&&Gt(e[1]);var Yt={includesString:Ba,includesStringSensitive:Ha,equalsString:Ga,arrIncludes:Wa,arrIncludesAll:Ka,arrIncludesSome:Xa,equals:Qa,weakEquals:Ya,inNumberRange:Jr};function Gt(e){return e===void 0||e===null||e===""}var Sc={getDefaultColumnDef:()=>({filterFn:"auto"}),getInitialState:(e)=>({columnFilters:[],...e}),getDefaultOptions:(e)=>({onColumnFiltersChange:Nt("columnFilters",e),filterFromLeafRows:!1,maxLeafRowFilterDepth:100}),createColumn:(e,t)=>{e.getAutoFilterFn=()=>{let n=t.getCoreRowModel().flatRows[0],o=n==null?void 0:n.getValue(e.id);if(typeof o==="string")return Yt.includesString;if(typeof o==="number")return Yt.inNumberRange;if(typeof o==="boolean")return Yt.equals;if(o!==null&&typeof o==="object")return Yt.equals;if(Array.isArray(o))return Yt.arrIncludes;return Yt.weakEquals},e.getFilterFn=()=>{var n,o;return ko(e.columnDef.filterFn)?e.columnDef.filterFn:e.columnDef.filterFn==="auto"?e.getAutoFilterFn():(n=(o=t.options.filterFns)==null?void 0:o[e.columnDef.filterFn])!=null?n:Yt[e.columnDef.filterFn]},e.getCanFilter=()=>{var n,o,r;return((n=e.columnDef.enableColumnFilter)!=null?n:!0)&&((o=t.options.enableColumnFilters)!=null?o:!0)&&((r=t.options.enableFilters)!=null?r:!0)&&!!e.accessorFn},e.getIsFiltered=()=>e.getFilterIndex()>-1,e.getFilterValue=()=>{var n;return(n=t.getState().columnFilters)==null||(n=n.find((o)=>o.id===e.id))==null?void 0:n.value},e.getFilterIndex=()=>{var n,o;return(n=(o=t.getState().columnFilters)==null?void 0:o.findIndex((r)=>r.id===e.id))!=null?n:-1},e.setFilterValue=(n)=>{t.setColumnFilters((o)=>{let r=e.getFilterFn(),s=o==null?void 0:o.find((c)=>c.id===e.id),i=Zt(n,s?s.value:void 0);if(qa(r,i,e)){var l;return(l=o==null?void 0:o.filter((c)=>c.id!==e.id))!=null?l:[]}let d={id:e.id,value:i};if(s){var u;return(u=o==null?void 0:o.map((c)=>{if(c.id===e.id)return d;return c}))!=null?u:[]}if(o!=null&&o.length)return[...o,d];return[d]})}},createRow:(e,t)=>{e.columnFilters={},e.columnFiltersMeta={}},createTable:(e)=>{e.setColumnFilters=(t)=>{let n=e.getAllLeafColumns(),o=(r)=>{var s;return(s=Zt(t,r))==null?void 0:s.filter((i)=>{let l=n.find((d)=>d.id===i.id);if(l){let d=l.getFilterFn();if(qa(d,i.value,l))return!1}return!0})};e.options.onColumnFiltersChange==null||e.options.onColumnFiltersChange(o)},e.resetColumnFilters=(t)=>{var n,o;e.setColumnFilters(t?[]:(n=(o=e.initialState)==null?void 0:o.columnFilters)!=null?n:[])},e.getPreFilteredRowModel=()=>e.getCoreRowModel(),e.getFilteredRowModel=()=>{if(!e._getFilteredRowModel&&e.options.getFilteredRowModel)e._getFilteredRowModel=e.options.getFilteredRowModel(e);if(e.options.manualFiltering||!e._getFilteredRowModel)return e.getPreFilteredRowModel();return e._getFilteredRowModel()}}};function qa(e,t,n){return(e&&e.autoRemove?e.autoRemove(t,n):!1)||typeof t>"u"||typeof t==="string"&&!t}var Cc=(e,t,n)=>n.reduce((o,r)=>{let s=r.getValue(e);return o+(typeof s==="number"?s:0)},0),Rc=(e,t,n)=>{let o;return n.forEach((r)=>{let s=r.getValue(e);if(s!=null&&(o>s||o===void 0&&s>=s))o=s}),o},Fc=(e,t,n)=>{let o;return n.forEach((r)=>{let s=r.getValue(e);if(s!=null&&(o<s||o===void 0&&s>=s))o=s}),o},Ic=(e,t,n)=>{let o,r;return n.forEach((s)=>{let i=s.getValue(e);if(i!=null)if(o===void 0){if(i>=i)o=r=i}else{if(o>i)o=i;if(r<i)r=i}}),[o,r]},Ec=(e,t)=>{let n=0,o=0;if(t.forEach((r)=>{let s=r.getValue(e);if(s!=null&&(s=+s)>=s)++n,o+=s}),n)return o/n;return},_c=(e,t)=>{if(!t.length)return;let n=t.map((s)=>s.getValue(e));if(!gc(n))return;if(n.length===1)return n[0];let o=Math.floor(n.length/2),r=n.sort((s,i)=>s-i);return n.length%2!==0?r[o]:(r[o-1]+r[o])/2},Mc=(e,t)=>Array.from(new Set(t.map((n)=>n.getValue(e))).values()),Tc=(e,t)=>new Set(t.map((n)=>n.getValue(e))).size,Nc=(e,t)=>t.length,Or={sum:Cc,min:Rc,max:Fc,extent:Ic,mean:Ec,median:_c,unique:Mc,uniqueCount:Tc,count:Nc},kc={getDefaultColumnDef:()=>({aggregatedCell:(e)=>{var t,n;return(t=(n=e.getValue())==null||n.toString==null?void 0:n.toString())!=null?t:null},aggregationFn:"auto"}),getInitialState:(e)=>({grouping:[],...e}),getDefaultOptions:(e)=>({onGroupingChange:Nt("grouping",e),groupedColumnMode:"reorder"}),createColumn:(e,t)=>{e.toggleGrouping=()=>{t.setGrouping((n)=>{if(n!=null&&n.includes(e.id))return n.filter((o)=>o!==e.id);return[...n!=null?n:[],e.id]})},e.getCanGroup=()=>{var n,o;return((n=e.columnDef.enableGrouping)!=null?n:!0)&&((o=t.options.enableGrouping)!=null?o:!0)&&(!!e.accessorFn||!!e.columnDef.getGroupingValue)},e.getIsGrouped=()=>{var n;return(n=t.getState().grouping)==null?void 0:n.includes(e.id)},e.getGroupedIndex=()=>{var n;return(n=t.getState().grouping)==null?void 0:n.indexOf(e.id)},e.getToggleGroupingHandler=()=>{let n=e.getCanGroup();return()=>{if(!n)return;e.toggleGrouping()}},e.getAutoAggregationFn=()=>{let n=t.getCoreRowModel().flatRows[0],o=n==null?void 0:n.getValue(e.id);if(typeof o==="number")return Or.sum;if(Object.prototype.toString.call(o)==="[object Date]")return Or.extent},e.getAggregationFn=()=>{var n,o;if(!e)throw Error();return ko(e.columnDef.aggregationFn)?e.columnDef.aggregationFn:e.columnDef.aggregationFn==="auto"?e.getAutoAggregationFn():(n=(o=t.options.aggregationFns)==null?void 0:o[e.columnDef.aggregationFn])!=null?n:Or[e.columnDef.aggregationFn]}},createTable:(e)=>{e.setGrouping=(t)=>e.options.onGroupingChange==null?void 0:e.options.onGroupingChange(t),e.resetGrouping=(t)=>{var n,o;e.setGrouping(t?[]:(n=(o=e.initialState)==null?void 0:o.grouping)!=null?n:[])},e.getPreGroupedRowModel=()=>e.getFilteredRowModel(),e.getGroupedRowModel=()=>{if(!e._getGroupedRowModel&&e.options.getGroupedRowModel)e._getGroupedRowModel=e.options.getGroupedRowModel(e);if(e.options.manualGrouping||!e._getGroupedRowModel)return e.getPreGroupedRowModel();return e._getGroupedRowModel()}},createRow:(e,t)=>{e.getIsGrouped=()=>!!e.groupingColumnId,e.getGroupingValue=(n)=>{if(e._groupingValuesCache.hasOwnProperty(n))return e._groupingValuesCache[n];let o=t.getColumn(n);if(!(o!=null&&o.columnDef.getGroupingValue))return e.getValue(n);return e._groupingValuesCache[n]=o.columnDef.getGroupingValue(e.original),e._groupingValuesCache[n]},e._groupingValuesCache={}},createCell:(e,t,n,o)=>{e.getIsGrouped=()=>t.getIsGrouped()&&t.id===n.groupingColumnId,e.getIsPlaceholder=()=>!e.getIsGrouped()&&t.getIsGrouped(),e.getIsAggregated=()=>{var r;return!e.getIsGrouped()&&!e.getIsPlaceholder()&&!!((r=n.subRows)!=null&&r.length)}}};function Pc(e,t,n){if(!(t!=null&&t.length)||!n)return e;let o=e.filter((s)=>!t.includes(s.id));if(n==="remove")return o;return[...t.map((s)=>e.find((i)=>i.id===s)).filter(Boolean),...o]}var Ac={getInitialState:(e)=>({columnOrder:[],...e}),getDefaultOptions:(e)=>({onColumnOrderChange:Nt("columnOrder",e)}),createColumn:(e,t)=>{e.getIndex=Te((n)=>[lo(t,n)],(n)=>n.findIndex((o)=>o.id===e.id),Pe(t.options,"debugColumns","getIndex")),e.getIsFirstColumn=(n)=>{var o;return((o=lo(t,n)[0])==null?void 0:o.id)===e.id},e.getIsLastColumn=(n)=>{var o;let r=lo(t,n);return((o=r[r.length-1])==null?void 0:o.id)===e.id}},createTable:(e)=>{e.setColumnOrder=(t)=>e.options.onColumnOrderChange==null?void 0:e.options.onColumnOrderChange(t),e.resetColumnOrder=(t)=>{var n;e.setColumnOrder(t?[]:(n=e.initialState.columnOrder)!=null?n:[])},e._getOrderColumnsFn=Te(()=>[e.getState().columnOrder,e.getState().grouping,e.options.groupedColumnMode],(t,n,o)=>(r)=>{let s=[];if(!(t!=null&&t.length))s=r;else{let i=[...t],l=[...r];while(l.length&&i.length){let d=i.shift(),u=l.findIndex((c)=>c.id===d);if(u>-1)s.push(l.splice(u,1)[0])}s=[...s,...l]}return Pc(s,n,o)},Pe(e.options,"debugTable","_getOrderColumnsFn"))}},$r=()=>({left:[],right:[]}),Dc={getInitialState:(e)=>({columnPinning:$r(),...e}),getDefaultOptions:(e)=>({onColumnPinningChange:Nt("columnPinning",e)}),createColumn:(e,t)=>{e.pin=(n)=>{let o=e.getLeafColumns().map((r)=>r.id).filter(Boolean);t.setColumnPinning((r)=>{var s,i;if(n==="right"){var l,d;return{left:((l=r==null?void 0:r.left)!=null?l:[]).filter((m)=>!(o!=null&&o.includes(m))),right:[...((d=r==null?void 0:r.right)!=null?d:[]).filter((m)=>!(o!=null&&o.includes(m))),...o]}}if(n==="left"){var u,c;return{left:[...((u=r==null?void 0:r.left)!=null?u:[]).filter((m)=>!(o!=null&&o.includes(m))),...o],right:((c=r==null?void 0:r.right)!=null?c:[]).filter((m)=>!(o!=null&&o.includes(m)))}}return{left:((s=r==null?void 0:r.left)!=null?s:[]).filter((m)=>!(o!=null&&o.includes(m))),right:((i=r==null?void 0:r.right)!=null?i:[]).filter((m)=>!(o!=null&&o.includes(m)))}})},e.getCanPin=()=>e.getLeafColumns().some((o)=>{var r,s,i;return((r=o.columnDef.enablePinning)!=null?r:!0)&&((s=(i=t.options.enableColumnPinning)!=null?i:t.options.enablePinning)!=null?s:!0)}),e.getIsPinned=()=>{let n=e.getLeafColumns().map((l)=>l.id),{left:o,right:r}=t.getState().columnPinning,s=n.some((l)=>o==null?void 0:o.includes(l)),i=n.some((l)=>r==null?void 0:r.includes(l));return s?"left":i?"right":!1},e.getPinnedIndex=()=>{var n,o;let r=e.getIsPinned();return r?(n=(o=t.getState().columnPinning)==null||(o=o[r])==null?void 0:o.indexOf(e.id))!=null?n:-1:0}},createRow:(e,t)=>{e.getCenterVisibleCells=Te(()=>[e._getAllVisibleCells(),t.getState().columnPinning.left,t.getState().columnPinning.right],(n,o,r)=>{let s=[...o!=null?o:[],...r!=null?r:[]];return n.filter((i)=>!s.includes(i.column.id))},Pe(t.options,"debugRows","getCenterVisibleCells")),e.getLeftVisibleCells=Te(()=>[e._getAllVisibleCells(),t.getState().columnPinning.left],(n,o)=>(o!=null?o:[]).map((s)=>n.find((i)=>i.column.id===s)).filter(Boolean).map((s)=>({...s,position:"left"})),Pe(t.options,"debugRows","getLeftVisibleCells")),e.getRightVisibleCells=Te(()=>[e._getAllVisibleCells(),t.getState().columnPinning.right],(n,o)=>(o!=null?o:[]).map((s)=>n.find((i)=>i.column.id===s)).filter(Boolean).map((s)=>({...s,position:"right"})),Pe(t.options,"debugRows","getRightVisibleCells"))},createTable:(e)=>{e.setColumnPinning=(t)=>e.options.onColumnPinningChange==null?void 0:e.options.onColumnPinningChange(t),e.resetColumnPinning=(t)=>{var n,o;return e.setColumnPinning(t?$r():(n=(o=e.initialState)==null?void 0:o.columnPinning)!=null?n:$r())},e.getIsSomeColumnsPinned=(t)=>{var n;let o=e.getState().columnPinning;if(!t){var r,s;return Boolean(((r=o.left)==null?void 0:r.length)||((s=o.right)==null?void 0:s.length))}return Boolean((n=o[t])==null?void 0:n.length)},e.getLeftLeafColumns=Te(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left],(t,n)=>(n!=null?n:[]).map((o)=>t.find((r)=>r.id===o)).filter(Boolean),Pe(e.options,"debugColumns","getLeftLeafColumns")),e.getRightLeafColumns=Te(()=>[e.getAllLeafColumns(),e.getState().columnPinning.right],(t,n)=>(n!=null?n:[]).map((o)=>t.find((r)=>r.id===o)).filter(Boolean),Pe(e.options,"debugColumns","getRightLeafColumns")),e.getCenterLeafColumns=Te(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,o)=>{let r=[...n!=null?n:[],...o!=null?o:[]];return t.filter((s)=>!r.includes(s.id))},Pe(e.options,"debugColumns","getCenterLeafColumns"))}};function Oc(e){return e||(typeof document<"u"?document:null)}var To={size:150,minSize:20,maxSize:Number.MAX_SAFE_INTEGER},zr=()=>({startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]}),zc={getDefaultColumnDef:()=>To,getInitialState:(e)=>({columnSizing:{},columnSizingInfo:zr(),...e}),getDefaultOptions:(e)=>({columnResizeMode:"onEnd",columnResizeDirection:"ltr",onColumnSizingChange:Nt("columnSizing",e),onColumnSizingInfoChange:Nt("columnSizingInfo",e)}),createColumn:(e,t)=>{e.getSize=()=>{var n,o,r;let s=t.getState().columnSizing[e.id];return Math.min(Math.max((n=e.columnDef.minSize)!=null?n:To.minSize,(o=s!=null?s:e.columnDef.size)!=null?o:To.size),(r=e.columnDef.maxSize)!=null?r:To.maxSize)},e.getStart=Te((n)=>[n,lo(t,n),t.getState().columnSizing],(n,o)=>o.slice(0,e.getIndex(n)).reduce((r,s)=>r+s.getSize(),0),Pe(t.options,"debugColumns","getStart")),e.getAfter=Te((n)=>[n,lo(t,n),t.getState().columnSizing],(n,o)=>o.slice(e.getIndex(n)+1).reduce((r,s)=>r+s.getSize(),0),Pe(t.options,"debugColumns","getAfter")),e.resetSize=()=>{t.setColumnSizing((n)=>{let{[e.id]:o,...r}=n;return r})},e.getCanResize=()=>{var n,o;return((n=e.columnDef.enableResizing)!=null?n:!0)&&((o=t.options.enableColumnResizing)!=null?o:!0)},e.getIsResizing=()=>t.getState().columnSizingInfo.isResizingColumn===e.id},createHeader:(e,t)=>{e.getSize=()=>{let n=0,o=(r)=>{if(r.subHeaders.length)r.subHeaders.forEach(o);else{var s;n+=(s=r.column.getSize())!=null?s:0}};return o(e),n},e.getStart=()=>{if(e.index>0){let n=e.headerGroup.headers[e.index-1];return n.getStart()+n.getSize()}return 0},e.getResizeHandler=(n)=>{let o=t.getColumn(e.column.id),r=o==null?void 0:o.getCanResize();return(s)=>{if(!o||!r)return;if(s.persist==null||s.persist(),Ur(s)){if(s.touches&&s.touches.length>1)return}let i=e.getSize(),l=e?e.getLeafHeaders().map((I)=>[I.column.id,I.column.getSize()]):[[o.id,o.getSize()]],d=Ur(s)?Math.round(s.touches[0].clientX):s.clientX,u={},c=(I,E)=>{if(typeof E!=="number")return;if(t.setColumnSizingInfo((T)=>{var N,A;let V=t.options.columnResizeDirection==="rtl"?-1:1,W=(E-((N=T==null?void 0:T.startOffset)!=null?N:0))*V,D=Math.max(W/((A=T==null?void 0:T.startSize)!=null?A:0),-0.999999);return T.columnSizingStart.forEach((ye)=>{let[b,te]=ye;u[b]=Math.round(Math.max(te+te*D,0)*100)/100}),{...T,deltaOffset:W,deltaPercentage:D}}),t.options.columnResizeMode==="onChange"||I==="end")t.setColumnSizing((T)=>({...T,...u}))},m=(I)=>c("move",I),p=(I)=>{c("end",I),t.setColumnSizingInfo((E)=>({...E,isResizingColumn:!1,startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,columnSizingStart:[]}))},f=Oc(n),h={moveHandler:(I)=>m(I.clientX),upHandler:(I)=>{f==null||f.removeEventListener("mousemove",h.moveHandler),f==null||f.removeEventListener("mouseup",h.upHandler),p(I.clientX)}},v={moveHandler:(I)=>{if(I.cancelable)I.preventDefault(),I.stopPropagation();return m(I.touches[0].clientX),!1},upHandler:(I)=>{var E;if(f==null||f.removeEventListener("touchmove",v.moveHandler),f==null||f.removeEventListener("touchend",v.upHandler),I.cancelable)I.preventDefault(),I.stopPropagation();p((E=I.touches[0])==null?void 0:E.clientX)}},y=Lc()?{passive:!1}:!1;if(Ur(s))f==null||f.addEventListener("touchmove",v.moveHandler,y),f==null||f.addEventListener("touchend",v.upHandler,y);else f==null||f.addEventListener("mousemove",h.moveHandler,y),f==null||f.addEventListener("mouseup",h.upHandler,y);t.setColumnSizingInfo((I)=>({...I,startOffset:d,startSize:i,deltaOffset:0,deltaPercentage:0,columnSizingStart:l,isResizingColumn:o.id}))}}},createTable:(e)=>{e.setColumnSizing=(t)=>e.options.onColumnSizingChange==null?void 0:e.options.onColumnSizingChange(t),e.setColumnSizingInfo=(t)=>e.options.onColumnSizingInfoChange==null?void 0:e.options.onColumnSizingInfoChange(t),e.resetColumnSizing=(t)=>{var n;e.setColumnSizing(t?{}:(n=e.initialState.columnSizing)!=null?n:{})},e.resetHeaderSizeInfo=(t)=>{var n;e.setColumnSizingInfo(t?zr():(n=e.initialState.columnSizingInfo)!=null?n:zr())},e.getTotalSize=()=>{var t,n;return(t=(n=e.getHeaderGroups()[0])==null?void 0:n.headers.reduce((o,r)=>o+r.getSize(),0))!=null?t:0},e.getLeftTotalSize=()=>{var t,n;return(t=(n=e.getLeftHeaderGroups()[0])==null?void 0:n.headers.reduce((o,r)=>o+r.getSize(),0))!=null?t:0},e.getCenterTotalSize=()=>{var t,n;return(t=(n=e.getCenterHeaderGroups()[0])==null?void 0:n.headers.reduce((o,r)=>o+r.getSize(),0))!=null?t:0},e.getRightTotalSize=()=>{var t,n;return(t=(n=e.getRightHeaderGroups()[0])==null?void 0:n.headers.reduce((o,r)=>o+r.getSize(),0))!=null?t:0}}},No=null;function Lc(){if(typeof No==="boolean")return No;let e=!1;try{let t={get passive(){return e=!0,!1}},n=()=>{};window.addEventListener("test",n,t),window.removeEventListener("test",n)}catch(t){e=!1}return No=e,No}function Ur(e){return e.type==="touchstart"}var Vc={getInitialState:(e)=>({columnVisibility:{},...e}),getDefaultOptions:(e)=>({onColumnVisibilityChange:Nt("columnVisibility",e)}),createColumn:(e,t)=>{e.toggleVisibility=(n)=>{if(e.getCanHide())t.setColumnVisibility((o)=>({...o,[e.id]:n!=null?n:!e.getIsVisible()}))},e.getIsVisible=()=>{var n,o;let r=e.columns;return(n=r.length?r.some((s)=>s.getIsVisible()):(o=t.getState().columnVisibility)==null?void 0:o[e.id])!=null?n:!0},e.getCanHide=()=>{var n,o;return((n=e.columnDef.enableHiding)!=null?n:!0)&&((o=t.options.enableHiding)!=null?o:!0)},e.getToggleVisibilityHandler=()=>(n)=>{e.toggleVisibility==null||e.toggleVisibility(n.target.checked)}},createRow:(e,t)=>{e._getAllVisibleCells=Te(()=>[e.getAllCells(),t.getState().columnVisibility],(n)=>n.filter((o)=>o.column.getIsVisible()),Pe(t.options,"debugRows","_getAllVisibleCells")),e.getVisibleCells=Te(()=>[e.getLeftVisibleCells(),e.getCenterVisibleCells(),e.getRightVisibleCells()],(n,o,r)=>[...n,...o,...r],Pe(t.options,"debugRows","getVisibleCells"))},createTable:(e)=>{let t=(n,o)=>Te(()=>[o(),o().filter((r)=>r.getIsVisible()).map((r)=>r.id).join("_")],(r)=>r.filter((s)=>s.getIsVisible==null?void 0:s.getIsVisible()),Pe(e.options,"debugColumns",n));e.getVisibleFlatColumns=t("getVisibleFlatColumns",()=>e.getAllFlatColumns()),e.getVisibleLeafColumns=t("getVisibleLeafColumns",()=>e.getAllLeafColumns()),e.getLeftVisibleLeafColumns=t("getLeftVisibleLeafColumns",()=>e.getLeftLeafColumns()),e.getRightVisibleLeafColumns=t("getRightVisibleLeafColumns",()=>e.getRightLeafColumns()),e.getCenterVisibleLeafColumns=t("getCenterVisibleLeafColumns",()=>e.getCenterLeafColumns()),e.setColumnVisibility=(n)=>e.options.onColumnVisibilityChange==null?void 0:e.options.onColumnVisibilityChange(n),e.resetColumnVisibility=(n)=>{var o;e.setColumnVisibility(n?{}:(o=e.initialState.columnVisibility)!=null?o:{})},e.toggleAllColumnsVisible=(n)=>{var o;n=(o=n)!=null?o:!e.getIsAllColumnsVisible(),e.setColumnVisibility(e.getAllLeafColumns().reduce((r,s)=>({...r,[s.id]:!n?!(s.getCanHide!=null&&s.getCanHide()):n}),{}))},e.getIsAllColumnsVisible=()=>!e.getAllLeafColumns().some((n)=>!(n.getIsVisible!=null&&n.getIsVisible())),e.getIsSomeColumnsVisible=()=>e.getAllLeafColumns().some((n)=>n.getIsVisible==null?void 0:n.getIsVisible()),e.getToggleAllColumnsVisibilityHandler=()=>(n)=>{var o;e.toggleAllColumnsVisible((o=n.target)==null?void 0:o.checked)}}};function lo(e,t){return!t?e.getVisibleLeafColumns():t==="center"?e.getCenterVisibleLeafColumns():t==="left"?e.getLeftVisibleLeafColumns():e.getRightVisibleLeafColumns()}var qc={createTable:(e)=>{e._getGlobalFacetedRowModel=e.options.getFacetedRowModel&&e.options.getFacetedRowModel(e,"__global__"),e.getGlobalFacetedRowModel=()=>{if(e.options.manualFiltering||!e._getGlobalFacetedRowModel)return e.getPreFilteredRowModel();return e._getGlobalFacetedRowModel()},e._getGlobalFacetedUniqueValues=e.options.getFacetedUniqueValues&&e.options.getFacetedUniqueValues(e,"__global__"),e.getGlobalFacetedUniqueValues=()=>{if(!e._getGlobalFacetedUniqueValues)return new Map;return e._getGlobalFacetedUniqueValues()},e._getGlobalFacetedMinMaxValues=e.options.getFacetedMinMaxValues&&e.options.getFacetedMinMaxValues(e,"__global__"),e.getGlobalFacetedMinMaxValues=()=>{if(!e._getGlobalFacetedMinMaxValues)return;return e._getGlobalFacetedMinMaxValues()}}},Wc={getInitialState:(e)=>({globalFilter:void 0,...e}),getDefaultOptions:(e)=>({onGlobalFilterChange:Nt("globalFilter",e),globalFilterFn:"auto",getColumnCanGlobalFilter:(t)=>{var n;let o=(n=e.getCoreRowModel().flatRows[0])==null||(n=n._getAllCellsByColumnId()[t.id])==null?void 0:n.getValue();return typeof o==="string"||typeof o==="number"}}),createColumn:(e,t)=>{e.getCanGlobalFilter=()=>{var n,o,r,s;return((n=e.columnDef.enableGlobalFilter)!=null?n:!0)&&((o=t.options.enableGlobalFilter)!=null?o:!0)&&((r=t.options.enableFilters)!=null?r:!0)&&((s=t.options.getColumnCanGlobalFilter==null?void 0:t.options.getColumnCanGlobalFilter(e))!=null?s:!0)&&!!e.accessorFn}},createTable:(e)=>{e.getGlobalAutoFilterFn=()=>Yt.includesString,e.getGlobalFilterFn=()=>{var t,n;let{globalFilterFn:o}=e.options;return ko(o)?o:o==="auto"?e.getGlobalAutoFilterFn():(t=(n=e.options.filterFns)==null?void 0:n[o])!=null?t:Yt[o]},e.setGlobalFilter=(t)=>{e.options.onGlobalFilterChange==null||e.options.onGlobalFilterChange(t)},e.resetGlobalFilter=(t)=>{e.setGlobalFilter(t?void 0:e.initialState.globalFilter)}}},Kc={getInitialState:(e)=>({expanded:{},...e}),getDefaultOptions:(e)=>({onExpandedChange:Nt("expanded",e),paginateExpandedRows:!0}),createTable:(e)=>{let t=!1,n=!1;e._autoResetExpanded=()=>{var o,r;if(!t){e._queue(()=>{t=!0});return}if((o=(r=e.options.autoResetAll)!=null?r:e.options.autoResetExpanded)!=null?o:!e.options.manualExpanding){if(n)return;n=!0,e._queue(()=>{e.resetExpanded(),n=!1})}},e.setExpanded=(o)=>e.options.onExpandedChange==null?void 0:e.options.onExpandedChange(o),e.toggleAllRowsExpanded=(o)=>{if(o!=null?o:!e.getIsAllRowsExpanded())e.setExpanded(!0);else e.setExpanded({})},e.resetExpanded=(o)=>{var r,s;e.setExpanded(o?{}:(r=(s=e.initialState)==null?void 0:s.expanded)!=null?r:{})},e.getCanSomeRowsExpand=()=>e.getPrePaginationRowModel().flatRows.some((o)=>o.getCanExpand()),e.getToggleAllRowsExpandedHandler=()=>(o)=>{o.persist==null||o.persist(),e.toggleAllRowsExpanded()},e.getIsSomeRowsExpanded=()=>{let o=e.getState().expanded;return o===!0||Object.values(o).some(Boolean)},e.getIsAllRowsExpanded=()=>{let o=e.getState().expanded;if(typeof o==="boolean")return o===!0;if(!Object.keys(o).length)return!1;if(e.getRowModel().flatRows.some((r)=>!r.getIsExpanded()))return!1;return!0},e.getExpandedDepth=()=>{let o=0;return(e.getState().expanded===!0?Object.keys(e.getRowModel().rowsById):Object.keys(e.getState().expanded)).forEach((s)=>{let i=s.split(".");o=Math.max(o,i.length)}),o},e.getPreExpandedRowModel=()=>e.getSortedRowModel(),e.getExpandedRowModel=()=>{if(!e._getExpandedRowModel&&e.options.getExpandedRowModel)e._getExpandedRowModel=e.options.getExpandedRowModel(e);if(e.options.manualExpanding||!e._getExpandedRowModel)return e.getPreExpandedRowModel();return e._getExpandedRowModel()}},createRow:(e,t)=>{e.toggleExpanded=(n)=>{t.setExpanded((o)=>{var r;let s=o===!0?!0:!!(o!=null&&o[e.id]),i={};if(o===!0)Object.keys(t.getRowModel().rowsById).forEach((l)=>{i[l]=!0});else i=o;if(n=(r=n)!=null?r:!s,!s&&n)return{...i,[e.id]:!0};if(s&&!n){let{[e.id]:l,...d}=i;return d}return o})},e.getIsExpanded=()=>{var n;let o=t.getState().expanded;return!!((n=t.options.getIsRowExpanded==null?void 0:t.options.getIsRowExpanded(e))!=null?n:o===!0||(o==null?void 0:o[e.id]))},e.getCanExpand=()=>{var n,o,r;return(n=t.options.getRowCanExpand==null?void 0:t.options.getRowCanExpand(e))!=null?n:((o=t.options.enableExpanding)!=null?o:!0)&&!!((r=e.subRows)!=null&&r.length)},e.getIsAllParentsExpanded=()=>{let n=!0,o=e;while(n&&o.parentId)o=t.getRow(o.parentId,!0),n=o.getIsExpanded();return n},e.getToggleExpandedHandler=()=>{let n=e.getCanExpand();return()=>{if(!n)return;e.toggleExpanded()}}}},Hr=0,Wr=10,jr=()=>({pageIndex:Hr,pageSize:Wr}),Zc={getInitialState:(e)=>({...e,pagination:{...jr(),...e==null?void 0:e.pagination}}),getDefaultOptions:(e)=>({onPaginationChange:Nt("pagination",e)}),createTable:(e)=>{let t=!1,n=!1;e._autoResetPageIndex=()=>{var o,r;if(!t){e._queue(()=>{t=!0});return}if((o=(r=e.options.autoResetAll)!=null?r:e.options.autoResetPageIndex)!=null?o:!e.options.manualPagination){if(n)return;n=!0,e._queue(()=>{e.resetPageIndex(),n=!1})}},e.setPagination=(o)=>{let r=(s)=>Zt(o,s);return e.options.onPaginationChange==null?void 0:e.options.onPaginationChange(r)},e.resetPagination=(o)=>{var r;e.setPagination(o?jr():(r=e.initialState.pagination)!=null?r:jr())},e.setPageIndex=(o)=>{e.setPagination((r)=>{let s=Zt(o,r.pageIndex),i=typeof e.options.pageCount>"u"||e.options.pageCount===-1?Number.MAX_SAFE_INTEGER:e.options.pageCount-1;return s=Math.max(0,Math.min(s,i)),{...r,pageIndex:s}})},e.resetPageIndex=(o)=>{var r,s;e.setPageIndex(o?Hr:(r=(s=e.initialState)==null||(s=s.pagination)==null?void 0:s.pageIndex)!=null?r:Hr)},e.resetPageSize=(o)=>{var r,s;e.setPageSize(o?Wr:(r=(s=e.initialState)==null||(s=s.pagination)==null?void 0:s.pageSize)!=null?r:Wr)},e.setPageSize=(o)=>{e.setPagination((r)=>{let s=Math.max(1,Zt(o,r.pageSize)),i=r.pageSize*r.pageIndex,l=Math.floor(i/s);return{...r,pageIndex:l,pageSize:s}})},e.setPageCount=(o)=>e.setPagination((r)=>{var s;let i=Zt(o,(s=e.options.pageCount)!=null?s:-1);if(typeof i==="number")i=Math.max(-1,i);return{...r,pageCount:i}}),e.getPageOptions=Te(()=>[e.getPageCount()],(o)=>{let r=[];if(o&&o>0)r=[...Array(o)].fill(null).map((s,i)=>i);return r},Pe(e.options,"debugTable","getPageOptions")),e.getCanPreviousPage=()=>e.getState().pagination.pageIndex>0,e.getCanNextPage=()=>{let{pageIndex:o}=e.getState().pagination,r=e.getPageCount();if(r===-1)return!0;if(r===0)return!1;return o<r-1},e.previousPage=()=>e.setPageIndex((o)=>o-1),e.nextPage=()=>e.setPageIndex((o)=>o+1),e.firstPage=()=>e.setPageIndex(0),e.lastPage=()=>e.setPageIndex(e.getPageCount()-1),e.getPrePaginationRowModel=()=>e.getExpandedRowModel(),e.getPaginationRowModel=()=>{if(!e._getPaginationRowModel&&e.options.getPaginationRowModel)e._getPaginationRowModel=e.options.getPaginationRowModel(e);if(e.options.manualPagination||!e._getPaginationRowModel)return e.getPrePaginationRowModel();return e._getPaginationRowModel()},e.getPageCount=()=>{var o;return(o=e.options.pageCount)!=null?o:Math.ceil(e.getRowCount()/e.getState().pagination.pageSize)},e.getRowCount=()=>{var o;return(o=e.options.rowCount)!=null?o:e.getPrePaginationRowModel().rows.length}}},Vr=()=>({top:[],bottom:[]}),tp={getInitialState:(e)=>({rowPinning:Vr(),...e}),getDefaultOptions:(e)=>({onRowPinningChange:Nt("rowPinning",e)}),createRow:(e,t)=>{e.pin=(n,o,r)=>{let s=o?e.getLeafRows().map((d)=>{let{id:u}=d;return u}):[],i=r?e.getParentRows().map((d)=>{let{id:u}=d;return u}):[],l=new Set([...i,e.id,...s]);t.setRowPinning((d)=>{var u,c;if(n==="bottom"){var m,p;return{top:((m=d==null?void 0:d.top)!=null?m:[]).filter((v)=>!(l!=null&&l.has(v))),bottom:[...((p=d==null?void 0:d.bottom)!=null?p:[]).filter((v)=>!(l!=null&&l.has(v))),...Array.from(l)]}}if(n==="top"){var f,h;return{top:[...((f=d==null?void 0:d.top)!=null?f:[]).filter((v)=>!(l!=null&&l.has(v))),...Array.from(l)],bottom:((h=d==null?void 0:d.bottom)!=null?h:[]).filter((v)=>!(l!=null&&l.has(v)))}}return{top:((u=d==null?void 0:d.top)!=null?u:[]).filter((v)=>!(l!=null&&l.has(v))),bottom:((c=d==null?void 0:d.bottom)!=null?c:[]).filter((v)=>!(l!=null&&l.has(v)))}})},e.getCanPin=()=>{var n;let{enableRowPinning:o,enablePinning:r}=t.options;if(typeof o==="function")return o(e);return(n=o!=null?o:r)!=null?n:!0},e.getIsPinned=()=>{let n=[e.id],{top:o,bottom:r}=t.getState().rowPinning,s=n.some((l)=>o==null?void 0:o.includes(l)),i=n.some((l)=>r==null?void 0:r.includes(l));return s?"top":i?"bottom":!1},e.getPinnedIndex=()=>{var n,o;let r=e.getIsPinned();if(!r)return-1;let s=(n=r==="top"?t.getTopRows():t.getBottomRows())==null?void 0:n.map((i)=>{let{id:l}=i;return l});return(o=s==null?void 0:s.indexOf(e.id))!=null?o:-1}},createTable:(e)=>{e.setRowPinning=(t)=>e.options.onRowPinningChange==null?void 0:e.options.onRowPinningChange(t),e.resetRowPinning=(t)=>{var n,o;return e.setRowPinning(t?Vr():(n=(o=e.initialState)==null?void 0:o.rowPinning)!=null?n:Vr())},e.getIsSomeRowsPinned=(t)=>{var n;let o=e.getState().rowPinning;if(!t){var r,s;return Boolean(((r=o.top)==null?void 0:r.length)||((s=o.bottom)==null?void 0:s.length))}return Boolean((n=o[t])==null?void 0:n.length)},e._getPinnedRows=(t,n,o)=>{var r;return(((r=e.options.keepPinnedRows)!=null?r:!0)?(n!=null?n:[]).map((i)=>{let l=e.getRow(i,!0);return l.getIsAllParentsExpanded()?l:null}):(n!=null?n:[]).map((i)=>t.find((l)=>l.id===i))).filter(Boolean).map((i)=>({...i,position:o}))},e.getTopRows=Te(()=>[e.getRowModel().rows,e.getState().rowPinning.top],(t,n)=>e._getPinnedRows(t,n,"top"),Pe(e.options,"debugRows","getTopRows")),e.getBottomRows=Te(()=>[e.getRowModel().rows,e.getState().rowPinning.bottom],(t,n)=>e._getPinnedRows(t,n,"bottom"),Pe(e.options,"debugRows","getBottomRows")),e.getCenterRows=Te(()=>[e.getRowModel().rows,e.getState().rowPinning.top,e.getState().rowPinning.bottom],(t,n,o)=>{let r=new Set([...n!=null?n:[],...o!=null?o:[]]);return t.filter((s)=>!r.has(s.id))},Pe(e.options,"debugRows","getCenterRows"))}},op={getInitialState:(e)=>({rowSelection:{},...e}),getDefaultOptions:(e)=>({onRowSelectionChange:Nt("rowSelection",e),enableRowSelection:!0,enableMultiRowSelection:!0,enableSubRowSelection:!0}),createTable:(e)=>{e.setRowSelection=(t)=>e.options.onRowSelectionChange==null?void 0:e.options.onRowSelectionChange(t),e.resetRowSelection=(t)=>{var n;return e.setRowSelection(t?{}:(n=e.initialState.rowSelection)!=null?n:{})},e.toggleAllRowsSelected=(t)=>{e.setRowSelection((n)=>{t=typeof t<"u"?t:!e.getIsAllRowsSelected();let o={...n},r=e.getPreGroupedRowModel().flatRows;if(t)r.forEach((s)=>{if(!s.getCanSelect())return;o[s.id]=!0});else r.forEach((s)=>{delete o[s.id]});return o})},e.toggleAllPageRowsSelected=(t)=>e.setRowSelection((n)=>{let o=typeof t<"u"?t:!e.getIsAllPageRowsSelected(),r={...n};return e.getRowModel().rows.forEach((s)=>{Xr(r,s.id,o,!0,e)}),r}),e.getPreSelectedRowModel=()=>e.getCoreRowModel(),e.getSelectedRowModel=Te(()=>[e.getState().rowSelection,e.getCoreRowModel()],(t,n)=>{if(!Object.keys(t).length)return{rows:[],flatRows:[],rowsById:{}};return Br(e,n)},Pe(e.options,"debugTable","getSelectedRowModel")),e.getFilteredSelectedRowModel=Te(()=>[e.getState().rowSelection,e.getFilteredRowModel()],(t,n)=>{if(!Object.keys(t).length)return{rows:[],flatRows:[],rowsById:{}};return Br(e,n)},Pe(e.options,"debugTable","getFilteredSelectedRowModel")),e.getGroupedSelectedRowModel=Te(()=>[e.getState().rowSelection,e.getSortedRowModel()],(t,n)=>{if(!Object.keys(t).length)return{rows:[],flatRows:[],rowsById:{}};return Br(e,n)},Pe(e.options,"debugTable","getGroupedSelectedRowModel")),e.getIsAllRowsSelected=()=>{let t=e.getFilteredRowModel().flatRows,{rowSelection:n}=e.getState(),o=Boolean(t.length&&Object.keys(n).length);if(o){if(t.some((r)=>r.getCanSelect()&&!n[r.id]))o=!1}return o},e.getIsAllPageRowsSelected=()=>{let t=e.getPaginationRowModel().flatRows.filter((r)=>r.getCanSelect()),{rowSelection:n}=e.getState(),o=!!t.length;if(o&&t.some((r)=>!n[r.id]))o=!1;return o},e.getIsSomeRowsSelected=()=>{var t;let n=Object.keys((t=e.getState().rowSelection)!=null?t:{}).length;return n>0&&n<e.getFilteredRowModel().flatRows.length},e.getIsSomePageRowsSelected=()=>{let t=e.getPaginationRowModel().flatRows;return e.getIsAllPageRowsSelected()?!1:t.filter((n)=>n.getCanSelect()).some((n)=>n.getIsSelected()||n.getIsSomeSelected())},e.getToggleAllRowsSelectedHandler=()=>(t)=>{e.toggleAllRowsSelected(t.target.checked)},e.getToggleAllPageRowsSelectedHandler=()=>(t)=>{e.toggleAllPageRowsSelected(t.target.checked)}},createRow:(e,t)=>{e.toggleSelected=(n,o)=>{let r=e.getIsSelected();t.setRowSelection((s)=>{var i;if(n=typeof n<"u"?n:!r,e.getCanSelect()&&r===n)return s;let l={...s};return Xr(l,e.id,n,(i=o==null?void 0:o.selectChildren)!=null?i:!0,t),l})},e.getIsSelected=()=>{let{rowSelection:n}=t.getState();return es(e,n)},e.getIsSomeSelected=()=>{let{rowSelection:n}=t.getState();return Qr(e,n)==="some"},e.getIsAllSubRowsSelected=()=>{let{rowSelection:n}=t.getState();return Qr(e,n)==="all"},e.getCanSelect=()=>{var n;if(typeof t.options.enableRowSelection==="function")return t.options.enableRowSelection(e);return(n=t.options.enableRowSelection)!=null?n:!0},e.getCanSelectSubRows=()=>{var n;if(typeof t.options.enableSubRowSelection==="function")return t.options.enableSubRowSelection(e);return(n=t.options.enableSubRowSelection)!=null?n:!0},e.getCanMultiSelect=()=>{var n;if(typeof t.options.enableMultiRowSelection==="function")return t.options.enableMultiRowSelection(e);return(n=t.options.enableMultiRowSelection)!=null?n:!0},e.getToggleSelectedHandler=()=>{let n=e.getCanSelect();return(o)=>{var r;if(!n)return;e.toggleSelected((r=o.target)==null?void 0:r.checked)}}}},Xr=(e,t,n,o,r)=>{var s;let i=r.getRow(t,!0);if(n){if(!i.getCanMultiSelect())Object.keys(e).forEach((l)=>delete e[l]);if(i.getCanSelect())e[t]=!0}else delete e[t];if(o&&(s=i.subRows)!=null&&s.length&&i.getCanSelectSubRows())i.subRows.forEach((l)=>Xr(e,l.id,n,o,r))};function Br(e,t){let n=e.getState().rowSelection,o=[],r={},s=function(i,l){return i.map((d)=>{var u;let c=es(d,n);if(c)o.push(d),r[d.id]=d;if((u=d.subRows)!=null&&u.length)d={...d,subRows:s(d.subRows)};if(c)return d}).filter(Boolean)};return{rows:s(t.rows),flatRows:o,rowsById:r}}function es(e,t){var n;return(n=t[e.id])!=null?n:!1}function Qr(e,t,n){var o;if(!((o=e.subRows)!=null&&o.length))return!1;let r=!0,s=!1;return e.subRows.forEach((i)=>{if(s&&!r)return;if(i.getCanSelect())if(es(i,t))s=!0;else r=!1;if(i.subRows&&i.subRows.length){let l=Qr(i,t);if(l==="all")s=!0;else if(l==="some")s=!0,r=!1;else r=!1}}),r?"all":s?"some":!1}var Yr=/([0-9]+)/gm,rp=(e,t,n)=>Ja(en(e.getValue(n)).toLowerCase(),en(t.getValue(n)).toLowerCase()),sp=(e,t,n)=>Ja(en(e.getValue(n)),en(t.getValue(n))),ip=(e,t,n)=>ts(en(e.getValue(n)).toLowerCase(),en(t.getValue(n)).toLowerCase()),lp=(e,t,n)=>ts(en(e.getValue(n)),en(t.getValue(n))),dp=(e,t,n)=>{let o=e.getValue(n),r=t.getValue(n);return o>r?1:o<r?-1:0},cp=(e,t,n)=>ts(e.getValue(n),t.getValue(n));function ts(e,t){return e===t?0:e>t?1:-1}function en(e){if(typeof e==="number"){if(isNaN(e)||e===1/0||e===-1/0)return"";return String(e)}if(typeof e==="string")return e;return""}function Ja(e,t){let n=e.split(Yr).filter(Boolean),o=t.split(Yr).filter(Boolean);while(n.length&&o.length){let r=n.shift(),s=o.shift(),i=parseInt(r,10),l=parseInt(s,10),d=[i,l].sort();if(isNaN(d[0])){if(r>s)return 1;if(s>r)return-1;continue}if(isNaN(d[1]))return isNaN(i)?-1:1;if(i>l)return 1;if(l>i)return-1}return n.length-o.length}var io={alphanumeric:rp,alphanumericCaseSensitive:sp,text:ip,textCaseSensitive:lp,datetime:dp,basic:cp},pp={getInitialState:(e)=>({sorting:[],...e}),getDefaultColumnDef:()=>({sortingFn:"auto",sortUndefined:1}),getDefaultOptions:(e)=>({onSortingChange:Nt("sorting",e),isMultiSortEvent:(t)=>t.shiftKey}),createColumn:(e,t)=>{e.getAutoSortingFn=()=>{let n=t.getFilteredRowModel().flatRows.slice(10),o=!1;for(let r of n){let s=r==null?void 0:r.getValue(e.id);if(Object.prototype.toString.call(s)==="[object Date]")return io.datetime;if(typeof s==="string"){if(o=!0,s.split(Yr).length>1)return io.alphanumeric}}if(o)return io.text;return io.basic},e.getAutoSortDir=()=>{let n=t.getFilteredRowModel().flatRows[0];if(typeof(n==null?void 0:n.getValue(e.id))==="string")return"asc";return"desc"},e.getSortingFn=()=>{var n,o;if(!e)throw Error();return ko(e.columnDef.sortingFn)?e.columnDef.sortingFn:e.columnDef.sortingFn==="auto"?e.getAutoSortingFn():(n=(o=t.options.sortingFns)==null?void 0:o[e.columnDef.sortingFn])!=null?n:io[e.columnDef.sortingFn]},e.toggleSorting=(n,o)=>{let r=e.getNextSortingOrder(),s=typeof n<"u"&&n!==null;t.setSorting((i)=>{let l=i==null?void 0:i.find((f)=>f.id===e.id),d=i==null?void 0:i.findIndex((f)=>f.id===e.id),u=[],c,m=s?n:r==="desc";if(i!=null&&i.length&&e.getCanMultiSort()&&o)if(l)c="toggle";else c="add";else if(i!=null&&i.length&&d!==i.length-1)c="replace";else if(l)c="toggle";else c="replace";if(c==="toggle"){if(!s){if(!r)c="remove"}}if(c==="add"){var p;u=[...i,{id:e.id,desc:m}],u.splice(0,u.length-((p=t.options.maxMultiSortColCount)!=null?p:Number.MAX_SAFE_INTEGER))}else if(c==="toggle")u=i.map((f)=>{if(f.id===e.id)return{...f,desc:m};return f});else if(c==="remove")u=i.filter((f)=>f.id!==e.id);else u=[{id:e.id,desc:m}];return u})},e.getFirstSortDir=()=>{var n,o;return((n=(o=e.columnDef.sortDescFirst)!=null?o:t.options.sortDescFirst)!=null?n:e.getAutoSortDir()==="desc")?"desc":"asc"},e.getNextSortingOrder=(n)=>{var o,r;let s=e.getFirstSortDir(),i=e.getIsSorted();if(!i)return s;if(i!==s&&((o=t.options.enableSortingRemoval)!=null?o:!0)&&(n?(r=t.options.enableMultiRemove)!=null?r:!0:!0))return!1;return i==="desc"?"asc":"desc"},e.getCanSort=()=>{var n,o;return((n=e.columnDef.enableSorting)!=null?n:!0)&&((o=t.options.enableSorting)!=null?o:!0)&&!!e.accessorFn},e.getCanMultiSort=()=>{var n,o;return(n=(o=e.columnDef.enableMultiSort)!=null?o:t.options.enableMultiSort)!=null?n:!!e.accessorFn},e.getIsSorted=()=>{var n;let o=(n=t.getState().sorting)==null?void 0:n.find((r)=>r.id===e.id);return!o?!1:o.desc?"desc":"asc"},e.getSortIndex=()=>{var n,o;return(n=(o=t.getState().sorting)==null?void 0:o.findIndex((r)=>r.id===e.id))!=null?n:-1},e.clearSorting=()=>{t.setSorting((n)=>n!=null&&n.length?n.filter((o)=>o.id!==e.id):[])},e.getToggleSortingHandler=()=>{let n=e.getCanSort();return(o)=>{if(!n)return;o.persist==null||o.persist(),e.toggleSorting==null||e.toggleSorting(void 0,e.getCanMultiSort()?t.options.isMultiSortEvent==null?void 0:t.options.isMultiSortEvent(o):!1)}}},createTable:(e)=>{e.setSorting=(t)=>e.options.onSortingChange==null?void 0:e.options.onSortingChange(t),e.resetSorting=(t)=>{var n,o;e.setSorting(t?[]:(n=(o=e.initialState)==null?void 0:o.sorting)!=null?n:[])},e.getPreSortedRowModel=()=>e.getGroupedRowModel(),e.getSortedRowModel=()=>{if(!e._getSortedRowModel&&e.options.getSortedRowModel)e._getSortedRowModel=e.options.getSortedRowModel(e);if(e.options.manualSorting||!e._getSortedRowModel)return e.getPreSortedRowModel();return e._getSortedRowModel()}}},fp=[yc,Vc,Ac,Dc,bc,Sc,qc,Wc,pp,kc,Kc,Zc,tp,op,zc];function Za(e){var t,n;let o=[...fp,...(t=e._features)!=null?t:[]],r={_features:o},s=r._features.reduce((p,f)=>Object.assign(p,f.getDefaultOptions==null?void 0:f.getDefaultOptions(r)),{}),i=(p)=>{if(r.options.mergeOptions)return r.options.mergeOptions(s,p);return{...s,...p}},d={...{},...(n=e.initialState)!=null?n:{}};r._features.forEach((p)=>{var f;d=(f=p.getInitialState==null?void 0:p.getInitialState(d))!=null?f:d});let u=[],c=!1,m={_features:o,options:{...s,...e},initialState:d,_queue:(p)=>{if(u.push(p),!c)c=!0,Promise.resolve().then(()=>{while(u.length)u.shift()();c=!1}).catch((f)=>setTimeout(()=>{throw f}))},reset:()=>{r.setState(r.initialState)},setOptions:(p)=>{let f=Zt(p,r.options);r.options=i(f)},getState:()=>r.options.state,setState:(p)=>{r.options.onStateChange==null||r.options.onStateChange(p)},_getRowId:(p,f,h)=>{var v;return(v=r.options.getRowId==null?void 0:r.options.getRowId(p,f,h))!=null?v:`${h?[h.id,f].join("."):f}`},getCoreRowModel:()=>{if(!r._getCoreRowModel)r._getCoreRowModel=r.options.getCoreRowModel(r);return r._getCoreRowModel()},getRowModel:()=>r.getPaginationRowModel(),getRow:(p,f)=>{let h=(f?r.getPrePaginationRowModel():r.getRowModel()).rowsById[p];if(!h){if(h=r.getCoreRowModel().rowsById[p],!h)throw Error()}return h},_getDefaultColumnDef:Te(()=>[r.options.defaultColumn],(p)=>{var f;return p=(f=p)!=null?f:{},{header:(h)=>{let v=h.header.column.columnDef;if(v.accessorKey)return v.accessorKey;if(v.accessorFn)return v.id;return null},cell:(h)=>{var v,y;return(v=(y=h.renderValue())==null||y.toString==null?void 0:y.toString())!=null?v:null},...r._features.reduce((h,v)=>Object.assign(h,v.getDefaultColumnDef==null?void 0:v.getDefaultColumnDef()),{}),...p}},Pe(e,"debugColumns","_getDefaultColumnDef")),_getColumnDefs:()=>r.options.columns,getAllColumns:Te(()=>[r._getColumnDefs()],(p)=>{let f=function(h,v,y){if(y===void 0)y=0;return h.map((I)=>{let E=wc(r,I,y,v),T=I;return E.columns=T.columns?f(T.columns,E,y+1):[],E})};return f(p)},Pe(e,"debugColumns","getAllColumns")),getAllFlatColumns:Te(()=>[r.getAllColumns()],(p)=>p.flatMap((f)=>f.getFlatColumns()),Pe(e,"debugColumns","getAllFlatColumns")),_getAllFlatColumnsById:Te(()=>[r.getAllFlatColumns()],(p)=>p.reduce((f,h)=>(f[h.id]=h,f),{}),Pe(e,"debugColumns","getAllFlatColumnsById")),getAllLeafColumns:Te(()=>[r.getAllColumns(),r._getOrderColumnsFn()],(p,f)=>{let h=p.flatMap((v)=>v.getLeafColumns());return f(h)},Pe(e,"debugColumns","getAllLeafColumns")),getColumn:(p)=>r._getAllFlatColumnsById()[p]};Object.assign(r,m);for(let p=0;p<r._features.length;p++){let f=r._features[p];f==null||f.createTable==null||f.createTable(r)}return r}function el(){return(e)=>Te(()=>[e.options.data],(t)=>{let n={rows:[],flatRows:[],rowsById:{}},o=function(r,s,i){if(s===void 0)s=0;let l=[];for(let u=0;u<r.length;u++){let c=xc(e,e._getRowId(r[u],u,i),r[u],u,s,void 0,i==null?void 0:i.id);if(n.flatRows.push(c),n.rowsById[c.id]=c,l.push(c),e.options.getSubRows){var d;if(c.originalSubRows=e.options.getSubRows(r[u],u),(d=c.originalSubRows)!=null&&d.length)c.subRows=o(c.originalSubRows,s+1,c)}}return l};return n.rows=o(t),n},Pe(e.options,"debugTable","getRowModel",()=>e._autoResetPageIndex()))}function tl(e,t){return!e?null:mp(e)?ne(e,t):e}function mp(e){return gp(e)||typeof e==="function"||hp(e)}function gp(e){return typeof e==="function"&&(()=>{let t=Object.getPrototypeOf(e);return t.prototype&&t.prototype.isReactComponent})()}function hp(e){return typeof e==="object"&&typeof e.$$typeof==="symbol"&&["react.memo","react.forward_ref"].includes(e.$$typeof.description)}function nl(e){let t={state:{},onStateChange:()=>{},renderFallbackValue:null,...e},[n]=w(()=>({current:Za(t)})),[o,r]=w(()=>n.current.initialState);return n.current.setOptions((s)=>({...s,...e,state:{...o,...e.state},onStateChange:(i)=>{r(i),e.onStateChange==null||e.onStateChange(i)}})),n.current}Z();function vp({item:e,renderItem:t,active:n,dragState:o,isSelected:r,columnSizing:s,virtualRow:i,measureElement:l,isExternalDragging:d,externalOverFolderId:u,setExternalOverFolderId:c,resetExternalDragState:m,onExternalDrop:p}){let f=o?.draggedIds.has(e.id),h=o?.isActive,{ref:v,isDropTarget:y}=ln({id:`reorder-before-${e.id}`,data:{type:"reorder",item:e,position:"before"},disabled:!n||f||!h}),{ref:I,isDropTarget:E}=ln({id:`reorder-after-${e.id}`,data:{type:"reorder",item:e,position:"after"},disabled:!n||f||!h}),{ref:T,isDropTarget:N}=ln({id:`browser:${e.id}`,data:{type:e.type,id:e.id,item:e},disabled:!h}),A=G(()=>{if(!o?.isActive)return!1;if(o.draggedIds.has(e.id))return!1;if(e.type==="folder")return!0;if(e.type==="file"||e.type==="version_stack")return o.isSingleFile;return!1},[o,e.id,e.type]),V=d&&u===e.id,W=N&&A||V;return g("div",{ref:(D)=>{T(D),l(D)},"data-index":i.index,onDragEnter:d&&e.type==="folder"?()=>{c?.(e.id)}:void 0,onDragLeave:d&&e.type==="folder"?(D)=>{if(!D.currentTarget.contains(D.relatedTarget))c?.(null)}:void 0,onDragOver:d&&e.type==="folder"?(D)=>{D.preventDefault()}:void 0,onDrop:d&&e.type==="folder"?async(D)=>{D.preventDefault(),D.stopPropagation(),m?.();let ye=await tc(D.dataTransfer);p?.(ye,e.id)}:void 0,className:B("group border-b border-border transition-colors hover:bg-primary/20 absolute top-0 left-0 w-full flex flex-col outline-none focus:outline-none focus-visible:outline-none",r&&"bg-primary/10",W&&"bg-primary/10",y&&"border-t-2 border-t-primary",E&&"border-b-2 border-b-primary"),style:{transform:`translateY(${i.start}px)`},children:[a("div",{ref:v,className:"p-0 m-0 leading-none bg-transparent pointer-events-auto h-[2px] w-full"}),t(e,s),a("div",{ref:I,className:"p-0 m-0 leading-none bg-transparent pointer-events-auto h-[2px] w-full"})]})}function ol({folders:e,files:t,totalFolders:n,totalFiles:o,selectedItem:r,selectedIds:s,displayedFields:i,renderItem:l,foldersExpanded:d,setFoldersExpanded:u,filesExpanded:c,setFilesExpanded:m,hasNextFoldersPage:p,hasNextFilesPage:f,isFetchingNextFoldersPage:h,isFetchingNextFilesPage:v,fetchNextFoldersPage:y,fetchNextFilesPage:I,formatCount:E,formatSize:T,totalFoldersSize:N,totalFilesSize:A,handleEmptyAreaClick:V,dragState:W,sort:D,isExternalDragging:ye,externalOverFolderId:b,setExternalOverFolderId:te,resetExternalDragState:H,onExternalDrop:O}){let[q,Ee]=w({}),Le=G(()=>{let Ae=[{id:"name",header:"Name",size:300,minSize:150},{id:"size",header:"Size",size:100,minSize:80},{id:"modified",header:"Modified",size:200,minSize:150}];return i.forEach((ae)=>{let _e=ae.config?.type?ul[ae.config.type]:null;Ae.push({id:ae.id,header:()=>g("div",{className:"flex items-center gap-1.5 truncate",children:[_e&&a(_e,{className:"h-3.5 w-3.5 text-muted-foreground shrink-0"}),a("span",{className:"truncate",children:ae.config?.name||ae.id})]}),size:150,minSize:100})}),Ae},[i]),je=nl({data:[],columns:Le,columnResizeMode:"onChange",getCoreRowModel:el(),state:{columnSizing:q},onColumnSizingChange:Ee}),Me=G(()=>{let Ae=[],ae=n??e.length;if(ae>0){if(Ae.push({type:"header",kind:"folder"}),d)for(let Ye=0;Ye<ae;Ye++)Ae.push({type:"item",kind:"folder",index:Ye})}let _e=o??t.length;if(_e>0){if(Ae.push({type:"header",kind:"file"}),c)for(let Ye=0;Ye<_e;Ye++)Ae.push({type:"item",kind:"file",index:Ye})}return Ae},[d,c,e.length,t.length,n,o]),_=M(null),oe=Io({count:Me.length,getScrollElement:()=>_.current,estimateSize:()=>40,getItemKey:Q((Ae)=>{let ae=Me[Ae];if(!ae)return Ae;if(ae.type==="header")return`header-${ae.kind}`;return(ae.kind==="folder"?e[ae.index]:t[ae.index])?.id||`item-${ae.kind}-${ae.index}`},[Me,e,t]),overscan:10,paddingEnd:240}),ge=oe.getVirtualItems();return S(()=>{if(ge.length===0)return;for(let Ae of ge){let ae=Me[Ae.index];if(ae?.type==="item"){let _e=ae.kind==="folder"?!e[ae.index]:!t[ae.index],Ye=ae.kind==="folder"?ae.index>=e.length-15:ae.index>=t.length-15;if(ae.kind==="folder"&&p&&!h){if(_e||Ye){y();break}}else if(ae.kind==="file"&&f&&!v){if(_e||Ye){I();break}}}}},[ge,Me,e.length,t.length,p,f,h,v,y,I]),a("div",{ref:_,className:"flex-1 overflow-auto",onClick:V,children:g("div",{className:"w-full relative",style:{width:je.getTotalSize(),minWidth:"100%"},children:[a("div",{className:"sticky top-0 z-30 bg-background border-b border-border flex flex-col",children:je.getHeaderGroups().map((Ae)=>a("div",{className:"bg-muted/50 whitespace-nowrap flex",children:Ae.headers.map((ae)=>g("div",{className:B("px-4 py-2 text-left text-xs font-medium text-muted-foreground relative border-r flex items-center",ae.id==="name"&&"sticky left-0 z-40 bg-muted"),style:{width:ae.getSize()},children:[ae.isPlaceholder?null:tl(ae.column.columnDef.header,ae.getContext()),a("div",{onMouseDown:ae.getResizeHandler(),onTouchStart:ae.getResizeHandler(),className:B("absolute right-0 top-0 bottom-0 w-1 cursor-col-resize user-select-none touch-none z-50 hover:bg-primary/50 transition-colors",ae.column.getIsResizing()&&"bg-primary w-1")})]},ae.id))},Ae.id))}),a("div",{className:"relative",style:{height:`${oe.getTotalSize()}px`},children:ge.map((Ae)=>{let ae=Me[Ae.index];if(ae.type==="header"){let Ye=ae.kind==="folder",ct=Ye?n??e.length:o??t.length,U=Ye?N??-1:A??-1,Oe=U>-1,st=Ye?d:c,ut=Ye?u:m,me=Ye?e.length>0:t.length>0;return g("div",{ref:oe.measureElement,"data-index":Ae.index,className:"absolute top-0 left-0 w-full border-b border-border hover:bg-muted/50 transition-colors cursor-pointer group flex bg-card z-20",style:{transform:`translateY(${Ae.start}px)`},onClick:(le)=>{le.stopPropagation(),ut(!st)},children:[g("div",{className:"px-4 py-2 sticky left-0 z-10 bg-card border-r flex items-center gap-2",style:{width:q?.name||300,minWidth:q?.name||300},children:[a(Sr,{checked:me&&(Ye?e.every((le)=>s.has(le.id)):t.every((le)=>s.has(le.id))),onCheckedChange:()=>{},onClick:(le)=>le.stopPropagation(),className:"h-4 w-4"}),a("div",{className:"p-1 rounded hover:bg-muted",children:st?a(Be,{className:"h-4 w-4 text-muted-foreground"}):a(jt,{className:"h-4 w-4 text-muted-foreground"})}),g("span",{className:"text-sm font-medium text-muted-foreground whitespace-nowrap",children:[E(ct,!Ye),Oe?` • ${T(U)}`:""]})]}),a("div",{className:"flex-1 bg-card"})]},`header-${ae.kind}`)}let _e=ae.kind==="folder"?e[ae.index]:t[ae.index];if(!_e)return a("div",{ref:oe.measureElement,className:"absolute top-0 left-0 w-full border-b border-border px-4 py-3 flex items-center animate-pulse",style:{transform:`translateY(${Ae.start}px)`},children:a("div",{className:"h-4 bg-muted rounded w-1/4"})},`skeleton-${ae.kind}-${ae.index}`);return a(vp,{item:_e,renderItem:l,active:D?.field==="custom",dragState:W,isSelected:r?.id===_e.id,columnSizing:q,virtualRow:Ae,measureElement:oe.measureElement,isExternalDragging:ye,externalOverFolderId:b,setExternalOverFolderId:te,resetExternalDragState:H,onExternalDrop:O},_e.id)})})]})})}Z();Z();var kt={SYSTEM:"system",TEAM:"team",PROJECT:"project"},wp={[kt.SYSTEM]:On,[kt.TEAM]:On,[kt.PROJECT]:xa};function yp({field:e,index:t,isSelected:n,onSelect:o,isSortable:r}){let{ref:s,handleRef:i}=Gl({id:e.id,index:t,disabled:!r}),l=e.config?.type?ul[e.config.type]:null;return g("div",{ref:s,className:B("flex items-center gap-2 p-2 rounded-md cursor-pointer hover:bg-muted/50",n&&"bg-muted"),onClick:()=>o(e),children:[r&&a("div",{ref:i,className:"cursor-grab",children:a(ki,{className:"h-4 w-4 text-muted-foreground"})}),!r&&a("div",{className:"w-4"})," ",l&&a(l,{className:"h-4 w-4 text-muted-foreground shrink-0"}),e.config?.autofillSource===Kr.CONTENT&&a(qn,{className:"h-4 w-4 text-muted-foreground shrink-0"}),e.config?.autofillSource===Kr.CREATION_CONTEXT&&a($t,{className:"h-4 w-4 text-muted-foreground shrink-0"}),a("div",{className:"flex-1 text-sm font-medium truncate",children:e.config?.name})]})}function rl({projectId:e,open:t,onOpenChange:n}){let{fields:o,updateFields:r}=cn(),[s,i]=w(kt.PROJECT),[l,d]=w(null),[u,c]=w(!1),m=ie();S(()=>{if(t)m.invalidateQueries({queryKey:["fields",e]})},[t,e,m]);let[p,f]=w(""),[h,v]=w({}),[y,I]=w(Kr.NONE),[E,T]=w(""),[N,A]=w(""),[V,W]=w(""),[D,ye]=w(Kr.NONE),[b,te]=w(""),[H,O]=w([]),q=R.api.projects[":projectId"].fields.order.$patch,{mutate:Ee}=ee({mutationFn:async(P)=>{if(!(await q(P)).ok)throw Error(ah());return null}}),Le=R.api.projects[":projectId"].fields.$post,{mutate:je}=ee({mutationFn:async(P)=>{let x=await Le(P);if(!x.ok)throw Error(sh());return await x.json()},onSuccess:(P)=>{let x={...P,visible:!0};r([...o,x]),c(!1),d(P.id),Ye(P),j.success(oC())}}),Me=R.api.fields[":fieldId"].$put,{mutate:_}=ee({mutationFn:async(P)=>{let x=await Me(P);if(!x.ok)throw Error(jc());return await x.json()},onSuccess:(P)=>{let x=o.map((k)=>k.id===P.id?{...k,...P}:k);r(x),j.success(cC())}}),oe=R.api.fields[":fieldId"].$delete,{mutate:ge}=ee({mutationFn:async(P)=>{if(!(await oe(P)).ok)throw Error(Tx());return null},onSuccess:(P,x)=>{let k=o.filter((he)=>he.id!==x.param.fieldId);r(k),d(null),j.success(sC())}}),Ae=G(()=>{let P=Array.from(new Set(o.map((x)=>(x.scope||kt.PROJECT).toLowerCase())));if(!P.includes(kt.PROJECT))P.push(kt.PROJECT);return P.map((x)=>({id:x,label:x===kt.SYSTEM?wx():x===kt.TEAM?MM():x===kt.PROJECT?mE():x.charAt(0).toUpperCase()+x.slice(1),icon:wp[x]||On}))},[o]),ae=G(()=>o.filter((P)=>(P.scope||kt.PROJECT).toLowerCase()===s),[o,s]),_e=G(()=>o.find((P)=>P.id===l),[o,l]),Ye=(P)=>{if(P)f(P.config?.name||""),v(P.config||{}),I(P.config?.autofillSource??Kr.NONE),T(P.description||"");else f(""),v({}),I(Kr.NONE),T("")},ct=(P)=>{c(!1),d(P.id),Ye(P)},U=()=>{c(!0),d(null),A(""),W(""),ye(Kr.NONE),te(""),O([])},Oe=(P)=>{if(P.canceled)return;let{source:x}=P.operation;if(!Lo(x))return;let{initialIndex:k,index:he}=x;if(k===he)return;let ze=qd(o,ae,k,he);r(ze),Ee({param:{projectId:e},json:ze.map((gt)=>({fieldId:gt.id,visible:gt.visible||!1}))})},st=()=>{if(!N||!V)return;let P=V===rn.select?{select:{options:H}}:V===rn.selectMulti?{selectMulti:{options:H}}:{};je({param:{projectId:e},json:{config:{name:N,type:V,autofillSource:D,...P},label:N,scope:s===kt.PROJECT?void 0:s,description:b}})},ut=()=>{if(!_e)return;_({param:{fieldId:_e.id},json:{config:{..._e.config,...h,name:p,autofillSource:y},description:E}})},me=()=>{if(!_e)return;if(confirm(zw()))ge({param:{fieldId:_e.id}})},le=()=>{if(u)return g("div",{className:"space-y-4",children:[g("div",{className:"space-y-2",children:[a(fe,{children:ch()}),a(re,{value:N,onChange:(x)=>A(x.target.value),placeholder:iC()})]}),g("div",{className:"space-y-2",children:[a(fe,{children:uh()}),g(De,{children:[a(Ne,{asChild:!0,children:g(F,{variant:"outline",className:"w-full justify-between",children:[V?a("span",{className:"capitalize",children:V.replace(/_/g," ")}):a("span",{className:"text-muted-foreground",children:eg()}),a(Be,{className:"h-4 w-4 opacity-50"})]})}),a(Fe,{className:"max-h-60 overflow-y-auto",children:Object.values(rn).map((x)=>a(de,{onClick:()=>{W(x),O([])},className:"capitalize",children:x.replace(/_/g," ")},x))})]})]}),g("div",{className:"space-y-2",children:[a(fe,{children:Uc()}),a(re,{value:b,onChange:(x)=>te(x.target.value),placeholder:up()})]}),g("div",{className:"space-y-2",children:[g("div",{className:"flex items-center gap-1",children:[a(fe,{children:ap()}),a(Au,{})]}),g(os,{type:"single",value:D,onValueChange:(x)=>{if(x)ye(x)},className:"w-full grid grid-cols-3 border rounded-md p-1 gap-1",children:[a(Lr,{value:Kr.NONE,className:"text-[11px] leading-tight py-1 px-1 h-auto min-h-[32px] w-full text-center justify-center whitespace-normal font-medium",children:gd()}),a(Lr,{value:Kr.CONTENT,className:"text-[11px] leading-tight py-1 px-1 h-auto min-h-[32px] w-full text-center justify-center whitespace-normal font-medium",children:md()}),a(Lr,{value:Kr.CREATION_CONTEXT,className:"text-[11px] leading-tight py-1 px-1 h-auto min-h-[32px] w-full text-center justify-center whitespace-normal font-medium",children:hd()})]})]}),(V===rn.select||V===rn.selectMulti)&&g("div",{className:"space-y-2",children:[g("div",{className:"flex items-center justify-between",children:[a(fe,{className:"text-sm font-medium",children:Sp()}),g(F,{variant:"ghost",size:"sm",onClick:()=>{let x={id:As(),displayName:Ep(),color:Sa(H)};O([...H,x])},children:[a(Re,{className:"h-4 w-4 mr-2"})," ",np()]})]}),a("div",{className:"space-y-2 max-h-40 overflow-y-auto pr-1",children:H.map((x,k)=>g("div",{className:"flex items-center gap-2",children:[a(re,{value:x.displayName,onChange:(he)=>{let ze=[...H];ze[k]={...x,displayName:he.target.value},O(ze)},placeholder:Ph()}),g(pt,{children:[a(mt,{asChild:!0,children:a("button",{type:"button",className:"w-6 h-6 rounded-full border shrink-0 cursor-pointer focus:outline-none hover:scale-105 transition-transform",style:{backgroundColor:Ca[x.color||""]?.hex||x.color||"#808080"}})}),a(ht,{className:"p-2 w-auto",align:"end",children:a("div",{className:"flex gap-1",children:cl.map((he)=>a("button",{type:"button",className:"w-5 h-5 rounded-full border cursor-pointer hover:scale-110 transition-transform",style:{backgroundColor:Ca[he]?.hex||he},onClick:()=>{let ze=[...H];ze[k]={...x,color:he},O(ze)}},he))})})]}),a(F,{variant:"ghost",size:"icon",onClick:()=>{O(H.filter((he,ze)=>ze!==k))},children:a(Ge,{className:"h-4 w-4"})})]},x.id||k))})]})]});if(!_e)return a("div",{className:"text-muted-foreground text-sm",children:tR()});let P=_e.readOnly;return g("div",{className:"space-y-6",children:[g("div",{className:"flex items-center justify-between",children:[a(re,{value:p,onChange:(x)=>f(x.target.value),disabled:P,className:"font-medium"}),P&&a(Pn,{className:"h-4 w-4 text-muted-foreground ml-2"})]}),g("div",{className:"text-sm text-muted-foreground",children:[EO()," ",a("span",{className:"capitalize",children:_e.config?.type?.replace(/_/g," ")})]}),g("div",{className:"space-y-2",children:[a(fe,{children:Uc()}),a(re,{value:E,onChange:(x)=>T(x.target.value),placeholder:up(),disabled:P})]}),g("div",{className:"space-y-2",children:[g("div",{className:"flex items-center gap-1",children:[a(fe,{children:ap()}),a(Au,{})]}),g(os,{type:"single",value:u?D:y,onValueChange:(x)=>{if(x)if(u)ye(x);else I(x)},disabled:P,className:"w-full grid grid-cols-3 border rounded-md p-1 gap-1",children:[a(Lr,{value:Kr.NONE,className:"text-[11px] leading-tight py-1 px-1 h-auto min-h-[32px] w-full text-center justify-center whitespace-normal font-medium",children:gd()}),a(Lr,{value:Kr.CONTENT,className:"text-[11px] leading-tight py-1 px-1 h-auto min-h-[32px] w-full text-center justify-center whitespace-normal font-medium",children:md()}),a(Lr,{value:Kr.CREATION_CONTEXT,className:"text-[11px] leading-tight py-1 px-1 h-auto min-h-[32px] w-full text-center justify-center whitespace-normal font-medium",children:hd()})]})]}),(_e.config?.type==="select"||_e.config?.type==="selectMulti")&&g("div",{className:"space-y-2",children:[g("div",{className:"flex items-center justify-between",children:[a("label",{className:"text-sm font-medium",children:Sp()}),g(F,{variant:"ghost",size:"sm",onClick:()=>{let x=(_e.config?.type==="select"?h.select?.options:h.selectMulti?.options)||[],k={id:As(),displayName:Ep(),color:Sa(x)},he=[...x,k];v({...h,[_e.config?.type==="select"?"select":"selectMulti"]:{options:he}})},children:[a(Re,{className:"h-4 w-4 mr-2"})," ",np()]})]}),a("div",{className:"space-y-2",children:((_e.config?.type==="select"?h.select?.options:h.selectMulti?.options)||[]).map((x,k)=>g("div",{className:"flex items-center gap-2",children:[a(re,{value:x.displayName,onChange:(he)=>{let ze=[...(_e.config?.type==="select"?h.select?.options:h.selectMulti?.options)||[]];ze[k]={...x,displayName:he.target.value},v({...h,[_e.config?.type==="select"?"select":"selectMulti"]:{options:ze}})}}),g(pt,{children:[a(mt,{asChild:!0,children:a("button",{type:"button",className:"w-6 h-6 rounded-full border shrink-0 cursor-pointer focus:outline-none hover:scale-105 transition-transform",style:{backgroundColor:Ca[x.color||""]?.hex||x.color||"#808080"},disabled:P})}),!P&&a(ht,{className:"p-2 w-auto",align:"end",children:a("div",{className:"flex gap-1",children:cl.map((he)=>a("button",{type:"button",className:"w-5 h-5 rounded-full border cursor-pointer hover:scale-110 transition-transform",style:{backgroundColor:Ca[he]?.hex||he},onClick:()=>{let ze=[...(_e.config?.type==="select"?h.select?.options:h.selectMulti?.options)||[]];ze[k]={...x,color:he},v({...h,[_e.config?.type==="select"?"select":"selectMulti"]:{options:ze}})}},he))})})]}),a(F,{variant:"ghost",size:"icon",onClick:()=>{let he=((_e.config?.type==="select"?h.select?.options:h.selectMulti?.options)||[]).filter((ze,gt)=>gt!==k);v({...h,[_e.config?.type==="select"?"select":"selectMulti"]:{options:he}})},children:a(Ge,{className:"h-4 w-4"})})]},k))})]}),!P&&_e.scope?.toLowerCase()!=="system"&&a("div",{className:"pt-4 flex justify-between",children:a(F,{variant:"outline",onClick:me,className:"text-destructive hover:bg-destructive/10",children:TE()})})]})};return a(Se,{open:t,onOpenChange:n,children:g(xe,{className:"!max-w-[50rem] h-[70vh] flex flex-col p-0 gap-0",children:[a("div",{className:"p-4 border-b flex items-center justify-between",children:a(Ce,{children:Ah()})}),g("div",{className:"flex overflow-hidden h-full",children:[g("div",{className:"w-60 border-r bg-muted/30 p-4 space-y-1",children:[a("div",{className:"font-semibold mb-4 px-2",children:KC()}),Ae.map((P)=>g("button",{onClick:()=>{i(P.id),c(!1),d(null)},className:B("w-full flex items-center gap-2 px-3 py-2 rounded-md text-sm font-medium transition-colors hover:bg-muted text-left",s===P.id&&"bg-muted text-foreground"),children:[a(P.icon,{className:"h-4 w-4"}),P.label]},P.id))]}),g("div",{className:"w-64 border-r flex flex-col",children:[g("div",{className:"p-4 border-b flex items-center justify-between bg-background h-[57px]",children:[a("span",{className:"font-medium text-sm",children:Ae.find((P)=>P.id===s)?.label}),s===kt.PROJECT&&g(F,{size:"sm",variant:"outline",className:"h-8",onClick:U,children:[VI()," ",a(Re,{className:"ml-1 h-3 w-3"})]})]}),g("div",{className:"flex-1 overflow-y-auto p-2 space-y-1",children:[a(Eo,{sensors:[Yn.configure({activationConstraints:[new an.Distance({value:8})]}),Os],onDragEnd:Oe,children:ae.map((P,x)=>a(yp,{field:P,index:x,isSelected:l===P.id,onSelect:ct,isSortable:!0},P.id))}),ae.length===0&&a("div",{className:"text-center text-muted-foreground text-sm py-8",children:sT()})]})]}),g("div",{className:"flex-1 bg-background flex flex-col",children:[a("div",{className:"flex-1 overflow-y-auto p-6",children:le()}),(u||_e&&!_e.readOnly)&&g("div",{className:"p-4 border-t flex justify-end gap-2 bg-muted/10",children:[a(F,{variant:"ghost",onClick:()=>{if(c(!1),l&&_e)Ye(_e)},children:Ke()}),a(F,{onClick:u?st:ut,children:wo()})]})]})]})]})})}Z();function ns({value:e,onChange:t,debounce:n=500,...o}){let[r,s]=w(e);return S(()=>{s(e)},[e]),S(()=>{let i=setTimeout(()=>{if(r!==e)t(r)},n);return()=>clearTimeout(i)},[r,n,t,e]),a(re,{...o,value:r,onChange:(i)=>s(i.target.value)})}Z();function Ao({fields:e,conditions:t,onChange:n,className:o,excludeFields:r,hidePrefix:s}){let i=ri(),{members:l,fetchMembers:d}=An();S(()=>{if(i)d(i)},[i,d]);let u=G(()=>l.map((h)=>({id:h.id,displayName:h.name,color:"system"})),[l]),c=G(()=>{let h=[{id:"name",label:Yc(),type:"text"},{id:"createdAt",label:nC(),type:"date"},{id:"updatedAt",label:lC(),type:"date"},{id:"sizeByte",label:aC(),type:"number"}],v=e.map((y)=>({id:y.id,label:y.config?.name||y.description||Jn(),type:xp(y),options:y.config?.type==="user"||y.config?.type==="userMulti"?u:y.config?.select?.options||y.config?.selectMulti?.options,config:y.config}));return[...h,...v].filter((y)=>!r?.includes(y.id))},[e,u,r]),m=()=>{n([...t,{field:c[0]?.id||"name",operator:"eq",value:""}])},p=(h)=>{let v=[...t];v.splice(h,1),n(v)},f=(h,v,y)=>{let I=[...t];if(I[h]={...I[h],[v]:y},v==="field"){let E=c.find((T)=>T.id===y);if(E)I[h].operator=bp(E.type),I[h].value=""}if(v==="operator"){let E=c.find((T)=>T.id===I[h].field);if(E&&(E.type==="select"||E.type==="selectMulti")){let T=t[h].operator,N=y,A=rs(E.type,T),V=rs(E.type,N);if(A&&!V){let W=Array.isArray(I[h].value)?I[h].value:[];I[h].value=W[0]||""}else if(!A&&V){let W=I[h].value;I[h].value=W?[W]:[]}}}n(I)};return g("div",{className:B("p-2 space-y-4 min-w-[100px]",o),children:[t.map((h,v)=>g("div",{className:"flex items-center gap-2",children:[!s&&a("div",{className:"w-16 text-sm text-muted-foreground font-medium text-right",children:v===0?_C():pC()}),g("div",{className:"flex-1 flex items-center gap-2",children:[g(Xe,{value:h.field,onValueChange:(y)=>f(v,"field",y),children:[a(tt,{className:"w-[180px]",children:a(et,{placeholder:eR()})}),a(rt,{children:c.map((y)=>a(be,{value:y.id,children:y.label},y.id))})]}),g(Xe,{value:h.operator,onValueChange:(y)=>f(v,"operator",y),children:[a(tt,{className:"w-[140px]",children:a(et,{placeholder:OT()})}),a(rt,{children:Rp(c.find((y)=>y.id===h.field)||{id:"",label:"",type:"text"}).map((y)=>a(be,{value:y.value,children:y.label},y.value))})]}),a("div",{className:"flex-1",children:h.operator!=="isEmpty"&&h.operator!=="isNotEmpty"&&a(Ip,{field:c.find((y)=>y.id===h.field),operator:h.operator,value:h.value,onChange:(y)=>f(v,"value",y)})}),a(F,{variant:"ghost",size:"icon",onClick:()=>p(v),children:a(Ue,{className:"h-4 w-4"})})]})]},v)),a("div",{className:"flex items-center gap-2",children:a(F,{variant:"ghost",className:"text-muted-foreground hover:text-foreground",onClick:m,children:Wy()})})]})}function xp(e){if(e.config?.type==="select"||e.config?.type==="user")return"select";if(e.config?.type==="selectMulti"||e.config?.type==="userMulti")return"selectMulti";if(e.config?.type==="number")return"number";if(e.config?.type==="date")return"date";if(e.config?.type==="rating")return"rating";if(e.config?.type==="toggle")return"toggle";return"text"}function bp(e){switch(e){case"selectMulti":return"hasAny";case"number":case"rating":case"date":return"eq";default:return"eq"}}function Rp(e){let t=e.type;if(e.id==="name")return[{value:"eq",label:Hc()},{value:"neq",label:Cp()},{value:"contains",label:PT()},{value:"notContains",label:DT()},{value:"isEmpty",label:Qc()},{value:"isNotEmpty",label:Gc()}];switch(t){case"text":return[{value:"eq",label:Hc()},{value:"neq",label:Cp()},{value:"isEmpty",label:Qc()},{value:"isNotEmpty",label:Gc()}];case"number":case"rating":return[{value:"eq",label:"="},{value:"neq",label:"≠"},{value:"gt",label:">"},{value:"lt",label:"<"},{value:"lte",label:"≤"},{value:"gte",label:"≥"},{value:"isEmpty",label:Qc()},{value:"isNotEmpty",label:Gc()}];case"select":return[{value:"eq",label:Hc()},{value:"neq",label:Cp()},{value:"in",label:BT()},{value:"notIn",label:jT()},{value:"isEmpty",label:Qc()},{value:"isNotEmpty",label:Gc()}];case"selectMulti":return[{value:"hasAny",label:FT()},{value:"hasAll",label:NT()},{value:"eq",label:zT()},{value:"hasNone",label:LT()},{value:"isEmpty",label:Qc()},{value:"isNotEmpty",label:Gc()}];case"date":return[{value:"eq",label:Hc()},{value:"isWithin",label:HT()},{value:"lt",label:UT()},{value:"gt",label:ZT()},{value:"lte",label:$T()},{value:"gte",label:qT()},{value:"neq",label:Cp()},{value:"isEmpty",label:Qc()},{value:"isNotEmpty",label:Gc()}];case"toggle":return[{value:"eq",label:Hc()}];default:return[{value:"eq",label:Hc()}]}}function rs(e,t){if(e==="select")return t==="in"||t==="notIn";if(e==="selectMulti")return t!=="eq";return!1}function Fp({options:e,selected:t,onChange:n}){let o=e.filter((s)=>t.includes(s.id)),r=(s)=>{let i;if(t.includes(s))i=t.filter((l)=>l!==s);else i=[...t,s];n(i)};return g(pt,{children:[a(mt,{asChild:!0,children:g("button",{type:"button",className:"flex min-h-9 w-full items-center justify-between rounded-md border border-input bg-transparent px-3 py-1.5 text-sm shadow-xs hover:bg-accent/50 focus:outline-hidden focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 text-left",children:[a("div",{className:"flex flex-wrap gap-1 items-center max-w-[90%]",children:o.length===0?a("span",{className:"text-muted-foreground",children:aR()}):o.map((s)=>a("span",{className:"inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium border border-transparent whitespace-nowrap h-[20px]",style:ui(s.color),children:s.displayName},s.id))}),a(Be,{className:"h-4 w-4 shrink-0 opacity-50 ml-2"})]})}),a(ht,{className:"w-64 p-1 bg-popover border border-border rounded-lg shadow-xl max-h-60 overflow-auto",align:"start",children:e.map((s)=>{let i=t.includes(s.id);return g("div",{onClick:()=>r(s.id),className:"px-3 py-2 hover:bg-accent cursor-pointer flex items-center justify-between rounded-sm",children:[a("span",{className:"inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium",style:ui(s.color),children:s.displayName}),i&&a(qe,{className:"w-4 h-4 text-primary"})]},s.id)})})]})}function Ip({field:e,operator:t,value:n,onChange:o}){if(!e)return a(re,{disabled:!0});if((e.type==="select"||e.type==="selectMulti")&&e.options){if(rs(e.type,t)){let r=Array.isArray(n)?n:[];return a(Fp,{options:e.options,selected:r,onChange:(s)=>o(s)})}return g(Xe,{value:n,onValueChange:o,children:[a(tt,{children:a(et,{placeholder:iR()})}),a(rt,{children:e.options.map((r)=>a(be,{value:r.id,children:a("span",{className:"inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium",style:ui(r.color),children:r.displayName})},r.id))})]})}if(e.type==="date"){let r=[{value:"today",label:vE()},{value:"yesterday",label:EE()},{value:"tomorrow",label:bE()},{value:"one week ago",label:_E()},{value:"one week from now",label:yE()},{value:"one month ago",label:gE()},{value:"one month from now",label:AE()}],s=r.some((i)=>i.value===n);return g("div",{className:"flex gap-2",children:[g(Xe,{value:s?n:"exact",onValueChange:(i)=>{if(i==="exact")o("");else o(i)},children:[a(tt,{className:"w-[140px]",children:a(et,{placeholder:wE()})}),g(rt,{children:[r.map((i)=>a(be,{value:i.value,children:i.label},i.value)),a(be,{value:"exact",children:Ex()})]})]}),!s&&a(re,{type:"date",className:"flex-1",value:n,onChange:(i)=>o(i.target.value)})]})}if(e.type==="number")return a(ns,{type:"number",value:n,onChange:(r)=>o(Number(r))});if(e.type==="rating")return a(Qd,{value:Number(n)||0,config:e.config||{name:e.label,type:"rating"},onSave:o});if(e.type==="toggle")return g(Xe,{value:n===!0?"true":"false",onValueChange:(r)=>o(r==="true"),children:[a(tt,{children:a(et,{})}),g(rt,{children:[a(be,{value:"true",children:XM()}),a(be,{value:"false",children:eO()})]})]});return a(ns,{type:"text",placeholder:gx(),value:n,onChange:o})}Z();function sl({open:e,onOpenChange:t,teamId:n,projectId:o,assetId:r,fields:s,initialConditions:i,onApply:l}){let d=We(),u=ie(),c=G(()=>{let U=i.find((Oe)=>Oe.field==="name"&&Oe.operator==="contains");return U?String(U.value):""},[i]),m=G(()=>i.filter((U)=>!(U.field==="name"&&U.operator==="contains")),[i]),[p,f]=w(m),[h,v]=w(!0),[y,I]=w(c),[E,T]=w(c),[N,A]=w(!1),{data:V}=X({queryKey:["team-settings",n],queryFn:async()=>{let U=await R.api.teams[":teamId"].settings.$get({param:{teamId:n}});if(!U.ok)throw Error(Ms());return await U.json()},enabled:e}),W=V?.semanticSearchEnabled??!1;S(()=>{if(e)I(c),T(c),f(m),A(!1);else I(""),T(""),f([]),A(!1)},[e,c,m]);let D=G(()=>{let U=[...p],Oe=E;if(Oe.trim()&&!N)U.push({field:"name",operator:"contains",value:Oe.trim()});return U},[N,E,p]),ye=G(()=>E.trim()!==""||p.some((Oe)=>String(Oe.value||"").trim()!==""),[E,p]),{mutate:b,isPending:te}=ee({mutationFn:async()=>{let U=E,Oe=U.trim();if(!Oe&&p.length>0){let ut=p[0];Oe=`${s.find((P)=>P.id===ut.field)?.config?.name||ut.field} ${ut.operator} ${ut.value}`}if(!Oe)Oe=Ty();let st=await R.api.projects[":projectId"].collections.$post({param:{projectId:o},json:{name:Oe,filter:{sourceFolderId:r,searchFilter:{conditions:D,recursively:!0,query:U.trim(),isSemantic:N}}}});if(!st.ok)throw Error(Nx());return await st.json()},onSuccess:(U)=>{u.invalidateQueries({queryKey:["collections",o]}),j.success(Ow()),t(!1),d({to:"/projects/$projectId/collections/$collectionId",params:{projectId:o,collectionId:U.id}})},onError:(U)=>{j.error(`Error: ${U.message}`)}}),{ref:H,inView:O}=Vt(),{data:q,isLoading:Ee,isFetchingNextPage:Le,fetchNextPage:je,hasNextPage:Me,error:_}=Tt({queryKey:["search-preview",n,r,D,N,E],queryFn:async({pageParam:U})=>{let Oe=E,st=await R.api.folders[":folderId"].search.$post({param:{folderId:r},json:{assetType:void 0,conditions:D,recursively:!0,query:Oe.trim(),isSemantic:N,first:20,after:U}});if(!st.ok){let ut=await st.json().catch(()=>({}));throw Error(ut.message||J0())}return await st.json()},enabled:e&&ye,staleTime:500,retry:!1,initialPageParam:"",getNextPageParam:(U)=>U.pageInfo?.cursor||void 0});S(()=>{if(O&&Me&&!Le)je()},[O,Me,Le,je]);let oe=G(()=>q?.pages.flatMap((U)=>U.data)||[],[q]),ge=q?.pages[0]?.pageInfo?.total||0,Ae=(U)=>{if(U===10001)return"10000+";return U.toString()},ae=()=>{l(D),t(!1)},_e=()=>{f([])},Ye=(U)=>{if(U.type==="folder")window.open(`/projects/${o}/folders/${U.id}`,"_blank","noopener,noreferrer");else{let Oe=U.versionStack?U.versionStack.id:U.id,st=new URLSearchParams;if(U.startTime!==void 0&&U.startTime!==null&&U.startTime>0)st.set("start",String(U.startTime));let ut=st.toString()?`?${st.toString()}`:"";window.open(`/projects/${o}/files/${Oe}${ut}`,"_blank","noopener,noreferrer")}},ct=p.filter((U)=>U.value!=="").length;return a(Se,{open:e,onOpenChange:t,children:g(xe,{className:"sm:max-w-4xl lg:max-w-5xl p-0 gap-0 overflow-hidden bg-background border-border rounded-2xl shadow-2xl flex flex-col h-[85vh]",children:[a(ke,{className:"px-6 pt-3 pb-0 text-left",children:a(Ce,{className:"text-lg font-bold",children:Hk()})}),g("div",{className:"px-6 pb-6 pt-4 border-b border-border bg-muted/30 flex flex-col gap-3",children:[g("form",{onSubmit:(U)=>{U.preventDefault(),T(y.trim())},className:"flex flex-col gap-3 mt-2",children:[g("div",{className:"relative",children:[a(re,{value:y,onChange:(U)=>I(U.target.value),placeholder:N?qk():$k(),className:"w-full pl-4 pr-24 py-3 bg-background border-border rounded-xl text-sm h-12 focus-visible:ring-2 focus-visible:ring-primary/20 shadow-sm"}),y&&a("button",{type:"button",onClick:()=>{I(""),T("")},className:"absolute right-20 top-1/2 -translate-y-1/2 p-1 rounded-md text-muted-foreground hover:text-foreground transition-colors",children:a(Ge,{className:"w-4 h-4"})}),a("button",{type:"submit",className:"absolute right-1.5 top-1.5 bottom-1.5 px-4 bg-primary hover:bg-primary/90 text-primary-foreground text-xs font-semibold rounded-lg flex items-center justify-center transition-colors shadow-sm",children:jk()})]}),g("div",{className:"flex items-center gap-3 py-1",children:[g("div",{className:"flex items-center gap-2 bg-background border border-border px-3 py-1.5 rounded-lg shadow-sm",children:[a(Ve,{id:"semantic-search-switch",checked:N,onCheckedChange:(U)=>{A(U),I(""),T(""),f([])},disabled:!W}),a(fe,{htmlFor:"semantic-search-switch",className:B("text-xs font-semibold select-none cursor-pointer",!W&&"opacity-50 cursor-not-allowed"),children:mR()})]}),!W&&a("span",{className:"text-[10px] text-muted-foreground italic",children:gR()})]})]}),g("div",{className:"flex items-center justify-between py-1.5 px-1 mt-1 select-none",children:[g("div",{className:"flex items-center gap-2",children:[g("button",{type:"button",onClick:()=>v(!h),className:"flex items-center gap-2 py-1 px-1.5 rounded-lg hover:bg-accent/50 cursor-pointer transition-colors group text-left",children:[h?a(Rl,{className:"w-4 h-4 text-muted-foreground group-hover:text-foreground"}):a(Be,{className:"w-4 h-4 text-muted-foreground group-hover:text-foreground"}),a("span",{className:"text-xs font-semibold text-foreground/80",children:yC()})]}),ct>0&&g("span",{className:"px-1.5 py-0.5 rounded-full text-[10px] font-mono font-bold bg-primary/10 text-primary border border-primary/20",children:[ct," ",Gy()]})]}),ct>0&&a("button",{type:"button",onClick:(U)=>{U.stopPropagation(),_e()},className:"text-[11px] font-medium text-destructive hover:text-destructive/80 underline underline-offset-2 transition-colors",children:Rk()})]}),h&&a(Ie,{className:"mt-1 max-h-[28vh] rounded-xl border border-border bg-muted/40",children:a("div",{className:"p-4 flex flex-col gap-3 animate-in slide-in-from-top-1 duration-200",children:a(Ao,{fields:s,conditions:p,onChange:f,excludeFields:["name"],hidePrefix:!0,className:"p-0 bg-transparent space-y-2"})})})]}),a(Ie,{className:"flex-1 min-h-0 bg-background [&>div>div]:block!",children:g("div",{className:"p-4 md:p-5 min-w-0",children:[g("div",{className:"flex items-center justify-between mb-3 px-1",children:[a("span",{className:"text-[11px] font-bold uppercase tracking-wider text-muted-foreground/60 font-mono",children:Kk()}),Ee&&g("span",{className:"inline-flex items-center gap-1.5 text-xs text-primary",children:[a(K,{className:"h-3 w-3 animate-spin"}),N?AR():B1()]})]}),!ye?g("div",{className:"border border-border rounded-xl py-20 text-center flex flex-col items-center justify-center bg-muted/20 px-4",children:[a(rr,{className:"w-10 h-10 text-muted-foreground/30 mb-2"}),a("h3",{className:"text-sm font-semibold text-foreground/80",children:Ak()}),a("p",{className:"text-xs text-muted-foreground max-w-sm mt-1 mx-auto",children:xO()}),N&&a("p",{className:"text-xs text-muted-foreground/80 max-w-md mt-4 mx-auto border-t border-border/60 pt-3",children:hR()})]}):_?g("div",{className:"border border-border rounded-xl py-12 px-4 text-center flex flex-col items-center justify-center bg-muted/20",children:[a(_r,{className:"w-10 h-10 text-destructive/50 mb-2"}),a("h3",{className:"text-sm font-semibold text-foreground/80",children:J0()}),a("p",{className:"text-xs text-muted-foreground max-w-sm mt-1 mx-auto",children:_.message.includes("Embedding agent not configured")?fx():_.message})]}):Ee?a("div",{className:"grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-4 gap-4",children:Array.from({length:8}).map((U,Oe)=>g("div",{className:"flex flex-col rounded-xl border border-border bg-card p-2 space-y-2 animate-pulse",children:[a("div",{className:"aspect-square w-full rounded-lg bg-muted/60"}),g("div",{className:"p-1 space-y-1.5",children:[a("div",{className:"h-4 bg-muted/60 rounded w-3/4"}),a("div",{className:"h-3 bg-muted/40 rounded w-1/2"})]})]},Oe))}):oe.length===0?g("div",{className:"border border-border rounded-xl py-12 px-4 text-center flex flex-col items-center justify-center bg-muted/20",children:[a(_r,{className:"w-10 h-10 text-muted-foreground/30 mb-2"}),a("h3",{className:"text-sm font-semibold text-foreground/80",children:pT()}),a("p",{className:"text-xs text-muted-foreground max-w-sm mt-1 mx-auto",children:uO()})]}):g(Y,{children:[a("div",{className:"grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-4 gap-4",children:oe.map((U)=>{let Oe=U.startTime!=null&&U.endTime!=null?`${U.id}-${U.startTime}-${U.endTime}`:U.id;if(U.type==="folder")return a(Yl,{item:U,hideCheckbox:!0,hideActions:!0,disabled:!0,onSelect:()=>Ye(U)},Oe);return a(Jl,{teamId:n,item:U,hideCheckbox:!0,hideActions:!0,disabled:!0,onSelect:()=>Ye(U)},Oe)})}),(Me||Le)&&a("div",{ref:H,className:"p-4 flex justify-center items-center",children:a(K,{className:"h-6 w-6 animate-spin text-muted-foreground"})})]})]})}),g("div",{className:"p-4 border-t border-border bg-muted/30 flex items-center justify-between shrink-0",children:[a("div",{className:"text-xs text-muted-foreground flex items-center gap-2",children:a("span",{children:BS({count:Ae(ge)})})}),g("div",{className:"flex items-center gap-2",children:[a(F,{variant:"outline",size:"xs",className:"h-8 text-[10px] font-semibold uppercase tracking-wider mr-1",disabled:!ye||te||N,onClick:()=>b(),children:te?g(Y,{children:[a(K,{className:"mr-2 h-3 w-3 animate-spin"}),Jh()]}):Bk()}),a(F,{size:"xs",className:"h-8 text-[10px] font-semibold uppercase tracking-wider",onClick:N?()=>t(!1):ae,children:N?Nl():Zb()})]})]})]})})}Z();function il({fields:e,sort:t,onSortChange:n,disabled:o}){let r=G(()=>{let p=[{id:"custom",label:ng()},{id:"name",label:Yc()},{id:"createdAt",label:og()},{id:"updatedAt",label:YR()},{id:"sizeByte",label:ig()}],f=e.map((h)=>({id:h.id,label:h.config?.name||h.description||Jn()}));return[...p,...f]},[e]),s=t?.field||"custom",i=r.find((p)=>p.id===s)||r[0],l=t?.order==="asc",u=((p)=>{if(p==="name")return{asc:Cd(),desc:Td()};if(["createdAt","updatedAt"].includes(p))return{asc:Id(),desc:Sd()};if(p==="sizeByte")return{asc:ag(),desc:sg()};return{asc:Hm(),desc:th()}})(s),c=(p)=>{n({field:p,order:t?.order||"desc"})},m=(p)=>{n({field:s,order:p==="asc"?"asc":"desc"})};return g(pt,{children:[a(mt,{asChild:!0,children:a(F,{variant:t?"secondary":"ghost",size:"sm",disabled:o,children:t?eM({field:i.label}):Jc()})}),a(ht,{className:"w-[280px] p-3",align:"end",children:g("div",{className:"grid gap-4",children:[g("div",{className:"grid gap-2",children:[a("span",{className:"text-sm text-muted-foreground",children:Jc()}),g(Xe,{value:s,onValueChange:c,children:[a(tt,{className:"w-full",children:a(et,{})}),a(rt,{position:"popper",children:r.map((p)=>a(be,{value:p.id,children:p.label},p.id))})]})]}),s!=="custom"&&g("div",{className:"grid gap-2",children:[a("span",{className:"text-sm text-muted-foreground",children:Dh()}),g(F,{variant:"outline",className:"w-full justify-between font-normal",onClick:()=>m(l?"desc":"asc"),children:[a("span",{children:l?u.asc:u.desc}),a(Zd,{className:"size-4 opacity-50"})]})]})]})})]})}function al({teamId:e,projectId:t,assetId:n,fields:o,filterConditions:r,onFilterChange:s,sort:i,onSortChange:l,isRecentlyDeleted:d,isRecents:u,collection:c,onUpdateCollection:m,rootFolderId:p}){let{canEdit:f}=Xt(t),[h,v]=w(!1),[y,I]=w(!1),[E,T]=w(!1),[N,A]=w(!1),[V,W]=w(!1),D=We(),ye=r.length,b=!!c,te=ie(),H=Fr((k)=>Boolean(k.metadata["appearance.hideAgent"])),{data:O}=X({queryKey:["folders",n],queryFn:async()=>{let k=await R.api.folders[":folderId"].$get({param:{folderId:n}});if(!k.ok)throw Error("failed to fetch folder");return await k.json()},enabled:!!n&&!d}),q=()=>{if(n===p)D({to:"/projects/$projectId/agentsmd",params:{projectId:t}});else D({to:"/projects/$projectId/folders/$folderId/agentsmd",params:{projectId:t,folderId:n}})},{data:Ee,refetch:Le}=X({queryKey:["projects",t,"members"],queryFn:async()=>{let k=await R.api.projects[":projectId"].members.$get({param:{projectId:t},query:{}});if(!k.ok)throw Error("Failed to fetch members");return await k.json()}}),{data:je}=X({queryKey:["projects",t,"team"],queryFn:async()=>{let k=await R.api.projects[":projectId"].team.$get({param:{projectId:t}});if(!k.ok)throw Error("Failed to fetch team info");return await k.json()}}),{data:Me}=X({queryKey:["teams",je?.teamId,"members"],queryFn:async()=>{let k=await R.api.teams[":teamId"].members.$get({param:{teamId:je?.teamId||""},query:{}});if(!k.ok)throw Error("Failed to fetch team members");return await k.json()},enabled:!!je?.teamId&&N}),{data:_,refetch:oe}=X({queryKey:["projects",t,"me"],queryFn:async()=>{let k=await R.api.projects[":projectId"].me.$get({param:{projectId:t}});if(!k.ok)throw Error("Failed to fetch project me");return await k.json()},enabled:!!t}),ge=R.api.projects[":projectId"].invite.$post,Ae=ee({mutationFn:async(k)=>{let he=await ge(k);if(!he.ok)throw Error("Failed to invite");return await he.json()}}),ae=R.api.projects[":projectId"].members.$post,_e=ee({mutationFn:async(k)=>{let he=await ae(k);if(!he.ok)throw Error("Failed to add project member");return await he.json()},onSuccess:()=>{te.invalidateQueries({queryKey:["projects",t,"members"]}),te.invalidateQueries({queryKey:["projects",t,"me"]})}}),Ye=()=>{v(!1),T(!0)},ct=async(k)=>(await Ae.mutateAsync({param:{projectId:t},json:{role:k}})).code,U=(k)=>{if(A(k),k)Le(),oe()},Oe=Array.isArray(Ee)?Ee:[],ut=(Array.isArray(Me)?Me:[]).filter((k)=>!Oe.some((he)=>he.id===k.id)),me=async(k,he)=>{await _e.mutateAsync({param:{projectId:t},json:{userId:k,role:he}})},le=ee({mutationFn:async({userId:k,role:he})=>{if(!(await R.api.projects[":projectId"].members[":userId"].$patch({param:{projectId:t,userId:k},json:{role:he}})).ok)throw Error("Failed to update member role")},onSuccess:()=>{te.invalidateQueries({queryKey:["projects",t,"members"]})}}),P=ee({mutationFn:async(k)=>{if(!(await R.api.projects[":projectId"].members[":userId"].$delete({param:{projectId:t,userId:k}})).ok)throw Error("Failed to remove member")},onSuccess:()=>{te.invalidateQueries({queryKey:["projects",t,"members"]})}}),x=(k)=>{if(!k)return"??";return k.split(" ").map((he)=>he[0]).slice(0,2).join("").toUpperCase()};if(u)return a("div",{className:"flex items-center px-4 py-2.5 border-b sticky top-0 bg-background z-10 text-sm text-muted-foreground",children:a("span",{children:_k()})});return g("div",{className:"flex items-center justify-between p-2 border-b sticky top-0 bg-background z-10",children:[g("div",{className:"flex items-center gap-2 h-full",children:[g(pt,{open:h,onOpenChange:v,children:[a(mt,{asChild:!0,children:a(F,{variant:"ghost",size:"sm",children:lh()})}),a(ht,{className:"w-auto p-0",align:"start",children:a(Dg,{projectId:t,onManageFields:f?Ye:void 0,onSave:()=>v(!1)})})]}),a(Bo,{orientation:"vertical"}),a(il,{fields:o,sort:i,onSortChange:l,disabled:d||u}),a(Bo,{orientation:"vertical"}),b?g(Y,{children:[g(pt,{open:V,onOpenChange:W,children:[a(mt,{asChild:!0,children:a(F,{variant:"ghost",size:"sm",className:"text-muted-foreground",children:a("span",{className:"truncate max-w-[150px]",children:O?.name||"Loading..."})})}),a(ht,{className:"w-[300px] p-0",align:"start",children:g("div",{className:"h-[400px] flex flex-col",children:[a("div",{className:"p-2 border-b text-xs font-semibold text-muted-foreground uppercase tracking-wider",children:"Select Source Folder"}),a("div",{className:"flex-1 overflow-y-auto",children:a(qr,{teamId:e,projectId:t,projectName:"Assets",rootFolderId:p,onSelect:(k)=>{m?.({filter:{...c.filter,sourceFolderId:k.id}}),W(!1)},selectedFolderId:c.filter.sourceFolderId,hideCollections:!0,hideShares:!0})})]})})]}),a(Bo,{orientation:"vertical"}),g(pt,{children:[a(mt,{asChild:!0,children:g(F,{variant:ye>0?"secondary":"ghost",size:"sm",children:[a("span",{children:"Filter"}),ye>0&&a("span",{className:"ml-1 px-1.5 py-0.5 rounded-full text-[10px] font-mono font-bold bg-primary/50 border border-primary-foreground/20",children:ye})]})}),a(ht,{className:"w-[500px] p-0 overflow-hidden",align:"start",children:a("div",{className:"max-h-[80vh] overflow-y-auto",children:a(Ao,{fields:o,conditions:r,onChange:(k)=>{s(k),m?.({filter:{...c.filter,searchFilter:{...c.filter.searchFilter,conditions:k}}})},excludeFields:[],hidePrefix:!0})})})]})]}):g(Y,{children:[g(F,{onClick:()=>I(!0),disabled:d||u,variant:ye>0?"secondary":"ghost",size:"sm",children:[a("span",{children:zk()}),ye>0&&a("span",{className:"ml-1 px-1.5 py-0.5 rounded-full text-[10px] font-mono font-bold bg-primary/50 border border-primary-foreground/20",children:ye})]}),!d&&!u&&!H&&g(Y,{children:[a(Bo,{orientation:"vertical"}),g(F,{onClick:q,variant:"ghost",size:"sm",title:"AGENTS.md",className:B(O?.hasAgentsMd?"text-foreground":"text-muted-foreground"),children:[a("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 -960 960 960",className:B("size-4",O?.hasAgentsMd?"text-primary":"text-muted-foreground"),fill:"currentColor",children:a("path",{d:"m176-120-56-56 301-302-181-45 198-123-17-234 179 151 216-88-87 217 151 178-234-16-124 198-45-181-301 301Zm24-520-80-80 80-80 80 80-80 80Zm520 520-80-80 80-80 80 80-80 80Z"})}),a("span",{children:pb()})]})]})]})]}),a("div",{className:"flex items-center gap-2",children:!d&&!u&&g("div",{className:"flex items-center -space-x-2 cursor-pointer hover:opacity-90","data-testid":"project-members-trigger",onClick:()=>U(!0),children:[Ee?.slice(0,3).map((k)=>g($e,{className:"border-2 border-background w-8 h-8",children:[k.image&&a(He,{src:k.image,alt:k.name,className:"object-cover"}),a(Qe,{className:"text-[10px]",children:x(k.name)})]},k.id)),Ee&&Ee.length>3&&g("div",{className:"flex items-center justify-center w-8 h-8 rounded-full border-2 border-background bg-muted text-[10px] font-medium",children:["+",Ee.length-3]})]})}),a(rl,{projectId:t,open:E,onOpenChange:T}),a(vu,{open:N,onOpenChange:U,title:x1(),type:"project",members:Ee||[],isOwner:_?.role==="owner",onInvite:ct,onUpdateRole:async(k,he)=>{await le.mutateAsync({userId:k,role:he})},onRemoveMember:async(k)=>{await P.mutateAsync(k)},currentUserId:_?.id,availableMembersToAdd:ut,onAddMember:me}),a(sl,{open:y,onOpenChange:I,teamId:e,projectId:t,assetId:n,fields:o,initialConditions:r,onApply:s})]})}Z();function zd({teamId:e,projectId:t,assetId:n,folders:o,files:r,selectedIds:s,isPublic:i,shareId:l}){let[d,u]=w(null),[c,m]=w(!1),[p,f]=w([]),[h,v]=w(!1),[y,I]=w(!1),[E,T]=w([]),N=ie(),A=R.api.folders.$post,{mutate:V}=ee({mutationFn:async(me)=>{let le=await A(me);if(!le.ok)throw Error("Failed to create");return await le.json()}}),W=R.api.folders[":folderId"].$put,{mutate:D}=ee({mutationFn:async(me)=>{let le=await W(me);if(!le.ok)throw Error("Failed to rename");return await le.json()}}),ye=R.api.files[":fileId"].$put,{mutate:b}=ee({mutationFn:async(me)=>{let le=await ye(me);if(!le.ok)throw Error("Failed to rename");return await le.json()}}),te=R.api.files.$delete,{mutate:H}=ee({mutationFn:async(me)=>{if(!(await te(me)).ok)throw Error("Failed to delete")}}),O=R.api.folders.$delete,{mutate:q}=ee({mutationFn:async(me)=>{if(!(await O(me)).ok)throw Error("Failed to delete");return null}}),Ee=R.api.files.restore.$post,{mutate:Le}=ee({mutationFn:async(me)=>{if(!(await Ee(me)).ok)throw Error("Failed to restore")}}),je=R.api.folders.restore.$post,{mutate:Me}=ee({mutationFn:async(me)=>{if(!(await je(me)).ok)throw Error("Failed to restore");return null}}),_=R.api.files["download-links"].$post,{mutateAsync:oe}=ee({mutationFn:async(me)=>{let le=await _(me);if(!le.ok)throw Error("Failed to get download links");return await le.json()}}),ge=(me)=>{u(me.id)},Ae=()=>{let me=p.filter((P)=>P.type==="file"||P.type==="version_stack").map((P)=>P.id),le=p.filter((P)=>P.type==="folder").map((P)=>P.id);if(me.length>0)H({json:{ids:me}},{onSuccess:()=>{N.invalidateQueries({queryKey:["search",e,n]})}});if(le.length>0)q({json:{ids:le}},{onSuccess:()=>{N.invalidateQueries({queryKey:["search",e,n]}),N.invalidateQueries({queryKey:["folders"]})}});m(!1),f([])},ae=(me)=>{f(me),m(!0)},_e=(me)=>{let le=me.filter((x)=>x.type==="file"||x.type==="version_stack").map((x)=>x.id),P=me.filter((x)=>x.type==="folder").map((x)=>x.id);if(le.length>0)Le({json:{ids:le}},{onSuccess:()=>{N.invalidateQueries({queryKey:["projects",t,"recently-deleted","file"]})}});if(P.length>0)Me({json:{ids:P}},{onSuccess:()=>{N.invalidateQueries({queryKey:["projects",t,"recently-deleted","folder"]})}})},Ye=async(me)=>{if(me.length===0)return;v(!0),I(!0),T([]);try{if(i&&l){let le=localStorage.getItem(`share_pwd_${l}`)||"",P=[];for(let x of me){let k=x.media?.original?.key;if(!k||!x.id)continue;let he=await R.api.shares[":shareId"].files[":fileId"]["download-url"].$post({param:{shareId:l,fileId:x.id},json:{key:k}},{headers:{"x-share-password":le}});if(he.ok){let{url:ze}=await he.json();P.push({id:x.id,name:x.name||"download",url:ze})}}T(P)}else{let le=await oe({json:{ids:me.map((P)=>P.id)}});T(le.files)}}catch(le){j.error("Failed to prepare download links"),v(!1),console.error(le)}finally{I(!1)}},ct=async(me)=>{if(me.length===0)return;try{let P=(await oe({json:{ids:me.map((he)=>he.id)}})).files;if(P.length===0)return;let x="";if(P.length===1)x=`Name: ${P[0].name}
|
|
12
|
+
Path: ${P[0].url}`;else x=P.map((he)=>`${he.name} ${he.url}`).join(`
|
|
13
|
+
`);if(await jo(x))j.success(Vw())}catch(le){j.error("Failed to copy name and download link"),console.error(le)}};return{editingItemId:d,setEditingItemId:u,handleRename:ge,handleDelete:ae,handleRestore:_e,handleDownload:Ye,handleCopyNameAndDownloadLink:ct,handleNewFolder:(me)=>{V({json:{name:me,parentId:n}},{onSuccess:(le)=>{if(N.invalidateQueries({queryKey:["search",e]}),N.invalidateQueries({queryKey:["folders"]}),le?.id)u(le.id)}})},handleAction:(me,le)=>{let x=s.has(le.id)?[...o,...r].filter((k)=>s.has(k.id)):[le];switch(me){case"rename":ge(le);break;case"delete":ae(x);break;case"download":Ye(x);break;case"restore":_e(x);break;case"copy-name-and-download-link":ct(x);break}},onRenameSubmit:(me,le)=>{if(me.type==="folder")D({param:{folderId:me.id},json:{name:le}},{onSuccess:()=>{N.invalidateQueries({queryKey:["search",e]}),N.invalidateQueries({queryKey:["folders"]})}});else b({param:{fileId:me.id},json:{name:le}},{onSuccess:()=>{N.invalidateQueries({queryKey:["search",e]}),N.invalidateQueries({queryKey:["folders"]})}})},isDeleteDialogOpen:c,setIsDeleteDialogOpen:m,itemsToDelete:p,confirmDelete:Ae,isDownloadDialogOpen:h,setIsDownloadDialogOpen:v,isLoadingLinks:y,resolvedFiles:E,startDownload:()=>{let me=[...E];if(v(!1),me.length===0)return;j.info(`Starting download of ${me.length} files. Please allow multiple downloads if prompted by your browser.`,{duration:5000});let le=(x)=>new Promise((k)=>setTimeout(k,x));(async()=>{for(let k=0;k<me.length;k+=5){let he=me.slice(k,k+5);for(let ze of he){let gt=document.createElement("iframe");gt.style.display="none",gt.src=ze.url,document.body.appendChild(gt),window.setTimeout(()=>gt.remove(),60000)}if(k+5<me.length)await le(600)}j.success("All downloads initiated successfully")})().catch((x)=>{console.error("Background downloads failed:",x),j.error("Some downloads could not be started")})}}}var ll=[];function wa({teamId:e,projectId:t,assetId:n,folders:o,files:r,totalFolders:s,totalFiles:i,totalFoldersSize:l,totalFilesSize:d,selectedItem:u,selectedIds:c,onItemSelect:m,onItemDoubleClick:p,onSaveField:f,displayStyle:h,onClearSelection:v,fetchNextFoldersPage:y,hasNextFoldersPage:I,isFetchingNextFoldersPage:E,fetchNextFilesPage:T,hasNextFilesPage:N,isFetchingNextFilesPage:A,isRecentlyDeleted:V,isRecents:W,isLoading:D=!1,filterConditions:ye,onFilterChange:b,sort:te,onSortChange:H,dragState:O,isShareView:q,isPublic:Ee,onRemoveFromShare:Le,fieldVisibility:je,collection:Me,onUpdateCollection:_,rootFolderId:oe,shareId:ge,sharePassword:Ae,allowDownload:ae=!0}){let[_e,Ye]=w(null),[ct,U]=w(null),[Oe,st]=w(null),[ut,me]=w([]),[le,P]=w(!1),[x,k]=w(null);S(()=>{if(u)k(u)},[u]),S(()=>{if(c.size===0)k(null)},[c.size]);let he=Q((C,ce)=>{k(C),m(C,ce)},[m]),ze=ie(),gt=We(),[jn,Vn]=w(!1),[xn,ue]=w(null),Rt=M(0),Bn=Q(()=>{Vn(!1),ue(null),Rt.current=0},[]);S(()=>{let C=(ce)=>{ce.preventDefault()};return window.addEventListener("dragover",C),window.addEventListener("drop",C),()=>{window.removeEventListener("dragover",C),window.removeEventListener("drop",C)}},[]);let pl=(C)=>{if(!Pt||V||W||q||Ee||!!Me)return;if(C.preventDefault(),C.dataTransfer.types.includes("Files"))Rt.current++,Vn(!0)},fl=(C)=>{if(!Pt||V||W||q||Ee||!!Me)return;if(C.preventDefault(),C.dataTransfer.types.includes("Files")){if(Rt.current--,Rt.current<=0)Rt.current=0,Vn(!1),ue(null)}},ml=(C)=>{if(!Pt||V||W||q||Ee||!!Me)return;C.preventDefault()},gl=async(C)=>{if(!Pt||V||W||q||Ee||!!Me)return;C.preventDefault(),C.stopPropagation();let ce=await tc(C.dataTransfer);if(Bn(),ce.length>0)sn(ce)},[ss,is]=w([]),Ft=G(()=>{let C=new Set(r.map((Je)=>Je.id));return[...ss.filter((Je)=>!C.has(Je.id)),...r]},[r,ss]),Do=G(()=>{if(c.size===0)return null;if(x&&c.has(x.id))return x;if(u&&c.has(u.id))return u;return[...o,...Ft].find((ce)=>c.has(ce.id))||null},[c,x,u,o,Ft]);S(()=>{let C=(ce)=>{if(ce.key!==" "&&ce.code!=="Space")return;if(le)return;let Je=document.activeElement;if(Je&&(Je.tagName==="INPUT"||Je.tagName==="TEXTAREA"||Je instanceof HTMLElement&&Je.isContentEditable))return;if(document.querySelector('[role="dialog"], [role="alertdialog"]'))return;if(c.size>0&&Do)ce.preventDefault(),P(!0)};return window.addEventListener("keydown",C),()=>{window.removeEventListener("keydown",C)}},[le,c.size,Do]);let{data:hl}=X({queryKey:["shares",t,"list"],queryFn:async()=>{let C=await R.api.projects[":projectId"].shares.$get({param:{projectId:t},query:{first:"100"}});if(!C.ok)throw Error("Failed to fetch share links");return await C.json()},enabled:!!t&&!Ee}),vl=R.api.projects[":projectId"].reparent.$post,{mutate:wl}=ee({mutationFn:async(C)=>{if(!(await vl(C)).ok)throw Error("Failed to move assets");return null}}),yl=R.api.projects[":projectId"].copy.$post,{mutate:xl}=ee({mutationFn:async(C)=>{if(!(await yl(C)).ok)throw Error("Failed to copy assets");return null}}),bl=async(C,ce)=>{let Je=ut.map((Ze)=>Ze.id);if(Oe==="move")wl({param:{projectId:t},json:{newParentId:C,assetIds:Je}},{onSuccess:()=>{j.success(`Successfully moved ${Je.length} item(s)`,{action:{label:"Go to folder",onClick:()=>{gt({to:"/projects/$projectId/folders/$folderId",params:{projectId:t,folderId:C}})}}}),ze.invalidateQueries({queryKey:["search",e]}),ze.invalidateQueries({queryKey:["folders"]}),st(null),me([]),v()},onError:(Ze)=>{j.error(`Error: ${Ze.message}`)}});else xl({param:{projectId:t},json:{newParentId:C,assetIds:Je,withComments:ce}},{onSuccess:()=>{j.success(`Successfully copied ${Je.length} item(s)`,{action:{label:"Go to folder",onClick:()=>{gt({to:"/projects/$projectId/folders/$folderId",params:{projectId:t,folderId:C}})}}}),ze.invalidateQueries({queryKey:["search",e]}),ze.invalidateQueries({queryKey:["folders"]}),st(null),me([]),v()},onError:(Ze)=>{j.error(`Error: ${Ze.message}`)}})},{mutate:Sl}=ee({mutationFn:async(C)=>{let ce=C.length===1?C[0].name:new Date().toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"}),Je=await R.api.projects[":projectId"].shares.$post({param:{projectId:t},json:{name:ce}});if(!Je.ok)throw Error("Failed to create share link");let Ze=await Je.json();if(!(await R.api.shares[":shareId"].assets.$post({param:{shareId:Ze.id},json:{assetIds:C.map((at)=>at.id)}})).ok)throw Error("Failed to add assets to share link");return Ze},onSuccess:(C)=>{ze.invalidateQueries({queryKey:["shares",t]}),j.success("Share link created",{action:{label:"View",onClick:()=>gt({to:"/projects/$projectId/shares/$shareId",params:{projectId:t,shareId:C.id}})}})}}),{mutate:Cl}=ee({mutationFn:async({shareId:C,items:ce})=>{if(!(await R.api.shares[":shareId"].assets.$post({param:{shareId:C},json:{assetIds:ce.map((Ze)=>Ze.id)}})).ok)throw Error("Failed to add assets");return{shareId:C}},onSuccess:({shareId:C})=>{j.success("Added to share link",{action:{label:"View",onClick:()=>gt({to:"/projects/$projectId/shares/$shareId",params:{projectId:t,shareId:C}})}})}}),Fl=(C)=>{Sl(C)},Il=(C,ce)=>{Cl({shareId:C,items:ce})},{editingItemId:El,setEditingItemId:as,handleNewFolder:_l,handleDelete:Ml,handleRename:Tl,handleRestore:kl,handleDownload:ls,handleCopyNameAndDownloadLink:Pl,handleAction:ds,onRenameSubmit:Al,isDeleteDialogOpen:Dl,setIsDeleteDialogOpen:Ol,confirmDelete:$l,isDownloadDialogOpen:zl,setIsDownloadDialogOpen:Oo,isLoadingLinks:uo,resolvedFiles:us,startDownload:Ll}=zd({teamId:e,projectId:t,assetId:n,folders:o,files:Ft,selectedIds:c,isPublic:Ee,shareId:ge}),[Ul,$o]=w(!1),{mutate:jl,isPending:zo}=ee({mutationFn:async()=>{let C=await R.api.projects[":projectId"]["empty-trash"].$post({param:{projectId:t}});if(!C.ok)throw Error("Failed to empty trash");return await C.json()},onSuccess:()=>{j.success("Trash emptied successfully"),ze.invalidateQueries({queryKey:["projects",t,"recently-deleted"]}),v(),$o(!1)},onError:(C)=>{j.error(`Error emptying trash: ${C.message}`)}}),Vl=R.api.teams[":teamId"].upload.tasks.$post,{mutate:cs}=ee({mutationFn:async(C)=>{let ce=await Vl(C);if(!ce.ok)throw Error("Failed to create upload task");return await ce.json()},onMutate:()=>({files:[...ll]}),onSuccess:async(C,ce,Je)=>{let Ze=Je?.files||[],ft=ce.json.parentId===n,at=Ze.map((dt)=>{let it=C.createdAssets?.find((At)=>At.tempId===dt.id),Kt=C.presignedUrls?.find((At)=>At.id===dt.id);return{fileId:it?.assetId||Kt?.fileId||dt.id,name:dt.file.name,size:dt.file.size}}).filter((dt)=>!!dt.fileId),Wt=Ze.filter((dt)=>!dt.file.name.startsWith(".")),Jt=Wt.length===1?Wt[0].file.name:`${Wt.length} Items`;if(C.taskId)ql(C.taskId,Jt,at);if(ft){let dt=Ze.filter((it)=>(it.file.webkitRelativePath||it.file.name).split("/").length===1).map((it)=>{let Kt=C.createdAssets?.find((Kn)=>Kn.tempId===it.id),At=C.presignedUrls?.find((Kn)=>Kn.id===it.id),bn=Kt?.assetId||At?.fileId||it.id,Wn=!!At&&!!At.url;return{id:bn,name:it.file.name,sizeByte:it.file.size,fileCount:0,type:"file",status:Wn?"uploading":"error",proxyType:it.file.name.toLowerCase().endsWith(".wma")&&it.file.type?.startsWith("video/")?"audio":it.file.type?.startsWith("image/")?"image":it.file.type?.startsWith("video/")?"video":it.file.type?.startsWith("audio/")?"audio":it.file.name.endsWith(".pdf")||it.file.name.endsWith(".txt")||it.file.name.endsWith(".csv")||it.file.name.endsWith(".md")||it.file.name.endsWith(".markdown")?"pdf":null,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString()}});is((it)=>[...dt,...it])}ze.invalidateQueries({queryKey:["search",e,n]}),ze.invalidateQueries({queryKey:["teams",e,"upload","tasks"]}),await Ud({files:Ze,taskId:C.taskId,teamId:e,storageBackend:C.storageBackend||"local",createdAssets:C.createdAssets,presignedUrls:C.presignedUrls,onFileFinished:async(dt)=>{await ze.invalidateQueries({queryKey:["search",e,n]}),is((it)=>it.filter((Kt)=>Kt.id!==dt))}}),ze.invalidateQueries({queryKey:["search",e,n]}),ze.invalidateQueries({queryKey:["teams",e,"upload","tasks"]})}}),ql=Xn((C)=>C.startTask),{fields:co}=cn(),ps=G(()=>{if(!q)return co.filter((C)=>C.visible);return co.filter((C)=>je?.[C.id])},[co,q,je]),[fs,gs]=w(!0),[hs,vs]=w(!0),ws=M(null),ys=M(null),xs=M(null),[bs,Ss]=w(null),Uo=M(!1),{canEdit:Pt,canAdmin:Bl}=Xt(t),Cs=M(null),Rs=o.reduce((C,ce)=>C+(ce.sizeByte||0),0),Fs=Ft.reduce((C,ce)=>C+(ce.sizeByte||0),0),Is=(C,ce)=>{if(ye?.some((Ze)=>Ze.field==="name"&&Ze.operator==="contains")&&C===10001)return ce?Yw():Xw();if(ce)return C===1?Sh({count:C}):Ch({count:C});else return C===1?Th({count:C}):Ih({count:C})},Es=(C)=>{let ce=C.target;if(ce.closest('[role="menuitem"]')||ce.closest("[data-radix-menu-content]"))return;if(ce===C.currentTarget||ce.closest(".empty-area")||!ce.closest(".group")&&!ce.closest("button")&&!ce.closest("a")&&!ce.closest("input"))v(),as(null)},_s=(C,ce)=>{if(ce===void 0)if(Uo.current)Uo.current=!1;else Ye(null);else{Uo.current=!0,Ye(ce??null);return}},Ts=(C,ce)=>{let Je=C.type==="symlink"?C.targetType||"file":C.type,Ze={teamId:e,item:C,isSelected:u?.id===C.id,isChecked:c.has(C.id),isEditing:El===C.id,onSelect:he,onDoubleClick:p,onContextMenu:_s,onDragStart:()=>{},onDrop:()=>{},onRename:(ft)=>Al(C,ft),onFinishEditing:()=>as(null),onSaveField:(ft,at)=>{f(C.id,ft,at)},dragState:O,onAction:(ft,at)=>{if(ft==="manage-versions"){U(at.id||null);return}if(q){if(ft==="remove-from-share"){let Jt=c.has(at.id)?[...o,...r].filter((dt)=>c.has(dt.id)):[at];Le?.(Jt)}else if(ft==="download")ds("download",at);return}ds(ft,at)},isRecentlyDeleted:V,isRecents:W,selectedCount:c.size,isShareView:q,allowDownload:ae,fields:ps,canEdit:Pt,isExternalDragging:jn,externalOverFolderId:xn,setExternalOverFolderId:ue,resetExternalDragState:Bn,onExternalDrop:(ft,at)=>{sn(ft,at)}};if(h==="card"){if(Je==="folder")return a(Yl,{...Ze},C.id);if(Je==="file"||Je==="version_stack")return a(Jl,{...Ze},C.id)}return a(Na,{...Ze,columnSizing:ce},C.id)},Vo=c.size,Hn=Array.from(c).filter((C)=>o.find((ce)=>ce.id===C)).length,Gn=Array.from(c).filter((C)=>Ft.find((ce)=>ce.id===C)).length,qo=Array.from(c).reduce((C,ce)=>{let Je=o.find((Ze)=>Ze.id===ce)||Ft.find((Ze)=>Ze.id===ce);return C+(Je?.sizeByte||0)},0),Hl=()=>{ws.current?.click()},Wl=()=>{ys.current?.click()},sn=Q((C,ce)=>{if(!C||C.length===0)return;let Je=[],Ze=[],ft=new Map;for(let at of C){let Wt=(at.webkitRelativePath||at.name).split("/");if(Wt.some((bn)=>bn.startsWith(".")))continue;let Jt=Wt.pop(),dt=Ze,it="";for(let bn of Wt)if(it=`${it}/${bn}`,!ft.has(it)){let Wn=[],Kn={name:bn,type:"folder",id:As(),children:Wn,size:0};dt.push(Kn),ft.set(it,Wn),dt=Wn}else dt=ft.get(it);let Kt={file:at,id:As()};Je.push(Kt);let At=at.type;if(Jt.toLowerCase().endsWith(".wma")&&At?.startsWith("video/"))At=At.replace(/^video\//,"audio/");dt.push({name:Jt,size:at.size,type:"file",id:Kt.id,children:[],mediaType:At})}ll=Je,cs({param:{teamId:e},json:{parentId:ce||n,files:Ze}})},[n,cs,e]),ks=(C)=>{sn(C.target.files)},Kl=(C)=>{Ss(C.id),xs.current?.click()},Xl=(C)=>{if(C.target.files&&bs)sn(C.target.files,bs),Ss(null),C.target.value=""},Ds=Q((C)=>{if(!Pt||q||!!Me)return;if(!C.clipboardData)return;let ce=C.clipboardData.items,Je=[];for(let Ze=0;Ze<ce.length;Ze++){let ft=ce[Ze];if(ft.kind==="file"){let at=ft.getAsFile();if(at)if(at.name==="image.png"&&at.type.startsWith("image/")){let Wt=new Date().toISOString().replace(/[:.]/g,"").replace("T","_").substring(0,15),Jt=at.type.split("/")[1]||"png",dt=new File([at],`pasted_image_${Wt}.${Jt}`,{type:at.type});Je.push(dt)}else Je.push(at)}}if(Je.length>0)sn(Je)},[sn,q,Me,Pt]);return S(()=>{let C=(ce)=>{if(!Pt||q||!!Me)return;if(document.activeElement&&(document.activeElement.tagName==="INPUT"||document.activeElement.tagName==="TEXTAREA"||document.activeElement.isContentEditable))return;Ds(ce)};return window.addEventListener("paste",C),()=>{window.removeEventListener("paste",C)}},[Ds,q,Me,Pt]),g(Y,{children:[Pt&&g(Y,{children:[a("input",{type:"file",ref:ws,multiple:!0,style:{display:"none"},onChange:ks}),a("input",{type:"file",ref:ys,multiple:!0,webkitdirectory:"true",style:{display:"none"},onChange:ks}),a("input",{type:"file",ref:xs,style:{display:"none"},onChange:Xl})]}),(()=>g(_a,{modal:!1,children:[a(Ma,{asChild:!0,disabled:q||Ee||!!Me||W,children:g("div",{className:"flex-1 bg-background relative flex flex-col min-h-0 overflow-hidden",onContextMenu:(C)=>{if(W){C.preventDefault(),C.stopPropagation();return}_s(C)},onDragEnter:pl,onDragLeave:fl,onDragOver:ml,onDrop:gl,children:[!q&&!Ee&&b&&H&&a(al,{teamId:e,projectId:t,assetId:n,fields:co||[],filterConditions:ye||[],onFilterChange:b,sort:te,onSortChange:H,isRecentlyDeleted:V,isRecents:W,collection:Me,onUpdateCollection:_,rootFolderId:oe}),V&&g("div",{className:"flex items-center justify-between px-4 py-2.5 bg-muted/20 border-b border-border text-sm shrink-0 animate-in fade-in slide-in-from-top-2 duration-300",children:[g("div",{className:"flex items-center gap-2 text-muted-foreground",children:[a(tn,{className:"h-4 w-4 text-amber-500 shrink-0"}),a("span",{children:Gh()})]}),Bl&&a(F,{variant:"destructive",size:"sm",disabled:zo||o.length===0&&Ft.length===0,onClick:()=>$o(!0),className:"h-8 px-3 text-xs font-medium bg-destructive/10 text-destructive border border-destructive/20 hover:bg-destructive hover:text-destructive-foreground transition-all duration-200",children:"Delete Now"})]}),g("div",{ref:Cs,className:"flex-1 overflow-y-auto min-h-0 relative flex flex-col",style:{overflowAnchor:"none"},children:[D&&o.length===0&&Ft.length===0?a(wg,{displayStyle:h}):h==="list"?a(ol,{folders:o,files:Ft,totalFolders:s,totalFiles:i,totalFoldersSize:l,totalFilesSize:d,selectedItem:u,selectedIds:c,displayedFields:ps,onItemSelect:he,onItemDoubleClick:p,renderItem:Ts,foldersExpanded:fs,setFoldersExpanded:gs,filesExpanded:hs,setFilesExpanded:vs,hasNextFoldersPage:I,hasNextFilesPage:N,isFetchingNextFoldersPage:E,isFetchingNextFilesPage:A,fetchNextFoldersPage:y,fetchNextFilesPage:T,formatCount:Is,formatSize:on,foldersSize:Rs,filesSize:Fs,handleEmptyAreaClick:Es,dragState:O,sort:te,isExternalDragging:jn,externalOverFolderId:xn,setExternalOverFolderId:ue,resetExternalDragState:Bn,onExternalDrop:(C,ce)=>sn(C,ce)}):a(ja,{folders:o,files:Ft,totalFolders:s,totalFiles:i,totalFoldersSize:l,totalFilesSize:d,renderItem:Ts,foldersExpanded:fs,setFoldersExpanded:gs,filesExpanded:hs,setFilesExpanded:vs,hasNextFoldersPage:I,hasNextFilesPage:N,isFetchingNextFoldersPage:E,isFetchingNextFilesPage:A,fetchNextFoldersPage:y,fetchNextFilesPage:T,formatCount:Is,formatSize:on,foldersSize:Rs,filesSize:Fs,handleEmptyAreaClick:Es,dragState:O,sort:te,scrollContainerRef:Cs}),(E||A)&&a("div",{className:"flex justify-center items-center p-4",children:a("p",{children:OS()})}),!D&&o.length===0&&Ft.length===0&&!E&&!A&&a("div",{className:"empty-area flex h-full items-center justify-center text-sm text-muted-foreground",children:W?g("div",{className:"flex flex-col items-center gap-2 p-8 text-center animate-in fade-in duration-300",children:[a(Ti,{className:"h-10 w-10 text-muted-foreground/50 mb-1"}),a("p",{className:"font-medium text-foreground",children:Mh()}),a("p",{className:"text-xs text-muted-foreground",children:Oh()})]}):a("span",{children:ug()})})]}),Vo>0&&g("div",{className:"border-t border-border bg-card px-4 py-3 flex items-center justify-between shrink-0",children:[g("div",{className:"text-sm text-muted-foreground",children:[Hn>0&&Gn>0&&g("span",{children:[Vo," Item",Vo!==1?"s":""," selected •"," ",on(qo)]}),Hn>0&&Gn===0&&g("span",{children:[Hn," folder",Hn!==1?"s":""," selected •"," ",on(qo)]}),Hn===0&&Gn>0&&g("span",{children:[Gn," file",Gn!==1?"s":""," selected •"," ",on(qo)]})]}),ae&&g(F,{variant:"ghost",size:"sm",onClick:()=>ls([...o,...Ft].filter((C)=>c.has(C.id))),className:"gap-2",children:[a(Bt,{className:"h-4 w-4"}),"Download"]})]}),jn&&!xn&&a("div",{className:"absolute bottom-6 left-1/2 -translate-x-1/2 z-50 pointer-events-none animate-in fade-in slide-in-from-bottom-4 duration-300",children:a("div",{className:"flex items-center gap-3 px-6 py-3 rounded-full bg-primary/80 text-primary-foreground shadow-lg shadow-primary/20 border border-primary/20 backdrop-blur-md",children:a("span",{className:"font-medium text-sm",children:"Drop files here to upload"})})})]})}),a(Ta,{item:_e,selectedIds:c,folders:o,files:Ft,onRename:Tl,onDelete:Ml,onDownload:ls,onCopyNameAndDownloadLink:Pl,onNewFolder:_l,onUploadFile:Hl,onUploadFolder:Wl,onNewVersion:Kl,onManageVersions:(C)=>U(C.id||null),onMoveTo:(C)=>{me(C),st("move")},onCopyTo:(C)=>{me(C),st("copy")},onRestore:kl,isRecentlyDeleted:V,isRecents:W,shareLinks:hl?.data??[],onCreateShareLink:Fl,onAddToShareLink:Il,canEdit:Pt})]}))(),Oe&&a(Ia,{isOpen:!!Oe,onClose:()=>st(null),onConfirm:bl,mode:Oe,teamId:e,currentProjectId:t}),a(_t,{open:Dl,onOpenChange:Ol,children:g(yt,{children:[g(vt,{children:[a(wt,{children:"Delete Asset?"}),a(Et,{children:"Deleted items can be recovered for 30 days before being permanently deleted."})]}),g(bt,{children:[a(Ct,{children:"Cancel"}),a(xt,{onClick:()=>{$l()},className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"Delete"})]})]})}),a(_t,{open:Ul,onOpenChange:$o,children:g(yt,{children:[g(vt,{children:[a(wt,{children:"Empty Trash?"}),a(Et,{children:"All items in the recently deleted folder will be permanently removed both from the database and from storage. This action cannot be undone."})]}),g(bt,{children:[a(Ct,{children:"Cancel"}),a(xt,{onClick:(C)=>{C.preventDefault(),jl()},className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",disabled:zo,children:zo?"Deleting...":"Delete Now"})]})]})}),a(Se,{open:zl,onOpenChange:Oo,children:g(xe,{className:"sm:max-w-md",children:[g(ke,{children:[a(Ce,{children:uo?"Preparing Download":"Confirm Download"}),a(Ot,{children:uo?"Resolving all files and folders. Please wait...":"Selected files and folders will be prepared for download."})]}),uo?g("div",{className:"space-y-4 py-6 flex flex-col items-center justify-center",children:[a(K,{className:"h-8 w-8 animate-spin text-primary"}),a("span",{className:"text-sm font-medium text-muted-foreground mt-2",children:"Preparing download links..."})]}):g("div",{className:"space-y-4 py-2",children:[g("div",{className:"text-sm text-muted-foreground",children:["This download will include"," ",a("span",{className:"font-semibold text-foreground",children:us.length})," ","file(s)."]}),g("div",{className:"flex items-start gap-3 p-3 text-sm rounded-lg bg-amber-50 dark:bg-amber-950/30 text-amber-800 dark:text-amber-300 border border-amber-200 dark:border-amber-900/30",children:[a(tn,{className:"h-5 w-5 shrink-0 mt-0.5"}),g("div",{children:[a("p",{className:"font-semibold",children:"No Folder Structure"}),a("p",{className:"mt-0.5 text-xs text-amber-700/90 dark:text-amber-400/90",children:"Folder hierarchy will be flattened. All nested files will be downloaded directly into your default download folder."})]})]})]}),a(ot,{children:!uo?g(Y,{children:[a(F,{variant:"outline",onClick:()=>Oo(!1),children:"Cancel"}),g(F,{onClick:Ll,className:"gap-2",disabled:us.length===0,children:[a(Bt,{className:"h-4 w-4"}),"Start Download"]})]}):a(F,{variant:"outline",onClick:()=>Oo(!1),children:"Cancel"})})]})}),ct&&a(Vp,{open:!!ct,onOpenChange:(C)=>{if(!C)U(null)},stackId:ct,canEdit:Pt,onStackDissolved:()=>{U(null)}}),a(Ea,{item:Do,isOpen:le,onClose:()=>P(!1),allowDownload:ae,shareId:ge,sharePassword:Ae,isPublic:Ee})]})}
|
|
14
|
+
export{Zd,Bd,Ud,Jl,Yl,zd,wa};
|