@shumai-one/shumai 0.4.5 → 0.4.7
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-ncqhp76x.js → chunk-05tnmf8h.js} +2 -2
- package/bin/chunk-0xsgx9ep.js +1 -0
- package/bin/{chunk-wnpjz2kw.js → chunk-0ygtayqf.js} +1 -1
- package/bin/{chunk-1yv06e0q.js → chunk-11c93g1m.js} +2 -2
- package/bin/chunk-1ajgdv26.js +1 -0
- package/bin/chunk-1ntn42d2.js +4 -0
- package/bin/chunk-2kxhdnma.js +3 -0
- package/bin/chunk-30dsxm8s.js +1 -0
- package/bin/chunk-3b6h719s.js +3 -0
- package/bin/{chunk-21e4gjvw.js → chunk-3g5pyw2e.js} +2 -2
- package/bin/{chunk-pdrmbxrt.js → chunk-3h9c5ak3.js} +2 -2
- package/bin/chunk-3m5kwcj7.js +2 -0
- package/bin/chunk-3p1bb08a.js +2 -0
- package/bin/{chunk-1b7gg0nx.js → chunk-3r5yc5wm.js} +11 -11
- package/bin/{chunk-tgee88jq.js → chunk-3tyk9xgf.js} +5 -5
- package/bin/chunk-4a88wwg2.js +2 -0
- package/bin/chunk-4f5pnnah.js +42 -0
- package/bin/{chunk-f3pb9mh9.js → chunk-4jgq9m51.js} +9 -9
- package/bin/{chunk-4k2bej3c.js → chunk-4m8gk79m.js} +2 -2
- package/bin/{chunk-1hnpvtvf.js → chunk-53vtc74g.js} +2 -2
- package/bin/{chunk-e1s1zgv0.js → chunk-58e1a3re.js} +2 -2
- package/bin/{chunk-20ee2pqp.js → chunk-5qkwpy8c.js} +2 -2
- package/bin/{chunk-qysf4mpk.js → chunk-5rk7dyx9.js} +61 -61
- package/bin/{chunk-z422yh6b.js → chunk-5v4s2kp4.js} +1 -1
- package/bin/{chunk-7v7mypc6.js → chunk-5vvvgjvz.js} +2 -2
- package/bin/{chunk-48rbc18e.js → chunk-5wp37g6w.js} +9 -9
- package/bin/{chunk-xgy6ppww.js → chunk-628k58ek.js} +2 -2
- package/bin/{chunk-erharpzt.js → chunk-6kdf411z.js} +1 -1
- package/bin/chunk-6ksrrayx.css +1 -0
- package/bin/chunk-6rjkbwz6.js +14 -0
- package/bin/{chunk-zcfehv0w.js → chunk-781990k7.js} +8 -8
- package/bin/{chunk-rq0n0vcc.js → chunk-80qz30dc.js} +2 -2
- package/bin/{chunk-j3kjscfj.js → chunk-887pj9xd.js} +2 -2
- package/bin/{chunk-psk38vp4.js → chunk-8b1w6bj9.js} +1 -1
- package/bin/{chunk-7t1r3sj3.js → chunk-8gna37dd.js} +2 -2
- package/bin/{chunk-azafjrm4.js → chunk-8sf106rq.js} +2 -2
- package/bin/{chunk-w3jmahea.js → chunk-8ystwvdt.js} +2 -2
- package/bin/{chunk-3mfdp2nh.js → chunk-9v6eqa3n.js} +2 -2
- package/bin/{chunk-dchtr0ap.js → chunk-9va1mzeq.js} +2 -2
- package/bin/{chunk-qqqarj5v.js → chunk-an6nsq1t.js} +2 -2
- package/bin/chunk-ayq8dskd.js +2 -0
- package/bin/{chunk-nkmr6gqc.js → chunk-b0rjvx5g.js} +2 -2
- package/bin/{chunk-v0201sn5.js → chunk-b3aqmcps.js} +2 -2
- package/bin/chunk-bgm76rzj.js +1 -0
- package/bin/chunk-btmxr226.js +1 -0
- package/bin/chunk-camzbwqh.js +2 -0
- package/bin/{chunk-1n1h09e9.js → chunk-ccvjwhqq.js} +1 -1
- package/bin/{chunk-7sc73pfr.js → chunk-dkzyv61a.js} +2 -2
- package/bin/{chunk-y8a3hans.js → chunk-dscq4a4k.js} +2 -2
- package/bin/{chunk-5trfc3xh.js → chunk-dyq6h9ha.js} +1 -1
- package/bin/chunk-e17daz1x.js +2 -0
- package/bin/{chunk-ncp007yb.js → chunk-ebf1r872.js} +5 -5
- package/bin/{chunk-k2aqztk1.js → chunk-ebx3bd4c.js} +1 -1
- package/bin/chunk-ee3mrvqp.js +2 -0
- package/bin/chunk-fg6zf2gb.js +2 -0
- package/bin/{chunk-cwfjvynz.js → chunk-fhazy8f9.js} +2 -2
- package/bin/chunk-fk712d68.js +2 -0
- package/bin/{chunk-zrxe6p0q.js → chunk-fvgb6rps.js} +2 -2
- package/bin/chunk-g9gmht89.js +2 -0
- package/bin/chunk-gc6m7agb.js +3 -0
- package/bin/{chunk-m5z5mzan.js → chunk-gf4n4ahk.js} +1 -1
- package/bin/{chunk-y78v01te.js → chunk-h3wr8nnk.js} +1 -1
- package/bin/chunk-htpjtarr.js +2 -0
- package/bin/{chunk-zp1sv030.js → chunk-hye75kp0.js} +2 -2
- package/bin/{chunk-wmkbkad1.js → chunk-j41mya13.js} +3 -3
- package/bin/chunk-j547gtag.js +2 -0
- package/bin/{chunk-xcwjsav0.js → chunk-jde9r5mj.js} +1 -1
- package/bin/chunk-jf4kcad0.js +1 -0
- package/bin/chunk-jt04mf5s.js +2 -0
- package/bin/{chunk-af1mcn9p.js → chunk-k3qypq3x.js} +1 -1
- package/bin/chunk-k5hnrtrt.js +1 -0
- package/bin/{chunk-3x80f4jk.js → chunk-k810fstm.js} +1 -1
- package/bin/{chunk-h4s1fgf1.js → chunk-kg2c445x.js} +1 -1
- package/bin/chunk-kq2qbwx1.js +2 -0
- package/bin/chunk-m2h7a172.js +1 -0
- package/bin/{chunk-2y6teq4s.js → chunk-m638fg4n.js} +7 -7
- package/bin/{chunk-42ygnm34.js → chunk-mm1a0zja.js} +1 -1
- package/bin/{chunk-23bg4h8n.js → chunk-njabdtvb.js} +2 -2
- package/bin/chunk-njqf50vw.js +2 -0
- package/bin/{chunk-c5dr9m1d.js → chunk-nn5hyf6f.js} +1 -1
- package/bin/{chunk-y13s3641.js → chunk-nnq8g9yy.js} +3 -3
- package/bin/{chunk-zg7a107s.js → chunk-ny7qjn6s.js} +1 -1
- package/bin/{chunk-gdg0tkbk.js → chunk-p5fwjk5c.js} +1 -1
- package/bin/{chunk-g6xgghnq.js → chunk-pa1fmskf.js} +1 -1
- package/bin/{chunk-qg1f1z3t.js → chunk-pcspeqwq.js} +4 -4
- package/bin/{chunk-ty71fdw9.js → chunk-q1d7x1cc.js} +2 -2
- package/bin/{chunk-3c0tcbga.js → chunk-q45n02fs.js} +1 -1
- package/bin/chunk-q6jsw0rr.js +211 -0
- package/bin/{chunk-18qzk2mm.js → chunk-qgkbxw1k.js} +2 -2
- package/bin/chunk-qjzyze00.js +1 -0
- package/bin/chunk-r55htzxr.js +2 -0
- package/bin/{chunk-46wfxyd7.js → chunk-r7e2fmmx.js} +2 -2
- package/bin/{chunk-7jtmwt5a.js → chunk-radcwage.js} +2 -2
- package/bin/chunk-rbagbd0e.js +1 -0
- package/bin/{chunk-cbpgrg5j.js → chunk-rdscv38p.js} +1 -1
- package/bin/chunk-rfhmk32e.js +1 -0
- package/bin/{chunk-p4yrnr37.js → chunk-rkafv27g.js} +2 -2
- package/bin/chunk-rkqpnyzx.js +2 -0
- package/bin/{chunk-brxwrh0b.js → chunk-s30fjvzs.js} +4 -4
- package/bin/{chunk-b5a77dzv.js → chunk-s41mgkse.js} +1 -1
- package/bin/chunk-s63vj79f.js +1 -0
- package/bin/{chunk-73evafrq.js → chunk-t3t7dcfq.js} +1 -1
- package/bin/{chunk-0z8tgn67.js → chunk-twyxs4z2.js} +1 -1
- package/bin/{chunk-nzggcbgk.js → chunk-typ46eqd.js} +6 -6
- package/bin/chunk-v1sgrg0r.js +1 -0
- package/bin/{chunk-jbt3e1ac.js → chunk-vdnmq163.js} +2 -2
- package/bin/{chunk-w9160hxz.js → chunk-vx66rms0.js} +3 -3
- package/bin/{chunk-ss0mcgbd.js → chunk-wvq717b5.js} +2 -2
- package/bin/chunk-xbge27m4.js +1 -0
- package/bin/chunk-xca338dw.js +5 -0
- package/bin/chunk-xcsz1wp7.js +1 -0
- package/bin/{chunk-a3j3hyx2.js → chunk-xznabrt2.js} +2 -2
- package/bin/{chunk-dqxh6dwz.js → chunk-xzyfnfck.js} +8 -8
- package/bin/{chunk-s0caa0zm.js → chunk-ycw3rwhx.js} +4 -4
- package/bin/{chunk-njswnpaq.js → chunk-yqvhgtez.js} +2 -2
- package/bin/{chunk-c51tvhra.js → chunk-yr03tf5r.js} +3 -3
- package/bin/chunk-z9jpgxf1.js +2 -0
- package/bin/chunk-zb0az2tq.js +2 -0
- package/bin/{chunk-gjp851vj.js → chunk-zbt4h7n0.js} +6 -6
- package/bin/chunk-zcdqsp1e.js +1 -0
- package/bin/chunk-zej27b5c.js +2 -0
- package/bin/{chunk-kfpfqxb3.js → chunk-zmjtv19e.js} +1 -1
- package/bin/{chunk-3x3sf7rp.js → chunk-zr11zfwc.js} +2 -2
- package/bin/{chunk-v2xt5p3x.js → chunk-zz0522zr.js} +4 -4
- package/bin/shumai-app.html +1 -1
- package/bin/shumai-app.js +408 -386
- package/package.json +7 -7
- package/prisma/migrations/20260914024424_add_asset_comment_reactions/migration.sql +22 -0
- package/prisma/migrations/20260914064432_limit_reaction_code_length/migration.sql +8 -0
- package/prisma/migrations/20260914092940_add_jpeg_preview_flags/migration.sql +5 -0
- package/prisma/schema.prisma +21 -0
- package/bin/chunk-20yset6k.js +0 -1
- package/bin/chunk-2swjkvxv.js +0 -211
- package/bin/chunk-3115qtvj.js +0 -2
- package/bin/chunk-3rwx54z7.js +0 -2
- package/bin/chunk-5xcjnbm9.js +0 -1
- package/bin/chunk-685gzbdg.js +0 -14
- package/bin/chunk-6kzm51c7.js +0 -2
- package/bin/chunk-813885jm.js +0 -1
- package/bin/chunk-8yg9zy53.js +0 -2
- package/bin/chunk-923agf2d.js +0 -1
- package/bin/chunk-942ksfnj.js +0 -2
- package/bin/chunk-99yzvkq5.js +0 -2
- package/bin/chunk-9by727gr.js +0 -2
- package/bin/chunk-9sr1z8kv.js +0 -42
- package/bin/chunk-a0fggks8.js +0 -2
- package/bin/chunk-a8x0dmec.js +0 -2
- package/bin/chunk-b80fgsdf.js +0 -1
- package/bin/chunk-bg6kp843.js +0 -1
- package/bin/chunk-da2w7c80.js +0 -2
- package/bin/chunk-fp8x63vs.js +0 -2
- package/bin/chunk-ft11rrhz.js +0 -1
- package/bin/chunk-fyszcddw.js +0 -2
- package/bin/chunk-g6hq18q1.js +0 -1
- package/bin/chunk-gy68h3x5.js +0 -2
- package/bin/chunk-hsv4v7na.js +0 -1
- package/bin/chunk-jrf90z42.js +0 -3
- package/bin/chunk-kyxramkk.js +0 -1
- package/bin/chunk-n48548fs.js +0 -4
- package/bin/chunk-ncnr223m.js +0 -2
- package/bin/chunk-nngp6fhe.js +0 -1
- package/bin/chunk-p1nb8wk8.js +0 -3
- package/bin/chunk-pc2dnpkh.js +0 -2
- package/bin/chunk-pmj9b8qt.js +0 -3
- package/bin/chunk-pve3zpta.js +0 -2
- package/bin/chunk-q3q0brsn.js +0 -2
- package/bin/chunk-qk7me5ra.js +0 -2
- package/bin/chunk-r0j962y1.js +0 -1
- package/bin/chunk-r5dxd4sx.js +0 -1
- package/bin/chunk-sa6k5ye7.js +0 -1
- package/bin/chunk-sz6cnm4q.css +0 -1
- package/bin/chunk-w88h5wtf.js +0 -1
- package/bin/chunk-wrbas9cg.js +0 -1
- package/bin/chunk-z5t4yxzb.js +0 -2
- package/bin/chunk-zwenq5zy.js +0 -2
package/bin/chunk-685gzbdg.js
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import{q,D,N,h,Qe,O,Ao,w,u,C,B,t,o,W,Z,U,ut,Me,Ln,A,T,Bn,wr,rr,L,bn,Hr,$r,Wn,vt,Re,we,ht,vi,gt,Fn,Xt,Ns,er,Os,en,pe,Ut,ve,ke,E,dt,Y,aa,Lt,se,dl,qu,Hu,$u,Gu,Qu,Vu,Ku,Wu,Yu,S,wn,vn,xn,Sn,Ee,Ie,Te,he,ge,Ae,K,Qt,fs,pA,gA,Xu,_m,ay,Ry,hf,nd,Ic,Tc,Mc,Pe,Rc,g0,C0,P0,_f,Gm,Z0,B0,H0,Wm,J0,e_,r_,n_,o_,s_,a_,i_,l_,c_,at,m_,Sf,fl,sd,fr,Q_,Y_,nb,ob,Tf,cb,ps,gb,ml,Mf,Rf,Nb,Ob,Db,kf,Lb,Zb,Pf,Bb,Ub,qb,Gb,Qb,mh,fw,Fw,Bf,Uf,Gw,Qw,Nh,$f,Gf,Qf,Vf,Oh,Dh,gl,Yv,gd,lx,Yf,Jf,gx,Ox,Dx,Lx,Zx,Bx,Ux,Al,Fx,zx,jx,yl,qx,Hx,yd,_l,$x,Gx,Qx,Xf,_d,ep,SS,FS,hC,pp,gC,mp,No,EC,hp,Oo,OC,Ap,LC,ZC,BC,UC,FC,Cg,qC,VC,KC,eE,tE,oE,lE,cE,uE,dE,vE,Bc,xl,vp,xp,IE,Sp,Sl,Uc,Fc,Cp,Ep,zc,ME,eI,Mp,bI,wI,RI,NI,OI,cn,Cl,Vg,Np,Op,jc,Je,Xe,et,tt,rt,nt,ot,st,ue,ie,me,$e,le,Tt,H,ce,Pt,Ko,kr,un,jn,gs,Pr,Mt,R,Ar,En,Zd,be,Xn,Ni,Bd,At,yt,_t,Mr,xr,V,qe,Le,Ze,Be,Ue,ne,ro,Nr,Vr,Ur,dn,de,oA}from"./chunk-2swjkvxv.js";import{Wo,Sa,nu,Ui,Or,Zo,Jo,As,au,Bl,si,Ea,ys,Ia,ai,Yp,_s}from"./chunk-qysf4mpk.js";import{Eo,mr}from"./chunk-gy68h3x5.js";import{Ta,ii}from"./chunk-j3kjscfj.js";import{Fl}from"./chunk-a0fggks8.js";import{Fi}from"./chunk-4k2bej3c.js";import{mn}from"./chunk-azafjrm4.js";import{rn}from"./chunk-cwfjvynz.js";import{ao}from"./chunk-rq0n0vcc.js";import{Rr}from"./chunk-wnpjz2kw.js";import{z,v}from"./chunk-njswnpaq.js";var Js=v(function(Wf,Ys){function Qs(e,n){this.text=e=e||"",this.hasWild=~e.indexOf("*"),this.separator=n,this.parts=e.split(n)}Qs.prototype.match=function(e){var n=!0,r=this.parts,s,i=r.length,a;if(typeof e=="string"||e instanceof String)if(!this.hasWild&&this.text!=e)n=!1;else{a=(e||"").split(this.separator);for(s=0;n&&s<i;s++)if(r[s]==="*")continue;else if(s<a.length)n=r[s]===a[s];else n=!1;n=n&&a}else if(typeof e.splice=="function"){n=[];for(s=e.length;s--;)if(this.match(e[s]))n[n.length]=e[s]}else if(typeof e=="object"){n={};for(var l in e)if(this.match(l))n[l]=e[l]}return n};Ys.exports=function(e,n,r){var s=new Qs(e,r||/[\/\.]/);if(typeof n<"u")return s.match(n);return s}});var ei=v(function(Kf,Zs){var wd=Js(),xd=/[\/\+\.]/;Zs.exports=function(e,n){function r(s){var i=wd(s,e,xd);return i&&i.length>=2}return n?r(n.split(";")[0]):r}});var co=v(function(tm,oi){function bd(e){var n=typeof e;return e!=null&&(n=="object"||n=="function")}oi.exports=bd});var li=v(function(nm,ri){var Sd=typeof global=="object"&&global&&global.Object===Object&&global;ri.exports=Sd});var or=v(function(om,di){var Cd=li(),Rd=typeof self=="object"&&self&&self.Object===Object&&self,Fd=Cd||Rd||Function("return this")();di.exports=Fd});var ci=v(function(rm,ui){var Id=or(),Ed=function(){return Id.Date.now()};ui.exports=Ed});var fi=v(function(sm,pi){var Md=/\s/;function Td(e){var n=e.length;while(n--&&Md.test(e.charAt(n)));return n}pi.exports=Td});var gi=v(function(im,mi){var Nd=fi(),kd=/^\s+/;function Pd(e){return e?e.slice(0,Nd(e)+1).replace(kd,""):e}mi.exports=Pd});var sr=v(function(am,hi){var Ad=or(),Dd=Ad.Symbol;hi.exports=Dd});var bi=v(function(lm,xi){var wi=sr(),yi=Object.prototype,{hasOwnProperty:Od,toString:$d}=yi,Zn=wi?wi.toStringTag:void 0;function zd(e){var n=Od.call(e,Zn),r=e[Zn];try{e[Zn]=void 0;var s=!0}catch(a){}var i=$d.call(e);if(s)if(n)e[Zn]=r;else delete e[Zn];return i}xi.exports=zd});var Ci=v(function(dm,Si){var Ld=Object.prototype,Ud=Ld.toString;function jd(e){return Ud.call(e)}Si.exports=jd});var _i=v(function(um,Ei){var Ri=sr(),Vd=bi(),qd=Ci(),Hd="[object Null]",Gd="[object Undefined]",Ii=Ri?Ri.toStringTag:void 0;function Wd(e){if(e==null)return e===void 0?Gd:Hd;return Ii&&Ii in Object(e)?Vd(e):qd(e)}Ei.exports=Wd});var Ti=v(function(cm,Mi){function Kd(e){return e!=null&&typeof e=="object"}Mi.exports=Kd});var Pi=v(function(pm,ki){var Xd=_i(),Qd=Ti(),Yd="[object Symbol]";function Jd(e){return typeof e=="symbol"||Qd(e)&&Xd(e)==Yd}ki.exports=Jd});var $i=v(function(fm,Oi){var ou=gi(),Ai=co(),ru=Pi(),Di=NaN,su=/^[-+]0x[0-9a-f]+$/i,iu=/^0b[01]+$/i,lu=/^0o[0-7]+$/i,du=parseInt;function uu(e){if(typeof e=="number")return e;if(ru(e))return Di;if(Ai(e)){var n=typeof e.valueOf=="function"?e.valueOf():e;e=Ai(n)?n+"":n}if(typeof e!="string")return e===0?e:+e;e=ou(e);var r=iu.test(e);return r||lu.test(e)?du(e.slice(2),r?2:8):su.test(e)?Di:+e}Oi.exports=uu});var ji=v(function(mm,Li){var cu=co(),ir=ci(),zi=$i(),pu="Expected a function",{max:fu,min:mu}=Math;function gu(e,n,r){var s,i,a,l,d,c,p=0,f=!1,y=!1,m=!0;if(typeof e!="function")throw TypeError(pu);if(n=zi(n)||0,cu(r))f=!!r.leading,y="maxWait"in r,a=y?fu(zi(r.maxWait)||0,n):a,m="trailing"in r?!!r.trailing:m;function g(re){var xe=s,ee=i;return s=i=void 0,p=re,l=e.apply(ee,xe),l}function x(re){return p=re,d=setTimeout(k,n),f?g(re):l}function b(re){var xe=re-c,ee=re-p,Oe=n-xe;return y?mu(Oe,a-ee):Oe}function F(re){var xe=re-c,ee=re-p;return c===void 0||xe>=n||xe<0||y&&ee>=a}function k(){var re=ir();if(F(re))return j(re);d=setTimeout(k,b(re))}function j(re){if(d=void 0,m&&s)return g(re);return s=i=void 0,l}function G(){if(d!==void 0)clearTimeout(d);p=0,s=c=i=d=void 0}function X(){return d===void 0?l:j(ir())}function J(){var re=ir(),xe=F(re);if(s=arguments,i=this,c=re,xe){if(d===void 0)return x(c);if(y)return clearTimeout(d),d=setTimeout(k,n),g(c)}if(d===void 0)d=setTimeout(k,n);return l}return J.cancel=G,J.flush=X,J}Li.exports=gu});var qi=v(function(gm,Vi){var hu=ji(),vu=co(),wu="Expected a function";function yu(e,n,r){var s=!0,i=!0;if(typeof e!="function")throw TypeError(wu);if(vu(r))s="leading"in r?!!r.leading:s,i="trailing"in r?!!r.trailing:i;return hu(e,n,{leading:s,maxWait:n,trailing:i})}Vi.exports=yu});var Hi=v(function(hm,Bi){Bi.exports=function(){var n={},r=n._fns={};n.emit=function(l,d,c,p,f,y,m){var g=s(l);if(g.length)i(l,g,[d,c,p,f,y,m])},n.on=function(l,d){if(!r[l])r[l]=[];r[l].push(d)},n.once=function(l,d){function c(){d.apply(this,arguments),n.off(l,c)}this.on(l,c)},n.off=function(l,d){var c=[];if(l&&d){var p=this._fns[l],f=0,y=p?p.length:0;for(f;f<y;f++)if(p[f]!==d)c.push(p[f])}c.length?this._fns[l]=c:delete this._fns[l]};function s(a){var l=r[a]?r[a]:[],d=a.indexOf(":"),c=d===-1?[a]:[a.substring(0,d),a.substring(d+1)],p=Object.keys(r),f=0,y=p.length;for(f;f<y;f++){var m=p[f];if(m==="*")l=l.concat(r[m]);if(c.length===2&&c[0]===m){l=l.concat(r[m]);break}}return l}function i(a,l,d){var c=0,p=l.length;for(c;c<p;c++){if(!l[c])break;l[c].event=a,l[c].apply(l[c],d)}}return n}});class qs extends Error{cause;isNetworkError;request;constructor(e,n=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=n}}var Mn=qs;class Bs{#n;#e=!1;#t;#o;constructor(e,n){this.#o=e,this.#t=()=>n(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 Hs=Bs;var uo=()=>{};function Kn(e,n={}){let{body:r=null,headers:s={},method:i="GET",onBeforeRequest:a=uo,onUploadProgress:l=uo,shouldRetry:d=()=>!0,onAfterResponse:c=uo,onTimeout:p=uo,responseType:f,retries:y=3,signal:m=null,timeout:g=30000,withCredentials:x=!1}=n,b=(j)=>0.3*2**(j-1)*1000,F=new Hs(g,p);function k(j=0){return new Promise(async(G,X)=>{let J=new XMLHttpRequest,re=(ee)=>{if(d(J)&&j<y)setTimeout(()=>{k(j+1).then(G,X)},b(j));else F.done(),X(ee)};if(J.open(i,e,!0),J.withCredentials=x,f)J.responseType=f;if(J.onload=async()=>{try{await c(J,j)}catch(ee){ee.request=J,re(ee);return}if(J.status>=200&&J.status<300)F.done(),G(J);else if(d(J)&&j<y)setTimeout(()=>{k(j+1).then(G,X)},b(j));else F.done(),X(new Mn(J.statusText,J))},J.onerror=()=>re(new Mn(J.statusText,J)),J.upload.onprogress=(ee)=>{F.progress(),l(ee)},s)Object.keys(s).forEach((ee)=>{J.setRequestHeader(ee,s[ee])});function xe(){J.abort(),X(new DOMException("Aborted","AbortError"))}if(m?.addEventListener("abort",xe),m?.aborted){xe();return}await a(J,j),J.send(r)})}return k()}var ud=(e)=>("error"in e)&&!!e.error,cd=(e)=>e.progress.uploadComplete;function Qn(e){return e.filter((n)=>!ud(n)&&!cd(n))}function Yn(e){return e.filter((n)=>!n.progress?.uploadStarted||!n.isRestored)}function Tn(e){let n=e.lastIndexOf(".");if(n===-1||n===e.length-1)return{name:e,extension:void 0};return{name:e.slice(0,n),extension:e.slice(n+1)}}var Ho={__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 Nn(e){if(e.type)return e.type;let n=e.name?Tn(e.name).extension?.toLowerCase():null;if(n&&n in Ho)return Ho[n];return"application/octet-stream"}function pd(e){return e.charCodeAt(0).toString(32)}function Gs(e){let n="";return e.replace(/[^A-Z0-9]/gi,(r)=>(n+=`-${pd(r)}`,"/"))+n}function Go(e,n){let r=n||"uppy";if(typeof e.name==="string")r+=`-${Gs(e.name.toLowerCase())}`;if(e.type!==void 0)r+=`-${e.type}`;if(e.meta&&typeof e.meta.relativePath==="string")r+=`-${Gs(e.meta.relativePath.toLowerCase())}`;if(e.data?.size!==void 0)r+=`-${e.data.size}`;if(e.data.lastModified!==void 0)r+=`-${e.data.lastModified}`;return r}function fd(e){if(!e.isRemote||!e.remote)return!1;return new Set(["box","dropbox","drive","facebook","unsplash"]).has(e.remote.provider)}function Xo(e,n){if(fd(e))return e.id;let r=Nn(e);return Go({...e,type:r},n)}function ln(e,n){if(e===!0)return Object.keys(n);if(Array.isArray(e))return e;return[]}function Qo(e){return e<10?`0${e}`:e.toString()}function pn(){let e=new Date,n=Qo(e.getHours()),r=Qo(e.getMinutes()),s=Qo(e.getSeconds());return`${n}:${r}:${s}`}function md(e){if(!e)return!1;return e.readyState===4&&e.status===0}var Yo=md;class kn{#n=[];#e=0;#t;#o=!1;constructor(e){let n=e?.concurrency;this.#t=typeof n!=="number"||n===0?1/0:n}add(e){let n=new AbortController,r,s,i=new Promise((l,d)=>{r=l,s=d}),a={run:()=>e(n.signal),resolve:r,reject:s,controller:n};if(n.signal.addEventListener("abort",()=>{let l=this.#n.indexOf(a);if(l!==-1)this.#n.splice(l,1),s(n.signal.reason??new DOMException("Aborted","AbortError"))},{once:!0}),i.abort=(l)=>{n.abort(l??new DOMException("Aborted","AbortError"))},i.abortOn=(l)=>{if(l){let d=()=>i.abort(l.reason);l.addEventListener("abort",d,{once:!0}),i.then(()=>l.removeEventListener("abort",d),()=>l.removeEventListener("abort",d))}return i},!this.#o&&this.#e<this.#t)this.#s(a);else this.#n.push(a);return i}#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 n;try{n=e.run()}catch(r){n=Promise.reject(r)}n.then((r)=>{if(e.controller.signal.aborted)e.reject(e.controller.signal.reason??new DOMException("Aborted","AbortError"));else e.resolve(r)},(r)=>{e.reject(r)}).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 n=0;n<e;n++)this.#r()}clear(e){let n=this.#n.splice(0),r=e??new DOMException("Cleared","AbortError");for(let s of n)s.controller.abort(r),s.reject(r)}get concurrency(){return this.#t}set concurrency(e){if(this.#t=typeof e!=="number"||e===0?1/0:e,!this.#o){let n=this.#t-this.#e;for(let r=0;r<n;r++)this.#r()}}get pending(){return this.#n.length}get running(){return this.#e}get isPaused(){return this.#o}wrapPromiseFunction(e){return(...n)=>this.add((r)=>e(...n))}}function hd(e,n,r){let s=[];return e.forEach((i)=>{if(typeof i!=="string"){s.push(i);return}n[Symbol.split](i).forEach((a,l,d)=>{if(a!=="")s.push(a);if(l<d.length-1)s.push(r)})}),s}function Ws(e,n){let r=/\$/g,s="$$$$",i=[e];if(n==null)return i;for(let a of Object.keys(n))if(a!=="_"){let l=n[a];if(typeof l==="string")l=r[Symbol.replace](l,"$$$$");i=hd(i,new RegExp(`%\\{${a}\\}`,"g"),l)}return i}var vd=(e)=>{throw Error(`missing string: ${e}`)};class fn{locale;constructor(e,{onMissingKey:n=vd}={}){if(this.locale={strings:{},pluralize(r){if(r===1)return 0;return 1}},Array.isArray(e))e.forEach(this.#e,this);else this.#e(e);this.#n=n}#n;#e(e){if(!e?.strings)return;let n=this.locale;Object.assign(this.locale,{strings:{...n.strings,...e.strings},pluralize:e.pluralize||n.pluralize})}translate(e,n){return this.translateArray(e,n).join("")}translateArray(e,n){let r=this.locale.strings[e];if(r==null)this.#n(e),r=e;if(typeof r==="object"){if(n&&typeof n.smart_count<"u"){let i=this.locale.pluralize(n.smart_count);return Ws(r[i],n)}throw Error("Attempted to use a string with plural forms, but no value was given for %{smart_count}")}if(typeof r!=="string")throw Error("string was not a string");return Ws(r,n)}}class gn{uppy;opts;id;defaultLocale;i18n;i18nArray;type;VERSION;constructor(e,n){this.uppy=e,this.opts=n??{}}getPluginState(){let{plugins:e}=this.uppy.getState();return e?.[this.id]||{}}setPluginState(e){let{plugins:n}=this.uppy.getState();this.uppy.setState({plugins:{...n,[this.id]:{...n[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 hn{#n;#e=[];constructor(e){this.#n=e}on(e,n){return this.#e.push([e,n]),this.#n.on(e,n)}remove(){for(let[e,n]of this.#e.splice(0))this.#n.off(e,n)}onFilePause(e,n){this.on("upload-pause",(r,s)=>{if(e===r?.id)n(s)})}onFileRemove(e,n){this.on("file-removed",(r)=>{if(e===r.id)n(r.id)})}onPause(e,n){this.on("upload-pause",(r,s)=>{if(e===r?.id)n(s)})}onRetry(e,n){this.on("upload-retry",(r)=>{if(e===r?.id)n()})}onRetryAll(e,n){this.on("retry-all",()=>{if(!this.#n.getFile(e))return;n()})}onPauseAll(e,n){this.on("pause-all",()=>{if(!this.#n.getFile(e))return;n()})}onCancelAll(e,n){this.on("cancel-all",(...r)=>{if(!this.#n.getFile(e))return;n(...r)})}onResumeAll(e,n){this.on("resume-all",()=>{if(!this.#n.getFile(e))return;n()})}}var Ks={debug:()=>{},warn:()=>{},error:(...e)=>console.error(`[Uppy] [${pn()}]`,...e)},Xs={debug:(...e)=>console.debug(`[Uppy] [${pn()}]`,...e),warn:(...e)=>console.warn(`[Uppy] [${pn()}]`,...e),error:(...e)=>console.error(`[Uppy] [${pn()}]`,...e)};var tr=["B","KB","MB","GB","TB","PB","EB","ZB","YB"];function Jn(e,n){if(typeof e!=="number"||Number.isNaN(e))throw TypeError(`Expected a number, got ${typeof e}`);let r=e<0,s=Math.abs(e);if(r)s=-s;if(s===0)return"0 B";let i=n?tr.indexOf(n):Math.min(Math.floor(Math.log(s)/Math.log(1024)),tr.length-1),a=Number(s/1024**i),l=tr[i];if(i>=3)return a%1===0?`${Math.round(a)} ${l}`:`${a.toFixed(2)} ${l}`;return`${a>=10||a%1===0?Math.round(a):a.toFixed(1)} ${l}`}var ti=z(ei(),1),ni={maxFileSize:null,minFileSize:null,maxTotalFileSize:null,maxNumberOfFiles:null,minNumberOfFiles:null,allowedFileTypes:null,requiredMetaFields:[]};class Ot extends Error{isUserFacing;file;constructor(e,n){super(e);if(this.isUserFacing=n?.isUserFacing??!0,n?.file)this.file=n.file}isRestriction=!0}class nr{getI18n;getOpts;constructor(e,n){this.getI18n=n,this.getOpts=()=>{let r=e();if(r.restrictions?.allowedFileTypes!=null&&!Array.isArray(r.restrictions.allowedFileTypes))throw TypeError("`restrictions.allowedFileTypes` must be an array");return r}}validateAggregateRestrictions(e,n){let{maxTotalFileSize:r,maxNumberOfFiles:s}=this.getOpts().restrictions;if(s){if(e.filter((a)=>!a.isGhost).length+n.length>s)throw new Ot(`${this.getI18n()("youCanOnlyUploadX",{smart_count:s})}`)}if(r){let i=[...e,...n].reduce((a,l)=>a+(l.size??0),0);if(i>r)throw new Ot(this.getI18n()("aggregateExceedsSize",{sizeAllowed:Jn(r),size:Jn(i)}))}}validateSingleFile(e){let{maxFileSize:n,minFileSize:r,allowedFileTypes:s}=this.getOpts().restrictions;if(s){if(!s.some((a)=>{if(a.includes("/")){if(!e.type)return!1;return ti.default(e.type.replace(/;.*?$/,""),a)}if(a[0]==="."&&e.extension)return e.extension.toLowerCase()===a.slice(1).toLowerCase();return!1})){let a=s.join(", ");throw new Ot(this.getI18n()("youCanOnlyUploadFileTypes",{types:a}),{file:e})}}if(n&&e.size!=null&&e.size>n)throw new Ot(this.getI18n()("exceedsSize",{size:Jn(n),file:e.name??this.getI18n()("unnamed")}),{file:e});if(r&&e.size!=null&&e.size<r)throw new Ot(this.getI18n()("inferiorSize",{size:Jn(r)}),{file:e})}validate(e,n){n.forEach((r)=>{this.validateSingleFile(r)}),this.validateAggregateRestrictions(e,n)}validateMinNumberOfFiles(e){let{minNumberOfFiles:n}=this.getOpts().restrictions;if(n&&Object.keys(e).length<n)throw new Ot(this.getI18n()("youHaveToAtLeastSelectX",{smart_count:n}))}getMissingRequiredMetaFields(e){let n=new Ot(this.getI18n()("missingRequiredMetaFieldOnFile",{fileName:e.name??this.getI18n()("unnamed")})),{requiredMetaFields:r}=this.getOpts().restrictions,s=[];for(let i of r)if(!Object.hasOwn(e.meta,i)||e.meta[i]==="")s.push(i);return{missingFields:s,error:n}}}var Qi=z(qi(),1),Yi=z(Hi(),1);var xu="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var Gi=(e=21)=>{let n="",r=e|0;while(r-- >0)n+=xu[Math.random()*64|0];return n};var po={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 ar(e,n){if(n.name)return n.name;if(e.split("/")[0]==="image")return`${e.split("/")[0]}.${e.split("/")[1]}`;return"noname"}var Wi={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 Ki{static VERSION=po.version;state={};#n=new Set;getState(){return this.state}setState(e){let n={...this.state},r={...this.state,...e};this.state=r,this.#e(n,r,e)}subscribe(e){return this.#n.add(e),()=>{this.#n.delete(e)}}#e(...e){this.#n.forEach((n)=>{n(...e)})}}var Xi=Ki;function lr(e){if(e==null&&typeof navigator<"u")e=navigator.userAgent;if(!e)return!0;let n=/Edge\/(\d+\.\d+)/.exec(e);if(!n)return!0;let s=n[1].split(".",2),i=parseInt(s[0],10),a=parseInt(s[1],10);if(i<15||i===15&&a<15063)return!0;if(i>18||i===18&&a>=18218)return!0;return!1}var fo={totalProgress:0,allowNewUpload:!0,error:null,recoveredState:null};class dr{static VERSION=po.version;#n=Object.create(null);#e;#t;#o=Yi.default();#s=new Set;#r=new Set;#a=new Set;defaultLocale;locale;opts;store;i18n;i18nArray;scheduledAutoProceed=null;wasOffline=!1;constructor(e){this.defaultLocale=Wi;let n={id:"uppy",autoProceed:!1,allowMultipleUploadBatches:!0,debug:!1,restrictions:ni,meta:{},onBeforeFileAdded:(s,i)=>!Object.hasOwn(i,s.id),onBeforeUpload:(s)=>s,store:new Xi,logger:Ks,infoTimeout:5000},r={...n,...e};if(this.opts={...r,restrictions:{...n.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=Xs;if(this.log(`Using Core v${dr.VERSION}`),this.i18nInit(),this.store=this.opts.store,this.setState({...fo,plugins:{},files:{},currentUploads:{},capabilities:{uploadProgress:lr(),individualCancellation:!0,resumableUploads:!1},meta:{...this.opts.meta},info:[]}),this.#e=new nr(()=>this.opts,()=>this.i18n),this.#t=this.store.subscribe((s,i,a)=>{this.emit("state-update",s,i,a),this.updateAll(i)}),this.opts.debug&&typeof window<"u")window[this.opts.id]=this;this.#F()}emit(e,...n){this.#o.emit(e,...n)}on(e,n){return this.#o.on(e,n),this}once(e,n){return this.#o.once(e,n),this}off(e,n){return this.#o.off(e,n),this}updateAll(e){this.iteratePlugins((n)=>{n.update(e)})}setState(e){this.store.setState(e)}getState(){return this.store.getState()}patchFilesState(e){let n=this.getState().files;this.setState({files:{...n,...Object.fromEntries(Object.entries(e).map(([r,s])=>[r,{...n[r],...s}]))}})}setFileState(e,n){if(!this.getState().files[e])throw Error(`Can’t set state for ${e} (the file could have been removed)`);this.patchFilesState({[e]:n})}i18nInit(){let e=(r)=>this.log(`Missing i18n string: ${r}`,"error"),n=new fn([this.defaultLocale,this.opts.locale],{onMissingKey:e});this.i18n=n.translate.bind(n),this.i18nArray=n.translateArray.bind(n),this.locale=n.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((n)=>{n.setOptions(e)});this.setState(void 0)}resetProgress(){let e={percentage:0,bytesUploaded:!1,uploadComplete:!1,uploadStarted:null},n={...this.getState().files},r=Object.create(null);Object.keys(n).forEach((s)=>{r[s]={...n[s],progress:{...n[s].progress,...e},tus:void 0,transloadit:void 0,s3Multipart:void 0}}),this.setState({files:r,...fo})}clear(){let{capabilities:e,currentUploads:n}=this.getState();if(Object.keys(n).length>0&&!e.individualCancellation)throw Error("The installed uploader plugin does not allow removing files during an upload.");this.setState({...fo,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 n={...this.getState().meta,...e},r={...this.getState().files};Object.keys(r).forEach((s)=>{r[s]={...r[s],meta:{...r[s].meta,...e}}}),this.log("Adding metadata:"),this.log(e),this.setState({meta:n,files:r})}setFileMeta(e,n){let r={...this.getState().files};if(!r[e]){this.log(`Was trying to set metadata for a file that has been removed: ${e}`);return}let s={...r[e].meta,...n};r[e]={...r[e],meta:s},this.setState({files:r})}getFile(e){return this.getState().files[e]}getFiles(){let{files:e}=this.getState();return Object.values(e)}getFilesByIds(e){return e.map((n)=>this.getFile(n))}getObjectOfFilesPerState(){let{files:e,totalProgress:n,error:r}=this.getState(),s=Object.values(e),i=[],a=[],l=[],d=[],c=[],p=[],f=[],y=[],m=[];for(let g of s){let{progress:x}=g;if(!x.uploadComplete&&x.uploadStarted){if(i.push(g),!g.isPaused)y.push(g)}if(!x.uploadStarted)a.push(g);if(x.uploadStarted||x.preprocess||x.postprocess)l.push(g);if(x.uploadStarted)d.push(g);if(g.isPaused)c.push(g);if(x.uploadComplete)p.push(g);if(g.error)f.push(g);if(x.preprocess||x.postprocess)m.push(g)}return{newFiles:a,startedFiles:l,uploadStartedFiles:d,pausedFiles:c,completeFiles:p,erroredFiles:f,inProgressFiles:i,inProgressNotPausedFiles:y,processingFiles:m,isUploadStarted:d.length>0,isAllComplete:n===100&&p.length===s.length&&m.length===0,isAllErrored:!!r&&f.length===s.length,isAllPaused:i.length!==0&&c.length===i.length,isUploadInProgress:i.length>0,isSomeGhost:s.some((g)=>g.isGhost)}}#i(e){for(let a of e){if(a.isRestriction)this.emit("restriction-failed",a.file,a);else this.emit("error",a,a.file);this.log(a,"warning")}let n=e.filter((a)=>a.isUserFacing),r=4,s=n.slice(0,r),i=n.slice(r);if(s.forEach(({message:a,details:l=""})=>{this.info({message:a,details:l},"error",this.opts.infoTimeout)}),i.length>0)this.info({message:this.i18n("additionalRestrictionsFailed",{count:i.length})})}validateRestrictions(e,n=this.getFiles()){try{this.#e.validate(n,[e])}catch(r){return r}return null}validateSingleFile(e){try{this.#e.validateSingleFile(e)}catch(n){return n.message}return null}validateAggregateRestrictions(e){let n=this.getFiles();try{this.#e.validateAggregateRestrictions(n,e)}catch(r){return r.message}return null}#l(e){let{missingFields:n,error:r}=this.#e.getMissingRequiredMetaFields(e);if(n.length>0)return this.setFileState(e.id,{missingRequiredMetaFields:n,error:r.message}),this.log(r.message),this.emit("restriction-failed",e,r),!1;if(n.length===0&&e.missingRequiredMetaFields)this.setFileState(e.id,{missingRequiredMetaFields:[]});return!0}#d(e){let n=!0;for(let r of Object.values(e))if(!this.#l(r))n=!1;return n}#u(e){let{allowNewUpload:n}=this.getState();if(n===!1){let r=new Ot(this.i18n("noMoreFilesAllowed"),{file:e});throw this.#i([r]),r}}checkIfFileAlreadyExists(e){let{files:n}=this.getState();if(n[e]&&!n[e].isGhost)return!0;return!1}#c(e){let n=e instanceof File?{name:e.name,type:e.type,size:e.size,data:e,meta:{},isRemote:!1,source:void 0,preview:void 0}:e,r=Nn(n),s=ar(r,n),i=Tn(s).extension,a=Xo(n,this.getID()),l={...n.meta,name:s,type:r},d=Number.isFinite(n.data.size)?n.data.size:null;return{source:n.source||"",id:a,name:s,extension:i||"",meta:{...this.getState().meta,...l},type:r,progress:{percentage:0,bytesUploaded:!1,bytesTotal:d,uploadComplete:!1,uploadStarted:null},size:d,isGhost:!1,...n.isRemote?{isRemote:!0,remote:n.remote,data:n.data}:{isRemote:!1,data:n.data},preview:n.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:n}=this.getState(),r={...n},s=[],i=[];for(let a of e)try{let l=this.#c(a);this.#u(l);let d=n[l.id],c=d?.isGhost;if(c&&!l.isRemote){if(l.data==null)throw Error("File data is missing");l={...d,isGhost:!1,data:l.data},this.log(`Replaced the blob in the restored ghost file: ${l.name}, ${l.id}`)}let p=this.opts.onBeforeFileAdded(l,r);if(n=this.getState().files,r={...n,...r},!p&&this.checkIfFileAlreadyExists(l.id))throw new Ot(this.i18n("noDuplicates",{fileName:l.name??this.i18n("unnamed")}),{file:l});if(p===!1&&!c)throw new Ot("Cannot add the file because onBeforeFileAdded returned false.",{isUserFacing:!1,file:l});else if(typeof p==="object"&&p!==null)l=p;this.#e.validateSingleFile(l),r[l.id]=l,s.push(l)}catch(l){i.push(l)}try{this.#e.validateAggregateRestrictions(Object.values(n),s)}catch(a){return i.push(a),{nextFilesState:n,validFilesToAdd:[],errors:i}}return{nextFilesState:r,validFilesToAdd:s,errors:i}}addFile(e){let{nextFilesState:n,validFilesToAdd:r,errors:s}=this.#w([e]),i=s.filter((l)=>l.isRestriction);if(this.#i(i),s.length>0)throw s[0];this.setState({files:n});let[a]=r;return this.emit("file-added",a),this.emit("files-added",r),this.log(`Added file: ${a.name}, ${a.id}, mime type: ${a.type}`),this.#p(),a.id}addFiles(e){let{nextFilesState:n,validFilesToAdd:r,errors:s}=this.#w(e),i=s.filter((l)=>l.isRestriction);this.#i(i);let a=s.filter((l)=>!l.isRestriction);if(a.length>0){let l=`Multiple errors occurred while adding files:
|
|
2
|
-
`;if(a.forEach((d)=>{l+=`
|
|
3
|
-
* ${d.message}`}),this.info({message:this.i18n("addBulkFilesFailed",{smart_count:a.length}),details:l},"error",this.opts.infoTimeout),typeof AggregateError==="function")throw AggregateError(a,l);else{let d=Error(l);throw d.errors=a,d}}if(this.setState({files:n}),r.forEach((l)=>{this.emit("file-added",l)}),this.emit("files-added",r),r.length>5)this.log(`Added batch of ${r.length} files`);else Object.values(r).forEach((l)=>{this.log(`Added file: ${l.name}
|
|
4
|
-
id: ${l.id}
|
|
5
|
-
type: ${l.type}`)});if(r.length>0)this.#p()}removeFiles(e){let{files:n,currentUploads:r}=this.getState(),s={...n},i={...r},a=Object.create(null);e.forEach((p)=>{if(n[p])a[p]=n[p],delete s[p]});function l(p){return a[p]===void 0}Object.keys(i).forEach((p)=>{let f=r[p].fileIDs.filter(l);if(f.length===0){delete i[p];return}let{capabilities:y}=this.getState();if(f.length!==r[p].fileIDs.length&&!y.individualCancellation)throw Error("The installed uploader plugin does not allow removing files during an upload.");i[p]={...r[p],fileIDs:f}});let d={currentUploads:i,files:s};if(Object.keys(s).length===0)d.allowNewUpload=!0,d.error=null,d.recoveredState=null;this.setState(d),this.#m();let c=Object.keys(a);if(c.forEach((p)=>{this.emit("file-removed",a[p])}),c.length>5)this.log(`Removed ${c.length} files`);else this.log(`Removed files: ${c.join(", ")}`)}removeFile(e){this.removeFiles([e])}pauseResume(e){if(!this.getState().capabilities.resumableUploads||this.getFile(e).progress.uploadComplete)return;let n=this.getFile(e),s=!n.isPaused;return this.setFileState(e,{isPaused:s}),this.emit("upload-pause",n,s),s}pauseAll(){let e={...this.getState().files};Object.keys(e).filter((r)=>!e[r].progress.uploadComplete&&e[r].progress.uploadStarted).forEach((r)=>{let s={...e[r],isPaused:!0};e[r]=s}),this.setState({files:e}),this.emit("pause-all")}resumeAll(){let e={...this.getState().files};Object.keys(e).filter((r)=>!e[r].progress.uploadComplete&&e[r].progress.uploadStarted).forEach((r)=>{let s={...e[r],isPaused:!1,error:null};e[r]=s}),this.setState({files:e}),this.emit("resume-all")}#y(){let{files:e}=this.getState();return Object.keys(e).filter((n)=>{let r=e[n];return r.error&&(!r.missingRequiredMetaFields||r.missingRequiredMetaFields.length===0)})}async#g(){let e=this.#y(),n={...this.getState().files};if(e.forEach((s)=>{n[s]={...n[s],isPaused:!1,error:null}}),this.setState({files:n,error:null}),this.emit("retry-all",this.getFilesByIds(e)),e.length===0)return{successful:[],failed:[]};let r=this.#x(e,{forceAllowNewUpload:!0});return this.#b(r)}async retryAll(){let e=await this.#g();return this.emit("complete",e),e}cancelAll(){this.emit("cancel-all");let{files:e}=this.getState(),n=Object.keys(e);if(n.length)this.removeFiles(n);this.setState(fo)}retryUpload(e){this.setFileState(e,{error:null,isPaused:!1}),this.emit("upload-retry",this.getFile(e));let n=this.#x([e],{forceAllowNewUpload:!0});return this.#b(n)}logout(){this.iteratePlugins((e)=>{e.provider?.logout?.()})}#f=(e,n)=>{let r=e?this.getFile(e.id):void 0;if(e==null||!r){this.log(`Not setting progress for a file that has been removed: ${e?.id}`);return}if(r.progress.percentage===100){this.log(`Not setting progress for a file that has been already uploaded: ${e.id}`);return}let s={bytesTotal:n.bytesTotal,percentage:n.bytesTotal!=null&&Number.isFinite(n.bytesTotal)&&n.bytesTotal>0?Math.round(n.bytesUploaded/n.bytesTotal*100):void 0};if(r.progress.uploadStarted!=null)this.setFileState(e.id,{progress:{...r.progress,...s,bytesUploaded:n.bytesUploaded}});else this.setFileState(e.id,{progress:{...r.progress,...s}});this.#m()};#h(){let e=this.#R(),n=null;if(e!=null){if(n=Math.round(e*100),n>100)n=100;else if(n<0)n=0}this.emit("progress",n??0),this.setState({totalProgress:n??0})}#m=Qi.default(()=>this.#h(),500,{leading:!0,trailing:!0});[Symbol.for("uppy test: updateTotalProgress")](){return this.#h()}#R(){let n=this.getFiles().filter((d)=>d.progress.uploadStarted||d.progress.preprocess||d.progress.postprocess);if(n.length===0)return 0;if(n.every((d)=>d.progress.uploadComplete))return 1;let r=(d)=>d.progress.bytesTotal!=null&&d.progress.bytesTotal!==0,s=n.filter(r),i=n.filter((d)=>!r(d));if(s.every((d)=>d.progress.uploadComplete)&&i.length>0&&!i.every((d)=>d.progress.uploadComplete))return null;let a=s.reduce((d,c)=>d+(c.progress.bytesTotal??0),0),l=s.reduce((d,c)=>d+(c.progress.bytesUploaded||0),0);return a===0?0:l/a}#F(){let e=(s,i,a)=>{let l=s.message||"Unknown error";if(s.details)l+=` ${s.details}`;if(this.setState({error:l}),i!=null&&i.id in this.getState().files)this.setFileState(i.id,{error:l,response:a})};this.on("error",e),this.on("upload-error",(s,i,a)=>{if(e(i,s,a),typeof i==="object"&&i.message){this.log(i.message,"error");let l=Error(this.i18n("failedToUpload",{file:s?.name??""}));if(l.isUserFacing=!0,l.details=i.message,i.details)l.details+=` ${i.details}`;this.#i([l])}else this.#i([i])});let n=null;this.on("upload-stalled",(s,i)=>{let{message:a}=s,l=i.map((d)=>d.meta.name).join(", ");if(!n)this.info({message:a,details:l},"warning",this.opts.infoTimeout),n=setTimeout(()=>{n=null},this.opts.infoTimeout);this.log(`${a} ${l}`.trim(),"warning")}),this.on("upload",()=>{this.setState({error:null})});let r=(s)=>{let i=s.filter((l)=>{let d=l!=null&&this.getFile(l.id);if(!d)this.log(`Not setting progress for a file that has been removed: ${l?.id}`);return d}),a=Object.fromEntries(i.map((l)=>[l.id,{progress:{uploadStarted:Date.now(),uploadComplete:!1,bytesUploaded:0,bytesTotal:l.size}}]));this.patchFilesState(a)};if(this.on("upload-start",r),this.on("upload-progress",this.#f),this.on("upload-success",(s,i)=>{if(s==null||!this.getFile(s.id)){this.log(`Not setting progress for a file that has been removed: ${s?.id}`);return}let a=this.getFile(s.id).progress,l=this.#a.size>0;if(this.setFileState(s.id,{progress:{...a,postprocess:l?{mode:"indeterminate"}:void 0,uploadComplete:!0,...!l&&{complete:!0},percentage:100,bytesUploaded:a.bytesTotal},response:i,uploadURL:i.uploadURL,isPaused:!1}),s.size==null)this.setFileState(s.id,{size:i.bytesUploaded||a.bytesTotal});this.#m()}),this.on("preprocess-progress",(s,i)=>{if(s==null||!this.getFile(s.id)){this.log(`Not setting progress for a file that has been removed: ${s?.id}`);return}this.setFileState(s.id,{progress:{...this.getFile(s.id).progress,preprocess:i}})}),this.on("preprocess-complete",(s)=>{if(s==null||!this.getFile(s.id)){this.log(`Not setting progress for a file that has been removed: ${s?.id}`);return}let i={...this.getState().files};i[s.id]={...i[s.id],progress:{...i[s.id].progress}},delete i[s.id].progress.preprocess,this.setState({files:i})}),this.on("postprocess-progress",(s,i)=>{if(s==null||!this.getFile(s.id)){this.log(`Not setting progress for a file that has been removed: ${s?.id}`);return}this.setFileState(s.id,{progress:{...this.getState().files[s.id].progress,postprocess:i}})}),this.on("postprocess-complete",(s)=>{let i=s&&this.getFile(s.id);if(i==null){this.log(`Not setting progress for a file that has been removed: ${s?.id}`);return}let{postprocess:a,...l}=i.progress;this.patchFilesState({[i.id]:{progress:{...l,complete:!0}}})}),this.on("restored",()=>{this.#m()}),this.on("dashboard:file-edit-complete",(s)=>{if(s)this.#l(s)}),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,...n){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 r=new e(this,...n),s=r.id;if(!s)throw Error("Your plugin must have an id");if(!r.type)throw Error("Your plugin must have a type");let i=this.getPlugin(s);if(i){let a=`Already found a plugin named '${i.id}'. Tried to use: '${s}'.
|
|
6
|
-
Uppy plugins must have unique \`id\` options.`;throw Error(a)}if(e.VERSION)this.log(`Using ${s} v${e.VERSION}`);if(r.type in this.#n)this.#n[r.type].push(r);else this.#n[r.type]=[r];return r.install(),this.emit("plugin-added",r),this}getPlugin(e){for(let n of Object.values(this.#n)){let r=n.find((s)=>s.id===e);if(r!=null)return r}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 n=this.#n[e.type],r=n.findIndex((a)=>a.id===e.id);if(r!==-1)n.splice(r,1);let i={plugins:{...this.getState().plugins,[e.id]:void 0}};this.setState(i)}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,n="info",r=3000){let s=typeof e==="object";this.setState({info:[...this.getState().info,{type:n,message:s?e.message:e,details:s?e.details:null}]}),setTimeout(()=>this.hideInfo(),r),this.emit("info-visible")}log(e,n){let{logger:r}=this.opts;switch(n){case"error":r.error(e);break;case"warning":r.warn(e);break;default:r.debug(e);break}}#S=new Map;registerRequestClient(e,n){this.#S.set(e,n)}getRequestClientForFile(e){if(!(("remote"in e)&&e.remote))throw Error(`Tried to get RequestClient for a non-remote file ${e.id}`);let n=this.#S.get(e.remote.requestClientId);if(n==null)throw Error(`requestClientId "${e.remote.requestClientId}" not registered for file "${e.id}"`);return n}async restore(e){this.log(`Core: Running restored upload "${e}"`);let n=await this.#b(e);return this.emit("complete",n),n}#x(e,n={}){let{forceAllowNewUpload:r=!1}=n,{allowNewUpload:s,currentUploads:i}=this.getState();if(!s&&!r)throw Error("Cannot create a new upload: already uploading.");let a=Gi();return this.emit("upload",a,this.getFilesByIds(e)),this.setState({allowNewUpload:this.opts.allowMultipleUploadBatches!==!1&&this.opts.allowMultipleUploads!==!1,currentUploads:{...i,[a]:{fileIDs:e,step:0,result:{}}}}),a}[Symbol.for("uppy test: createUpload")](...e){return this.#x(...e)}#I(e){let{currentUploads:n}=this.getState();return n[e]}addResultData(e,n){if(!this.#I(e)){this.log(`Not setting result for an upload that has been removed: ${e}`);return}let{currentUploads:r}=this.getState(),s={...r[e],result:{...r[e].result,...n}};this.setState({currentUploads:{...r,[e]:s}})}#C(e){let{[e]:n,...r}=this.getState().currentUploads;this.setState({currentUploads:r})}async#b(e){let n=()=>{let{currentUploads:a}=this.getState();return a[e]},r=n();if(!r)throw Error("Nonexistent upload");let s=[...this.#s,...this.#r,...this.#a];try{for(let a=r.step||0;a<s.length;a++){let l=s[a];this.setState({currentUploads:{...this.getState().currentUploads,[e]:{...r,step:a}}});let{fileIDs:d}=r;if(await l(d,e),r=n(),!r)break}}catch(a){throw this.#C(e),a}if(r){r.fileIDs.forEach((c)=>{let p=this.getFile(c);if(p?.progress.postprocess)this.emit("postprocess-complete",p)});let a=r.fileIDs.map((c)=>this.getFile(c)),l=a.filter((c)=>!c.error),d=a.filter((c)=>c.error);this.addResultData(e,{successful:l,failed:d,uploadID:e}),r=n()}let i;if(r)i=r.result,this.#C(e);if(i==null)this.log(`Not setting result for an upload that has been removed: ${e}`),i={successful:[],failed:[],uploadID:e};return i}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 s=await this.#g();if(!(this.getFiles().filter((a)=>a.progress.uploadStarted==null).length>0))return this.emit("complete",s),s;({files:e}=this.getState())}let r=this.opts.onBeforeUpload(e);if(r===!1)throw Error("Not starting the upload because onBeforeUpload returned false");if(r&&typeof r==="object")e=r,this.setState({files:e});try{if(this.#e.validateMinNumberOfFiles(e),!this.#d(e))throw new Ot(this.i18n("missingRequiredMetaField"));let{currentUploads:s}=this.getState(),i=Object.values(s).flatMap((c)=>c.fileIDs),a=Object.keys(e).filter((c)=>{let p=this.getFile(c);return p&&!p.progress.uploadStarted&&!i.includes(c)}),l=this.#x(a),d=await this.#b(l);return this.emit("complete",d),d}catch(s){throw this.#i([s]),s}}}var mo=dr;var Ji={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 Cu=1048576,Zi=5*Cu,ur=1e4;class go{#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 hn(e.uppy);let n=e.file.s3Multipart;if(n)this.#e=n.key,this.#i=n.uploadId,this.#l=!0;let r=e.file.data.size;if(this.#a=Boolean(n)||this.#t.shouldUseMultipart===!0&&r>Zi,this.#a){let i=this.#u(r);if(i=Math.max(i,Zi),Math.ceil(r/i)>ur)i=Math.ceil(r/ur);for(let a=0,l=0;a<r;a+=i,l++){let d=Math.min(a+i,r);this.#s.push({index:l,start:a,end:d,size:d-a})}}else this.#s=[{index:0,start:0,end:r,size:r}];this.#r=this.#s.map(()=>({uploaded:0}));let s=this.#t.file.id;this.#o.onFileRemove(s,()=>{this.abort(),this.#t.onAbort?.()}),this.#o.onCancelAll(s,()=>{this.abort(),this.#t.onAbort?.()}),this.#o.onFilePause(s,(i)=>{if(i)this.#c();else this.start()}),this.#o.onPauseAll(s,()=>{this.#c()}),this.#o.onResumeAll(s,()=>{this.start()}),this.#o.onRetry(s,()=>{this.start()}),this.#o.onRetryAll(s,()=>{this.start()})}#u(e){if(this.#t.getChunkSize)return this.#t.getChunkSize({size:e});return Math.ceil(e/ur)}async start(){this.#d?.abort(),this.#d=new AbortController;let e=this.#d.signal;try{let n=this.#i;if(this.#l&&n)await this.#p(n,e);else if(this.#l=!0,this.#a)await this.#y(e);else await this.#w(e)}catch(n){this.#m(n instanceof Error?n:Error(n))}}#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((n)=>{this.#t.log?.(n,"warning")})}this.#e=void 0,this.#i=void 0,this.#l=!1}async#p(e,n){if(!this.#e)throw Error("Missing S3 object key for resuming upload");let r=await this.#t.s3Client.listParts({uploadId:e,key:this.#e,signal:n});for(let s of r){let i=s.partNumber-1;if(i>=0&&i<this.#r.length)this.#r[i].uploaded=this.#s[i].size,this.#r[i].etag=s.etag}this.#f(),await this.#g(n)}async#w(e){let{location:n,key:r}=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:(s)=>{this.#r[0].uploaded=s,this.#f()},signal:e});this.#h({location:n,key:r})}async#y(e){let{uploadId:n,key:r}=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=r,this.#i=n,this.#t.uppy.setFileState(this.#t.file.id,{s3Multipart:{uploadId:n,key:r}}),await this.#g(e)}async#g(e){for(let i=0;i<this.#s.length;i++){if(e.throwIfAborted(),this.#r[i].etag)continue;let a=this.#s[i],l=i+1,d=this.#n.slice(a.start,a.end),c=i;if(this.#e==null)throw Error("Missing S3 object key for uploading part");let{etag:p}=await this.#t.s3Client.uploadPart({key:this.#e,uploadId:this.#i,data:d,partNumber:l,onProgress:(f)=>{this.#r[c].uploaded=f,this.#f()},signal:e});if(this.#r[i].uploaded=a.size,this.#r[i].etag=p,this.#f(),this.#t.onPartComplete)this.#t.onPartComplete({PartNumber:l,ETag:p})}let n=this.#r.flatMap((i,a)=>i.etag?[{partNumber:a+1,etag:i.etag}]:[]);if(this.#e==null)throw Error("Missing S3 object key for completing multipart upload");let{location:r,key:s}=await this.#t.s3Client.completeMultipartUpload({key:this.#e,uploadId:this.#i,parts:n,signal:e});this.#h({location:r,key:s,uploadId:this.#i})}#f(){if(!this.#t.onProgress)return;let e=this.#r.reduce((n,r)=>n+r.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 cr="AWS4-HMAC-SHA256",ho="aws4_request",ea="s3",pr="UNSIGNED-PAYLOAD",Pn="application/octet-stream",ta="application/xml",na=8388608,qt="[s3mini] ",oa="[s3mini] endpoint must be a non-empty string",ra="[s3mini] endpoint must be a valid URL. Expected format: https://<host>[:port][/base-path]",sa="[s3mini] key must be a non-empty string",An="[s3mini] uploadId must be a non-empty string";class ia{requestAbortTimeout;constructor({requestAbortTimeout:e}){this.requestAbortTimeout=e}isOffline(){return typeof navigator<"u"&&navigator.onLine===!1}waitForOnline(e){return new Promise((n,r)=>{if(!this.isOffline()){n();return}if(typeof navigator>"u"||navigator.onLine===!0||navigator.onLine===void 0){n();return}if(e?.aborted){r(new DOMException("Upload aborted","AbortError"));return}let s=()=>{window.removeEventListener("online",i),e?.removeEventListener("abort",a)},i=()=>{s(),n()},a=()=>{s(),r(new DOMException("Upload aborted","AbortError"))};window.addEventListener("online",i),e?.addEventListener("abort",a)})}async xhr({url:e,method:n,data:r,onProgress:s,signal:i,contentType:a}){if(i?.aborted)throw new DOMException("Request aborted","AbortError");return Kn(e,{method:n,body:["GET","HEAD"].includes(n)?void 0:r,headers:a?{"Content-Type":a}:{},signal:i,timeout:this.requestAbortTimeout,retries:3,shouldRetry:(l)=>{if(this.isOffline())return!1;if(l.status>=400&&l.status<500&&l.status!==429)return!1;return!0},onUploadProgress:(l)=>{if(l.lengthComputable&&s)s(l.loaded,l.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 vo=ia;var vr=(e)=>e.replace(/^("|")+|("|")+$/g,""),Dn=(e)=>e?.replace(/^"+|"+$/g,"");function ua(e){let n=new URL(e);return n.search="",n.hash="",n.href}var hr=new TextEncoder,la="0123456789abcdef",yr=(e)=>{let n=new Uint8Array(e),r="";for(let s of n)r+=la[s>>4]+la[s&15];return r},ca=async(e)=>{let n=hr.encode(e);return await globalThis.crypto.subtle.digest("SHA-256",n)},On=async(e,n)=>{let r=await globalThis.crypto.subtle.importKey("raw",typeof e==="string"?hr.encode(e):e,{name:"HMAC",hash:"SHA-256"},!1,["sign"]),s=hr.encode(n);return await globalThis.crypto.subtle.sign("HMAC",r,s)},Ru={""":'"',"'":"'","<":"<",">":">","&":"&"},da=(e)=>e.replaceAll(/&(quot|apos|lt|gt|amp);/g,(n)=>Ru[n]??n),yn=(e)=>{let n=e.replace(/<\?xml[^?]*\?>\s*/,""),r=/<([A-Za-z_][\w\-.]*)[^>]*>([\s\S]*?)<\/\1>/gm,s={},i;while((i=r.exec(n))!==null){let a=i[1],l=i[2],d=l?yn(l):da(l?.trim()||"");if(!a)continue;let c=s[a];if(c===void 0)s[a]=d;else if(Array.isArray(c))c.push(d);else s[a]=[c,d]}return Object.keys(s).length>0?s:da(n.trim())},Fu=(e)=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`,Iu=(e)=>encodeURIComponent(e).replace(/[!'()*]/g,Fu),pa=(e)=>Iu(e).replaceAll("%2F","/");class br extends Error{code;constructor(e,n,r){super(e);this.name=new.target.name,this.code=n,this.cause=r}}class Sr extends br{}class Cr extends br{status;serviceCode;body;constructor(e,n,r,s){super(e,r);this.status=n,this.serviceCode=r,this.body=s}}class fa extends vo{companionEndpoint;constructor({companionEndpoint:e,requestAbortTimeout:n}){super({requestAbortTimeout:n});this.companionEndpoint=e}async _fetch(e,n){let r=await fetch(`${this.companionEndpoint}/s3${e}`,n);if(!r.ok)throw Error(`Companion request failed: ${r.statusText}`);return r}async _request({url:e,method:n,data:r,onProgress:s,signal:i,contentType:a}){return await this.waitForOnline(i),this.xhr({url:e,method:n,data:r,onProgress:s,signal:i,contentType:a})}async putObject({key:e,data:n,fileType:r=Pn,metadata:s={},onProgress:i,signal:a}){let l=new URLSearchParams({filename:e,type:r,...Object.fromEntries(Object.entries(s).map(([m,g])=>[`metadata[${m}]`,String(g)]))}),d=await this._fetch(`/params?${l}`),{url:c,fields:p}=await d.json(),f=new FormData;Object.entries(p).forEach(([m,g])=>{f.set(m,g)}),f.set("file",n);let y=await this._request({url:c,method:"POST",data:f,onProgress:i,signal:a});return{location:`${c}${p.key}`,etag:Dn(y.getResponseHeader("etag")),key:p.key}}async createMultipartUpload({key:e,fileType:n=Pn,metadata:r,signal:s}){if(typeof n!=="string")throw TypeError(`${qt}fileType must be a string`);let i="POST",a=await this._fetch("/multipart",{method:i,body:JSON.stringify({filename:e,metadata:r,type:n}),headers:{"content-type":"application/json"},signal:s}),{key:l,uploadId:d}=await a.json();if(d==null)throw Error("No uploadId returned");if(l==null)throw Error("No key returned");return{uploadId:d,key:l}}async uploadPart({key:e,uploadId:n,data:r,partNumber:s,onProgress:i,signal:a}){let l=await this._fetch(`/multipart/${encodeURIComponent(n)}/${encodeURIComponent(s)}?${new URLSearchParams({key:e})}`,{method:"GET",signal:a}),{url:d}=await l.json(),c=await this._request({url:d,method:"PUT",data:r,onProgress:i,signal:a}),p=Dn(c.getResponseHeader("etag"));if(p==null)throw Error(`${qt}Missing ETag in uploadPart response headers`);return{etag:p}}async listParts({uploadId:e,key:n,signal:r}){if(!e)throw TypeError(An);return(await(await this._fetch(`/multipart/${encodeURIComponent(e)}?${new URLSearchParams({key:n})}`,{method:"GET",signal:r})).json()).map((a)=>({partNumber:parseInt(String(a.PartNumber),10),etag:String(a.ETag)}))}async completeMultipartUpload({key:e,uploadId:n,parts:r,signal:s}){let i=await this._fetch(`/multipart/${encodeURIComponent(n)}/complete?${new URLSearchParams({key:e})}`,{method:"POST",body:JSON.stringify({parts:r.map((c)=>({PartNumber:c.partNumber,ETag:c.etag}))}),headers:{"content-type":"application/json"},signal:s}),{location:a,bucket:l,key:d}=await i.json();return{location:a,bucket:l,key:d}}async abortMultipartUpload({key:e,uploadId:n,signal:r}){await this._fetch(`/multipart/${encodeURIComponent(n)}?${new URLSearchParams({key:e})}`,{method:"DELETE",signal:r})}}var ma=fa;var Eu=3600;function _u(e){let{accessKeyId:n,secretAccessKey:r,sessionToken:s,region:i,endpoint:a,service:l=ea}=e,d=null,c=null;async function p(f){let y=await On(`AWS4${r}`,f),m=await On(y,i),g=await On(m,l);return On(g,ho)}return async function(y){let{method:m,key:g,expiresIn:x=Eu}=y,b=new URL(a),F=g?g.replace(/^\/+/,""):"",k=F?pa(F):"",j=b.pathname;if(k)j=j.endsWith("/")?`${j}${k}`:`${j}/${k}`;let G=new Date,X=G.toISOString().slice(0,10).replace(/-/g,""),J=`${X}T${G.toISOString().slice(11,19).replace(/:/g,"")}Z`,re=`${n}/${X}/${i}/${l}/${ho}`;if(b.searchParams.set("X-Amz-Algorithm",cr),b.searchParams.set("X-Amz-Content-Sha256",pr),b.searchParams.set("X-Amz-Credential",re),b.searchParams.set("X-Amz-Date",J),b.searchParams.set("X-Amz-Expires",String(x)),b.searchParams.set("X-Amz-SignedHeaders","host"),s)b.searchParams.set("X-Amz-Security-Token",s);if("uploadId"in y)b.searchParams.set("uploadId",y.uploadId);if("partNumber"in y)b.searchParams.set("partNumber",String(y.partNumber));if(m==="POST"&&!("uploadId"in y))b.searchParams.set("uploads","");b.searchParams.sort();let xe=b.searchParams.toString().replace(/\+/g,"%20"),ee=`host:${b.host}`,_=[m,j,xe,ee,"","host",pr].join(`
|
|
7
|
-
`),Ce=`${X}/${i}/${l}/${ho}`,ye=[cr,J,Ce,yr(await ca(_))].join(`
|
|
8
|
-
`);if(X!==d||!c)d=X,c=await p(X);let fe=yr(await On(c,ye));return{url:`${b.origin}${j}?${xe}&X-Amz-Signature=${fe}`}}}var ga=_u;class ha extends vo{endpoint;region;requestSizeInBytes;getCredentials;cachedCredentials;cachedCredentialsPromise;signRequest;constructor({region:e="auto",requestSizeInBytes:n=na,requestAbortTimeout:r,...s}){super({requestAbortTimeout:r});if("signRequest"in s){let{signRequest:i}=s;if(!i)throw TypeError("Either signRequest or getCredentials must be provided");if(i&&typeof i!=="function")throw TypeError("signRequest must be a function");this.signRequest=i}else if("getCredentials"in s){let{getCredentials:i,endpoint:a}=s;if(typeof a!=="string"||a.trim().length===0)throw TypeError(oa);if(i&&typeof i!=="function")throw TypeError("getCredentials must be a function");this.endpoint=new URL(this._ensureValidUrl(a)),this.getCredentials=i,this.signRequest=this._createCredentialBasedSigner()}else throw TypeError("Either signRequest or getCredentials must be provided");this.region=e,this.requestSizeInBytes=n}_createCredentialBasedSigner(){return async(e)=>{let n=await this._getCachedCredentials();if(this.endpoint==null)throw Error("Endpoint is required for credential-based signing");return ga({accessKeyId:n.credentials.accessKeyId,secretAccessKey:n.credentials.secretAccessKey,sessionToken:n.credentials.sessionToken,region:n.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 n=/^(https?:)?\/\//i.test(e)?e:`https://${e}`;try{new URL(n);let r=n.length;while(r>0&&n[r-1]==="/")r--;return r===n.length?n:n.substring(0,r)}catch{let r=`${ra} But provided: "${e}"`;throw TypeError(r)}}_checkKey(e){if(typeof e!=="string"||e.trim().length===0)throw TypeError(sa)}_validateUploadPartParams(e,n,r){if(this._checkKey(e),typeof n!=="string"||n.trim().length===0)throw TypeError(An);if(!Number.isInteger(r)||r<=0)throw TypeError(`${qt}partNumber must be a positive integer`)}async putObject({key:e,data:n,fileType:r=Pn,onProgress:s,signal:i}){this._checkKey(e);let{xhr:a,url:l}=await this.request({request:{method:"PUT",key:e},data:n,onProgress:s,signal:i,contentType:r});return{location:ua(l),etag:Dn(a.getResponseHeader("etag")),key:e}}async createMultipartUpload({key:e,fileType:n=Pn,signal:r}){if(this._checkKey(e),typeof n!=="string")throw TypeError(`${qt}fileType must be a string`);let{xhr:s}=await this.request({request:{method:"POST",key:e},contentType:n,signal:r}),i=yn(s.responseText);if(i&&typeof i==="object"){let a=i.initiateMultipartUploadResult||i.InitiateMultipartUploadResult;if(a&&typeof a==="object"){let l=a.uploadId||a.UploadId;if(l&&typeof l==="string")return{uploadId:l,key:e}}}throw Error(`${qt}Failed to create multipart upload: ${JSON.stringify(i)}`)}async uploadPart({key:e,uploadId:n,data:r,partNumber:s,onProgress:i,signal:a}){this._validateUploadPartParams(e,n,s);let{xhr:l}=await this.request({request:{method:"PUT",key:e,uploadId:n,partNumber:s},data:r,onProgress:i,signal:a}),d=Dn(l.getResponseHeader("etag"));if(d==null)throw Error(`${qt}Missing ETag in uploadPart response headers`);return{etag:d}}async request({request:e,data:n,onProgress:r,signal:s,contentType:i,shouldRetryCredentials:a=!0}){if(await this.waitForOnline(s),s?.aborted)throw new DOMException("Request aborted","AbortError");try{let{url:l}=await this.signRequest(e);return{xhr:await this.xhr({url:l,method:e.method,data:n,onProgress:r,signal:s,contentType:i}),url:l}}catch(l){if(l instanceof Error&&"request"in l&&l.request instanceof XMLHttpRequest){let d=l.request;if(d.status===0)throw new Sr("Network error during S3 request","NETWORK",l);let c=this._parseErrorXml((f)=>d.getResponseHeader(f),d.responseText),p=d.getResponseHeader("x-amz-error-code")??c.svcCode;if(a&&this.getCredentials!=null&&p!=null&&["ExpiredToken","InvalidAccessKeyId"].includes(p))return this.clearCachedCredentials(),this.request({request:e,data:n,onProgress:r,signal:s,contentType:i,shouldRetryCredentials:!1});throw new Cr(`S3 returned ${d.status}${p?` – ${p}`:""}`,d.status,p,d.responseText)}throw l}}async listParts({uploadId:e,key:n,signal:r}){if(this._checkKey(n),!e)throw TypeError(An);let{xhr:s}=await this.request({request:{method:"GET",key:n,uploadId:e},signal:r}),i=yn(s.responseText),a=i.listPartsResult||i.ListPartsResult||i;if(a&&typeof a==="object"){let l=a.Part||a.part||[];return(Array.isArray(l)?l:[l]).filter((c)=>c!=null&&typeof c==="object"&&("PartNumber"in c)&&("ETag"in c)).map((c)=>({partNumber:parseInt(String(c.PartNumber),10),etag:vr(String(c.ETag))}))}return[]}async completeMultipartUpload({key:e,uploadId:n,parts:r,signal:s}){let i=this._buildCompleteMultipartUploadXml(r),{xhr:a}=await this.request({request:{method:"POST",key:e,uploadId:n},contentType:ta,data:i,signal:s}),l=yn(a.responseText);if(l&&typeof l==="object"){let d=l.completeMultipartUploadResult||l.CompleteMultipartUploadResult||l;if(d&&typeof d==="object"){let c=d,p=c.Location||c.location,f=c.Bucket||c.bucket,y=c.Key||c.key,m=c.ETag||c.eTag||c.etag;if(!p||!y)throw Error(`${qt}CompleteMultipartUpload response missing Location or Key: ${JSON.stringify(c)}`);let g=m?vr(m):void 0;return{location:p,bucket:f,key:y,etag:g}}}throw Error(`${qt}Failed to complete multipart upload: ${JSON.stringify(l)}`)}async abortMultipartUpload({key:e,uploadId:n,signal:r}){if(this._checkKey(e),!n)throw TypeError(An);let{xhr:s}=await this.request({request:{method:"DELETE",key:e,uploadId:n},signal:r}),i=yn(s.responseText);if(i&&"error"in i&&typeof i.error==="object"&&i.error!==null&&"message"in i.error)throw Error(`${qt}Failed to abort multipart upload: ${String(i.error.message)}`)}_buildCompleteMultipartUploadXml(e){let n="<CompleteMultipartUpload>";for(let r of e)n+=`<Part><PartNumber>${r.partNumber}</PartNumber><ETag>${r.etag}</ETag></Part>`;return n+="</CompleteMultipartUpload>",n}async deleteObject({key:e,signal:n}){let{xhr:r}=await this.request({request:{method:"DELETE",key:e},signal:n});if(r.status!==200&&r.status!==204)throw Error(`${qt}Failed to delete object. HTTP status: ${r.status}`)}clearCachedCredentials(){this.cachedCredentials=void 0,this.cachedCredentialsPromise=void 0}_parseErrorXml(e,n){if(e("content-type")!=="application/xml")return{};let r=yn(n);if(!r||typeof r!=="object"||!("Error"in r)||!r.Error||typeof r.Error!=="object")return{};let s=r.Error;return{svcCode:"Code"in s&&typeof s.Code==="string"?s.Code:void 0,errorMessage:"Message"in s&&typeof s.Message==="string"?s.Message:void 0}}}var Ir=ha;var va=1048576,Mu={shouldUseMultipart:(e)=>(e.size||0)>100*va,allowedMetaFields:!0,limit:6};class wo extends gn{static VERSION=Ji.version;#n;#e;#t={};constructor(e,n){super(e,{...Mu,...n});this.type="uploader",this.id=this.opts.id||"AwsS3"}install(){this.#o(!0),this.#r(),this.#e=new kn({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 n=this.#t[e];if(n)n.abort()}}#o=(e)=>{let{capabilities:n}=this.uppy.getState();this.uppy.setState({capabilities:{...n,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 ma({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 Ir({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 Ir({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 n=this.uppy.getFilesByIds(e),r=Qn(n),s=Yn(r);this.uppy.emit("upload-start",s);let i=r.map((a)=>{if(a.isRemote)return this.#p(a);return this.#e.add(async()=>{let l=this.uppy.getFile(a.id);if(!l)return;return this.#i(l)})});await Promise.allSettled(i),this.#o(!0)};async#i(e){try{return await new Promise((n,r)=>{let s=new go({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:(...i)=>this.uppy.log(...i),onProgress:(i,a)=>{this.uppy.emit("upload-progress",e,{uploadStarted:e.progress.uploadStarted??Date.now(),bytesUploaded:i,bytesTotal:a})},onPartComplete:(i)=>{this.uppy.emit("s3-multipart:part-uploaded",e,i)},onSuccess:(i)=>{this.uppy.emit("upload-success",e,{status:200,body:{location:i.location,key:i.key},uploadURL:i.location}),n()},onError:(i)=>{this.uppy.emit("upload-error",e,i),r(i)},onAbort:()=>{n()}});this.#t[e.id]=s,s.start()})}finally{delete this.#t[e.id]}}#l(e){let{shouldUseMultipart:n}=this.opts;if(typeof n==="function")return n(e);if(typeof n==="boolean")return n;return(e.size??0)>100*va}#d(e){if("companionEndpoint"in this.opts)return e.name;return this.opts.generateObjectKey?.(e)??`${crypto.randomUUID()}-${e.name}`}#u(e){let n=ln(this.opts.allowedMetaFields,e.meta);return Object.fromEntries(n.map((r)=>[r,e.meta[r]]))}#c(e){return{...e.remote.body,protocol:"s3-multipart",size:e.data.size,metadata:this.#u(e)}}async#p(e){this.#o(!1);let n=new AbortController,r=(s)=>{if(s.id===e.id)n.abort()};this.uppy.on("file-removed",r);try{await this.uppy.getRequestClientForFile(e).uploadRemoteFile(e,this.#c(e),{signal:n.signal,getQueue:()=>this.#e})}finally{this.uppy.off("file-removed",r)}}}var wa={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 ya={strings:{uploadStalled:"Upload has not made any progress for %{seconds} seconds. You may want to retry it."}};function Nu(e,n){let r=n;if(!r)r=Error("Upload error");if(typeof r==="string")r=Error(r);if(!(r instanceof Error))r=Object.assign(Error("Upload error"),{data:r});if(Yo(e))return r=new Mn(r,e),r;return r.request=e,r}function xa(e){return e.data.slice(0,e.data.size,e.meta.type)}var ku={formData:!0,fieldName:"file",method:"post",allowedMetaFields:!0,bundle:!1,headers:{},timeout:30000,limit:5,withCredentials:!1,responseType:""};class yo extends gn{static VERSION=wa.version;#n;#e;uploaderEvents;constructor(e,n){super(e,{...ku,fieldName:n.bundle?"files[]":"file",...n});if(this.type="uploader",this.id=this.opts.id||"XHRUpload",this.defaultLocale=ya,this.i18nInit(),this.#e=new kn({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(n?.allowedMetaFields===void 0&&"metaFields"in this.opts)throw Error("The `metaFields` option has been renamed to `allowedMetaFields`.");this.uploaderEvents=Object.create(null),this.#n=(r)=>async(s,i)=>{try{let a=await Kn(s,{...i,onBeforeRequest:(c,p)=>this.opts.onBeforeRequest?.(c,p,r),shouldRetry:this.opts.shouldRetry,onAfterResponse:this.opts.onAfterResponse,onTimeout:(c)=>{let p=Math.ceil(c/1000),f=Error(this.i18n("uploadStalled",{seconds:p}));this.uppy.emit("upload-stalled",f,r)},onUploadProgress:(c)=>{if(c.lengthComputable)for(let{id:p}of r){let f=this.uppy.getFile(p);if(f!=null)this.uppy.emit("upload-progress",f,{uploadStarted:f.progress.uploadStarted??0,bytesUploaded:c.loaded/c.total*f.size,bytesTotal:f.size})}}}),l=await this.opts.getResponseData?.(a);if(a.responseType==="json")l??=a.response;else try{l??=JSON.parse(a.responseText)}catch(c){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:c})}let d=typeof l?.url==="string"?l.url:void 0;for(let{id:c}of r)this.uppy.emit("upload-success",this.uppy.getFile(c),{status:a.status,body:l,uploadURL:d});return a}catch(a){if(a.name==="AbortError")return;let l=a.request;for(let d of r)this.uppy.emit("upload-error",this.uppy.getFile(d.id),Nu(l,a),l);throw a}}}getOptions(e){let n=this.uppy.getState().xhrUpload,{headers:r}=this.opts,s={...this.opts,...n||{},...e.xhrUpload||{},headers:{}};if(typeof r==="function")s.headers=r(e);else Object.assign(s.headers,this.opts.headers);if(n)Object.assign(s.headers,n.headers);if(e.xhrUpload)Object.assign(s.headers,e.xhrUpload.headers);return s}addMetadata(e,n,r){ln(r.allowedMetaFields,n).forEach((i)=>{let a=n[i];if(Array.isArray(a))a.forEach((l)=>{e.append(i,l)});else e.append(i,a)})}createFormDataUpload(e,n){let r=new FormData;this.addMetadata(r,e.meta,n);let s=xa(e);if(e.name)r.append(n.fieldName,s,e.meta.name);else r.append(n.fieldName,s);return r}createBundledUpload(e,n){let r=new FormData,{meta:s}=this.uppy.getState();return this.addMetadata(r,s,n),e.forEach((i)=>{let a=this.getOptions(i),l=xa(i);if(i.name)r.append(a.fieldName,l,i.name);else r.append(a.fieldName,l)}),r}async#t(e){let n=new hn(this.uppy),r=new AbortController;n.onFileRemove(e.id,()=>r.abort()),n.onCancelAll(e.id,()=>r.abort());try{await this.#e.add(async(s)=>{let i=this.getOptions(e),a=this.#n([e]),l=i.formData?this.createFormDataUpload(e,i):e.data,d=typeof i.endpoint==="string"?i.endpoint:await i.endpoint(e);return a(d,{...i,body:l,signal:AbortSignal.any([s,r.signal])})})}catch(s){if(s.name==="AbortError")return;throw s}finally{n.remove()}}async#o(e){let n=new AbortController;function r(){n.abort()}this.uppy.once("cancel-all",r);try{await this.#e.add(async(s)=>{let i=this.uppy.getState().xhrUpload??{},a=this.#n(e),l=this.createBundledUpload(e,{...this.opts,...i}),d=typeof this.opts.endpoint==="string"?this.opts.endpoint:await this.opts.endpoint(e);return a(d,{...this.opts,body:l,signal:AbortSignal.any([s,n.signal])})})}catch(s){if(s.name==="AbortError")return;throw s}finally{this.uppy.off("cancel-all",r)}}#s(e){let n=this.getOptions(e),r=ln(n.allowedMetaFields,e.meta);return{...e.remote?.body,protocol:"multipart",endpoint:n.endpoint,size:e.data.size,fieldname:n.fieldName,metadata:Object.fromEntries(r.map((s)=>[s,e.meta[s]])),httpMethod:n.method,useFormData:n.formData,headers:n.headers}}async#r(e){await Promise.allSettled(e.map((n)=>{if(n.isRemote){let r=()=>this.#e,s=new AbortController,i=(a)=>{if(a.id===n.id)s.abort()};return this.uppy.on("file-removed",i),this.uppy.getRequestClientForFile(n).uploadRemoteFile(n,this.#s(n),{signal:s.signal,getQueue:r}).finally(()=>{this.uppy.off("file-removed",i)})}return this.#t(n)}))}#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 n=this.uppy.getFilesByIds(e),r=Qn(n),s=Yn(r);if(this.uppy.emit("upload-start",s),this.opts.bundle){if(r.some((a)=>a.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(r)}else await this.#r(r)};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 Ht=null,$n=0;async function Ca(){if($n++,$n>1&&Ht)return;if(typeof navigator<"u"&&"wakeLock"in navigator)try{Ht=await navigator.wakeLock.request("screen"),Ht.addEventListener("release",()=>{Ht=null})}catch(e){console.warn("Screen Wake Lock request failed:",e)}}async function Ra(){if($n=Math.max(0,$n-1),$n===0&&Ht)try{await Ht.release()}catch(e){console.warn("Screen Wake Lock release failed:",e)}finally{Ht=null}}if(typeof document<"u")document.addEventListener("visibilitychange",async()=>{if(document.visibilityState==="visible"&&$n>0&&!Ht)try{if(typeof navigator<"u"&&"wakeLock"in navigator)Ht=await navigator.wakeLock.request("screen"),Ht.addEventListener("release",()=>{Ht=null})}catch(e){console.warn("Screen Wake Lock re-acquisition failed:",e)}});var Gt=new Map;if(typeof window<"u")window.addEventListener("beforeunload",(e)=>{if(dn.getState().uploading>0||Gt.size>0)e.preventDefault(),e.returnValue=""}),window.addEventListener("pagehide",()=>{if(Gt.size===0)return;for(let e of Gt.values()){let n=`/api/teams/${e.teamId}/upload/tasks/${e.taskId}/abort`,r=JSON.stringify({fileId:e.fileId,uploadId:e.uploadId,key:e.key});try{if("sendBeacon"in navigator){let s=new Blob([r],{type:"application/json"});navigator.sendBeacon(n,s)}else fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:r,keepalive:!0,credentials:"include"})}catch(s){console.warn("Failed to send abort beacon:",s)}}Gt.clear()});function Fa(e){if(typeof navigator<"u"&&!navigator.onLine)return!0;if(!e)return!1;let n=e;if(n.isNetworkError===!0)return!0;if(n.name==="S3NetworkError"||n.name==="NetworkError")return!0;let r=(typeof n.message==="string"?n.message:"").toLowerCase();if(r.includes("network error")||r.includes("failed to fetch")||r.includes("networkerror")||r.includes("load failed")||r.includes("err_internet_disconnected"))return!0;let s=n.request;if(s&&s.status===0)return!0;return!1}async function Jc({files:e,taskId:n,teamId:r,storageBackend:s,createdAssets:i=[],presignedUrls:a=[],onFileFinished:l}){if(!e.length)return;await Ca();let d=dn.getState(),{increment:c,decrement:p,updateFileProgress:f,completeFile:y,failFile:m}=d,g=new Map;for(let _ of i)g.set(_.tempId,{assetId:_.assetId,key:_.key});let x=new Map;for(let _ of a)if(_.id)x.set(_.id,{url:_.url||"",fileId:_.fileId||""});let b=new Map,F=new mo({autoProceed:!0,allowMultipleUploadBatches:!1});if(s==="s3")F.use(wo,{shouldUseMultipart:(_)=>(_.size||0)>104857600,getChunkSize:({size:_})=>{if(_>5368709120)return 33554432;if(_>1073741824)return 16777216;return 8388608},generateObjectKey:(_)=>_.meta.key||_.name,signRequest:async(_)=>{let Ce="uploadId"in _?_.uploadId:void 0,ye="partNumber"in _?_.partNumber:void 0,fe=b.get(_.key);if(fe&&Ce){let Ge=Gt.get(fe);if(Ge)Ge.uploadId=Ce}let ae=await fetch(`/api/teams/${r}/upload/sign`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({key:_.key,method:_.method,uploadId:Ce,partNumber:ye,fileId:fe}),credentials:"include"});if(!ae.ok)throw Error(`Failed to sign request: ${ae.statusText}`);return{url:(await ae.json()).url}}});else F.use(yo,{endpoint:(_)=>(Array.isArray(_)?_[0]:_)?.meta?.url||"",method:"PUT",formData:!1,headers:(_)=>({"Content-Type":_.type||"application/octet-stream"}),getResponseData:(_)=>{try{return _.responseText?JSON.parse(_.responseText):{}}catch{return{}}},shouldRetry:()=>!1,limit:5});let k=new Map,j=new Map,G=3,X=null,J=()=>{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..."),F.retryAll().catch((_)=>{console.error("[Uploader] Error during retryAll:",_)})},re=(_=2000)=>{if(X)return;X=setTimeout(()=>{X=null,J()},_)},xe=()=>{let _=typeof navigator<"u"?navigator.onLine:!0;console.log(`[Uploader] Network 'online' event received! navigator.onLine = ${_}`),J()},ee=()=>{let _=typeof navigator<"u"?navigator.onLine:!1;console.warn(`[Uploader] Network 'offline' event received! navigator.onLine = ${_}`)};if(F.on("back-online",xe),typeof window<"u")window.addEventListener("online",xe),window.addEventListener("offline",ee);F.on("upload-progress",(_,Ce)=>{if(!_)return;let ye=_.meta.fileId;if(ye&&Ce.bytesUploaded!=null)f(n,ye,Ce.bytesUploaded)}),F.on("upload-success",(_)=>{if(!_)return;let Ce=_.meta.fileId;Gt.delete(Ce);let ye=(async()=>{try{let fe=await A.api.teams[":teamId"].upload.tasks[":taskId"].$patch({param:{teamId:r,taskId:n},json:{fileId:Ce}});if(!fe.ok)throw Error(`Failed to confirm upload: ${fe.statusText}`);y(n,Ce),p(),await l?.(Ce)}catch(fe){throw console.error("Failed to confirm upload:",fe),m(n,Ce),p(),R.error(`Failed to confirm upload: ${_.name}`),await l?.(Ce),fe}})();k.set(Ce,ye)});let Oe=(_,Ce)=>{let ye=_.meta.fileId;if(!Gt.has(ye))return;Gt.delete(ye),m(n,ye),p(),R.error(`Failed to upload file: ${_.name}`);let fe=(async()=>{try{await A.api.teams[":teamId"].upload.tasks[":taskId"].$patch({param:{teamId:r,taskId:n},json:{fileId:ye,errorMessage:Ce?.message||"Upload failed"}})}catch(ae){console.error("Failed to report upload failure:",ae)}await l?.(ye)})();k.set(ye,fe)};F.on("upload-error",(_,Ce)=>{if(!_)return;if(console.error(`[Uploader] upload-error for ${_.name}:`,Ce),Fa(Ce)){if(console.warn(`[Uploader] Network error detected for ${_.name}. Keeping upload active to resume when connection is restored.`),typeof navigator<"u"&&navigator.onLine){let ye=_.meta.fileId,fe=(j.get(ye)||0)+1;if(j.set(ye,fe),fe>G){console.error(`[Uploader] Exceeded max online retries (${G}) for ${_.name}. Failing permanently.`),Oe(_,Ce);return}console.log(`[Uploader] Scheduling retry for ${_.name} (attempt ${fe}/${G})...`),re(2000)}return}Oe(_,Ce)});for(let _ of e){let Ce=g.get(_.id),ye=x.get(_.id),fe=Ce?.assetId||ye?.fileId||_.id,ae=Ce?.key,He=ye?.url;if(ae)b.set(ae,fe);Gt.set(fe,{teamId:r,taskId:n,fileId:fe,key:ae}),c(),F.addFile({name:_.file.name,type:_.file.type,data:_.file,meta:{fileId:fe,key:ae,url:He}})}try{await new Promise((_)=>{let Ce=(ye)=>{if(Gt.size===0){_();return}let fe=ye?.failed||[];if(typeof navigator<"u"&&!navigator.onLine||fe.some((Ge)=>Fa(Ge?.error))){console.log("[Uploader] Batch completed with network issues; waiting for reconnection to resume...");return}for(let Ge of fe)Oe(Ge,Ge?.error);if(Gt.size===0)_()};F.on("complete",Ce),F.on("cancel-all",()=>{_()})}),await Promise.allSettled(Array.from(k.values()))}finally{if(X)clearTimeout(X);if(typeof window<"u")window.removeEventListener("online",xe),window.removeEventListener("offline",ee);await Ra(),F.destroy()}}var Pu=[["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"}]],xo=T("layers",Pu);var Au=[["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"}]],Wc=T("arrow-down-up",Au);var Du=[["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"}]],Yc=T("folder-plus",Du);var Ou=[["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"}]],_a=T("message-circle-more",Ou);C();C();C();var zu=Object.defineProperty,Bt=(e,n)=>zu(e,"name",{value:n,configurable:!0}),Er="ContextMenu",[Lu,Gg]=dt(Er,[dl]),Zt=dl(),[Uu,Ma]=Lu(Er),ju=Bt((e)=>{let{__scopeContextMenu:n,children:r,onOpenChange:s,open:i,dir:a,modal:l=!0}=e,d=w(!1);if(aa){let y=w(!1);h(()=>{if(i===!0&&!d.current&&!y.current)y.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.")},[i])}let[c,p]=Lt({prop:i,defaultProp:!1,onChange:s,caller:Er}),f=Zt(n);return t(Uu,{scope:n,open:c,onOpenChange:p,modal:l,hasInteractedRef:d,children:t(qu,{...f,dir:a,open:c,onOpenChange:p,modal:l,children:r})})},"ContextMenu"),Bu="ContextMenuTrigger",Ju=D(Bt(function(n,r){let{__scopeContextMenu:s,disabled:i=!1,...a}=n,l=Ma(Bu,s),d=Zt(s),[c,p]=u({x:0,y:0}),f=O(()=>({current:{getBoundingClientRect:Bt(()=>DOMRect.fromRect({width:0,height:0,...c}),"getBoundingClientRect")}}),[c]),y=w(0),m=N(()=>window.clearTimeout(y.current),[]),g=Bt((x)=>{l.hasInteractedRef.current=!0,p({x:x.clientX,y:x.clientY}),l.onOpenChange(!0)},"handleOpen");return h(()=>m,[m]),h(()=>void(i&&m()),[i,m]),o(B,{children:[t(Hu,{...d,virtualRef:f}),t(se.span,{"data-state":l.open?"open":"closed","data-disabled":i?"":void 0,...a,ref:r,style:{WebkitTouchCallout:"none",...n.style},onContextMenu:i?n.onContextMenu:Y(n.onContextMenu,(x)=>{m(),g(x),x.preventDefault()}),onPointerDown:i?n.onPointerDown:Y(n.onPointerDown,eo((x)=>{if(m(),l.open)l.onOpenChange(!1);y.current=window.setTimeout(()=>g(x),700)})),onPointerMove:i?n.onPointerMove:Y(n.onPointerMove,eo(m)),onPointerCancel:i?n.onPointerCancel:Y(n.onPointerCancel,eo(m)),onPointerUp:i?n.onPointerUp:Y(n.onPointerUp,eo(m))})]})},"ContextMenuTrigger")),Zu=Bt((e)=>{let{__scopeContextMenu:n,...r}=e,s=Zt(n);return t($u,{...s,...r})},"ContextMenuPortal"),ec="ContextMenuContent",tc=D(Bt(function(n,r){let{__scopeContextMenu:s,...i}=n,a=Ma(ec,s),l=Zt(s),d=w(!1);return t(Gu,{...l,...i,ref:r,side:"right",sideOffset:2,align:"start",onCloseAutoFocus:(c)=>{if(n.onCloseAutoFocus?.(c),!c.defaultPrevented&&d.current)c.preventDefault();d.current=!1},onInteractOutside:(c)=>{if(n.onInteractOutside?.(c),!c.defaultPrevented&&!a.modal)d.current=!0},style:{...n.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 nc=D(Bt(function(n,r){let{__scopeContextMenu:s,...i}=n,a=Zt(s);return t(Qu,{...a,...i,ref:r})},"ContextMenuItem"));var oc=D(Bt(function(n,r){let{__scopeContextMenu:s,...i}=n,a=Zt(s);return t(Vu,{...a,...i,ref:r})},"ContextMenuSeparator"));var rc="ContextMenuSub",sc=Bt((e)=>{let{__scopeContextMenu:n,children:r,onOpenChange:s,open:i,defaultOpen:a}=e,l=Zt(n),[d,c]=Lt({prop:i,defaultProp:a??!1,onChange:s,caller:rc});return t(Ku,{...l,open:d,onOpenChange:c,children:r})},"ContextMenuSub"),ic=D(Bt(function(n,r){let{__scopeContextMenu:s,...i}=n,a=Zt(s);return t(Wu,{...a,...i,ref:r})},"ContextMenuSubTrigger")),ac=D(Bt(function(n,r){let{__scopeContextMenu:s,...i}=n,a=Zt(s);return t(Yu,{...a,...i,ref:r,style:{...n.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 eo(e){return(n)=>n.pointerType!=="mouse"?e(n):void 0}Bt(eo,"whenTouchOrPen");var lc=ju,dc=Ju,Na=Zu,uc=tc;var cc=nc;var pc=oc;var fc=sc,mc=ic,gc=ac;function ka({isOpen:e,onClose:n,onConfirm:r,mode:s,teamId:i,currentProjectId:a}){let[l,d]=u(a),[c,p]=u(null),[f,y]=u(!1),{data:m,isLoading:g}=Z({queryKey:["projects",i],queryFn:async()=>{let j=await A.api.teams[":teamId"].projects.$get({param:{teamId:i},query:{first:"100"}});if(!j.ok)throw Error("Failed to fetch projects");return await j.json()},enabled:!!i&&e}),x=m?.data??[],b=x.find((j)=>j.id===l),F=()=>{if(c)r(c.id,f);else if(b?.rootFolder)r(b.rootFolder,f)};return t(ue,{open:e,onOpenChange:n,children:o(ie,{className:"sm:max-w-[425px] flex flex-col h-[600px]",children:[t(me,{children:t(le,{children:s==="move"?"Move to":"Copy to"})}),o("div",{className:"flex flex-col gap-4 flex-1 overflow-hidden",children:[o("div",{className:"flex flex-col gap-2",children:[t("label",{className:"text-sm font-medium",children:"Select Project"}),o(Le,{value:l,onValueChange:(j)=>{d(j),p(null)},children:[t(Be,{children:t(Ze,{placeholder:"Select a project"})}),t(Ue,{children:x.map((j)=>t(ne,{value:j.id,children:j.name},j.id))})]})]}),o("div",{className:"flex flex-col gap-2 flex-1 overflow-hidden",children:[t("label",{className:"text-sm font-medium",children:"Select Folder"}),t("div",{className:"border rounded-md flex-1 overflow-hidden",children:t(ce,{className:"h-full",children:b&&b.rootFolder?t(Ar,{teamId:i,projectId:b.id,projectName:b.name,rootFolderId:b.rootFolder,onSelect:p,selectedFolderId:c?.id||b.rootFolder}):t("div",{className:"flex items-center justify-center h-full p-4",children:g?t(L,{className:"animate-spin h-6 w-6"}):"Select a project first"})})})]}),s==="copy"&&o("div",{className:"flex items-center space-x-2",children:[t(Nr,{id:"copy-comments",checked:f,onCheckedChange:(j)=>y(!!j)}),t("label",{htmlFor:"copy-comments",className:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",children:"Copy comments"})]})]}),o($e,{children:[t(S,{variant:"outline",onClick:n,children:"Cancel"}),t(S,{onClick:F,disabled:!b,children:"Confirm"})]})]})})}C();function Pa({item:e,isOpen:n,onClose:r,allowDownload:s=!0,shareId:i,sharePassword:a}){h(()=>{if(!n)return;let m=(g)=>{if(g.key===" "||g.code==="Space")g.preventDefault(),g.stopPropagation(),r()};return window.addEventListener("keydown",m,!0),()=>{window.removeEventListener("keydown",m,!0)}},[n,r]);let l=e?.type==="folder"||e?.targetType==="folder",d=e?.versionStack?e.versionStack.id:e?.id,c=a??(i&&typeof window<"u"?localStorage.getItem(`share_pwd_${i}`)||"":""),{data:p}=Z({queryKey:i?["shares",i,"files",d,c]:["files",d],queryFn:async()=>{if(!d)throw Error("No target file ID");let m=i?await A.api.shares[":shareId"].files[":fileId"].$get({param:{shareId:i,fileId:d}},c?{headers:{"x-share-password":c}}:void 0):await A.api.files[":fileId"].$get({param:{fileId:d}});if(!m.ok)throw Error("Failed to fetch file detail");return await m.json()},enabled:n&&!l&&!!d});if(!e)return null;let f=Boolean(e.media?.videoTranscodes?.some((m)=>!!m.url)||e.media?.imageTranscodes?.some((m)=>!!m.url)||e.media?.pdfTranscode?.url),y=p||(f?e:null);return t(ue,{open:n,onOpenChange:(m)=>{if(!m)r()},children:o(ie,{"data-testid":"file-preview-dialog-content",showCloseButton:!1,className:E("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",l?"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:[o("div",{className:"flex items-center justify-between px-4 py-2.5 border-b border-border bg-card select-none shrink-0",children:[t("div",{className:"flex items-center gap-2 min-w-0 mr-4",children:t(le,{className:"text-sm font-medium text-foreground truncate",title:e.name,children:e.name})}),t("button",{"data-testid":"quick-preview-close-button",onClick:r,className:"p-1 rounded-sm text-muted-foreground hover:text-foreground hover:bg-muted transition-colors cursor-pointer","aria-label":"Close",children:t(ke,{size:16})})]}),l?o("div",{className:"flex flex-col items-center justify-center p-8 text-center select-none gap-4",children:[t("div",{className:"p-4 rounded-2xl bg-primary/10 text-primary",children:t(er,{className:"w-16 h-16 stroke-[1.5]","data-testid":"folder-preview-icon"})}),o("div",{className:"flex flex-col items-center gap-1 max-w-full px-2",children:[t("h3",{className:"text-lg font-semibold text-foreground truncate max-w-full",title:e.name,children:e.name}),t("p",{className:"text-sm text-muted-foreground","data-testid":"folder-preview-count",children:(e.fileCount||0)===1?Dh({count:e.fileCount||0}):Oh({count:e.fileCount||0})})]})]}):!y?t("div",{"data-testid":"preview-loading-spinner",className:"flex-1 flex items-center justify-center bg-background min-h-[300px]",children:t(L,{className:"h-8 w-8 animate-spin text-muted-foreground"})}):t("div",{className:"flex-1 relative min-h-0 overflow-hidden bg-background",children:t(Jo,{file:y,allowDownload:s,shareId:i,autoPlay:!0})})]})})}function Aa({...e}){return t(lc,{"data-slot":"context-menu",...e})}function Da({...e}){return t(dc,{"data-slot":"context-menu-trigger",...e})}function _r({...e}){return t(Na,{"data-slot":"context-menu-portal",...e})}function Tr({...e}){return t(fc,{"data-slot":"context-menu-sub",...e})}function Dr({className:e,inset:n,children:r,...s}){return o(mc,{"data-slot":"context-menu-sub-trigger","data-inset":n,className:E("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),...s,children:[r,t(ht,{className:"ml-auto"})]})}function zr({className:e,...n}){return t(gc,{"data-slot":"context-menu-sub-content",className:E("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),...n})}function zn({className:e,...n}){return t(Na,{children:t(uc,{"data-slot":"context-menu-content",className:E("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),...n})})}function Ct({className:e,inset:n,variant:r="default",...s}){return t(cc,{"data-slot":"context-menu-item","data-inset":n,"data-variant":r,className:E("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),...s})}function bo({className:e,...n}){return t(pc,{"data-slot":"context-menu-separator",className:E("-mx-1 my-1 h-px bg-border",e),...n})}function Oa({item:e,selectedIds:n,onRename:r,onDelete:s,onDownload:i,onCopyNameAndDownloadLink:a,onRestore:l,onNewFolder:d,onUploadFile:c,onUploadFolder:p,onNewVersion:f,onManageVersions:y,onMoveTo:m,onCopyTo:g,folders:x,files:b,isRecentlyDeleted:F,isRecents:k,onOpenAgentsMd:j,isShareView:G,onRemoveFromShare:X,shareLinks:J=[],onCreateShareLink:re,onAddToShareLink:xe,canEdit:ee=!0}){let _=[...x,...b].filter((je)=>n.has(je.id)),Ce=e&&n.has(e.id),ye=Ce?_:e?[e]:[],fe=ye,ae=ye,He=()=>{if(e)r(e)},Ge=()=>{s(fe)},te=()=>{if(Ce)i(_);else if(e)i([e])},Ye=()=>{if(Ce)a?.(_);else if(e)a?.([e])},lt=()=>{l(ae)};if(k)return null;if(G){if(!e)return null;return o(zn,{children:[o(Ct,{onSelect:te,children:[t(gt,{className:"mr-2 h-4 w-4"}),t("span",{children:fr()})]}),o(Ct,{onSelect:Ye,children:[t(Rr,{className:"mr-2 h-4 w-4"}),t("span",{children:_f()})]}),ee&&o(Ct,{onSelect:()=>X?.(ye),className:"text-destructive",children:[t(ve,{className:"mr-2 h-4 w-4"}),t("span",{children:mp()})]})]})}if(F){if(!e)return null;return t(zn,{children:o(Ct,{onSelect:lt,children:[t(bn,{className:"mr-2 h-4 w-4"}),t("span",{children:hp()})]})})}if(!e){if(!ee||k)return null;return o(zn,{onCloseAutoFocus:(je)=>{je.preventDefault()},children:[o(Ct,{onSelect:c,children:[t(Bn,{className:"mr-2 h-4 w-4"}),t("span",{children:Np()})]}),o(Ct,{onSelect:p,children:[t(Bn,{className:"mr-2 h-4 w-4"}),t("span",{children:Op()})]}),o(Ct,{onSelect:()=>{d(gl())},children:[t(Yc,{className:"mr-2 h-4 w-4"}),t("span",{children:gl()})]})]})}let Fe=Ce&&n.size>1?o(zn,{onCloseAutoFocus:(je)=>{je.preventDefault()},children:[o(Ct,{onSelect:te,children:[t(gt,{className:"mr-2 h-4 w-4"}),t("span",{children:fr()})]}),o(Ct,{onSelect:Ye,children:[t(Rr,{className:"mr-2 h-4 w-4"}),t("span",{children:_f()})]}),ee&&o(Ct,{onSelect:()=>m(ye),children:[t(Wn,{className:"mr-2 h-4 w-4"}),t("span",{children:Nh()})]}),ee&&o(Ct,{onSelect:()=>g(ye),children:[t(Rr,{className:"mr-2 h-4 w-4"}),t("span",{children:Gm()})]}),ee&&o(Ct,{onSelect:Ge,className:"text-destructive",children:[t(ve,{className:"mr-2 h-4 w-4"}),t("span",{children:at()})]}),ee&&o(B,{children:[t(bo,{}),o(Ct,{onSelect:()=>re?.(ye),children:[t(pe,{className:"mr-2 h-4 w-4"}),t("span",{children:Wm()})]}),J.length>0&&o(Tr,{children:[o(Dr,{children:[t(Fi,{className:"mr-2 h-4 w-4"}),t("span",{children:_m()})]}),t(_r,{children:t(zr,{className:"w-48",children:J.map((je)=>t(Ct,{onSelect:()=>xe?.(je.id,ye),children:t("span",{className:"truncate",children:je.name})},je.id))})})]})]})]}):o(zn,{onCloseAutoFocus:(je)=>{je.preventDefault()},children:[ee&&o(Ct,{onSelect:()=>{He()},children:[t(Hr,{className:"mr-2 h-4 w-4"}),t("span",{children:No()})]}),o(Ct,{onSelect:te,children:[t(gt,{className:"mr-2 h-4 w-4"}),t("span",{children:fr()})]}),o(Ct,{onSelect:Ye,children:[t(Rr,{className:"mr-2 h-4 w-4"}),t("span",{children:_f()})]}),ee&&o(Ct,{onSelect:()=>m(ye),children:[t(Wn,{className:"mr-2 h-4 w-4"}),t("span",{children:Nh()})]}),ee&&o(Ct,{onSelect:()=>g(ye),children:[t(Rr,{className:"mr-2 h-4 w-4"}),t("span",{children:Gm()})]}),ee&&(e.type==="file"||e.type==="version_stack")&&o(Ct,{onSelect:()=>f(e),children:[t(Bn,{className:"mr-2 h-4 w-4"}),t("span",{children:H0()})]}),ee&&e.type==="version_stack"&&o(Ct,{onSelect:()=>y?.(e),children:[t(xo,{className:"mr-2 h-4 w-4"}),t("span",{children:Uf()})]}),e.type==="folder"&&j&&o(Ct,{onSelect:()=>j(e),children:[t(Fn,{className:"mr-2 h-4 w-4"}),t("span",{children:"AGENTS.md"})]}),ee&&o(B,{children:[t(bo,{}),o(Ct,{onSelect:Ge,className:"text-destructive",children:[t(ve,{className:"mr-2 h-4 w-4"}),t("span",{children:at()})]}),t(bo,{}),o(Ct,{onSelect:()=>re?.(ye),children:[t(pe,{className:"mr-2 h-4 w-4"}),t("span",{children:Wm()})]}),J.length>0&&o(Tr,{children:[o(Dr,{children:[t(Fi,{className:"mr-2 h-4 w-4"}),t("span",{children:_m()})]}),t(_r,{children:t(zr,{className:"w-48",children:J.map((je)=>t(Ct,{onSelect:()=>xe?.(je.id,ye),children:t("span",{className:"truncate",children:je.name})},je.id))})})]})]})]});return t(B,{children:Fe})}C();var Rn=D(({className:e,onClick:n,onMouseDown:r,disabled:s,value:i,title:a,tooltipSide:l="top",tooltipDelayDuration:d=100,...c},p)=>{let[f,y]=u(!1),m=w(null),g=typeof i==="string"?i:i?.toString()??"";if(s)return t(wn,{delayDuration:d,children:o(vn,{open:f,onOpenChange:(x)=>{if(x)if(m.current&&m.current.scrollWidth>m.current.clientWidth)y(!0);else y(!1);else y(!1)},children:[t(xn,{asChild:!0,children:t("span",{ref:m,className:E("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:n,onMouseDown:r,children:g})}),f&&t(Sn,{side:l,className:"max-w-md break-all text-wrap [text-wrap:normal] text-left",children:g})]})});return t(H,{ref:p,value:i,tabIndex:0,className:E("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:(x)=>{x.stopPropagation(),n?.(x)},onMouseDown:(x)=>{x.stopPropagation(),r?.(x)},...c})});Rn.displayName="EditableText";C();var So=({item:e,showDuration:n=!1})=>{let r=e.preview?.proxyType||e.proxyType,s=r==="video",i=r==="audio",a=r==="pdf",l=s||i,d=e.preview?.duration,c=e.preview?.pageCount,p=n&&l&&typeof d==="number"&&d>0?t("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:Ta(d)}):n&&a&&typeof c==="number"&&c>0?o("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((s||a)&&e.preview?.spriteUrl&&e.preview.thumbnailUrl&&e.preview.originalWidth&&e.preview.originalHeight&&e.preview)return o(B,{children:[t(Zd,{spriteUrl:e.preview.spriteUrl,thumbnailUrl:e.preview.thumbnailUrl,videoWidth:e.preview.originalWidth,videoHeight:e.preview.originalHeight}),p]});if(e.preview?.thumbnailUrl)return o(B,{children:[t("img",{src:e.preview.thumbnailUrl,alt:"Preview",className:"w-full h-full object-contain bg-black"}),p]});if(i)return o(B,{children:[t("div",{className:"w-full h-full flex items-center justify-center bg-zinc-950",children:t(Wo,{className:"w-8 h-8 text-zinc-500"})}),p]});if(!e.type)return t("div",{className:"w-full h-full flex items-center justify-center bg-linear-to-t from-black/5 to-black/0",children:t(er,{className:"w-8 h-8 fill-primary/60 stroke-0"})});return t("div",{className:"w-full h-full flex items-center justify-center",children:t(Xt,{className:"w-8 h-8 fill-primary/60 stroke-0"})})};function Xc({teamId:e,item:n,isSelected:r,isChecked:s,isEditing:i,onSelect:a,onDoubleClick:l,onContextMenu:d,onDragStart:c,onDrop:p,onRename:f,onFinishEditing:y,onSaveField:m,dragState:g,disabled:x,onAction:b,isRecentlyDeleted:F,isRecents:k,selectedCount:j,fields:G,isShareView:X,canEdit:J=!0,allowDownload:re=!0}){let[xe,ee]=u(n.name),Oe=w(null),[_,Ce]=u(!1),ye=w(null),fe=dn((P)=>P.fileProgress[n.id||""]),ae=fe?fe.total>0?fe.loaded/fe.total*100:0:0,He=(n.type==="file"||n.type==="version_stack")&&!!e&&(n.status==="uploading"||n.status==="uploaded"||n.status==="processing"),{data:Ge}=Z({queryKey:["file",e,n.id],queryFn:async()=>{let P=await A.api.files[":fileId"].$get({param:{fileId:n.id||""}});if(!P.ok)throw Error("failed to fetch file");return await P.json()},enabled:He,refetchInterval:(P)=>P.state.data?.status==="processed"?!1:1000}),te=O(()=>{if(n.status==="processed"||n.status==="error")return n;if(Ge?.status==="processed"||Ge?.status==="error")return Ge;return Ge||n},[n,Ge]),{ref:Ye,isDragging:lt}=gs({id:`browser:${te.id}`,data:{type:te.type,id:te.id,item:te},disabled:x}),{ref:Fe,isDropTarget:je}=Pr({id:`browser:${te.id}`,data:{type:te.type,id:te.id,item:te}}),ct=(P)=>{Ye(P),Fe(P)},Ne=lt||(g?.draggedIds.has(te.id)??!1),Ve=O(()=>{if(!g?.isActive)return!1;if(g.draggedIds.has(te.id))return!1;return g.isSingleFile},[g,te.id]),it=je&&Ve,Rt=Ne?0.5:1,Ft=O(()=>(te.fieldValues||[]).reduce((P,Q)=>(P[Q.fieldId]=Q,P),{}),[te.fieldValues]);h(()=>{if(i){let P=setTimeout(()=>{if(Oe.current)As(Oe.current)},150);return()=>clearTimeout(P)}},[i]),h(()=>{ee(te.name)},[te.name]);let oe=(P)=>{a(te,P)},pt=()=>{if(xe!==te.name)f(xe||"");y()},_e=(P)=>{if(P.key==="Enter")pt();if(P.key==="Escape")ee(te.name||""),y()},Se=O(()=>{if(!te.createdAt)return"";return J0({time:En(te.createdAt),author:te.agent?jc({user:te.creator?.name||Cl(),agent:te.agent.name}):te.creator?.name||Cl()})},[te.createdAt,te.agent,te.creator?.name]);return o("div",{ref:ct,style:{opacity:Rt},onClick:oe,onDoubleClick:()=>l(te),onContextMenu:(P)=>d(P,te),onMouseDown:(P)=>{if(P.shiftKey)P.preventDefault()},"data-testid":"file-card",className:E("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",(r||s)&&"outline-1 outline-primary border-primary",it&&"border-primary outline-1 outline-primary"),children:[t("div",{className:"absolute left-2 top-2 z-10",children:t(Nr,{checked:s,onCheckedChange:()=>{},onClick:(P)=>{P.stopPropagation(),a(te,P)},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"})}),o("div",{className:"absolute right-2 top-2 z-10 flex items-center gap-1.5",children:[te.agent&&t("span",{className:"select-none rounded bg-black/60 px-1 py-0.5 text-xs font-medium text-white",title:te.agent.name,"data-testid":"agent-badge",children:"AI"}),te.versionStack&&o(be,{children:["v",te.versionStack.versions.find((P)=>P.id===te.id)?.version??te.versionStack.versions.length]})]}),t("div",{className:"relative aspect-square overflow-hidden bg-muted/30",children:te.status==="uploading"||te.status==="processing"||te.status==="uploaded"||te.status==="error"?o("div",{className:"flex h-full w-full items-center justify-center bg-background/50",children:[te.status!=="error"&&t(de,{className:"absolute inset-0 h-full w-full"}),te.status==="uploading"?t(ii,{progress:ae,className:"w-16 h-16 z-10"}):t("span",{className:E("z-10 font-medium px-2 text-center text-sm",te.status==="error"?"text-destructive font-semibold":"text-muted-foreground capitalize"),children:te.status==="uploaded"?"Processing":te.status==="error"?"Failed to upload":te.status})]}):o(B,{children:[t(So,{item:te,showDuration:!0}),typeof te.commentsCount==="number"&&te.commentsCount>0&&o("span",{"data-testid":"file-card-comments-count",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:[t(_a,{className:"h-3.5 w-3.5"}),t("span",{children:te.commentsCount})]})]})}),o("div",{className:"flex items-center justify-between gap-2 p-3",children:[o("div",{className:"min-w-0 flex-1",children:[t(Rn,{ref:Oe,value:xe,onChange:(P)=>ee(P.target.value),onBlur:pt,onKeyDown:_e,disabled:!i,className:"h-auto p-0 text-sm font-medium text-foreground truncate !bg-transparent"}),t(wn,{delayDuration:100,children:o(vn,{open:_,onOpenChange:(P)=>{if(P)if(ye.current&&(ye.current.scrollHeight>ye.current.clientHeight||ye.current.scrollWidth>ye.current.clientWidth))Ce(!0);else Ce(!1);else Ce(!1)},children:[t(xn,{asChild:!0,children:t("p",{ref:ye,className:"text-sm text-muted-foreground line-clamp-2 h-[2lh]",children:Se})}),_&&t(Sn,{side:"bottom",className:"max-w-md break-all text-wrap [text-wrap:normal] text-left",children:Se})]})})]}),!k&&o(he,{modal:!1,children:[t(ge,{asChild:!0,children:t(S,{size:"icon-sm",variant:"ghost",className:"cursor-pointer",onClick:(P)=>P.stopPropagation(),children:t(rr,{className:"h-4 w-4 text-foreground"})})}),t(Ae,{align:"end",children:X?o(B,{children:[re&&o(K,{onClick:(P)=>{P.stopPropagation(),b?.("download",n)},children:[t(gt,{className:"mr-2 h-4 w-4"}),t("span",{children:fr()})]}),J&&o(K,{onClick:(P)=>{P.stopPropagation(),b?.("remove-from-share",n)},className:"text-destructive",children:[t(ve,{className:"mr-2 h-4 w-4"}),t("span",{children:mp()})]})]}):F?o(K,{onClick:(P)=>{P.stopPropagation(),b?.("restore",n)},children:[t(bn,{className:"mr-2 h-4 w-4"}),t("span",{children:hp()})]}):o(B,{children:[J&&(!s||(j||0)<=1)&&o(K,{onClick:(P)=>{P.stopPropagation(),b?.("rename",n)},children:[t(Hr,{className:"mr-2 h-4 w-4"}),t("span",{children:No()})]}),J&&n.type==="version_stack"&&o(K,{onClick:(P)=>{P.stopPropagation(),b?.("manage-versions",n)},children:[t(xo,{className:"mr-2 h-4 w-4"}),t("span",{children:Uf()})]}),re&&o(K,{onClick:(P)=>{P.stopPropagation(),b?.("download",n)},children:[t(gt,{className:"mr-2 h-4 w-4"}),t("span",{children:fr()})]}),J&&o(B,{children:[t(Qt,{}),o(K,{onClick:(P)=>{P.stopPropagation(),b?.("delete",n)},className:"text-destructive",children:[t(ve,{className:"mr-2 h-4 w-4"}),t("span",{children:at()})]})]})]})})]})]}),G&&G.length>0&&t("div",{className:"space-y-2 border-t p-1 pt-3 mx-2",children:G.map((P)=>{let Q=P.config?.type?ai[P.config.type]:null;return o("div",{className:"space-y-1 bg-muted/50 p-1 rounded border",children:[o("label",{className:"text-xs text-muted-foreground tracking-wide flex items-center gap-1",children:[Q&&t(Q,{className:"h-3.5 w-3.5 text-muted-foreground shrink-0"}),t("span",{children:P.config?.name})]}),t("div",{className:"min-h-[28px]",children:t(_s,{fieldId:P.id,config:P.config,value:Ft[P.id]?.value,onSave:J&&!k?(I)=>m(P.id,I):void 0,readOnly:P.readOnly||!J||!!k})})]},P.id)})})]})}C();function $a({teamId:e,item:n,isSelected:r,isChecked:s,isEditing:i,onSelect:a,onDoubleClick:l,onContextMenu:d,onDragStart:c,onDrop:p,onRename:f,onFinishEditing:y,onSaveField:m,dragState:g,disabled:x,fields:b,columnSizing:F,canEdit:k=!0,isRecents:j}){let[G,X]=u(n.name),J=w(null),re=dn((Fe)=>Fe.fileProgress[n.id||""]),xe=re?re.total>0?re.loaded/re.total*100:0:0,ee=(n.type==="file"||n.type==="version_stack")&&!!e&&(n.status==="uploading"||n.status==="uploaded"||n.status==="processing"),{data:Oe}=Z({queryKey:["file",e,n.id],queryFn:async()=>{let Fe=await A.api.files[":fileId"].$get({param:{fileId:n.id||""}});if(!Fe.ok)throw Error("failed to fetch file");return await Fe.json()},enabled:ee,refetchInterval:(Fe)=>Fe.state.data?.status==="processed"?!1:1000}),_=O(()=>{if(n.status==="processed"||n.status==="error")return n;if(Oe?.status==="processed"||Oe?.status==="error")return Oe;return Oe||n},[n,Oe]),{ref:Ce,isDragging:ye}=gs({id:`browser:${_.id}`,data:{type:_.type,id:_.id,item:_},disabled:x}),ae=ye||(g?.draggedIds.has(_.id)??!1)?0.5:1,He=O(()=>(_.fieldValues||[]).reduce((Fe,je)=>(Fe[je.fieldId]=je,Fe),{}),[_.fieldValues]);h(()=>{if(i){let Fe=setTimeout(()=>{if(J.current)As(J.current)},150);return()=>clearTimeout(Fe)}},[i]),h(()=>{X(_.name)},[_.name]);let Ge=(Fe)=>{if(!Fe)return"-";return new Date(Fe).toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"})},te=(Fe)=>{a(_,Fe)},Ye=()=>{if(G!==_.name)f(G||"");y()},lt=(Fe)=>{if(Fe.key==="Enter")Ye();if(Fe.key==="Escape")X(_.name||""),y()};return o("div",{ref:Ce,style:{opacity:ae},onClick:te,onDoubleClick:()=>l(_),onContextMenu:(Fe)=>d(Fe,_),onMouseDown:(Fe)=>{if(Fe.shiftKey)Fe.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:[t("div",{className:E("px-4 py-2 sticky left-0 z-10 transition-colors border-r shrink-0",r||s?"bg-muted":"bg-card group-hover:bg-muted"),style:{width:F?.name||300,minWidth:F?.name||300},children:o("div",{className:"flex items-center gap-2 overflow-hidden",children:[t(Nr,{checked:s,onCheckedChange:()=>{},onClick:(Fe)=>{Fe.stopPropagation(),a(_,Fe)},className:"h-4 w-4 shrink-0 data-[state=checked]:bg-primary data-[state=checked]:border-primary"}),t("div",{className:"w-8 h-8 shrink-0 flex items-center justify-center bg-muted rounded overflow-hidden",children:_.status==="uploading"?t(ii,{progress:xe,className:"w-7 h-7"}):_.preview?.thumbnailUrl?t("img",{src:_.preview.thumbnailUrl,alt:"",className:"w-full h-full object-cover"}):_.preview?.proxyType==="audio"||_.proxyType==="audio"?t(Wo,{className:"h-4 w-4 text-muted-foreground"}):_.type==="folder"?t(er,{className:"h-4 w-4 text-primary"}):t(Xt,{className:"h-4 w-4 text-muted-foreground"})}),t(Rn,{ref:J,value:G,onChange:(Fe)=>X(Fe.target.value),onBlur:Ye,onKeyDown:lt,disabled:!i,className:"h-auto p-0 text-sm font-medium text-foreground truncate min-w-0 flex-1"}),_.status==="error"&&t("span",{className:"text-xs text-destructive font-semibold shrink-0",children:"(Failed to upload)"}),_.agent&&t("span",{className:"select-none rounded bg-black/60 px-1 py-0.5 text-xs font-medium text-white shrink-0",title:_.agent.name,"data-testid":"agent-badge",children:"AI"}),_.versionStack&&o(be,{variant:"outline",className:"px-1 py-0 text-xs shrink-0",children:["v",_.versionStack.versions.find((Fe)=>Fe.id===_.id)?.version??_.versionStack.versions.length]})]})}),t("div",{className:"px-4 py-2 text-sm text-muted-foreground truncate border-r shrink-0 flex items-center",style:{width:F?.size||100,minWidth:F?.size||100},children:_.type==="folder"?"-":_.sizeByte?Vr(_.sizeByte):"-"}),t("div",{className:"px-4 py-2 border-r shrink-0 flex items-center",style:{width:F?.modified||200,minWidth:F?.modified||200},children:o("div",{className:"flex items-center justify-between overflow-hidden w-full",children:[t("span",{className:"text-sm text-muted-foreground truncate",children:Ge(_.updatedAt)}),!j&&t("button",{onClick:(Fe)=>{Fe.stopPropagation();let je=Fe.target.getBoundingClientRect(),ct=new MouseEvent(Fe.nativeEvent.type,{bubbles:!0,cancelable:!0,clientX:je.left,clientY:je.bottom});d(ct,_)},className:"opacity-0 shrink-0 transition-opacity group-hover:opacity-100 ml-2",children:t(wr,{className:"h-4 w-4 text-muted-foreground hover:text-foreground"})})]})}),_.type==="file"&&b.map((Fe)=>t("div",{className:"px-4 py-2 truncate border-r shrink-0 flex items-center",style:{width:F?.[Fe.id]||150,minWidth:F?.[Fe.id]||150},children:t(_s,{fieldId:Fe.id,config:Fe.config,value:He[Fe.id]?.value,onSave:k&&!j?(je)=>m(Fe.id,je):void 0,readOnly:Fe.readOnly||!k||!!j})},Fe.id))]})}C();var vc=({items:e})=>{let n=e,r=n?n.slice(0,3):[],s=r.length,i=(a)=>{if(!a)return null;return t(So,{item:a})};if(s===0)return t("div",{});if(s===1)return t("div",{className:"w-full h-full bg-foreground/6 rounded-sm",children:i(r[0])});if(s===2)return o("div",{className:"grid grid-cols-2 gap-0.5 h-full w-full",children:[t("div",{className:"overflow-hidden h-full bg-foreground/6 rounded-sm",children:i(r[0])}),t("div",{className:"overflow-hidden h-full bg-foreground/6 rounded-sm",children:i(r[1])})]});return o("div",{className:"grid grid-cols-3 gap-0.5 h-full w-full",children:[t("div",{className:"col-span-1 overflow-hidden h-full relative bg-foreground/6 rounded-sm col-span-2",children:t("div",{className:"absolute inset-0 w-full h-full",children:i(r[0])})}),o("div",{className:"col-span-1 grid grid-rows-2 gap-0.5 h-full col-span-1",children:[t("div",{className:"overflow-hidden h-full relative bg-foreground/6 rounded-sm",children:t("div",{className:"absolute inset-0 w-full h-full",children:i(r[1])})}),t("div",{className:"overflow-hidden h-full relative bg-foreground/6 rounded-sm",children:t("div",{className:"absolute inset-0 w-full h-full",children:i(r[2])})})]})]})};function eu({item:e,isSelected:n,isChecked:r,isEditing:s,onSelect:i,onDoubleClick:a,onContextMenu:l,onDragStart:d,onDrop:c,onRename:p,onFinishEditing:f,dragState:y,disabled:m,onAction:g,isRecentlyDeleted:x,isRecents:b,selectedCount:F,canEdit:k=!0,isShareView:j,isExternalDragging:G,externalOverFolderId:X,setExternalOverFolderId:J,resetExternalDragState:re,onExternalDrop:xe,allowDownload:ee=!0}){let[Oe,_]=u(e.name||""),Ce=w(null),{ref:ye,isDragging:fe}=gs({id:`browser:${e.id}`,data:{type:"folder",id:e.id,item:e},disabled:m}),{ref:ae,isDropTarget:He}=Pr({id:`browser:${e.id}`,data:{type:"folder",id:e.id,item:e}}),Ge=(_e)=>{ye(_e),ae(_e)},te=fe||(y?.draggedIds.has(e.id)??!1),Ye=O(()=>{if(!y?.isActive)return!1;if(y.draggedIds.has(e.id))return!1;return!0},[y,e.id]),lt=G&&X===e.id,Fe=He&&Ye||lt,je=te?0.5:1;h(()=>{if(s){let _e=setTimeout(()=>{Ce.current?.focus(),Ce.current?.select()},150);return()=>clearTimeout(_e)}},[s]),h(()=>{_(e.name||"")},[e.name]);let ct=(_e)=>{i(e,_e)},Ne=()=>{if(Oe!==e.name)p(Oe||"");f()},Ve=(_e)=>{if(_e.key==="Enter")Ne();if(_e.key==="Escape")_(e.name||""),f()},it=300,Rt=220,Ft=8,oe={cornerRadius:4,tabRadius:5,tabSlope:15,tabBaseWidth:120},pt=O(()=>{let{cornerRadius:_e,tabRadius:Se,tabSlope:P,tabBaseWidth:Q}=oe,I=1;return`M 1, ${Ft+1} L 1, ${1+Se} A ${Se} ${Se} 0 0 1 ${1+Se} 1 L ${Q-P+1-Se} 1 Q ${Q-P+1} 1 ${Q-P+1} 1 L ${Q+1} ${Ft+1} L ${it-_e-1} ${Ft+1} A ${_e} ${_e} 0 0 1 ${it-1} ${Ft+_e+1} L ${it-1} ${Rt-_e-1} A ${_e} ${_e} 0 0 1 ${it-_e-1} ${Rt-1} L ${_e+1} ${Rt-1} A ${_e} ${_e} 0 0 1 1 ${Rt-_e-1} Z`.replace(/\s+/g," ").trim()},[]);return o("div",{ref:Ge,style:{opacity:je},onClick:ct,onDoubleClick:()=>a(e),onContextMenu:(_e)=>l(_e,e),onMouseDown:(_e)=>{if(_e.shiftKey)_e.preventDefault()},onDragEnter:G?()=>{J?.(e.id)}:void 0,onDragLeave:G?(_e)=>{if(!_e.currentTarget.contains(_e.relatedTarget))J?.(null)}:void 0,onDragOver:G?(_e)=>{_e.preventDefault()}:void 0,onDrop:G?async(_e)=>{_e.preventDefault(),_e.stopPropagation(),re?.();let Se=await Ui(_e.dataTransfer);xe?.(Se,e.id)}:void 0,"data-testid":"file-card",className:E("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:[t("div",{className:"absolute inset-0 z-10 pointer-events-none",children:t("svg",{width:"100%",height:"100%",viewBox:`0 0 ${it} ${Rt}`,preserveAspectRatio:"none",className:"overflow-visible",children:t("path",{d:pt,vectorEffect:"non-scaling-stroke",strokeLinejoin:"round",strokeWidth:Fe||n?2:1,className:E("transition-colors duration-200 fill-none group-hover:stroke-primary stroke-foreground/10",(n||r||Fe)&&"stroke-primary")})})}),t("div",{className:"absolute inset-0 -z-10 pointer-events-none",children:t("svg",{width:"100%",height:"100%",viewBox:`0 0 ${it} ${Rt}`,preserveAspectRatio:"none",className:"overflow-visible",children:t("path",{d:pt,vectorEffect:"non-scaling-stroke",strokeLinejoin:"round",strokeWidth:Fe?3:1,className:E("transition-colors duration-200 fill-foreground/6 dark:fill-foreground/4")})})}),o("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:[o("div",{className:"relative w-full aspect-video shrink-0 overflow-hidden",children:[t("div",{className:"absolute top-1 left-1 z-30 transition-all duration-200",children:t(Nr,{checked:r,onClick:(_e)=>_e.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&&t(vc,{items:e.latestChildren})]}),o("div",{className:"flex flex-col gap-1 mt-2 px-1",children:[t(Rn,{ref:Ce,value:Oe||"",onChange:(_e)=>_(_e.target.value),onBlur:Ne,onKeyDown:Ve,disabled:!s,className:"h-auto p-0 text-sm font-medium text-foreground truncate !bg-transparent"}),o("div",{className:"flex items-center justify-between text-muted-foreground",children:[t("span",{className:"text-xs tracking-wide opacity-80",children:(e.fileCount||0)===1?Dh({count:e.fileCount||0}):Oh({count:e.fileCount||0})}),!b&&o(he,{modal:!1,children:[t(ge,{asChild:!0,children:t("button",{onClick:(_e)=>_e.stopPropagation(),className:"p-1.5 -mr-2 rounded-full hover:bg-muted text-muted-foreground hover:text-foreground transition-colors cursor-pointer",children:t(rr,{size:18})})}),t(Ae,{align:"end",children:j?o(B,{children:[ee&&o(K,{onClick:(_e)=>{_e.stopPropagation(),g?.("download",e)},children:[t(gt,{className:"mr-2 h-4 w-4"}),t("span",{children:fr()})]}),k&&o(K,{onClick:(_e)=>{_e.stopPropagation(),g?.("remove-from-share",e)},className:"text-destructive",children:[t(ve,{className:"mr-2 h-4 w-4"}),t("span",{children:mp()})]})]}):x?o(K,{onClick:(_e)=>{_e.stopPropagation(),g?.("restore",e)},children:[t(bn,{className:"mr-2 h-4 w-4"}),t("span",{children:hp()})]}):o(B,{children:[k&&(!r||(F||0)<=1)&&o(K,{onClick:(_e)=>{_e.stopPropagation(),g?.("rename",e)},children:[t(Hr,{className:"mr-2 h-4 w-4"}),t("span",{children:No()})]}),ee&&o(K,{onClick:(_e)=>{_e.stopPropagation(),g?.("download",e)},children:[t(gt,{className:"mr-2 h-4 w-4"}),t("span",{children:fr()})]}),k&&o(B,{children:[t(Qt,{}),o(K,{onClick:(_e)=>{_e.stopPropagation(),g?.("delete",e)},className:"text-destructive",children:[t(ve,{className:"mr-2 h-4 w-4"}),t("span",{children:at()})]})]})]})})]})]})]})]})]})}C();function za(e,n,r){let s=Array(e);return new Proxy(s,{get(i,a,l){if(typeof a==="string"){let d=a.charCodeAt(0);if(d>=48&&d<=57){let c=+a;if(Number.isInteger(c)&&c>=0&&c<e){let p=i[c];if(!p){let f=n[c*2];p=i[c]={index:c,key:r(c),start:f,size:n[c*2+1],end:f+n[c*2+1],lane:0}}return p}}if(a==="length")return e}return Reflect.get(i,a,l)}})}function In(e,n,r){let s=r.initialDeps??[],i,a=!0;function l(){var d;let c=!1,p=0,f=e();if(!(f.length!==s.length||f.some((g,x)=>s[x]!==g)))return i;s=f;let m=0;if(i=n(...f),(r==null?void 0:r.onChange)&&!(a&&r.skipInitialOnChange))r.onChange(i);return a=!1,i}return l.updateDeps=(d)=>{s=d},l}function Lr(e,n){if(e===void 0)throw Error(`Unexpected undefined${n?`: ${n}`:""}`);else return e}var La=(e,n)=>Math.abs(e-n)<1.01,Ua=(e,n,r)=>{let s;return Object.assign(function(...i){e.clearTimeout(s),s=e.setTimeout(()=>n.apply(this,i),r)},{cancel:()=>{e.clearTimeout(s)}})};var to,jr=()=>{if(to!==void 0)return to;if(typeof navigator>"u")return to=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return to=!0;let e=navigator.maxTouchPoints;return to=navigator.platform==="MacIntel"&&e!==void 0&&e>0};var ja=(e)=>{let{offsetWidth:n,offsetHeight:r}=e;return{width:n,height:r}},wc=(e)=>e,yc=(e)=>{let n=Math.max(e.startIndex-e.overscan,0),s=Math.min(e.endIndex+e.overscan,e.count-1)-n+1,i=Array(s);for(let a=0;a<s;a++)i[a]=n+a;return i},Va=(e,n)=>{let r=e.scrollElement;if(!r)return;let s=e.targetWindow;if(!s)return;let i=(l)=>{let{width:d,height:c}=l;n({width:Math.round(d),height:Math.round(c)})};if(i(ja(r)),!s.ResizeObserver)return()=>{};let a=new s.ResizeObserver((l)=>{let d=()=>{let c=l[0];if(c==null?void 0:c.borderBoxSize){let p=c.borderBoxSize[0];if(p){i({width:p.inlineSize,height:p.blockSize});return}}i(ja(r))};e.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(d):d()});return a.observe(r,{box:"border-box"}),()=>{a.unobserve(r)}},Co={passive:!0};var xc=typeof window>"u"?!0:("onscrollend"in window),bc=(e,n,r)=>{let s=e.scrollElement;if(!s)return;let i=e.targetWindow;if(!i)return;let a=e.options.useScrollendEvent&&xc,l=0,d=a?null:Ua(i,()=>n(l,!1),e.options.isScrollingResetDelay),c=(y)=>()=>{l=r(s),d==null||d(),n(l,y)},p=c(!0),f=c(!1);if(s.addEventListener("scroll",p,Co),a)s.addEventListener("scrollend",f,Co);return()=>{if(s.removeEventListener("scroll",p),a)s.removeEventListener("scrollend",f);d==null||d.cancel()}},qa=(e,n)=>bc(e,n,(r)=>{let{horizontal:s,isRtl:i}=e.options;return s?r.scrollLeft*(i&&-1||1):r.scrollTop});var Sc=(e,n,r)=>{if(r.options.useCachedMeasurements){let s=r.indexFromElement(e),i=r.options.getItemKey(s);return r.itemSizeCache.get(i)??r.options.estimateSize(s)}if(n==null?void 0:n.borderBoxSize){let s=n.borderBoxSize[0];if(s)return Math.round(s[r.options.horizontal?"inlineSize":"blockSize"])}if(!n){let s=r.indexFromElement(e),i=r.options.getItemKey(s),a=r.itemSizeCache.get(i);if(a!==void 0)return a}return e[r.options.horizontal?"offsetWidth":"offsetHeight"]},Cc=(e,{adjustments:n=0,behavior:r},s)=>{var i,a;(a=(i=s.scrollElement)==null?void 0:i.scrollTo)==null||a.call(i,{[s.options.horizontal?"left":"top"]:e+n,behavior:r})};var Ba=Cc;class qr{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 n,r,s;return((s=(r=(n=this.targetWindow)==null?void 0:n.performance)==null?void 0:r.now)==null?void 0:s.call(r))??Date.now()},this.observer=(()=>{let n=null,r=()=>{if(n)return n;if(!this.targetWindow||!this.targetWindow.ResizeObserver)return null;return n=new this.targetWindow.ResizeObserver((s)=>{s.forEach((i)=>{let a=()=>{let l=i.target,d=this.indexFromElement(l);if(!l.isConnected){this.observer.unobserve(l);for(let[c,p]of this.elementsCache)if(p===l){this.elementsCache.delete(c);break}return}if(!this.isIndexInRange(d))return;if(this.shouldMeasureDuringScroll(d))this.resizeItem(d,this.options.measureElement(l,i,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(a):a()})})};return{disconnect:()=>{var s;(s=r())==null||s.disconnect(),n=null},observe:(s)=>{var i;return(i=r())==null?void 0:i.observe(s,{box:"border-box"})},unobserve:(s)=>{var i;return(i=r())==null?void 0:i.unobserve(s)}}})(),this.range=null,this.setOptions=(n)=>{var r,s;let i={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:wc,rangeExtractor:yc,onChange:()=>{},measureElement:Sc,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 y in n){let m=n[y];if(m!==void 0)i[y]=m}let a=this.options,l=null,d=null,c=!1;if(a!==void 0&&a.enabled&&i.enabled&&i.anchorTo==="end"&&this.scrollElement!==null){let y=a.count,m=i.count,g=this.getMeasurements(),x=y>0?((r=g[0])==null?void 0:r.key)??a.getItemKey(0):null,b=y>0?((s=g[y-1])==null?void 0:s.key)??a.getItemKey(y-1):null;if(m!==y||y>0&&m>0&&(i.getItemKey(0)!==x||i.getItemKey(m-1)!==b)){c=!0;let j=y>0?this.getVirtualItemForOffset(this.getScrollOffset())??g[0]:null;if(j)l=[j.key,this.getScrollOffset()-j.start];let G=i.followOnAppend===!0?"auto":i.followOnAppend||null;if(G&&m>y&&this.isAtEnd(a.scrollEndThreshold)&&(y===0||i.getItemKey(m-1)!==b))d=G}}if(this.options=i,c)this.pendingMin=0,this.itemSizeCacheVersion++;let p=!1,f=0;if(l&&this.scrollOffset!==null){let[y,m]=l,g=this.getMeasurements(),{count:x,getItemKey:b}=this.options,F=0;while(F<x&&b(F)!==y)F++;if(F<x){let k=g[F];if(k){let j=Math.max(0,k.start+m);if(j!==this.scrollOffset)f=j-this.scrollOffset,this.scrollOffset=j,p=!0}}}if(p||d)this.pendingScrollAnchor=[p?l[0]:null,p?l[1]:0,d,f]},this.notify=(n)=>{var r,s;(s=(r=this.options).onChange)==null||s.call(r,this,n)},this.maybeNotify=In(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),(n)=>{this.notify(n)},{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((n)=>n()),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 n;let r=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==r){if(this.cleanup(),!r){this.maybeNotify();return}if(this.scrollElement=r,this.scrollElement&&"ownerDocument"in this.scrollElement)this.targetWindow=this.scrollElement.ownerDocument.defaultView;else this.targetWindow=((n=this.scrollElement)==null?void 0:n.window)??null;if(this.elementsCache.forEach((i)=>{this.observer.observe(i)}),this.unsubs.push(this.options.observeElementRect(this,(i)=>{this.scrollRect=i,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(i,a)=>{if(a&&this._intendedScrollOffset===null&&i===this.scrollOffset)return;if(this._intendedScrollOffset!==null&&Math.abs(i-this._intendedScrollOffset)<1.5)i=this._intendedScrollOffset;this._intendedScrollOffset=null,this.scrollAdjustments=0;let l=this.getScrollOffset();if(this.scrollDirection=a?l===i?this.scrollDirection:l<i?"forward":"backward":null,this.scrollOffset=i,this.isScrolling=a,this._flushIosDeferredIfReady(),this.scrollState)this.scheduleScrollReconcile();this.maybeNotify()})),"addEventListener"in this.scrollElement){let i=this.scrollElement,a=()=>{if(this._iosTouching=!0,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId!==null&&this.targetWindow!=null)this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null},l=()=>{if(this._iosTouching=!1,!jr()||this.targetWindow==null)return;this._iosJustTouchEnded=!0,this._iosTouchEndTimerId=this.targetWindow.setTimeout(()=>{this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._flushIosDeferredIfReady()},150)};i.addEventListener("touchstart",a,Co),i.addEventListener("touchend",l,Co),this.unsubs.push(()=>{if(i.removeEventListener("touchstart",a),i.removeEventListener("touchend",l),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 s=this.pendingScrollAnchor;if(this.pendingScrollAnchor=null,s&&this.scrollElement&&this.options.enabled){let[i,a,l,d]=s;if(i!==null&&!l)if(jr()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)){if(d!==0)this._iosDeferredAdjustment+=d}else this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0});if(l)this.scrollToEnd({behavior:l})}},this._flushIosDeferredIfReady=()=>{if(this._iosDeferredAdjustment===0)return;if(this.isScrolling)return;if(this._iosTouching)return;if(this._iosJustTouchEnded)return;let n=this.getScrollOffset(),r=this.getMaxScrollOffset();if(n<0||n>r)return;if(this._iosDeferredAdjustment<0&&n>=r-1){this._iosDeferredAdjustment=0;return}let s=this._iosDeferredAdjustment;this._iosDeferredAdjustment=0,this._scrollToOffset(n,{adjustments:this.scrollAdjustments+=s,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=In(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode,this.options.gap],(n,r,s,i,a,l,d,c)=>{if(this.prevLanes!==void 0&&this.prevLanes!==l)this.lanesChangedFlag=!0;return this.prevLanes=l,this.pendingMin=null,{count:n,paddingStart:r,scrollMargin:s,getItemKey:i,enabled:a,lanes:l,laneAssignmentMode:d,gap:c}},{key:!1}),this.isIndexInRange=(n)=>n>=0&&n<this.options.count,this.getMeasurements=In(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:n,paddingStart:r,scrollMargin:s,getItemKey:i,enabled:a,lanes:l,laneAssignmentMode:d,gap:c},p)=>{let f=this.itemSizeCache;if(!a)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>n){for(let F of this.laneAssignments.keys())if(F>=n)this.laneAssignments.delete(F)}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((F)=>{this.itemSizeCache.set(F.key,F.size)});let y=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===n)this.lanesSettling=!1;if(l===1){let F=n*2,k=this._flatMeasurements;if(!k||k.length<F){let X=new Float64Array(F);if(k&&y>0)X.set(k.subarray(0,y*2));k=X,this._flatMeasurements=k}let j;if(y===0)j=r+s;else{let X=y-1;j=k[X*2]+k[X*2+1]+c}for(let X=y;X<n;X++){let J=i(X),re=f.get(J),xe=typeof re==="number"?re:this.options.estimateSize(X);k[X*2]=j,k[X*2+1]=xe,j+=xe+c}let G=za(n,k,i);return this.measurementsCache=G,G}let m=this.measurementsCache.slice(0,y),g=Array(l).fill(void 0),x=new Float64Array(l),b=0;for(let F=0;F<y;F++){let k=m[F];if(k){if(g[k.lane]===void 0)b++;g[k.lane]=F,x[k.lane]=k.end}}for(let F=y;F<n;F++){let k=i(F),j=this.laneAssignments.get(F),G,X,J=d==="estimate"||f.has(k);if(j!==void 0&&this.options.lanes>1){G=j;let Oe=g[G],_=Oe!==void 0?m[Oe]:void 0;X=_?_.end+c:r+s}else if(b===l){let Oe=0,_=x[0],Ce=g[0];for(let ye=1;ye<l;ye++){let fe=x[ye];if(fe<_||fe===_&&g[ye]<Ce)Oe=ye,_=fe,Ce=g[ye]}if(G=Oe,X=_+c,J)this.laneAssignments.set(F,G)}else if(G=F%this.options.lanes,X=r+s,J)this.laneAssignments.set(F,G);let re=f.get(k),xe=typeof re==="number"?re:this.options.estimateSize(F),ee=X+xe;if(m[F]={index:F,start:X,size:xe,end:ee,key:k,lane:G},g[G]===void 0)b++;g[G]=F,x[G]=ee}return this.measurementsCache=m,m},{key:!1,debug:()=>this.options.debug}),this.calculateRange=In(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(n,r,s,i)=>{if(n.length===0||r===0)return this.range=null,null;return this.range=_c(n,r,s,i,i===1&&this._flatMeasurements!=null?this._flatMeasurements:null),this.range},{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=In(()=>{let n=null,r=null,s=this.calculateRange();if(s)n=s.startIndex,r=s.endIndex;return this.maybeNotify.updateDeps([this.isScrolling,n,r]),[this.options.rangeExtractor,this.options.overscan,this.options.count,n,r]},(n,r,s,i,a)=>i===null||a===null?[]:n({startIndex:i,endIndex:a,overscan:r,count:s}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=(n)=>{let r=this.options.indexAttribute,s=n.getAttribute(r);if(!s)return console.warn(`Missing attribute name '${r}={index}' on measured element.`),-1;return parseInt(s,10)},this.shouldMeasureDuringScroll=(n)=>{var r;if(!this.scrollState||this.scrollState.behavior!=="smooth")return!0;let s=this.scrollState.index??((r=this.getVirtualItemForOffset(this.scrollState.lastTargetOffset))==null?void 0:r.index);if(s!==void 0&&this.range){let i=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),a=Math.max(0,s-i),l=Math.min(this.options.count-1,s+i);return n>=a&&n<=l}return!0},this.measureElement=(n)=>{if(!n){this.elementsCache.forEach((a,l)=>{if(!a.isConnected)this.observer.unobserve(a),this.elementsCache.delete(l)});return}let r=this.indexFromElement(n);if(!this.isIndexInRange(r))return;let s=this.options.getItemKey(r),i=this.elementsCache.get(s);if(i!==n){if(i)this.observer.unobserve(i);this.observer.observe(n),this.elementsCache.set(s,n)}if((!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(r))this.resizeItem(r,this.options.measureElement(n,void 0,this))},this.resizeItem=(n,r)=>{var s,i;if(!this.isIndexInRange(n))return;let a,l,d,c=this._flatMeasurements;if(this.options.lanes===1&&c!==null)d=this.options.getItemKey(n),l=c[n*2],a=c[n*2+1];else{let y=this.measurementsCache[n];if(!y)return;d=y.key,l=y.start,a=y.size}let p=this.itemSizeCache.get(d)??a,f=r-p;if(f!==0){let y=this.options.anchorTo==="end"&&((s=this.scrollState)==null?void 0:s.behavior)!=="smooth"&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,m=y?this.getTotalSize():0,g=this.getScrollOffset()+this.scrollAdjustments,b=!this.itemSizeCache.has(d)?l<g:l+p<=g&&this.scrollDirection!=="backward",F=((i=this.scrollState)==null?void 0:i.behavior)!=="smooth"&&(this.shouldAdjustScrollPositionOnItemSizeChange!==void 0?this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[n]??{index:n,key:d,start:l,size:a,end:l+a,lane:0},f,this):b);if(this.pendingMin===null||n<this.pendingMin)this.pendingMin=n;this.itemSizeCache.set(d,r),this.itemSizeCacheVersion++;let k=!1;if(y)k=this.applyScrollAdjustment(this.getTotalSize()-m);else if(F)k=this.applyScrollAdjustment(f);this.notify(k)}},this.getVirtualItems=In(()=>[this.getVirtualIndexes(),this.getMeasurements()],(n,r)=>{let s=[];for(let i=0,a=n.length;i<a;i++){let l=n[i],d=r[l];s.push(d)}return s},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=(n)=>{let r=this.getMeasurements();if(r.length===0)return;let s=this._flatMeasurements,i=this.options.lanes===1&&s!=null,a=Ha(0,r.length-1,i?(l)=>s[l*2]:(l)=>Lr(r[l]).start,n);return Lr(r[a])},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 n=this.scrollElement.document.documentElement;return this.options.horizontal?n.scrollWidth-this.scrollElement.innerWidth:n.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=(n=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=n,this.getOffsetForAlignment=(n,r,s=0)=>{if(!this.scrollElement)return 0;let i=this.getSize(),a=this.getScrollOffset();if(r==="auto")r=n>=a+i?"end":"start";if(r==="center")n+=(s-i)/2;else if(r==="end")n-=i;let l=this.getMaxScrollOffset();return Math.max(Math.min(l,n),0)},this.getOffsetForIndex=(n,r="auto")=>{n=Math.max(0,Math.min(n,this.options.count-1));let s=this.getSize(),i=this.getScrollOffset(),a=this.measurementsCache[n];if(!a)return;if(r==="auto")if(a.end>=i+s-this.options.scrollPaddingEnd)r="end";else if(a.start<=i+this.options.scrollPaddingStart)r="start";else return[i,r];if(r==="end"&&n===this.options.count-1)return[this.getMaxScrollOffset(),r];let l=r==="end"?a.end+this.options.scrollPaddingEnd:a.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(l,r,a.size),r]},this.scrollToOffset=(n,{align:r="start",behavior:s="auto"}={})=>{this._iosDeferredAdjustment=0;let i=this.getOffsetForAlignment(n,r),a=this.now();this.scrollState={index:null,align:r,behavior:s,startedAt:a,lastTargetOffset:i,stableFrames:0},this._scrollToOffset(i,{adjustments:void 0,behavior:s}),this.scheduleScrollReconcile()},this.scrollToIndex=(n,{align:r="auto",behavior:s="auto"}={})=>{this._iosDeferredAdjustment=0,n=Math.max(0,Math.min(n,this.options.count-1));let i=this.getOffsetForIndex(n,r);if(!i)return;let[a,l]=i,d=this.now();this.scrollState={index:n,align:l,behavior:s,startedAt:d,lastTargetOffset:a,stableFrames:0},this._scrollToOffset(a,{adjustments:void 0,behavior:s}),this.scheduleScrollReconcile()},this.scrollBy=(n,{behavior:r="auto"}={})=>{let s=this.getScrollOffset()+n,i=this.now();this.scrollState={index:null,align:"start",behavior:r,startedAt:i,lastTargetOffset:s,stableFrames:0},this._scrollToOffset(s,{adjustments:void 0,behavior:r}),this.scheduleScrollReconcile()},this.scrollToEnd=({behavior:n="auto"}={})=>{if(this.options.count>0){this.scrollToIndex(this.options.count-1,{align:"end",behavior:n});return}this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior:n})},this.getTotalSize=()=>{var n;let r=this.getMeasurements(),s;if(r.length===0)s=this.options.paddingStart;else if(this.options.lanes===1){let i=r.length-1,a=this._flatMeasurements;if(a!=null)s=a[i*2]+a[i*2+1];else s=((n=r[i])==null?void 0:n.end)??0}else{let i=Array(this.options.lanes).fill(null),a=r.length-1;while(a>=0&&i.some((l)=>l===null)){let l=r[a];if(i[l.lane]===null)i[l.lane]=l.end;a--}s=Math.max(...i.filter((l)=>l!==null))}return Math.max(s-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{let n=[];if(this.itemSizeCache.size===0)return n;let r=this.getMeasurements();for(let s of r)if(s&&this.itemSizeCache.has(s.key))n.push({index:s.index,key:s.key,start:s.start,size:s.size,end:s.end,lane:s.lane});return n},this._scrollToOffset=(n,{adjustments:r,behavior:s})=>{this._intendedScrollOffset=n+(r??0),this.options.scrollToFn(n,{behavior:s,adjustments:r},this)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(e)}applyScrollAdjustment(e,n){if(e===0)return!1;if(jr()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded))return this._iosDeferredAdjustment+=e,!1;else{if(this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=e,behavior:n}),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 n=5000;if(this.now()-this.scrollState.startedAt>n){this.scrollState=null;return}let r=this.scrollState.index!=null?this.getOffsetForIndex(this.scrollState.index,this.scrollState.align):void 0,s=r?r[0]:this.scrollState.lastTargetOffset,i=1,a=s!==this.scrollState.lastTargetOffset;if(!a&&La(s,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=i){if(this.getScrollOffset()!==s)this._scrollToOffset(s,{adjustments:void 0,behavior:"auto"});this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,a){let l=this.getSize()||600,d=Math.abs(s-this.getScrollOffset()),c=this.scrollState.behavior==="smooth"&&d>l;if(this.scrollState.lastTargetOffset=s,!c)this.scrollState.behavior="auto";this._scrollToOffset(s,{adjustments:void 0,behavior:c?"smooth":"auto"})}this.scheduleScrollReconcile()}}var Ha=(e,n,r,s)=>{while(e<=n){let i=(e+n)/2|0,a=r(i);if(a<s)e=i+1;else if(a>s)n=i-1;else return i}if(e>0)return e-1;else return 0};function Ec(e,n,r){let s=0;while(s<=n){let i=(s+n)/2|0,a=e[i*2];if(a<r)s=i+1;else if(a>r)n=i-1;else return i}return s>0?s-1:0}function _c(e,n,r,s,i){let a=e.length-1;if(e.length<=s)return{startIndex:0,endIndex:a};if(s===1&&i!==null){let p=Ec(i,a,r),f=p,y=r+n;while(f<a&&i[f*2]+i[f*2+1]<y)f++;return{startIndex:p,endIndex:f}}let d=Ha(0,a,(p)=>e[p].start,r),c=d;if(s===1)while(c<a&&e[c].end<r+n)c++;else if(s>1){let p=Array(s).fill(0);while(c<a&&p.some((y)=>y<r+n)){let y=e[c];p[y.lane]=y.end,c++}let f=Array(s).fill(r+n);while(d>=0&&f.some((y)=>y>=r)){let y=e[d];f[y.lane]=y.start,d--}d=Math.max(0,d-d%s),c=Math.min(a,c+(s-1-c%s))}return{startIndex:d,endIndex:c}}var Br=typeof document<"u"?Qe:h;function Nc({useFlushSync:e=!0,directDomUpdates:n=!1,directDomUpdatesMode:r="transform",...s}){let i=Ao((f)=>f+1,0)[1],a=w({enabled:n,mode:r,container:null,lastSize:null,lastPositions:new WeakMap,prevRange:null});a.current.enabled=n,a.current.mode=r;let l=(f)=>{let y=a.current;if(!y.enabled||!y.container)return;let m=f.getTotalSize();if(m!==y.lastSize){y.lastSize=m;let g=f.options.horizontal?"width":"height";y.container.style[g]=`${m}px`}},d=(f)=>{let y=a.current;if(!y.enabled||!y.container)return;l(f);let m=!!f.options.horizontal,g=y.mode==="transform",x=m?"left":"top",b=f.options.scrollMargin,F=f.getVirtualItems();for(let k of F){let j=k.start-b,G=f.elementsCache.get(k.key);if(!G)continue;if(y.lastPositions.get(G)===j)continue;if(y.lastPositions.set(G,j),g)G.style.transform=m?`translate3d(${j}px, 0, 0)`:`translate3d(0, ${j}px, 0)`;else G.style[x]=`${j}px`}},c={...s,onChange:(f,y)=>{var m;let g=a.current,x=!0;if(g.enabled){d(f);let b=f.range,F=g.prevRange;if(x=!F||F.isScrolling!==f.isScrolling||F.startIndex!==(b==null?void 0:b.startIndex)||F.endIndex!==(b==null?void 0:b.endIndex),x)g.prevRange=b?{startIndex:b.startIndex,endIndex:b.endIndex,isScrolling:f.isScrolling}:null}if(x)if(e&&y)Ln(i);else i();(m=s.onChange)==null||m.call(s,f,y)}},[p]=u(()=>{let f=new qr(c);return Object.assign(f,{containerRef:(y)=>{let m=a.current;if(m.container=y,m.lastSize=null,y&&m.enabled){let g=f.getTotalSize();m.lastSize=g;let x=f.options.horizontal?"width":"height";y.style[x]=`${g}px`}}})});return p.setOptions(c),Br(()=>p._didMount(),[]),Br(()=>(l(p),p._willUpdate())),Br(()=>{d(p)}),p}function Ro(e){return Nc({observeElementRect:Va,observeElementOffset:qa,scrollToFn:Ba,...e})}C();function Ga({id:e,item:n,position:r,active:s,className:i,dragState:a,isNextItemDragging:l}){let d=a?.draggedIds.has(n.id),c=a?.isActive,{ref:p,isDropTarget:f}=Pr({id:e,data:{type:"reorder",item:n,position:r},disabled:!s||d||!c});if(d||l)return null;return t("div",{ref:p,className:E("absolute top-0 bottom-0 w-4 flex-shrink-0 flex items-center justify-center pointer-events-auto z-50",r==="before"?"-left-2 -translate-x-1/2":"-right-2 translate-x-1/2",i),children:t("div",{className:E("h-full w-[3px] rounded-full transition-colors",f&&s&&!d&&c?"bg-primary":"bg-transparent")})})}function Wa({folders:e,files:n,totalFolders:r,totalFiles:s,renderItem:i,foldersExpanded:a,setFoldersExpanded:l,filesExpanded:d,setFilesExpanded:c,hasNextFoldersPage:p,hasNextFilesPage:f,isFetchingNextFoldersPage:y,isFetchingNextFilesPage:m,fetchNextFoldersPage:g,fetchNextFilesPage:x,formatCount:b,formatSize:F,totalFoldersSize:k,totalFilesSize:j,handleEmptyAreaClick:G,dragState:X,sort:J,scrollContainerRef:re}){let xe=w(null),[ee,Oe]=u(5);h(()=>{let fe=()=>{if(!xe.current)return;let He=xe.current.offsetWidth;if(He<640)Oe(2);else if(He<768)Oe(2);else if(He<1024)Oe(3);else if(He<1280)Oe(4);else Oe(5)};fe();let ae=new ResizeObserver(fe);if(xe.current)ae.observe(xe.current);return()=>ae.disconnect()},[]);let _=O(()=>{let fe=[],ae=r??e.length;if(ae>0){if(fe.push({type:"header",kind:"folder"}),a){let Ge=Math.ceil(ae/ee);for(let te=0;te<Ge;te++)fe.push({type:"row",kind:"folder",rowIndex:te})}}let He=s??n.length;if(He>0){if(fe.push({type:"header",kind:"file"}),d){let Ge=Math.ceil(He/ee);for(let te=0;te<Ge;te++)fe.push({type:"row",kind:"file",rowIndex:te})}}return fe},[a,d,e.length,n.length,r,s,ee]),Ce=Ro({count:_.length,getScrollElement:()=>re.current,estimateSize:(fe)=>_[fe]?.type==="header"?40:350,getItemKey:N((fe)=>{let ae=_[fe];if(!ae)return fe;if(ae.type==="header")return`header-${ae.kind}`;return`row-${ae.kind}-${ae.rowIndex}`},[_]),overscan:5}),ye=Ce.getVirtualItems();return h(()=>{if(ye.length===0)return;for(let fe of ye){let ae=_[fe.index];if(ae?.type==="row"){let He=ae.kind==="folder",Ge=He?e:n,te=ae.rowIndex*ee,Ye=!Ge[te],lt=te>=Ge.length-ee*3;if(He&&p&&!y){if(Ye||lt){g();break}}else if(!He&&f&&!m){if(Ye||lt){x();break}}}}},[ye,_,e.length,n.length,p,f,y,m,g,x,ee]),t("div",{ref:xe,className:"flex-1 p-4 relative",onClick:G,children:t("div",{className:"relative w-full",style:{height:`${Ce.getTotalSize()}px`},children:ye.map((fe)=>{let ae=_[fe.index];if(ae.type==="header"){let lt=ae.kind==="folder",Fe=lt?r??e.length:s??n.length,je=lt?k??-1:j??-1,ct=je>-1,Ne=lt?a:d,Ve=lt?l:c;return t("div",{ref:Ce.measureElement,"data-index":fe.index,className:"absolute top-0 left-0 w-full z-10 bg-background",style:{transform:`translateY(${fe.start}px)`},children:o("button",{onClick:(it)=>{it.stopPropagation(),Ve(!Ne)},className:"mb-3 flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground",children:[Ne?t(we,{className:"h-4 w-4"}):t(ht,{className:"h-4 w-4"}),o("span",{children:[b(Fe,!lt),ct?` • ${F(je)}`:""]})]})},`header-${ae.kind}`)}let He=ae.kind==="folder",Ge=He?e:n,te=ae.rowIndex*ee,Ye=[];for(let lt=0;lt<ee;lt++)Ye.push(Ge[te+lt]);return t("div",{ref:Ce.measureElement,"data-index":fe.index,className:"absolute top-0 left-0 w-full grid gap-4",style:{transform:`translateY(${fe.start}px)`,gridTemplateColumns:`repeat(${ee}, minmax(0, 1fr))`},children:Ye.map((lt,Fe)=>{let je=te+Fe;if(!lt){let ct=He?r??e.length:s??n.length;if(je<ct)return t("div",{className:"aspect-square bg-muted animate-pulse rounded-lg"},`skeleton-${je}`);return t("div",{},`empty-${je}`)}return o("div",{className:"group-reorder relative flex pb-10",children:[t(Ga,{id:`reorder-before-${ae.kind}-${lt.id}`,item:lt,position:"before",active:J?.field==="custom",dragState:X}),t("div",{className:"flex-1 min-w-0",children:i(lt)}),t(Ga,{id:`reorder-after-${ae.kind}-${lt.id}`,item:lt,position:"after",active:J?.field==="custom",dragState:X,isNextItemDragging:Ge[je+1]&&X?.draggedIds.has(Ge[je+1].id)})]},lt.id)})},`row-${ae.kind}-${ae.rowIndex}`)})})})}C();function on(e,n){return typeof e==="function"?e(n):e}function $t(e,n){return(r)=>{n.setState((s)=>({...s,[e]:on(r,s[e])}))}}function Mo(e){return e instanceof Function}function kc(e){return Array.isArray(e)&&e.every((n)=>typeof n==="number")}function Pc(e,n){let r=[],s=(i)=>{i.forEach((a)=>{r.push(a);let l=n(a);if(l!=null&&l.length)s(l)})};return s(e),r}function We(e,n,r){let s=[],i;return(a)=>{let l;if(r.key&&r.debug)l=Date.now();let d=e(a);if(!(d.length!==s.length||d.some((f,y)=>s[y]!==f)))return i;s=d;let p;if(r.key&&r.debug)p=Date.now();if(i=n(...d),r==null||r.onChange==null||r.onChange(i),r.key&&r.debug){if(r!=null&&r.debug()){let f=Math.round((Date.now()-l)*100)/100,y=Math.round((Date.now()-p)*100)/100,m=y/16,g=(x,b)=>{x=String(x);while(x.length<b)x=" "+x;return x};console.info(`%c⏱ ${g(y,5)} /${g(f,5)} ms`,`
|
|
9
|
-
font-size: .6rem;
|
|
10
|
-
font-weight: bold;
|
|
11
|
-
color: hsl(${Math.max(0,Math.min(120-120*m,120))}deg 100% 31%);`,r==null?void 0:r.key)}}return i}}function Ke(e,n,r,s){return{debug:()=>{var i;return(i=e==null?void 0:e.debugAll)!=null?i:e[n]},key:!1,onChange:s}}function Ac(e,n,r,s){let i=()=>{var l;return(l=a.getValue())!=null?l:e.options.renderFallbackValue},a={id:`${n.id}_${r.id}`,row:n,column:r,getValue:()=>n.getValue(s),renderValue:i,getContext:We(()=>[e,r,n,a],(l,d,c,p)=>({table:l,column:d,row:c,cell:p,getValue:p.getValue,renderValue:p.renderValue}),Ke(e.options,"debugCells","cell.getContext"))};return e._features.forEach((l)=>{l.createCell==null||l.createCell(a,r,n,e)},{}),a}function Dc(e,n,r,s){var i,a;let d={...e._getDefaultColumnDef(),...n},c=d.accessorKey,p=(i=(a=d.id)!=null?a:c?typeof String.prototype.replaceAll==="function"?c.replaceAll(".","_"):c.replace(/\./g,"_"):void 0)!=null?i:typeof d.header==="string"?d.header:void 0,f;if(d.accessorFn)f=d.accessorFn;else if(c)if(c.includes("."))f=(m)=>{let g=m;for(let b of c.split(".")){var x;g=(x=g)==null?void 0:x[b]}return g};else f=(m)=>m[d.accessorKey];if(!p)throw Error();let y={id:`${String(p)}`,accessorFn:f,parent:s,depth:r,columnDef:d,columns:[],getFlatColumns:We(()=>[!0],()=>{var m;return[y,...(m=y.columns)==null?void 0:m.flatMap((g)=>g.getFlatColumns())]},Ke(e.options,"debugColumns","column.getFlatColumns")),getLeafColumns:We(()=>[e._getOrderColumnsFn()],(m)=>{var g;if((g=y.columns)!=null&&g.length){let x=y.columns.flatMap((b)=>b.getLeafColumns());return m(x)}return[y]},Ke(e.options,"debugColumns","column.getLeafColumns"))};for(let m of e._features)m.createColumn==null||m.createColumn(y,e);return y}var Nt="debugHeaders";function Ka(e,n,r){var s;let a={id:(s=r.id)!=null?s:n.id,column:n,index:r.index,isPlaceholder:!!r.isPlaceholder,placeholderId:r.placeholderId,depth:r.depth,subHeaders:[],colSpan:0,rowSpan:0,headerGroup:null,getLeafHeaders:()=>{let l=[],d=(c)=>{if(c.subHeaders&&c.subHeaders.length)c.subHeaders.map(d);l.push(c)};return d(a),l},getContext:()=>({table:e,header:a,column:n})};return e._features.forEach((l)=>{l.createHeader==null||l.createHeader(a,e)}),a}var Oc={createTable:(e)=>{e.getHeaderGroups=We(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(n,r,s,i)=>{var a,l;let d=(a=s==null?void 0:s.map((y)=>r.find((m)=>m.id===y)).filter(Boolean))!=null?a:[],c=(l=i==null?void 0:i.map((y)=>r.find((m)=>m.id===y)).filter(Boolean))!=null?l:[],p=r.filter((y)=>!(s!=null&&s.includes(y.id))&&!(i!=null&&i.includes(y.id)));return Fo(n,[...d,...p,...c],e)},Ke(e.options,Nt,"getHeaderGroups")),e.getCenterHeaderGroups=We(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(n,r,s,i)=>(r=r.filter((a)=>!(s!=null&&s.includes(a.id))&&!(i!=null&&i.includes(a.id))),Fo(n,r,e,"center")),Ke(e.options,Nt,"getCenterHeaderGroups")),e.getLeftHeaderGroups=We(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left],(n,r,s)=>{var i;let a=(i=s==null?void 0:s.map((l)=>r.find((d)=>d.id===l)).filter(Boolean))!=null?i:[];return Fo(n,a,e,"left")},Ke(e.options,Nt,"getLeftHeaderGroups")),e.getRightHeaderGroups=We(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.right],(n,r,s)=>{var i;let a=(i=s==null?void 0:s.map((l)=>r.find((d)=>d.id===l)).filter(Boolean))!=null?i:[];return Fo(n,a,e,"right")},Ke(e.options,Nt,"getRightHeaderGroups")),e.getFooterGroups=We(()=>[e.getHeaderGroups()],(n)=>[...n].reverse(),Ke(e.options,Nt,"getFooterGroups")),e.getLeftFooterGroups=We(()=>[e.getLeftHeaderGroups()],(n)=>[...n].reverse(),Ke(e.options,Nt,"getLeftFooterGroups")),e.getCenterFooterGroups=We(()=>[e.getCenterHeaderGroups()],(n)=>[...n].reverse(),Ke(e.options,Nt,"getCenterFooterGroups")),e.getRightFooterGroups=We(()=>[e.getRightHeaderGroups()],(n)=>[...n].reverse(),Ke(e.options,Nt,"getRightFooterGroups")),e.getFlatHeaders=We(()=>[e.getHeaderGroups()],(n)=>n.map((r)=>r.headers).flat(),Ke(e.options,Nt,"getFlatHeaders")),e.getLeftFlatHeaders=We(()=>[e.getLeftHeaderGroups()],(n)=>n.map((r)=>r.headers).flat(),Ke(e.options,Nt,"getLeftFlatHeaders")),e.getCenterFlatHeaders=We(()=>[e.getCenterHeaderGroups()],(n)=>n.map((r)=>r.headers).flat(),Ke(e.options,Nt,"getCenterFlatHeaders")),e.getRightFlatHeaders=We(()=>[e.getRightHeaderGroups()],(n)=>n.map((r)=>r.headers).flat(),Ke(e.options,Nt,"getRightFlatHeaders")),e.getCenterLeafHeaders=We(()=>[e.getCenterFlatHeaders()],(n)=>n.filter((r)=>{var s;return!((s=r.subHeaders)!=null&&s.length)}),Ke(e.options,Nt,"getCenterLeafHeaders")),e.getLeftLeafHeaders=We(()=>[e.getLeftFlatHeaders()],(n)=>n.filter((r)=>{var s;return!((s=r.subHeaders)!=null&&s.length)}),Ke(e.options,Nt,"getLeftLeafHeaders")),e.getRightLeafHeaders=We(()=>[e.getRightFlatHeaders()],(n)=>n.filter((r)=>{var s;return!((s=r.subHeaders)!=null&&s.length)}),Ke(e.options,Nt,"getRightLeafHeaders")),e.getLeafHeaders=We(()=>[e.getLeftHeaderGroups(),e.getCenterHeaderGroups(),e.getRightHeaderGroups()],(n,r,s)=>{var i,a,l,d,c,p;return[...(i=(a=n[0])==null?void 0:a.headers)!=null?i:[],...(l=(d=r[0])==null?void 0:d.headers)!=null?l:[],...(c=(p=s[0])==null?void 0:p.headers)!=null?c:[]].map((f)=>f.getLeafHeaders()).flat()},Ke(e.options,Nt,"getLeafHeaders"))}};function Fo(e,n,r,s){var i,a;let l=0,d=function(m,g){if(g===void 0)g=1;l=Math.max(l,g),m.filter((x)=>x.getIsVisible()).forEach((x)=>{var b;if((b=x.columns)!=null&&b.length)d(x.columns,g+1)},0)};d(e);let c=[],p=(m,g)=>{let x={depth:g,id:[s,`${g}`].filter(Boolean).join("_"),headers:[]},b=[];if(m.forEach((F)=>{let k=[...b].reverse()[0],j=F.column.depth===x.depth,G,X=!1;if(j&&F.column.parent)G=F.column.parent;else G=F.column,X=!0;if(k&&(k==null?void 0:k.column)===G)k.subHeaders.push(F);else{let J=Ka(r,G,{id:[s,g,G.id,F==null?void 0:F.id].filter(Boolean).join("_"),isPlaceholder:X,placeholderId:X?`${b.filter((re)=>re.column===G).length}`:void 0,depth:g,index:b.length});J.subHeaders.push(F),b.push(J)}x.headers.push(F),F.headerGroup=x}),c.push(x),g>0)p(b,g-1)},f=n.map((m,g)=>Ka(r,m,{depth:l,index:g}));p(f,l-1),c.reverse();let y=(m)=>m.filter((x)=>x.column.getIsVisible()).map((x)=>{let b=0,F=0,k=[0];if(x.subHeaders&&x.subHeaders.length)k=[],y(x.subHeaders).forEach((G)=>{let{colSpan:X,rowSpan:J}=G;b+=X,k.push(J)});else b=1;let j=Math.min(...k);return F=F+j,x.colSpan=b,x.rowSpan=F,{colSpan:b,rowSpan:F}});return y((i=(a=c[0])==null?void 0:a.headers)!=null?i:[]),c}var $c=(e,n,r,s,i,a,l)=>{let d={id:n,index:s,original:r,depth:i,parentId:l,_valuesCache:{},_uniqueValuesCache:{},getValue:(c)=>{if(d._valuesCache.hasOwnProperty(c))return d._valuesCache[c];let p=e.getColumn(c);if(!(p!=null&&p.accessorFn))return;return d._valuesCache[c]=p.accessorFn(d.original,s),d._valuesCache[c]},getUniqueValues:(c)=>{if(d._uniqueValuesCache.hasOwnProperty(c))return d._uniqueValuesCache[c];let p=e.getColumn(c);if(!(p!=null&&p.accessorFn))return;if(!p.columnDef.getUniqueValues)return d._uniqueValuesCache[c]=[d.getValue(c)],d._uniqueValuesCache[c];return d._uniqueValuesCache[c]=p.columnDef.getUniqueValues(d.original,s),d._uniqueValuesCache[c]},renderValue:(c)=>{var p;return(p=d.getValue(c))!=null?p:e.options.renderFallbackValue},subRows:a!=null?a:[],getLeafRows:()=>Pc(d.subRows,(c)=>c.subRows),getParentRow:()=>d.parentId?e.getRow(d.parentId,!0):void 0,getParentRows:()=>{let c=[],p=d;while(!0){let f=p.getParentRow();if(!f)break;c.push(f),p=f}return c.reverse()},getAllCells:We(()=>[e.getAllLeafColumns()],(c)=>c.map((p)=>Ac(e,d,p,p.id)),Ke(e.options,"debugRows","getAllCells")),_getAllCellsByColumnId:We(()=>[d.getAllCells()],(c)=>c.reduce((p,f)=>(p[f.column.id]=f,p),{}),Ke(e.options,"debugRows","getAllCellsByColumnId"))};for(let c=0;c<e._features.length;c++){let p=e._features[c];p==null||p.createRow==null||p.createRow(d,e)}return d},Lc={createColumn:(e,n)=>{e._getFacetedRowModel=n.options.getFacetedRowModel&&n.options.getFacetedRowModel(n,e.id),e.getFacetedRowModel=()=>{if(!e._getFacetedRowModel)return n.getPreFilteredRowModel();return e._getFacetedRowModel()},e._getFacetedUniqueValues=n.options.getFacetedUniqueValues&&n.options.getFacetedUniqueValues(n,e.id),e.getFacetedUniqueValues=()=>{if(!e._getFacetedUniqueValues)return new Map;return e._getFacetedUniqueValues()},e._getFacetedMinMaxValues=n.options.getFacetedMinMaxValues&&n.options.getFacetedMinMaxValues(n,e.id),e.getFacetedMinMaxValues=()=>{if(!e._getFacetedMinMaxValues)return;return e._getFacetedMinMaxValues()}}},Qa=(e,n,r)=>{var s,i;let a=r==null||(s=r.toString())==null?void 0:s.toLowerCase();return Boolean((i=e.getValue(n))==null||(i=i.toString())==null||(i=i.toLowerCase())==null?void 0:i.includes(a))};Qa.autoRemove=(e)=>Wt(e);var Ya=(e,n,r)=>{var s;return Boolean((s=e.getValue(n))==null||(s=s.toString())==null?void 0:s.includes(r))};Ya.autoRemove=(e)=>Wt(e);var Ja=(e,n,r)=>{var s;return((s=e.getValue(n))==null||(s=s.toString())==null?void 0:s.toLowerCase())===(r==null?void 0:r.toLowerCase())};Ja.autoRemove=(e)=>Wt(e);var Za=(e,n,r)=>{var s;return(s=e.getValue(n))==null?void 0:s.includes(r)};Za.autoRemove=(e)=>Wt(e);var el=(e,n,r)=>!r.some((s)=>{var i;return!((i=e.getValue(n))!=null&&i.includes(s))});el.autoRemove=(e)=>Wt(e)||!(e!=null&&e.length);var tl=(e,n,r)=>r.some((s)=>{var i;return(i=e.getValue(n))==null?void 0:i.includes(s)});tl.autoRemove=(e)=>Wt(e)||!(e!=null&&e.length);var nl=(e,n,r)=>e.getValue(n)===r;nl.autoRemove=(e)=>Wt(e);var ol=(e,n,r)=>e.getValue(n)==r;ol.autoRemove=(e)=>Wt(e);var rs=(e,n,r)=>{let[s,i]=r,a=e.getValue(n);return a>=s&&a<=i};rs.resolveFilterValue=(e)=>{let[n,r]=e,s=typeof n!=="number"?parseFloat(n):n,i=typeof r!=="number"?parseFloat(r):r,a=n===null||Number.isNaN(s)?-1/0:s,l=r===null||Number.isNaN(i)?1/0:i;if(a>l){let d=a;a=l,l=d}return[a,l]};rs.autoRemove=(e)=>Wt(e)||Wt(e[0])&&Wt(e[1]);var tn={includesString:Qa,includesStringSensitive:Ya,equalsString:Ja,arrIncludes:Za,arrIncludesAll:el,arrIncludesSome:tl,equals:nl,weakEquals:ol,inNumberRange:rs};function Wt(e){return e===void 0||e===null||e===""}var Vc={getDefaultColumnDef:()=>({filterFn:"auto"}),getInitialState:(e)=>({columnFilters:[],...e}),getDefaultOptions:(e)=>({onColumnFiltersChange:$t("columnFilters",e),filterFromLeafRows:!1,maxLeafRowFilterDepth:100}),createColumn:(e,n)=>{e.getAutoFilterFn=()=>{let r=n.getCoreRowModel().flatRows[0],s=r==null?void 0:r.getValue(e.id);if(typeof s==="string")return tn.includesString;if(typeof s==="number")return tn.inNumberRange;if(typeof s==="boolean")return tn.equals;if(s!==null&&typeof s==="object")return tn.equals;if(Array.isArray(s))return tn.arrIncludes;return tn.weakEquals},e.getFilterFn=()=>{var r,s;return Mo(e.columnDef.filterFn)?e.columnDef.filterFn:e.columnDef.filterFn==="auto"?e.getAutoFilterFn():(r=(s=n.options.filterFns)==null?void 0:s[e.columnDef.filterFn])!=null?r:tn[e.columnDef.filterFn]},e.getCanFilter=()=>{var r,s,i;return((r=e.columnDef.enableColumnFilter)!=null?r:!0)&&((s=n.options.enableColumnFilters)!=null?s:!0)&&((i=n.options.enableFilters)!=null?i:!0)&&!!e.accessorFn},e.getIsFiltered=()=>e.getFilterIndex()>-1,e.getFilterValue=()=>{var r;return(r=n.getState().columnFilters)==null||(r=r.find((s)=>s.id===e.id))==null?void 0:r.value},e.getFilterIndex=()=>{var r,s;return(r=(s=n.getState().columnFilters)==null?void 0:s.findIndex((i)=>i.id===e.id))!=null?r:-1},e.setFilterValue=(r)=>{n.setColumnFilters((s)=>{let i=e.getFilterFn(),a=s==null?void 0:s.find((f)=>f.id===e.id),l=on(r,a?a.value:void 0);if(Xa(i,l,e)){var d;return(d=s==null?void 0:s.filter((f)=>f.id!==e.id))!=null?d:[]}let c={id:e.id,value:l};if(a){var p;return(p=s==null?void 0:s.map((f)=>{if(f.id===e.id)return c;return f}))!=null?p:[]}if(s!=null&&s.length)return[...s,c];return[c]})}},createRow:(e,n)=>{e.columnFilters={},e.columnFiltersMeta={}},createTable:(e)=>{e.setColumnFilters=(n)=>{let r=e.getAllLeafColumns(),s=(i)=>{var a;return(a=on(n,i))==null?void 0:a.filter((l)=>{let d=r.find((c)=>c.id===l.id);if(d){let c=d.getFilterFn();if(Xa(c,l.value,d))return!1}return!0})};e.options.onColumnFiltersChange==null||e.options.onColumnFiltersChange(s)},e.resetColumnFilters=(n)=>{var r,s;e.setColumnFilters(n?[]:(r=(s=e.initialState)==null?void 0:s.columnFilters)!=null?r:[])},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 Xa(e,n,r){return(e&&e.autoRemove?e.autoRemove(n,r):!1)||typeof n>"u"||typeof n==="string"&&!n}var qc=(e,n,r)=>r.reduce((s,i)=>{let a=i.getValue(e);return s+(typeof a==="number"?a:0)},0),Hc=(e,n,r)=>{let s;return r.forEach((i)=>{let a=i.getValue(e);if(a!=null&&(s>a||s===void 0&&a>=a))s=a}),s},Gc=(e,n,r)=>{let s;return r.forEach((i)=>{let a=i.getValue(e);if(a!=null&&(s<a||s===void 0&&a>=a))s=a}),s},Kc=(e,n,r)=>{let s,i;return r.forEach((a)=>{let l=a.getValue(e);if(l!=null)if(s===void 0){if(l>=l)s=i=l}else{if(s>l)s=l;if(i<l)i=l}}),[s,i]},Qc=(e,n)=>{let r=0,s=0;if(n.forEach((i)=>{let a=i.getValue(e);if(a!=null&&(a=+a)>=a)++r,s+=a}),r)return s/r;return},Zc=(e,n)=>{if(!n.length)return;let r=n.map((a)=>a.getValue(e));if(!kc(r))return;if(r.length===1)return r[0];let s=Math.floor(r.length/2),i=r.sort((a,l)=>a-l);return r.length%2!==0?i[s]:(i[s-1]+i[s])/2},tp=(e,n)=>Array.from(new Set(n.map((r)=>r.getValue(e))).values()),np=(e,n)=>new Set(n.map((r)=>r.getValue(e))).size,op=(e,n)=>n.length,Gr={sum:qc,min:Hc,max:Gc,extent:Kc,mean:Qc,median:Zc,unique:tp,uniqueCount:np,count:op},rp={getDefaultColumnDef:()=>({aggregatedCell:(e)=>{var n,r;return(n=(r=e.getValue())==null||r.toString==null?void 0:r.toString())!=null?n:null},aggregationFn:"auto"}),getInitialState:(e)=>({grouping:[],...e}),getDefaultOptions:(e)=>({onGroupingChange:$t("grouping",e),groupedColumnMode:"reorder"}),createColumn:(e,n)=>{e.toggleGrouping=()=>{n.setGrouping((r)=>{if(r!=null&&r.includes(e.id))return r.filter((s)=>s!==e.id);return[...r!=null?r:[],e.id]})},e.getCanGroup=()=>{var r,s;return((r=e.columnDef.enableGrouping)!=null?r:!0)&&((s=n.options.enableGrouping)!=null?s:!0)&&(!!e.accessorFn||!!e.columnDef.getGroupingValue)},e.getIsGrouped=()=>{var r;return(r=n.getState().grouping)==null?void 0:r.includes(e.id)},e.getGroupedIndex=()=>{var r;return(r=n.getState().grouping)==null?void 0:r.indexOf(e.id)},e.getToggleGroupingHandler=()=>{let r=e.getCanGroup();return()=>{if(!r)return;e.toggleGrouping()}},e.getAutoAggregationFn=()=>{let r=n.getCoreRowModel().flatRows[0],s=r==null?void 0:r.getValue(e.id);if(typeof s==="number")return Gr.sum;if(Object.prototype.toString.call(s)==="[object Date]")return Gr.extent},e.getAggregationFn=()=>{var r,s;if(!e)throw Error();return Mo(e.columnDef.aggregationFn)?e.columnDef.aggregationFn:e.columnDef.aggregationFn==="auto"?e.getAutoAggregationFn():(r=(s=n.options.aggregationFns)==null?void 0:s[e.columnDef.aggregationFn])!=null?r:Gr[e.columnDef.aggregationFn]}},createTable:(e)=>{e.setGrouping=(n)=>e.options.onGroupingChange==null?void 0:e.options.onGroupingChange(n),e.resetGrouping=(n)=>{var r,s;e.setGrouping(n?[]:(r=(s=e.initialState)==null?void 0:s.grouping)!=null?r:[])},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,n)=>{e.getIsGrouped=()=>!!e.groupingColumnId,e.getGroupingValue=(r)=>{if(e._groupingValuesCache.hasOwnProperty(r))return e._groupingValuesCache[r];let s=n.getColumn(r);if(!(s!=null&&s.columnDef.getGroupingValue))return e.getValue(r);return e._groupingValuesCache[r]=s.columnDef.getGroupingValue(e.original),e._groupingValuesCache[r]},e._groupingValuesCache={}},createCell:(e,n,r,s)=>{e.getIsGrouped=()=>n.getIsGrouped()&&n.id===r.groupingColumnId,e.getIsPlaceholder=()=>!e.getIsGrouped()&&n.getIsGrouped(),e.getIsAggregated=()=>{var i;return!e.getIsGrouped()&&!e.getIsPlaceholder()&&!!((i=r.subRows)!=null&&i.length)}}};function sp(e,n,r){if(!(n!=null&&n.length)||!r)return e;let s=e.filter((a)=>!n.includes(a.id));if(r==="remove")return s;return[...n.map((a)=>e.find((l)=>l.id===a)).filter(Boolean),...s]}var ip={getInitialState:(e)=>({columnOrder:[],...e}),getDefaultOptions:(e)=>({onColumnOrderChange:$t("columnOrder",e)}),createColumn:(e,n)=>{e.getIndex=We((r)=>[oo(n,r)],(r)=>r.findIndex((s)=>s.id===e.id),Ke(n.options,"debugColumns","getIndex")),e.getIsFirstColumn=(r)=>{var s;return((s=oo(n,r)[0])==null?void 0:s.id)===e.id},e.getIsLastColumn=(r)=>{var s;let i=oo(n,r);return((s=i[i.length-1])==null?void 0:s.id)===e.id}},createTable:(e)=>{e.setColumnOrder=(n)=>e.options.onColumnOrderChange==null?void 0:e.options.onColumnOrderChange(n),e.resetColumnOrder=(n)=>{var r;e.setColumnOrder(n?[]:(r=e.initialState.columnOrder)!=null?r:[])},e._getOrderColumnsFn=We(()=>[e.getState().columnOrder,e.getState().grouping,e.options.groupedColumnMode],(n,r,s)=>(i)=>{let a=[];if(!(n!=null&&n.length))a=i;else{let l=[...n],d=[...i];while(d.length&&l.length){let c=l.shift(),p=d.findIndex((f)=>f.id===c);if(p>-1)a.push(d.splice(p,1)[0])}a=[...a,...d]}return sp(a,r,s)},Ke(e.options,"debugTable","_getOrderColumnsFn"))}},Wr=()=>({left:[],right:[]}),ap={getInitialState:(e)=>({columnPinning:Wr(),...e}),getDefaultOptions:(e)=>({onColumnPinningChange:$t("columnPinning",e)}),createColumn:(e,n)=>{e.pin=(r)=>{let s=e.getLeafColumns().map((i)=>i.id).filter(Boolean);n.setColumnPinning((i)=>{var a,l;if(r==="right"){var d,c;return{left:((d=i==null?void 0:i.left)!=null?d:[]).filter((y)=>!(s!=null&&s.includes(y))),right:[...((c=i==null?void 0:i.right)!=null?c:[]).filter((y)=>!(s!=null&&s.includes(y))),...s]}}if(r==="left"){var p,f;return{left:[...((p=i==null?void 0:i.left)!=null?p:[]).filter((y)=>!(s!=null&&s.includes(y))),...s],right:((f=i==null?void 0:i.right)!=null?f:[]).filter((y)=>!(s!=null&&s.includes(y)))}}return{left:((a=i==null?void 0:i.left)!=null?a:[]).filter((y)=>!(s!=null&&s.includes(y))),right:((l=i==null?void 0:i.right)!=null?l:[]).filter((y)=>!(s!=null&&s.includes(y)))}})},e.getCanPin=()=>e.getLeafColumns().some((s)=>{var i,a,l;return((i=s.columnDef.enablePinning)!=null?i:!0)&&((a=(l=n.options.enableColumnPinning)!=null?l:n.options.enablePinning)!=null?a:!0)}),e.getIsPinned=()=>{let r=e.getLeafColumns().map((d)=>d.id),{left:s,right:i}=n.getState().columnPinning,a=r.some((d)=>s==null?void 0:s.includes(d)),l=r.some((d)=>i==null?void 0:i.includes(d));return a?"left":l?"right":!1},e.getPinnedIndex=()=>{var r,s;let i=e.getIsPinned();return i?(r=(s=n.getState().columnPinning)==null||(s=s[i])==null?void 0:s.indexOf(e.id))!=null?r:-1:0}},createRow:(e,n)=>{e.getCenterVisibleCells=We(()=>[e._getAllVisibleCells(),n.getState().columnPinning.left,n.getState().columnPinning.right],(r,s,i)=>{let a=[...s!=null?s:[],...i!=null?i:[]];return r.filter((l)=>!a.includes(l.column.id))},Ke(n.options,"debugRows","getCenterVisibleCells")),e.getLeftVisibleCells=We(()=>[e._getAllVisibleCells(),n.getState().columnPinning.left],(r,s)=>(s!=null?s:[]).map((a)=>r.find((l)=>l.column.id===a)).filter(Boolean).map((a)=>({...a,position:"left"})),Ke(n.options,"debugRows","getLeftVisibleCells")),e.getRightVisibleCells=We(()=>[e._getAllVisibleCells(),n.getState().columnPinning.right],(r,s)=>(s!=null?s:[]).map((a)=>r.find((l)=>l.column.id===a)).filter(Boolean).map((a)=>({...a,position:"right"})),Ke(n.options,"debugRows","getRightVisibleCells"))},createTable:(e)=>{e.setColumnPinning=(n)=>e.options.onColumnPinningChange==null?void 0:e.options.onColumnPinningChange(n),e.resetColumnPinning=(n)=>{var r,s;return e.setColumnPinning(n?Wr():(r=(s=e.initialState)==null?void 0:s.columnPinning)!=null?r:Wr())},e.getIsSomeColumnsPinned=(n)=>{var r;let s=e.getState().columnPinning;if(!n){var i,a;return Boolean(((i=s.left)==null?void 0:i.length)||((a=s.right)==null?void 0:a.length))}return Boolean((r=s[n])==null?void 0:r.length)},e.getLeftLeafColumns=We(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left],(n,r)=>(r!=null?r:[]).map((s)=>n.find((i)=>i.id===s)).filter(Boolean),Ke(e.options,"debugColumns","getLeftLeafColumns")),e.getRightLeafColumns=We(()=>[e.getAllLeafColumns(),e.getState().columnPinning.right],(n,r)=>(r!=null?r:[]).map((s)=>n.find((i)=>i.id===s)).filter(Boolean),Ke(e.options,"debugColumns","getRightLeafColumns")),e.getCenterLeafColumns=We(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(n,r,s)=>{let i=[...r!=null?r:[],...s!=null?s:[]];return n.filter((a)=>!i.includes(a.id))},Ke(e.options,"debugColumns","getCenterLeafColumns"))}};function lp(e){return e||(typeof document<"u"?document:null)}var Io={size:150,minSize:20,maxSize:Number.MAX_SAFE_INTEGER},Kr=()=>({startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]}),dp={getDefaultColumnDef:()=>Io,getInitialState:(e)=>({columnSizing:{},columnSizingInfo:Kr(),...e}),getDefaultOptions:(e)=>({columnResizeMode:"onEnd",columnResizeDirection:"ltr",onColumnSizingChange:$t("columnSizing",e),onColumnSizingInfoChange:$t("columnSizingInfo",e)}),createColumn:(e,n)=>{e.getSize=()=>{var r,s,i;let a=n.getState().columnSizing[e.id];return Math.min(Math.max((r=e.columnDef.minSize)!=null?r:Io.minSize,(s=a!=null?a:e.columnDef.size)!=null?s:Io.size),(i=e.columnDef.maxSize)!=null?i:Io.maxSize)},e.getStart=We((r)=>[r,oo(n,r),n.getState().columnSizing],(r,s)=>s.slice(0,e.getIndex(r)).reduce((i,a)=>i+a.getSize(),0),Ke(n.options,"debugColumns","getStart")),e.getAfter=We((r)=>[r,oo(n,r),n.getState().columnSizing],(r,s)=>s.slice(e.getIndex(r)+1).reduce((i,a)=>i+a.getSize(),0),Ke(n.options,"debugColumns","getAfter")),e.resetSize=()=>{n.setColumnSizing((r)=>{let{[e.id]:s,...i}=r;return i})},e.getCanResize=()=>{var r,s;return((r=e.columnDef.enableResizing)!=null?r:!0)&&((s=n.options.enableColumnResizing)!=null?s:!0)},e.getIsResizing=()=>n.getState().columnSizingInfo.isResizingColumn===e.id},createHeader:(e,n)=>{e.getSize=()=>{let r=0,s=(i)=>{if(i.subHeaders.length)i.subHeaders.forEach(s);else{var a;r+=(a=i.column.getSize())!=null?a:0}};return s(e),r},e.getStart=()=>{if(e.index>0){let r=e.headerGroup.headers[e.index-1];return r.getStart()+r.getSize()}return 0},e.getResizeHandler=(r)=>{let s=n.getColumn(e.column.id),i=s==null?void 0:s.getCanResize();return(a)=>{if(!s||!i)return;if(a.persist==null||a.persist(),Xr(a)){if(a.touches&&a.touches.length>1)return}let l=e.getSize(),d=e?e.getLeafHeaders().map((k)=>[k.column.id,k.column.getSize()]):[[s.id,s.getSize()]],c=Xr(a)?Math.round(a.touches[0].clientX):a.clientX,p={},f=(k,j)=>{if(typeof j!=="number")return;if(n.setColumnSizingInfo((G)=>{var X,J;let re=n.options.columnResizeDirection==="rtl"?-1:1,xe=(j-((X=G==null?void 0:G.startOffset)!=null?X:0))*re,ee=Math.max(xe/((J=G==null?void 0:G.startSize)!=null?J:0),-0.999999);return G.columnSizingStart.forEach((Oe)=>{let[_,Ce]=Oe;p[_]=Math.round(Math.max(Ce+Ce*ee,0)*100)/100}),{...G,deltaOffset:xe,deltaPercentage:ee}}),n.options.columnResizeMode==="onChange"||k==="end")n.setColumnSizing((G)=>({...G,...p}))},y=(k)=>f("move",k),m=(k)=>{f("end",k),n.setColumnSizingInfo((j)=>({...j,isResizingColumn:!1,startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,columnSizingStart:[]}))},g=lp(r),x={moveHandler:(k)=>y(k.clientX),upHandler:(k)=>{g==null||g.removeEventListener("mousemove",x.moveHandler),g==null||g.removeEventListener("mouseup",x.upHandler),m(k.clientX)}},b={moveHandler:(k)=>{if(k.cancelable)k.preventDefault(),k.stopPropagation();return y(k.touches[0].clientX),!1},upHandler:(k)=>{var j;if(g==null||g.removeEventListener("touchmove",b.moveHandler),g==null||g.removeEventListener("touchend",b.upHandler),k.cancelable)k.preventDefault(),k.stopPropagation();m((j=k.touches[0])==null?void 0:j.clientX)}},F=up()?{passive:!1}:!1;if(Xr(a))g==null||g.addEventListener("touchmove",b.moveHandler,F),g==null||g.addEventListener("touchend",b.upHandler,F);else g==null||g.addEventListener("mousemove",x.moveHandler,F),g==null||g.addEventListener("mouseup",x.upHandler,F);n.setColumnSizingInfo((k)=>({...k,startOffset:c,startSize:l,deltaOffset:0,deltaPercentage:0,columnSizingStart:d,isResizingColumn:s.id}))}}},createTable:(e)=>{e.setColumnSizing=(n)=>e.options.onColumnSizingChange==null?void 0:e.options.onColumnSizingChange(n),e.setColumnSizingInfo=(n)=>e.options.onColumnSizingInfoChange==null?void 0:e.options.onColumnSizingInfoChange(n),e.resetColumnSizing=(n)=>{var r;e.setColumnSizing(n?{}:(r=e.initialState.columnSizing)!=null?r:{})},e.resetHeaderSizeInfo=(n)=>{var r;e.setColumnSizingInfo(n?Kr():(r=e.initialState.columnSizingInfo)!=null?r:Kr())},e.getTotalSize=()=>{var n,r;return(n=(r=e.getHeaderGroups()[0])==null?void 0:r.headers.reduce((s,i)=>s+i.getSize(),0))!=null?n:0},e.getLeftTotalSize=()=>{var n,r;return(n=(r=e.getLeftHeaderGroups()[0])==null?void 0:r.headers.reduce((s,i)=>s+i.getSize(),0))!=null?n:0},e.getCenterTotalSize=()=>{var n,r;return(n=(r=e.getCenterHeaderGroups()[0])==null?void 0:r.headers.reduce((s,i)=>s+i.getSize(),0))!=null?n:0},e.getRightTotalSize=()=>{var n,r;return(n=(r=e.getRightHeaderGroups()[0])==null?void 0:r.headers.reduce((s,i)=>s+i.getSize(),0))!=null?n:0}}},_o=null;function up(){if(typeof _o==="boolean")return _o;let e=!1;try{let n={get passive(){return e=!0,!1}},r=()=>{};window.addEventListener("test",r,n),window.removeEventListener("test",r)}catch(n){e=!1}return _o=e,_o}function Xr(e){return e.type==="touchstart"}var cp={getInitialState:(e)=>({columnVisibility:{},...e}),getDefaultOptions:(e)=>({onColumnVisibilityChange:$t("columnVisibility",e)}),createColumn:(e,n)=>{e.toggleVisibility=(r)=>{if(e.getCanHide())n.setColumnVisibility((s)=>({...s,[e.id]:r!=null?r:!e.getIsVisible()}))},e.getIsVisible=()=>{var r,s;let i=e.columns;return(r=i.length?i.some((a)=>a.getIsVisible()):(s=n.getState().columnVisibility)==null?void 0:s[e.id])!=null?r:!0},e.getCanHide=()=>{var r,s;return((r=e.columnDef.enableHiding)!=null?r:!0)&&((s=n.options.enableHiding)!=null?s:!0)},e.getToggleVisibilityHandler=()=>(r)=>{e.toggleVisibility==null||e.toggleVisibility(r.target.checked)}},createRow:(e,n)=>{e._getAllVisibleCells=We(()=>[e.getAllCells(),n.getState().columnVisibility],(r)=>r.filter((s)=>s.column.getIsVisible()),Ke(n.options,"debugRows","_getAllVisibleCells")),e.getVisibleCells=We(()=>[e.getLeftVisibleCells(),e.getCenterVisibleCells(),e.getRightVisibleCells()],(r,s,i)=>[...r,...s,...i],Ke(n.options,"debugRows","getVisibleCells"))},createTable:(e)=>{let n=(r,s)=>We(()=>[s(),s().filter((i)=>i.getIsVisible()).map((i)=>i.id).join("_")],(i)=>i.filter((a)=>a.getIsVisible==null?void 0:a.getIsVisible()),Ke(e.options,"debugColumns",r));e.getVisibleFlatColumns=n("getVisibleFlatColumns",()=>e.getAllFlatColumns()),e.getVisibleLeafColumns=n("getVisibleLeafColumns",()=>e.getAllLeafColumns()),e.getLeftVisibleLeafColumns=n("getLeftVisibleLeafColumns",()=>e.getLeftLeafColumns()),e.getRightVisibleLeafColumns=n("getRightVisibleLeafColumns",()=>e.getRightLeafColumns()),e.getCenterVisibleLeafColumns=n("getCenterVisibleLeafColumns",()=>e.getCenterLeafColumns()),e.setColumnVisibility=(r)=>e.options.onColumnVisibilityChange==null?void 0:e.options.onColumnVisibilityChange(r),e.resetColumnVisibility=(r)=>{var s;e.setColumnVisibility(r?{}:(s=e.initialState.columnVisibility)!=null?s:{})},e.toggleAllColumnsVisible=(r)=>{var s;r=(s=r)!=null?s:!e.getIsAllColumnsVisible(),e.setColumnVisibility(e.getAllLeafColumns().reduce((i,a)=>({...i,[a.id]:!r?!(a.getCanHide!=null&&a.getCanHide()):r}),{}))},e.getIsAllColumnsVisible=()=>!e.getAllLeafColumns().some((r)=>!(r.getIsVisible!=null&&r.getIsVisible())),e.getIsSomeColumnsVisible=()=>e.getAllLeafColumns().some((r)=>r.getIsVisible==null?void 0:r.getIsVisible()),e.getToggleAllColumnsVisibilityHandler=()=>(r)=>{var s;e.toggleAllColumnsVisible((s=r.target)==null?void 0:s.checked)}}};function oo(e,n){return!n?e.getVisibleLeafColumns():n==="center"?e.getCenterVisibleLeafColumns():n==="left"?e.getLeftVisibleLeafColumns():e.getRightVisibleLeafColumns()}var fp={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()}}},gp={getInitialState:(e)=>({globalFilter:void 0,...e}),getDefaultOptions:(e)=>({onGlobalFilterChange:$t("globalFilter",e),globalFilterFn:"auto",getColumnCanGlobalFilter:(n)=>{var r;let s=(r=e.getCoreRowModel().flatRows[0])==null||(r=r._getAllCellsByColumnId()[n.id])==null?void 0:r.getValue();return typeof s==="string"||typeof s==="number"}}),createColumn:(e,n)=>{e.getCanGlobalFilter=()=>{var r,s,i,a;return((r=e.columnDef.enableGlobalFilter)!=null?r:!0)&&((s=n.options.enableGlobalFilter)!=null?s:!0)&&((i=n.options.enableFilters)!=null?i:!0)&&((a=n.options.getColumnCanGlobalFilter==null?void 0:n.options.getColumnCanGlobalFilter(e))!=null?a:!0)&&!!e.accessorFn}},createTable:(e)=>{e.getGlobalAutoFilterFn=()=>tn.includesString,e.getGlobalFilterFn=()=>{var n,r;let{globalFilterFn:s}=e.options;return Mo(s)?s:s==="auto"?e.getGlobalAutoFilterFn():(n=(r=e.options.filterFns)==null?void 0:r[s])!=null?n:tn[s]},e.setGlobalFilter=(n)=>{e.options.onGlobalFilterChange==null||e.options.onGlobalFilterChange(n)},e.resetGlobalFilter=(n)=>{e.setGlobalFilter(n?void 0:e.initialState.globalFilter)}}},wp={getInitialState:(e)=>({expanded:{},...e}),getDefaultOptions:(e)=>({onExpandedChange:$t("expanded",e),paginateExpandedRows:!0}),createTable:(e)=>{let n=!1,r=!1;e._autoResetExpanded=()=>{var s,i;if(!n){e._queue(()=>{n=!0});return}if((s=(i=e.options.autoResetAll)!=null?i:e.options.autoResetExpanded)!=null?s:!e.options.manualExpanding){if(r)return;r=!0,e._queue(()=>{e.resetExpanded(),r=!1})}},e.setExpanded=(s)=>e.options.onExpandedChange==null?void 0:e.options.onExpandedChange(s),e.toggleAllRowsExpanded=(s)=>{if(s!=null?s:!e.getIsAllRowsExpanded())e.setExpanded(!0);else e.setExpanded({})},e.resetExpanded=(s)=>{var i,a;e.setExpanded(s?{}:(i=(a=e.initialState)==null?void 0:a.expanded)!=null?i:{})},e.getCanSomeRowsExpand=()=>e.getPrePaginationRowModel().flatRows.some((s)=>s.getCanExpand()),e.getToggleAllRowsExpandedHandler=()=>(s)=>{s.persist==null||s.persist(),e.toggleAllRowsExpanded()},e.getIsSomeRowsExpanded=()=>{let s=e.getState().expanded;return s===!0||Object.values(s).some(Boolean)},e.getIsAllRowsExpanded=()=>{let s=e.getState().expanded;if(typeof s==="boolean")return s===!0;if(!Object.keys(s).length)return!1;if(e.getRowModel().flatRows.some((i)=>!i.getIsExpanded()))return!1;return!0},e.getExpandedDepth=()=>{let s=0;return(e.getState().expanded===!0?Object.keys(e.getRowModel().rowsById):Object.keys(e.getState().expanded)).forEach((a)=>{let l=a.split(".");s=Math.max(s,l.length)}),s},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,n)=>{e.toggleExpanded=(r)=>{n.setExpanded((s)=>{var i;let a=s===!0?!0:!!(s!=null&&s[e.id]),l={};if(s===!0)Object.keys(n.getRowModel().rowsById).forEach((d)=>{l[d]=!0});else l=s;if(r=(i=r)!=null?i:!a,!a&&r)return{...l,[e.id]:!0};if(a&&!r){let{[e.id]:d,...c}=l;return c}return s})},e.getIsExpanded=()=>{var r;let s=n.getState().expanded;return!!((r=n.options.getIsRowExpanded==null?void 0:n.options.getIsRowExpanded(e))!=null?r:s===!0||(s==null?void 0:s[e.id]))},e.getCanExpand=()=>{var r,s,i;return(r=n.options.getRowCanExpand==null?void 0:n.options.getRowCanExpand(e))!=null?r:((s=n.options.enableExpanding)!=null?s:!0)&&!!((i=e.subRows)!=null&&i.length)},e.getIsAllParentsExpanded=()=>{let r=!0,s=e;while(r&&s.parentId)s=n.getRow(s.parentId,!0),r=s.getIsExpanded();return r},e.getToggleExpandedHandler=()=>{let r=e.getCanExpand();return()=>{if(!r)return;e.toggleExpanded()}}}},Zr=0,es=10,Qr=()=>({pageIndex:Zr,pageSize:es}),yp={getInitialState:(e)=>({...e,pagination:{...Qr(),...e==null?void 0:e.pagination}}),getDefaultOptions:(e)=>({onPaginationChange:$t("pagination",e)}),createTable:(e)=>{let n=!1,r=!1;e._autoResetPageIndex=()=>{var s,i;if(!n){e._queue(()=>{n=!0});return}if((s=(i=e.options.autoResetAll)!=null?i:e.options.autoResetPageIndex)!=null?s:!e.options.manualPagination){if(r)return;r=!0,e._queue(()=>{e.resetPageIndex(),r=!1})}},e.setPagination=(s)=>{let i=(a)=>on(s,a);return e.options.onPaginationChange==null?void 0:e.options.onPaginationChange(i)},e.resetPagination=(s)=>{var i;e.setPagination(s?Qr():(i=e.initialState.pagination)!=null?i:Qr())},e.setPageIndex=(s)=>{e.setPagination((i)=>{let a=on(s,i.pageIndex),l=typeof e.options.pageCount>"u"||e.options.pageCount===-1?Number.MAX_SAFE_INTEGER:e.options.pageCount-1;return a=Math.max(0,Math.min(a,l)),{...i,pageIndex:a}})},e.resetPageIndex=(s)=>{var i,a;e.setPageIndex(s?Zr:(i=(a=e.initialState)==null||(a=a.pagination)==null?void 0:a.pageIndex)!=null?i:Zr)},e.resetPageSize=(s)=>{var i,a;e.setPageSize(s?es:(i=(a=e.initialState)==null||(a=a.pagination)==null?void 0:a.pageSize)!=null?i:es)},e.setPageSize=(s)=>{e.setPagination((i)=>{let a=Math.max(1,on(s,i.pageSize)),l=i.pageSize*i.pageIndex,d=Math.floor(l/a);return{...i,pageIndex:d,pageSize:a}})},e.setPageCount=(s)=>e.setPagination((i)=>{var a;let l=on(s,(a=e.options.pageCount)!=null?a:-1);if(typeof l==="number")l=Math.max(-1,l);return{...i,pageCount:l}}),e.getPageOptions=We(()=>[e.getPageCount()],(s)=>{let i=[];if(s&&s>0)i=[...Array(s)].fill(null).map((a,l)=>l);return i},Ke(e.options,"debugTable","getPageOptions")),e.getCanPreviousPage=()=>e.getState().pagination.pageIndex>0,e.getCanNextPage=()=>{let{pageIndex:s}=e.getState().pagination,i=e.getPageCount();if(i===-1)return!0;if(i===0)return!1;return s<i-1},e.previousPage=()=>e.setPageIndex((s)=>s-1),e.nextPage=()=>e.setPageIndex((s)=>s+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 s;return(s=e.options.pageCount)!=null?s:Math.ceil(e.getRowCount()/e.getState().pagination.pageSize)},e.getRowCount=()=>{var s;return(s=e.options.rowCount)!=null?s:e.getPrePaginationRowModel().rows.length}}},Yr=()=>({top:[],bottom:[]}),bp={getInitialState:(e)=>({rowPinning:Yr(),...e}),getDefaultOptions:(e)=>({onRowPinningChange:$t("rowPinning",e)}),createRow:(e,n)=>{e.pin=(r,s,i)=>{let a=s?e.getLeafRows().map((c)=>{let{id:p}=c;return p}):[],l=i?e.getParentRows().map((c)=>{let{id:p}=c;return p}):[],d=new Set([...l,e.id,...a]);n.setRowPinning((c)=>{var p,f;if(r==="bottom"){var y,m;return{top:((y=c==null?void 0:c.top)!=null?y:[]).filter((b)=>!(d!=null&&d.has(b))),bottom:[...((m=c==null?void 0:c.bottom)!=null?m:[]).filter((b)=>!(d!=null&&d.has(b))),...Array.from(d)]}}if(r==="top"){var g,x;return{top:[...((g=c==null?void 0:c.top)!=null?g:[]).filter((b)=>!(d!=null&&d.has(b))),...Array.from(d)],bottom:((x=c==null?void 0:c.bottom)!=null?x:[]).filter((b)=>!(d!=null&&d.has(b)))}}return{top:((p=c==null?void 0:c.top)!=null?p:[]).filter((b)=>!(d!=null&&d.has(b))),bottom:((f=c==null?void 0:c.bottom)!=null?f:[]).filter((b)=>!(d!=null&&d.has(b)))}})},e.getCanPin=()=>{var r;let{enableRowPinning:s,enablePinning:i}=n.options;if(typeof s==="function")return s(e);return(r=s!=null?s:i)!=null?r:!0},e.getIsPinned=()=>{let r=[e.id],{top:s,bottom:i}=n.getState().rowPinning,a=r.some((d)=>s==null?void 0:s.includes(d)),l=r.some((d)=>i==null?void 0:i.includes(d));return a?"top":l?"bottom":!1},e.getPinnedIndex=()=>{var r,s;let i=e.getIsPinned();if(!i)return-1;let a=(r=i==="top"?n.getTopRows():n.getBottomRows())==null?void 0:r.map((l)=>{let{id:d}=l;return d});return(s=a==null?void 0:a.indexOf(e.id))!=null?s:-1}},createTable:(e)=>{e.setRowPinning=(n)=>e.options.onRowPinningChange==null?void 0:e.options.onRowPinningChange(n),e.resetRowPinning=(n)=>{var r,s;return e.setRowPinning(n?Yr():(r=(s=e.initialState)==null?void 0:s.rowPinning)!=null?r:Yr())},e.getIsSomeRowsPinned=(n)=>{var r;let s=e.getState().rowPinning;if(!n){var i,a;return Boolean(((i=s.top)==null?void 0:i.length)||((a=s.bottom)==null?void 0:a.length))}return Boolean((r=s[n])==null?void 0:r.length)},e._getPinnedRows=(n,r,s)=>{var i;return(((i=e.options.keepPinnedRows)!=null?i:!0)?(r!=null?r:[]).map((l)=>{let d=e.getRow(l,!0);return d.getIsAllParentsExpanded()?d:null}):(r!=null?r:[]).map((l)=>n.find((d)=>d.id===l))).filter(Boolean).map((l)=>({...l,position:s}))},e.getTopRows=We(()=>[e.getRowModel().rows,e.getState().rowPinning.top],(n,r)=>e._getPinnedRows(n,r,"top"),Ke(e.options,"debugRows","getTopRows")),e.getBottomRows=We(()=>[e.getRowModel().rows,e.getState().rowPinning.bottom],(n,r)=>e._getPinnedRows(n,r,"bottom"),Ke(e.options,"debugRows","getBottomRows")),e.getCenterRows=We(()=>[e.getRowModel().rows,e.getState().rowPinning.top,e.getState().rowPinning.bottom],(n,r,s)=>{let i=new Set([...r!=null?r:[],...s!=null?s:[]]);return n.filter((a)=>!i.has(a.id))},Ke(e.options,"debugRows","getCenterRows"))}},Rp={getInitialState:(e)=>({rowSelection:{},...e}),getDefaultOptions:(e)=>({onRowSelectionChange:$t("rowSelection",e),enableRowSelection:!0,enableMultiRowSelection:!0,enableSubRowSelection:!0}),createTable:(e)=>{e.setRowSelection=(n)=>e.options.onRowSelectionChange==null?void 0:e.options.onRowSelectionChange(n),e.resetRowSelection=(n)=>{var r;return e.setRowSelection(n?{}:(r=e.initialState.rowSelection)!=null?r:{})},e.toggleAllRowsSelected=(n)=>{e.setRowSelection((r)=>{n=typeof n<"u"?n:!e.getIsAllRowsSelected();let s={...r},i=e.getPreGroupedRowModel().flatRows;if(n)i.forEach((a)=>{if(!a.getCanSelect())return;s[a.id]=!0});else i.forEach((a)=>{delete s[a.id]});return s})},e.toggleAllPageRowsSelected=(n)=>e.setRowSelection((r)=>{let s=typeof n<"u"?n:!e.getIsAllPageRowsSelected(),i={...r};return e.getRowModel().rows.forEach((a)=>{ts(i,a.id,s,!0,e)}),i}),e.getPreSelectedRowModel=()=>e.getCoreRowModel(),e.getSelectedRowModel=We(()=>[e.getState().rowSelection,e.getCoreRowModel()],(n,r)=>{if(!Object.keys(n).length)return{rows:[],flatRows:[],rowsById:{}};return Jr(e,r)},Ke(e.options,"debugTable","getSelectedRowModel")),e.getFilteredSelectedRowModel=We(()=>[e.getState().rowSelection,e.getFilteredRowModel()],(n,r)=>{if(!Object.keys(n).length)return{rows:[],flatRows:[],rowsById:{}};return Jr(e,r)},Ke(e.options,"debugTable","getFilteredSelectedRowModel")),e.getGroupedSelectedRowModel=We(()=>[e.getState().rowSelection,e.getSortedRowModel()],(n,r)=>{if(!Object.keys(n).length)return{rows:[],flatRows:[],rowsById:{}};return Jr(e,r)},Ke(e.options,"debugTable","getGroupedSelectedRowModel")),e.getIsAllRowsSelected=()=>{let n=e.getFilteredRowModel().flatRows,{rowSelection:r}=e.getState(),s=Boolean(n.length&&Object.keys(r).length);if(s){if(n.some((i)=>i.getCanSelect()&&!r[i.id]))s=!1}return s},e.getIsAllPageRowsSelected=()=>{let n=e.getPaginationRowModel().flatRows.filter((i)=>i.getCanSelect()),{rowSelection:r}=e.getState(),s=!!n.length;if(s&&n.some((i)=>!r[i.id]))s=!1;return s},e.getIsSomeRowsSelected=()=>{var n;let r=Object.keys((n=e.getState().rowSelection)!=null?n:{}).length;return r>0&&r<e.getFilteredRowModel().flatRows.length},e.getIsSomePageRowsSelected=()=>{let n=e.getPaginationRowModel().flatRows;return e.getIsAllPageRowsSelected()?!1:n.filter((r)=>r.getCanSelect()).some((r)=>r.getIsSelected()||r.getIsSomeSelected())},e.getToggleAllRowsSelectedHandler=()=>(n)=>{e.toggleAllRowsSelected(n.target.checked)},e.getToggleAllPageRowsSelectedHandler=()=>(n)=>{e.toggleAllPageRowsSelected(n.target.checked)}},createRow:(e,n)=>{e.toggleSelected=(r,s)=>{let i=e.getIsSelected();n.setRowSelection((a)=>{var l;if(r=typeof r<"u"?r:!i,e.getCanSelect()&&i===r)return a;let d={...a};return ts(d,e.id,r,(l=s==null?void 0:s.selectChildren)!=null?l:!0,n),d})},e.getIsSelected=()=>{let{rowSelection:r}=n.getState();return ss(e,r)},e.getIsSomeSelected=()=>{let{rowSelection:r}=n.getState();return ns(e,r)==="some"},e.getIsAllSubRowsSelected=()=>{let{rowSelection:r}=n.getState();return ns(e,r)==="all"},e.getCanSelect=()=>{var r;if(typeof n.options.enableRowSelection==="function")return n.options.enableRowSelection(e);return(r=n.options.enableRowSelection)!=null?r:!0},e.getCanSelectSubRows=()=>{var r;if(typeof n.options.enableSubRowSelection==="function")return n.options.enableSubRowSelection(e);return(r=n.options.enableSubRowSelection)!=null?r:!0},e.getCanMultiSelect=()=>{var r;if(typeof n.options.enableMultiRowSelection==="function")return n.options.enableMultiRowSelection(e);return(r=n.options.enableMultiRowSelection)!=null?r:!0},e.getToggleSelectedHandler=()=>{let r=e.getCanSelect();return(s)=>{var i;if(!r)return;e.toggleSelected((i=s.target)==null?void 0:i.checked)}}}},ts=(e,n,r,s,i)=>{var a;let l=i.getRow(n,!0);if(r){if(!l.getCanMultiSelect())Object.keys(e).forEach((d)=>delete e[d]);if(l.getCanSelect())e[n]=!0}else delete e[n];if(s&&(a=l.subRows)!=null&&a.length&&l.getCanSelectSubRows())l.subRows.forEach((d)=>ts(e,d.id,r,s,i))};function Jr(e,n){let r=e.getState().rowSelection,s=[],i={},a=function(l,d){return l.map((c)=>{var p;let f=ss(c,r);if(f)s.push(c),i[c.id]=c;if((p=c.subRows)!=null&&p.length)c={...c,subRows:a(c.subRows)};if(f)return c}).filter(Boolean)};return{rows:a(n.rows),flatRows:s,rowsById:i}}function ss(e,n){var r;return(r=n[e.id])!=null?r:!1}function ns(e,n,r){var s;if(!((s=e.subRows)!=null&&s.length))return!1;let i=!0,a=!1;return e.subRows.forEach((l)=>{if(a&&!i)return;if(l.getCanSelect())if(ss(l,n))a=!0;else i=!1;if(l.subRows&&l.subRows.length){let d=ns(l,n);if(d==="all")a=!0;else if(d==="some")a=!0,i=!1;else i=!1}}),i?"all":a?"some":!1}var os=/([0-9]+)/gm,Fp=(e,n,r)=>rl(sn(e.getValue(r)).toLowerCase(),sn(n.getValue(r)).toLowerCase()),Ip=(e,n,r)=>rl(sn(e.getValue(r)),sn(n.getValue(r))),_p=(e,n,r)=>is(sn(e.getValue(r)).toLowerCase(),sn(n.getValue(r)).toLowerCase()),Tp=(e,n,r)=>is(sn(e.getValue(r)),sn(n.getValue(r))),kp=(e,n,r)=>{let s=e.getValue(r),i=n.getValue(r);return s>i?1:s<i?-1:0},Pp=(e,n,r)=>is(e.getValue(r),n.getValue(r));function is(e,n){return e===n?0:e>n?1:-1}function sn(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 rl(e,n){let r=e.split(os).filter(Boolean),s=n.split(os).filter(Boolean);while(r.length&&s.length){let i=r.shift(),a=s.shift(),l=parseInt(i,10),d=parseInt(a,10),c=[l,d].sort();if(isNaN(c[0])){if(i>a)return 1;if(a>i)return-1;continue}if(isNaN(c[1]))return isNaN(l)?-1:1;if(l>d)return 1;if(d>l)return-1}return r.length-s.length}var no={alphanumeric:Fp,alphanumericCaseSensitive:Ip,text:_p,textCaseSensitive:Tp,datetime:kp,basic:Pp},Dp={getInitialState:(e)=>({sorting:[],...e}),getDefaultColumnDef:()=>({sortingFn:"auto",sortUndefined:1}),getDefaultOptions:(e)=>({onSortingChange:$t("sorting",e),isMultiSortEvent:(n)=>n.shiftKey}),createColumn:(e,n)=>{e.getAutoSortingFn=()=>{let r=n.getFilteredRowModel().flatRows.slice(10),s=!1;for(let i of r){let a=i==null?void 0:i.getValue(e.id);if(Object.prototype.toString.call(a)==="[object Date]")return no.datetime;if(typeof a==="string"){if(s=!0,a.split(os).length>1)return no.alphanumeric}}if(s)return no.text;return no.basic},e.getAutoSortDir=()=>{let r=n.getFilteredRowModel().flatRows[0];if(typeof(r==null?void 0:r.getValue(e.id))==="string")return"asc";return"desc"},e.getSortingFn=()=>{var r,s;if(!e)throw Error();return Mo(e.columnDef.sortingFn)?e.columnDef.sortingFn:e.columnDef.sortingFn==="auto"?e.getAutoSortingFn():(r=(s=n.options.sortingFns)==null?void 0:s[e.columnDef.sortingFn])!=null?r:no[e.columnDef.sortingFn]},e.toggleSorting=(r,s)=>{let i=e.getNextSortingOrder(),a=typeof r<"u"&&r!==null;n.setSorting((l)=>{let d=l==null?void 0:l.find((g)=>g.id===e.id),c=l==null?void 0:l.findIndex((g)=>g.id===e.id),p=[],f,y=a?r:i==="desc";if(l!=null&&l.length&&e.getCanMultiSort()&&s)if(d)f="toggle";else f="add";else if(l!=null&&l.length&&c!==l.length-1)f="replace";else if(d)f="toggle";else f="replace";if(f==="toggle"){if(!a){if(!i)f="remove"}}if(f==="add"){var m;p=[...l,{id:e.id,desc:y}],p.splice(0,p.length-((m=n.options.maxMultiSortColCount)!=null?m:Number.MAX_SAFE_INTEGER))}else if(f==="toggle")p=l.map((g)=>{if(g.id===e.id)return{...g,desc:y};return g});else if(f==="remove")p=l.filter((g)=>g.id!==e.id);else p=[{id:e.id,desc:y}];return p})},e.getFirstSortDir=()=>{var r,s;return((r=(s=e.columnDef.sortDescFirst)!=null?s:n.options.sortDescFirst)!=null?r:e.getAutoSortDir()==="desc")?"desc":"asc"},e.getNextSortingOrder=(r)=>{var s,i;let a=e.getFirstSortDir(),l=e.getIsSorted();if(!l)return a;if(l!==a&&((s=n.options.enableSortingRemoval)!=null?s:!0)&&(r?(i=n.options.enableMultiRemove)!=null?i:!0:!0))return!1;return l==="desc"?"asc":"desc"},e.getCanSort=()=>{var r,s;return((r=e.columnDef.enableSorting)!=null?r:!0)&&((s=n.options.enableSorting)!=null?s:!0)&&!!e.accessorFn},e.getCanMultiSort=()=>{var r,s;return(r=(s=e.columnDef.enableMultiSort)!=null?s:n.options.enableMultiSort)!=null?r:!!e.accessorFn},e.getIsSorted=()=>{var r;let s=(r=n.getState().sorting)==null?void 0:r.find((i)=>i.id===e.id);return!s?!1:s.desc?"desc":"asc"},e.getSortIndex=()=>{var r,s;return(r=(s=n.getState().sorting)==null?void 0:s.findIndex((i)=>i.id===e.id))!=null?r:-1},e.clearSorting=()=>{n.setSorting((r)=>r!=null&&r.length?r.filter((s)=>s.id!==e.id):[])},e.getToggleSortingHandler=()=>{let r=e.getCanSort();return(s)=>{if(!r)return;s.persist==null||s.persist(),e.toggleSorting==null||e.toggleSorting(void 0,e.getCanMultiSort()?n.options.isMultiSortEvent==null?void 0:n.options.isMultiSortEvent(s):!1)}}},createTable:(e)=>{e.setSorting=(n)=>e.options.onSortingChange==null?void 0:e.options.onSortingChange(n),e.resetSorting=(n)=>{var r,s;e.setSorting(n?[]:(r=(s=e.initialState)==null?void 0:s.sorting)!=null?r:[])},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()}}},$p=[Oc,cp,ip,ap,Lc,Vc,fp,gp,Dp,rp,wp,yp,bp,Rp,dp];function sl(e){var n,r;let s=[...$p,...(n=e._features)!=null?n:[]],i={_features:s},a=i._features.reduce((m,g)=>Object.assign(m,g.getDefaultOptions==null?void 0:g.getDefaultOptions(i)),{}),l=(m)=>{if(i.options.mergeOptions)return i.options.mergeOptions(a,m);return{...a,...m}},c={...{},...(r=e.initialState)!=null?r:{}};i._features.forEach((m)=>{var g;c=(g=m.getInitialState==null?void 0:m.getInitialState(c))!=null?g:c});let p=[],f=!1,y={_features:s,options:{...a,...e},initialState:c,_queue:(m)=>{if(p.push(m),!f)f=!0,Promise.resolve().then(()=>{while(p.length)p.shift()();f=!1}).catch((g)=>setTimeout(()=>{throw g}))},reset:()=>{i.setState(i.initialState)},setOptions:(m)=>{let g=on(m,i.options);i.options=l(g)},getState:()=>i.options.state,setState:(m)=>{i.options.onStateChange==null||i.options.onStateChange(m)},_getRowId:(m,g,x)=>{var b;return(b=i.options.getRowId==null?void 0:i.options.getRowId(m,g,x))!=null?b:`${x?[x.id,g].join("."):g}`},getCoreRowModel:()=>{if(!i._getCoreRowModel)i._getCoreRowModel=i.options.getCoreRowModel(i);return i._getCoreRowModel()},getRowModel:()=>i.getPaginationRowModel(),getRow:(m,g)=>{let x=(g?i.getPrePaginationRowModel():i.getRowModel()).rowsById[m];if(!x){if(x=i.getCoreRowModel().rowsById[m],!x)throw Error()}return x},_getDefaultColumnDef:We(()=>[i.options.defaultColumn],(m)=>{var g;return m=(g=m)!=null?g:{},{header:(x)=>{let b=x.header.column.columnDef;if(b.accessorKey)return b.accessorKey;if(b.accessorFn)return b.id;return null},cell:(x)=>{var b,F;return(b=(F=x.renderValue())==null||F.toString==null?void 0:F.toString())!=null?b:null},...i._features.reduce((x,b)=>Object.assign(x,b.getDefaultColumnDef==null?void 0:b.getDefaultColumnDef()),{}),...m}},Ke(e,"debugColumns","_getDefaultColumnDef")),_getColumnDefs:()=>i.options.columns,getAllColumns:We(()=>[i._getColumnDefs()],(m)=>{let g=function(x,b,F){if(F===void 0)F=0;return x.map((k)=>{let j=Dc(i,k,F,b),G=k;return j.columns=G.columns?g(G.columns,j,F+1):[],j})};return g(m)},Ke(e,"debugColumns","getAllColumns")),getAllFlatColumns:We(()=>[i.getAllColumns()],(m)=>m.flatMap((g)=>g.getFlatColumns()),Ke(e,"debugColumns","getAllFlatColumns")),_getAllFlatColumnsById:We(()=>[i.getAllFlatColumns()],(m)=>m.reduce((g,x)=>(g[x.id]=x,g),{}),Ke(e,"debugColumns","getAllFlatColumnsById")),getAllLeafColumns:We(()=>[i.getAllColumns(),i._getOrderColumnsFn()],(m,g)=>{let x=m.flatMap((b)=>b.getLeafColumns());return g(x)},Ke(e,"debugColumns","getAllLeafColumns")),getColumn:(m)=>i._getAllFlatColumnsById()[m]};Object.assign(i,y);for(let m=0;m<i._features.length;m++){let g=i._features[m];g==null||g.createTable==null||g.createTable(i)}return i}function il(){return(e)=>We(()=>[e.options.data],(n)=>{let r={rows:[],flatRows:[],rowsById:{}},s=function(i,a,l){if(a===void 0)a=0;let d=[];for(let p=0;p<i.length;p++){let f=$c(e,e._getRowId(i[p],p,l),i[p],p,a,void 0,l==null?void 0:l.id);if(r.flatRows.push(f),r.rowsById[f.id]=f,d.push(f),e.options.getSubRows){var c;if(f.originalSubRows=e.options.getSubRows(i[p],p),(c=f.originalSubRows)!=null&&c.length)f.subRows=s(f.originalSubRows,a+1,f)}}return d};return r.rows=s(n),r},Ke(e.options,"debugTable","getRowModel",()=>e._autoResetPageIndex()))}function al(e,n){return!e?null:zp(e)?q(e,n):e}function zp(e){return Lp(e)||typeof e==="function"||Up(e)}function Lp(e){return typeof e==="function"&&(()=>{let n=Object.getPrototypeOf(e);return n.prototype&&n.prototype.isReactComponent})()}function Up(e){return typeof e==="object"&&typeof e.$$typeof==="symbol"&&["react.memo","react.forward_ref"].includes(e.$$typeof.description)}function ll(e){let n={state:{},onStateChange:()=>{},renderFallbackValue:null,...e},[r]=u(()=>({current:sl(n)})),[s,i]=u(()=>r.current.initialState);return r.current.setOptions((a)=>({...a,...e,state:{...s,...e.state},onStateChange:(l)=>{i(l),e.onStateChange==null||e.onStateChange(l)}})),r.current}C();function jp({item:e,renderItem:n,active:r,dragState:s,isSelected:i,columnSizing:a,virtualRow:l,measureElement:d,isExternalDragging:c,externalOverFolderId:p,setExternalOverFolderId:f,resetExternalDragState:y,onExternalDrop:m}){let g=s?.draggedIds.has(e.id),x=s?.isActive,{ref:b,isDropTarget:F}=Pr({id:`reorder-before-${e.id}`,data:{type:"reorder",item:e,position:"before"},disabled:!r||g||!x}),{ref:k,isDropTarget:j}=Pr({id:`reorder-after-${e.id}`,data:{type:"reorder",item:e,position:"after"},disabled:!r||g||!x}),{ref:G,isDropTarget:X}=Pr({id:`browser:${e.id}`,data:{type:e.type,id:e.id,item:e},disabled:!x}),J=O(()=>{if(!s?.isActive)return!1;if(s.draggedIds.has(e.id))return!1;if(e.type==="folder")return!0;if(e.type==="file"||e.type==="version_stack")return s.isSingleFile;return!1},[s,e.id,e.type]),re=c&&p===e.id,xe=X&&J||re;return o("div",{ref:(ee)=>{G(ee),d(ee)},"data-index":l.index,onDragEnter:c&&e.type==="folder"?()=>{f?.(e.id)}:void 0,onDragLeave:c&&e.type==="folder"?(ee)=>{if(!ee.currentTarget.contains(ee.relatedTarget))f?.(null)}:void 0,onDragOver:c&&e.type==="folder"?(ee)=>{ee.preventDefault()}:void 0,onDrop:c&&e.type==="folder"?async(ee)=>{ee.preventDefault(),ee.stopPropagation(),y?.();let Oe=await Ui(ee.dataTransfer);m?.(Oe,e.id)}:void 0,className:E("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",i&&"bg-primary/10",xe&&"bg-primary/10",F&&"border-t-2 border-t-primary",j&&"border-b-2 border-b-primary"),style:{transform:`translateY(${l.start}px)`},children:[t("div",{ref:b,className:"p-0 m-0 leading-none bg-transparent pointer-events-auto h-[2px] w-full"}),n(e,a),t("div",{ref:k,className:"p-0 m-0 leading-none bg-transparent pointer-events-auto h-[2px] w-full"})]})}function ul({folders:e,files:n,totalFolders:r,totalFiles:s,selectedItem:i,selectedIds:a,displayedFields:l,renderItem:d,foldersExpanded:c,setFoldersExpanded:p,filesExpanded:f,setFilesExpanded:y,hasNextFoldersPage:m,hasNextFilesPage:g,isFetchingNextFoldersPage:x,isFetchingNextFilesPage:b,fetchNextFoldersPage:F,fetchNextFilesPage:k,formatCount:j,formatSize:G,totalFoldersSize:X,totalFilesSize:J,handleEmptyAreaClick:re,dragState:xe,sort:ee,isExternalDragging:Oe,externalOverFolderId:_,setExternalOverFolderId:Ce,resetExternalDragState:ye,onExternalDrop:fe}){let[ae,He]=u({}),Ge=O(()=>{let ct=[{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 l.forEach((Ne)=>{let Ve=Ne.config?.type?ai[Ne.config.type]:null;ct.push({id:Ne.id,header:()=>o("div",{className:"flex items-center gap-1.5 truncate",children:[Ve&&t(Ve,{className:"h-3.5 w-3.5 text-muted-foreground shrink-0"}),t("span",{className:"truncate",children:Ne.config?.name||Ne.id})]}),size:150,minSize:100})}),ct},[l]),te=ll({data:[],columns:Ge,columnResizeMode:"onChange",getCoreRowModel:il(),state:{columnSizing:ae},onColumnSizingChange:He}),Ye=O(()=>{let ct=[],Ne=r??e.length;if(Ne>0){if(ct.push({type:"header",kind:"folder"}),c)for(let it=0;it<Ne;it++)ct.push({type:"item",kind:"folder",index:it})}let Ve=s??n.length;if(Ve>0){if(ct.push({type:"header",kind:"file"}),f)for(let it=0;it<Ve;it++)ct.push({type:"item",kind:"file",index:it})}return ct},[c,f,e.length,n.length,r,s]),lt=w(null),Fe=Ro({count:Ye.length,getScrollElement:()=>lt.current,estimateSize:()=>40,getItemKey:N((ct)=>{let Ne=Ye[ct];if(!Ne)return ct;if(Ne.type==="header")return`header-${Ne.kind}`;return(Ne.kind==="folder"?e[Ne.index]:n[Ne.index])?.id||`item-${Ne.kind}-${Ne.index}`},[Ye,e,n]),overscan:10}),je=Fe.getVirtualItems();return h(()=>{if(je.length===0)return;for(let ct of je){let Ne=Ye[ct.index];if(Ne?.type==="item"){let Ve=Ne.kind==="folder"?!e[Ne.index]:!n[Ne.index],it=Ne.kind==="folder"?Ne.index>=e.length-15:Ne.index>=n.length-15;if(Ne.kind==="folder"&&m&&!x){if(Ve||it){F();break}}else if(Ne.kind==="file"&&g&&!b){if(Ve||it){k();break}}}}},[je,Ye,e.length,n.length,m,g,x,b,F,k]),t("div",{ref:lt,className:"flex-1 overflow-auto",onClick:re,children:o("div",{className:"w-full relative",style:{width:te.getTotalSize(),minWidth:"100%"},children:[t("div",{className:"sticky top-0 z-30 bg-background border-b border-border flex flex-col",children:te.getHeaderGroups().map((ct)=>t("div",{className:"bg-muted/50 whitespace-nowrap flex",children:ct.headers.map((Ne)=>o("div",{className:E("px-4 py-2 text-left text-xs font-medium text-muted-foreground relative border-r flex items-center",Ne.id==="name"&&"sticky left-0 z-40 bg-muted"),style:{width:Ne.getSize()},children:[Ne.isPlaceholder?null:al(Ne.column.columnDef.header,Ne.getContext()),t("div",{onMouseDown:Ne.getResizeHandler(),onTouchStart:Ne.getResizeHandler(),className:E("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",Ne.column.getIsResizing()&&"bg-primary w-1")})]},Ne.id))},ct.id))}),t("div",{className:"relative",style:{height:`${Fe.getTotalSize()}px`},children:je.map((ct)=>{let Ne=Ye[ct.index];if(Ne.type==="header"){let it=Ne.kind==="folder",Rt=it?r??e.length:s??n.length,Ft=it?X??-1:J??-1,oe=Ft>-1,pt=it?c:f,_e=it?p:y,Se=it?e.length>0:n.length>0;return o("div",{ref:Fe.measureElement,"data-index":ct.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(${ct.start}px)`},onClick:(P)=>{P.stopPropagation(),_e(!pt)},children:[o("div",{className:"px-4 py-2 sticky left-0 z-10 bg-card border-r flex items-center gap-2",style:{width:ae?.name||300,minWidth:ae?.name||300},children:[t(Nr,{checked:Se&&(it?e.every((P)=>a.has(P.id)):n.every((P)=>a.has(P.id))),onCheckedChange:()=>{},onClick:(P)=>P.stopPropagation(),className:"h-4 w-4"}),t("div",{className:"p-1 rounded hover:bg-muted",children:pt?t(we,{className:"h-4 w-4 text-muted-foreground"}):t(ht,{className:"h-4 w-4 text-muted-foreground"})}),o("span",{className:"text-sm font-medium text-muted-foreground whitespace-nowrap",children:[j(Rt,!it),oe?` • ${G(Ft)}`:""]})]}),t("div",{className:"flex-1 bg-card"})]},`header-${Ne.kind}`)}let Ve=Ne.kind==="folder"?e[Ne.index]:n[Ne.index];if(!Ve)return t("div",{ref:Fe.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(${ct.start}px)`},children:t("div",{className:"h-4 bg-muted rounded w-1/4"})},`skeleton-${Ne.kind}-${Ne.index}`);return t(jp,{item:Ve,renderItem:d,active:ee?.field==="custom",dragState:xe,isSelected:i?.id===Ve.id,columnSizing:ae,virtualRow:ct,measureElement:Fe.measureElement,isExternalDragging:Oe,externalOverFolderId:_,setExternalOverFolderId:Ce,resetExternalDragState:ye,onExternalDrop:fe},Ve.id)})})]})})}C();C();var zt={SYSTEM:"system",TEAM:"team",PROJECT:"project"},Vp={[zt.SYSTEM]:Fn,[zt.TEAM]:Fn,[zt.PROJECT]:Sa};function qp({field:e,index:n,isSelected:r,onSelect:s,isSortable:i}){let{ref:a,handleRef:l}=Ni({id:e.id,index:n,disabled:!i}),d=e.config?.type?ai[e.config.type]:null;return o("div",{ref:a,className:E("flex items-center gap-2 p-2 rounded-md cursor-pointer hover:bg-muted/50",r&&"bg-muted"),onClick:()=>s(e),children:[i&&t("div",{ref:l,className:"cursor-grab",children:t(Os,{className:"h-4 w-4 text-muted-foreground"})}),!i&&t("div",{className:"w-4"})," ",d&&t(d,{className:"h-4 w-4 text-muted-foreground shrink-0"}),e.config?.autofillSource===xr.CONTENT&&t(rn,{className:"h-4 w-4 text-muted-foreground shrink-0"}),e.config?.autofillSource===xr.CREATION_CONTEXT&&t(vt,{className:"h-4 w-4 text-muted-foreground shrink-0"}),t("div",{className:"flex-1 text-sm font-medium truncate",children:e.config?.name})]})}function cl({projectId:e,open:n,onOpenChange:r}){let{fields:s,updateFields:i}=Or(),[a,l]=u(zt.PROJECT),[d,c]=u(null),[p,f]=u(!1),y=W();h(()=>{if(n)y.invalidateQueries({queryKey:["fields",e]})},[n,e,y]);let[m,g]=u(""),[x,b]=u({}),[F,k]=u(xr.NONE),[j,G]=u(""),[X,J]=u(""),[re,xe]=u(""),[ee,Oe]=u(xr.NONE),[_,Ce]=u(""),[ye,fe]=u([]),ae=A.api.projects[":projectId"].fields.order.$patch,{mutate:He}=U({mutationFn:async(Q)=>{if(!(await ae(Q)).ok)throw Error(Mf());return null}}),Ge=A.api.projects[":projectId"].fields.$post,{mutate:te}=U({mutationFn:async(Q)=>{let I=await Ge(Q);if(!I.ok)throw Error(Tf());return await I.json()},onSuccess:(Q)=>{let I={...Q,visible:!0};i([...s,I]),f(!1),c(Q.id),it(Q),R.success(Ob())}}),Ye=A.api.fields[":fieldId"].$put,{mutate:lt}=U({mutationFn:async(Q)=>{let I=await Ye(Q);if(!I.ok)throw Error(ml());return await I.json()},onSuccess:(Q)=>{let I=s.map((ze)=>ze.id===Q.id?{...ze,...Q}:ze);i(I),R.success(Ub())}}),Fe=A.api.fields[":fieldId"].$delete,{mutate:je}=U({mutationFn:async(Q)=>{if(!(await Fe(Q)).ok)throw Error(cb());return null},onSuccess:(Q,I)=>{let ze=s.filter((ft)=>ft.id!==I.param.fieldId);i(ze),c(null),R.success(Db())}}),ct=O(()=>{let Q=Array.from(new Set(s.map((I)=>(I.scope||zt.PROJECT).toLowerCase())));if(!Q.includes(zt.PROJECT))Q.push(zt.PROJECT);return Q.map((I)=>({id:I,label:I===zt.SYSTEM?nb():I===zt.TEAM?eI():I===zt.PROJECT?e_():I.charAt(0).toUpperCase()+I.slice(1),icon:Vp[I]||Fn}))},[s]),Ne=O(()=>s.filter((Q)=>(Q.scope||zt.PROJECT).toLowerCase()===a),[s,a]),Ve=O(()=>s.find((Q)=>Q.id===d),[s,d]),it=(Q)=>{if(Q)g(Q.config?.name||""),b(Q.config||{}),k(Q.config?.autofillSource??xr.NONE),G(Q.description||"");else g(""),b({}),k(xr.NONE),G("")},Rt=(Q)=>{f(!1),c(Q.id),it(Q)},Ft=()=>{f(!0),c(null),J(""),xe(""),Oe(xr.NONE),Ce(""),fe([])},oe=(Q)=>{if(Q.canceled)return;let{source:I}=Q.operation;if(!Xn(I))return;let{initialIndex:ze,index:ft}=I;if(ze===ft)return;let wt=nu(s,Ne,ze,ft);i(wt),He({param:{projectId:e},json:wt.map((kt)=>({fieldId:kt.id,visible:kt.visible||!1}))})},pt=()=>{if(!X||!re)return;let Q=re===Mr.select?{select:{options:ye}}:re===Mr.selectMulti?{selectMulti:{options:ye}}:{};te({param:{projectId:e},json:{config:{name:X,type:re,autofillSource:ee,...Q},label:X,scope:a===zt.PROJECT?void 0:a,description:_}})},_e=()=>{if(!Ve)return;lt({param:{fieldId:Ve.id},json:{config:{...Ve.config,...x,name:m,autofillSource:F},description:j}})},Se=()=>{if(!Ve)return;if(confirm(C0()))je({param:{fieldId:Ve.id}})},P=()=>{if(p)return o("div",{className:"space-y-4",children:[o("div",{className:"space-y-2",children:[t(V,{children:kf()}),t(H,{value:X,onChange:(I)=>J(I.target.value),placeholder:Lb()})]}),o("div",{className:"space-y-2",children:[t(V,{children:Pf()}),o(he,{children:[t(ge,{asChild:!0,children:o(S,{variant:"outline",className:"w-full justify-between",children:[re?t("span",{className:"capitalize",children:re.replace(/_/g," ")}):t("span",{className:"text-muted-foreground",children:oE()}),t(we,{className:"h-4 w-4 opacity-50"})]})}),t(Ae,{className:"max-h-60 overflow-y-auto",children:Object.values(Mr).map((I)=>t(K,{onClick:()=>{xe(I),fe([])},className:"capitalize",children:I.replace(/_/g," ")},I))})]})]}),o("div",{className:"space-y-2",children:[t(V,{children:fl()}),t(H,{value:_,onChange:(I)=>Ce(I.target.value),placeholder:sd()})]}),o("div",{className:"space-y-2",children:[o("div",{className:"flex items-center gap-1",children:[t(V,{children:nd()}),t(Bl,{})]}),o(Eo,{type:"single",value:ee,onValueChange:(I)=>{if(I)Oe(I)},className:"w-full grid grid-cols-3 border rounded-md p-1 gap-1",children:[t(mr,{value:xr.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:Mc()}),t(mr,{value:xr.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:Ic()}),t(mr,{value:xr.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:Tc()})]})]}),(re===Mr.select||re===Mr.selectMulti)&&o("div",{className:"space-y-2",children:[o("div",{className:"flex items-center justify-between",children:[t(V,{className:"text-sm font-medium",children:_d()}),o(S,{variant:"ghost",size:"sm",onClick:()=>{let I={id:Zo(),displayName:gd(),color:Ia(ye)};fe([...ye,I])},children:[t(pe,{className:"h-4 w-4 mr-2"})," ",Xu()]})]}),t("div",{className:"space-y-2 max-h-40 overflow-y-auto pr-1",children:ye.map((I,ze)=>o("div",{className:"flex items-center gap-2",children:[t(H,{value:I.displayName,onChange:(ft)=>{let wt=[...ye];wt[ze]={...I,displayName:ft.target.value},fe(wt)},placeholder:Xf()}),o(At,{children:[t(yt,{asChild:!0,children:t("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:Ea[I.color||""]?.hex||I.color||"#808080"}})}),t(_t,{className:"p-2 w-auto",align:"end",children:t("div",{className:"flex gap-1",children:si.map((ft)=>t("button",{type:"button",className:"w-5 h-5 rounded-full border cursor-pointer hover:scale-110 transition-transform",style:{backgroundColor:Ea[ft]?.hex||ft},onClick:()=>{let wt=[...ye];wt[ze]={...I,color:ft},fe(wt)}},ft))})})]}),t(S,{variant:"ghost",size:"icon",onClick:()=>{fe(ye.filter((ft,wt)=>wt!==ze))},children:t(ke,{className:"h-4 w-4"})})]},I.id||ze))})]})]});if(!Ve)return t("div",{className:"text-muted-foreground text-sm",children:KC()});let Q=Ve.readOnly;return o("div",{className:"space-y-6",children:[o("div",{className:"flex items-center justify-between",children:[t(H,{value:m,onChange:(I)=>g(I.target.value),disabled:Q,className:"font-medium"}),Q&&t(en,{className:"h-4 w-4 text-muted-foreground ml-2"})]}),o("div",{className:"text-sm text-muted-foreground",children:[NI()," ",t("span",{className:"capitalize",children:Ve.config?.type?.replace(/_/g," ")})]}),o("div",{className:"space-y-2",children:[t(V,{children:fl()}),t(H,{value:j,onChange:(I)=>G(I.target.value),placeholder:sd(),disabled:Q})]}),o("div",{className:"space-y-2",children:[o("div",{className:"flex items-center gap-1",children:[t(V,{children:nd()}),t(Bl,{})]}),o(Eo,{type:"single",value:p?ee:F,onValueChange:(I)=>{if(I)if(p)Oe(I);else k(I)},disabled:Q,className:"w-full grid grid-cols-3 border rounded-md p-1 gap-1",children:[t(mr,{value:xr.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:Mc()}),t(mr,{value:xr.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:Ic()}),t(mr,{value:xr.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:Tc()})]})]}),(Ve.config?.type==="select"||Ve.config?.type==="selectMulti")&&o("div",{className:"space-y-2",children:[o("div",{className:"flex items-center justify-between",children:[t("label",{className:"text-sm font-medium",children:_d()}),o(S,{variant:"ghost",size:"sm",onClick:()=>{let I=(Ve.config?.type==="select"?x.select?.options:x.selectMulti?.options)||[],ze={id:Zo(),displayName:gd(),color:Ia(I)},ft=[...I,ze];b({...x,[Ve.config?.type==="select"?"select":"selectMulti"]:{options:ft}})},children:[t(pe,{className:"h-4 w-4 mr-2"})," ",Xu()]})]}),t("div",{className:"space-y-2",children:((Ve.config?.type==="select"?x.select?.options:x.selectMulti?.options)||[]).map((I,ze)=>o("div",{className:"flex items-center gap-2",children:[t(H,{value:I.displayName,onChange:(ft)=>{let wt=[...(Ve.config?.type==="select"?x.select?.options:x.selectMulti?.options)||[]];wt[ze]={...I,displayName:ft.target.value},b({...x,[Ve.config?.type==="select"?"select":"selectMulti"]:{options:wt}})}}),o(At,{children:[t(yt,{asChild:!0,children:t("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:Ea[I.color||""]?.hex||I.color||"#808080"},disabled:Q})}),!Q&&t(_t,{className:"p-2 w-auto",align:"end",children:t("div",{className:"flex gap-1",children:si.map((ft)=>t("button",{type:"button",className:"w-5 h-5 rounded-full border cursor-pointer hover:scale-110 transition-transform",style:{backgroundColor:Ea[ft]?.hex||ft},onClick:()=>{let wt=[...(Ve.config?.type==="select"?x.select?.options:x.selectMulti?.options)||[]];wt[ze]={...I,color:ft},b({...x,[Ve.config?.type==="select"?"select":"selectMulti"]:{options:wt}})}},ft))})})]}),t(S,{variant:"ghost",size:"icon",onClick:()=>{let ft=((Ve.config?.type==="select"?x.select?.options:x.selectMulti?.options)||[]).filter((wt,kt)=>kt!==ze);b({...x,[Ve.config?.type==="select"?"select":"selectMulti"]:{options:ft}})},children:t(ke,{className:"h-4 w-4"})})]},ze))})]}),!Q&&Ve.scope?.toLowerCase()!=="system"&&t("div",{className:"pt-4 flex justify-between",children:t(S,{variant:"outline",onClick:Se,className:"text-destructive hover:bg-destructive/10",children:m_()})})]})};return t(ue,{open:n,onOpenChange:r,children:o(ie,{className:"!max-w-[50rem] h-[70vh] flex flex-col p-0 gap-0",children:[t("div",{className:"p-4 border-b flex items-center justify-between",children:t(le,{children:Bf()})}),o("div",{className:"flex overflow-hidden h-full",children:[o("div",{className:"w-60 border-r bg-muted/30 p-4 space-y-1",children:[t("div",{className:"font-semibold mb-4 px-2",children:fw()}),ct.map((Q)=>o("button",{onClick:()=>{l(Q.id),f(!1),c(null)},className:E("w-full flex items-center gap-2 px-3 py-2 rounded-md text-sm font-medium transition-colors hover:bg-muted text-left",a===Q.id&&"bg-muted text-foreground"),children:[t(Q.icon,{className:"h-4 w-4"}),Q.label]},Q.id))]}),o("div",{className:"w-64 border-r flex flex-col",children:[o("div",{className:"p-4 border-b flex items-center justify-between bg-background h-[57px]",children:[t("span",{className:"font-medium text-sm",children:ct.find((Q)=>Q.id===a)?.label}),a===zt.PROJECT&&o(S,{size:"sm",variant:"outline",className:"h-8",onClick:Ft,children:[Yv()," ",t(pe,{className:"ml-1 h-3 w-3"})]})]}),o("div",{className:"flex-1 overflow-y-auto p-2 space-y-1",children:[t(jn,{sensors:[un.configure({activationConstraints:[new kr.Distance({value:8})]}),Ko],onDragEnd:oe,children:Ne.map((Q,I)=>t(qp,{field:Q,index:I,isSelected:d===Q.id,onSelect:Rt,isSortable:!0},Q.id))}),Ne.length===0&&t("div",{className:"text-center text-muted-foreground text-sm py-8",children:lx()})]})]}),o("div",{className:"flex-1 bg-background flex flex-col",children:[t("div",{className:"flex-1 overflow-y-auto p-6",children:P()}),(p||Ve&&!Ve.readOnly)&&o("div",{className:"p-4 border-t flex justify-end gap-2 bg-muted/10",children:[t(S,{variant:"ghost",onClick:()=>{if(f(!1),d&&Ve)it(Ve)},children:Pe()}),t(S,{onClick:p?pt:_e,children:Oo()})]})]})]})]})})}C();function as({value:e,onChange:n,debounce:r=500,...s}){let[i,a]=u(e);return h(()=>{a(e)},[e]),h(()=>{let l=setTimeout(()=>{if(i!==e)n(i)},r);return()=>clearTimeout(l)},[i,r,n,e]),t(H,{...s,value:i,onChange:(l)=>a(l.target.value)})}C();function To({fields:e,conditions:n,onChange:r,className:s,excludeFields:i,hidePrefix:a}){let l=fs(),{members:d,fetchMembers:c}=Ur();h(()=>{if(l)c(l)},[l,c]);let p=O(()=>d.map((x)=>({id:x.id,displayName:x.name,color:"system"})),[d]),f=O(()=>{let x=[{id:"name",label:Sl(),type:"text"},{id:"createdAt",label:Nb(),type:"date"},{id:"updatedAt",label:Bb(),type:"date"},{id:"sizeByte",label:Zb(),type:"number"}],b=e.map((F)=>({id:F.id,label:F.config?.name||F.description||cn(),type:Bp(F),options:F.config?.type==="user"||F.config?.type==="userMulti"?p:F.config?.select?.options||F.config?.selectMulti?.options,config:F.config}));return[...x,...b].filter((F)=>!i?.includes(F.id))},[e,p,i]),y=()=>{r([...n,{field:f[0]?.id||"name",operator:"eq",value:""}])},m=(x)=>{let b=[...n];b.splice(x,1),r(b)},g=(x,b,F)=>{let k=[...n];if(k[x]={...k[x],[b]:F},b==="field"){let j=f.find((G)=>G.id===F);if(j)k[x].operator=Hp(j.type),k[x].value=""}if(b==="operator"){let j=f.find((G)=>G.id===k[x].field);if(j&&(j.type==="select"||j.type==="selectMulti")){let G=n[x].operator,X=F,J=ls(j.type,G),re=ls(j.type,X);if(J&&!re){let xe=Array.isArray(k[x].value)?k[x].value:[];k[x].value=xe[0]||""}else if(!J&&re){let xe=k[x].value;k[x].value=xe?[xe]:[]}}}r(k)};return o("div",{className:E("p-2 space-y-4 min-w-[100px]",s),children:[n.map((x,b)=>o("div",{className:"flex items-center gap-2",children:[!a&&t("div",{className:"w-16 text-sm text-muted-foreground font-medium text-right",children:b===0?Gb():qb()}),o("div",{className:"flex-1 flex items-center gap-2",children:[o(Le,{value:x.field,onValueChange:(F)=>g(b,"field",F),children:[t(Be,{className:"w-[180px]",children:t(Ze,{placeholder:VC()})}),t(Ue,{children:f.map((F)=>t(ne,{value:F.id,children:F.label},F.id))})]}),o(Le,{value:x.operator,onValueChange:(F)=>g(b,"operator",F),children:[t(Be,{className:"w-[140px]",children:t(Ze,{placeholder:Ox()})}),t(Ue,{children:Gp(f.find((F)=>F.id===x.field)||{id:"",label:"",type:"text"}).map((F)=>t(ne,{value:F.value,children:F.label},F.value))})]}),t("div",{className:"flex-1",children:x.operator!=="isEmpty"&&x.operator!=="isNotEmpty"&&t(Kp,{field:f.find((F)=>F.id===x.field),operator:x.operator,value:x.value,onChange:(F)=>g(b,"value",F)})}),t(S,{variant:"ghost",size:"icon",onClick:()=>m(b),children:t(ve,{className:"h-4 w-4"})})]})]},b)),t("div",{className:"flex items-center gap-2",children:t(S,{variant:"ghost",className:"text-muted-foreground hover:text-foreground",onClick:y,children:gA()})})]})}function Bp(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 Hp(e){switch(e){case"selectMulti":return"hasAny";case"number":case"rating":case"date":return"eq";default:return"eq"}}function Gp(e){let n=e.type;if(e.id==="name")return[{value:"eq",label:Al()},{value:"neq",label:yd()},{value:"contains",label:Dx()},{value:"notContains",label:Lx()},{value:"isEmpty",label:yl()},{value:"isNotEmpty",label:_l()}];switch(n){case"text":return[{value:"eq",label:Al()},{value:"neq",label:yd()},{value:"isEmpty",label:yl()},{value:"isNotEmpty",label:_l()}];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:yl()},{value:"isNotEmpty",label:_l()}];case"select":return[{value:"eq",label:Al()},{value:"neq",label:yd()},{value:"in",label:zx()},{value:"notIn",label:Hx()},{value:"isEmpty",label:yl()},{value:"isNotEmpty",label:_l()}];case"selectMulti":return[{value:"hasAny",label:Bx()},{value:"hasAll",label:Zx()},{value:"eq",label:qx()},{value:"hasNone",label:Ux()},{value:"isEmpty",label:yl()},{value:"isNotEmpty",label:_l()}];case"date":return[{value:"eq",label:Al()},{value:"isWithin",label:Qx()},{value:"lt",label:jx()},{value:"gt",label:Fx()},{value:"lte",label:Gx()},{value:"gte",label:$x()},{value:"neq",label:yd()},{value:"isEmpty",label:yl()},{value:"isNotEmpty",label:_l()}];case"toggle":return[{value:"eq",label:Al()}];default:return[{value:"eq",label:Al()}]}}function ls(e,n){if(e==="select")return n==="in"||n==="notIn";if(e==="selectMulti")return n!=="eq";return!1}function Wp({options:e,selected:n,onChange:r}){let s=e.filter((a)=>n.includes(a.id)),i=(a)=>{let l;if(n.includes(a))l=n.filter((d)=>d!==a);else l=[...n,a];r(l)};return o(At,{children:[t(yt,{asChild:!0,children:o("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:[t("div",{className:"flex flex-wrap gap-1 items-center max-w-[90%]",children:s.length===0?t("span",{className:"text-muted-foreground",children:tE()}):s.map((a)=>t("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:ys(a.color),children:a.displayName},a.id))}),t(we,{className:"h-4 w-4 shrink-0 opacity-50 ml-2"})]})}),t(_t,{className:"w-64 p-1 bg-popover border border-border rounded-lg shadow-xl max-h-60 overflow-auto",align:"start",children:e.map((a)=>{let l=n.includes(a.id);return o("div",{onClick:()=>i(a.id),className:"px-3 py-2 hover:bg-accent cursor-pointer flex items-center justify-between rounded-sm",children:[t("span",{className:"inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium",style:ys(a.color),children:a.displayName}),l&&t(Re,{className:"w-4 h-4 text-primary"})]},a.id)})})]})}function Kp({field:e,operator:n,value:r,onChange:s}){if(!e)return t(H,{disabled:!0});if((e.type==="select"||e.type==="selectMulti")&&e.options){if(ls(e.type,n)){let i=Array.isArray(r)?r:[];return t(Wp,{options:e.options,selected:i,onChange:(a)=>s(a)})}return o(Le,{value:r,onValueChange:s,children:[t(Be,{children:t(Ze,{placeholder:eE()})}),t(Ue,{children:e.options.map((i)=>t(ne,{value:i.id,children:t("span",{className:"inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium",style:ys(i.color),children:i.displayName})},i.id))})]})}if(e.type==="date"){let i=[{value:"today",label:a_()},{value:"yesterday",label:c_()},{value:"tomorrow",label:i_()},{value:"one week ago",label:o_()},{value:"one week from now",label:s_()},{value:"one month ago",label:r_()},{value:"one month from now",label:n_()}],a=i.some((l)=>l.value===r);return o("div",{className:"flex gap-2",children:[o(Le,{value:a?r:"exact",onValueChange:(l)=>{if(l==="exact")s("");else s(l)},children:[t(Be,{className:"w-[140px]",children:t(Ze,{placeholder:l_()})}),o(Ue,{children:[i.map((l)=>t(ne,{value:l.value,children:l.label},l.value)),t(ne,{value:"exact",children:ob()})]})]}),!a&&t(H,{type:"date",className:"flex-1",value:r,onChange:(l)=>s(l.target.value)})]})}if(e.type==="number")return t(as,{type:"number",value:r,onChange:(i)=>s(Number(i))});if(e.type==="rating")return t(au,{value:Number(r)||0,config:e.config||{name:e.label,type:"rating"},onSave:s});if(e.type==="toggle")return o(Le,{value:r===!0?"true":"false",onValueChange:(i)=>s(i==="true"),children:[t(Be,{children:t(Ze,{})}),o(Ue,{children:[t(ne,{value:"true",children:bI()}),t(ne,{value:"false",children:wI()})]})]});return t(as,{type:"text",placeholder:Y_(),value:r,onChange:s})}C();function pl({open:e,onOpenChange:n,teamId:r,projectId:s,assetId:i,fields:a,initialConditions:l,onApply:d}){let c=Me(),p=W(),f=O(()=>{let oe=l.find((pt)=>pt.field==="name"&&pt.operator==="contains");return oe?String(oe.value):""},[l]),y=O(()=>l.filter((oe)=>!(oe.field==="name"&&oe.operator==="contains")),[l]),[m,g]=u(y),[x,b]=u(!0),[F,k]=u(f),[j,G]=u(f),[X,J]=u(!1),{data:re}=Z({queryKey:["team-settings",r],queryFn:async()=>{let oe=await A.api.teams[":teamId"].settings.$get({param:{teamId:r}});if(!oe.ok)throw Error(ps());return await oe.json()},enabled:e}),xe=re?.semanticSearchEnabled??!1;h(()=>{if(e)k(f),G(f),g(y),J(!1);else k(""),G(""),g([]),J(!1)},[e,f,y]);let ee=O(()=>{let oe=[...m],pt=j;if(pt.trim()&&!X)oe.push({field:"name",operator:"contains",value:pt.trim()});return oe},[X,j,m]),Oe=O(()=>j.trim()!==""||m.some((pt)=>String(pt.value||"").trim()!==""),[j,m]),{mutate:_,isPending:Ce}=U({mutationFn:async()=>{let oe=j,pt=oe.trim();if(!pt&&m.length>0){let Se=m[0];pt=`${a.find((I)=>I.id===Se.field)?.config?.name||Se.field} ${Se.operator} ${Se.value}`}if(!pt)pt=Vg();let _e=await A.api.projects[":projectId"].collections.$post({param:{projectId:s},json:{name:pt,filter:{sourceFolderId:i,searchFilter:{conditions:ee,recursively:!0,query:oe.trim(),isSemantic:X}}}});if(!_e.ok)throw Error(gb());return await _e.json()},onSuccess:(oe)=>{p.invalidateQueries({queryKey:["collections",s]}),R.success(g0()),n(!1),c({to:"/projects/$projectId/collections/$collectionId",params:{projectId:s,collectionId:oe.id}})},onError:(oe)=>{R.error(`Error: ${oe.message}`)}}),{ref:ye,inView:fe}=Mt(),{data:ae,isLoading:He,isFetchingNextPage:Ge,fetchNextPage:te,hasNextPage:Ye,error:lt}=ut({queryKey:["search-preview",r,i,ee,X,j],queryFn:async({pageParam:oe})=>{let pt=j,_e=await A.api.folders[":folderId"].search.$post({param:{folderId:i},json:{assetType:void 0,conditions:ee,recursively:!0,query:pt.trim(),isSemantic:X,first:20,after:oe}});if(!_e.ok){let Se=await _e.json().catch(()=>({}));throw Error(Se.message||Cg())}return await _e.json()},enabled:e&&Oe,staleTime:500,retry:!1,initialPageParam:"",getNextPageParam:(oe)=>oe.pageInfo?.cursor||void 0});h(()=>{if(fe&&Ye&&!Ge)te()},[fe,Ye,Ge,te]);let Fe=O(()=>ae?.pages.flatMap((oe)=>oe.data)||[],[ae]),je=ae?.pages[0]?.pageInfo?.total||0,ct=(oe)=>{if(oe===10001)return"10000+";return oe.toString()},Ne=()=>{d(ee),n(!1)},Ve=()=>{g([])},it=(oe)=>{let pt=Math.floor(oe/60),_e=Math.floor(oe%60);return`${pt.toString().padStart(2,"0")}:${_e.toString().padStart(2,"0")}`},Rt=(oe)=>{if(oe.type==="folder")c({to:"/projects/$projectId/folders/$folderId",params:{projectId:s,folderId:oe.id}});else c({to:"/projects/$projectId/files/$fileId",params:{projectId:s,fileId:oe.versionStack?oe.versionStack.id:oe.id},search:{version:void 0,start:oe.startTime&&oe.startTime>0?oe.startTime:void 0}});n(!1)},Ft=m.filter((oe)=>oe.value!=="").length;return t(ue,{open:e,onOpenChange:n,children:o(ie,{className:"sm:max-w-[900px] p-0 gap-0 overflow-hidden bg-background border-border rounded-2xl shadow-2xl flex flex-col h-[85vh]",children:[t(me,{className:"px-6 pt-3 pb-0 text-left",children:t(le,{className:"text-lg font-bold",children:FC()})}),o("div",{className:"px-6 pb-6 pt-4 border-b border-border bg-muted/30 flex flex-col gap-3",children:[o("form",{onSubmit:(oe)=>{oe.preventDefault(),G(F.trim())},className:"flex flex-col gap-3 mt-2",children:[o("div",{className:"relative",children:[t(H,{value:F,onChange:(oe)=>k(oe.target.value),placeholder:X?BC():UC(),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"}),F&&t("button",{type:"button",onClick:()=>{k(""),G("")},className:"absolute right-20 top-1/2 -translate-y-1/2 p-1 rounded-md text-muted-foreground hover:text-foreground transition-colors",children:t(ke,{className:"w-4 h-4"})}),t("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:ZC()})]}),o("div",{className:"flex items-center gap-3 py-1",children:[o("div",{className:"flex items-center gap-2 bg-background border border-border px-3 py-1.5 rounded-lg shadow-sm",children:[t(qe,{id:"semantic-search-switch",checked:X,onCheckedChange:(oe)=>{J(oe),k(""),G(""),g([])},disabled:!xe}),t(V,{htmlFor:"semantic-search-switch",className:E("text-xs font-semibold select-none cursor-pointer",!xe&&"opacity-50 cursor-not-allowed"),children:lE()})]}),!xe&&t("span",{className:"text-[10px] text-muted-foreground italic",children:uE()})]})]}),o("div",{className:"flex items-center justify-between py-1.5 px-1 mt-1 select-none",children:[o("div",{className:"flex items-center gap-2",children:[o("button",{type:"button",onClick:()=>b(!x),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:[x?t(vi,{className:"w-4 h-4 text-muted-foreground group-hover:text-foreground"}):t(we,{className:"w-4 h-4 text-muted-foreground group-hover:text-foreground"}),t("span",{className:"text-xs font-semibold text-foreground/80",children:Qb()})]}),Ft>0&&o("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:[Ft," ",pA()]})]}),Ft>0&&t("button",{type:"button",onClick:(oe)=>{oe.stopPropagation(),Ve()},className:"text-[11px] font-medium text-destructive hover:text-destructive/80 underline underline-offset-2 transition-colors",children:EC()})]}),x&&t(ce,{className:"mt-1 max-h-[28vh] rounded-xl border border-border bg-muted/40",children:t("div",{className:"p-4 flex flex-col gap-3 animate-in slide-in-from-top-1 duration-200",children:t(To,{fields:a,conditions:m,onChange:g,excludeFields:["name"],hidePrefix:!0,className:"p-0 bg-transparent space-y-2"})})})]}),t(ce,{className:"flex-1 min-h-0 bg-background [&>div>div]:block!",children:o("div",{className:"p-4 md:p-5 min-w-0",children:[o("div",{className:"flex items-center justify-between mb-3 px-1",children:[t("span",{className:"text-[11px] font-bold uppercase tracking-wider text-muted-foreground/60 font-mono",children:qC()}),He&&o("span",{className:"inline-flex items-center gap-1.5 text-xs text-primary",children:[t(L,{className:"h-3 w-3 animate-spin"}),X?dE():FS()]})]}),t("div",{className:"flex flex-col border border-border rounded-xl divide-y divide-border overflow-hidden min-w-0",children:!Oe?o("div",{className:"py-20 text-center flex flex-col items-center justify-center bg-muted/20 px-4",children:[t(Ut,{className:"w-10 h-10 text-muted-foreground/30 mb-2"}),t("h3",{className:"text-sm font-semibold text-foreground/80",children:hC()}),t("p",{className:"text-xs text-muted-foreground max-w-sm mt-1 mx-auto",children:OI()}),X&&t("p",{className:"text-xs text-muted-foreground/80 max-w-md mt-4 mx-auto border-t border-border/60 pt-3",children:cE()})]}):lt?o("div",{className:"py-12 px-4 text-center flex flex-col items-center justify-center bg-muted/20",children:[t(mn,{className:"w-10 h-10 text-destructive/50 mb-2"}),t("h3",{className:"text-sm font-semibold text-foreground/80",children:Cg()}),t("p",{className:"text-xs text-muted-foreground max-w-sm mt-1 mx-auto",children:lt.message.includes("Embedding agent not configured")?Q_():lt.message})]}):He?Array.from({length:3}).map((oe,pt)=>o("div",{className:"p-3.5 flex items-center gap-3 animate-pulse bg-muted/10",children:[t("div",{className:"w-11 h-11 rounded-xl bg-muted shrink-0"}),o("div",{className:"flex-1 space-y-2",children:[t("div",{className:"h-4 bg-muted rounded w-1/3"}),t("div",{className:"h-3 bg-muted/50 rounded w-1/4"})]})]},pt)):Fe.length===0?o("div",{className:"py-12 px-4 text-center flex flex-col items-center justify-center bg-muted/20",children:[t(mn,{className:"w-10 h-10 text-muted-foreground/30 mb-2"}),t("h3",{className:"text-sm font-semibold text-foreground/80",children:gx()}),t("p",{className:"text-xs text-muted-foreground max-w-sm mt-1 mx-auto",children:RI()})]}):o(B,{children:[Fe.map((oe)=>o("div",{onClick:()=>Rt(oe),className:"p-3.5 flex items-center gap-3 hover:bg-muted/40 transition-colors group/record cursor-pointer min-w-0",children:[t("div",{className:E("shrink-0 w-11 h-11 rounded-xl shadow-xs flex items-center justify-center text-white font-bold relative group-hover/record:scale-105 transition-transform bg-muted overflow-hidden",oe.type==="folder"?"bg-primary/5":""),children:oe.preview?.thumbnailUrl?t("img",{src:oe.preview.thumbnailUrl,alt:"",className:"w-full h-full object-cover rounded-xl"}):oe.type==="folder"?t(er,{className:"h-6 w-6 text-primary/70"}):t(Xt,{className:"h-6 w-6 text-muted-foreground"})}),t("div",{className:"flex-1 min-w-0",children:o("div",{className:"flex items-center justify-between gap-3 min-w-0",children:[o("div",{className:"flex-1 min-w-0",children:[t("span",{className:"font-medium text-sm text-foreground group-hover/record:text-primary transition-colors block truncate",children:oe.name}),t("span",{className:"text-xs text-muted-foreground block mt-0.5 truncate",children:oe.type==="folder"?mh():`${vE()} ${Vr(oe.sizeByte||0)}`}),oe.startTime!==void 0&&oe.startTime!==null&&oe.endTime!==void 0&&oe.endTime!==null&&o("span",{className:"text-[10px] font-semibold text-primary bg-primary/10 border border-primary/20 px-1.5 py-0.5 rounded mt-1 inline-block max-w-full truncate",children:[Gw()," ",it(oe.startTime)," -"," ",it(oe.endTime)]})]}),t("span",{className:"text-xs text-muted-foreground font-mono shrink-0",children:new Date(oe.createdAt).toLocaleDateString(void 0,{year:"numeric",month:"short"})})]})})]},oe.id)),(Ye||Ge)&&t("div",{ref:ye,className:"p-4 flex justify-center items-center",children:t(L,{className:"h-6 w-6 animate-spin text-muted-foreground"})})]})})]})}),o("div",{className:"p-4 border-t border-border bg-muted/30 flex items-center justify-between shrink-0",children:[t("div",{className:"text-xs text-muted-foreground flex items-center gap-2",children:t("span",{children:Qw({count:ct(je)})})}),o("div",{className:"flex items-center gap-2",children:[t(S,{variant:"outline",size:"xs",className:"h-8 text-[10px] font-semibold uppercase tracking-wider mr-1",disabled:!Oe||Ce||X,onClick:()=>_(),children:Ce?o(B,{children:[t(L,{className:"mr-2 h-3 w-3 animate-spin"}),Ap()]}):OC()}),t(S,{size:"xs",className:"h-8 text-[10px] font-semibold uppercase tracking-wider",onClick:X?()=>n(!1):Ne,children:X?Rc():Ry()})]})]})]})})}C();function hl({fields:e,sort:n,onSortChange:r,disabled:s}){let i=O(()=>{let m=[{id:"custom",label:vp()},{id:"name",label:Sl()},{id:"createdAt",label:xp()},{id:"updatedAt",label:IE()},{id:"sizeByte",label:Cp()}],g=e.map((x)=>({id:x.id,label:x.config?.name||x.description||cn()}));return[...m,...g]},[e]),a=n?.field||"custom",l=i.find((m)=>m.id===a)||i[0],d=n?.order==="asc",p=((m)=>{if(m==="name")return{asc:Bc(),desc:zc()};if(["createdAt","updatedAt"].includes(m))return{asc:Fc(),desc:Uc()};if(m==="sizeByte")return{asc:Ep(),desc:Sp()};return{asc:hf(),desc:Sf()}})(a),f=(m)=>{r({field:m,order:n?.order||"desc"})},y=(m)=>{r({field:a,order:m==="asc"?"asc":"desc"})};return o(At,{children:[t(yt,{asChild:!0,children:t(S,{variant:n?"secondary":"ghost",size:"sm",disabled:s,children:n?ME({field:l.label}):xl()})}),t(_t,{className:"w-[280px] p-3",align:"end",children:o("div",{className:"grid gap-4",children:[o("div",{className:"grid gap-2",children:[t("span",{className:"text-sm text-muted-foreground",children:xl()}),o(Le,{value:a,onValueChange:f,children:[t(Be,{className:"w-full",children:t(Ze,{})}),t(Ue,{position:"popper",children:i.map((m)=>t(ne,{value:m.id,children:m.label},m.id))})]})]}),a!=="custom"&&o("div",{className:"grid gap-2",children:[t("span",{className:"text-sm text-muted-foreground",children:ep()}),o(S,{variant:"outline",className:"w-full justify-between font-normal",onClick:()=>y(d?"desc":"asc"),children:[t("span",{children:d?p.asc:p.desc}),t(Wc,{className:"size-4 opacity-50"})]})]})]})})]})}function vl({teamId:e,projectId:n,assetId:r,fields:s,filterConditions:i,onFilterChange:a,sort:l,onSortChange:d,isRecentlyDeleted:c,isRecents:p,collection:f,onUpdateCollection:y,rootFolderId:m}){let{canEdit:g}=Pt(n),[x,b]=u(!1),[F,k]=u(!1),[j,G]=u(!1),[X,J]=u(!1),[re,xe]=u(!1),ee=Me(),Oe=i.length,_=!!f,Ce=W(),{data:ye}=Z({queryKey:["folders",r],queryFn:async()=>{let I=await A.api.folders[":folderId"].$get({param:{folderId:r}});if(!I.ok)throw Error("failed to fetch folder");return await I.json()},enabled:!!r&&!c}),fe=()=>{if(r===m)ee({to:"/projects/$projectId/agentsmd",params:{projectId:n}});else ee({to:"/projects/$projectId/folders/$folderId/agentsmd",params:{projectId:n,folderId:r}})},{data:ae,refetch:He}=Z({queryKey:["projects",n,"members"],queryFn:async()=>{let I=await A.api.projects[":projectId"].members.$get({param:{projectId:n},query:{}});if(!I.ok)throw Error("Failed to fetch members");return await I.json()}}),{data:Ge}=Z({queryKey:["projects",n,"team"],queryFn:async()=>{let I=await A.api.projects[":projectId"].team.$get({param:{projectId:n}});if(!I.ok)throw Error("Failed to fetch team info");return await I.json()}}),{data:te}=Z({queryKey:["teams",Ge?.teamId,"members"],queryFn:async()=>{let I=await A.api.teams[":teamId"].members.$get({param:{teamId:Ge?.teamId||""},query:{}});if(!I.ok)throw Error("Failed to fetch team members");return await I.json()},enabled:!!Ge?.teamId&&X}),{data:Ye,refetch:lt}=Z({queryKey:["projects",n,"me"],queryFn:async()=>{let I=await A.api.projects[":projectId"].me.$get({param:{projectId:n}});if(!I.ok)throw Error("Failed to fetch project me");return await I.json()},enabled:!!n}),Fe=A.api.projects[":projectId"].invite.$post,je=U({mutationFn:async(I)=>{let ze=await Fe(I);if(!ze.ok)throw Error("Failed to invite");return await ze.json()}}),ct=A.api.projects[":projectId"].members.$post,Ne=U({mutationFn:async(I)=>{let ze=await ct(I);if(!ze.ok)throw Error("Failed to add project member");return await ze.json()},onSuccess:()=>{Ce.invalidateQueries({queryKey:["projects",n,"members"]}),Ce.invalidateQueries({queryKey:["projects",n,"me"]})}}),Ve=()=>{b(!1),G(!0)},it=async(I)=>(await je.mutateAsync({param:{projectId:n},json:{role:I}})).code,Rt=(I)=>{if(J(I),I)He(),lt()},Ft=Array.isArray(ae)?ae:[],pt=(Array.isArray(te)?te:[]).filter((I)=>!Ft.some((ze)=>ze.id===I.id)),_e=async(I,ze)=>{await Ne.mutateAsync({param:{projectId:n},json:{userId:I,role:ze}})},Se=U({mutationFn:async({userId:I,role:ze})=>{if(!(await A.api.projects[":projectId"].members[":userId"].$patch({param:{projectId:n,userId:I},json:{role:ze}})).ok)throw Error("Failed to update member role")},onSuccess:()=>{Ce.invalidateQueries({queryKey:["projects",n,"members"]})}}),P=U({mutationFn:async(I)=>{if(!(await A.api.projects[":projectId"].members[":userId"].$delete({param:{projectId:n,userId:I}})).ok)throw Error("Failed to remove member")},onSuccess:()=>{Ce.invalidateQueries({queryKey:["projects",n,"members"]})}}),Q=(I)=>{if(!I)return"??";return I.split(" ").map((ze)=>ze[0]).slice(0,2).join("").toUpperCase()};if(p)return t("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:t("span",{children:gC()})});return o("div",{className:"flex items-center justify-between p-2 border-b sticky top-0 bg-background z-10",children:[o("div",{className:"flex items-center gap-2 h-full",children:[o(At,{open:x,onOpenChange:b,children:[t(yt,{asChild:!0,children:t(S,{variant:"ghost",size:"sm",children:Rf()})}),t(_t,{className:"w-auto p-0",align:"start",children:t(Yp,{projectId:n,onManageFields:g?Ve:void 0,onSave:()=>b(!1)})})]}),t(ro,{orientation:"vertical"}),t(hl,{fields:s,sort:l,onSortChange:d,disabled:c||p}),t(ro,{orientation:"vertical"}),_?o(B,{children:[o(At,{open:re,onOpenChange:xe,children:[t(yt,{asChild:!0,children:t(S,{variant:"ghost",size:"sm",className:"text-muted-foreground",children:t("span",{className:"truncate max-w-[150px]",children:ye?.name||"Loading..."})})}),t(_t,{className:"w-[300px] p-0",align:"start",children:o("div",{className:"h-[400px] flex flex-col",children:[t("div",{className:"p-2 border-b text-xs font-semibold text-muted-foreground uppercase tracking-wider",children:"Select Source Folder"}),t("div",{className:"flex-1 overflow-y-auto",children:t(Ar,{teamId:e,projectId:n,projectName:"Assets",rootFolderId:m,onSelect:(I)=>{y?.({filter:{...f.filter,sourceFolderId:I.id}}),xe(!1)},selectedFolderId:f.filter.sourceFolderId,hideCollections:!0,hideShares:!0})})]})})]}),t(ro,{orientation:"vertical"}),o(At,{children:[t(yt,{asChild:!0,children:o(S,{variant:Oe>0?"secondary":"ghost",size:"sm",children:[t("span",{children:"Filter"}),Oe>0&&t("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:Oe})]})}),t(_t,{className:"w-[500px] p-0 overflow-hidden",align:"start",children:t("div",{className:"max-h-[80vh] overflow-y-auto",children:t(To,{fields:s,conditions:i,onChange:(I)=>{a(I),y?.({filter:{...f.filter,searchFilter:{...f.filter.searchFilter,conditions:I}}})},excludeFields:[],hidePrefix:!0})})})]})]}):o(B,{children:[o(S,{onClick:()=>k(!0),disabled:c||p,variant:Oe>0?"secondary":"ghost",size:"sm",children:[t("span",{children:LC()}),Oe>0&&t("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:Oe})]}),!c&&!p&&o(B,{children:[t(ro,{orientation:"vertical"}),o(S,{onClick:fe,variant:"ghost",size:"sm",title:"AGENTS.md",className:E(ye?.hasAgentsMd?"text-foreground":"text-muted-foreground"),children:[t("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 -960 960 960",className:E("size-4",ye?.hasAgentsMd?"text-primary":"text-muted-foreground"),fill:"currentColor",children:t("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"})}),t("span",{children:ay()})]})]})]})]}),t("div",{className:"flex items-center gap-2",children:!c&&!p&&o("div",{className:"flex items-center -space-x-2 cursor-pointer hover:opacity-90","data-testid":"project-members-trigger",onClick:()=>Rt(!0),children:[ae?.slice(0,3).map((I)=>o(Ee,{className:"border-2 border-background w-8 h-8",children:[I.image&&t(Ie,{src:I.image,alt:I.name,className:"object-cover"}),t(Te,{className:"text-[10px]",children:Q(I.name)})]},I.id)),ae&&ae.length>3&&o("div",{className:"flex items-center justify-center w-8 h-8 rounded-full border-2 border-background bg-muted text-[10px] font-medium",children:["+",ae.length-3]})]})}),t(cl,{projectId:n,open:j,onOpenChange:G}),t(Fl,{open:X,onOpenChange:Rt,title:SS(),type:"project",members:ae||[],isOwner:Ye?.role==="owner",onInvite:it,onUpdateRole:async(I,ze)=>{await Se.mutateAsync({userId:I,role:ze})},onRemoveMember:async(I)=>{await P.mutateAsync(I)},currentUserId:Ye?.id,availableMembersToAdd:pt,onAddMember:_e}),t(pl,{open:F,onOpenChange:k,teamId:e,projectId:n,assetId:r,fields:s,initialConditions:i,onApply:a})]})}C();function tu({teamId:e,projectId:n,assetId:r,folders:s,files:i,selectedIds:a,isPublic:l,shareId:d}){let[c,p]=u(null),[f,y]=u(!1),[m,g]=u([]),[x,b]=u(!1),[F,k]=u(!1),[j,G]=u([]),X=W(),J=A.api.folders.$post,{mutate:re}=U({mutationFn:async(Se)=>{let P=await J(Se);if(!P.ok)throw Error("Failed to create");return await P.json()}}),xe=A.api.folders[":folderId"].$put,{mutate:ee}=U({mutationFn:async(Se)=>{let P=await xe(Se);if(!P.ok)throw Error("Failed to rename");return await P.json()}}),Oe=A.api.files[":fileId"].$put,{mutate:_}=U({mutationFn:async(Se)=>{let P=await Oe(Se);if(!P.ok)throw Error("Failed to rename");return await P.json()}}),Ce=A.api.files.$delete,{mutate:ye}=U({mutationFn:async(Se)=>{if(!(await Ce(Se)).ok)throw Error("Failed to delete")}}),fe=A.api.folders.$delete,{mutate:ae}=U({mutationFn:async(Se)=>{if(!(await fe(Se)).ok)throw Error("Failed to delete");return null}}),He=A.api.files.restore.$post,{mutate:Ge}=U({mutationFn:async(Se)=>{if(!(await He(Se)).ok)throw Error("Failed to restore")}}),te=A.api.folders.restore.$post,{mutate:Ye}=U({mutationFn:async(Se)=>{if(!(await te(Se)).ok)throw Error("Failed to restore");return null}}),lt=A.api.files["download-links"].$post,{mutateAsync:Fe}=U({mutationFn:async(Se)=>{let P=await lt(Se);if(!P.ok)throw Error("Failed to get download links");return await P.json()}}),je=(Se)=>{p(Se.id)},ct=()=>{let Se=m.filter((Q)=>Q.type==="file").map((Q)=>Q.id),P=m.filter((Q)=>Q.type==="folder").map((Q)=>Q.id);if(Se.length>0)ye({json:{ids:Se}},{onSuccess:()=>{X.invalidateQueries({queryKey:["search",e,r]})}});if(P.length>0)ae({json:{ids:P}},{onSuccess:()=>{X.invalidateQueries({queryKey:["search",e,r]}),X.invalidateQueries({queryKey:["folders"]})}});y(!1),g([])},Ne=(Se)=>{g(Se),y(!0)},Ve=(Se)=>{let P=Se.filter((I)=>I.type==="file").map((I)=>I.id),Q=Se.filter((I)=>I.type==="folder").map((I)=>I.id);if(P.length>0)Ge({json:{ids:P}},{onSuccess:()=>{X.invalidateQueries({queryKey:["projects",n,"recently-deleted","file"]})}});if(Q.length>0)Ye({json:{ids:Q}},{onSuccess:()=>{X.invalidateQueries({queryKey:["projects",n,"recently-deleted","folder"]})}})},it=async(Se)=>{if(Se.length===0)return;b(!0),k(!0),G([]);try{if(l&&d){let P=localStorage.getItem(`share_pwd_${d}`)||"",Q=[];for(let I of Se){let ze=I.media?.original?.key;if(!ze||!I.id)continue;let ft=await A.api.shares[":shareId"].files[":fileId"]["download-url"].$post({param:{shareId:d,fileId:I.id},json:{key:ze}},{headers:{"x-share-password":P}});if(ft.ok){let{url:wt}=await ft.json();Q.push({id:I.id,name:I.name||"download",url:wt})}}G(Q)}else{let P=await Fe({json:{ids:Se.map((Q)=>Q.id)}});G(P.files)}}catch(P){R.error("Failed to prepare download links"),b(!1),console.error(P)}finally{k(!1)}},Rt=async(Se)=>{if(Se.length===0)return;try{let Q=(await Fe({json:{ids:Se.map((ft)=>ft.id)}})).files;if(Q.length===0)return;let I="";if(Q.length===1)I=`Name: ${Q[0].name}
|
|
12
|
-
Path: ${Q[0].url}`;else I=Q.map((ft)=>`${ft.name} ${ft.url}`).join(`
|
|
13
|
-
`);if(await ao(I))R.success(P0())}catch(P){R.error("Failed to copy name and download link"),console.error(P)}};return{editingItemId:c,setEditingItemId:p,handleRename:je,handleDelete:Ne,handleRestore:Ve,handleDownload:it,handleCopyNameAndDownloadLink:Rt,handleNewFolder:(Se)=>{re({json:{name:Se,parentId:r}},{onSuccess:(P)=>{if(X.invalidateQueries({queryKey:["search",e]}),X.invalidateQueries({queryKey:["folders"]}),P?.id)p(P.id)}})},handleAction:(Se,P)=>{let I=a.has(P.id)?[...s,...i].filter((ze)=>a.has(ze.id)):[P];switch(Se){case"rename":je(P);break;case"delete":Ne(I);break;case"download":it(I);break;case"restore":Ve(I);break;case"copy-name-and-download-link":Rt(I);break}},onRenameSubmit:(Se,P)=>{if(Se.type==="folder")ee({param:{folderId:Se.id},json:{name:P}},{onSuccess:()=>{X.invalidateQueries({queryKey:["search",e]}),X.invalidateQueries({queryKey:["folders"]})}});else _({param:{fileId:Se.id},json:{name:P}},{onSuccess:()=>{X.invalidateQueries({queryKey:["search",e]}),X.invalidateQueries({queryKey:["folders"]})}})},isDeleteDialogOpen:f,setIsDeleteDialogOpen:y,itemsToDelete:m,confirmDelete:ct,isDownloadDialogOpen:x,setIsDownloadDialogOpen:b,isLoadingLinks:F,resolvedFiles:j,startDownload:()=>{let Se=[...j];if(b(!1),Se.length===0)return;R.info(`Starting download of ${Se.length} files. Please allow multiple downloads if prompted by your browser.`,{duration:5000});let P=(I)=>new Promise((ze)=>setTimeout(ze,I));(async()=>{for(let ze=0;ze<Se.length;ze+=5){let ft=Se.slice(ze,ze+5);for(let wt of ft){let kt=document.createElement("iframe");kt.style.display="none",kt.src=wt.url,document.body.appendChild(kt),window.setTimeout(()=>kt.remove(),60000)}if(ze+5<Se.length)await P(600)}R.success("All downloads initiated successfully")})().catch((I)=>{console.error("Background downloads failed:",I),R.error("Some downloads could not be started")})}}}var wl=[];function ba({teamId:e,projectId:n,assetId:r,folders:s,files:i,totalFolders:a,totalFiles:l,totalFoldersSize:d,totalFilesSize:c,selectedItem:p,selectedIds:f,onItemSelect:y,onItemDoubleClick:m,onSaveField:g,displayStyle:x,onClearSelection:b,fetchNextFoldersPage:F,hasNextFoldersPage:k,isFetchingNextFoldersPage:j,fetchNextFilesPage:G,hasNextFilesPage:X,isFetchingNextFilesPage:J,isRecentlyDeleted:re,isRecents:xe,isLoading:ee=!1,filterConditions:Oe,onFilterChange:_,sort:Ce,onSortChange:ye,dragState:fe,isShareView:ae,isPublic:He,onRemoveFromShare:Ge,fieldVisibility:te,collection:Ye,onUpdateCollection:lt,rootFolderId:Fe,shareId:je,sharePassword:ct,allowDownload:Ne=!0}){let[Ve,it]=u(null),[Rt,Ft]=u(null),[oe,pt]=u(null),[_e,Se]=u([]),[P,Q]=u(!1),[I,ze]=u(null);h(()=>{if(p)ze(p)},[p]),h(()=>{if(f.size===0)ze(null)},[f.size]);let ft=N((M,De)=>{ze(M),y(M,De)},[y]),wt=W(),kt=Me(),[ko,Po]=u(!1),[Do,so]=u(null),Un=w(0),$o=N(()=>{Po(!1),so(null),Un.current=0},[]);h(()=>{let M=(De)=>{De.preventDefault()};return window.addEventListener("dragover",M),window.addEventListener("drop",M),()=>{window.removeEventListener("dragover",M),window.removeEventListener("drop",M)}},[]);let bl=(M)=>{if(!jt||re||xe||ae||He||!!Ye)return;if(M.preventDefault(),M.dataTransfer.types.includes("Files"))Un.current++,Po(!0)},Rl=(M)=>{if(!jt||re||xe||ae||He||!!Ye)return;if(M.preventDefault(),M.dataTransfer.types.includes("Files")){if(Un.current--,Un.current<=0)Un.current=0,Po(!1),so(null)}},Il=(M)=>{if(!jt||re||xe||ae||He||!!Ye)return;M.preventDefault()},El=async(M)=>{if(!jt||re||xe||ae||He||!!Ye)return;M.preventDefault(),M.stopPropagation();let De=await Ui(M.dataTransfer);if($o(),De.length>0)an(De)},[ds,us]=u([]),Dt=O(()=>{let M=new Set(i.map((mt)=>mt.id));return[...ds.filter((mt)=>!M.has(mt.id)),...i]},[i,ds]),zo=O(()=>{if(f.size===0)return null;if(I&&f.has(I.id))return I;if(p&&f.has(p.id))return p;return[...s,...Dt].find((De)=>f.has(De.id))||null},[f,I,p,s,Dt]);h(()=>{let M=(De)=>{if(De.key!==" "&&De.code!=="Space")return;if(P)return;let mt=document.activeElement;if(mt&&(mt.tagName==="INPUT"||mt.tagName==="TEXTAREA"||mt instanceof HTMLElement&&mt.isContentEditable))return;if(document.querySelector('[role="dialog"], [role="alertdialog"]'))return;if(f.size>0&&zo)De.preventDefault(),Q(!0)};return window.addEventListener("keydown",M),()=>{window.removeEventListener("keydown",M)}},[P,f.size,zo]);let{data:Ml}=Z({queryKey:["shares",n,"list"],queryFn:async()=>{let M=await A.api.projects[":projectId"].shares.$get({param:{projectId:n},query:{first:"100"}});if(!M.ok)throw Error("Failed to fetch share links");return await M.json()},enabled:!!n&&!He}),Tl=A.api.projects[":projectId"].reparent.$post,{mutate:Nl}=U({mutationFn:async(M)=>{if(!(await Tl(M)).ok)throw Error("Failed to move assets");return null}}),kl=A.api.projects[":projectId"].copy.$post,{mutate:Pl}=U({mutationFn:async(M)=>{if(!(await kl(M)).ok)throw Error("Failed to copy assets");return null}}),Dl=async(M,De)=>{let mt=_e.map((xt)=>xt.id);if(oe==="move")Nl({param:{projectId:n},json:{newParentId:M,assetIds:mt}},{onSuccess:()=>{R.success(`Successfully moved ${mt.length} item(s)`,{action:{label:"Go to folder",onClick:()=>{kt({to:"/projects/$projectId/folders/$folderId",params:{projectId:n,folderId:M}})}}}),wt.invalidateQueries({queryKey:["search",e]}),wt.invalidateQueries({queryKey:["folders"]}),pt(null),Se([]),b()},onError:(xt)=>{R.error(`Error: ${xt.message}`)}});else Pl({param:{projectId:n},json:{newParentId:M,assetIds:mt,withComments:De}},{onSuccess:()=>{R.success(`Successfully copied ${mt.length} item(s)`,{action:{label:"Go to folder",onClick:()=>{kt({to:"/projects/$projectId/folders/$folderId",params:{projectId:n,folderId:M}})}}}),wt.invalidateQueries({queryKey:["search",e]}),wt.invalidateQueries({queryKey:["folders"]}),pt(null),Se([]),b()},onError:(xt)=>{R.error(`Error: ${xt.message}`)}})},{mutate:Ol}=U({mutationFn:async(M)=>{let De=M.length===1?M[0].name:new Date().toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"}),mt=await A.api.projects[":projectId"].shares.$post({param:{projectId:n},json:{name:De}});if(!mt.ok)throw Error("Failed to create share link");let xt=await mt.json();if(!(await A.api.shares[":shareId"].assets.$post({param:{shareId:xt.id},json:{assetIds:M.map((St)=>St.id)}})).ok)throw Error("Failed to add assets to share link");return xt},onSuccess:(M)=>{wt.invalidateQueries({queryKey:["shares",n]}),R.success("Share link created",{action:{label:"View",onClick:()=>kt({to:"/projects/$projectId/shares/$shareId",params:{projectId:n,shareId:M.id}})}})}}),{mutate:$l}=U({mutationFn:async({shareId:M,items:De})=>{if(!(await A.api.shares[":shareId"].assets.$post({param:{shareId:M},json:{assetIds:De.map((xt)=>xt.id)}})).ok)throw Error("Failed to add assets");return{shareId:M}},onSuccess:({shareId:M})=>{R.success("Added to share link",{action:{label:"View",onClick:()=>kt({to:"/projects/$projectId/shares/$shareId",params:{projectId:n,shareId:M}})}})}}),zl=(M)=>{Ol(M)},Ll=(M,De)=>{$l({shareId:M,items:De})},{editingItemId:Ul,setEditingItemId:cs,handleNewFolder:jl,handleDelete:Vl,handleRename:ql,handleRestore:Hl,handleDownload:ms,handleCopyNameAndDownloadLink:Gl,handleAction:hs,onRenameSubmit:Wl,isDeleteDialogOpen:Kl,setIsDeleteDialogOpen:Xl,confirmDelete:Ql,isDownloadDialogOpen:Yl,setIsDownloadDialogOpen:Lo,isLoadingLinks:io,resolvedFiles:vs,startDownload:Jl}=tu({teamId:e,projectId:n,assetId:r,folders:s,files:Dt,selectedIds:f,isPublic:He,shareId:je}),[Zl,Uo]=u(!1),{mutate:ed,isPending:jo}=U({mutationFn:async()=>{let M=await A.api.projects[":projectId"]["empty-trash"].$post({param:{projectId:n}});if(!M.ok)throw Error("Failed to empty trash");return await M.json()},onSuccess:()=>{R.success("Trash emptied successfully"),wt.invalidateQueries({queryKey:["projects",n,"recently-deleted"]}),b(),Uo(!1)},onError:(M)=>{R.error(`Error emptying trash: ${M.message}`)}}),td=A.api.teams[":teamId"].upload.tasks.$post,{mutate:ws}=U({mutationFn:async(M)=>{let De=await td(M);if(!De.ok)throw Error("Failed to create upload task");return await De.json()},onMutate:()=>({files:[...wl]}),onSuccess:async(M,De,mt)=>{let xt=mt?.files||[],Et=De.json.parentId===r,St=xt.map((It)=>{let bt=M.createdAssets?.find((Vt)=>Vt.tempId===It.id),Jt=M.presignedUrls?.find((Vt)=>Vt.id===It.id);return{fileId:bt?.assetId||Jt?.fileId||It.id,name:It.file.name,size:It.file.size}}).filter((It)=>!!It.fileId),Kt=xt.filter((It)=>!It.file.name.startsWith(".")),nn=Kt.length===1?Kt[0].file.name:`${Kt.length} Items`;if(M.taskId)od(M.taskId,nn,St);if(Et){let It=xt.filter((bt)=>(bt.file.webkitRelativePath||bt.file.name).split("/").length===1).map((bt)=>{let Jt=M.createdAssets?.find((Gn)=>Gn.tempId===bt.id),Vt=M.presignedUrls?.find((Gn)=>Gn.id===bt.id),_n=Jt?.assetId||Vt?.fileId||bt.id,Hn=!!Vt&&!!Vt.url;return{id:_n,name:bt.file.name,sizeByte:bt.file.size,fileCount:0,type:"file",status:Hn?"uploading":"error",proxyType:bt.file.name.toLowerCase().endsWith(".wma")&&bt.file.type?.startsWith("video/")?"audio":bt.file.type?.startsWith("image/")?"image":bt.file.type?.startsWith("video/")?"video":bt.file.type?.startsWith("audio/")?"audio":bt.file.name.endsWith(".pdf")||bt.file.name.endsWith(".txt")||bt.file.name.endsWith(".csv")||bt.file.name.endsWith(".md")||bt.file.name.endsWith(".markdown")?"pdf":null,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString()}});us((bt)=>[...It,...bt])}wt.invalidateQueries({queryKey:["search",e,r]}),wt.invalidateQueries({queryKey:["teams",e,"upload","tasks"]}),await Jc({files:xt,taskId:M.taskId,teamId:e,storageBackend:M.storageBackend||"local",createdAssets:M.createdAssets,presignedUrls:M.presignedUrls,onFileFinished:async(It)=>{await wt.invalidateQueries({queryKey:["search",e,r]}),us((bt)=>bt.filter((Jt)=>Jt.id!==It))}}),wt.invalidateQueries({queryKey:["search",e,r]}),wt.invalidateQueries({queryKey:["teams",e,"upload","tasks"]})}}),od=dn((M)=>M.startTask),{fields:lo}=Or(),xs=O(()=>{if(!ae)return lo.filter((M)=>M.visible);return lo.filter((M)=>te?.[M.id])},[lo,ae,te]),[bs,Ss]=u(!0),[Cs,Rs]=u(!0),Fs=w(null),Is=w(null),Es=w(null),[Ms,Ts]=u(null),Vo=w(!1),{canEdit:jt,canAdmin:rd}=Pt(n),ks=w(null),Ps=s.reduce((M,De)=>M+(De.sizeByte||0),0),Ds=Dt.reduce((M,De)=>M+(De.sizeByte||0),0),$s=(M,De)=>{if(Oe?.some((xt)=>xt.field==="name"&&xt.operator==="contains")&&M===10001)return De?Z0():B0();if(De)return M===1?Gf({count:M}):$f({count:M});else return M===1?Vf({count:M}):Qf({count:M})},zs=(M)=>{let De=M.target;if(De.closest('[role="menuitem"]')||De.closest("[data-radix-menu-content]"))return;if(De===M.currentTarget||De.closest(".empty-area")||!De.closest(".group")&&!De.closest("button")&&!De.closest("a")&&!De.closest("input"))b(),cs(null)},Ls=(M,De)=>{if(De===void 0)if(Vo.current)Vo.current=!1;else it(null);else{Vo.current=!0,it(De??null);return}},Us=(M,De)=>{let mt=M.type==="symlink"?M.targetType||"file":M.type,xt={teamId:e,item:M,isSelected:p?.id===M.id,isChecked:f.has(M.id),isEditing:Ul===M.id,onSelect:ft,onDoubleClick:m,onContextMenu:Ls,onDragStart:()=>{},onDrop:()=>{},onRename:(Et)=>Wl(M,Et),onFinishEditing:()=>cs(null),onSaveField:(Et,St)=>{g(M.id,Et,St)},dragState:fe,onAction:(Et,St)=>{if(Et==="manage-versions"){Ft(St.id||null);return}if(ae){if(Et==="remove-from-share"){let nn=f.has(St.id)?[...s,...i].filter((It)=>f.has(It.id)):[St];Ge?.(nn)}else if(Et==="download")hs("download",St);return}hs(Et,St)},isRecentlyDeleted:re,isRecents:xe,selectedCount:f.size,isShareView:ae,allowDownload:Ne,fields:xs,canEdit:jt,isExternalDragging:ko,externalOverFolderId:Do,setExternalOverFolderId:so,resetExternalDragState:$o,onExternalDrop:(Et,St)=>{an(Et,St)}};if(x==="card"){if(mt==="folder")return t(eu,{...xt},M.id);if(mt==="file"||mt==="version_stack")return t(Xc,{...xt},M.id)}return t($a,{...xt,columnSizing:De},M.id)},qo=f.size,Vn=Array.from(f).filter((M)=>s.find((De)=>De.id===M)).length,qn=Array.from(f).filter((M)=>Dt.find((De)=>De.id===M)).length,Bo=Array.from(f).reduce((M,De)=>{let mt=s.find((xt)=>xt.id===De)||Dt.find((xt)=>xt.id===De);return M+(mt?.sizeByte||0)},0),id=()=>{Fs.current?.click()},ad=()=>{Is.current?.click()},an=N((M,De)=>{if(!M||M.length===0)return;let mt=[],xt=[],Et=new Map;for(let St of M){let Kt=(St.webkitRelativePath||St.name).split("/");if(Kt.some((_n)=>_n.startsWith(".")))continue;let nn=Kt.pop(),It=xt,bt="";for(let _n of Kt)if(bt=`${bt}/${_n}`,!Et.has(bt)){let Hn=[],Gn={name:_n,type:"folder",id:Zo(),children:Hn,size:0};It.push(Gn),Et.set(bt,Hn),It=Hn}else It=Et.get(bt);let Jt={file:St,id:Zo()};mt.push(Jt);let Vt=St.type;if(nn.toLowerCase().endsWith(".wma")&&Vt?.startsWith("video/"))Vt=Vt.replace(/^video\//,"audio/");It.push({name:nn,size:St.size,type:"file",id:Jt.id,children:[],mediaType:Vt})}wl=mt,ws({param:{teamId:e},json:{parentId:De||r,files:xt}})},[r,ws,e]),js=(M)=>{an(M.target.files)},ld=(M)=>{Ts(M.id),Es.current?.click()},dd=(M)=>{if(M.target.files&&Ms)an(M.target.files,Ms),Ts(null),M.target.value=""},Vs=N((M)=>{if(!jt||ae||!!Ye)return;if(!M.clipboardData)return;let De=M.clipboardData.items,mt=[];for(let xt=0;xt<De.length;xt++){let Et=De[xt];if(Et.kind==="file"){let St=Et.getAsFile();if(St)if(St.name==="image.png"&&St.type.startsWith("image/")){let Kt=new Date().toISOString().replace(/[:.]/g,"").replace("T","_").substring(0,15),nn=St.type.split("/")[1]||"png",It=new File([St],`pasted_image_${Kt}.${nn}`,{type:St.type});mt.push(It)}else mt.push(St)}}if(mt.length>0)an(mt)},[an,ae,Ye,jt]);return h(()=>{let M=(De)=>{if(!jt||ae||!!Ye)return;if(document.activeElement&&(document.activeElement.tagName==="INPUT"||document.activeElement.tagName==="TEXTAREA"||document.activeElement.isContentEditable))return;Vs(De)};return window.addEventListener("paste",M),()=>{window.removeEventListener("paste",M)}},[Vs,ae,Ye,jt]),o(B,{children:[jt&&o(B,{children:[t("input",{type:"file",ref:Fs,multiple:!0,style:{display:"none"},onChange:js}),t("input",{type:"file",ref:Is,multiple:!0,webkitdirectory:"true",style:{display:"none"},onChange:js}),t("input",{type:"file",ref:Es,style:{display:"none"},onChange:dd})]}),(()=>o(Aa,{modal:!1,children:[t(Da,{asChild:!0,disabled:ae||He||!!Ye||xe,children:o("div",{className:"flex-1 bg-background relative flex flex-col min-h-0 overflow-hidden",onContextMenu:(M)=>{if(xe){M.preventDefault(),M.stopPropagation();return}Ls(M)},onDragEnter:bl,onDragLeave:Rl,onDragOver:Il,onDrop:El,children:[!ae&&!He&&_&&ye&&t(vl,{teamId:e,projectId:n,assetId:r,fields:lo||[],filterConditions:Oe||[],onFilterChange:_,sort:Ce,onSortChange:ye,isRecentlyDeleted:re,isRecents:xe,collection:Ye,onUpdateCollection:lt,rootFolderId:Fe}),re&&o("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:[o("div",{className:"flex items-center gap-2 text-muted-foreground",children:[t($r,{className:"h-4 w-4 text-amber-500 shrink-0"}),t("span",{children:pp()})]}),rd&&t(S,{variant:"destructive",size:"sm",disabled:jo||s.length===0&&Dt.length===0,onClick:()=>Uo(!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"})]}),o("div",{ref:ks,className:"flex-1 overflow-y-auto min-h-0 relative flex flex-col",style:{overflowAnchor:"none"},children:[ee&&s.length===0&&Dt.length===0?t(oA,{displayStyle:x}):x==="list"?t(ul,{folders:s,files:Dt,totalFolders:a,totalFiles:l,totalFoldersSize:d,totalFilesSize:c,selectedItem:p,selectedIds:f,displayedFields:xs,onItemSelect:ft,onItemDoubleClick:m,renderItem:Us,foldersExpanded:bs,setFoldersExpanded:Ss,filesExpanded:Cs,setFilesExpanded:Rs,hasNextFoldersPage:k,hasNextFilesPage:X,isFetchingNextFoldersPage:j,isFetchingNextFilesPage:J,fetchNextFoldersPage:F,fetchNextFilesPage:G,formatCount:$s,formatSize:Vr,foldersSize:Ps,filesSize:Ds,handleEmptyAreaClick:zs,dragState:fe,sort:Ce,isExternalDragging:ko,externalOverFolderId:Do,setExternalOverFolderId:so,resetExternalDragState:$o,onExternalDrop:(M,De)=>an(M,De)}):t(Wa,{folders:s,files:Dt,totalFolders:a,totalFiles:l,totalFoldersSize:d,totalFilesSize:c,renderItem:Us,foldersExpanded:bs,setFoldersExpanded:Ss,filesExpanded:Cs,setFilesExpanded:Rs,hasNextFoldersPage:k,hasNextFilesPage:X,isFetchingNextFoldersPage:j,isFetchingNextFilesPage:J,fetchNextFoldersPage:F,fetchNextFilesPage:G,formatCount:$s,formatSize:Vr,foldersSize:Ps,filesSize:Ds,handleEmptyAreaClick:zs,dragState:fe,sort:Ce,scrollContainerRef:ks}),(j||J)&&t("div",{className:"flex justify-center items-center p-4",children:t("p",{children:Fw()})}),!ee&&s.length===0&&Dt.length===0&&!j&&!J&&t("div",{className:"empty-area flex h-full items-center justify-center text-sm text-muted-foreground",children:xe?o("div",{className:"flex flex-col items-center gap-2 p-8 text-center animate-in fade-in duration-300",children:[t(Ns,{className:"h-10 w-10 text-muted-foreground/50 mb-1"}),t("p",{className:"font-medium text-foreground",children:Yf()}),t("p",{className:"text-xs text-muted-foreground",children:Jf()})]}):t("span",{children:Mp()})})]}),qo>0&&o("div",{className:"border-t border-border bg-card px-4 py-3 flex items-center justify-between shrink-0",children:[o("div",{className:"text-sm text-muted-foreground",children:[Vn>0&&qn>0&&o("span",{children:[qo," Item",qo!==1?"s":""," selected •"," ",Vr(Bo)]}),Vn>0&&qn===0&&o("span",{children:[Vn," folder",Vn!==1?"s":""," selected •"," ",Vr(Bo)]}),Vn===0&&qn>0&&o("span",{children:[qn," file",qn!==1?"s":""," selected •"," ",Vr(Bo)]})]}),Ne&&o(S,{variant:"ghost",size:"sm",onClick:()=>ms([...s,...Dt].filter((M)=>f.has(M.id))),className:"gap-2",children:[t(gt,{className:"h-4 w-4"}),"Download"]})]}),ko&&!Do&&t("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:t("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:t("span",{className:"font-medium text-sm",children:"Drop files here to upload"})})})]})}),t(Oa,{item:Ve,selectedIds:f,folders:s,files:Dt,onRename:ql,onDelete:Vl,onDownload:ms,onCopyNameAndDownloadLink:Gl,onNewFolder:jl,onUploadFile:id,onUploadFolder:ad,onNewVersion:ld,onManageVersions:(M)=>Ft(M.id||null),onMoveTo:(M)=>{Se(M),pt("move")},onCopyTo:(M)=>{Se(M),pt("copy")},onRestore:Hl,isRecentlyDeleted:re,isRecents:xe,shareLinks:Ml?.data??[],onCreateShareLink:zl,onAddToShareLink:Ll,canEdit:jt})]}))(),oe&&t(ka,{isOpen:!!oe,onClose:()=>pt(null),onConfirm:Dl,mode:oe,teamId:e,currentProjectId:n}),t(Je,{open:Kl,onOpenChange:Xl,children:o(Xe,{children:[o(et,{children:[t(rt,{children:"Delete Asset?"}),t(nt,{children:"Deleted items can be recovered for 30 days before being permanently deleted."})]}),o(tt,{children:[t(st,{children:"Cancel"}),t(ot,{onClick:()=>{Ql()},className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"Delete"})]})]})}),t(Je,{open:Zl,onOpenChange:Uo,children:o(Xe,{children:[o(et,{children:[t(rt,{children:"Empty Trash?"}),t(nt,{children:"All items in the recently deleted folder will be permanently removed both from the database and from storage. This action cannot be undone."})]}),o(tt,{children:[t(st,{children:"Cancel"}),t(ot,{onClick:()=>{ed()},className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",disabled:jo,children:jo?"Deleting...":"Delete Now"})]})]})}),t(ue,{open:Yl,onOpenChange:Lo,children:o(ie,{className:"sm:max-w-md",children:[o(me,{children:[t(le,{children:io?"Preparing Download":"Confirm Download"}),t(Tt,{children:io?"Resolving all files and folders. Please wait...":"Selected files and folders will be prepared for download."})]}),io?o("div",{className:"space-y-4 py-6 flex flex-col items-center justify-center",children:[t(L,{className:"h-8 w-8 animate-spin text-primary"}),t("span",{className:"text-sm font-medium text-muted-foreground mt-2",children:"Preparing download links..."})]}):o("div",{className:"space-y-4 py-2",children:[o("div",{className:"text-sm text-muted-foreground",children:["This download will include"," ",t("span",{className:"font-semibold text-foreground",children:vs.length})," ","file(s)."]}),o("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:[t($r,{className:"h-5 w-5 shrink-0 mt-0.5"}),o("div",{children:[t("p",{className:"font-semibold",children:"No Folder Structure"}),t("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."})]})]})]}),t($e,{children:!io?o(B,{children:[t(S,{variant:"outline",onClick:()=>Lo(!1),children:"Cancel"}),o(S,{onClick:Jl,className:"gap-2",disabled:vs.length===0,children:[t(gt,{className:"h-4 w-4"}),"Start Download"]})]}):t(S,{variant:"outline",onClick:()=>Lo(!1),children:"Cancel"})})]})}),Rt&&t(Bd,{open:!!Rt,onOpenChange:(M)=>{if(!M)Ft(null)},stackId:Rt,canEdit:jt,onStackDissolved:()=>{Ft(null)}}),t(Pa,{item:zo,isOpen:P,onClose:()=>Q(!1),allowDownload:Ne,shareId:je,sharePassword:ct,isPublic:He})]})}
|
|
14
|
-
export{Wc,Yc,Jc,Xc,eu,tu,ba};
|