=xa/2&&++A;do d=0,l=e(F,y,k,x),l<0?(v=y[0],k!=x&&(v=v*xa+(y[1]||0)),d=v/A|0,d>1?(d>=xa&&(d=xa-1),h=t(F,d),p=h.length,x=y.length,l=e(h,y,p,x),l==1&&(d--,n(h,k16)throw Error(kL+Gi(t));if(!t.s)return new d(go);for(ni=!1,l=h,o=new d(.03125);t.abs().gte(.1);)t=t.times(o),u+=5;for(r=Math.log(Cf(2,u))/Math.LN10*2+5|0,l+=r,n=i=s=new d(go),d.precision=l;;){if(i=Fr(i.times(t),l),n=n.times(++c),o=s.plus(Du(i,n,l)),uc(o.d).slice(0,l)===uc(s.d).slice(0,l)){for(;u--;)s=Fr(s.times(s),l);return d.precision=h,e==null?(ni=!0,Fr(s,h)):s}s=o}}function Gi(t){for(var e=t.e*Kr,n=t.d[0];n>=10;n/=10)e++;return e}function YC(t,e,n){if(e>t.LN10.sd())throw ni=!0,n&&(t.precision=n),Error(pl+"LN10 precision limit exceeded");return Fr(new t(t.LN10),e)}function Qd(t){for(var e="";t--;)e+="0";return e}function _y(t,e){var n,r,i,s,o,l,c,u,d,h=1,p=10,m=t,b=m.d,y=m.constructor,x=y.precision;if(m.s<1)throw Error(pl+(m.s?"NaN":"-Infinity"));if(m.eq(go))return new y(0);if(e==null?(ni=!1,u=x):u=e,m.eq(10))return e==null&&(ni=!0),YC(y,u);if(u+=p,y.precision=u,n=uc(b),r=n.charAt(0),s=Gi(m),Math.abs(s)<15e14){for(;r<7&&r!=1||r==1&&n.charAt(1)>3;)m=m.times(t),n=uc(m.d),r=n.charAt(0),h++;s=Gi(m),r>1?(m=new y("0."+n),s++):m=new y(r+"."+n.slice(1))}else return c=YC(y,u+2,x).times(s+""),m=_y(new y(r+"."+n.slice(1)),u-p).plus(c),y.precision=x,e==null?(ni=!0,Fr(m,x)):m;for(l=o=m=Du(m.minus(go),m.plus(go),u),d=Fr(m.times(m),u),i=3;;){if(o=Fr(o.times(d),u),c=l.plus(Du(o,new y(i),u)),uc(c.d).slice(0,u)===uc(l.d).slice(0,u))return l=l.times(2),s!==0&&(l=l.plus(YC(y,u+2,x).times(s+""))),l=Du(l,new y(h),u),y.precision=x,e==null?(ni=!0,Fr(l,x)):l;l=c,i+=2}}function eG(t,e){var n,r,i;for((n=e.indexOf("."))>-1&&(e=e.replace(".","")),(r=e.search(/e/i))>0?(n<0&&(n=r),n+=+e.slice(r+1),e=e.substring(0,r)):n<0&&(n=e.length),r=0;e.charCodeAt(r)===48;)++r;for(i=e.length;e.charCodeAt(i-1)===48;)--i;if(e=e.slice(r,i),e){if(i-=r,n=n-r-1,t.e=Rb(n/Kr),t.d=[],r=(n+1)%Kr,n<0&&(r+=Kr),rXS||t.e<-XS))throw Error(kL+n)}else t.s=0,t.e=0,t.d=[0];return t}function Fr(t,e,n){var r,i,s,o,l,c,u,d,h=t.d;for(o=1,s=h[0];s>=10;s/=10)o++;if(r=e-o,r<0)r+=Kr,i=e,u=h[d=0];else{if(d=Math.ceil((r+1)/Kr),s=h.length,d>=s)return t;for(u=s=h[d],o=1;s>=10;s/=10)o++;r%=Kr,i=r-Kr+o}if(n!==void 0&&(s=Cf(10,o-i-1),l=u/s%10|0,c=e<0||h[d+1]!==void 0||u%s,c=n<4?(l||c)&&(n==0||n==(t.s<0?3:2)):l>5||l==5&&(n==4||c||n==6&&(r>0?i>0?u/Cf(10,o-i):0:h[d-1])%10&1||n==(t.s<0?8:7))),e<1||!h[0])return c?(s=Gi(t),h.length=1,e=e-s-1,h[0]=Cf(10,(Kr-e%Kr)%Kr),t.e=Rb(-e/Kr)||0):(h.length=1,h[0]=t.e=t.s=0),t;if(r==0?(h.length=d,s=1,d--):(h.length=d+1,s=Cf(10,Kr-r),h[d]=i>0?(u/Cf(10,o-i)%Cf(10,i)|0)*s:0),c)for(;;)if(d==0){(h[0]+=s)==xa&&(h[0]=1,++t.e);break}else{if(h[d]+=s,h[d]!=xa)break;h[d--]=0,s=1}for(r=h.length;h[--r]===0;)h.pop();if(ni&&(t.e>XS||t.e<-XS))throw Error(kL+Gi(t));return t}function eZ(t,e){var n,r,i,s,o,l,c,u,d,h,p=t.constructor,m=p.precision;if(!t.s||!e.s)return e.s?e.s=-e.s:e=new p(t),ni?Fr(e,m):e;if(c=t.d,h=e.d,r=e.e,u=t.e,c=c.slice(),o=u-r,o){for(d=o<0,d?(n=c,o=-o,l=h.length):(n=h,r=u,l=c.length),i=Math.max(Math.ceil(m/Kr),l)+2,o>i&&(o=i,n.length=1),n.reverse(),i=o;i--;)n.push(0);n.reverse()}else{for(i=c.length,l=h.length,d=i0;--i)c[l++]=0;for(i=h.length;i>o;){if(c[--i]0?s=s.charAt(0)+"."+s.slice(1)+Qd(r):o>1&&(s=s.charAt(0)+"."+s.slice(1)),s=s+(i<0?"e":"e+")+i):i<0?(s="0."+Qd(-i-1)+s,n&&(r=n-o)>0&&(s+=Qd(r))):i>=o?(s+=Qd(i+1-o),n&&(r=n-i-1)>0&&(s=s+"."+Qd(r))):((r=i+1)0&&(i+1===o&&(s+="."),s+=Qd(r))),t.s<0?"-"+s:s}function tG(t,e){if(t.length>e)return t.length=e,!0}function tZ(t){var e,n,r;function i(s){var o=this;if(!(o instanceof i))return new i(s);if(o.constructor=i,s instanceof i){o.s=s.s,o.e=s.e,o.d=(s=s.d)?s.slice():s;return}if(typeof s=="number"){if(s*0!==0)throw Error(tm+s);if(s>0)o.s=1;else if(s<0)s=-s,o.s=-1;else{o.s=0,o.e=0,o.d=[0];return}if(s===~~s&&s<1e7){o.e=0,o.d=[s];return}return eG(o,s.toString())}else if(typeof s!="string")throw Error(tm+s);if(s.charCodeAt(0)===45?(s=s.slice(1),o.s=-1):o.s=1,B3e.test(s))eG(o,s);else throw Error(tm+s)}if(i.prototype=qt,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.clone=tZ,i.config=i.set=H3e,t===void 0&&(t={}),t)for(r=["precision","rounding","toExpNeg","toExpPos","LN10"],e=0;e=i[e+1]&&r<=i[e+2])this[n]=r;else throw Error(tm+n+": "+r);if((r=t[n="LN10"])!==void 0)if(r==Math.LN10)this[n]=new this(r);else throw Error(tm+n+": "+r);return this}var ML=tZ(U3e);go=new ML(1);const yr=ML;var $3e=t=>t,nZ={},rZ=t=>t===nZ,nG=t=>function e(){return arguments.length===0||arguments.length===1&&rZ(arguments.length<=0?void 0:arguments[0])?e:t(...arguments)},iZ=(t,e)=>t===1?e:nG(function(){for(var n=arguments.length,r=new Array(n),i=0;io!==nZ).length;return s>=t?e(...r):iZ(t-s,nG(function(){for(var o=arguments.length,l=new Array(o),c=0;crZ(d)?l.shift():d);return e(...u,...l)}))}),V3e=t=>iZ(t.length,t),_D=(t,e)=>{for(var n=[],r=t;rArray.isArray(e)?e.map(t):Object.keys(e).map(n=>e[n]).map(t)),q3e=function(){for(var e=arguments.length,n=new Array(e),r=0;rc(l),s(...arguments))}},SD=t=>Array.isArray(t)?t.reverse():t.split("").reverse().join("");function aZ(t){var e;return t===0?e=1:e=Math.floor(new yr(t).abs().log(10).toNumber())+1,e}function sZ(t,e,n){for(var r=new yr(t),i=0,s=[];r.lt(e)&&i<1e5;)s.push(r.toNumber()),r=r.add(n),i++;return s}var oZ=t=>{var[e,n]=t,[r,i]=[e,n];return e>n&&([r,i]=[n,e]),[r,i]},lZ=(t,e,n)=>{if(t.lte(0))return new yr(0);var r=aZ(t.toNumber()),i=new yr(10).pow(r),s=t.div(i),o=r!==1?.05:.1,l=new yr(Math.ceil(s.div(o).toNumber())).add(n).mul(o),c=l.mul(i);return e?new yr(c.toNumber()):new yr(Math.ceil(c.toNumber()))},W3e=(t,e,n)=>{var r=new yr(1),i=new yr(t);if(!i.isint()&&n){var s=Math.abs(t);s<1?(r=new yr(10).pow(aZ(t)-1),i=new yr(Math.floor(i.div(r).toNumber())).mul(r)):s>1&&(i=new yr(Math.floor(t)))}else t===0?i=new yr(Math.floor((e-1)/2)):n||(i=new yr(Math.floor(t)));var o=Math.floor((e-1)/2),l=q3e(G3e(c=>i.add(new yr(c-o).mul(r)).toNumber()),_D);return l(0,e)},cZ=function(e,n,r,i){var s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0;if(!Number.isFinite((n-e)/(r-1)))return{step:new yr(0),tickMin:new yr(0),tickMax:new yr(0)};var o=lZ(new yr(n).sub(e).div(r-1),i,s),l;e<=0&&n>=0?l=new yr(0):(l=new yr(e).add(n).div(2),l=l.sub(new yr(l).mod(o)));var c=Math.ceil(l.sub(e).div(o).toNumber()),u=Math.ceil(new yr(n).sub(l).div(o).toNumber()),d=c+u+1;return d>r?cZ(e,n,r,i,s+1):(d0?u+(r-d):u,c=n>0?c:c+(r-d)),{step:o,tickMin:l.sub(new yr(c).mul(o)),tickMax:l.add(new yr(u).mul(o))})},K3e=function(e){var[n,r]=e,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,o=Math.max(i,2),[l,c]=oZ([n,r]);if(l===-1/0||c===1/0){var u=c===1/0?[l,..._D(0,i-1).map(()=>1/0)]:[..._D(0,i-1).map(()=>-1/0),c];return n>r?SD(u):u}if(l===c)return W3e(l,i,s);var{step:d,tickMin:h,tickMax:p}=cZ(l,c,o,s,0),m=sZ(h,p.add(new yr(.1).mul(d)),d);return n>r?SD(m):m},X3e=function(e,n){var[r,i]=e,s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,[o,l]=oZ([r,i]);if(o===-1/0||l===1/0)return[r,i];if(o===l)return[o];var c=Math.max(n,2),u=lZ(new yr(l).sub(o).div(c-1),s,0),d=[...sZ(new yr(o),new yr(l),u),l];return s===!1&&(d=d.map(h=>Math.round(h))),r>i?SD(d):d},uZ=t=>t.rootProps.maxBarSize,Y3e=t=>t.rootProps.barGap,dZ=t=>t.rootProps.barCategoryGap,Q3e=t=>t.rootProps.barSize,lv=t=>t.rootProps.stackOffset,hZ=t=>t.rootProps.reverseStackOrder,EL=t=>t.options.chartName,TL=t=>t.rootProps.syncId,fZ=t=>t.rootProps.syncMethod,AL=t=>t.options.eventEmitter,Z3e=t=>t.rootProps.baseValue,vi={grid:-100,barBackground:-50,area:100,cursorRectangle:200,bar:300,line:400,axis:500,scatter:600,activeBar:1e3,cursorLine:1100,activeDot:1200,label:2e3},xu={allowDuplicatedCategory:!0,angleAxisId:0,reversed:!1,scale:"auto",tick:!0,type:"category"},mo={allowDataOverflow:!1,allowDuplicatedCategory:!0,radiusAxisId:0,scale:"auto",tick:!0,tickCount:5,type:"number"},hM=(t,e)=>{if(!(!t||!e))return t!=null&&t.reversed?[e[1],e[0]]:e},J3e={allowDataOverflow:!1,allowDecimals:!1,allowDuplicatedCategory:!1,dataKey:void 0,domain:void 0,id:xu.angleAxisId,includeHidden:!1,name:void 0,reversed:xu.reversed,scale:xu.scale,tick:xu.tick,tickCount:void 0,ticks:void 0,type:xu.type,unit:void 0},eDe={allowDataOverflow:mo.allowDataOverflow,allowDecimals:!1,allowDuplicatedCategory:mo.allowDuplicatedCategory,dataKey:void 0,domain:void 0,id:mo.radiusAxisId,includeHidden:!1,name:void 0,reversed:!1,scale:mo.scale,tick:mo.tick,tickCount:mo.tickCount,ticks:void 0,type:mo.type,unit:void 0},tDe={allowDataOverflow:!1,allowDecimals:!1,allowDuplicatedCategory:xu.allowDuplicatedCategory,dataKey:void 0,domain:void 0,id:xu.angleAxisId,includeHidden:!1,name:void 0,reversed:!1,scale:xu.scale,tick:xu.tick,tickCount:void 0,ticks:void 0,type:"number",unit:void 0},nDe={allowDataOverflow:mo.allowDataOverflow,allowDecimals:!1,allowDuplicatedCategory:mo.allowDuplicatedCategory,dataKey:void 0,domain:void 0,id:mo.radiusAxisId,includeHidden:!1,name:void 0,reversed:!1,scale:mo.scale,tick:mo.tick,tickCount:mo.tickCount,ticks:void 0,type:"category",unit:void 0},CL=(t,e)=>t.polarAxis.angleAxis[e]!=null?t.polarAxis.angleAxis[e]:t.layout.layoutType==="radial"?tDe:J3e,PL=(t,e)=>t.polarAxis.radiusAxis[e]!=null?t.polarAxis.radiusAxis[e]:t.layout.layoutType==="radial"?nDe:eDe,fM=t=>t.polarOptions,jL=st([ed,td,ia],dQ),mZ=st([fM,jL],(t,e)=>{if(t!=null)return as(t.innerRadius,e,0)}),pZ=st([fM,jL],(t,e)=>{if(t!=null)return as(t.outerRadius,e,e*.8)}),rDe=t=>{if(t==null)return[0,0];var{startAngle:e,endAngle:n}=t;return[e,n]},gZ=st([fM],rDe);st([CL,gZ],hM);var bZ=st([jL,mZ,pZ],(t,e,n)=>{if(!(t==null||e==null||n==null))return[e,n]});st([PL,bZ],hM);var xZ=st([Kn,fM,mZ,pZ,ed,td],(t,e,n,r,i,s)=>{if(!(t!=="centric"&&t!=="radial"||e==null||n==null||r==null)){var{cx:o,cy:l,startAngle:c,endAngle:u}=e;return{cx:as(o,i,i/2),cy:as(l,s,s/2),innerRadius:n,outerRadius:r,startAngle:c,endAngle:u,clockWise:!1}}}),ii=(t,e)=>e,cv=(t,e,n)=>n;function mM(t){return t?.id}function yZ(t,e,n){var{chartData:r=[]}=e,{allowDuplicatedCategory:i,dataKey:s}=n,o=new Map;return t.forEach(l=>{var c,u=(c=l.data)!==null&&c!==void 0?c:r;if(!(u==null||u.length===0)){var d=mM(l);u.forEach((h,p)=>{var m=s==null||i?p:String(vr(h,s,null)),b=vr(h,l.dataKey,0),y;o.has(m)?y=o.get(m):y={},Object.assign(y,{[d]:b}),o.set(m,y)})}}),Array.from(o.values())}function pM(t){return t.stackId!=null&&t.dataKey!=null}var gM=(t,e)=>t===e?!0:t==null||e==null?!1:t[0]===e[0]&&t[1]===e[1];function bM(t,e){return Array.isArray(t)&&Array.isArray(e)&&t.length===0&&e.length===0?!0:t===e}function iDe(t,e){if(t.length===e.length){for(var n=0;n{var e=Kn(t);return e==="horizontal"?"xAxis":e==="vertical"?"yAxis":e==="centric"?"angleAxis":"radiusAxis"},Ob=t=>t.tooltip.settings.axisId;function rG(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function YS(t){for(var e=1;et.cartesianAxis.xAxis[e],Ac=(t,e)=>{var n=vZ(t,e);return n??ga},ba={allowDataOverflow:!1,allowDecimals:!0,allowDuplicatedCategory:!0,angle:0,dataKey:void 0,domain:ND,hide:!0,id:0,includeHidden:!1,interval:"preserveEnd",minTickGap:5,mirror:!1,name:void 0,orientation:"left",padding:{top:0,bottom:0},reversed:!1,scale:"auto",tick:!0,tickCount:5,tickFormatter:void 0,ticks:void 0,type:"number",unit:void 0,width:ev},wZ=(t,e)=>t.cartesianAxis.yAxis[e],Cc=(t,e)=>{var n=wZ(t,e);return n??ba},lDe={domain:[0,"auto"],includeHidden:!1,reversed:!1,allowDataOverflow:!1,allowDuplicatedCategory:!1,dataKey:void 0,id:0,name:"",range:[64,64],scale:"auto",type:"number",unit:""},DL=(t,e)=>{var n=t.cartesianAxis.zAxis[e];return n??lDe},ui=(t,e,n)=>{switch(e){case"xAxis":return Ac(t,n);case"yAxis":return Cc(t,n);case"zAxis":return DL(t,n);case"angleAxis":return CL(t,n);case"radiusAxis":return PL(t,n);default:throw new Error("Unexpected axis type: ".concat(e))}},cDe=(t,e,n)=>{switch(e){case"xAxis":return Ac(t,n);case"yAxis":return Cc(t,n);default:throw new Error("Unexpected axis type: ".concat(e))}},uv=(t,e,n)=>{switch(e){case"xAxis":return Ac(t,n);case"yAxis":return Cc(t,n);case"angleAxis":return CL(t,n);case"radiusAxis":return PL(t,n);default:throw new Error("Unexpected axis type: ".concat(e))}},_Z=t=>t.graphicalItems.cartesianItems.some(e=>e.type==="bar")||t.graphicalItems.polarItems.some(e=>e.type==="radialBar");function RL(t,e){return n=>{switch(t){case"xAxis":return"xAxisId"in n&&n.xAxisId===e;case"yAxis":return"yAxisId"in n&&n.yAxisId===e;case"zAxis":return"zAxisId"in n&&n.zAxisId===e;case"angleAxis":return"angleAxisId"in n&&n.angleAxisId===e;case"radiusAxis":return"radiusAxisId"in n&&n.radiusAxisId===e;default:return!1}}}var dv=t=>t.graphicalItems.cartesianItems,uDe=st([ii,cv],RL),OL=(t,e,n)=>t.filter(n).filter(r=>e?.includeHidden===!0?!0:!r.hide),hv=st([dv,ui,uDe],OL,{memoizeOptions:{resultEqualityCheck:bM}}),SZ=st([hv],t=>t.filter(e=>e.type==="area"||e.type==="bar").filter(pM)),NZ=t=>t.filter(e=>!("stackId"in e)||e.stackId===void 0),dDe=st([hv],NZ),LL=t=>t.map(e=>e.data).filter(Boolean).flat(1),hDe=st([hv],LL,{memoizeOptions:{resultEqualityCheck:bM}}),FL=(t,e)=>{var{chartData:n=[],dataStartIndex:r,dataEndIndex:i}=e;return t.length>0?t:n.slice(r,i+1)},IL=st([hDe,ov],FL),zL=(t,e,n)=>e?.dataKey!=null?t.map(r=>({value:vr(r,e.dataKey)})):n.length>0?n.map(r=>r.dataKey).flatMap(r=>t.map(i=>({value:vr(i,r)}))):t.map(r=>({value:r})),xM=st([IL,ui,hv],zL);function kZ(t,e){switch(t){case"xAxis":return e.direction==="x";case"yAxis":return e.direction==="y";default:return!1}}function I1(t){if(fl(t)||t instanceof Date){var e=Number(t);if(wr(e))return e}}function iG(t){if(Array.isArray(t)){var e=[I1(t[0]),I1(t[1])];return Lh(e)?e:void 0}var n=I1(t);if(n!=null)return[n,n]}function Qu(t){return t.map(I1).filter(c2e)}function fDe(t,e,n){return!n||typeof e!="number"||Ys(e)?[]:n.length?Qu(n.flatMap(r=>{var i=vr(t,r.dataKey),s,o;if(Array.isArray(i)?[s,o]=i:s=o=i,!(!wr(s)||!wr(o)))return[e-s,e+o]})):[]}var la=t=>{var e=oa(t),n=Ob(t);return uv(t,e,n)},fv=st([la],t=>t?.dataKey),mDe=st([SZ,ov,la],yZ),MZ=(t,e,n,r)=>{var i={},s=e.reduce((o,l)=>(l.stackId==null||(o[l.stackId]==null&&(o[l.stackId]=[]),o[l.stackId].push(l)),o),i);return Object.fromEntries(Object.entries(s).map(o=>{var[l,c]=o,u=r?[...c].reverse():c,d=u.map(mM);return[l,{stackedData:DTe(t,d,n),graphicalItems:u}]}))},Sy=st([mDe,SZ,lv,hZ],MZ),EZ=(t,e,n,r)=>{var{dataStartIndex:i,dataEndIndex:s}=e;if(r==null&&n!=="zAxis"){var o=FTe(t,i,s);if(!(o!=null&&o[0]===0&&o[1]===0))return o}},pDe=st([ui],t=>t.allowDataOverflow),UL=t=>{var e;if(t==null||!("domain"in t))return ND;if(t.domain!=null)return t.domain;if(t.ticks!=null){if(t.type==="number"){var n=Qu(t.ticks);return[Math.min(...n),Math.max(...n)]}if(t.type==="category")return t.ticks.map(String)}return(e=t?.domain)!==null&&e!==void 0?e:ND},BL=st([ui],UL),HL=st([BL,pDe],YQ),gDe=st([Sy,Gh,ii,HL],EZ,{memoizeOptions:{resultEqualityCheck:gM}}),yM=t=>t.errorBars,bDe=(t,e,n)=>t.flatMap(r=>e[r.id]).filter(Boolean).filter(r=>kZ(n,r)),QS=function(){for(var e=arguments.length,n=new Array(e),r=0;r{var s,o;if(n.length>0&&t.forEach(l=>{n.forEach(c=>{var u,d,h=(u=r[c.id])===null||u===void 0?void 0:u.filter(v=>kZ(i,v)),p=vr(l,(d=e.dataKey)!==null&&d!==void 0?d:c.dataKey),m=fDe(l,p,h);if(m.length>=2){var b=Math.min(...m),y=Math.max(...m);(s==null||bo)&&(o=y)}var x=iG(p);x!=null&&(s=s==null?x[0]:Math.min(s,x[0]),o=o==null?x[1]:Math.max(o,x[1]))})}),e?.dataKey!=null&&t.forEach(l=>{var c=iG(vr(l,e.dataKey));c!=null&&(s=s==null?c[0]:Math.min(s,c[0]),o=o==null?c[1]:Math.max(o,c[1]))}),wr(s)&&wr(o))return[s,o]},xDe=st([IL,ui,dDe,yM,ii],$L,{memoizeOptions:{resultEqualityCheck:gM}});function yDe(t){var{value:e}=t;if(fl(e)||e instanceof Date)return e}var vDe=(t,e,n)=>{var r=t.map(yDe).filter(i=>i!=null);return n&&(e.dataKey==null||e.allowDuplicatedCategory&&HX(r))?pQ(0,t.length):e.allowDuplicatedCategory?r:Array.from(new Set(r))},TZ=t=>t.referenceElements.dots,Lb=(t,e,n)=>t.filter(r=>r.ifOverflow==="extendDomain").filter(r=>e==="xAxis"?r.xAxisId===n:r.yAxisId===n),wDe=st([TZ,ii,cv],Lb),AZ=t=>t.referenceElements.areas,_De=st([AZ,ii,cv],Lb),CZ=t=>t.referenceElements.lines,SDe=st([CZ,ii,cv],Lb),PZ=(t,e)=>{var n=Qu(t.map(r=>e==="xAxis"?r.x:r.y));if(n.length!==0)return[Math.min(...n),Math.max(...n)]},NDe=st(wDe,ii,PZ),jZ=(t,e)=>{var n=Qu(t.flatMap(r=>[e==="xAxis"?r.x1:r.y1,e==="xAxis"?r.x2:r.y2]));if(n.length!==0)return[Math.min(...n),Math.max(...n)]},kDe=st([_De,ii],jZ);function MDe(t){var e;if(t.x!=null)return Qu([t.x]);var n=(e=t.segment)===null||e===void 0?void 0:e.map(r=>r.x);return n==null||n.length===0?[]:Qu(n)}function EDe(t){var e;if(t.y!=null)return Qu([t.y]);var n=(e=t.segment)===null||e===void 0?void 0:e.map(r=>r.y);return n==null||n.length===0?[]:Qu(n)}var DZ=(t,e)=>{var n=t.flatMap(r=>e==="xAxis"?MDe(r):EDe(r));if(n.length!==0)return[Math.min(...n),Math.max(...n)]},TDe=st([SDe,ii],DZ),ADe=st(NDe,TDe,kDe,(t,e,n)=>QS(t,n,e)),VL=(t,e,n,r,i,s,o,l)=>{if(n!=null)return n;var c=o==="vertical"&&l==="xAxis"||o==="horizontal"&&l==="yAxis",u=c?QS(r,s,i):QS(s,i);return z3e(e,u,t.allowDataOverflow)},CDe=st([ui,BL,HL,gDe,xDe,ADe,Kn,ii],VL,{memoizeOptions:{resultEqualityCheck:gM}}),PDe=[0,1],GL=(t,e,n,r,i,s,o)=>{if(!((t==null||n==null||n.length===0)&&o===void 0)){var{dataKey:l,type:c}=t,u=Tc(e,s);if(u&&l==null){var d;return pQ(0,(d=n?.length)!==null&&d!==void 0?d:0)}return c==="category"?vDe(r,t,u):i==="expand"?PDe:o}},qL=st([ui,Kn,IL,xM,lv,ii,CDe],GL),RZ=(t,e,n,r,i)=>{if(t!=null){var{scale:s,type:o}=t;if(s==="auto")return e==="radial"&&i==="radiusAxis"?"band":e==="radial"&&i==="angleAxis"?"linear":o==="category"&&r&&(r.indexOf("LineChart")>=0||r.indexOf("AreaChart")>=0||r.indexOf("ComposedChart")>=0&&!n)?"point":o==="category"?"band":"linear";if(typeof s=="string"){var l="scale".concat(Ky(s));return l in f0?l:"point"}}},Fb=st([ui,Kn,_Z,EL,ii],RZ);function jDe(t){if(t!=null){if(t in f0)return f0[t]();var e="scale".concat(Ky(t));if(e in f0)return f0[e]()}}function WL(t,e,n,r){if(!(n==null||r==null)){if(typeof t.scale=="function")return t.scale.copy().domain(n).range(r);var i=jDe(e);if(i!=null){var s=i.domain(n).range(r);return TTe(s),s}}}var KL=(t,e,n)=>{var r=UL(e);if(!(n!=="auto"&&n!=="linear")){if(e!=null&&e.tickCount&&Array.isArray(r)&&(r[0]==="auto"||r[1]==="auto")&&Lh(t))return K3e(t,e.tickCount,e.allowDecimals);if(e!=null&&e.tickCount&&e.type==="number"&&Lh(t))return X3e(t,e.tickCount,e.allowDecimals)}},XL=st([qL,uv,Fb],KL),YL=(t,e,n,r)=>{if(r!=="angleAxis"&&t?.type==="number"&&Lh(e)&&Array.isArray(n)&&n.length>0){var i=e[0],s=n[0],o=e[1],l=n[n.length-1];return[Math.min(i,s),Math.max(o,l)]}return e},DDe=st([ui,qL,XL,ii],YL),RDe=st(xM,ui,(t,e)=>{if(!(!e||e.type!=="number")){var n=1/0,r=Array.from(Qu(t.map(l=>l.value))).sort((l,c)=>l-c);if(r.length<2)return 1/0;var i=r[r.length-1]-r[0];if(i===0)return 1/0;for(var s=0;sr,(t,e,n,r,i)=>{if(!wr(t))return 0;var s=e==="vertical"?r.height:r.width;if(i==="gap")return t*s/2;if(i==="no-gap"){var o=as(n,t*s),l=t*s/2;return l-o-(l-o)/s*o}return 0}),ODe=(t,e)=>{var n=Ac(t,e);return n==null||typeof n.padding!="string"?0:OZ(t,"xAxis",e,n.padding)},LDe=(t,e)=>{var n=Cc(t,e);return n==null||typeof n.padding!="string"?0:OZ(t,"yAxis",e,n.padding)},FDe=st(Ac,ODe,(t,e)=>{var n,r;if(t==null)return{left:0,right:0};var{padding:i}=t;return typeof i=="string"?{left:e,right:e}:{left:((n=i.left)!==null&&n!==void 0?n:0)+e,right:((r=i.right)!==null&&r!==void 0?r:0)+e}}),IDe=st(Cc,LDe,(t,e)=>{var n,r;if(t==null)return{top:0,bottom:0};var{padding:i}=t;return typeof i=="string"?{top:e,bottom:e}:{top:((n=i.top)!==null&&n!==void 0?n:0)+e,bottom:((r=i.bottom)!==null&&r!==void 0?r:0)+e}}),zDe=st([ia,FDe,tM,eM,(t,e,n)=>n],(t,e,n,r,i)=>{var{padding:s}=r;return i?[s.left,n.width-s.right]:[t.left+e.left,t.left+t.width-e.right]}),UDe=st([ia,Kn,IDe,tM,eM,(t,e,n)=>n],(t,e,n,r,i,s)=>{var{padding:o}=i;return s?[r.height-o.bottom,o.top]:e==="horizontal"?[t.top+t.height-n.bottom,t.top+n.top]:[t.top+n.top,t.top+t.height-n.bottom]}),mv=(t,e,n,r)=>{var i;switch(e){case"xAxis":return zDe(t,n,r);case"yAxis":return UDe(t,n,r);case"zAxis":return(i=DL(t,n))===null||i===void 0?void 0:i.range;case"angleAxis":return gZ(t);case"radiusAxis":return bZ(t,n);default:return}},LZ=st([ui,mv],hM),Fh=st([ui,Fb,DDe,LZ],WL);st([hv,yM,ii],bDe);function FZ(t,e){return t.ide.id?1:0}var vM=(t,e)=>e,wM=(t,e,n)=>n,BDe=st(Zk,vM,wM,(t,e,n)=>t.filter(r=>r.orientation===e).filter(r=>r.mirror===n).sort(FZ)),HDe=st(Jk,vM,wM,(t,e,n)=>t.filter(r=>r.orientation===e).filter(r=>r.mirror===n).sort(FZ)),IZ=(t,e)=>({width:t.width,height:e.height}),$De=(t,e)=>{var n=typeof e.width=="number"?e.width:ev;return{width:n,height:t.height}},zZ=st(ia,Ac,IZ),VDe=(t,e,n)=>{switch(e){case"top":return t.top;case"bottom":return n-t.bottom;default:return 0}},GDe=(t,e,n)=>{switch(e){case"left":return t.left;case"right":return n-t.right;default:return 0}},qDe=st(td,ia,BDe,vM,wM,(t,e,n,r,i)=>{var s={},o;return n.forEach(l=>{var c=IZ(e,l);o==null&&(o=VDe(e,r,t));var u=r==="top"&&!i||r==="bottom"&&i;s[l.id]=o-Number(u)*c.height,o+=(u?-1:1)*c.height}),s}),WDe=st(ed,ia,HDe,vM,wM,(t,e,n,r,i)=>{var s={},o;return n.forEach(l=>{var c=$De(e,l);o==null&&(o=GDe(e,r,t));var u=r==="left"&&!i||r==="right"&&i;s[l.id]=o-Number(u)*c.width,o+=(u?-1:1)*c.width}),s}),KDe=(t,e)=>{var n=Ac(t,e);if(n!=null)return qDe(t,n.orientation,n.mirror)},XDe=st([ia,Ac,KDe,(t,e)=>e],(t,e,n,r)=>{if(e!=null){var i=n?.[r];return i==null?{x:t.left,y:0}:{x:t.left,y:i}}}),YDe=(t,e)=>{var n=Cc(t,e);if(n!=null)return WDe(t,n.orientation,n.mirror)},QDe=st([ia,Cc,YDe,(t,e)=>e],(t,e,n,r)=>{if(e!=null){var i=n?.[r];return i==null?{x:0,y:t.top}:{x:i,y:t.top}}}),UZ=st(ia,Cc,(t,e)=>{var n=typeof e.width=="number"?e.width:ev;return{width:n,height:t.height}}),aG=(t,e,n)=>{switch(e){case"xAxis":return zZ(t,n).width;case"yAxis":return UZ(t,n).height;default:return}},BZ=(t,e,n,r)=>{if(n!=null){var{allowDuplicatedCategory:i,type:s,dataKey:o}=n,l=Tc(t,r),c=e.map(u=>u.value);if(o&&l&&s==="category"&&i&&HX(c))return c}},QL=st([Kn,xM,ui,ii],BZ),HZ=(t,e,n,r)=>{if(!(n==null||n.dataKey==null)){var{type:i,scale:s}=n,o=Tc(t,r);if(o&&(i==="number"||s!=="auto"))return e.map(l=>l.value)}},ZL=st([Kn,xM,uv,ii],HZ),sG=st([Kn,cDe,Fb,Fh,QL,ZL,mv,XL,ii],(t,e,n,r,i,s,o,l,c)=>{if(e!=null){var u=Tc(t,c);return{angle:e.angle,interval:e.interval,minTickGap:e.minTickGap,orientation:e.orientation,tick:e.tick,tickCount:e.tickCount,tickFormatter:e.tickFormatter,ticks:e.ticks,type:e.type,unit:e.unit,axisType:c,categoricalDomain:s,duplicateDomain:i,isCategorical:u,niceTicks:l,range:o,realScaleType:n,scale:r}}}),ZDe=(t,e,n,r,i,s,o,l,c)=>{if(!(e==null||r==null)){var u=Tc(t,c),{type:d,ticks:h,tickCount:p}=e,m=n==="scaleBand"&&typeof r.bandwidth=="function"?r.bandwidth()/2:2,b=d==="category"&&r.bandwidth?r.bandwidth()/m:0;b=c==="angleAxis"&&s!=null&&s.length>=2?wa(s[0]-s[1])*2*b:b;var y=h||i;if(y){var x=y.map((v,S)=>{var N=o?o.indexOf(v):v;return{index:S,coordinate:r(N)+b,value:v,offset:b}});return x.filter(v=>wr(v.coordinate))}return u&&l?l.map((v,S)=>({coordinate:r(v)+b,value:v,index:S,offset:b})).filter(v=>wr(v.coordinate)):r.ticks?r.ticks(p).map(v=>({coordinate:r(v)+b,value:v,offset:b})):r.domain().map((v,S)=>({coordinate:r(v)+b,value:o?o[v]:v,index:S,offset:b}))}},$Z=st([Kn,uv,Fb,Fh,XL,mv,QL,ZL,ii],ZDe),JDe=(t,e,n,r,i,s,o)=>{if(!(e==null||n==null||r==null||r[0]===r[1])){var l=Tc(t,o),{tickCount:c}=e,u=0;return u=o==="angleAxis"&&r?.length>=2?wa(r[0]-r[1])*2*u:u,l&&s?s.map((d,h)=>({coordinate:n(d)+u,value:d,index:h,offset:u})):n.ticks?n.ticks(c).map(d=>({coordinate:n(d)+u,value:d,offset:u})):n.domain().map((d,h)=>({coordinate:n(d)+u,value:i?i[d]:d,index:h,offset:u}))}},wc=st([Kn,uv,Fh,mv,QL,ZL,ii],JDe),_c=st(ui,Fh,(t,e)=>{if(!(t==null||e==null))return YS(YS({},t),{},{scale:e})}),eRe=st([ui,Fb,qL,LZ],WL);st((t,e,n)=>DL(t,n),eRe,(t,e)=>{if(!(t==null||e==null))return YS(YS({},t),{},{scale:e})});var tRe=st([Kn,Zk,Jk],(t,e,n)=>{switch(t){case"horizontal":return e.some(r=>r.reversed)?"right-to-left":"left-to-right";case"vertical":return n.some(r=>r.reversed)?"bottom-to-top":"top-to-bottom";case"centric":case"radial":return"left-to-right";default:return}}),VZ=t=>t.options.defaultTooltipEventType,GZ=t=>t.options.validateTooltipEventTypes;function qZ(t,e,n){if(t==null)return e;var r=t?"axis":"item";return n==null?e:n.includes(r)?r:e}function JL(t,e){var n=VZ(t),r=GZ(t);return qZ(e,n,r)}function nRe(t){return Ht(e=>JL(e,t))}var WZ=(t,e)=>{var n,r=Number(e);if(!(Ys(r)||e==null))return r>=0?t==null||(n=t[r])===null||n===void 0?void 0:n.value:void 0},rRe=t=>t.tooltip.settings,ih={active:!1,index:null,dataKey:void 0,graphicalItemId:void 0,coordinate:void 0},iRe={itemInteraction:{click:ih,hover:ih},axisInteraction:{click:ih,hover:ih},keyboardInteraction:ih,syncInteraction:{active:!1,index:null,dataKey:void 0,label:void 0,coordinate:void 0,sourceViewBox:void 0,graphicalItemId:void 0},tooltipItemPayloads:[],settings:{shared:void 0,trigger:"hover",axisId:0,active:!1,defaultIndex:void 0}},KZ=Qs({name:"tooltip",initialState:iRe,reducers:{addTooltipEntrySettings:{reducer(t,e){t.tooltipItemPayloads.push(e.payload)},prepare:Jr()},replaceTooltipEntrySettings:{reducer(t,e){var{prev:n,next:r}=e.payload,i=Il(t).tooltipItemPayloads.indexOf(n);i>-1&&(t.tooltipItemPayloads[i]=r)},prepare:Jr()},removeTooltipEntrySettings:{reducer(t,e){var n=Il(t).tooltipItemPayloads.indexOf(e.payload);n>-1&&t.tooltipItemPayloads.splice(n,1)},prepare:Jr()},setTooltipSettingsState(t,e){t.settings=e.payload},setActiveMouseOverItemIndex(t,e){t.syncInteraction.active=!1,t.keyboardInteraction.active=!1,t.itemInteraction.hover.active=!0,t.itemInteraction.hover.index=e.payload.activeIndex,t.itemInteraction.hover.dataKey=e.payload.activeDataKey,t.itemInteraction.hover.graphicalItemId=e.payload.activeGraphicalItemId,t.itemInteraction.hover.coordinate=e.payload.activeCoordinate},mouseLeaveChart(t){t.itemInteraction.hover.active=!1,t.axisInteraction.hover.active=!1},mouseLeaveItem(t){t.itemInteraction.hover.active=!1},setActiveClickItemIndex(t,e){t.syncInteraction.active=!1,t.itemInteraction.click.active=!0,t.keyboardInteraction.active=!1,t.itemInteraction.click.index=e.payload.activeIndex,t.itemInteraction.click.dataKey=e.payload.activeDataKey,t.itemInteraction.click.graphicalItemId=e.payload.activeGraphicalItemId,t.itemInteraction.click.coordinate=e.payload.activeCoordinate},setMouseOverAxisIndex(t,e){t.syncInteraction.active=!1,t.axisInteraction.hover.active=!0,t.keyboardInteraction.active=!1,t.axisInteraction.hover.index=e.payload.activeIndex,t.axisInteraction.hover.dataKey=e.payload.activeDataKey,t.axisInteraction.hover.coordinate=e.payload.activeCoordinate},setMouseClickAxisIndex(t,e){t.syncInteraction.active=!1,t.keyboardInteraction.active=!1,t.axisInteraction.click.active=!0,t.axisInteraction.click.index=e.payload.activeIndex,t.axisInteraction.click.dataKey=e.payload.activeDataKey,t.axisInteraction.click.coordinate=e.payload.activeCoordinate},setSyncInteraction(t,e){t.syncInteraction=e.payload},setKeyboardInteraction(t,e){t.keyboardInteraction.active=e.payload.active,t.keyboardInteraction.index=e.payload.activeIndex,t.keyboardInteraction.coordinate=e.payload.activeCoordinate,t.keyboardInteraction.dataKey=e.payload.activeDataKey}}}),{addTooltipEntrySettings:aRe,replaceTooltipEntrySettings:sRe,removeTooltipEntrySettings:oRe,setTooltipSettingsState:lRe,setActiveMouseOverItemIndex:XZ,mouseLeaveItem:cRe,mouseLeaveChart:YZ,setActiveClickItemIndex:uRe,setMouseOverAxisIndex:QZ,setMouseClickAxisIndex:dRe,setSyncInteraction:kD,setKeyboardInteraction:MD}=KZ.actions,hRe=KZ.reducer;function oG(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function e1(t){for(var e=1;e{if(e==null)return ih;var i=gRe(t,e,n);if(i==null)return ih;if(i.active)return i;if(t.keyboardInteraction.active)return t.keyboardInteraction;if(t.syncInteraction.active&&t.syncInteraction.index!=null)return t.syncInteraction;var s=t.settings.active===!0;if(bRe(i)){if(s)return e1(e1({},i),{},{active:!0})}else if(r!=null)return{active:!0,coordinate:void 0,dataKey:void 0,index:r,graphicalItemId:void 0};return e1(e1({},ih),{},{coordinate:i.coordinate})};function xRe(t){if(typeof t=="number")return Number.isFinite(t)?t:void 0;if(t instanceof Date){var e=t.valueOf();return Number.isFinite(e)?e:void 0}var n=Number(t);return Number.isFinite(n)?n:void 0}function yRe(t,e){var n=xRe(t),r=e[0],i=e[1];if(n===void 0)return!1;var s=Math.min(r,i),o=Math.max(r,i);return n>=s&&n<=o}function vRe(t,e,n){if(n==null||e==null)return!0;var r=vr(t,e);return r==null||!Lh(n)?!0:yRe(r,n)}var e4=(t,e,n,r)=>{var i=t?.index;if(i==null)return null;var s=Number(i);if(!wr(s))return i;var o=0,l=1/0;e.length>0&&(l=e.length-1);var c=Math.max(o,Math.min(s,l)),u=e[c];return u==null||vRe(u,n,r)?String(c):null},JZ=(t,e,n,r,i,s,o,l)=>{if(!(s==null||l==null)){var c=o[0],u=c==null?void 0:l(c.positions,s);if(u!=null)return u;var d=i?.[Number(s)];if(d)switch(n){case"horizontal":return{x:d.coordinate,y:(r.top+e)/2};default:return{x:(r.left+t)/2,y:d.coordinate}}}},eJ=(t,e,n,r)=>{if(e==="axis")return t.tooltipItemPayloads;if(t.tooltipItemPayloads.length===0)return[];var i;return n==="hover"?i=t.itemInteraction.hover.dataKey:i=t.itemInteraction.click.dataKey,i==null&&r!=null?[t.tooltipItemPayloads[0]]:t.tooltipItemPayloads.filter(s=>{var o;return((o=s.settings)===null||o===void 0?void 0:o.dataKey)===i})},pv=t=>t.options.tooltipPayloadSearcher,Ib=t=>t.tooltip;function lG(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function cG(t){for(var e=1;e{if(!(e==null||s==null)){var{chartData:l,computedData:c,dataStartIndex:u,dataEndIndex:d}=n,h=[];return t.reduce((p,m)=>{var b,{dataDefinedOnItem:y,settings:x}=m,v=NRe(y,l),S=Array.isArray(v)?FY(v,u,d):v,N=(b=x?.dataKey)!==null&&b!==void 0?b:r,T=x?.nameKey,M;if(r&&Array.isArray(S)&&!Array.isArray(S[0])&&o==="axis"?M=$X(S,r,i):M=s(S,e,c,T),Array.isArray(M))M.forEach(k=>{var R=cG(cG({},x),{},{name:k.name,unit:k.unit,color:void 0,fill:void 0});p.push(A$({tooltipEntrySettings:R,dataKey:k.dataKey,payload:k.payload,value:vr(k.payload,k.dataKey),name:k.name}))});else{var A;p.push(A$({tooltipEntrySettings:x,dataKey:N,payload:M,value:vr(M,N),name:(A=vr(M,T))!==null&&A!==void 0?A:x?.name}))}return p},h)}},t4=st([la,Kn,_Z,EL,oa],RZ),kRe=st([t=>t.graphicalItems.cartesianItems,t=>t.graphicalItems.polarItems],(t,e)=>[...t,...e]),MRe=st([oa,Ob],RL),gv=st([kRe,la,MRe],OL,{memoizeOptions:{resultEqualityCheck:bM}}),ERe=st([gv],t=>t.filter(pM)),TRe=st([gv],LL,{memoizeOptions:{resultEqualityCheck:bM}}),zb=st([TRe,Gh],FL),ARe=st([ERe,Gh,la],yZ),n4=st([zb,la,gv],zL),nJ=st([la],UL),CRe=st([la],t=>t.allowDataOverflow),rJ=st([nJ,CRe],YQ),PRe=st([gv],t=>t.filter(pM)),jRe=st([ARe,PRe,lv,hZ],MZ),DRe=st([jRe,Gh,oa,rJ],EZ),RRe=st([gv],NZ),ORe=st([zb,la,RRe,yM,oa],$L,{memoizeOptions:{resultEqualityCheck:gM}}),LRe=st([TZ,oa,Ob],Lb),FRe=st([LRe,oa],PZ),IRe=st([AZ,oa,Ob],Lb),zRe=st([IRe,oa],jZ),URe=st([CZ,oa,Ob],Lb),BRe=st([URe,oa],DZ),HRe=st([FRe,BRe,zRe],QS),$Re=st([la,nJ,rJ,DRe,ORe,HRe,Kn,oa],VL),bv=st([la,Kn,zb,n4,lv,oa,$Re],GL),VRe=st([bv,la,t4],KL),GRe=st([la,bv,VRe,oa],YL),iJ=t=>{var e=oa(t),n=Ob(t),r=!1;return mv(t,e,n,r)},aJ=st([la,iJ],hM),sJ=st([la,t4,GRe,aJ],WL),qRe=st([Kn,n4,la,oa],BZ),WRe=st([Kn,n4,la,oa],HZ),KRe=(t,e,n,r,i,s,o,l)=>{if(e){var{type:c}=e,u=Tc(t,l);if(r){var d=n==="scaleBand"&&r.bandwidth?r.bandwidth()/2:2,h=c==="category"&&r.bandwidth?r.bandwidth()/d:0;return h=l==="angleAxis"&&i!=null&&i?.length>=2?wa(i[0]-i[1])*2*h:h,u&&o?o.map((p,m)=>({coordinate:r(p)+h,value:p,index:m,offset:h})):r.domain().map((p,m)=>({coordinate:r(p)+h,value:s?s[p]:p,index:m,offset:h}))}}},rd=st([Kn,la,t4,sJ,iJ,qRe,WRe,oa],KRe),r4=st([VZ,GZ,rRe],(t,e,n)=>qZ(n.shared,t,e)),oJ=t=>t.tooltip.settings.trigger,i4=t=>t.tooltip.settings.defaultIndex,xv=st([Ib,r4,oJ,i4],ZZ),Ih=st([xv,zb,fv,bv],e4),lJ=st([rd,Ih],WZ),a4=st([xv],t=>{if(t)return t.dataKey}),XRe=st([xv],t=>{if(t)return t.graphicalItemId}),cJ=st([Ib,r4,oJ,i4],eJ),YRe=st([ed,td,Kn,ia,rd,i4,cJ,pv],JZ),QRe=st([xv,YRe],(t,e)=>t!=null&&t.coordinate?t.coordinate:e),ZRe=st([xv],t=>t.active),JRe=st([cJ,Ih,Gh,fv,lJ,pv,r4],tJ),eOe=st([JRe],t=>{if(t!=null){var e=t.map(n=>n.payload).filter(n=>n!=null);return Array.from(new Set(e))}});function uG(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function dG(t){for(var e=1;eHt(la),aOe=()=>{var t=iOe(),e=Ht(rd),n=Ht(sJ);return Oh(!t||!n?void 0:dG(dG({},t),{},{scale:n}),e)};function hG(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function tg(t){for(var e=1;e{var i=e.find(s=>s&&s.index===n);if(i){if(t==="horizontal")return{x:i.coordinate,y:r.chartY};if(t==="vertical")return{x:r.chartX,y:i.coordinate}}return{x:0,y:0}},uOe=(t,e,n,r)=>{var i=e.find(u=>u&&u.index===n);if(i){if(t==="centric"){var s=i.coordinate,{radius:o}=r;return tg(tg(tg({},r),Bi(r.cx,r.cy,o,s)),{},{angle:s,radius:o})}var l=i.coordinate,{angle:c}=r;return tg(tg(tg({},r),Bi(r.cx,r.cy,l,c)),{},{angle:c,radius:l})}return{angle:0,clockWise:!1,cx:0,cy:0,endAngle:0,innerRadius:0,outerRadius:0,radius:0,startAngle:0,x:0,y:0}};function dOe(t,e){var{chartX:n,chartY:r}=t;return n>=e.left&&n<=e.left+e.width&&r>=e.top&&r<=e.top+e.height}var uJ=(t,e,n,r,i)=>{var s,o=-1,l=(s=e?.length)!==null&&s!==void 0?s:0;if(l<=1||t==null)return 0;if(r==="angleAxis"&&i!=null&&Math.abs(Math.abs(i[1]-i[0])-360)<=1e-6)for(var c=0;c0?n[c-1].coordinate:n[l-1].coordinate,d=n[c].coordinate,h=c>=l-1?n[0].coordinate:n[c+1].coordinate,p=void 0;if(wa(d-u)!==wa(h-d)){var m=[];if(wa(h-d)===wa(i[1]-i[0])){p=h;var b=d+i[1]-i[0];m[0]=Math.min(b,(b+u)/2),m[1]=Math.max(b,(b+u)/2)}else{p=u;var y=h+i[1]-i[0];m[0]=Math.min(d,(y+d)/2),m[1]=Math.max(d,(y+d)/2)}var x=[Math.min(d,(p+d)/2),Math.max(d,(p+d)/2)];if(t>x[0]&&t<=x[1]||t>=m[0]&&t<=m[1]){({index:o}=n[c]);break}}else{var v=Math.min(u,h),S=Math.max(u,h);if(t>(v+d)/2&&t<=(S+d)/2){({index:o}=n[c]);break}}}else if(e){for(var N=0;N0&&N(e[N].coordinate+e[N-1].coordinate)/2&&t<=(e[N].coordinate+e[N+1].coordinate)/2||N===l-1&&t>(e[N].coordinate+e[N-1].coordinate)/2){({index:o}=e[N]);break}}return o},dJ=()=>Ht(EL),s4=(t,e)=>e,hJ=(t,e,n)=>n,o4=(t,e,n,r)=>r,hOe=st(rd,t=>$k(t,e=>e.coordinate)),l4=st([Ib,s4,hJ,o4],ZZ),c4=st([l4,zb,fv,bv],e4),fOe=(t,e,n)=>{if(e!=null){var r=Ib(t);return e==="axis"?n==="hover"?r.axisInteraction.hover.dataKey:r.axisInteraction.click.dataKey:n==="hover"?r.itemInteraction.hover.dataKey:r.itemInteraction.click.dataKey}},fJ=st([Ib,s4,hJ,o4],eJ),ZS=st([ed,td,Kn,ia,rd,o4,fJ,pv],JZ),mOe=st([l4,ZS],(t,e)=>{var n;return(n=t.coordinate)!==null&&n!==void 0?n:e}),mJ=st([rd,c4],WZ),pOe=st([fJ,c4,Gh,fv,mJ,pv,s4],tJ),gOe=st([l4,c4],(t,e)=>({isActive:t.active&&e!=null,activeIndex:e})),bOe=(t,e,n,r,i,s,o)=>{if(!(!t||!n||!r||!i)&&dOe(t,o)){var l=ITe(t,e),c=uJ(l,s,i,n,r),u=cOe(e,i,c,t);return{activeIndex:String(c),activeCoordinate:u}}},xOe=(t,e,n,r,i,s,o)=>{if(!(!t||!r||!i||!s||!n)){var l=tPe(t,n);if(l){var c=zTe(l,e),u=uJ(c,o,s,r,i),d=uOe(e,s,u,l);return{activeIndex:String(u),activeCoordinate:d}}}},yOe=(t,e,n,r,i,s,o,l)=>{if(!(!t||!e||!r||!i||!s))return e==="horizontal"||e==="vertical"?bOe(t,e,r,i,s,o,l):xOe(t,e,n,r,i,s,o)},vOe=st(t=>t.zIndex.zIndexMap,(t,e)=>e,(t,e,n)=>n,(t,e,n)=>{if(e!=null){var r=t[e];if(r!=null)return n?r.panoramaElementId:r.elementId}}),wOe=st(t=>t.zIndex.zIndexMap,t=>{var e=Object.keys(t).map(r=>parseInt(r,10)).concat(Object.values(vi)),n=Array.from(new Set(e));return n.sort((r,i)=>r-i)},{memoizeOptions:{resultEqualityCheck:iDe}});function fG(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function mG(t){for(var e=1;emG(mG({},t),{},{[e]:{elementId:void 0,panoramaElementId:void 0,consumers:0}}),kOe)},EOe=new Set(Object.values(vi));function TOe(t){return EOe.has(t)}var pJ=Qs({name:"zIndex",initialState:MOe,reducers:{registerZIndexPortal:{reducer:(t,e)=>{var{zIndex:n}=e.payload;t.zIndexMap[n]?t.zIndexMap[n].consumers+=1:t.zIndexMap[n]={consumers:1,elementId:void 0,panoramaElementId:void 0}},prepare:Jr()},unregisterZIndexPortal:{reducer:(t,e)=>{var{zIndex:n}=e.payload;t.zIndexMap[n]&&(t.zIndexMap[n].consumers-=1,t.zIndexMap[n].consumers<=0&&!TOe(n)&&delete t.zIndexMap[n])},prepare:Jr()},registerZIndexPortalId:{reducer:(t,e)=>{var{zIndex:n,elementId:r,isPanorama:i}=e.payload;t.zIndexMap[n]?i?t.zIndexMap[n].panoramaElementId=r:t.zIndexMap[n].elementId=r:t.zIndexMap[n]={consumers:0,elementId:i?void 0:r,panoramaElementId:i?r:void 0}},prepare:Jr()},unregisterZIndexPortalId:{reducer:(t,e)=>{var{zIndex:n}=e.payload;t.zIndexMap[n]&&(e.payload.isPanorama?t.zIndexMap[n].panoramaElementId=void 0:t.zIndexMap[n].elementId=void 0)},prepare:Jr()}}}),{registerZIndexPortal:AOe,unregisterZIndexPortal:COe,registerZIndexPortalId:POe,unregisterZIndexPortalId:jOe}=pJ.actions,DOe=pJ.reducer;function ls(t){var{zIndex:e,children:n}=t,r=bAe(),i=r&&e!==void 0&&e!==0,s=aa(),o=zr();_.useLayoutEffect(()=>i?(o(AOe({zIndex:e})),()=>{o(COe({zIndex:e}))}):Xy,[o,e,i]);var l=Ht(u=>vOe(u,e,s));if(!i)return n;if(!l)return null;var c=document.getElementById(l);return c?vu.createPortal(n,c):null}function ED(){return ED=Object.assign?Object.assign.bind():function(t){for(var e=1;e_.useContext(gJ),QC={exports:{}},gG;function BOe(){return gG||(gG=1,(function(t){var e=Object.prototype.hasOwnProperty,n="~";function r(){}Object.create&&(r.prototype=Object.create(null),new r().__proto__||(n=!1));function i(c,u,d){this.fn=c,this.context=u,this.once=d||!1}function s(c,u,d,h,p){if(typeof d!="function")throw new TypeError("The listener must be a function");var m=new i(d,h||c,p),b=n?n+u:u;return c._events[b]?c._events[b].fn?c._events[b]=[c._events[b],m]:c._events[b].push(m):(c._events[b]=m,c._eventsCount++),c}function o(c,u){--c._eventsCount===0?c._events=new r:delete c._events[u]}function l(){this._events=new r,this._eventsCount=0}l.prototype.eventNames=function(){var u=[],d,h;if(this._eventsCount===0)return u;for(h in d=this._events)e.call(d,h)&&u.push(n?h.slice(1):h);return Object.getOwnPropertySymbols?u.concat(Object.getOwnPropertySymbols(d)):u},l.prototype.listeners=function(u){var d=n?n+u:u,h=this._events[d];if(!h)return[];if(h.fn)return[h.fn];for(var p=0,m=h.length,b=new Array(m);p{t.eventEmitter==null&&(t.eventEmitter=Symbol("rechartsEventEmitter"))}}}),GOe=bJ.reducer,{createEventEmitter:qOe}=bJ.actions;function WOe(t){return t.tooltip.syncInteraction}var KOe={chartData:void 0,computedData:void 0,dataStartIndex:0,dataEndIndex:0},xJ=Qs({name:"chartData",initialState:KOe,reducers:{setChartData(t,e){if(t.chartData=e.payload,e.payload==null){t.dataStartIndex=0,t.dataEndIndex=0;return}e.payload.length>0&&t.dataEndIndex!==e.payload.length-1&&(t.dataEndIndex=e.payload.length-1)},setComputedData(t,e){t.computedData=e.payload},setDataStartEndIndexes(t,e){var{startIndex:n,endIndex:r}=e.payload;n!=null&&(t.dataStartIndex=n),r!=null&&(t.dataEndIndex=r)}}}),{setChartData:xG,setDataStartEndIndexes:XOe,setComputedData:pQe}=xJ.actions,YOe=xJ.reducer,QOe=["x","y"];function yG(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function ng(t){for(var e=1;ec.rootProps.className);_.useEffect(()=>{if(t==null)return Xy;var c=(u,d,h)=>{if(e!==h&&t===u){if(r==="index"){var p;if(o&&d!==null&&d!==void 0&&(p=d.payload)!==null&&p!==void 0&&p.coordinate&&d.payload.sourceViewBox){var m=d.payload.coordinate,{x:b,y}=m,x=tLe(m,QOe),{x:v,y:S,width:N,height:T}=d.payload.sourceViewBox,M=ng(ng({},x),{},{x:o.x+(N?(b-v)/N:0)*o.width,y:o.y+(T?(y-S)/T:0)*o.height});n(ng(ng({},d),{},{payload:ng(ng({},d.payload),{},{coordinate:M})}))}else n(d);return}if(i!=null){var A;if(typeof r=="function"){var k={activeTooltipIndex:d.payload.index==null?void 0:Number(d.payload.index),isTooltipActive:d.payload.active,activeIndex:d.payload.index==null?void 0:Number(d.payload.index),activeLabel:d.payload.label,activeDataKey:d.payload.dataKey,activeCoordinate:d.payload.coordinate},R=r(i,k);A=i[R]}else r==="value"&&(A=i.find(G=>String(G.value)===d.payload.label));var{coordinate:C}=d.payload;if(A==null||d.payload.active===!1||C==null||o==null){n(kD({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}var{x:P,y:U}=C,F=Math.min(P,o.x+o.width),H=Math.min(U,o.y+o.height),D={x:s==="horizontal"?A.coordinate:F,y:s==="horizontal"?H:A.coordinate},$=kD({active:d.payload.active,coordinate:D,dataKey:d.payload.dataKey,index:String(A.index),label:d.payload.label,sourceViewBox:d.payload.sourceViewBox,graphicalItemId:d.payload.graphicalItemId});n($)}}};return Ny.on(TD,c),()=>{Ny.off(TD,c)}},[l,n,e,t,r,i,s,o])}function iLe(){var t=Ht(TL),e=Ht(AL),n=zr();_.useEffect(()=>{if(t==null)return Xy;var r=(i,s,o)=>{e!==o&&t===i&&n(XOe(s))};return Ny.on(bG,r),()=>{Ny.off(bG,r)}},[n,e,t])}function aLe(){var t=zr();_.useEffect(()=>{t(qOe())},[t]),rLe(),iLe()}function sLe(t,e,n,r,i,s){var o=Ht(m=>fOe(m,t,e)),l=Ht(AL),c=Ht(TL),u=Ht(fZ),d=Ht(WOe),h=d?.active,p=tv();_.useEffect(()=>{if(!h&&c!=null&&l!=null){var m=kD({active:s,coordinate:n,dataKey:o,index:i,label:typeof r=="number"?String(r):r,sourceViewBox:p,graphicalItemId:void 0});Ny.emit(TD,c,m,l)}},[h,n,o,i,r,l,c,u,s,p])}function vG(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function wG(t){for(var e=1;e{k(lRe({shared:S,trigger:N,axisId:A,active:i,defaultIndex:R}))},[k,S,N,A,i,R]);var C=tv(),P=aQ(),U=nRe(S),{activeIndex:F,isActive:H}=(e=Ht(de=>gOe(de,U,N,R)))!==null&&e!==void 0?e:{},D=Ht(de=>pOe(de,U,N,R)),$=Ht(de=>mJ(de,U,N,R)),G=Ht(de=>mOe(de,U,N,R)),I=D,K=UOe(),Q=(n=i??H)!==null&&n!==void 0?n:!1,[oe,B]=oY([I,Q]),W=U==="axis"?$:void 0;sLe(U,N,G,W,F,Q);var J=M??K;if(J==null||C==null||U==null)return null;var ne=I??_G;Q||(ne=_G),u&&ne.length&&(ne=tY(ne.filter(de=>de.value!=null&&(de.hide!==!0||r.includeHidden)),p,uLe));var me=ne.length>0,fe=_.createElement(nCe,{allowEscapeViewBox:s,animationDuration:o,animationEasing:l,isAnimationActive:d,active:Q,coordinate:G,hasPayload:me,offset:h,position:m,reverseDirection:b,useTranslate3d:y,viewBox:C,wrapperStyle:x,lastBoundingBox:oe,innerRef:B,hasPortalFromProps:!!M},dLe(c,wG(wG({},r),{},{payload:ne,label:W,active:Q,activeIndex:F,coordinate:G,accessibilityLayer:P})));return _.createElement(_.Fragment,null,vu.createPortal(fe,J),Q&&_.createElement(zOe,{cursor:v,tooltipEventType:U,coordinate:G,payload:ne,index:F}))}var yv=t=>null;yv.displayName="Cell";function fLe(t,e,n){return(e=mLe(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function mLe(t){var e=pLe(t,"string");return typeof e=="symbol"?e:e+""}function pLe(t,e){if(typeof t!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}class gLe{constructor(e){fLe(this,"cache",new Map),this.maxSize=e}get(e){var n=this.cache.get(e);return n!==void 0&&(this.cache.delete(e),this.cache.set(e,n)),n}set(e,n){if(this.cache.has(e))this.cache.delete(e);else if(this.cache.size>=this.maxSize){var r=this.cache.keys().next().value;r!=null&&this.cache.delete(r)}this.cache.set(e,n)}clear(){this.cache.clear()}size(){return this.cache.size}}function SG(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function bLe(t){for(var e=1;e{try{var n=document.getElementById(kG);n||(n=document.createElement("span"),n.setAttribute("id",kG),n.setAttribute("aria-hidden","true"),document.body.appendChild(n)),Object.assign(n.style,_Le,e),n.textContent="".concat(t);var r=n.getBoundingClientRect();return{width:r.width,height:r.height}}catch{return{width:0,height:0}}},A0=function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(e==null||Ab.isSsr)return{width:0,height:0};if(!yJ.enableCache)return MG(e,n);var r=SLe(e,n),i=NG.get(r);if(i)return i;var s=MG(e,n);return NG.set(r,s),s},EG=/(-?\d+(?:\.\d+)?[a-zA-Z%]*)([*/])(-?\d+(?:\.\d+)?[a-zA-Z%]*)/,TG=/(-?\d+(?:\.\d+)?[a-zA-Z%]*)([+-])(-?\d+(?:\.\d+)?[a-zA-Z%]*)/,NLe=/^px|cm|vh|vw|em|rem|%|mm|in|pt|pc|ex|ch|vmin|vmax|Q$/,kLe=/(-?\d+(?:\.\d+)?)([a-zA-Z%]+)?/,vJ={cm:96/2.54,mm:96/25.4,pt:96/72,pc:96/6,in:96,Q:96/(2.54*40),px:1},MLe=Object.keys(vJ),_g="NaN";function ELe(t,e){return t*vJ[e]}class Us{static parse(e){var n,[,r,i]=(n=kLe.exec(e))!==null&&n!==void 0?n:[];return new Us(parseFloat(r),i??"")}constructor(e,n){this.num=e,this.unit=n,this.num=e,this.unit=n,Ys(e)&&(this.unit=""),n!==""&&!NLe.test(n)&&(this.num=NaN,this.unit=""),MLe.includes(n)&&(this.num=ELe(e,n),this.unit="px")}add(e){return this.unit!==e.unit?new Us(NaN,""):new Us(this.num+e.num,this.unit)}subtract(e){return this.unit!==e.unit?new Us(NaN,""):new Us(this.num-e.num,this.unit)}multiply(e){return this.unit!==""&&e.unit!==""&&this.unit!==e.unit?new Us(NaN,""):new Us(this.num*e.num,this.unit||e.unit)}divide(e){return this.unit!==""&&e.unit!==""&&this.unit!==e.unit?new Us(NaN,""):new Us(this.num/e.num,this.unit||e.unit)}toString(){return"".concat(this.num).concat(this.unit)}isNaN(){return Ys(this.num)}}function wJ(t){if(t.includes(_g))return _g;for(var e=t;e.includes("*")||e.includes("/");){var n,[,r,i,s]=(n=EG.exec(e))!==null&&n!==void 0?n:[],o=Us.parse(r??""),l=Us.parse(s??""),c=i==="*"?o.multiply(l):o.divide(l);if(c.isNaN())return _g;e=e.replace(EG,c.toString())}for(;e.includes("+")||/.-\d+(?:\.\d+)?/.test(e);){var u,[,d,h,p]=(u=TG.exec(e))!==null&&u!==void 0?u:[],m=Us.parse(d??""),b=Us.parse(p??""),y=h==="+"?m.add(b):m.subtract(b);if(y.isNaN())return _g;e=e.replace(TG,y.toString())}return e}var AG=/\(([^()]*)\)/;function TLe(t){for(var e=t,n;(n=AG.exec(e))!=null;){var[,r]=n;e=e.replace(AG,wJ(r))}return e}function ALe(t){var e=t.replace(/\s+/g,"");return e=TLe(e),e=wJ(e),e}function CLe(t){try{return ALe(t)}catch{return _g}}function ZC(t){var e=CLe(t.slice(5,-1));return e===_g?"":e}var PLe=["x","y","lineHeight","capHeight","fill","scaleToFit","textAnchor","verticalAnchor"],jLe=["dx","dy","angle","className","breakAll"];function AD(){return AD=Object.assign?Object.assign.bind():function(t){for(var e=1;e{var{children:e,breakAll:n,style:r}=t;try{var i=[];Yr(e)||(n?i=e.toString().split(""):i=e.toString().split(_J));var s=i.map(l=>({word:l,width:A0(l,r).width})),o=n?0:A0(" ",r).width;return{wordsWithComputedWidth:s,spaceWidth:o}}catch{return null}};function RLe(t){return t==="start"||t==="middle"||t==="end"||t==="inherit"}var NJ=(t,e,n,r)=>t.reduce((i,s)=>{var{word:o,width:l}=s,c=i[i.length-1];if(c&&l!=null&&(e==null||r||c.width+l+nt.reduce((e,n)=>e.width>n.width?e:n),OLe="…",PG=(t,e,n,r,i,s,o,l)=>{var c=t.slice(0,e),u=SJ({breakAll:n,style:r,children:c+OLe});if(!u)return[!1,[]];var d=NJ(u.wordsWithComputedWidth,s,o,l),h=d.length>i||kJ(d).width>Number(s);return[h,d]},LLe=(t,e,n,r,i)=>{var{maxLines:s,children:o,style:l,breakAll:c}=t,u=Vt(s),d=String(o),h=NJ(e,r,n,i);if(!u||i)return h;var p=h.length>s||kJ(h).width>Number(r);if(!p)return h;for(var m=0,b=d.length-1,y=0,x;m<=b&&y<=d.length-1;){var v=Math.floor((m+b)/2),S=v-1,[N,T]=PG(d,S,c,l,s,r,n,i),[M]=PG(d,v,c,l,s,r,n,i);if(!N&&!M&&(m=v+1),N&&M&&(b=v-1),!N&&M){x=T;break}y++}return x||h},jG=t=>{var e=Yr(t)?[]:t.toString().split(_J);return[{words:e,width:void 0}]},FLe=t=>{var{width:e,scaleToFit:n,children:r,style:i,breakAll:s,maxLines:o}=t;if((e||n)&&!Ab.isSsr){var l,c,u=SJ({breakAll:s,children:r,style:i});if(u){var{wordsWithComputedWidth:d,spaceWidth:h}=u;l=d,c=h}else return jG(r);return LLe({breakAll:s,children:r,maxLines:o,style:i},l,c,e,!!n)}return jG(r)},MJ="#808080",ILe={angle:0,breakAll:!1,capHeight:"0.71em",fill:MJ,lineHeight:"1em",scaleToFit:!1,textAnchor:"start",verticalAnchor:"end",x:0,y:0},SM=_.forwardRef((t,e)=>{var n=ci(t,ILe),{x:r,y:i,lineHeight:s,capHeight:o,fill:l,scaleToFit:c,textAnchor:u,verticalAnchor:d}=n,h=CG(n,PLe),p=_.useMemo(()=>FLe({breakAll:h.breakAll,children:h.children,maxLines:h.maxLines,scaleToFit:c,style:h.style,width:h.width}),[h.breakAll,h.children,h.maxLines,c,h.style,h.width]),{dx:m,dy:b,angle:y,className:x,breakAll:v}=h,S=CG(h,jLe);if(!fl(r)||!fl(i)||p.length===0)return null;var N=Number(r)+(Vt(m)?m:0),T=Number(i)+(Vt(b)?b:0);if(!wr(N)||!wr(T))return null;var M;switch(d){case"start":M=ZC("calc(".concat(o,")"));break;case"middle":M=ZC("calc(".concat((p.length-1)/2," * -").concat(s," + (").concat(o," / 2))"));break;default:M=ZC("calc(".concat(p.length-1," * -").concat(s,")"));break}var A=[];if(c){var k=p[0].width,{width:R}=h;A.push("scale(".concat(Vt(R)&&Vt(k)?R/k:1,")"))}return y&&A.push("rotate(".concat(y,", ").concat(N,", ").concat(T,")")),A.length&&(S.transform=A.join(" ")),_.createElement("text",AD({},Ga(S),{ref:e,x:N,y:T,className:nr("recharts-text",x),textAnchor:u,fill:l.includes("url")?MJ:l}),p.map((C,P)=>{var U=C.words.join(v?"":" ");return _.createElement("tspan",{x:N,dy:P===0?M:s,key:"".concat(U,"-").concat(P)},U)}))});SM.displayName="Text";var zLe=["labelRef"];function ULe(t,e){if(t==null)return{};var n,r,i=BLe(t,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(r=0;r{var{x:e,y:n,upperWidth:r,lowerWidth:i,width:s,height:o,children:l}=t,c=_.useMemo(()=>({x:e,y:n,upperWidth:r,lowerWidth:i,width:s,height:o}),[e,n,r,i,s,o]);return _.createElement(EJ.Provider,{value:c},l)},AJ=()=>{var t=_.useContext(EJ),e=tv();return t||WY(e)},GLe=_.createContext(null),qLe=()=>{var t=_.useContext(GLe),e=Ht(xZ);return t||e},WLe=t=>{var{value:e,formatter:n}=t,r=Yr(t.children)?e:t.children;return typeof n=="function"?n(r):r},u4=t=>t!=null&&typeof t=="function",KLe=(t,e)=>{var n=wa(e-t),r=Math.min(Math.abs(e-t),360);return n*r},XLe=(t,e,n,r,i)=>{var{offset:s,className:o}=t,{cx:l,cy:c,innerRadius:u,outerRadius:d,startAngle:h,endAngle:p,clockWise:m}=i,b=(u+d)/2,y=KLe(h,p),x=y>=0?1:-1,v,S;switch(e){case"insideStart":v=h+x*s,S=m;break;case"insideEnd":v=p-x*s,S=!m;break;case"end":v=p+x*s,S=m;break;default:throw new Error("Unsupported position ".concat(e))}S=y<=0?S:!S;var N=Bi(l,c,b,v),T=Bi(l,c,b,v+(S?1:-1)*359),M="M".concat(N.x,",").concat(N.y,`
A`).concat(b,",").concat(b,",0,1,").concat(S?0:1,`,
- `).concat(T.x,",").concat(T.y),A=Yr(t.id)?uy("recharts-radial-line-"):t.id;return _.createElement("text",yu({},r,{dominantBaseline:"central",className:nr("recharts-radial-bar-label",o)}),_.createElement("defs",null,_.createElement("path",{id:A,d:M})),_.createElement("textPath",{xlinkHref:"#".concat(A)},n))},YLe=(t,e,n)=>{var{cx:r,cy:i,innerRadius:s,outerRadius:o,startAngle:l,endAngle:c}=t,u=(l+c)/2;if(n==="outside"){var{x:d,y:h}=Bi(r,i,o+e,u);return{x:d,y:h,textAnchor:d>=r?"start":"end",verticalAnchor:"middle"}}if(n==="center")return{x:r,y:i,textAnchor:"middle",verticalAnchor:"middle"};if(n==="centerTop")return{x:r,y:i,textAnchor:"middle",verticalAnchor:"start"};if(n==="centerBottom")return{x:r,y:i,textAnchor:"middle",verticalAnchor:"end"};var p=(s+o)/2,{x:m,y:b}=Bi(r,i,p,u);return{x:m,y:b,textAnchor:"middle",verticalAnchor:"middle"}},CD=t=>"cx"in t&&Vt(t.cx),QLe=(t,e)=>{var{parentViewBox:n,offset:r,position:i}=t,s;n!=null&&!CD(n)&&(s=n);var{x:o,y:l,upperWidth:c,lowerWidth:u,height:d}=e,h=o,p=o+(c-u)/2,m=(h+p)/2,b=(c+u)/2,y=h+c/2,x=d>=0?1:-1,v=x*r,S=x>0?"end":"start",N=x>0?"start":"end",T=c>=0?1:-1,M=T*r,A=T>0?"end":"start",k=T>0?"start":"end";if(i==="top"){var R={x:h+c/2,y:l-v,textAnchor:"middle",verticalAnchor:S};return Mi(Mi({},R),s?{height:Math.max(l-s.y,0),width:c}:{})}if(i==="bottom"){var C={x:p+u/2,y:l+d+v,textAnchor:"middle",verticalAnchor:N};return Mi(Mi({},C),s?{height:Math.max(s.y+s.height-(l+d),0),width:u}:{})}if(i==="left"){var P={x:m-M,y:l+d/2,textAnchor:A,verticalAnchor:"middle"};return Mi(Mi({},P),s?{width:Math.max(P.x-s.x,0),height:d}:{})}if(i==="right"){var U={x:m+b+M,y:l+d/2,textAnchor:k,verticalAnchor:"middle"};return Mi(Mi({},U),s?{width:Math.max(s.x+s.width-U.x,0),height:d}:{})}var F=s?{width:b,height:d}:{};return i==="insideLeft"?Mi({x:m+M,y:l+d/2,textAnchor:k,verticalAnchor:"middle"},F):i==="insideRight"?Mi({x:m+b-M,y:l+d/2,textAnchor:A,verticalAnchor:"middle"},F):i==="insideTop"?Mi({x:h+c/2,y:l+v,textAnchor:"middle",verticalAnchor:N},F):i==="insideBottom"?Mi({x:p+u/2,y:l+d-v,textAnchor:"middle",verticalAnchor:S},F):i==="insideTopLeft"?Mi({x:h+M,y:l+v,textAnchor:k,verticalAnchor:N},F):i==="insideTopRight"?Mi({x:h+c-M,y:l+v,textAnchor:A,verticalAnchor:N},F):i==="insideBottomLeft"?Mi({x:p+M,y:l+d-v,textAnchor:k,verticalAnchor:S},F):i==="insideBottomRight"?Mi({x:p+u-M,y:l+d-v,textAnchor:A,verticalAnchor:S},F):i&&typeof i=="object"&&(Vt(i.x)||qu(i.x))&&(Vt(i.y)||qu(i.y))?Mi({x:o+as(i.x,b),y:l+as(i.y,d),textAnchor:"end",verticalAnchor:"end"},F):Mi({x:y,y:l+d/2,textAnchor:"middle",verticalAnchor:"middle"},F)},ZLe={angle:0,offset:5,zIndex:vi.label,position:"middle",textBreakAll:!1};function Zd(t){var e=ci(t,ZLe),{viewBox:n,position:r,value:i,children:s,content:o,className:l="",textBreakAll:c,labelRef:u}=e,d=qLe(),h=AJ(),p=r==="center"?h:d??h,m,b,y;if(n==null?m=p:CD(n)?m=n:m=WY(n),!m||Yr(i)&&Yr(s)&&!_.isValidElement(o)&&typeof o!="function")return null;var x=Mi(Mi({},e),{},{viewBox:m});if(_.isValidElement(o)){var{labelRef:v}=x,S=ULe(x,zLe);return _.cloneElement(o,S)}if(typeof o=="function"){if(b=_.createElement(o,x),_.isValidElement(b))return b}else b=WLe(e);var N=Ga(e);if(CD(m)){if(r==="insideStart"||r==="insideEnd"||r==="end")return XLe(e,r,b,N,m);y=YLe(m,e.offset,e.position)}else y=QLe(e,m);return _.createElement(ls,{zIndex:e.zIndex},_.createElement(SM,yu({ref:u,className:nr("recharts-label",l)},N,y,{textAnchor:RLe(N.textAnchor)?N.textAnchor:y.textAnchor,breakAll:c}),b))}Zd.displayName="Label";var JLe=(t,e,n)=>{if(!t)return null;var r={viewBox:e,labelRef:n};return t===!0?_.createElement(Zd,yu({key:"label-implicit"},r)):fl(t)?_.createElement(Zd,yu({key:"label-implicit",value:t},r)):_.isValidElement(t)?t.type===Zd?_.cloneElement(t,Mi({key:"label-implicit"},r)):_.createElement(Zd,yu({key:"label-implicit",content:t},r)):u4(t)?_.createElement(Zd,yu({key:"label-implicit",content:t},r)):t&&typeof t=="object"?_.createElement(Zd,yu({},t,{key:"label-implicit"},r)):null};function CJ(t){var{label:e,labelRef:n}=t,r=AJ();return JLe(e,r,n)||null}var JC={},eP={},RG;function e4e(){return RG||(RG=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});function e(n){return n[n.length-1]}t.last=e})(eP)),eP}var tP={},OG;function t4e(){return OG||(OG=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});function e(n){return Array.isArray(n)?n:Array.from(n)}t.toArray=e})(tP)),tP}var LG;function n4e(){return LG||(LG=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const e=e4e(),n=t4e(),r=IO();function i(s){if(r.isArrayLike(s))return e.last(n.toArray(s))}t.last=i})(JC)),JC}var nP,FG;function r4e(){return FG||(FG=1,nP=n4e().last),nP}var i4e=r4e();const a4e=gl(i4e);var s4e=["valueAccessor"],o4e=["dataKey","clockWise","id","textBreakAll","zIndex"];function JS(){return JS=Object.assign?Object.assign.bind():function(t){for(var e=1;eArray.isArray(t.value)?a4e(t.value):t.value,PJ=_.createContext(void 0),d4=PJ.Provider,jJ=_.createContext(void 0),u4e=jJ.Provider;function d4e(){return _.useContext(PJ)}function h4e(){return _.useContext(jJ)}function U1(t){var{valueAccessor:e=c4e}=t,n=IG(t,s4e),{dataKey:r,clockWise:i,id:s,textBreakAll:o,zIndex:l}=n,c=IG(n,o4e),u=d4e(),d=h4e(),h=u||d;return!h||!h.length?null:_.createElement(ls,{zIndex:l??vi.label},_.createElement(li,{className:"recharts-label-list"},h.map((p,m)=>{var b,y=Yr(r)?e(p,m):vr(p&&p.payload,r),x=Yr(s)?{}:{id:"".concat(s,"-").concat(m)};return _.createElement(Zd,JS({key:"label-".concat(m)},Ga(p),c,x,{fill:(b=n.fill)!==null&&b!==void 0?b:p.fill,parentViewBox:p.parentViewBox,value:y,textBreakAll:o,viewBox:p.viewBox,index:m,zIndex:0}))})))}U1.displayName="LabelList";function NM(t){var{label:e}=t;return e?e===!0?_.createElement(U1,{key:"labelList-implicit"}):_.isValidElement(e)||u4(e)?_.createElement(U1,{key:"labelList-implicit",content:e}):typeof e=="object"?_.createElement(U1,JS({key:"labelList-implicit"},e,{type:String(e.type)})):null:null}function PD(){return PD=Object.assign?Object.assign.bind():function(t){for(var e=1;e{var{cx:e,cy:n,r,className:i}=t,s=nr("recharts-dot",i);return Vt(e)&&Vt(n)&&Vt(r)?_.createElement("circle",PD({},Ms(t),FO(t),{className:s,cx:e,cy:n,r})):null},RJ=t=>t.graphicalItems.polarItems,f4e=st([ii,cv],RL),kM=st([RJ,ui,f4e],OL),m4e=st([kM],LL),MM=st([m4e,NL],FL),p4e=st([MM,ui,kM],zL);st([MM,ui,kM],(t,e,n)=>n.length>0?t.flatMap(r=>n.flatMap(i=>{var s,o=vr(r,(s=e.dataKey)!==null&&s!==void 0?s:i.dataKey);return{value:o,errorDomain:[]}})).filter(Boolean):e?.dataKey!=null?t.map(r=>({value:vr(r,e.dataKey),errorDomain:[]})):t.map(r=>({value:r,errorDomain:[]})));var zG=()=>{},g4e=st([MM,ui,kM,yM,ii],$L),b4e=st([ui,BL,HL,zG,g4e,zG,Kn,ii],VL),OJ=st([ui,Kn,MM,p4e,lv,ii,b4e],GL),x4e=st([OJ,ui,Fb],KL);st([ui,OJ,x4e,ii],YL);var y4e={radiusAxis:{},angleAxis:{}},LJ=Qs({name:"polarAxis",initialState:y4e,reducers:{addRadiusAxis(t,e){t.radiusAxis[e.payload.id]=e.payload},removeRadiusAxis(t,e){delete t.radiusAxis[e.payload.id]},addAngleAxis(t,e){t.angleAxis[e.payload.id]=e.payload},removeAngleAxis(t,e){delete t.angleAxis[e.payload.id]}}}),{addRadiusAxis:pQe,removeRadiusAxis:gQe,addAngleAxis:bQe,removeAngleAxis:xQe}=LJ.actions,v4e=LJ.reducer;function UG(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function BG(t){for(var e=1;ee,h4=st([RJ,N4e],(t,e)=>t.filter(n=>n.type==="pie").find(n=>n.id===e)),k4e=[],f4=(t,e,n)=>n?.length===0?k4e:n,FJ=st([NL,h4,f4],(t,e,n)=>{var{chartData:r}=t;if(e!=null){var i;if(e?.data!=null&&e.data.length>0?i=e.data:i=r,(!i||!i.length)&&n!=null&&(i=n.map(s=>BG(BG({},e.presentationProps),s.props))),i!=null)return i}}),M4e=st([FJ,h4,f4],(t,e,n)=>{if(!(t==null||e==null))return t.map((r,i)=>{var s,o=vr(r,e.nameKey,e.name),l;return n!=null&&(s=n[i])!==null&&s!==void 0&&(s=s.props)!==null&&s!==void 0&&s.fill?l=n[i].props.fill:typeof r=="object"&&r!=null&&"fill"in r?l=r.fill:l=e.fill,{value:Hh(o,e.dataKey),color:l,payload:r,type:e.legendType}})}),E4e=st([FJ,h4,f4,ia],(t,e,n,r)=>{if(!(e==null||t==null))return TFe({offset:r,pieSettings:e,displayedData:t,cells:n})}),rP={exports:{}},Mr={};var HG;function T4e(){if(HG)return Mr;HG=1;var t=Symbol.for("react.transitional.element"),e=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),s=Symbol.for("react.consumer"),o=Symbol.for("react.context"),l=Symbol.for("react.forward_ref"),c=Symbol.for("react.suspense"),u=Symbol.for("react.suspense_list"),d=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),p=Symbol.for("react.view_transition"),m=Symbol.for("react.client.reference");function b(y){if(typeof y=="object"&&y!==null){var x=y.$$typeof;switch(x){case t:switch(y=y.type,y){case n:case i:case r:case c:case u:case p:return y;default:switch(y=y&&y.$$typeof,y){case o:case l:case h:case d:return y;case s:return y;default:return x}}case e:return x}}}return Mr.ContextConsumer=s,Mr.ContextProvider=o,Mr.Element=t,Mr.ForwardRef=l,Mr.Fragment=n,Mr.Lazy=h,Mr.Memo=d,Mr.Portal=e,Mr.Profiler=i,Mr.StrictMode=r,Mr.Suspense=c,Mr.SuspenseList=u,Mr.isContextConsumer=function(y){return b(y)===s},Mr.isContextProvider=function(y){return b(y)===o},Mr.isElement=function(y){return typeof y=="object"&&y!==null&&y.$$typeof===t},Mr.isForwardRef=function(y){return b(y)===l},Mr.isFragment=function(y){return b(y)===n},Mr.isLazy=function(y){return b(y)===h},Mr.isMemo=function(y){return b(y)===d},Mr.isPortal=function(y){return b(y)===e},Mr.isProfiler=function(y){return b(y)===i},Mr.isStrictMode=function(y){return b(y)===r},Mr.isSuspense=function(y){return b(y)===c},Mr.isSuspenseList=function(y){return b(y)===u},Mr.isValidElementType=function(y){return typeof y=="string"||typeof y=="function"||y===n||y===i||y===r||y===c||y===u||typeof y=="object"&&y!==null&&(y.$$typeof===h||y.$$typeof===d||y.$$typeof===o||y.$$typeof===s||y.$$typeof===l||y.$$typeof===m||y.getModuleId!==void 0)},Mr.typeOf=b,Mr}var $G;function A4e(){return $G||($G=1,rP.exports=T4e()),rP.exports}var C4e=A4e(),VG=t=>typeof t=="string"?t:t?t.displayName||t.name||"Component":"",GG=null,iP=null,IJ=t=>{if(t===GG&&Array.isArray(iP))return iP;var e=[];return _.Children.forEach(t,n=>{Yr(n)||(C4e.isFragment(n)?e=e.concat(IJ(n.props.children)):e.push(n))}),iP=e,GG=t,e};function m4(t,e){var n=[],r=[];return Array.isArray(e)?r=e.map(i=>VG(i)):r=[VG(e)],IJ(t).forEach(i=>{var s=wm(i,"type.displayName")||wm(i,"type.name");s&&r.indexOf(s)!==-1&&n.push(i)}),n}var p4=t=>t&&typeof t=="object"&&"clipDot"in t?!!t.clipDot:!0,aP={},qG;function P4e(){return qG||(qG=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});function e(n){if(typeof n!="object"||n==null)return!1;if(Object.getPrototypeOf(n)===null)return!0;if(Object.prototype.toString.call(n)!=="[object Object]"){const i=n[Symbol.toStringTag];return i==null||!Object.getOwnPropertyDescriptor(n,Symbol.toStringTag)?.writable?!1:n.toString()===`[object ${i}]`}let r=n;for(;Object.getPrototypeOf(r)!==null;)r=Object.getPrototypeOf(r);return Object.getPrototypeOf(n)===r}t.isPlainObject=e})(aP)),aP}var sP,WG;function j4e(){return WG||(WG=1,sP=P4e().isPlainObject),sP}var D4e=j4e();const R4e=gl(D4e);function KG(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function XG(t){for(var e=1;e{var s=n-r,o;return o="M ".concat(t,",").concat(e),o+="L ".concat(t+n,",").concat(e),o+="L ".concat(t+n-s/2,",").concat(e+i),o+="L ".concat(t+n-s/2-r,",").concat(e+i),o+="L ".concat(t,",").concat(e," Z"),o},I4e={x:0,y:0,upperWidth:0,lowerWidth:0,height:0,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},z4e=t=>{var e=ci(t,I4e),{x:n,y:r,upperWidth:i,lowerWidth:s,height:o,className:l}=e,{animationEasing:c,animationDuration:u,animationBegin:d,isUpdateAnimationActive:h}=e,p=_.useRef(null),[m,b]=_.useState(-1),y=_.useRef(i),x=_.useRef(s),v=_.useRef(o),S=_.useRef(n),N=_.useRef(r),T=Pb(t,"trapezoid-");if(_.useEffect(()=>{if(p.current&&p.current.getTotalLength)try{var D=p.current.getTotalLength();D&&b(D)}catch{}},[]),n!==+n||r!==+r||i!==+i||s!==+s||o!==+o||i===0&&s===0||o===0)return null;var M=nr("recharts-trapezoid",l);if(!h)return _.createElement("g",null,_.createElement("path",eN({},Ga(e),{className:M,d:YG(n,r,i,s,o)})));var A=y.current,k=x.current,R=v.current,C=S.current,P=N.current,U="0px ".concat(m===-1?1:m,"px"),F="".concat(m,"px 0px"),H=sQ(["strokeDasharray"],u,c);return _.createElement(Cb,{animationId:T,key:T,canBegin:m>0,duration:u,easing:c,isActive:h,begin:d},D=>{var $=pr(A,i,D),G=pr(k,s,D),I=pr(R,o,D),K=pr(C,n,D),Q=pr(P,r,D);p.current&&(y.current=$,x.current=G,v.current=I,S.current=K,N.current=Q);var oe=D>0?{transition:H,strokeDasharray:F}:{strokeDasharray:U};return _.createElement("path",eN({},Ga(e),{className:M,d:YG(K,Q,$,G,I),ref:p,style:XG(XG({},oe),e.style)}))})},U4e=["option","shapeType","propTransformer","activeClassName"];function B4e(t,e){if(t==null)return{};var n,r,i=H4e(t,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(r=0;r{var r=zr();return(i,s)=>o=>{t?.(i,s,o),r(XZ({activeIndex:String(s),activeDataKey:e,activeCoordinate:i.tooltipPosition,activeGraphicalItemId:n}))}},x4=t=>{var e=zr();return(n,r)=>i=>{t?.(n,r,i),e(cRe())}},y4=(t,e,n)=>{var r=zr();return(i,s)=>o=>{t?.(i,s,o),r(uRe({activeIndex:String(s),activeDataKey:e,activeCoordinate:i.tooltipPosition,activeGraphicalItemId:n}))}};function EM(t){var{tooltipEntrySettings:e}=t,n=zr(),r=aa(),i=_.useRef(null);return _.useLayoutEffect(()=>{r||(i.current===null?n(aRe(e)):i.current!==e&&n(sRe({prev:i.current,next:e})),i.current=e)},[e,n,r]),_.useLayoutEffect(()=>()=>{i.current&&(n(oRe(i.current)),i.current=null)},[n]),null}function v4(t){var{legendPayload:e}=t,n=zr(),r=aa(),i=_.useRef(null);return _.useLayoutEffect(()=>{r||(i.current===null?n(nQ(e)):i.current!==e&&n(rQ({prev:i.current,next:e})),i.current=e)},[n,r,e]),_.useLayoutEffect(()=>()=>{i.current&&(n(iQ(i.current)),i.current=null)},[n]),null}function X4e(t){var{legendPayload:e}=t,n=zr(),r=Ht(Kn),i=_.useRef(null);return _.useLayoutEffect(()=>{r!=="centric"&&r!=="radial"||(i.current===null?n(nQ(e)):i.current!==e&&n(rQ({prev:i.current,next:e})),i.current=e)},[n,r,e]),_.useLayoutEffect(()=>()=>{i.current&&(n(iQ(i.current)),i.current=null)},[n]),null}var oP,Y4e=()=>{var[t]=_.useState(()=>uy("uid-"));return t},Q4e=(oP=tse.useId)!==null&&oP!==void 0?oP:Y4e;function zJ(t,e){var n=Q4e();return e||(t?"".concat(t,"-").concat(n):n)}var Z4e=_.createContext(void 0),TM=t=>{var{id:e,type:n,children:r}=t,i=zJ("recharts-".concat(n),e);return _.createElement(Z4e.Provider,{value:i},r(i))},J4e={cartesianItems:[],polarItems:[]},UJ=Qs({name:"graphicalItems",initialState:J4e,reducers:{addCartesianGraphicalItem:{reducer(t,e){t.cartesianItems.push(e.payload)},prepare:Jr()},replaceCartesianGraphicalItem:{reducer(t,e){var{prev:n,next:r}=e.payload,i=Il(t).cartesianItems.indexOf(n);i>-1&&(t.cartesianItems[i]=r)},prepare:Jr()},removeCartesianGraphicalItem:{reducer(t,e){var n=Il(t).cartesianItems.indexOf(e.payload);n>-1&&t.cartesianItems.splice(n,1)},prepare:Jr()},addPolarGraphicalItem:{reducer(t,e){t.polarItems.push(e.payload)},prepare:Jr()},removePolarGraphicalItem:{reducer(t,e){var n=Il(t).polarItems.indexOf(e.payload);n>-1&&t.polarItems.splice(n,1)},prepare:Jr()}}}),{addCartesianGraphicalItem:eFe,replaceCartesianGraphicalItem:tFe,removeCartesianGraphicalItem:nFe,addPolarGraphicalItem:rFe,removePolarGraphicalItem:iFe}=UJ.actions,aFe=UJ.reducer,sFe=t=>{var e=zr(),n=_.useRef(null);return _.useLayoutEffect(()=>{n.current===null?e(eFe(t)):n.current!==t&&e(tFe({prev:n.current,next:t})),n.current=t},[e,t]),_.useLayoutEffect(()=>()=>{n.current&&(e(nFe(n.current)),n.current=null)},[e]),null},w4=_.memo(sFe);function oFe(t){var e=zr();return _.useLayoutEffect(()=>(e(rFe(t)),()=>{e(iFe(t))}),[e,t]),null}var lFe=["key"],cFe=["onMouseEnter","onClick","onMouseLeave"],uFe=["id"],dFe=["id"];function JG(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function gi(t){for(var e=1;em4(t.children,yv),[t.children]),n=Ht(r=>M4e(r,t.id,e));return n==null?null:_.createElement(X4e,{legendPayload:n})}var bFe=_.memo(t=>{var{dataKey:e,nameKey:n,sectors:r,stroke:i,strokeWidth:s,fill:o,name:l,hide:c,tooltipType:u}=t,d={dataDefinedOnItem:r.map(h=>h.tooltipPayload),positions:r.map(h=>h.tooltipPosition),settings:{stroke:i,strokeWidth:s,fill:o,dataKey:e,nameKey:n,name:Hh(l,e),hide:c,type:u,color:o,unit:""}};return _.createElement(EM,{tooltipEntrySettings:d})}),xFe=(t,e)=>t>e?"start":tas(typeof e=="function"?e(t):e,n,n*.8),vFe=(t,e,n)=>{var{top:r,left:i,width:s,height:o}=e,l=dQ(s,o),c=i+as(t.cx,s,s/2),u=r+as(t.cy,o,o/2),d=as(t.innerRadius,l,0),h=yFe(n,t.outerRadius,l),p=t.maxRadius||Math.sqrt(s*s+o*o)/2;return{cx:c,cy:u,innerRadius:d,outerRadius:h,maxRadius:p}},wFe=(t,e)=>{var n=wa(e-t),r=Math.min(Math.abs(e-t),360);return n*r};function _Fe(t){return t&&typeof t=="object"&&"className"in t&&typeof t.className=="string"?t.className:""}var SFe=(t,e)=>{if(_.isValidElement(t))return _.cloneElement(t,e);if(typeof t=="function")return t(e);var n=nr("recharts-pie-label-line",typeof t!="boolean"?t.className:""),{key:r}=e,i=AM(e,lFe);return _.createElement(Lg,zh({},i,{type:"linear",className:n}))},NFe=(t,e,n)=>{if(_.isValidElement(t))return _.cloneElement(t,e);var r=n;if(typeof t=="function"&&(r=t(e),_.isValidElement(r)))return r;var i=nr("recharts-pie-label-text",_Fe(t));return _.createElement(SM,zh({},e,{alignmentBaseline:"middle",className:i}),r)};function kFe(t){var{sectors:e,props:n,showLabels:r}=t,{label:i,labelLine:s,dataKey:o}=n;if(!r||!i||!e)return null;var l=Ms(n),c=vm(i),u=vm(s),d=typeof i=="object"&&"offsetRadius"in i&&typeof i.offsetRadius=="number"&&i.offsetRadius||20,h=e.map((p,m)=>{var b=(p.startAngle+p.endAngle)/2,y=Bi(p.cx,p.cy,p.outerRadius+d,b),x=gi(gi(gi(gi({},l),p),{},{stroke:"none"},c),{},{index:m,textAnchor:xFe(y.x,p.cx)},y),v=gi(gi(gi(gi({},l),p),{},{fill:"none",stroke:p.fill},u),{},{index:m,points:[Bi(p.cx,p.cy,p.outerRadius,b),y],key:"line"});return _.createElement(ls,{zIndex:vi.label,key:"label-".concat(p.startAngle,"-").concat(p.endAngle,"-").concat(p.midAngle,"-").concat(m)},_.createElement(li,null,s&&SFe(s,v),NFe(i,x,vr(p,o))))});return _.createElement(li,{className:"recharts-pie-labels"},h)}function MFe(t){var{sectors:e,props:n,showLabels:r}=t,{label:i}=n;return typeof i=="object"&&i!=null&&"position"in i?_.createElement(NM,{label:i}):_.createElement(kFe,{sectors:e,props:n,showLabels:r})}function EFe(t){var{sectors:e,activeShape:n,inactiveShape:r,allOtherPieProps:i,shape:s,id:o}=t,l=Ht(Ih),c=Ht(a4),u=Ht(XRe),{onMouseEnter:d,onClick:h,onMouseLeave:p}=i,m=AM(i,cFe),b=b4(d,i.dataKey,o),y=x4(p),x=y4(h,i.dataKey,o);return e==null||e.length===0?null:_.createElement(_.Fragment,null,e.map((v,S)=>{if(v?.startAngle===0&&v?.endAngle===0&&e.length!==1)return null;var N=u==null||u===o,T=String(S)===l&&(c==null||i.dataKey===c)&&N,M=l?r:null,A=n&&T?n:M,k=gi(gi({},v),{},{stroke:v.stroke,tabIndex:-1,[HY]:S,[$Y]:i.dataKey});return _.createElement(li,zh({key:"sector-".concat(v?.startAngle,"-").concat(v?.endAngle,"-").concat(v.midAngle,"-").concat(S),tabIndex:-1,className:"recharts-pie-sector"},Yy(m,v,S),{onMouseEnter:b(v,S),onMouseLeave:y(v,S),onClick:x(v,S)}),_.createElement(g4,zh({option:s??A,index:S,shapeType:"sector",isActive:T},k)))}))}function TFe(t){var e,{pieSettings:n,displayedData:r,cells:i,offset:s}=t,{cornerRadius:o,startAngle:l,endAngle:c,dataKey:u,nameKey:d,tooltipType:h}=n,p=Math.abs(n.minAngle),m=wFe(l,c),b=Math.abs(m),y=r.length<=1?0:(e=n.paddingAngle)!==null&&e!==void 0?e:0,x=r.filter(A=>vr(A,u,0)!==0).length,v=(b>=360?x:x-1)*y,S=b-x*p-v,N=r.reduce((A,k)=>{var R=vr(k,u,0);return A+(Vt(R)?R:0)},0),T;if(N>0){var M;T=r.map((A,k)=>{var R=vr(A,u,0),C=vr(A,d,k),P=vFe(n,s,A),U=(Vt(R)?R:0)/N,F,H=gi(gi({},A),i&&i[k]&&i[k].props);k?F=M.endAngle+wa(m)*y*(R!==0?1:0):F=l;var D=F+wa(m)*((R!==0?p:0)+U*S),$=(F+D)/2,G=(P.innerRadius+P.outerRadius)/2,I=[{name:C,value:R,payload:H,dataKey:u,type:h}],K=Bi(P.cx,P.cy,G,$);return M=gi(gi(gi(gi({},n.presentationProps),{},{percent:U,cornerRadius:typeof o=="string"?parseFloat(o):o,name:C,tooltipPayload:I,midAngle:$,middleRadius:G,tooltipPosition:K},H),P),{},{value:R,dataKey:u,startAngle:F,endAngle:D,payload:H,paddingAngle:wa(m)*y}),M})}return T}function AFe(t){var{showLabels:e,sectors:n,children:r}=t,i=_.useMemo(()=>!e||!n?[]:n.map(s=>({value:s.value,payload:s.payload,clockWise:!1,parentViewBox:void 0,viewBox:{cx:s.cx,cy:s.cy,innerRadius:s.innerRadius,outerRadius:s.outerRadius,startAngle:s.startAngle,endAngle:s.endAngle,clockWise:!1},fill:s.fill})),[n,e]);return _.createElement(u4e,{value:e?i:void 0},r)}function CFe(t){var{props:e,previousSectorsRef:n,id:r}=t,{sectors:i,isAnimationActive:s,animationBegin:o,animationDuration:l,animationEasing:c,activeShape:u,inactiveShape:d,onAnimationStart:h,onAnimationEnd:p}=e,m=Pb(e,"recharts-pie-"),b=n.current,[y,x]=_.useState(!1),v=_.useCallback(()=>{typeof p=="function"&&p(),x(!1)},[p]),S=_.useCallback(()=>{typeof h=="function"&&h(),x(!0)},[h]);return _.createElement(AFe,{showLabels:!y,sectors:i},_.createElement(Cb,{animationId:m,begin:o,duration:l,isActive:s,easing:c,onAnimationStart:S,onAnimationEnd:v,key:m},N=>{var T=[],M=i&&i[0],A=M?.startAngle;return i?.forEach((k,R)=>{var C=b&&b[R],P=R>0?wm(k,"paddingAngle",0):0;if(C){var U=pr(C.endAngle-C.startAngle,k.endAngle-k.startAngle,N),F=gi(gi({},k),{},{startAngle:A+P,endAngle:A+U+P});T.push(F),A=F.endAngle}else{var{endAngle:H,startAngle:D}=k,$=pr(0,H-D,N),G=gi(gi({},k),{},{startAngle:A+P,endAngle:A+$+P});T.push(G),A=G.endAngle}}),n.current=T,_.createElement(li,null,_.createElement(EFe,{sectors:T,activeShape:u,inactiveShape:d,allOtherPieProps:e,shape:e.shape,id:r}))}),_.createElement(MFe,{showLabels:!y,sectors:i,props:e}),e.children)}var PFe={animationBegin:400,animationDuration:1500,animationEasing:"ease",cx:"50%",cy:"50%",dataKey:"value",endAngle:360,fill:"#808080",hide:!1,innerRadius:0,isAnimationActive:"auto",label:!1,labelLine:!0,legendType:"rect",minAngle:0,nameKey:"name",outerRadius:"80%",paddingAngle:0,rootTabIndex:0,startAngle:0,stroke:"#fff",zIndex:vi.area};function jFe(t){var{id:e}=t,n=AM(t,uFe),{hide:r,className:i,rootTabIndex:s}=t,o=_.useMemo(()=>m4(t.children,yv),[t.children]),l=Ht(d=>E4e(d,e,o)),c=_.useRef(null),u=nr("recharts-pie",i);return r||l==null?(c.current=null,_.createElement(li,{tabIndex:s,className:u})):_.createElement(ls,{zIndex:t.zIndex},_.createElement(bFe,{dataKey:t.dataKey,nameKey:t.nameKey,sectors:l,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,tooltipType:t.tooltipType}),_.createElement(li,{tabIndex:s,className:u},_.createElement(CFe,{props:gi(gi({},n),{},{sectors:l}),previousSectorsRef:c,id:e})))}function BJ(t){var e=ci(t,PFe),{id:n}=e,r=AM(e,dFe),i=Ms(r);return _.createElement(TM,{id:n,type:"pie"},s=>_.createElement(_.Fragment,null,_.createElement(oFe,{type:"pie",id:s,data:r.data,dataKey:r.dataKey,hide:r.hide,angleAxisId:0,radiusAxisId:0,name:r.name,nameKey:r.nameKey,tooltipType:r.tooltipType,legendType:r.legendType,fill:r.fill,cx:r.cx,cy:r.cy,startAngle:r.startAngle,endAngle:r.endAngle,paddingAngle:r.paddingAngle,minAngle:r.minAngle,innerRadius:r.innerRadius,outerRadius:r.outerRadius,cornerRadius:r.cornerRadius,presentationProps:i,maxRadius:e.maxRadius}),_.createElement(gFe,zh({},r,{id:s})),_.createElement(jFe,zh({},r,{id:s}))))}BJ.displayName="Pie";var DFe=["points"];function eq(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function lP(t){for(var e=1;e{var x,v,S=lP(lP(lP({r:3},o),h),{},{index:y,cx:(x=b.x)!==null&&x!==void 0?x:void 0,cy:(v=b.y)!==null&&v!==void 0?v:void 0,dataKey:s,value:b.value,payload:b.payload,points:e});return _.createElement(zFe,{key:"dot-".concat(y),option:n,dotProps:S,className:i})}),m={};return l&&c!=null&&(m.clipPath="url(#clipPath-".concat(d?"":"dots-").concat(c,")")),_.createElement(ls,{zIndex:u},_.createElement(li,nN({className:r},m),p))}function tq(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function nq(t){for(var e=1;e({top:t.top,bottom:t.bottom,left:t.left,right:t.right})),eIe=st([JFe,ed,td],(t,e,n)=>{if(!(!t||e==null||n==null))return{x:t.left,y:t.top,width:Math.max(0,e-t.left-t.right),height:Math.max(0,n-t.top-t.bottom)}}),CM=()=>Ht(eIe),tIe=()=>Ht(eOe);function rq(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function cP(t){for(var e=1;e{var{point:e,childIndex:n,mainColor:r,activeDot:i,dataKey:s,clipPath:o}=t;if(i===!1||e.x==null||e.y==null)return null;var l={index:n,dataKey:s,cx:e.x,cy:e.y,r:4,fill:r??"none",strokeWidth:2,stroke:"#fff",payload:e.payload,value:e.value},c=cP(cP(cP({},l),vm(i)),FO(i)),u;return _.isValidElement(i)?u=_.cloneElement(i,c):typeof i=="function"?u=i(c):u=_.createElement(DJ,c),_.createElement(li,{className:"recharts-active-dot",clipPath:o},u)};function jD(t){var{points:e,mainColor:n,activeDot:r,itemDataKey:i,clipPath:s,zIndex:o=vi.activeDot}=t,l=Ht(Ih),c=tIe();if(e==null||c==null)return null;var u=e.find(d=>c.includes(d.payload));return Yr(u)?null:_.createElement(ls,{zIndex:o},_.createElement(aIe,{point:u,childIndex:Number(l),mainColor:n,dataKey:i,activeDot:r,clipPath:s}))}var sIe="Invariant failed";function oIe(t,e){throw new Error(sIe)}var lIe=["x","y"];function DD(){return DD=Object.assign?Object.assign.bind():function(t){for(var e=1;e1&&arguments[1]!==void 0?arguments[1]:0;return(r,i)=>{if(Vt(e))return e;var s=Vt(r)||Yr(r);return s?e(r,i):(s||oIe(),n)}},gIe={},VJ=Qs({name:"errorBars",initialState:gIe,reducers:{addErrorBar:(t,e)=>{var{itemId:n,errorBar:r}=e.payload;t[n]||(t[n]=[]),t[n].push(r)},replaceErrorBar:(t,e)=>{var{itemId:n,prev:r,next:i}=e.payload;t[n]&&(t[n]=t[n].map(s=>s.dataKey===r.dataKey&&s.direction===r.direction?i:s))},removeErrorBar:(t,e)=>{var{itemId:n,errorBar:r}=e.payload;t[n]&&(t[n]=t[n].filter(i=>i.dataKey!==r.dataKey||i.direction!==r.direction))}}}),{addErrorBar:_Qe,replaceErrorBar:SQe,removeErrorBar:NQe}=VJ.actions,bIe=VJ.reducer,xIe=["children"];function yIe(t,e){if(t==null)return{};var n,r,i=vIe(t,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(r=0;r({x:0,y:0,value:0}),errorBarOffset:0},_Ie=_.createContext(wIe);function GJ(t){var{children:e}=t,n=yIe(t,xIe);return _.createElement(_Ie.Provider,{value:n},e)}function PM(t,e){var n,r,i=Ht(u=>Ac(u,t)),s=Ht(u=>Cc(u,e)),o=(n=i?.allowDataOverflow)!==null&&n!==void 0?n:ga.allowDataOverflow,l=(r=s?.allowDataOverflow)!==null&&r!==void 0?r:ba.allowDataOverflow,c=o||l;return{needClip:c,needClipX:o,needClipY:l}}function _4(t){var{xAxisId:e,yAxisId:n,clipPathId:r}=t,i=CM(),{needClipX:s,needClipY:o,needClip:l}=PM(e,n);if(!l||!i)return null;var{x:c,y:u,width:d,height:h}=i;return _.createElement("clipPath",{id:"clipPath-".concat(r)},_.createElement("rect",{x:s?c:c-d/2,y:o?u:u-h/2,width:s?d:d*2,height:o?h:h*2}))}function SIe(t,e){return t&&typeof t=="object"&&"zIndex"in t&&typeof t.zIndex=="number"&&wr(t.zIndex)?t.zIndex:e}var uP={exports:{}},dP={};var aq;function NIe(){if(aq)return dP;aq=1;var t=yb();function e(c,u){return c===u&&(c!==0||1/c===1/u)||c!==c&&u!==u}var n=typeof Object.is=="function"?Object.is:e,r=t.useSyncExternalStore,i=t.useRef,s=t.useEffect,o=t.useMemo,l=t.useDebugValue;return dP.useSyncExternalStoreWithSelector=function(c,u,d,h,p){var m=i(null);if(m.current===null){var b={hasValue:!1,value:null};m.current=b}else b=m.current;m=o(function(){function x(M){if(!v){if(v=!0,S=M,M=h(M),p!==void 0&&b.hasValue){var A=b.value;if(p(A,M))return N=A}return N=M}if(A=N,n(S,M))return A;var k=h(M);return p!==void 0&&p(A,k)?(S=M,A):(S=M,N=k)}var v=!1,S,N,T=d===void 0?null:d;return[function(){return x(u())},T===null?void 0:function(){return x(T())}]},[u,d,h,p]);var y=r(c,m[0],m[1]);return s(function(){b.hasValue=!0,b.value=y},[y]),l(y),y},dP}var sq;function kIe(){return sq||(sq=1,uP.exports=NIe()),uP.exports}kIe();function MIe(t){t()}function EIe(){let t=null,e=null;return{clear(){t=null,e=null},notify(){MIe(()=>{let n=t;for(;n;)n.callback(),n=n.next})},get(){const n=[];let r=t;for(;r;)n.push(r),r=r.next;return n},subscribe(n){let r=!0;const i=e={callback:n,next:null,prev:e};return i.prev?i.prev.next=i:t=i,function(){!r||t===null||(r=!1,i.next?i.next.prev=i.prev:e=i.prev,i.prev?i.prev.next=i.next:t=i.next)}}}}var oq={notify(){},get:()=>[]};function TIe(t,e){let n,r=oq,i=0,s=!1;function o(y){d();const x=r.subscribe(y);let v=!1;return()=>{v||(v=!0,x(),h())}}function l(){r.notify()}function c(){b.onStateChange&&b.onStateChange()}function u(){return s}function d(){i++,n||(n=t.subscribe(c),r=EIe())}function h(){i--,n&&i===0&&(n(),n=void 0,r.clear(),r=oq)}function p(){s||(s=!0,d())}function m(){s&&(s=!1,h())}const b={addNestedSub:o,notifyNestedSubs:l,handleChangeWrapper:c,isSubscribed:u,trySubscribe:p,tryUnsubscribe:m,getListeners:()=>r};return b}var AIe=()=>typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",CIe=AIe(),PIe=()=>typeof navigator<"u"&&navigator.product==="ReactNative",jIe=PIe(),DIe=()=>CIe||jIe?_.useLayoutEffect:_.useEffect,RIe=DIe();function lq(t,e){return t===e?t!==0||e!==0||1/t===1/e:t!==t&&e!==e}function OIe(t,e){if(lq(t,e))return!0;if(typeof t!="object"||t===null||typeof e!="object"||e===null)return!1;const n=Object.keys(t),r=Object.keys(e);if(n.length!==r.length)return!1;for(let i=0;i{const c=TIe(i);return{store:i,subscription:c,getServerState:r?()=>r:void 0}},[i,r]),o=_.useMemo(()=>i.getState(),[i]);RIe(()=>{const{subscription:c}=s;return c.onStateChange=c.notifyNestedSubs,c.trySubscribe(),o!==i.getState()&&c.notifyNestedSubs(),()=>{c.tryUnsubscribe(),c.onStateChange=void 0}},[s,o]);const l=n||zIe;return _.createElement(l.Provider,{value:s},e)}var BIe=UIe,HIe=new Set(["axisLine","tickLine","activeBar","activeDot","activeLabel","activeShape","allowEscapeViewBox","background","cursor","dot","label","line","margin","padding","position","shape","style","tick","wrapperStyle"]);function $Ie(t,e){return t==null&&e==null?!0:typeof t=="number"&&typeof e=="number"?t===e||t!==t&&e!==e:t===e}function vv(t,e){var n=new Set([...Object.keys(t),...Object.keys(e)]);for(var r of n)if(HIe.has(r)){if(t[r]==null&&e[r]==null)continue;if(!OIe(t[r],e[r]))return!1}else if(!$Ie(t[r],e[r]))return!1;return!0}var VIe=["onMouseEnter","onMouseLeave","onClick"],GIe=["value","background","tooltipPosition"],qIe=["id"],WIe=["onMouseEnter","onClick","onMouseLeave"];function Zu(){return Zu=Object.assign?Object.assign.bind():function(t){for(var e=1;e{var{dataKey:e,name:n,fill:r,legendType:i,hide:s}=t;return[{inactive:s,dataKey:e,type:i,color:r,value:Hh(n,e),payload:t}]},JIe=_.memo(t=>{var{dataKey:e,stroke:n,strokeWidth:r,fill:i,name:s,hide:o,unit:l,tooltipType:c}=t,u={dataDefinedOnItem:void 0,positions:void 0,settings:{stroke:n,strokeWidth:r,fill:i,dataKey:e,nameKey:void 0,name:Hh(s,e),hide:o,type:c,color:i,unit:l}};return _.createElement(EM,{tooltipEntrySettings:u})});function e5e(t){var e=Ht(Ih),{data:n,dataKey:r,background:i,allOtherBarProps:s}=t,{onMouseEnter:o,onMouseLeave:l,onClick:c}=s,u=iN(s,VIe),d=b4(o,r),h=x4(l),p=y4(c,r);if(!i||n==null)return null;var m=vm(i);return _.createElement(ls,{zIndex:SIe(i,vi.barBackground)},n.map((b,y)=>{var{value:x,background:v,tooltipPosition:S}=b,N=iN(b,GIe);if(!v)return null;var T=d(b,y),M=h(b,y),A=p(b,y),k=xs(xs(xs(xs(xs({option:i,isActive:String(y)===e},N),{},{fill:"#eee"},v),m),Yy(u,b,y)),{},{onMouseEnter:T,onMouseLeave:M,onClick:A,dataKey:r,index:y,className:"recharts-bar-background-rectangle"});return _.createElement(rN,Zu({key:"background-bar-".concat(y)},k))}))}function t5e(t){var{showLabels:e,children:n,rects:r}=t,i=r?.map(s=>{var o={x:s.x,y:s.y,width:s.width,lowerWidth:s.width,upperWidth:s.width,height:s.height};return xs(xs({},o),{},{value:s.value,payload:s.payload,parentViewBox:s.parentViewBox,viewBox:o,fill:s.fill})});return _.createElement(d4,{value:e?i:void 0},n)}function n5e(t){var{shape:e,activeBar:n,baseProps:r,entry:i,index:s,dataKey:o}=t,l=Ht(Ih),c=Ht(a4),u=n&&String(s)===l&&(c==null||o===c),d=u?n:e;return u?_.createElement(ls,{zIndex:vi.activeBar},_.createElement(rN,Zu({},r,{name:String(r.name)},i,{isActive:u,option:d,index:s,dataKey:o}))):_.createElement(rN,Zu({},r,{name:String(r.name)},i,{isActive:u,option:d,index:s,dataKey:o}))}function r5e(t){var{shape:e,baseProps:n,entry:r,index:i,dataKey:s}=t;return _.createElement(rN,Zu({},n,{name:String(n.name)},r,{isActive:!1,option:e,index:i,dataKey:s}))}function i5e(t){var e,{data:n,props:r}=t,i=(e=Ms(r))!==null&&e!==void 0?e:{},{id:s}=i,o=iN(i,qIe),{shape:l,dataKey:c,activeBar:u}=r,{onMouseEnter:d,onClick:h,onMouseLeave:p}=r,m=iN(r,WIe),b=b4(d,c),y=x4(p),x=y4(h,c);return n?_.createElement(_.Fragment,null,n.map((v,S)=>_.createElement(li,Zu({key:"rectangle-".concat(v?.x,"-").concat(v?.y,"-").concat(v?.value,"-").concat(S),className:"recharts-bar-rectangle"},Yy(m,v,S),{onMouseEnter:b(v,S),onMouseLeave:y(v,S),onClick:x(v,S)}),u?_.createElement(n5e,{shape:l,activeBar:u,baseProps:o,entry:v,index:S,dataKey:c}):_.createElement(r5e,{shape:l,baseProps:o,entry:v,index:S,dataKey:c})))):null}function a5e(t){var{props:e,previousRectanglesRef:n}=t,{data:r,layout:i,isAnimationActive:s,animationBegin:o,animationDuration:l,animationEasing:c,onAnimationEnd:u,onAnimationStart:d}=e,h=n.current,p=Pb(e,"recharts-bar-"),[m,b]=_.useState(!1),y=!m,x=_.useCallback(()=>{typeof u=="function"&&u(),b(!1)},[u]),v=_.useCallback(()=>{typeof d=="function"&&d(),b(!0)},[d]);return _.createElement(t5e,{showLabels:y,rects:r},_.createElement(Cb,{animationId:p,begin:o,duration:l,isActive:s,easing:c,onAnimationEnd:x,onAnimationStart:v,key:p},S=>{var N=S===1?r:r?.map((T,M)=>{var A=h&&h[M];if(A)return xs(xs({},T),{},{x:pr(A.x,T.x,S),y:pr(A.y,T.y,S),width:pr(A.width,T.width,S),height:pr(A.height,T.height,S)});if(i==="horizontal"){var k=pr(0,T.height,S),R=pr(T.stackedBarStart,T.y,S);return xs(xs({},T),{},{y:R,height:k})}var C=pr(0,T.width,S),P=pr(T.stackedBarStart,T.x,S);return xs(xs({},T),{},{width:C,x:P})});return S>0&&(n.current=N??null),N==null?null:_.createElement(li,null,_.createElement(i5e,{props:e,data:N}))}),_.createElement(NM,{label:e.label}),e.children)}function s5e(t){var e=_.useRef(null);return _.createElement(a5e,{previousRectanglesRef:e,props:t})}var qJ=0,o5e=(t,e)=>{var n=Array.isArray(t.value)?t.value[1]:t.value;return{x:t.x,y:t.y,value:n,errorVal:vr(t,e)}};class l5e extends _.PureComponent{render(){var{hide:e,data:n,dataKey:r,className:i,xAxisId:s,yAxisId:o,needClip:l,background:c,id:u}=this.props;if(e||n==null)return null;var d=nr("recharts-bar",i),h=u;return _.createElement(li,{className:d,id:u},l&&_.createElement("defs",null,_.createElement(_4,{clipPathId:h,xAxisId:s,yAxisId:o})),_.createElement(li,{className:"recharts-bar-rectangles",clipPath:l?"url(#clipPath-".concat(h,")"):void 0},_.createElement(e5e,{data:n,dataKey:r,background:c,allOtherBarProps:this.props}),_.createElement(s5e,this.props)))}}var c5e={activeBar:!1,animationBegin:0,animationDuration:400,animationEasing:"ease",background:!1,hide:!1,isAnimationActive:"auto",label:!1,legendType:"rect",minPointSize:qJ,xAxisId:0,yAxisId:0,zIndex:vi.bar};function u5e(t){var{xAxisId:e,yAxisId:n,hide:r,legendType:i,minPointSize:s,activeBar:o,animationBegin:l,animationDuration:c,animationEasing:u,isAnimationActive:d}=t,{needClip:h}=PM(e,n),p=Lm(),m=aa(),b=m4(t.children,yv),y=Ht(S=>I5e(S,e,n,m,t.id,b));if(p!=="vertical"&&p!=="horizontal")return null;var x,v=y?.[0];return v==null||v.height==null||v.width==null?x=0:x=p==="vertical"?v.height/2:v.width/2,_.createElement(GJ,{xAxisId:e,yAxisId:n,data:y,dataPointFormatter:o5e,errorBarOffset:x},_.createElement(l5e,Zu({},t,{layout:p,needClip:h,data:y,xAxisId:e,yAxisId:n,hide:r,legendType:i,minPointSize:s,activeBar:o,animationBegin:l,animationDuration:c,animationEasing:u,isAnimationActive:d})))}function d5e(t){var{layout:e,barSettings:{dataKey:n,minPointSize:r},pos:i,bandSize:s,xAxis:o,yAxis:l,xAxisTicks:c,yAxisTicks:u,stackedData:d,displayedData:h,offset:p,cells:m,parentViewBox:b,dataStartIndex:y}=t,x=e==="horizontal"?l:o,v=d?x.scale.domain():null,S=RTe({numericAxis:x}),N=x.scale(S);return h.map((T,M)=>{var A,k,R,C,P,U;d?A=ATe(d[M+y],v):(A=vr(T,n),Array.isArray(A)||(A=[S,A]));var F=pIe(r,qJ)(A[1],M);if(e==="horizontal"){var H,[D,$]=[l.scale(A[0]),l.scale(A[1])];k=M$({axis:o,ticks:c,bandSize:s,offset:i.offset,entry:T,index:M}),R=(H=$??D)!==null&&H!==void 0?H:void 0,C=i.size;var G=D-$;if(P=Ys(G)?0:G,U={x:k,y:p.top,width:C,height:p.height},Math.abs(F)>0&&Math.abs(P)0&&Math.abs(C)_.createElement(_.Fragment,null,_.createElement(v4,{legendPayload:ZIe(e)}),_.createElement(JIe,{dataKey:e.dataKey,stroke:e.stroke,strokeWidth:e.strokeWidth,fill:e.fill,name:e.name,hide:e.hide,unit:e.unit,tooltipType:e.tooltipType}),_.createElement(w4,{type:"bar",id:r,data:void 0,xAxisId:e.xAxisId,yAxisId:e.yAxisId,zAxisId:0,dataKey:e.dataKey,stackId:UY(e.stackId),hide:e.hide,barSize:e.barSize,minPointSize:e.minPointSize,maxBarSize:e.maxBarSize,isPanorama:n}),_.createElement(ls,{zIndex:e.zIndex},_.createElement(u5e,Zu({},e,{id:r})))))}var WJ=_.memo(h5e,vv);WJ.displayName="Bar";function uq(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function n1(t){for(var e=1;ee,b5e=(t,e,n)=>n,x5e=(t,e,n,r)=>r,y5e=(t,e,n,r,i)=>i,wv=st([dv,y5e],(t,e)=>t.filter(n=>n.type==="bar").find(n=>n.id===e)),v5e=st([wv],t=>t?.maxBarSize),w5e=(t,e,n,r,i,s)=>s,dq=(t,e,n)=>{var r=n??t;if(!Yr(r))return as(r,e,0)},_5e=st([Kn,dv,g5e,b5e,x5e],(t,e,n,r,i)=>e.filter(s=>t==="horizontal"?s.xAxisId===n:s.yAxisId===r).filter(s=>s.isPanorama===i).filter(s=>s.hide===!1).filter(s=>s.type==="bar")),S5e=(t,e,n,r)=>{var i=Kn(t);return i==="horizontal"?Sy(t,"yAxis",n,r):Sy(t,"xAxis",e,r)},N5e=(t,e,n)=>{var r=Kn(t);return r==="horizontal"?aG(t,"xAxis",e):aG(t,"yAxis",n)},k5e=(t,e,n)=>{var r={},i=t.filter(pM),s=t.filter(u=>u.stackId==null),o=i.reduce((u,d)=>(u[d.stackId]||(u[d.stackId]=[]),u[d.stackId].push(d),u),r),l=Object.entries(o).map(u=>{var[d,h]=u,p=h.map(b=>b.dataKey),m=dq(e,n,h[0].barSize);return{stackId:d,dataKeys:p,barSize:m}}),c=s.map(u=>{var d=[u.dataKey].filter(p=>p!=null),h=dq(e,n,u.barSize);return{stackId:void 0,dataKeys:d,barSize:h}});return[...l,...c]},M5e=st([_5e,Q3e,N5e],k5e),E5e=(t,e,n,r,i)=>{var s,o,l=wv(t,e,n,r,i);if(l!=null){var c=Kn(t),u=uZ(t),{maxBarSize:d}=l,h=Yr(d)?u:d,p,m;return c==="horizontal"?(p=_c(t,"xAxis",e,r),m=wc(t,"xAxis",e,r)):(p=_c(t,"yAxis",n,r),m=wc(t,"yAxis",n,r)),(s=(o=Oh(p,m,!0))!==null&&o!==void 0?o:h)!==null&&s!==void 0?s:0}},KJ=(t,e,n,r)=>{var i=Kn(t),s,o;return i==="horizontal"?(s=_c(t,"xAxis",e,r),o=wc(t,"xAxis",e,r)):(s=_c(t,"yAxis",n,r),o=wc(t,"yAxis",n,r)),Oh(s,o)};function T5e(t,e,n,r,i){var s=r.length;if(!(s<1)){var o=as(t,n,0,!0),l,c=[];if(wr(r[0].barSize)){var u=!1,d=n/s,h=r.reduce((v,S)=>v+(S.barSize||0),0);h+=(s-1)*o,h>=n&&(h-=(s-1)*o,o=0),h>=n&&d>0&&(u=!0,d*=.9,h=s*d);var p=(n-h)/2>>0,m={offset:p-o,size:0};l=r.reduce((v,S)=>{var N,T={stackId:S.stackId,dataKeys:S.dataKeys,position:{offset:m.offset+m.size+o,size:u?d:(N=S.barSize)!==null&&N!==void 0?N:0}},M=[...v,T];return m=M[M.length-1].position,M},c)}else{var b=as(e,n,0,!0);n-2*b-(s-1)*o<=0&&(o=0);var y=(n-2*b-(s-1)*o)/s;y>1&&(y>>=0);var x=wr(i)?Math.min(y,i):y;l=r.reduce((v,S,N)=>[...v,{stackId:S.stackId,dataKeys:S.dataKeys,position:{offset:b+(y+o)*N+(y-x)/2,size:x}}],c)}return l}}var A5e=(t,e,n,r,i,s,o)=>{var l=Yr(o)?e:o,c=T5e(n,r,i!==s?i:s,t,l);return i!==s&&c!=null&&(c=c.map(u=>n1(n1({},u),{},{position:n1(n1({},u.position),{},{offset:u.position.offset-i/2})}))),c},C5e=st([M5e,uZ,Y3e,dZ,E5e,KJ,v5e],A5e),P5e=(t,e,n,r)=>_c(t,"xAxis",e,r),j5e=(t,e,n,r)=>_c(t,"yAxis",n,r),D5e=(t,e,n,r)=>wc(t,"xAxis",e,r),R5e=(t,e,n,r)=>wc(t,"yAxis",n,r),O5e=st([C5e,wv],(t,e)=>{if(!(t==null||e==null)){var n=t.find(r=>r.stackId===e.stackId&&e.dataKey!=null&&r.dataKeys.includes(e.dataKey));if(n!=null)return n.position}}),L5e=(t,e)=>{var n=mM(e);if(!(!t||n==null||e==null)){var{stackId:r}=e;if(r!=null){var i=t[r];if(i){var{stackedData:s}=i;if(s)return s.find(o=>o.key===n)}}}},F5e=st([S5e,wv],L5e),I5e=st([ia,KO,P5e,j5e,D5e,R5e,O5e,Kn,ov,KJ,F5e,wv,w5e],(t,e,n,r,i,s,o,l,c,u,d,h,p)=>{var{chartData:m,dataStartIndex:b,dataEndIndex:y}=c;if(!(h==null||o==null||e==null||l!=="horizontal"&&l!=="vertical"||n==null||r==null||i==null||s==null||u==null)){var{data:x}=h,v;if(x!=null&&x.length>0?v=x:v=m?.slice(b,y+1),v!=null)return d5e({layout:l,barSettings:h,pos:o,parentViewBox:e,bandSize:u,xAxis:n,yAxis:r,xAxisTicks:i,yAxisTicks:s,stackedData:d,displayedData:v,offset:t,cells:p,dataStartIndex:b})}}),XJ=t=>{var{chartData:e}=t,n=zr(),r=aa();return _.useEffect(()=>r?()=>{}:(n(xG(e)),()=>{n(xG(void 0))}),[e,n,r]),null},hq={x:0,y:0,width:0,height:0,padding:{top:0,right:0,bottom:0,left:0}},YJ=Qs({name:"brush",initialState:hq,reducers:{setBrushSettings(t,e){return e.payload==null?hq:e.payload}}}),{setBrushSettings:kQe}=YJ.actions,z5e=YJ.reducer;function fq(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function r1(t){for(var e=1;e{var{x:n,y:r}=t,{x:i,y:s}=e;return{x:Math.min(n,i),y:Math.min(r,s),width:Math.abs(i-n),height:Math.abs(s-r)}},$5e=t=>{var{x1:e,y1:n,x2:r,y2:i}=t;return H5e({x:e,y:n},{x:r,y:i})};class jM{static create(e){return new jM(e)}constructor(e){this.scale=e}get domain(){return this.scale.domain}get range(){return this.scale.range}get rangeMin(){return this.range()[0]}get rangeMax(){return this.range()[1]}get bandwidth(){return this.scale.bandwidth}apply(e){var{bandAware:n,position:r}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(e!==void 0){if(r)switch(r){case"start":return this.scale(e);case"middle":{var i=this.bandwidth?this.bandwidth()/2:0;return this.scale(e)+i}case"end":{var s=this.bandwidth?this.bandwidth():0;return this.scale(e)+s}default:return this.scale(e)}if(n){var o=this.bandwidth?this.bandwidth()/2:0;return this.scale(e)+o}return this.scale(e)}}isInRange(e){var n=this.range(),r=n[0],i=n[n.length-1];return r<=i?e>=r&&e<=i:e>=i&&e<=r}}QJ(jM,"EPS",1e-4);var V5e=t=>{var e=Object.keys(t).reduce((n,r)=>r1(r1({},n),{},{[r]:jM.create(t[r])}),{});return r1(r1({},e),{},{apply(n){var{bandAware:r,position:i}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return Object.fromEntries(Object.entries(n).map(s=>{var[o,l]=s;return[o,e[o].apply(l,{bandAware:r,position:i})]}))},isInRange(n){return Object.keys(n).every(r=>e[r].isInRange(n[r]))}})};function G5e(t){return(t%180+180)%180}var q5e=function(e){var{width:n,height:r}=e,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,s=G5e(i),o=s*Math.PI/180,l=Math.atan(r/n),c=o>l&&o{t.dots.push(e.payload)},removeDot:(t,e)=>{var n=Il(t).dots.findIndex(r=>r===e.payload);n!==-1&&t.dots.splice(n,1)},addArea:(t,e)=>{t.areas.push(e.payload)},removeArea:(t,e)=>{var n=Il(t).areas.findIndex(r=>r===e.payload);n!==-1&&t.areas.splice(n,1)},addLine:(t,e)=>{t.lines.push(e.payload)},removeLine:(t,e)=>{var n=Il(t).lines.findIndex(r=>r===e.payload);n!==-1&&t.lines.splice(n,1)}}}),{addDot:MQe,removeDot:EQe,addArea:TQe,removeArea:AQe,addLine:K5e,removeLine:X5e}=ZJ.actions,Y5e=ZJ.reducer,JJ=_.createContext(void 0),Q5e=t=>{var{children:e}=t,[n]=_.useState("".concat(uy("recharts"),"-clip")),r=CM();if(r==null)return null;var{x:i,y:s,width:o,height:l}=r;return _.createElement(JJ.Provider,{value:n},_.createElement("defs",null,_.createElement("clipPath",{id:n},_.createElement("rect",{x:i,y:s,height:l,width:o}))),e)},Z5e=()=>_.useContext(JJ);function mq(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function pq(t){for(var e=1;e{var n;if(_.isValidElement(t))n=_.cloneElement(t,e);else if(typeof t=="function")n=t(e);else{if(!wr(e.x1)||!wr(e.y1)||!wr(e.x2)||!wr(e.y2))return null;n=_.createElement("line",aN({},e,{className:"recharts-reference-line-line"}))}return n},rze=(t,e,n,r,i,s)=>{var{x:o,width:l}=s,c=i.y.apply(t,{position:n});if(Ys(c)||e==="discard"&&!i.y.isInRange(c))return null;var u=[{x:o+l,y:c},{x:o,y:c}];return r==="left"?u.reverse():u},ize=(t,e,n,r,i,s)=>{var{y:o,height:l}=s,c=i.x.apply(t,{position:n});if(Ys(c)||e==="discard"&&!i.x.isInRange(c))return null;var u=[{x:c,y:o+l},{x:c,y:o}];return r==="top"?u.reverse():u},aze=(t,e,n,r)=>{var i=t.map(s=>r.apply(s,{position:n}));return e==="discard"&&i.some(s=>!r.isInRange(s))?null:i},sze=(t,e,n,r,i,s)=>{var{x:o,y:l,segment:c,ifOverflow:u}=s,d=fl(o),h=fl(l);return h?rze(l,u,n,i,t,e):d?ize(o,u,n,r,t,e):c!=null&&c.length===2?aze(c,u,n,t):null};function oze(t){var e=zr();return _.useEffect(()=>(e(K5e(t)),()=>{e(X5e(t))})),null}function lze(t){var{xAxisId:e,yAxisId:n,shape:r,className:i,ifOverflow:s}=t,o=aa(),l=Z5e(),c=Ht(A=>Ac(A,e)),u=Ht(A=>Cc(A,n)),d=Ht(A=>Fh(A,"xAxis",e,o)),h=Ht(A=>Fh(A,"yAxis",n,o)),p=tv();if(!l||!p||c==null||u==null||d==null||h==null)return null;var m=V5e({x:d,y:h}),b=sze(m,p,t.position,c.orientation,u.orientation,t);if(!b)return null;var[{x:y,y:x},{x:v,y:S}]=b,N=s==="hidden"?"url(#".concat(l,")"):void 0,T=pq(pq({clipPath:N},Ga(t)),{},{x1:y,y1:x,x2:v,y2:S}),M=$5e({x1:y,y1:x,x2:v,y2:S});return _.createElement(ls,{zIndex:t.zIndex},_.createElement(li,{className:nr("recharts-reference-line",i)},nze(r,T),_.createElement(TJ,aN({},M,{lowerWidth:M.width,upperWidth:M.width}),_.createElement(CJ,{label:t.label}),t.children)))}var cze={ifOverflow:"discard",xAxisId:0,yAxisId:0,fill:"none",stroke:"#ccc",fillOpacity:1,strokeWidth:1,position:"middle",zIndex:vi.line};function m0(t){var e=ci(t,cze);return _.createElement(_.Fragment,null,_.createElement(oze,{yAxisId:e.yAxisId,xAxisId:e.xAxisId,ifOverflow:e.ifOverflow,x:e.x,y:e.y,segment:e.segment}),_.createElement(lze,e))}m0.displayName="ReferenceLine";function eee(t,e){if(e<1)return[];if(e===1)return t;for(var n=[],r=0;rt*i)return!1;var s=n();return t*(e-t*s/2-r)>=0&&t*(e+t*s/2-i)<=0}function hze(t,e){return eee(t,e+1)}function fze(t,e,n,r,i){for(var s=(r||[]).slice(),{start:o,end:l}=e,c=0,u=1,d=o,h=function(){var b=r?.[c];if(b===void 0)return{v:eee(r,u)};var y=c,x,v=()=>(x===void 0&&(x=n(b,y)),x),S=b.coordinate,N=c===0||sN(t,S,v,d,l);N||(c=0,d=o,u+=1),N&&(d=S+t*(v()/2+i),c+=u)},p;u<=s.length;)if(p=h(),p)return p.v;return[]}function gq(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function Za(t){for(var e=1;e(b===void 0&&(b=n(m,p)),b);if(p===o-1){var x=t*(m.coordinate+t*y()/2-c);s[p]=m=Za(Za({},m),{},{tickCoord:x>0?m.coordinate-x*t:m.coordinate})}else s[p]=m=Za(Za({},m),{},{tickCoord:m.coordinate});if(m.tickCoord!=null){var v=sN(t,m.tickCoord,y,l,c);v&&(c=m.tickCoord-t*(y()/2+i),s[p]=Za(Za({},m),{},{isShow:!0}))}},d=o-1;d>=0;d--)u(d);return s}function xze(t,e,n,r,i,s){var o=(r||[]).slice(),l=o.length,{start:c,end:u}=e;if(s){var d=r[l-1],h=n(d,l-1),p=t*(d.coordinate+t*h/2-u);if(o[l-1]=d=Za(Za({},d),{},{tickCoord:p>0?d.coordinate-p*t:d.coordinate}),d.tickCoord!=null){var m=sN(t,d.tickCoord,()=>h,c,u);m&&(u=d.tickCoord-t*(h/2+i),o[l-1]=Za(Za({},d),{},{isShow:!0}))}}for(var b=s?l-1:l,y=function(S){var N=o[S],T,M=()=>(T===void 0&&(T=n(N,S)),T);if(S===0){var A=t*(N.coordinate-t*M()/2-c);o[S]=N=Za(Za({},N),{},{tickCoord:A<0?N.coordinate-A*t:N.coordinate})}else o[S]=N=Za(Za({},N),{},{tickCoord:N.coordinate});if(N.tickCoord!=null){var k=sN(t,N.tickCoord,M,c,u);k&&(c=N.tickCoord+t*(M()/2+i),o[S]=Za(Za({},N),{},{isShow:!0}))}},x=0;x{var M=typeof u=="function"?u(N.value,T):N.value;return b==="width"?uze(A0(M,{fontSize:e,letterSpacing:n}),y,h):A0(M,{fontSize:e,letterSpacing:n})[b]},v=i.length>=2?wa(i[1].coordinate-i[0].coordinate):1,S=dze(s,v,b);return c==="equidistantPreserveStart"?fze(v,S,x,i,o):(c==="preserveStart"||c==="preserveStartEnd"?m=xze(v,S,x,i,o,c==="preserveStartEnd"):m=bze(v,S,x,i,o),m.filter(N=>N.isShow))}var yze=t=>{var{ticks:e,label:n,labelGapWithTick:r=5,tickSize:i=0,tickMargin:s=0}=t,o=0;if(e){Array.from(e).forEach(d=>{if(d){var h=d.getBoundingClientRect();h.width>o&&(o=h.width)}});var l=n?n.getBoundingClientRect().width:0,c=i+s,u=o+c+l+(n?r:0);return Math.round(u)}return 0},vze=["axisLine","width","height","className","hide","ticks","axisType"];function wze(t,e){if(t==null)return{};var n,r,i=_ze(t,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(r=0;r{var{ticks:n=[],tick:r,tickLine:i,stroke:s,tickFormatter:o,unit:l,padding:c,tickTextProps:u,orientation:d,mirror:h,x:p,y:m,width:b,height:y,tickSize:x,tickMargin:v,fontSize:S,letterSpacing:N,getTicksConfig:T,events:M,axisType:A}=t,k=S4(Fi(Fi({},T),{},{ticks:n}),S,N),R=Tze(d,h),C=Aze(d,h),P=Ms(T),U=vm(r),F={};typeof i=="object"&&(F=i);var H=Fi(Fi({},P),{},{fill:"none"},F),D=k.map(I=>Fi({entry:I},Eze(I,p,m,b,y,d,x,h,v))),$=D.map(I=>{var{entry:K,line:Q}=I;return _.createElement(li,{className:"recharts-cartesian-axis-tick",key:"tick-".concat(K.value,"-").concat(K.coordinate,"-").concat(K.tickCoord)},i&&_.createElement("line",km({},H,Q,{className:nr("recharts-cartesian-axis-tick-line",wm(i,"className"))})))}),G=D.map((I,K)=>{var{entry:Q,tick:oe}=I,B=Fi(Fi(Fi(Fi({textAnchor:R,verticalAnchor:C},P),{},{stroke:"none",fill:s},U),oe),{},{index:K,payload:Q,visibleTicksCount:k.length,tickFormatter:o,padding:c},u);return _.createElement(li,km({className:"recharts-cartesian-axis-tick-label",key:"tick-label-".concat(Q.value,"-").concat(Q.coordinate,"-").concat(Q.tickCoord)},Yy(M,Q,K)),r&&_.createElement(Cze,{option:r,tickProps:B,value:"".concat(typeof o=="function"?o(Q.value,K):Q.value).concat(l||"")}))});return _.createElement("g",{className:"recharts-cartesian-axis-ticks recharts-".concat(A,"-ticks")},G.length>0&&_.createElement(ls,{zIndex:vi.label},_.createElement("g",{className:"recharts-cartesian-axis-tick-labels recharts-".concat(A,"-tick-labels"),ref:e},G)),$.length>0&&_.createElement("g",{className:"recharts-cartesian-axis-tick-lines recharts-".concat(A,"-tick-lines")},$))}),jze=_.forwardRef((t,e)=>{var{axisLine:n,width:r,height:i,className:s,hide:o,ticks:l,axisType:c}=t,u=wze(t,vze),[d,h]=_.useState(""),[p,m]=_.useState(""),b=_.useRef(null);_.useImperativeHandle(e,()=>({getCalculatedWidth:()=>{var x;return yze({ticks:b.current,label:(x=t.labelRef)===null||x===void 0?void 0:x.current,labelGapWithTick:5,tickSize:t.tickSize,tickMargin:t.tickMargin})}}));var y=_.useCallback(x=>{if(x){var v=x.getElementsByClassName("recharts-cartesian-axis-tick-value");b.current=v;var S=v[0];if(S){var N=window.getComputedStyle(S),T=N.fontSize,M=N.letterSpacing;(T!==d||M!==p)&&(h(T),m(M))}}},[d,p]);return o||r!=null&&r<=0||i!=null&&i<=0?null:_.createElement(ls,{zIndex:t.zIndex},_.createElement(li,{className:nr("recharts-cartesian-axis",s)},_.createElement(Mze,{x:t.x,y:t.y,width:r,height:i,orientation:t.orientation,mirror:t.mirror,axisLine:n,otherSvgProps:Ms(t)}),_.createElement(Pze,{ref:y,axisType:c,events:u,fontSize:d,getTicksConfig:t,height:t.height,letterSpacing:p,mirror:t.mirror,orientation:t.orientation,padding:t.padding,stroke:t.stroke,tick:t.tick,tickFormatter:t.tickFormatter,tickLine:t.tickLine,tickMargin:t.tickMargin,tickSize:t.tickSize,tickTextProps:t.tickTextProps,ticks:l,unit:t.unit,width:t.width,x:t.x,y:t.y}),_.createElement(TJ,{x:t.x,y:t.y,width:t.width,height:t.height,lowerWidth:t.width,upperWidth:t.width},_.createElement(CJ,{label:t.label,labelRef:t.labelRef}),t.children)))}),N4=_.forwardRef((t,e)=>{var n=ci(t,Ru);return _.createElement(jze,km({},n,{ref:e}))});N4.displayName="CartesianAxis";var Dze=["x1","y1","x2","y2","key"],Rze=["offset"],Oze=["xAxisId","yAxisId"],Lze=["xAxisId","yAxisId"];function xq(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function ts(t){for(var e=1;e{var{fill:e}=t;if(!e||e==="none")return null;var{fillOpacity:n,x:r,y:i,width:s,height:o,ry:l}=t;return _.createElement("rect",{x:r,y:i,ry:l,width:s,height:o,stroke:"none",fill:e,fillOpacity:n,className:"recharts-cartesian-grid-bg"})};function tee(t){var{option:e,lineItemProps:n}=t,r;if(_.isValidElement(e))r=_.cloneElement(e,n);else if(typeof e=="function")r=e(n);else{var i,{x1:s,y1:o,x2:l,y2:c,key:u}=n,d=oN(n,Dze),h=(i=Ms(d))!==null&&i!==void 0?i:{},{offset:p}=h,m=oN(h,Rze);r=_.createElement("line",$f({},m,{x1:s,y1:o,x2:l,y2:c,fill:"none",key:u}))}return r}function Hze(t){var{x:e,width:n,horizontal:r=!0,horizontalPoints:i}=t;if(!r||!i||!i.length)return null;var{xAxisId:s,yAxisId:o}=t,l=oN(t,Oze),c=i.map((u,d)=>{var h=ts(ts({},l),{},{x1:e,y1:u,x2:e+n,y2:u,key:"line-".concat(d),index:d});return _.createElement(tee,{key:"line-".concat(d),option:r,lineItemProps:h})});return _.createElement("g",{className:"recharts-cartesian-grid-horizontal"},c)}function $ze(t){var{y:e,height:n,vertical:r=!0,verticalPoints:i}=t;if(!r||!i||!i.length)return null;var{xAxisId:s,yAxisId:o}=t,l=oN(t,Lze),c=i.map((u,d)=>{var h=ts(ts({},l),{},{x1:u,y1:e,x2:u,y2:e+n,key:"line-".concat(d),index:d});return _.createElement(tee,{option:r,lineItemProps:h,key:"line-".concat(d)})});return _.createElement("g",{className:"recharts-cartesian-grid-vertical"},c)}function Vze(t){var{horizontalFill:e,fillOpacity:n,x:r,y:i,width:s,height:o,horizontalPoints:l,horizontal:c=!0}=t;if(!c||!e||!e.length||l==null)return null;var u=l.map(h=>Math.round(h+i-i)).sort((h,p)=>h-p);i!==u[0]&&u.unshift(0);var d=u.map((h,p)=>{var m=!u[p+1],b=m?i+o-h:u[p+1]-h;if(b<=0)return null;var y=p%e.length;return _.createElement("rect",{key:"react-".concat(p),y:h,x:r,height:b,width:s,stroke:"none",fill:e[y],fillOpacity:n,className:"recharts-cartesian-grid-bg"})});return _.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},d)}function Gze(t){var{vertical:e=!0,verticalFill:n,fillOpacity:r,x:i,y:s,width:o,height:l,verticalPoints:c}=t;if(!e||!n||!n.length)return null;var u=c.map(h=>Math.round(h+i-i)).sort((h,p)=>h-p);i!==u[0]&&u.unshift(0);var d=u.map((h,p)=>{var m=!u[p+1],b=m?i+o-h:u[p+1]-h;if(b<=0)return null;var y=p%n.length;return _.createElement("rect",{key:"react-".concat(p),x:h,y:s,width:b,height:l,stroke:"none",fill:n[y],fillOpacity:r,className:"recharts-cartesian-grid-bg"})});return _.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},d)}var qze=(t,e)=>{var{xAxis:n,width:r,height:i,offset:s}=t;return IY(S4(ts(ts(ts({},Ru),n),{},{ticks:zY(n),viewBox:{x:0,y:0,width:r,height:i}})),s.left,s.left+s.width,e)},Wze=(t,e)=>{var{yAxis:n,width:r,height:i,offset:s}=t;return IY(S4(ts(ts(ts({},Ru),n),{},{ticks:zY(n),viewBox:{x:0,y:0,width:r,height:i}})),s.top,s.top+s.height,e)},Kze={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],stroke:"#ccc",fill:"none",verticalFill:[],horizontalFill:[],xAxisId:0,yAxisId:0,syncWithTicks:!1,zIndex:vi.grid};function lN(t){var e=YO(),n=QO(),r=KY(),i=ts(ts({},ci(t,Kze)),{},{x:Vt(t.x)?t.x:r.left,y:Vt(t.y)?t.y:r.top,width:Vt(t.width)?t.width:r.width,height:Vt(t.height)?t.height:r.height}),{xAxisId:s,yAxisId:o,x:l,y:c,width:u,height:d,syncWithTicks:h,horizontalValues:p,verticalValues:m}=i,b=aa(),y=Ht(C=>sG(C,"xAxis",s,b)),x=Ht(C=>sG(C,"yAxis",o,b));if(!yc(u)||!yc(d)||!Vt(l)||!Vt(c))return null;var v=i.verticalCoordinatesGenerator||qze,S=i.horizontalCoordinatesGenerator||Wze,{horizontalPoints:N,verticalPoints:T}=i;if((!N||!N.length)&&typeof S=="function"){var M=p&&p.length,A=S({yAxis:x?ts(ts({},x),{},{ticks:M?p:x.ticks}):void 0,width:e??u,height:n??d,offset:r},M?!0:h);PS(Array.isArray(A),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(typeof A,"]")),Array.isArray(A)&&(N=A)}if((!T||!T.length)&&typeof v=="function"){var k=m&&m.length,R=v({xAxis:y?ts(ts({},y),{},{ticks:k?m:y.ticks}):void 0,width:e??u,height:n??d,offset:r},k?!0:h);PS(Array.isArray(R),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(typeof R,"]")),Array.isArray(R)&&(T=R)}return _.createElement(ls,{zIndex:i.zIndex},_.createElement("g",{className:"recharts-cartesian-grid"},_.createElement(Bze,{fill:i.fill,fillOpacity:i.fillOpacity,x:i.x,y:i.y,width:i.width,height:i.height,ry:i.ry}),_.createElement(Vze,$f({},i,{horizontalPoints:N})),_.createElement(Gze,$f({},i,{verticalPoints:T})),_.createElement(Hze,$f({},i,{offset:r,horizontalPoints:N,xAxis:y,yAxis:x})),_.createElement($ze,$f({},i,{offset:r,verticalPoints:T,xAxis:y,yAxis:x}))))}lN.displayName="CartesianGrid";var nee=(t,e,n,r)=>_c(t,"xAxis",e,r),ree=(t,e,n,r)=>wc(t,"xAxis",e,r),iee=(t,e,n,r)=>_c(t,"yAxis",n,r),aee=(t,e,n,r)=>wc(t,"yAxis",n,r),Xze=st([Kn,nee,iee,ree,aee],(t,e,n,r,i)=>Tc(t,"xAxis")?Oh(e,r,!1):Oh(n,i,!1)),Yze=(t,e,n,r,i)=>i;function Qze(t){return t.type==="line"}var Zze=st([dv,Yze],(t,e)=>t.filter(Qze).find(n=>n.id===e)),Jze=st([Kn,nee,iee,ree,aee,Zze,Xze,ov],(t,e,n,r,i,s,o,l)=>{var{chartData:c,dataStartIndex:u,dataEndIndex:d}=l;if(!(s==null||e==null||n==null||r==null||i==null||r.length===0||i.length===0||o==null||t!=="horizontal"&&t!=="vertical")){var{dataKey:h,data:p}=s,m;if(p!=null&&p.length>0?m=p:m=c?.slice(u,d+1),m!=null)return yUe({layout:t,xAxis:e,yAxis:n,xAxisTicks:r,yAxisTicks:i,dataKey:h,bandSize:o,displayedData:m})}});function see(t){var e=vm(t),n=3,r=2;if(e!=null){var{r:i,strokeWidth:s}=e,o=Number(i),l=Number(s);return(Number.isNaN(o)||o<0)&&(o=n),(Number.isNaN(l)||l<0)&&(l=r),{r:o,strokeWidth:l}}return{r:n,strokeWidth:r}}var eUe=["id"],tUe=["type","layout","connectNulls","needClip","shape"],nUe=["activeDot","animateNewValues","animationBegin","animationDuration","animationEasing","connectNulls","dot","hide","isAnimationActive","label","legendType","xAxisId","yAxisId","id"];function ky(){return ky=Object.assign?Object.assign.bind():function(t){for(var e=1;e{var{dataKey:e,name:n,stroke:r,legendType:i,hide:s}=t;return[{inactive:s,dataKey:e,type:i,color:r,value:Hh(n,e),payload:t}]},lUe=_.memo(t=>{var{dataKey:e,data:n,stroke:r,strokeWidth:i,fill:s,name:o,hide:l,unit:c,tooltipType:u}=t,d={dataDefinedOnItem:n,positions:void 0,settings:{stroke:r,strokeWidth:i,fill:s,dataKey:e,nameKey:void 0,name:Hh(o,e),hide:l,type:u,color:r,unit:c}};return _.createElement(EM,{tooltipEntrySettings:d})}),oee=(t,e)=>"".concat(e,"px ").concat(t-e,"px");function cUe(t,e){for(var n=t.length%2!==0?[...t,0]:t,r=[],i=0;i{var r=n.reduce((h,p)=>h+p);if(!r)return oee(e,t);for(var i=Math.floor(t/r),s=t%r,o=e-t,l=[],c=0,u=0;cs){l=[...n.slice(0,c),s-u];break}var d=l.length%2===0?[0,o]:[o];return[...cUe(n,i),...l,...d].map(h=>"".concat(h,"px")).join(", ")};function dUe(t){var{clipPathId:e,points:n,props:r}=t,{dot:i,dataKey:s,needClip:o}=r,{id:l}=r,c=k4(r,eUe),u=Ms(c);return _.createElement(HJ,{points:n,dot:i,className:"recharts-line-dots",dotClassName:"recharts-line-dot",dataKey:s,baseProps:u,needClip:o,clipPathId:e})}function hUe(t){var{showLabels:e,children:n,points:r}=t,i=_.useMemo(()=>r?.map(s=>{var o,l,c={x:(o=s.x)!==null&&o!==void 0?o:0,y:(l=s.y)!==null&&l!==void 0?l:0,width:0,lowerWidth:0,upperWidth:0,height:0};return rc(rc({},c),{},{value:s.value,payload:s.payload,viewBox:c,parentViewBox:void 0,fill:void 0})}),[r]);return _.createElement(d4,{value:e?i:void 0},n)}function vq(t){var{clipPathId:e,pathRef:n,points:r,strokeDasharray:i,props:s}=t,{type:o,layout:l,connectNulls:c,needClip:u,shape:d}=s,h=k4(s,tUe),p=rc(rc({},Ga(h)),{},{fill:"none",className:"recharts-line-curve",clipPath:u?"url(#clipPath-".concat(e,")"):void 0,points:r,type:o,layout:l,connectNulls:c,strokeDasharray:i??s.strokeDasharray});return _.createElement(_.Fragment,null,r?.length>1&&_.createElement(g4,ky({shapeType:"curve",option:d},p,{pathRef:n})),_.createElement(dUe,{points:r,clipPathId:e,props:s}))}function fUe(t){try{return t&&t.getTotalLength&&t.getTotalLength()||0}catch{return 0}}function mUe(t){var{clipPathId:e,props:n,pathRef:r,previousPointsRef:i,longestAnimatedLengthRef:s}=t,{points:o,strokeDasharray:l,isAnimationActive:c,animationBegin:u,animationDuration:d,animationEasing:h,animateNewValues:p,width:m,height:b,onAnimationEnd:y,onAnimationStart:x}=n,v=i.current,S=Pb(o,"recharts-line-"),N=_.useRef(S),[T,M]=_.useState(!1),A=!T,k=_.useCallback(()=>{typeof y=="function"&&y(),M(!1)},[y]),R=_.useCallback(()=>{typeof x=="function"&&x(),M(!0)},[x]),C=fUe(r.current),P=_.useRef(0);N.current!==S&&(P.current=s.current,N.current=S);var U=P.current;return _.createElement(hUe,{points:o,showLabels:A},n.children,_.createElement(Cb,{animationId:S,begin:u,duration:d,isActive:c,easing:h,onAnimationEnd:k,onAnimationStart:R,key:S},F=>{var H=pr(U,C+U,F),D=Math.min(H,C),$;if(c)if(l){var G="".concat(l).split(/[,\s]+/gim).map(Q=>parseFloat(Q));$=uUe(D,C,G)}else $=oee(C,D);else $=l==null?void 0:String(l);if(F>0&&C>0&&(i.current=o,s.current=Math.max(s.current,D)),v){var I=v.length/o.length,K=F===1?o:o.map((Q,oe)=>{var B=Math.floor(oe*I);if(v[B]){var W=v[B];return rc(rc({},Q),{},{x:pr(W.x,Q.x,F),y:pr(W.y,Q.y,F)})}return p?rc(rc({},Q),{},{x:pr(m*2,Q.x,F),y:pr(b/2,Q.y,F)}):rc(rc({},Q),{},{x:Q.x,y:Q.y})});return i.current=K,_.createElement(vq,{props:n,points:K,clipPathId:e,pathRef:r,strokeDasharray:$})}return _.createElement(vq,{props:n,points:o,clipPathId:e,pathRef:r,strokeDasharray:$})}),_.createElement(NM,{label:n.label}))}function pUe(t){var{clipPathId:e,props:n}=t,r=_.useRef(null),i=_.useRef(0),s=_.useRef(null);return _.createElement(mUe,{props:n,clipPathId:e,previousPointsRef:r,longestAnimatedLengthRef:i,pathRef:s})}var gUe=(t,e)=>{var n,r;return{x:(n=t.x)!==null&&n!==void 0?n:void 0,y:(r=t.y)!==null&&r!==void 0?r:void 0,value:t.value,errorVal:vr(t.payload,e)}};class bUe extends _.Component{render(){var{hide:e,dot:n,points:r,className:i,xAxisId:s,yAxisId:o,top:l,left:c,width:u,height:d,id:h,needClip:p,zIndex:m}=this.props;if(e)return null;var b=nr("recharts-line",i),y=h,{r:x,strokeWidth:v}=see(n),S=p4(n),N=x*2+v,T=p?"url(#clipPath-".concat(S?"":"dots-").concat(y,")"):void 0;return _.createElement(ls,{zIndex:m},_.createElement(li,{className:b},p&&_.createElement("defs",null,_.createElement(_4,{clipPathId:y,xAxisId:s,yAxisId:o}),!S&&_.createElement("clipPath",{id:"clipPath-dots-".concat(y)},_.createElement("rect",{x:c-N/2,y:l-N/2,width:u+N,height:d+N}))),_.createElement(GJ,{xAxisId:s,yAxisId:o,data:r,dataPointFormatter:gUe,errorBarOffset:0},_.createElement(pUe,{props:this.props,clipPathId:y}))),_.createElement(jD,{activeDot:this.props.activeDot,points:r,mainColor:this.props.stroke,itemDataKey:this.props.dataKey,clipPath:T}))}}var lee={activeDot:!0,animateNewValues:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",connectNulls:!1,dot:!0,fill:"#fff",hide:!1,isAnimationActive:"auto",label:!1,legendType:"line",stroke:"#3182bd",strokeWidth:1,xAxisId:0,yAxisId:0,zIndex:vi.line,type:"linear"};function xUe(t){var e=ci(t,lee),{activeDot:n,animateNewValues:r,animationBegin:i,animationDuration:s,animationEasing:o,connectNulls:l,dot:c,hide:u,isAnimationActive:d,label:h,legendType:p,xAxisId:m,yAxisId:b,id:y}=e,x=k4(e,nUe),{needClip:v}=PM(m,b),S=CM(),N=Lm(),T=aa(),M=Ht(P=>Jze(P,m,b,T,y));if(N!=="horizontal"&&N!=="vertical"||M==null||S==null)return null;var{height:A,width:k,x:R,y:C}=S;return _.createElement(bUe,ky({},x,{id:y,connectNulls:l,dot:c,activeDot:n,animateNewValues:r,animationBegin:i,animationDuration:s,animationEasing:o,isAnimationActive:d,hide:u,label:h,legendType:p,xAxisId:m,yAxisId:b,points:M,layout:N,height:A,width:k,left:R,top:C,needClip:v}))}function yUe(t){var{layout:e,xAxis:n,yAxis:r,xAxisTicks:i,yAxisTicks:s,dataKey:o,bandSize:l,displayedData:c}=t;return c.map((u,d)=>{var h=vr(u,o);if(e==="horizontal"){var p=CS({axis:n,ticks:i,bandSize:l,entry:u,index:d}),m=Yr(h)?null:r.scale(h);return{x:p,y:m,value:h,payload:u}}var b=Yr(h)?null:n.scale(h),y=CS({axis:r,ticks:s,bandSize:l,entry:u,index:d});return b==null||y==null?null:{x:b,y,value:h,payload:u}}).filter(Boolean)}function vUe(t){var e=ci(t,lee),n=aa();return _.createElement(TM,{id:e.id,type:"line"},r=>_.createElement(_.Fragment,null,_.createElement(v4,{legendPayload:oUe(e)}),_.createElement(lUe,{dataKey:e.dataKey,data:e.data,stroke:e.stroke,strokeWidth:e.strokeWidth,fill:e.fill,name:e.name,hide:e.hide,unit:e.unit,tooltipType:e.tooltipType}),_.createElement(w4,{type:"line",id:r,data:e.data,xAxisId:e.xAxisId,yAxisId:e.yAxisId,zAxisId:0,dataKey:e.dataKey,hide:e.hide,isPanorama:n}),_.createElement(xUe,ky({},e,{id:r}))))}var cee=_.memo(vUe,vv);cee.displayName="Line";var uee=(t,e,n,r)=>_c(t,"xAxis",e,r),dee=(t,e,n,r)=>wc(t,"xAxis",e,r),hee=(t,e,n,r)=>_c(t,"yAxis",n,r),fee=(t,e,n,r)=>wc(t,"yAxis",n,r),wUe=st([Kn,uee,hee,dee,fee],(t,e,n,r,i)=>Tc(t,"xAxis")?Oh(e,r,!1):Oh(n,i,!1)),_Ue=(t,e,n,r,i)=>i,mee=st([dv,_Ue],(t,e)=>t.filter(n=>n.type==="area").find(n=>n.id===e)),SUe=(t,e,n,r,i)=>{var s,o=mee(t,e,n,r,i);if(o!=null){var l=Kn(t),c=Tc(l,"xAxis"),u;if(c?u=Sy(t,"yAxis",n,r):u=Sy(t,"xAxis",e,r),u!=null){var{stackId:d}=o,h=mM(o);if(!(d==null||h==null)){var p=(s=u[d])===null||s===void 0?void 0:s.stackedData;return p?.find(m=>m.key===h)}}}},NUe=st([Kn,uee,hee,dee,fee,SUe,ov,wUe,mee,Z3e],(t,e,n,r,i,s,o,l,c,u)=>{var{chartData:d,dataStartIndex:h,dataEndIndex:p}=o;if(!(c==null||t!=="horizontal"&&t!=="vertical"||e==null||n==null||r==null||i==null||r.length===0||i.length===0||l==null)){var{data:m}=c,b;if(m&&m.length>0?b=m:b=d?.slice(h,p+1),b!=null)return $Ue({layout:t,xAxis:e,yAxis:n,xAxisTicks:r,yAxisTicks:i,dataStartIndex:h,areaSettings:c,stackedData:s,displayedData:b,chartBaseValue:u,bandSize:l})}}),kUe=["id"],MUe=["activeDot","animationBegin","animationDuration","animationEasing","connectNulls","dot","fill","fillOpacity","hide","isAnimationActive","legendType","stroke","xAxisId","yAxisId"];function nm(){return nm=Object.assign?Object.assign.bind():function(t){for(var e=1;e{var{dataKey:e,name:n,stroke:r,fill:i,legendType:s,hide:o}=t;return[{inactive:o,dataKey:e,type:s,color:cN(r,i),value:Hh(n,e),payload:t}]},jUe=_.memo(t=>{var{dataKey:e,data:n,stroke:r,strokeWidth:i,fill:s,name:o,hide:l,unit:c,tooltipType:u}=t,d={dataDefinedOnItem:n,positions:void 0,settings:{stroke:r,strokeWidth:i,fill:s,dataKey:e,nameKey:void 0,name:Hh(o,e),hide:l,type:u,color:cN(r,s),unit:c}};return _.createElement(EM,{tooltipEntrySettings:d})});function DUe(t){var{clipPathId:e,points:n,props:r}=t,{needClip:i,dot:s,dataKey:o}=r,l=Ms(r);return _.createElement(HJ,{points:n,dot:s,className:"recharts-area-dots",dotClassName:"recharts-area-dot",dataKey:o,baseProps:l,needClip:i,clipPathId:e})}function RUe(t){var{showLabels:e,children:n,points:r}=t,i=r.map(s=>{var o,l,c={x:(o=s.x)!==null&&o!==void 0?o:0,y:(l=s.y)!==null&&l!==void 0?l:0,width:0,lowerWidth:0,upperWidth:0,height:0};return Sg(Sg({},c),{},{value:s.value,payload:s.payload,parentViewBox:void 0,viewBox:c,fill:void 0})});return _.createElement(d4,{value:e?i:void 0},n)}function _q(t){var{points:e,baseLine:n,needClip:r,clipPathId:i,props:s}=t,{layout:o,type:l,stroke:c,connectNulls:u,isRange:d}=s,{id:h}=s,p=pee(s,kUe),m=Ms(p),b=Ga(p);return _.createElement(_.Fragment,null,e?.length>1&&_.createElement(li,{clipPath:r?"url(#clipPath-".concat(i,")"):void 0},_.createElement(Lg,nm({},b,{id:h,points:e,connectNulls:u,type:l,baseLine:n,layout:o,stroke:"none",className:"recharts-area-area"})),c!=="none"&&_.createElement(Lg,nm({},m,{className:"recharts-area-curve",layout:o,type:l,connectNulls:u,fill:"none",points:e})),c!=="none"&&d&&_.createElement(Lg,nm({},m,{className:"recharts-area-curve",layout:o,type:l,connectNulls:u,fill:"none",points:n}))),_.createElement(DUe,{points:e,props:p,clipPathId:i}))}function OUe(t){var{alpha:e,baseLine:n,points:r,strokeWidth:i}=t,s=r[0].y,o=r[r.length-1].y;if(!wr(s)||!wr(o))return null;var l=e*Math.abs(s-o),c=Math.max(...r.map(u=>u.x||0));return Vt(n)?c=Math.max(n,c):n&&Array.isArray(n)&&n.length&&(c=Math.max(...n.map(u=>u.x||0),c)),Vt(c)?_.createElement("rect",{x:0,y:su.y||0));return Vt(n)?c=Math.max(n,c):n&&Array.isArray(n)&&n.length&&(c=Math.max(...n.map(u=>u.y||0),c)),Vt(c)?_.createElement("rect",{x:s({points:o,baseLine:l}),[o,l]),y=Pb(b,"recharts-area-"),x=gAe(),[v,S]=_.useState(!1),N=!v,T=_.useCallback(()=>{typeof m=="function"&&m(),S(!1)},[m]),M=_.useCallback(()=>{typeof p=="function"&&p(),S(!0)},[p]);if(x==null)return null;var A=i.current,k=s.current;return _.createElement(RUe,{showLabels:N,points:o},r.children,_.createElement(Cb,{animationId:y,begin:u,duration:d,isActive:c,easing:h,onAnimationEnd:T,onAnimationStart:M,key:y},R=>{if(A){var C=A.length/o.length,P=R===1?o:o.map((F,H)=>{var D=Math.floor(H*C);if(A[D]){var $=A[D];return Sg(Sg({},F),{},{x:pr($.x,F.x,R),y:pr($.y,F.y,R)})}return F}),U;return Vt(l)?U=pr(k,l,R):Yr(l)||Ys(l)?U=pr(k,0,R):U=l.map((F,H)=>{var D=Math.floor(H*C);if(Array.isArray(k)&&k[D]){var $=k[D];return Sg(Sg({},F),{},{x:pr($.x,F.x,R),y:pr($.y,F.y,R)})}return F}),R>0&&(i.current=P,s.current=U),_.createElement(_q,{points:P,baseLine:U,needClip:e,clipPathId:n,props:r})}return R>0&&(i.current=o,s.current=l),_.createElement(li,null,c&&_.createElement("defs",null,_.createElement("clipPath",{id:"animationClipPath-".concat(n)},_.createElement(FUe,{alpha:R,points:o,baseLine:l,layout:x,strokeWidth:r.strokeWidth}))),_.createElement(li,{clipPath:"url(#animationClipPath-".concat(n,")")},_.createElement(_q,{points:o,baseLine:l,needClip:e,clipPathId:n,props:r})))}),_.createElement(NM,{label:r.label}))}function zUe(t){var{needClip:e,clipPathId:n,props:r}=t,i=_.useRef(null),s=_.useRef();return _.createElement(IUe,{needClip:e,clipPathId:n,props:r,previousPointsRef:i,previousBaselineRef:s})}class UUe extends _.PureComponent{render(){var{hide:e,dot:n,points:r,className:i,top:s,left:o,needClip:l,xAxisId:c,yAxisId:u,width:d,height:h,id:p,baseLine:m,zIndex:b}=this.props;if(e)return null;var y=nr("recharts-area",i),x=p,{r:v,strokeWidth:S}=see(n),N=p4(n),T=v*2+S,M=l?"url(#clipPath-".concat(N?"":"dots-").concat(x,")"):void 0;return _.createElement(ls,{zIndex:b},_.createElement(li,{className:y},l&&_.createElement("defs",null,_.createElement(_4,{clipPathId:x,xAxisId:c,yAxisId:u}),!N&&_.createElement("clipPath",{id:"clipPath-dots-".concat(x)},_.createElement("rect",{x:o-T/2,y:s-T/2,width:d+T,height:h+T}))),_.createElement(zUe,{needClip:l,clipPathId:x,props:this.props})),_.createElement(jD,{points:r,mainColor:cN(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:M}),this.props.isRange&&Array.isArray(m)&&_.createElement(jD,{points:m,mainColor:cN(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:M}))}}var gee={activeDot:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",connectNulls:!1,dot:!1,fill:"#3182bd",fillOpacity:.6,hide:!1,isAnimationActive:"auto",legendType:"line",stroke:"#3182bd",strokeWidth:1,type:"linear",label:!1,xAxisId:0,yAxisId:0,zIndex:vi.area};function BUe(t){var e,n=ci(t,gee),{activeDot:r,animationBegin:i,animationDuration:s,animationEasing:o,connectNulls:l,dot:c,fill:u,fillOpacity:d,hide:h,isAnimationActive:p,legendType:m,stroke:b,xAxisId:y,yAxisId:x}=n,v=pee(n,MUe),S=Lm(),N=dJ(),{needClip:T}=PM(y,x),M=aa(),{points:A,isRange:k,baseLine:R}=(e=Ht(D=>NUe(D,y,x,M,t.id)))!==null&&e!==void 0?e:{},C=CM();if(S!=="horizontal"&&S!=="vertical"||C==null||N!=="AreaChart"&&N!=="ComposedChart")return null;var{height:P,width:U,x:F,y:H}=C;return!A||!A.length?null:_.createElement(UUe,nm({},v,{activeDot:r,animationBegin:i,animationDuration:s,animationEasing:o,baseLine:R,connectNulls:l,dot:c,fill:u,fillOpacity:d,height:P,hide:h,layout:S,isAnimationActive:p==="auto"?!Ab.isSsr:p,isRange:k,legendType:m,needClip:T,points:A,stroke:b,width:U,left:F,top:H,xAxisId:y,yAxisId:x}))}var HUe=(t,e,n,r,i)=>{var s=n??e;if(Vt(s))return s;var o=t==="horizontal"?i:r,l=o.scale.domain();if(o.type==="number"){var c=Math.max(l[0],l[1]),u=Math.min(l[0],l[1]);return s==="dataMin"?u:s==="dataMax"||c<0?c:Math.max(Math.min(l[0],l[1]),0)}return s==="dataMin"?l[0]:s==="dataMax"?l[1]:l[0]};function $Ue(t){var{areaSettings:{connectNulls:e,baseValue:n,dataKey:r},stackedData:i,layout:s,chartBaseValue:o,xAxis:l,yAxis:c,displayedData:u,dataStartIndex:d,xAxisTicks:h,yAxisTicks:p,bandSize:m}=t,b=i&&i.length,y=HUe(s,o,n,l,c),x=s==="horizontal",v=!1,S=u.map((T,M)=>{var A;b?A=i[d+M]:(A=vr(T,r),Array.isArray(A)?v=!0:A=[y,A]);var k=A[1]==null||b&&!e&&vr(T,r)==null;return x?{x:CS({axis:l,ticks:h,bandSize:m,entry:T,index:M}),y:k?null:c.scale(A[1]),value:A,payload:T}:{x:k?null:l.scale(A[1]),y:CS({axis:c,ticks:p,bandSize:m,entry:T,index:M}),value:A,payload:T}}),N;return b||v?N=S.map(T=>{var M=Array.isArray(T.value)?T.value[0]:null;return x?{x:T.x,y:M!=null&&T.y!=null?c.scale(M):null,payload:T.payload}:{x:M!=null?l.scale(M):null,y:T.y,payload:T.payload}}):N=x?c.scale(y):l.scale(y),{points:S,baseLine:N,isRange:v}}function VUe(t){var e=ci(t,gee),n=aa();return _.createElement(TM,{id:e.id,type:"area"},r=>_.createElement(_.Fragment,null,_.createElement(v4,{legendPayload:PUe(e)}),_.createElement(jUe,{dataKey:e.dataKey,data:e.data,stroke:e.stroke,strokeWidth:e.strokeWidth,fill:e.fill,name:e.name,hide:e.hide,unit:e.unit,tooltipType:e.tooltipType}),_.createElement(w4,{type:"area",id:r,data:e.data,dataKey:e.dataKey,xAxisId:e.xAxisId,yAxisId:e.yAxisId,zAxisId:0,stackId:UY(e.stackId),hide:e.hide,barSize:void 0,baseValue:e.baseValue,isPanorama:n,connectNulls:e.connectNulls}),_.createElement(BUe,nm({},e,{id:r}))))}var bee=_.memo(VUe,vv);bee.displayName="Area";var GUe=["domain","range"],qUe=["domain","range"];function Sq(t,e){if(t==null)return{};var n,r,i=WUe(t,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(r=0;r{n.current===null?e(GFe(t)):n.current!==t&&e(qFe({prev:n.current,next:t})),n.current=t},[t,e]),_.useLayoutEffect(()=>()=>{n.current&&(e(WFe(n.current)),n.current=null)},[e]),null}var ZUe=t=>{var{xAxisId:e,className:n}=t,r=Ht(KO),i=aa(),s="xAxis",o=Ht(x=>Fh(x,s,e,i)),l=Ht(x=>$Z(x,s,e,i)),c=Ht(x=>zZ(x,e)),u=Ht(x=>XDe(x,e)),d=Ht(x=>vZ(x,e));if(c==null||u==null||d==null)return null;var{dangerouslySetInnerHTML:h,ticks:p}=t,m=kq(t,KUe),{id:b}=d,y=kq(d,XUe);return _.createElement(N4,RD({},m,y,{scale:o,x:u.x,y:u.y,width:c.width,height:c.height,className:nr("recharts-".concat(s," ").concat(s),n),viewBox:r,ticks:l,axisType:s}))},JUe={allowDataOverflow:ga.allowDataOverflow,allowDecimals:ga.allowDecimals,allowDuplicatedCategory:ga.allowDuplicatedCategory,angle:ga.angle,axisLine:Ru.axisLine,height:ga.height,hide:!1,includeHidden:ga.includeHidden,interval:ga.interval,minTickGap:ga.minTickGap,mirror:ga.mirror,orientation:ga.orientation,padding:ga.padding,reversed:ga.reversed,scale:ga.scale,tick:ga.tick,tickCount:ga.tickCount,tickLine:Ru.tickLine,tickSize:Ru.tickSize,type:ga.type,xAxisId:0},eBe=t=>{var e=ci(t,JUe);return _.createElement(_.Fragment,null,_.createElement(QUe,{allowDataOverflow:e.allowDataOverflow,allowDecimals:e.allowDecimals,allowDuplicatedCategory:e.allowDuplicatedCategory,angle:e.angle,dataKey:e.dataKey,domain:e.domain,height:e.height,hide:e.hide,id:e.xAxisId,includeHidden:e.includeHidden,interval:e.interval,minTickGap:e.minTickGap,mirror:e.mirror,name:e.name,orientation:e.orientation,padding:e.padding,reversed:e.reversed,scale:e.scale,tick:e.tick,tickCount:e.tickCount,tickFormatter:e.tickFormatter,ticks:e.ticks,type:e.type,unit:e.unit}),_.createElement(ZUe,e))},uN=_.memo(eBe,xee);uN.displayName="XAxis";var tBe=["dangerouslySetInnerHTML","ticks"],nBe=["id"];function OD(){return OD=Object.assign?Object.assign.bind():function(t){for(var e=1;e{n.current===null?e(KFe(t)):n.current!==t&&e(XFe({prev:n.current,next:t})),n.current=t},[t,e]),_.useLayoutEffect(()=>()=>{n.current&&(e(YFe(n.current)),n.current=null)},[e]),null}var aBe=t=>{var{yAxisId:e,className:n,width:r,label:i}=t,s=_.useRef(null),o=_.useRef(null),l=Ht(KO),c=aa(),u=zr(),d="yAxis",h=Ht(M=>Fh(M,d,e,c)),p=Ht(M=>UZ(M,e)),m=Ht(M=>QDe(M,e)),b=Ht(M=>$Z(M,d,e,c)),y=Ht(M=>wZ(M,e));if(_.useLayoutEffect(()=>{if(!(r!=="auto"||!p||u4(i)||_.isValidElement(i)||y==null)){var M=s.current;if(M){var A=M.getCalculatedWidth();Math.round(p.width)!==Math.round(A)&&u(QFe({id:e,width:A}))}}},[b,p,u,i,e,r,y]),p==null||m==null||y==null)return null;var{dangerouslySetInnerHTML:x,ticks:v}=t,S=Mq(t,tBe),{id:N}=y,T=Mq(y,nBe);return _.createElement(N4,OD({},S,T,{ref:s,labelRef:o,scale:h,x:m.x,y:m.y,tickTextProps:r==="auto"?{width:void 0}:{width:r},width:p.width,height:p.height,className:nr("recharts-".concat(d," ").concat(d),n),viewBox:l,ticks:b,axisType:d}))},sBe={allowDataOverflow:ba.allowDataOverflow,allowDecimals:ba.allowDecimals,allowDuplicatedCategory:ba.allowDuplicatedCategory,angle:ba.angle,axisLine:Ru.axisLine,hide:!1,includeHidden:ba.includeHidden,interval:ba.interval,minTickGap:ba.minTickGap,mirror:ba.mirror,orientation:ba.orientation,padding:ba.padding,reversed:ba.reversed,scale:ba.scale,tick:ba.tick,tickCount:ba.tickCount,tickLine:Ru.tickLine,tickSize:Ru.tickSize,type:ba.type,width:ba.width,yAxisId:0},oBe=t=>{var e=ci(t,sBe);return _.createElement(_.Fragment,null,_.createElement(iBe,{interval:e.interval,id:e.yAxisId,scale:e.scale,type:e.type,domain:e.domain,allowDataOverflow:e.allowDataOverflow,dataKey:e.dataKey,allowDuplicatedCategory:e.allowDuplicatedCategory,allowDecimals:e.allowDecimals,tickCount:e.tickCount,padding:e.padding,includeHidden:e.includeHidden,reversed:e.reversed,ticks:e.ticks,width:e.width,orientation:e.orientation,mirror:e.mirror,hide:e.hide,unit:e.unit,name:e.name,angle:e.angle,minTickGap:e.minTickGap,tick:e.tick,tickFormatter:e.tickFormatter}),_.createElement(aBe,e))},dN=_.memo(oBe,xee);dN.displayName="YAxis";var lBe=(t,e)=>e,M4=st([lBe,Kn,xZ,oa,aJ,rd,hOe,ia],yOe),E4=t=>{var e=t.currentTarget.getBoundingClientRect(),n=e.width/t.currentTarget.offsetWidth,r=e.height/t.currentTarget.offsetHeight;return{chartX:Math.round((t.clientX-e.left)/n),chartY:Math.round((t.clientY-e.top)/r)}},yee=ml("mouseClick"),vee=Jy();vee.startListening({actionCreator:yee,effect:(t,e)=>{var n=t.payload,r=M4(e.getState(),E4(n));r?.activeIndex!=null&&e.dispatch(dRe({activeIndex:r.activeIndex,activeDataKey:void 0,activeCoordinate:r.activeCoordinate}))}});var LD=ml("mouseMove"),wee=Jy(),i1=null;wee.startListening({actionCreator:LD,effect:(t,e)=>{var n=t.payload;i1!==null&&cancelAnimationFrame(i1);var r=E4(n);i1=requestAnimationFrame(()=>{var i=e.getState(),s=JL(i,i.tooltip.settings.shared);if(s==="axis"){var o=M4(i,r);o?.activeIndex!=null?e.dispatch(QZ({activeIndex:o.activeIndex,activeDataKey:void 0,activeCoordinate:o.activeCoordinate})):e.dispatch(YZ())}i1=null})}});var Eq={accessibilityLayer:!0,barCategoryGap:"10%",barGap:4,barSize:void 0,className:void 0,maxBarSize:void 0,stackOffset:"none",syncId:void 0,syncMethod:"index",baseValue:void 0,reverseStackOrder:!1},_ee=Qs({name:"rootProps",initialState:Eq,reducers:{updateOptions:(t,e)=>{var n;t.accessibilityLayer=e.payload.accessibilityLayer,t.barCategoryGap=e.payload.barCategoryGap,t.barGap=(n=e.payload.barGap)!==null&&n!==void 0?n:Eq.barGap,t.barSize=e.payload.barSize,t.maxBarSize=e.payload.maxBarSize,t.stackOffset=e.payload.stackOffset,t.syncId=e.payload.syncId,t.syncMethod=e.payload.syncMethod,t.className=e.payload.className,t.baseValue=e.payload.baseValue,t.reverseStackOrder=e.payload.reverseStackOrder}}}),cBe=_ee.reducer,{updateOptions:uBe}=_ee.actions,See=Qs({name:"polarOptions",initialState:null,reducers:{updatePolarOptions:(t,e)=>e.payload}}),{updatePolarOptions:dBe}=See.actions,hBe=See.reducer,Nee=ml("keyDown"),kee=ml("focus"),T4=Jy();T4.startListening({actionCreator:Nee,effect:(t,e)=>{var n=e.getState(),r=n.rootProps.accessibilityLayer!==!1;if(r){var{keyboardInteraction:i}=n.tooltip,s=t.payload;if(!(s!=="ArrowRight"&&s!=="ArrowLeft"&&s!=="Enter")){var o=e4(i,zb(n),fv(n),bv(n)),l=o==null?-1:Number(o);if(!(!Number.isFinite(l)||l<0)){var c=rd(n);if(s==="Enter"){var u=ZS(n,"axis","hover",String(i.index));e.dispatch(MD({active:!i.active,activeIndex:i.index,activeDataKey:i.dataKey,activeCoordinate:u}));return}var d=tRe(n),h=d==="left-to-right"?1:-1,p=s==="ArrowRight"?1:-1,m=l+p*h;if(!(c==null||m>=c.length||m<0)){var b=ZS(n,"axis","hover",String(m));e.dispatch(MD({active:!0,activeIndex:m.toString(),activeDataKey:void 0,activeCoordinate:b}))}}}}}});T4.startListening({actionCreator:kee,effect:(t,e)=>{var n=e.getState(),r=n.rootProps.accessibilityLayer!==!1;if(r){var{keyboardInteraction:i}=n.tooltip;if(!i.active&&i.index==null){var s="0",o=ZS(n,"axis","hover",String(s));e.dispatch(MD({activeDataKey:void 0,active:!0,activeIndex:s,activeCoordinate:o}))}}}});var qo=ml("externalEvent"),Mee=Jy(),hP=new Map;Mee.startListening({actionCreator:qo,effect:(t,e)=>{var{handler:n,reactEvent:r}=t.payload;if(n!=null){r.persist();var i=r.type,s=hP.get(i);s!==void 0&&cancelAnimationFrame(s);var o=requestAnimationFrame(()=>{try{var l=e.getState(),c={activeCoordinate:QRe(l),activeDataKey:a4(l),activeIndex:Ih(l),activeLabel:lJ(l),activeTooltipIndex:Ih(l),isTooltipActive:ZRe(l)};n(c,r)}finally{hP.delete(i)}});hP.set(i,o)}}});var fBe=st([Ib],t=>t.tooltipItemPayloads),mBe=st([fBe,pv,(t,e,n)=>e,(t,e,n)=>n],(t,e,n,r)=>{var i=t.find(l=>l.settings.dataKey===r);if(i!=null){var{positions:s}=i;if(s!=null){var o=e(s,n);return o}}}),Eee=ml("touchMove"),Tee=Jy();Tee.startListening({actionCreator:Eee,effect:(t,e)=>{var n=t.payload;if(!(n.touches==null||n.touches.length===0)){var r=e.getState(),i=JL(r,r.tooltip.settings.shared);if(i==="axis"){var s=M4(r,E4({clientX:n.touches[0].clientX,clientY:n.touches[0].clientY,currentTarget:n.currentTarget}));s?.activeIndex!=null&&e.dispatch(QZ({activeIndex:s.activeIndex,activeDataKey:void 0,activeCoordinate:s.activeCoordinate}))}else if(i==="item"){var o,l=n.touches[0];if(document.elementFromPoint==null)return;var c=document.elementFromPoint(l.clientX,l.clientY);if(!c||!c.getAttribute)return;var u=c.getAttribute(HY),d=(o=c.getAttribute($Y))!==null&&o!==void 0?o:void 0,h=mBe(e.getState(),u,d);e.dispatch(XZ({activeDataKey:d,activeIndex:u,activeCoordinate:h}))}}}});var pBe=cY({brush:z5e,cartesianAxis:ZFe,chartData:YOe,errorBars:bIe,graphicalItems:aFe,layout:STe,legend:PAe,options:GOe,polarAxis:v4e,polarOptions:hBe,referenceElements:Y5e,rootProps:cBe,tooltip:hRe,zIndex:DOe}),gBe=function(e){return KEe({reducer:pBe,preloadedState:e,middleware:n=>{var r;return n({serializableCheck:!1,immutableCheck:!["commonjs","es6","production"].includes((r="es6")!==null&&r!==void 0?r:"")}).concat([vee.middleware,wee.middleware,T4.middleware,Mee.middleware,Tee.middleware])},enhancers:n=>{var r=n;return typeof n=="function"&&(r=n()),r.concat(NY({type:"raf"}))},devTools:Ab.devToolsEnabled})};function Aee(t){var{preloadedState:e,children:n,reduxStoreName:r}=t,i=aa(),s=_.useRef(null);if(i)return n;s.current==null&&(s.current=gBe(e));var o=zO;return _.createElement(BIe,{context:o,store:s.current},n)}function bBe(t){var{layout:e,margin:n}=t,r=zr(),i=aa();return _.useEffect(()=>{i||(r(vTe(e)),r(yTe(n)))},[r,i,e,n]),null}var Cee=_.memo(bBe,vv);function Pee(t){var e=zr();return _.useEffect(()=>{e(uBe(t))},[e,t]),null}function Tq(t){var{zIndex:e,isPanorama:n}=t,r=n?"recharts-zindex-panorama-":"recharts-zindex-",i=zJ("".concat(r).concat(e)),s=zr();return _.useLayoutEffect(()=>(s(POe({zIndex:e,elementId:i,isPanorama:n})),()=>{s(jOe({zIndex:e,isPanorama:n}))}),[s,e,i,n]),_.createElement("g",{tabIndex:-1,id:i})}function Aq(t){var{children:e,isPanorama:n}=t,r=Ht(wOe);if(!r||r.length===0)return e;var i=r.filter(o=>o<0),s=r.filter(o=>o>0);return _.createElement(_.Fragment,null,i.map(o=>_.createElement(Tq,{key:o,zIndex:o,isPanorama:n})),e,s.map(o=>_.createElement(Tq,{key:o,zIndex:o,isPanorama:n})))}var xBe=["children"];function yBe(t,e){if(t==null)return{};var n,r,i=vBe(t,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(r=0;r{var n=YO(),r=QO(),i=aQ();if(!yc(n)||!yc(r))return null;var{children:s,otherAttributes:o,title:l,desc:c}=t,u,d;return o!=null&&(typeof o.tabIndex=="number"?u=o.tabIndex:u=i?0:void 0,typeof o.role=="string"?d=o.role:d=i?"application":void 0),_.createElement(AO,hN({},o,{title:l,desc:c,role:d,tabIndex:u,width:n,height:r,style:wBe,ref:e}),s)}),SBe=t=>{var{children:e}=t,n=Ht(tM);if(!n)return null;var{width:r,height:i,y:s,x:o}=n;return _.createElement(AO,{width:r,height:i,x:o,y:s},e)},Cq=_.forwardRef((t,e)=>{var{children:n}=t,r=yBe(t,xBe),i=aa();return i?_.createElement(SBe,null,_.createElement(Aq,{isPanorama:!0},n)):_.createElement(_Be,hN({ref:e},r),_.createElement(Aq,{isPanorama:!1},n))});function NBe(){var t=zr(),[e,n]=_.useState(null),r=Ht(UTe);return _.useEffect(()=>{if(e!=null){var i=e.getBoundingClientRect(),s=i.width/e.offsetWidth;wr(s)&&s!==r&&t(_Te(s))}},[e,t,r]),n}function Pq(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function kBe(t){for(var e=1;e(aLe(),null);function fN(t){if(typeof t=="number")return t;if(typeof t=="string"){var e=parseFloat(t);if(!Number.isNaN(e))return e}return 0}var CBe=_.forwardRef((t,e)=>{var n,r,i=_.useRef(null),[s,o]=_.useState({containerWidth:fN((n=t.style)===null||n===void 0?void 0:n.width),containerHeight:fN((r=t.style)===null||r===void 0?void 0:r.height)}),l=_.useCallback((u,d)=>{o(h=>{var p=Math.round(u),m=Math.round(d);return h.containerWidth===p&&h.containerHeight===m?h:{containerWidth:p,containerHeight:m}})},[]),c=_.useCallback(u=>{if(typeof e=="function"&&e(u),u!=null&&typeof ResizeObserver<"u"){var{width:d,height:h}=u.getBoundingClientRect();l(d,h);var p=b=>{var{width:y,height:x}=b[0].contentRect;l(y,x)},m=new ResizeObserver(p);m.observe(u),i.current=m}},[e,l]);return _.useEffect(()=>()=>{var u=i.current;u?.disconnect()},[l]),_.createElement(_.Fragment,null,_.createElement(nM,{width:s.containerWidth,height:s.containerHeight}),_.createElement("div",Mm({ref:c},t)))}),PBe=_.forwardRef((t,e)=>{var{width:n,height:r}=t,[i,s]=_.useState({containerWidth:fN(n),containerHeight:fN(r)}),o=_.useCallback((c,u)=>{s(d=>{var h=Math.round(c),p=Math.round(u);return d.containerWidth===h&&d.containerHeight===p?d:{containerWidth:h,containerHeight:p}})},[]),l=_.useCallback(c=>{if(typeof e=="function"&&e(c),c!=null){var{width:u,height:d}=c.getBoundingClientRect();o(u,d)}},[e,o]);return _.createElement(_.Fragment,null,_.createElement(nM,{width:i.containerWidth,height:i.containerHeight}),_.createElement("div",Mm({ref:l},t)))}),jBe=_.forwardRef((t,e)=>{var{width:n,height:r}=t;return _.createElement(_.Fragment,null,_.createElement(nM,{width:n,height:r}),_.createElement("div",Mm({ref:e},t)))}),DBe=_.forwardRef((t,e)=>{var{width:n,height:r}=t;return qu(n)||qu(r)?_.createElement(PBe,Mm({},t,{ref:e})):_.createElement(jBe,Mm({},t,{ref:e}))});function RBe(t){return t===!0?CBe:DBe}var OBe=_.forwardRef((t,e)=>{var{children:n,className:r,height:i,onClick:s,onContextMenu:o,onDoubleClick:l,onMouseDown:c,onMouseEnter:u,onMouseLeave:d,onMouseMove:h,onMouseUp:p,onTouchEnd:m,onTouchMove:b,onTouchStart:y,style:x,width:v,responsive:S,dispatchTouchEvents:N=!0}=t,T=_.useRef(null),M=zr(),[A,k]=_.useState(null),[R,C]=_.useState(null),P=NBe(),U=XO(),F=U?.width>0?U.width:v,H=U?.height>0?U.height:i,D=_.useCallback(se=>{P(se),typeof e=="function"&&e(se),k(se),C(se),se!=null&&(T.current=se)},[P,e,k,C]),$=_.useCallback(se=>{M(yee(se)),M(qo({handler:s,reactEvent:se}))},[M,s]),G=_.useCallback(se=>{M(LD(se)),M(qo({handler:u,reactEvent:se}))},[M,u]),I=_.useCallback(se=>{M(YZ()),M(qo({handler:d,reactEvent:se}))},[M,d]),K=_.useCallback(se=>{M(LD(se)),M(qo({handler:h,reactEvent:se}))},[M,h]),Q=_.useCallback(()=>{M(kee())},[M]),oe=_.useCallback(se=>{M(Nee(se.key))},[M]),B=_.useCallback(se=>{M(qo({handler:o,reactEvent:se}))},[M,o]),W=_.useCallback(se=>{M(qo({handler:l,reactEvent:se}))},[M,l]),J=_.useCallback(se=>{M(qo({handler:c,reactEvent:se}))},[M,c]),ne=_.useCallback(se=>{M(qo({handler:p,reactEvent:se}))},[M,p]),me=_.useCallback(se=>{M(qo({handler:y,reactEvent:se}))},[M,y]),fe=_.useCallback(se=>{N&&M(Eee(se)),M(qo({handler:b,reactEvent:se}))},[M,N,b]),de=_.useCallback(se=>{M(qo({handler:m,reactEvent:se}))},[M,m]),Re=RBe(S);return _.createElement(gJ.Provider,{value:A},_.createElement(NX.Provider,{value:R},_.createElement(Re,{width:F??x?.width,height:H??x?.height,className:nr("recharts-wrapper",r),style:kBe({position:"relative",cursor:"default",width:F,height:H},x),onClick:$,onContextMenu:B,onDoubleClick:W,onFocus:Q,onKeyDown:oe,onMouseDown:J,onMouseEnter:G,onMouseLeave:I,onMouseMove:K,onMouseUp:ne,onTouchEnd:de,onTouchMove:fe,onTouchStart:me,ref:D},_.createElement(ABe,null),n)))}),LBe=["width","height","responsive","children","className","style","compact","title","desc"];function FBe(t,e){if(t==null)return{};var n,r,i=IBe(t,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(r=0;r{var{width:n,height:r,responsive:i,children:s,className:o,style:l,compact:c,title:u,desc:d}=t,h=FBe(t,LBe),p=Ms(h);return c?_.createElement(_.Fragment,null,_.createElement(nM,{width:n,height:r}),_.createElement(Cq,{otherAttributes:p,title:u,desc:d},s)):_.createElement(OBe,{className:o,style:l,width:n,height:r,responsive:i??!1,onClick:t.onClick,onMouseLeave:t.onMouseLeave,onMouseEnter:t.onMouseEnter,onMouseMove:t.onMouseMove,onMouseDown:t.onMouseDown,onMouseUp:t.onMouseUp,onContextMenu:t.onContextMenu,onDoubleClick:t.onDoubleClick,onTouchStart:t.onTouchStart,onTouchMove:t.onTouchMove,onTouchEnd:t.onTouchEnd},_.createElement(Cq,{otherAttributes:p,title:u,desc:d,ref:e},_.createElement(Q5e,null,s)))});function FD(){return FD=Object.assign?Object.assign.bind():function(t){for(var e=1;e_.createElement(A4,{chartName:"LineChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:BBe,tooltipPayloadSearcher:_M,categoricalChartProps:t,ref:e})),$Be=["axis","item"],VBe=_.forwardRef((t,e)=>_.createElement(A4,{chartName:"BarChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:$Be,tooltipPayloadSearcher:_M,categoricalChartProps:t,ref:e}));function GBe(t){var e=zr();return _.useEffect(()=>{e(dBe(t))},[e,t]),null}var qBe=["layout"];function ID(){return ID=Object.assign?Object.assign.bind():function(t){for(var e=1;e{var n=ci(t,t8e);return _.createElement(YBe,{chartName:"PieChart",defaultTooltipEventType:"item",validateTooltipEventTypes:e8e,tooltipPayloadSearcher:_M,categoricalChartProps:n,ref:e})}),r8e=["axis"],i8e=_.forwardRef((t,e)=>_.createElement(A4,{chartName:"AreaChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:r8e,tooltipPayloadSearcher:_M,categoricalChartProps:t,ref:e}));const Rq=[{value:"6h",label:"6h",hours:6},{value:"24h",label:"24h",hours:24},{value:"48h",label:"48h",hours:48},{value:"7d",label:"7d",hours:168}];function a8e({isOpen:t,onClose:e,printerId:n,printerName:r,amsId:i,amsLabel:s,initialMode:o="humidity",thresholds:l}){const{t:c}=Yt(),{mode:u}=Dm(),[d,h]=_.useState("24h"),[p,m]=_.useState(o),b=u==="dark",{data:y}=it({queryKey:["settings"],queryFn:ae.getSettings}),x=y?.time_format||"system";_.useEffect(()=>{if(!t)return;const ne=me=>{me.key==="Escape"&&e()};return window.addEventListener("keydown",ne),()=>window.removeEventListener("keydown",ne)},[t,e]);const v=Rq.find(ne=>ne.value===d)?.hours||24,{data:S,isLoading:N,error:T}=it({queryKey:["ams-history",n,i,v],queryFn:()=>ae.getAMSHistory(n,i,v),enabled:t,refetchInterval:6e4});if(!t)return null;const M=S?.data.map(ne=>{const me=zi(ne.recorded_at)||new Date,fe={hour:"2-digit",minute:"2-digit",...v>24?{day:"numeric",month:"short"}:{}};return{time:me.getTime(),humidity:ne.humidity,temperature:ne.temperature,timeLabel:me.toLocaleTimeString([],S0(fe,x))}})||[],A=l?.humidityGood||40,k=l?.humidityFair||60,R=l?.tempGood||30,C=l?.tempFair||35,P=M[M.length-1],U=P?.humidity,F=P?.temperature,H=ne=>{const me=ne.filter(Fe=>Fe!=null);if(me.length<4)return"stable";const fe=me.slice(0,Math.floor(me.length/4)),de=me.slice(-Math.floor(me.length/4)),Re=fe.reduce((Fe,ce)=>Fe+ce,0)/fe.length,ke=de.reduce((Fe,ce)=>Fe+ce,0)/de.length-Re;return Math.abs(ke)<2?"stable":ke>0?"up":"down"},D=H(M.map(ne=>ne.humidity)),$=H(M.map(ne=>ne.temperature)),G=({trend:ne})=>ne==="up"?a.jsx(Pj,{className:"w-4 h-4 text-red-400"}):ne==="down"?a.jsx(GW,{className:"w-4 h-4 text-green-400"}):a.jsx(Aj,{className:"w-4 h-4 text-gray-400 dark:text-bambu-gray"}),I=ne=>ne==null?"#9ca3af":ne<=A?"#22a352":ne<=k?"#d4a017":"#c62828",K=ne=>ne==null?"#9ca3af":ne<=R?"#22a352":ne<=C?"#d4a017":"#c62828",Q=b?"#2d2d2d":"#ffffff",oe=b?"#1d1d1d":"#f3f4f6",B=b?"#3d3d3d":"#e5e7eb",W=b?"#ffffff":"#111827",J=b?"#9ca3af":"#4b5563";return a.jsx("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50",onClick:e,children:a.jsxs("div",{className:"rounded-xl w-full max-w-4xl max-h-[90vh] overflow-hidden shadow-xl",style:{backgroundColor:Q},onClick:ne=>ne.stopPropagation(),children:[a.jsxs("div",{className:"flex items-center justify-between px-6 py-4 border-b",style:{borderColor:B},children:[a.jsxs("div",{children:[a.jsxs("h2",{className:"text-lg font-semibold",style:{color:W},children:[s," ",c("common.history","History")]}),a.jsx("p",{className:"text-sm",style:{color:J},children:r})]}),a.jsx("button",{onClick:e,className:"p-2 rounded-lg transition-colors",style:{color:J},children:a.jsx(Lt,{className:"w-5 h-5"})})]}),a.jsxs("div",{className:"p-6 space-y-6 overflow-y-auto max-h-[calc(90vh-80px)]",children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{className:"flex gap-1 rounded-lg p-1",style:{backgroundColor:oe},children:[a.jsxs("button",{onClick:()=>m("humidity"),className:`flex items-center gap-2 px-3 py-1.5 text-sm rounded-md transition-colors ${p==="humidity"?"bg-blue-600 text-white":""}`,style:p!=="humidity"?{color:J}:void 0,children:[a.jsx(HR,{className:"w-4 h-4"}),c("common.humidity","Humidity")]}),a.jsxs("button",{onClick:()=>m("temperature"),className:`flex items-center gap-2 px-3 py-1.5 text-sm rounded-md transition-colors ${p==="temperature"?"bg-orange-600 text-white":""}`,style:p!=="temperature"?{color:J}:void 0,children:[a.jsx(Ek,{className:"w-4 h-4"}),c("common.temperature","Temperature")]})]}),a.jsx("div",{className:"flex gap-1 rounded-lg p-1",style:{backgroundColor:oe},children:Rq.map(ne=>a.jsx("button",{onClick:()=>h(ne.value),className:`px-3 py-1 text-sm rounded-md transition-colors ${d===ne.value?"bg-bambu-green text-white":""}`,style:d!==ne.value?{color:J}:void 0,children:ne.label},ne.value))})]}),a.jsx("div",{className:"grid grid-cols-4 gap-4",children:p==="humidity"?a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"rounded-lg p-4",style:{backgroundColor:oe},children:[a.jsx("p",{className:"text-xs",style:{color:J},children:c("common.current","Current")}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("p",{className:"text-2xl font-bold",style:{color:I(U)},children:U!=null?`${U}%`:"—"}),a.jsx(G,{trend:D})]})]}),a.jsxs("div",{className:"rounded-lg p-4",style:{backgroundColor:oe},children:[a.jsx("p",{className:"text-xs",style:{color:J},children:c("common.average","Average")}),a.jsx("p",{className:"text-2xl font-bold",style:{color:W},children:S?.avg_humidity!=null?`${S.avg_humidity}%`:"—"})]}),a.jsxs("div",{className:"rounded-lg p-4",style:{backgroundColor:oe},children:[a.jsx("p",{className:"text-xs",style:{color:J},children:c("common.min","Min")}),a.jsx("p",{className:"text-2xl font-bold text-green-500",children:S?.min_humidity!=null?`${S.min_humidity}%`:"—"})]}),a.jsxs("div",{className:"rounded-lg p-4",style:{backgroundColor:oe},children:[a.jsx("p",{className:"text-xs",style:{color:J},children:c("common.max","Max")}),a.jsx("p",{className:"text-2xl font-bold text-red-500",children:S?.max_humidity!=null?`${S.max_humidity}%`:"—"})]})]}):a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"rounded-lg p-4",style:{backgroundColor:oe},children:[a.jsx("p",{className:"text-xs",style:{color:J},children:c("common.current","Current")}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("p",{className:"text-2xl font-bold",style:{color:K(F)},children:F!=null?`${F}°C`:"—"}),a.jsx(G,{trend:$})]})]}),a.jsxs("div",{className:"rounded-lg p-4",style:{backgroundColor:oe},children:[a.jsx("p",{className:"text-xs",style:{color:J},children:c("common.average","Average")}),a.jsx("p",{className:"text-2xl font-bold",style:{color:W},children:S?.avg_temperature!=null?`${S.avg_temperature}°C`:"—"})]}),a.jsxs("div",{className:"rounded-lg p-4",style:{backgroundColor:oe},children:[a.jsx("p",{className:"text-xs",style:{color:J},children:c("common.min","Min")}),a.jsx("p",{className:"text-2xl font-bold text-blue-500",children:S?.min_temperature!=null?`${S.min_temperature}°C`:"—"})]}),a.jsxs("div",{className:"rounded-lg p-4",style:{backgroundColor:oe},children:[a.jsx("p",{className:"text-xs",style:{color:J},children:c("common.max","Max")}),a.jsx("p",{className:"text-2xl font-bold text-red-500",children:S?.max_temperature!=null?`${S.max_temperature}°C`:"—"})]})]})}),a.jsx("div",{className:"rounded-lg p-4",style:{backgroundColor:oe},children:N?a.jsx("div",{className:"h-[300px] flex items-center justify-center",style:{color:J},children:c("common.loading","Loading...")}):T?a.jsx("div",{className:"h-[300px] flex items-center justify-center text-red-500",children:c("common.error","Error loading data")}):M.length===0?a.jsx("div",{className:"h-[300px] flex items-center justify-center",style:{color:J},children:c("common.noData","No data available for this time range")}):a.jsx(F1,{width:"100%",height:300,children:a.jsxs(HBe,{data:M,children:[a.jsx(lN,{strokeDasharray:"3 3",stroke:b?"#3d3d3d":"#e5e7eb"}),a.jsx(uN,{dataKey:"time",type:"number",domain:["dataMin","dataMax"],tickFormatter:ne=>{const me=new Date(ne);return v>24?me.toLocaleDateString([],{day:"numeric",month:"short"}):me.toLocaleTimeString([],S0({hour:"2-digit",minute:"2-digit"},x))},stroke:b?"#9ca3af":"#6b7280",tick:{fontSize:12}}),a.jsx(dN,{stroke:b?"#9ca3af":"#6b7280",tick:{fontSize:12},domain:p==="humidity"?[0,100]:["auto","auto"],tickFormatter:ne=>p==="humidity"?`${ne}%`:`${ne}°C`}),a.jsx(z1,{contentStyle:{backgroundColor:b?"#2d2d2d":"#ffffff",border:`1px solid ${b?"#3d3d3d":"#e5e7eb"}`,borderRadius:"8px",color:b?"#fff":"#000"},labelFormatter:ne=>new Date(ne).toLocaleString(void 0,S0({year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"},x)),formatter:ne=>[p==="humidity"?`${ne??0}%`:`${ne??0}°C`,p==="humidity"?"Humidity":"Temperature"]}),a.jsx(eL,{}),p==="humidity"?a.jsxs(a.Fragment,{children:[a.jsx(m0,{y:A,stroke:"#22a352",strokeDasharray:"5 5",label:{value:"Good",fill:"#22a352",fontSize:10}}),a.jsx(m0,{y:k,stroke:"#d4a017",strokeDasharray:"5 5",label:{value:"Fair",fill:"#d4a017",fontSize:10}})]}):a.jsxs(a.Fragment,{children:[a.jsx(m0,{y:R,stroke:"#22a352",strokeDasharray:"5 5",label:{value:"Good",fill:"#22a352",fontSize:10}}),a.jsx(m0,{y:C,stroke:"#d4a017",strokeDasharray:"5 5",label:{value:"Fair",fill:"#d4a017",fontSize:10}})]}),a.jsx(cee,{type:"monotone",dataKey:p,name:p==="humidity"?"Humidity":"Temperature",stroke:p==="humidity"?"#3b82f6":"#f97316",strokeWidth:2,dot:!1,activeDot:{r:4}})]})})}),a.jsx("div",{className:"text-xs text-center",style:{color:J},children:c("amsHistory.recordingInfo","Data is recorded every 5 minutes while the printer is connected")})]})]})})}function fP({data:t,children:e,disabled:n,className:r="",spoolman:i,configureSlot:s}){const{t:o}=Yt(),[l,c]=_.useState(!1),[u,d]=_.useState("top"),[h,p]=_.useState(!1),m=_.useRef(null),b=_.useRef(null),y=_.useRef(null),x=()=>{const k=t.trayUuid;k&&(navigator.clipboard&&window.isSecureContext?navigator.clipboard.writeText(k).then(()=>{p(!0),setTimeout(()=>p(!1),2e3)}).catch(()=>{v(k)}):v(k))},v=k=>{const R=document.createElement("textarea");R.value=k,R.style.position="fixed",R.style.opacity="0",document.body.appendChild(R),R.select();try{document.execCommand("copy"),p(!0),setTimeout(()=>p(!1),2e3)}catch{console.error("Failed to copy to clipboard")}document.body.removeChild(R)};_.useEffect(()=>{if(l&&m.current&&b.current){const k=m.current.getBoundingClientRect(),R=b.current.offsetHeight,P=k.top-56,U=window.innerHeight-k.bottom;PP?d("bottom"):d("top")}},[l]);const S=()=>{n||(y.current&&clearTimeout(y.current),y.current=setTimeout(()=>c(!0),80))},N=()=>{y.current&&clearTimeout(y.current),y.current=setTimeout(()=>c(!1),100)};_.useEffect(()=>()=>{y.current&&clearTimeout(y.current)},[]);const T=k=>k<=15?"#ef4444":k<=30?"#f97316":k<=50?"#eab308":"#22c55e",M=k=>{if(!k)return!1;const R=k.replace("#",""),C=parseInt(R.slice(0,2),16),P=parseInt(R.slice(2,4),16),U=parseInt(R.slice(4,6),16);return(.299*C+.587*P+.114*U)/255>.6},A=t.colorHex?`#${t.colorHex.replace("#","")}`:null;return a.jsxs("div",{ref:m,className:`relative ${r}`,onMouseEnter:S,onMouseLeave:N,children:[e,l&&a.jsxs("div",{ref:b,className:`
+ `).concat(T.x,",").concat(T.y),A=Yr(t.id)?uy("recharts-radial-line-"):t.id;return _.createElement("text",yu({},r,{dominantBaseline:"central",className:nr("recharts-radial-bar-label",o)}),_.createElement("defs",null,_.createElement("path",{id:A,d:M})),_.createElement("textPath",{xlinkHref:"#".concat(A)},n))},YLe=(t,e,n)=>{var{cx:r,cy:i,innerRadius:s,outerRadius:o,startAngle:l,endAngle:c}=t,u=(l+c)/2;if(n==="outside"){var{x:d,y:h}=Bi(r,i,o+e,u);return{x:d,y:h,textAnchor:d>=r?"start":"end",verticalAnchor:"middle"}}if(n==="center")return{x:r,y:i,textAnchor:"middle",verticalAnchor:"middle"};if(n==="centerTop")return{x:r,y:i,textAnchor:"middle",verticalAnchor:"start"};if(n==="centerBottom")return{x:r,y:i,textAnchor:"middle",verticalAnchor:"end"};var p=(s+o)/2,{x:m,y:b}=Bi(r,i,p,u);return{x:m,y:b,textAnchor:"middle",verticalAnchor:"middle"}},CD=t=>"cx"in t&&Vt(t.cx),QLe=(t,e)=>{var{parentViewBox:n,offset:r,position:i}=t,s;n!=null&&!CD(n)&&(s=n);var{x:o,y:l,upperWidth:c,lowerWidth:u,height:d}=e,h=o,p=o+(c-u)/2,m=(h+p)/2,b=(c+u)/2,y=h+c/2,x=d>=0?1:-1,v=x*r,S=x>0?"end":"start",N=x>0?"start":"end",T=c>=0?1:-1,M=T*r,A=T>0?"end":"start",k=T>0?"start":"end";if(i==="top"){var R={x:h+c/2,y:l-v,textAnchor:"middle",verticalAnchor:S};return Mi(Mi({},R),s?{height:Math.max(l-s.y,0),width:c}:{})}if(i==="bottom"){var C={x:p+u/2,y:l+d+v,textAnchor:"middle",verticalAnchor:N};return Mi(Mi({},C),s?{height:Math.max(s.y+s.height-(l+d),0),width:u}:{})}if(i==="left"){var P={x:m-M,y:l+d/2,textAnchor:A,verticalAnchor:"middle"};return Mi(Mi({},P),s?{width:Math.max(P.x-s.x,0),height:d}:{})}if(i==="right"){var U={x:m+b+M,y:l+d/2,textAnchor:k,verticalAnchor:"middle"};return Mi(Mi({},U),s?{width:Math.max(s.x+s.width-U.x,0),height:d}:{})}var F=s?{width:b,height:d}:{};return i==="insideLeft"?Mi({x:m+M,y:l+d/2,textAnchor:k,verticalAnchor:"middle"},F):i==="insideRight"?Mi({x:m+b-M,y:l+d/2,textAnchor:A,verticalAnchor:"middle"},F):i==="insideTop"?Mi({x:h+c/2,y:l+v,textAnchor:"middle",verticalAnchor:N},F):i==="insideBottom"?Mi({x:p+u/2,y:l+d-v,textAnchor:"middle",verticalAnchor:S},F):i==="insideTopLeft"?Mi({x:h+M,y:l+v,textAnchor:k,verticalAnchor:N},F):i==="insideTopRight"?Mi({x:h+c-M,y:l+v,textAnchor:A,verticalAnchor:N},F):i==="insideBottomLeft"?Mi({x:p+M,y:l+d-v,textAnchor:k,verticalAnchor:S},F):i==="insideBottomRight"?Mi({x:p+u-M,y:l+d-v,textAnchor:A,verticalAnchor:S},F):i&&typeof i=="object"&&(Vt(i.x)||qu(i.x))&&(Vt(i.y)||qu(i.y))?Mi({x:o+as(i.x,b),y:l+as(i.y,d),textAnchor:"end",verticalAnchor:"end"},F):Mi({x:y,y:l+d/2,textAnchor:"middle",verticalAnchor:"middle"},F)},ZLe={angle:0,offset:5,zIndex:vi.label,position:"middle",textBreakAll:!1};function Zd(t){var e=ci(t,ZLe),{viewBox:n,position:r,value:i,children:s,content:o,className:l="",textBreakAll:c,labelRef:u}=e,d=qLe(),h=AJ(),p=r==="center"?h:d??h,m,b,y;if(n==null?m=p:CD(n)?m=n:m=WY(n),!m||Yr(i)&&Yr(s)&&!_.isValidElement(o)&&typeof o!="function")return null;var x=Mi(Mi({},e),{},{viewBox:m});if(_.isValidElement(o)){var{labelRef:v}=x,S=ULe(x,zLe);return _.cloneElement(o,S)}if(typeof o=="function"){if(b=_.createElement(o,x),_.isValidElement(b))return b}else b=WLe(e);var N=Ga(e);if(CD(m)){if(r==="insideStart"||r==="insideEnd"||r==="end")return XLe(e,r,b,N,m);y=YLe(m,e.offset,e.position)}else y=QLe(e,m);return _.createElement(ls,{zIndex:e.zIndex},_.createElement(SM,yu({ref:u,className:nr("recharts-label",l)},N,y,{textAnchor:RLe(N.textAnchor)?N.textAnchor:y.textAnchor,breakAll:c}),b))}Zd.displayName="Label";var JLe=(t,e,n)=>{if(!t)return null;var r={viewBox:e,labelRef:n};return t===!0?_.createElement(Zd,yu({key:"label-implicit"},r)):fl(t)?_.createElement(Zd,yu({key:"label-implicit",value:t},r)):_.isValidElement(t)?t.type===Zd?_.cloneElement(t,Mi({key:"label-implicit"},r)):_.createElement(Zd,yu({key:"label-implicit",content:t},r)):u4(t)?_.createElement(Zd,yu({key:"label-implicit",content:t},r)):t&&typeof t=="object"?_.createElement(Zd,yu({},t,{key:"label-implicit"},r)):null};function CJ(t){var{label:e,labelRef:n}=t,r=AJ();return JLe(e,r,n)||null}var JC={},eP={},RG;function e4e(){return RG||(RG=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});function e(n){return n[n.length-1]}t.last=e})(eP)),eP}var tP={},OG;function t4e(){return OG||(OG=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});function e(n){return Array.isArray(n)?n:Array.from(n)}t.toArray=e})(tP)),tP}var LG;function n4e(){return LG||(LG=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const e=e4e(),n=t4e(),r=IO();function i(s){if(r.isArrayLike(s))return e.last(n.toArray(s))}t.last=i})(JC)),JC}var nP,FG;function r4e(){return FG||(FG=1,nP=n4e().last),nP}var i4e=r4e();const a4e=gl(i4e);var s4e=["valueAccessor"],o4e=["dataKey","clockWise","id","textBreakAll","zIndex"];function JS(){return JS=Object.assign?Object.assign.bind():function(t){for(var e=1;eArray.isArray(t.value)?a4e(t.value):t.value,PJ=_.createContext(void 0),d4=PJ.Provider,jJ=_.createContext(void 0),u4e=jJ.Provider;function d4e(){return _.useContext(PJ)}function h4e(){return _.useContext(jJ)}function U1(t){var{valueAccessor:e=c4e}=t,n=IG(t,s4e),{dataKey:r,clockWise:i,id:s,textBreakAll:o,zIndex:l}=n,c=IG(n,o4e),u=d4e(),d=h4e(),h=u||d;return!h||!h.length?null:_.createElement(ls,{zIndex:l??vi.label},_.createElement(li,{className:"recharts-label-list"},h.map((p,m)=>{var b,y=Yr(r)?e(p,m):vr(p&&p.payload,r),x=Yr(s)?{}:{id:"".concat(s,"-").concat(m)};return _.createElement(Zd,JS({key:"label-".concat(m)},Ga(p),c,x,{fill:(b=n.fill)!==null&&b!==void 0?b:p.fill,parentViewBox:p.parentViewBox,value:y,textBreakAll:o,viewBox:p.viewBox,index:m,zIndex:0}))})))}U1.displayName="LabelList";function NM(t){var{label:e}=t;return e?e===!0?_.createElement(U1,{key:"labelList-implicit"}):_.isValidElement(e)||u4(e)?_.createElement(U1,{key:"labelList-implicit",content:e}):typeof e=="object"?_.createElement(U1,JS({key:"labelList-implicit"},e,{type:String(e.type)})):null:null}function PD(){return PD=Object.assign?Object.assign.bind():function(t){for(var e=1;e{var{cx:e,cy:n,r,className:i}=t,s=nr("recharts-dot",i);return Vt(e)&&Vt(n)&&Vt(r)?_.createElement("circle",PD({},Ms(t),FO(t),{className:s,cx:e,cy:n,r})):null},RJ=t=>t.graphicalItems.polarItems,f4e=st([ii,cv],RL),kM=st([RJ,ui,f4e],OL),m4e=st([kM],LL),MM=st([m4e,NL],FL),p4e=st([MM,ui,kM],zL);st([MM,ui,kM],(t,e,n)=>n.length>0?t.flatMap(r=>n.flatMap(i=>{var s,o=vr(r,(s=e.dataKey)!==null&&s!==void 0?s:i.dataKey);return{value:o,errorDomain:[]}})).filter(Boolean):e?.dataKey!=null?t.map(r=>({value:vr(r,e.dataKey),errorDomain:[]})):t.map(r=>({value:r,errorDomain:[]})));var zG=()=>{},g4e=st([MM,ui,kM,yM,ii],$L),b4e=st([ui,BL,HL,zG,g4e,zG,Kn,ii],VL),OJ=st([ui,Kn,MM,p4e,lv,ii,b4e],GL),x4e=st([OJ,ui,Fb],KL);st([ui,OJ,x4e,ii],YL);var y4e={radiusAxis:{},angleAxis:{}},LJ=Qs({name:"polarAxis",initialState:y4e,reducers:{addRadiusAxis(t,e){t.radiusAxis[e.payload.id]=e.payload},removeRadiusAxis(t,e){delete t.radiusAxis[e.payload.id]},addAngleAxis(t,e){t.angleAxis[e.payload.id]=e.payload},removeAngleAxis(t,e){delete t.angleAxis[e.payload.id]}}}),{addRadiusAxis:gQe,removeRadiusAxis:bQe,addAngleAxis:xQe,removeAngleAxis:yQe}=LJ.actions,v4e=LJ.reducer;function UG(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function BG(t){for(var e=1;ee,h4=st([RJ,N4e],(t,e)=>t.filter(n=>n.type==="pie").find(n=>n.id===e)),k4e=[],f4=(t,e,n)=>n?.length===0?k4e:n,FJ=st([NL,h4,f4],(t,e,n)=>{var{chartData:r}=t;if(e!=null){var i;if(e?.data!=null&&e.data.length>0?i=e.data:i=r,(!i||!i.length)&&n!=null&&(i=n.map(s=>BG(BG({},e.presentationProps),s.props))),i!=null)return i}}),M4e=st([FJ,h4,f4],(t,e,n)=>{if(!(t==null||e==null))return t.map((r,i)=>{var s,o=vr(r,e.nameKey,e.name),l;return n!=null&&(s=n[i])!==null&&s!==void 0&&(s=s.props)!==null&&s!==void 0&&s.fill?l=n[i].props.fill:typeof r=="object"&&r!=null&&"fill"in r?l=r.fill:l=e.fill,{value:Hh(o,e.dataKey),color:l,payload:r,type:e.legendType}})}),E4e=st([FJ,h4,f4,ia],(t,e,n,r)=>{if(!(e==null||t==null))return TFe({offset:r,pieSettings:e,displayedData:t,cells:n})}),rP={exports:{}},Mr={};var HG;function T4e(){if(HG)return Mr;HG=1;var t=Symbol.for("react.transitional.element"),e=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),s=Symbol.for("react.consumer"),o=Symbol.for("react.context"),l=Symbol.for("react.forward_ref"),c=Symbol.for("react.suspense"),u=Symbol.for("react.suspense_list"),d=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),p=Symbol.for("react.view_transition"),m=Symbol.for("react.client.reference");function b(y){if(typeof y=="object"&&y!==null){var x=y.$$typeof;switch(x){case t:switch(y=y.type,y){case n:case i:case r:case c:case u:case p:return y;default:switch(y=y&&y.$$typeof,y){case o:case l:case h:case d:return y;case s:return y;default:return x}}case e:return x}}}return Mr.ContextConsumer=s,Mr.ContextProvider=o,Mr.Element=t,Mr.ForwardRef=l,Mr.Fragment=n,Mr.Lazy=h,Mr.Memo=d,Mr.Portal=e,Mr.Profiler=i,Mr.StrictMode=r,Mr.Suspense=c,Mr.SuspenseList=u,Mr.isContextConsumer=function(y){return b(y)===s},Mr.isContextProvider=function(y){return b(y)===o},Mr.isElement=function(y){return typeof y=="object"&&y!==null&&y.$$typeof===t},Mr.isForwardRef=function(y){return b(y)===l},Mr.isFragment=function(y){return b(y)===n},Mr.isLazy=function(y){return b(y)===h},Mr.isMemo=function(y){return b(y)===d},Mr.isPortal=function(y){return b(y)===e},Mr.isProfiler=function(y){return b(y)===i},Mr.isStrictMode=function(y){return b(y)===r},Mr.isSuspense=function(y){return b(y)===c},Mr.isSuspenseList=function(y){return b(y)===u},Mr.isValidElementType=function(y){return typeof y=="string"||typeof y=="function"||y===n||y===i||y===r||y===c||y===u||typeof y=="object"&&y!==null&&(y.$$typeof===h||y.$$typeof===d||y.$$typeof===o||y.$$typeof===s||y.$$typeof===l||y.$$typeof===m||y.getModuleId!==void 0)},Mr.typeOf=b,Mr}var $G;function A4e(){return $G||($G=1,rP.exports=T4e()),rP.exports}var C4e=A4e(),VG=t=>typeof t=="string"?t:t?t.displayName||t.name||"Component":"",GG=null,iP=null,IJ=t=>{if(t===GG&&Array.isArray(iP))return iP;var e=[];return _.Children.forEach(t,n=>{Yr(n)||(C4e.isFragment(n)?e=e.concat(IJ(n.props.children)):e.push(n))}),iP=e,GG=t,e};function m4(t,e){var n=[],r=[];return Array.isArray(e)?r=e.map(i=>VG(i)):r=[VG(e)],IJ(t).forEach(i=>{var s=wm(i,"type.displayName")||wm(i,"type.name");s&&r.indexOf(s)!==-1&&n.push(i)}),n}var p4=t=>t&&typeof t=="object"&&"clipDot"in t?!!t.clipDot:!0,aP={},qG;function P4e(){return qG||(qG=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});function e(n){if(typeof n!="object"||n==null)return!1;if(Object.getPrototypeOf(n)===null)return!0;if(Object.prototype.toString.call(n)!=="[object Object]"){const i=n[Symbol.toStringTag];return i==null||!Object.getOwnPropertyDescriptor(n,Symbol.toStringTag)?.writable?!1:n.toString()===`[object ${i}]`}let r=n;for(;Object.getPrototypeOf(r)!==null;)r=Object.getPrototypeOf(r);return Object.getPrototypeOf(n)===r}t.isPlainObject=e})(aP)),aP}var sP,WG;function j4e(){return WG||(WG=1,sP=P4e().isPlainObject),sP}var D4e=j4e();const R4e=gl(D4e);function KG(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function XG(t){for(var e=1;e{var s=n-r,o;return o="M ".concat(t,",").concat(e),o+="L ".concat(t+n,",").concat(e),o+="L ".concat(t+n-s/2,",").concat(e+i),o+="L ".concat(t+n-s/2-r,",").concat(e+i),o+="L ".concat(t,",").concat(e," Z"),o},I4e={x:0,y:0,upperWidth:0,lowerWidth:0,height:0,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},z4e=t=>{var e=ci(t,I4e),{x:n,y:r,upperWidth:i,lowerWidth:s,height:o,className:l}=e,{animationEasing:c,animationDuration:u,animationBegin:d,isUpdateAnimationActive:h}=e,p=_.useRef(null),[m,b]=_.useState(-1),y=_.useRef(i),x=_.useRef(s),v=_.useRef(o),S=_.useRef(n),N=_.useRef(r),T=Pb(t,"trapezoid-");if(_.useEffect(()=>{if(p.current&&p.current.getTotalLength)try{var D=p.current.getTotalLength();D&&b(D)}catch{}},[]),n!==+n||r!==+r||i!==+i||s!==+s||o!==+o||i===0&&s===0||o===0)return null;var M=nr("recharts-trapezoid",l);if(!h)return _.createElement("g",null,_.createElement("path",eN({},Ga(e),{className:M,d:YG(n,r,i,s,o)})));var A=y.current,k=x.current,R=v.current,C=S.current,P=N.current,U="0px ".concat(m===-1?1:m,"px"),F="".concat(m,"px 0px"),H=sQ(["strokeDasharray"],u,c);return _.createElement(Cb,{animationId:T,key:T,canBegin:m>0,duration:u,easing:c,isActive:h,begin:d},D=>{var $=pr(A,i,D),G=pr(k,s,D),I=pr(R,o,D),K=pr(C,n,D),Q=pr(P,r,D);p.current&&(y.current=$,x.current=G,v.current=I,S.current=K,N.current=Q);var oe=D>0?{transition:H,strokeDasharray:F}:{strokeDasharray:U};return _.createElement("path",eN({},Ga(e),{className:M,d:YG(K,Q,$,G,I),ref:p,style:XG(XG({},oe),e.style)}))})},U4e=["option","shapeType","propTransformer","activeClassName"];function B4e(t,e){if(t==null)return{};var n,r,i=H4e(t,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(r=0;r{var r=zr();return(i,s)=>o=>{t?.(i,s,o),r(XZ({activeIndex:String(s),activeDataKey:e,activeCoordinate:i.tooltipPosition,activeGraphicalItemId:n}))}},x4=t=>{var e=zr();return(n,r)=>i=>{t?.(n,r,i),e(cRe())}},y4=(t,e,n)=>{var r=zr();return(i,s)=>o=>{t?.(i,s,o),r(uRe({activeIndex:String(s),activeDataKey:e,activeCoordinate:i.tooltipPosition,activeGraphicalItemId:n}))}};function EM(t){var{tooltipEntrySettings:e}=t,n=zr(),r=aa(),i=_.useRef(null);return _.useLayoutEffect(()=>{r||(i.current===null?n(aRe(e)):i.current!==e&&n(sRe({prev:i.current,next:e})),i.current=e)},[e,n,r]),_.useLayoutEffect(()=>()=>{i.current&&(n(oRe(i.current)),i.current=null)},[n]),null}function v4(t){var{legendPayload:e}=t,n=zr(),r=aa(),i=_.useRef(null);return _.useLayoutEffect(()=>{r||(i.current===null?n(nQ(e)):i.current!==e&&n(rQ({prev:i.current,next:e})),i.current=e)},[n,r,e]),_.useLayoutEffect(()=>()=>{i.current&&(n(iQ(i.current)),i.current=null)},[n]),null}function X4e(t){var{legendPayload:e}=t,n=zr(),r=Ht(Kn),i=_.useRef(null);return _.useLayoutEffect(()=>{r!=="centric"&&r!=="radial"||(i.current===null?n(nQ(e)):i.current!==e&&n(rQ({prev:i.current,next:e})),i.current=e)},[n,r,e]),_.useLayoutEffect(()=>()=>{i.current&&(n(iQ(i.current)),i.current=null)},[n]),null}var oP,Y4e=()=>{var[t]=_.useState(()=>uy("uid-"));return t},Q4e=(oP=tse.useId)!==null&&oP!==void 0?oP:Y4e;function zJ(t,e){var n=Q4e();return e||(t?"".concat(t,"-").concat(n):n)}var Z4e=_.createContext(void 0),TM=t=>{var{id:e,type:n,children:r}=t,i=zJ("recharts-".concat(n),e);return _.createElement(Z4e.Provider,{value:i},r(i))},J4e={cartesianItems:[],polarItems:[]},UJ=Qs({name:"graphicalItems",initialState:J4e,reducers:{addCartesianGraphicalItem:{reducer(t,e){t.cartesianItems.push(e.payload)},prepare:Jr()},replaceCartesianGraphicalItem:{reducer(t,e){var{prev:n,next:r}=e.payload,i=Il(t).cartesianItems.indexOf(n);i>-1&&(t.cartesianItems[i]=r)},prepare:Jr()},removeCartesianGraphicalItem:{reducer(t,e){var n=Il(t).cartesianItems.indexOf(e.payload);n>-1&&t.cartesianItems.splice(n,1)},prepare:Jr()},addPolarGraphicalItem:{reducer(t,e){t.polarItems.push(e.payload)},prepare:Jr()},removePolarGraphicalItem:{reducer(t,e){var n=Il(t).polarItems.indexOf(e.payload);n>-1&&t.polarItems.splice(n,1)},prepare:Jr()}}}),{addCartesianGraphicalItem:eFe,replaceCartesianGraphicalItem:tFe,removeCartesianGraphicalItem:nFe,addPolarGraphicalItem:rFe,removePolarGraphicalItem:iFe}=UJ.actions,aFe=UJ.reducer,sFe=t=>{var e=zr(),n=_.useRef(null);return _.useLayoutEffect(()=>{n.current===null?e(eFe(t)):n.current!==t&&e(tFe({prev:n.current,next:t})),n.current=t},[e,t]),_.useLayoutEffect(()=>()=>{n.current&&(e(nFe(n.current)),n.current=null)},[e]),null},w4=_.memo(sFe);function oFe(t){var e=zr();return _.useLayoutEffect(()=>(e(rFe(t)),()=>{e(iFe(t))}),[e,t]),null}var lFe=["key"],cFe=["onMouseEnter","onClick","onMouseLeave"],uFe=["id"],dFe=["id"];function JG(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function gi(t){for(var e=1;em4(t.children,yv),[t.children]),n=Ht(r=>M4e(r,t.id,e));return n==null?null:_.createElement(X4e,{legendPayload:n})}var bFe=_.memo(t=>{var{dataKey:e,nameKey:n,sectors:r,stroke:i,strokeWidth:s,fill:o,name:l,hide:c,tooltipType:u}=t,d={dataDefinedOnItem:r.map(h=>h.tooltipPayload),positions:r.map(h=>h.tooltipPosition),settings:{stroke:i,strokeWidth:s,fill:o,dataKey:e,nameKey:n,name:Hh(l,e),hide:c,type:u,color:o,unit:""}};return _.createElement(EM,{tooltipEntrySettings:d})}),xFe=(t,e)=>t>e?"start":tas(typeof e=="function"?e(t):e,n,n*.8),vFe=(t,e,n)=>{var{top:r,left:i,width:s,height:o}=e,l=dQ(s,o),c=i+as(t.cx,s,s/2),u=r+as(t.cy,o,o/2),d=as(t.innerRadius,l,0),h=yFe(n,t.outerRadius,l),p=t.maxRadius||Math.sqrt(s*s+o*o)/2;return{cx:c,cy:u,innerRadius:d,outerRadius:h,maxRadius:p}},wFe=(t,e)=>{var n=wa(e-t),r=Math.min(Math.abs(e-t),360);return n*r};function _Fe(t){return t&&typeof t=="object"&&"className"in t&&typeof t.className=="string"?t.className:""}var SFe=(t,e)=>{if(_.isValidElement(t))return _.cloneElement(t,e);if(typeof t=="function")return t(e);var n=nr("recharts-pie-label-line",typeof t!="boolean"?t.className:""),{key:r}=e,i=AM(e,lFe);return _.createElement(Lg,zh({},i,{type:"linear",className:n}))},NFe=(t,e,n)=>{if(_.isValidElement(t))return _.cloneElement(t,e);var r=n;if(typeof t=="function"&&(r=t(e),_.isValidElement(r)))return r;var i=nr("recharts-pie-label-text",_Fe(t));return _.createElement(SM,zh({},e,{alignmentBaseline:"middle",className:i}),r)};function kFe(t){var{sectors:e,props:n,showLabels:r}=t,{label:i,labelLine:s,dataKey:o}=n;if(!r||!i||!e)return null;var l=Ms(n),c=vm(i),u=vm(s),d=typeof i=="object"&&"offsetRadius"in i&&typeof i.offsetRadius=="number"&&i.offsetRadius||20,h=e.map((p,m)=>{var b=(p.startAngle+p.endAngle)/2,y=Bi(p.cx,p.cy,p.outerRadius+d,b),x=gi(gi(gi(gi({},l),p),{},{stroke:"none"},c),{},{index:m,textAnchor:xFe(y.x,p.cx)},y),v=gi(gi(gi(gi({},l),p),{},{fill:"none",stroke:p.fill},u),{},{index:m,points:[Bi(p.cx,p.cy,p.outerRadius,b),y],key:"line"});return _.createElement(ls,{zIndex:vi.label,key:"label-".concat(p.startAngle,"-").concat(p.endAngle,"-").concat(p.midAngle,"-").concat(m)},_.createElement(li,null,s&&SFe(s,v),NFe(i,x,vr(p,o))))});return _.createElement(li,{className:"recharts-pie-labels"},h)}function MFe(t){var{sectors:e,props:n,showLabels:r}=t,{label:i}=n;return typeof i=="object"&&i!=null&&"position"in i?_.createElement(NM,{label:i}):_.createElement(kFe,{sectors:e,props:n,showLabels:r})}function EFe(t){var{sectors:e,activeShape:n,inactiveShape:r,allOtherPieProps:i,shape:s,id:o}=t,l=Ht(Ih),c=Ht(a4),u=Ht(XRe),{onMouseEnter:d,onClick:h,onMouseLeave:p}=i,m=AM(i,cFe),b=b4(d,i.dataKey,o),y=x4(p),x=y4(h,i.dataKey,o);return e==null||e.length===0?null:_.createElement(_.Fragment,null,e.map((v,S)=>{if(v?.startAngle===0&&v?.endAngle===0&&e.length!==1)return null;var N=u==null||u===o,T=String(S)===l&&(c==null||i.dataKey===c)&&N,M=l?r:null,A=n&&T?n:M,k=gi(gi({},v),{},{stroke:v.stroke,tabIndex:-1,[HY]:S,[$Y]:i.dataKey});return _.createElement(li,zh({key:"sector-".concat(v?.startAngle,"-").concat(v?.endAngle,"-").concat(v.midAngle,"-").concat(S),tabIndex:-1,className:"recharts-pie-sector"},Yy(m,v,S),{onMouseEnter:b(v,S),onMouseLeave:y(v,S),onClick:x(v,S)}),_.createElement(g4,zh({option:s??A,index:S,shapeType:"sector",isActive:T},k)))}))}function TFe(t){var e,{pieSettings:n,displayedData:r,cells:i,offset:s}=t,{cornerRadius:o,startAngle:l,endAngle:c,dataKey:u,nameKey:d,tooltipType:h}=n,p=Math.abs(n.minAngle),m=wFe(l,c),b=Math.abs(m),y=r.length<=1?0:(e=n.paddingAngle)!==null&&e!==void 0?e:0,x=r.filter(A=>vr(A,u,0)!==0).length,v=(b>=360?x:x-1)*y,S=b-x*p-v,N=r.reduce((A,k)=>{var R=vr(k,u,0);return A+(Vt(R)?R:0)},0),T;if(N>0){var M;T=r.map((A,k)=>{var R=vr(A,u,0),C=vr(A,d,k),P=vFe(n,s,A),U=(Vt(R)?R:0)/N,F,H=gi(gi({},A),i&&i[k]&&i[k].props);k?F=M.endAngle+wa(m)*y*(R!==0?1:0):F=l;var D=F+wa(m)*((R!==0?p:0)+U*S),$=(F+D)/2,G=(P.innerRadius+P.outerRadius)/2,I=[{name:C,value:R,payload:H,dataKey:u,type:h}],K=Bi(P.cx,P.cy,G,$);return M=gi(gi(gi(gi({},n.presentationProps),{},{percent:U,cornerRadius:typeof o=="string"?parseFloat(o):o,name:C,tooltipPayload:I,midAngle:$,middleRadius:G,tooltipPosition:K},H),P),{},{value:R,dataKey:u,startAngle:F,endAngle:D,payload:H,paddingAngle:wa(m)*y}),M})}return T}function AFe(t){var{showLabels:e,sectors:n,children:r}=t,i=_.useMemo(()=>!e||!n?[]:n.map(s=>({value:s.value,payload:s.payload,clockWise:!1,parentViewBox:void 0,viewBox:{cx:s.cx,cy:s.cy,innerRadius:s.innerRadius,outerRadius:s.outerRadius,startAngle:s.startAngle,endAngle:s.endAngle,clockWise:!1},fill:s.fill})),[n,e]);return _.createElement(u4e,{value:e?i:void 0},r)}function CFe(t){var{props:e,previousSectorsRef:n,id:r}=t,{sectors:i,isAnimationActive:s,animationBegin:o,animationDuration:l,animationEasing:c,activeShape:u,inactiveShape:d,onAnimationStart:h,onAnimationEnd:p}=e,m=Pb(e,"recharts-pie-"),b=n.current,[y,x]=_.useState(!1),v=_.useCallback(()=>{typeof p=="function"&&p(),x(!1)},[p]),S=_.useCallback(()=>{typeof h=="function"&&h(),x(!0)},[h]);return _.createElement(AFe,{showLabels:!y,sectors:i},_.createElement(Cb,{animationId:m,begin:o,duration:l,isActive:s,easing:c,onAnimationStart:S,onAnimationEnd:v,key:m},N=>{var T=[],M=i&&i[0],A=M?.startAngle;return i?.forEach((k,R)=>{var C=b&&b[R],P=R>0?wm(k,"paddingAngle",0):0;if(C){var U=pr(C.endAngle-C.startAngle,k.endAngle-k.startAngle,N),F=gi(gi({},k),{},{startAngle:A+P,endAngle:A+U+P});T.push(F),A=F.endAngle}else{var{endAngle:H,startAngle:D}=k,$=pr(0,H-D,N),G=gi(gi({},k),{},{startAngle:A+P,endAngle:A+$+P});T.push(G),A=G.endAngle}}),n.current=T,_.createElement(li,null,_.createElement(EFe,{sectors:T,activeShape:u,inactiveShape:d,allOtherPieProps:e,shape:e.shape,id:r}))}),_.createElement(MFe,{showLabels:!y,sectors:i,props:e}),e.children)}var PFe={animationBegin:400,animationDuration:1500,animationEasing:"ease",cx:"50%",cy:"50%",dataKey:"value",endAngle:360,fill:"#808080",hide:!1,innerRadius:0,isAnimationActive:"auto",label:!1,labelLine:!0,legendType:"rect",minAngle:0,nameKey:"name",outerRadius:"80%",paddingAngle:0,rootTabIndex:0,startAngle:0,stroke:"#fff",zIndex:vi.area};function jFe(t){var{id:e}=t,n=AM(t,uFe),{hide:r,className:i,rootTabIndex:s}=t,o=_.useMemo(()=>m4(t.children,yv),[t.children]),l=Ht(d=>E4e(d,e,o)),c=_.useRef(null),u=nr("recharts-pie",i);return r||l==null?(c.current=null,_.createElement(li,{tabIndex:s,className:u})):_.createElement(ls,{zIndex:t.zIndex},_.createElement(bFe,{dataKey:t.dataKey,nameKey:t.nameKey,sectors:l,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,tooltipType:t.tooltipType}),_.createElement(li,{tabIndex:s,className:u},_.createElement(CFe,{props:gi(gi({},n),{},{sectors:l}),previousSectorsRef:c,id:e})))}function BJ(t){var e=ci(t,PFe),{id:n}=e,r=AM(e,dFe),i=Ms(r);return _.createElement(TM,{id:n,type:"pie"},s=>_.createElement(_.Fragment,null,_.createElement(oFe,{type:"pie",id:s,data:r.data,dataKey:r.dataKey,hide:r.hide,angleAxisId:0,radiusAxisId:0,name:r.name,nameKey:r.nameKey,tooltipType:r.tooltipType,legendType:r.legendType,fill:r.fill,cx:r.cx,cy:r.cy,startAngle:r.startAngle,endAngle:r.endAngle,paddingAngle:r.paddingAngle,minAngle:r.minAngle,innerRadius:r.innerRadius,outerRadius:r.outerRadius,cornerRadius:r.cornerRadius,presentationProps:i,maxRadius:e.maxRadius}),_.createElement(gFe,zh({},r,{id:s})),_.createElement(jFe,zh({},r,{id:s}))))}BJ.displayName="Pie";var DFe=["points"];function eq(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function lP(t){for(var e=1;e{var x,v,S=lP(lP(lP({r:3},o),h),{},{index:y,cx:(x=b.x)!==null&&x!==void 0?x:void 0,cy:(v=b.y)!==null&&v!==void 0?v:void 0,dataKey:s,value:b.value,payload:b.payload,points:e});return _.createElement(zFe,{key:"dot-".concat(y),option:n,dotProps:S,className:i})}),m={};return l&&c!=null&&(m.clipPath="url(#clipPath-".concat(d?"":"dots-").concat(c,")")),_.createElement(ls,{zIndex:u},_.createElement(li,nN({className:r},m),p))}function tq(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function nq(t){for(var e=1;e({top:t.top,bottom:t.bottom,left:t.left,right:t.right})),eIe=st([JFe,ed,td],(t,e,n)=>{if(!(!t||e==null||n==null))return{x:t.left,y:t.top,width:Math.max(0,e-t.left-t.right),height:Math.max(0,n-t.top-t.bottom)}}),CM=()=>Ht(eIe),tIe=()=>Ht(eOe);function rq(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function cP(t){for(var e=1;e{var{point:e,childIndex:n,mainColor:r,activeDot:i,dataKey:s,clipPath:o}=t;if(i===!1||e.x==null||e.y==null)return null;var l={index:n,dataKey:s,cx:e.x,cy:e.y,r:4,fill:r??"none",strokeWidth:2,stroke:"#fff",payload:e.payload,value:e.value},c=cP(cP(cP({},l),vm(i)),FO(i)),u;return _.isValidElement(i)?u=_.cloneElement(i,c):typeof i=="function"?u=i(c):u=_.createElement(DJ,c),_.createElement(li,{className:"recharts-active-dot",clipPath:o},u)};function jD(t){var{points:e,mainColor:n,activeDot:r,itemDataKey:i,clipPath:s,zIndex:o=vi.activeDot}=t,l=Ht(Ih),c=tIe();if(e==null||c==null)return null;var u=e.find(d=>c.includes(d.payload));return Yr(u)?null:_.createElement(ls,{zIndex:o},_.createElement(aIe,{point:u,childIndex:Number(l),mainColor:n,dataKey:i,activeDot:r,clipPath:s}))}var sIe="Invariant failed";function oIe(t,e){throw new Error(sIe)}var lIe=["x","y"];function DD(){return DD=Object.assign?Object.assign.bind():function(t){for(var e=1;e1&&arguments[1]!==void 0?arguments[1]:0;return(r,i)=>{if(Vt(e))return e;var s=Vt(r)||Yr(r);return s?e(r,i):(s||oIe(),n)}},gIe={},VJ=Qs({name:"errorBars",initialState:gIe,reducers:{addErrorBar:(t,e)=>{var{itemId:n,errorBar:r}=e.payload;t[n]||(t[n]=[]),t[n].push(r)},replaceErrorBar:(t,e)=>{var{itemId:n,prev:r,next:i}=e.payload;t[n]&&(t[n]=t[n].map(s=>s.dataKey===r.dataKey&&s.direction===r.direction?i:s))},removeErrorBar:(t,e)=>{var{itemId:n,errorBar:r}=e.payload;t[n]&&(t[n]=t[n].filter(i=>i.dataKey!==r.dataKey||i.direction!==r.direction))}}}),{addErrorBar:SQe,replaceErrorBar:NQe,removeErrorBar:kQe}=VJ.actions,bIe=VJ.reducer,xIe=["children"];function yIe(t,e){if(t==null)return{};var n,r,i=vIe(t,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(r=0;r({x:0,y:0,value:0}),errorBarOffset:0},_Ie=_.createContext(wIe);function GJ(t){var{children:e}=t,n=yIe(t,xIe);return _.createElement(_Ie.Provider,{value:n},e)}function PM(t,e){var n,r,i=Ht(u=>Ac(u,t)),s=Ht(u=>Cc(u,e)),o=(n=i?.allowDataOverflow)!==null&&n!==void 0?n:ga.allowDataOverflow,l=(r=s?.allowDataOverflow)!==null&&r!==void 0?r:ba.allowDataOverflow,c=o||l;return{needClip:c,needClipX:o,needClipY:l}}function _4(t){var{xAxisId:e,yAxisId:n,clipPathId:r}=t,i=CM(),{needClipX:s,needClipY:o,needClip:l}=PM(e,n);if(!l||!i)return null;var{x:c,y:u,width:d,height:h}=i;return _.createElement("clipPath",{id:"clipPath-".concat(r)},_.createElement("rect",{x:s?c:c-d/2,y:o?u:u-h/2,width:s?d:d*2,height:o?h:h*2}))}function SIe(t,e){return t&&typeof t=="object"&&"zIndex"in t&&typeof t.zIndex=="number"&&wr(t.zIndex)?t.zIndex:e}var uP={exports:{}},dP={};var aq;function NIe(){if(aq)return dP;aq=1;var t=yb();function e(c,u){return c===u&&(c!==0||1/c===1/u)||c!==c&&u!==u}var n=typeof Object.is=="function"?Object.is:e,r=t.useSyncExternalStore,i=t.useRef,s=t.useEffect,o=t.useMemo,l=t.useDebugValue;return dP.useSyncExternalStoreWithSelector=function(c,u,d,h,p){var m=i(null);if(m.current===null){var b={hasValue:!1,value:null};m.current=b}else b=m.current;m=o(function(){function x(M){if(!v){if(v=!0,S=M,M=h(M),p!==void 0&&b.hasValue){var A=b.value;if(p(A,M))return N=A}return N=M}if(A=N,n(S,M))return A;var k=h(M);return p!==void 0&&p(A,k)?(S=M,A):(S=M,N=k)}var v=!1,S,N,T=d===void 0?null:d;return[function(){return x(u())},T===null?void 0:function(){return x(T())}]},[u,d,h,p]);var y=r(c,m[0],m[1]);return s(function(){b.hasValue=!0,b.value=y},[y]),l(y),y},dP}var sq;function kIe(){return sq||(sq=1,uP.exports=NIe()),uP.exports}kIe();function MIe(t){t()}function EIe(){let t=null,e=null;return{clear(){t=null,e=null},notify(){MIe(()=>{let n=t;for(;n;)n.callback(),n=n.next})},get(){const n=[];let r=t;for(;r;)n.push(r),r=r.next;return n},subscribe(n){let r=!0;const i=e={callback:n,next:null,prev:e};return i.prev?i.prev.next=i:t=i,function(){!r||t===null||(r=!1,i.next?i.next.prev=i.prev:e=i.prev,i.prev?i.prev.next=i.next:t=i.next)}}}}var oq={notify(){},get:()=>[]};function TIe(t,e){let n,r=oq,i=0,s=!1;function o(y){d();const x=r.subscribe(y);let v=!1;return()=>{v||(v=!0,x(),h())}}function l(){r.notify()}function c(){b.onStateChange&&b.onStateChange()}function u(){return s}function d(){i++,n||(n=t.subscribe(c),r=EIe())}function h(){i--,n&&i===0&&(n(),n=void 0,r.clear(),r=oq)}function p(){s||(s=!0,d())}function m(){s&&(s=!1,h())}const b={addNestedSub:o,notifyNestedSubs:l,handleChangeWrapper:c,isSubscribed:u,trySubscribe:p,tryUnsubscribe:m,getListeners:()=>r};return b}var AIe=()=>typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",CIe=AIe(),PIe=()=>typeof navigator<"u"&&navigator.product==="ReactNative",jIe=PIe(),DIe=()=>CIe||jIe?_.useLayoutEffect:_.useEffect,RIe=DIe();function lq(t,e){return t===e?t!==0||e!==0||1/t===1/e:t!==t&&e!==e}function OIe(t,e){if(lq(t,e))return!0;if(typeof t!="object"||t===null||typeof e!="object"||e===null)return!1;const n=Object.keys(t),r=Object.keys(e);if(n.length!==r.length)return!1;for(let i=0;i{const c=TIe(i);return{store:i,subscription:c,getServerState:r?()=>r:void 0}},[i,r]),o=_.useMemo(()=>i.getState(),[i]);RIe(()=>{const{subscription:c}=s;return c.onStateChange=c.notifyNestedSubs,c.trySubscribe(),o!==i.getState()&&c.notifyNestedSubs(),()=>{c.tryUnsubscribe(),c.onStateChange=void 0}},[s,o]);const l=n||zIe;return _.createElement(l.Provider,{value:s},e)}var BIe=UIe,HIe=new Set(["axisLine","tickLine","activeBar","activeDot","activeLabel","activeShape","allowEscapeViewBox","background","cursor","dot","label","line","margin","padding","position","shape","style","tick","wrapperStyle"]);function $Ie(t,e){return t==null&&e==null?!0:typeof t=="number"&&typeof e=="number"?t===e||t!==t&&e!==e:t===e}function vv(t,e){var n=new Set([...Object.keys(t),...Object.keys(e)]);for(var r of n)if(HIe.has(r)){if(t[r]==null&&e[r]==null)continue;if(!OIe(t[r],e[r]))return!1}else if(!$Ie(t[r],e[r]))return!1;return!0}var VIe=["onMouseEnter","onMouseLeave","onClick"],GIe=["value","background","tooltipPosition"],qIe=["id"],WIe=["onMouseEnter","onClick","onMouseLeave"];function Zu(){return Zu=Object.assign?Object.assign.bind():function(t){for(var e=1;e{var{dataKey:e,name:n,fill:r,legendType:i,hide:s}=t;return[{inactive:s,dataKey:e,type:i,color:r,value:Hh(n,e),payload:t}]},JIe=_.memo(t=>{var{dataKey:e,stroke:n,strokeWidth:r,fill:i,name:s,hide:o,unit:l,tooltipType:c}=t,u={dataDefinedOnItem:void 0,positions:void 0,settings:{stroke:n,strokeWidth:r,fill:i,dataKey:e,nameKey:void 0,name:Hh(s,e),hide:o,type:c,color:i,unit:l}};return _.createElement(EM,{tooltipEntrySettings:u})});function e5e(t){var e=Ht(Ih),{data:n,dataKey:r,background:i,allOtherBarProps:s}=t,{onMouseEnter:o,onMouseLeave:l,onClick:c}=s,u=iN(s,VIe),d=b4(o,r),h=x4(l),p=y4(c,r);if(!i||n==null)return null;var m=vm(i);return _.createElement(ls,{zIndex:SIe(i,vi.barBackground)},n.map((b,y)=>{var{value:x,background:v,tooltipPosition:S}=b,N=iN(b,GIe);if(!v)return null;var T=d(b,y),M=h(b,y),A=p(b,y),k=xs(xs(xs(xs(xs({option:i,isActive:String(y)===e},N),{},{fill:"#eee"},v),m),Yy(u,b,y)),{},{onMouseEnter:T,onMouseLeave:M,onClick:A,dataKey:r,index:y,className:"recharts-bar-background-rectangle"});return _.createElement(rN,Zu({key:"background-bar-".concat(y)},k))}))}function t5e(t){var{showLabels:e,children:n,rects:r}=t,i=r?.map(s=>{var o={x:s.x,y:s.y,width:s.width,lowerWidth:s.width,upperWidth:s.width,height:s.height};return xs(xs({},o),{},{value:s.value,payload:s.payload,parentViewBox:s.parentViewBox,viewBox:o,fill:s.fill})});return _.createElement(d4,{value:e?i:void 0},n)}function n5e(t){var{shape:e,activeBar:n,baseProps:r,entry:i,index:s,dataKey:o}=t,l=Ht(Ih),c=Ht(a4),u=n&&String(s)===l&&(c==null||o===c),d=u?n:e;return u?_.createElement(ls,{zIndex:vi.activeBar},_.createElement(rN,Zu({},r,{name:String(r.name)},i,{isActive:u,option:d,index:s,dataKey:o}))):_.createElement(rN,Zu({},r,{name:String(r.name)},i,{isActive:u,option:d,index:s,dataKey:o}))}function r5e(t){var{shape:e,baseProps:n,entry:r,index:i,dataKey:s}=t;return _.createElement(rN,Zu({},n,{name:String(n.name)},r,{isActive:!1,option:e,index:i,dataKey:s}))}function i5e(t){var e,{data:n,props:r}=t,i=(e=Ms(r))!==null&&e!==void 0?e:{},{id:s}=i,o=iN(i,qIe),{shape:l,dataKey:c,activeBar:u}=r,{onMouseEnter:d,onClick:h,onMouseLeave:p}=r,m=iN(r,WIe),b=b4(d,c),y=x4(p),x=y4(h,c);return n?_.createElement(_.Fragment,null,n.map((v,S)=>_.createElement(li,Zu({key:"rectangle-".concat(v?.x,"-").concat(v?.y,"-").concat(v?.value,"-").concat(S),className:"recharts-bar-rectangle"},Yy(m,v,S),{onMouseEnter:b(v,S),onMouseLeave:y(v,S),onClick:x(v,S)}),u?_.createElement(n5e,{shape:l,activeBar:u,baseProps:o,entry:v,index:S,dataKey:c}):_.createElement(r5e,{shape:l,baseProps:o,entry:v,index:S,dataKey:c})))):null}function a5e(t){var{props:e,previousRectanglesRef:n}=t,{data:r,layout:i,isAnimationActive:s,animationBegin:o,animationDuration:l,animationEasing:c,onAnimationEnd:u,onAnimationStart:d}=e,h=n.current,p=Pb(e,"recharts-bar-"),[m,b]=_.useState(!1),y=!m,x=_.useCallback(()=>{typeof u=="function"&&u(),b(!1)},[u]),v=_.useCallback(()=>{typeof d=="function"&&d(),b(!0)},[d]);return _.createElement(t5e,{showLabels:y,rects:r},_.createElement(Cb,{animationId:p,begin:o,duration:l,isActive:s,easing:c,onAnimationEnd:x,onAnimationStart:v,key:p},S=>{var N=S===1?r:r?.map((T,M)=>{var A=h&&h[M];if(A)return xs(xs({},T),{},{x:pr(A.x,T.x,S),y:pr(A.y,T.y,S),width:pr(A.width,T.width,S),height:pr(A.height,T.height,S)});if(i==="horizontal"){var k=pr(0,T.height,S),R=pr(T.stackedBarStart,T.y,S);return xs(xs({},T),{},{y:R,height:k})}var C=pr(0,T.width,S),P=pr(T.stackedBarStart,T.x,S);return xs(xs({},T),{},{width:C,x:P})});return S>0&&(n.current=N??null),N==null?null:_.createElement(li,null,_.createElement(i5e,{props:e,data:N}))}),_.createElement(NM,{label:e.label}),e.children)}function s5e(t){var e=_.useRef(null);return _.createElement(a5e,{previousRectanglesRef:e,props:t})}var qJ=0,o5e=(t,e)=>{var n=Array.isArray(t.value)?t.value[1]:t.value;return{x:t.x,y:t.y,value:n,errorVal:vr(t,e)}};class l5e extends _.PureComponent{render(){var{hide:e,data:n,dataKey:r,className:i,xAxisId:s,yAxisId:o,needClip:l,background:c,id:u}=this.props;if(e||n==null)return null;var d=nr("recharts-bar",i),h=u;return _.createElement(li,{className:d,id:u},l&&_.createElement("defs",null,_.createElement(_4,{clipPathId:h,xAxisId:s,yAxisId:o})),_.createElement(li,{className:"recharts-bar-rectangles",clipPath:l?"url(#clipPath-".concat(h,")"):void 0},_.createElement(e5e,{data:n,dataKey:r,background:c,allOtherBarProps:this.props}),_.createElement(s5e,this.props)))}}var c5e={activeBar:!1,animationBegin:0,animationDuration:400,animationEasing:"ease",background:!1,hide:!1,isAnimationActive:"auto",label:!1,legendType:"rect",minPointSize:qJ,xAxisId:0,yAxisId:0,zIndex:vi.bar};function u5e(t){var{xAxisId:e,yAxisId:n,hide:r,legendType:i,minPointSize:s,activeBar:o,animationBegin:l,animationDuration:c,animationEasing:u,isAnimationActive:d}=t,{needClip:h}=PM(e,n),p=Lm(),m=aa(),b=m4(t.children,yv),y=Ht(S=>I5e(S,e,n,m,t.id,b));if(p!=="vertical"&&p!=="horizontal")return null;var x,v=y?.[0];return v==null||v.height==null||v.width==null?x=0:x=p==="vertical"?v.height/2:v.width/2,_.createElement(GJ,{xAxisId:e,yAxisId:n,data:y,dataPointFormatter:o5e,errorBarOffset:x},_.createElement(l5e,Zu({},t,{layout:p,needClip:h,data:y,xAxisId:e,yAxisId:n,hide:r,legendType:i,minPointSize:s,activeBar:o,animationBegin:l,animationDuration:c,animationEasing:u,isAnimationActive:d})))}function d5e(t){var{layout:e,barSettings:{dataKey:n,minPointSize:r},pos:i,bandSize:s,xAxis:o,yAxis:l,xAxisTicks:c,yAxisTicks:u,stackedData:d,displayedData:h,offset:p,cells:m,parentViewBox:b,dataStartIndex:y}=t,x=e==="horizontal"?l:o,v=d?x.scale.domain():null,S=RTe({numericAxis:x}),N=x.scale(S);return h.map((T,M)=>{var A,k,R,C,P,U;d?A=ATe(d[M+y],v):(A=vr(T,n),Array.isArray(A)||(A=[S,A]));var F=pIe(r,qJ)(A[1],M);if(e==="horizontal"){var H,[D,$]=[l.scale(A[0]),l.scale(A[1])];k=M$({axis:o,ticks:c,bandSize:s,offset:i.offset,entry:T,index:M}),R=(H=$??D)!==null&&H!==void 0?H:void 0,C=i.size;var G=D-$;if(P=Ys(G)?0:G,U={x:k,y:p.top,width:C,height:p.height},Math.abs(F)>0&&Math.abs(P)0&&Math.abs(C)_.createElement(_.Fragment,null,_.createElement(v4,{legendPayload:ZIe(e)}),_.createElement(JIe,{dataKey:e.dataKey,stroke:e.stroke,strokeWidth:e.strokeWidth,fill:e.fill,name:e.name,hide:e.hide,unit:e.unit,tooltipType:e.tooltipType}),_.createElement(w4,{type:"bar",id:r,data:void 0,xAxisId:e.xAxisId,yAxisId:e.yAxisId,zAxisId:0,dataKey:e.dataKey,stackId:UY(e.stackId),hide:e.hide,barSize:e.barSize,minPointSize:e.minPointSize,maxBarSize:e.maxBarSize,isPanorama:n}),_.createElement(ls,{zIndex:e.zIndex},_.createElement(u5e,Zu({},e,{id:r})))))}var WJ=_.memo(h5e,vv);WJ.displayName="Bar";function uq(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function n1(t){for(var e=1;ee,b5e=(t,e,n)=>n,x5e=(t,e,n,r)=>r,y5e=(t,e,n,r,i)=>i,wv=st([dv,y5e],(t,e)=>t.filter(n=>n.type==="bar").find(n=>n.id===e)),v5e=st([wv],t=>t?.maxBarSize),w5e=(t,e,n,r,i,s)=>s,dq=(t,e,n)=>{var r=n??t;if(!Yr(r))return as(r,e,0)},_5e=st([Kn,dv,g5e,b5e,x5e],(t,e,n,r,i)=>e.filter(s=>t==="horizontal"?s.xAxisId===n:s.yAxisId===r).filter(s=>s.isPanorama===i).filter(s=>s.hide===!1).filter(s=>s.type==="bar")),S5e=(t,e,n,r)=>{var i=Kn(t);return i==="horizontal"?Sy(t,"yAxis",n,r):Sy(t,"xAxis",e,r)},N5e=(t,e,n)=>{var r=Kn(t);return r==="horizontal"?aG(t,"xAxis",e):aG(t,"yAxis",n)},k5e=(t,e,n)=>{var r={},i=t.filter(pM),s=t.filter(u=>u.stackId==null),o=i.reduce((u,d)=>(u[d.stackId]||(u[d.stackId]=[]),u[d.stackId].push(d),u),r),l=Object.entries(o).map(u=>{var[d,h]=u,p=h.map(b=>b.dataKey),m=dq(e,n,h[0].barSize);return{stackId:d,dataKeys:p,barSize:m}}),c=s.map(u=>{var d=[u.dataKey].filter(p=>p!=null),h=dq(e,n,u.barSize);return{stackId:void 0,dataKeys:d,barSize:h}});return[...l,...c]},M5e=st([_5e,Q3e,N5e],k5e),E5e=(t,e,n,r,i)=>{var s,o,l=wv(t,e,n,r,i);if(l!=null){var c=Kn(t),u=uZ(t),{maxBarSize:d}=l,h=Yr(d)?u:d,p,m;return c==="horizontal"?(p=_c(t,"xAxis",e,r),m=wc(t,"xAxis",e,r)):(p=_c(t,"yAxis",n,r),m=wc(t,"yAxis",n,r)),(s=(o=Oh(p,m,!0))!==null&&o!==void 0?o:h)!==null&&s!==void 0?s:0}},KJ=(t,e,n,r)=>{var i=Kn(t),s,o;return i==="horizontal"?(s=_c(t,"xAxis",e,r),o=wc(t,"xAxis",e,r)):(s=_c(t,"yAxis",n,r),o=wc(t,"yAxis",n,r)),Oh(s,o)};function T5e(t,e,n,r,i){var s=r.length;if(!(s<1)){var o=as(t,n,0,!0),l,c=[];if(wr(r[0].barSize)){var u=!1,d=n/s,h=r.reduce((v,S)=>v+(S.barSize||0),0);h+=(s-1)*o,h>=n&&(h-=(s-1)*o,o=0),h>=n&&d>0&&(u=!0,d*=.9,h=s*d);var p=(n-h)/2>>0,m={offset:p-o,size:0};l=r.reduce((v,S)=>{var N,T={stackId:S.stackId,dataKeys:S.dataKeys,position:{offset:m.offset+m.size+o,size:u?d:(N=S.barSize)!==null&&N!==void 0?N:0}},M=[...v,T];return m=M[M.length-1].position,M},c)}else{var b=as(e,n,0,!0);n-2*b-(s-1)*o<=0&&(o=0);var y=(n-2*b-(s-1)*o)/s;y>1&&(y>>=0);var x=wr(i)?Math.min(y,i):y;l=r.reduce((v,S,N)=>[...v,{stackId:S.stackId,dataKeys:S.dataKeys,position:{offset:b+(y+o)*N+(y-x)/2,size:x}}],c)}return l}}var A5e=(t,e,n,r,i,s,o)=>{var l=Yr(o)?e:o,c=T5e(n,r,i!==s?i:s,t,l);return i!==s&&c!=null&&(c=c.map(u=>n1(n1({},u),{},{position:n1(n1({},u.position),{},{offset:u.position.offset-i/2})}))),c},C5e=st([M5e,uZ,Y3e,dZ,E5e,KJ,v5e],A5e),P5e=(t,e,n,r)=>_c(t,"xAxis",e,r),j5e=(t,e,n,r)=>_c(t,"yAxis",n,r),D5e=(t,e,n,r)=>wc(t,"xAxis",e,r),R5e=(t,e,n,r)=>wc(t,"yAxis",n,r),O5e=st([C5e,wv],(t,e)=>{if(!(t==null||e==null)){var n=t.find(r=>r.stackId===e.stackId&&e.dataKey!=null&&r.dataKeys.includes(e.dataKey));if(n!=null)return n.position}}),L5e=(t,e)=>{var n=mM(e);if(!(!t||n==null||e==null)){var{stackId:r}=e;if(r!=null){var i=t[r];if(i){var{stackedData:s}=i;if(s)return s.find(o=>o.key===n)}}}},F5e=st([S5e,wv],L5e),I5e=st([ia,KO,P5e,j5e,D5e,R5e,O5e,Kn,ov,KJ,F5e,wv,w5e],(t,e,n,r,i,s,o,l,c,u,d,h,p)=>{var{chartData:m,dataStartIndex:b,dataEndIndex:y}=c;if(!(h==null||o==null||e==null||l!=="horizontal"&&l!=="vertical"||n==null||r==null||i==null||s==null||u==null)){var{data:x}=h,v;if(x!=null&&x.length>0?v=x:v=m?.slice(b,y+1),v!=null)return d5e({layout:l,barSettings:h,pos:o,parentViewBox:e,bandSize:u,xAxis:n,yAxis:r,xAxisTicks:i,yAxisTicks:s,stackedData:d,displayedData:v,offset:t,cells:p,dataStartIndex:b})}}),XJ=t=>{var{chartData:e}=t,n=zr(),r=aa();return _.useEffect(()=>r?()=>{}:(n(xG(e)),()=>{n(xG(void 0))}),[e,n,r]),null},hq={x:0,y:0,width:0,height:0,padding:{top:0,right:0,bottom:0,left:0}},YJ=Qs({name:"brush",initialState:hq,reducers:{setBrushSettings(t,e){return e.payload==null?hq:e.payload}}}),{setBrushSettings:MQe}=YJ.actions,z5e=YJ.reducer;function fq(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function r1(t){for(var e=1;e{var{x:n,y:r}=t,{x:i,y:s}=e;return{x:Math.min(n,i),y:Math.min(r,s),width:Math.abs(i-n),height:Math.abs(s-r)}},$5e=t=>{var{x1:e,y1:n,x2:r,y2:i}=t;return H5e({x:e,y:n},{x:r,y:i})};class jM{static create(e){return new jM(e)}constructor(e){this.scale=e}get domain(){return this.scale.domain}get range(){return this.scale.range}get rangeMin(){return this.range()[0]}get rangeMax(){return this.range()[1]}get bandwidth(){return this.scale.bandwidth}apply(e){var{bandAware:n,position:r}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(e!==void 0){if(r)switch(r){case"start":return this.scale(e);case"middle":{var i=this.bandwidth?this.bandwidth()/2:0;return this.scale(e)+i}case"end":{var s=this.bandwidth?this.bandwidth():0;return this.scale(e)+s}default:return this.scale(e)}if(n){var o=this.bandwidth?this.bandwidth()/2:0;return this.scale(e)+o}return this.scale(e)}}isInRange(e){var n=this.range(),r=n[0],i=n[n.length-1];return r<=i?e>=r&&e<=i:e>=i&&e<=r}}QJ(jM,"EPS",1e-4);var V5e=t=>{var e=Object.keys(t).reduce((n,r)=>r1(r1({},n),{},{[r]:jM.create(t[r])}),{});return r1(r1({},e),{},{apply(n){var{bandAware:r,position:i}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return Object.fromEntries(Object.entries(n).map(s=>{var[o,l]=s;return[o,e[o].apply(l,{bandAware:r,position:i})]}))},isInRange(n){return Object.keys(n).every(r=>e[r].isInRange(n[r]))}})};function G5e(t){return(t%180+180)%180}var q5e=function(e){var{width:n,height:r}=e,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,s=G5e(i),o=s*Math.PI/180,l=Math.atan(r/n),c=o>l&&o{t.dots.push(e.payload)},removeDot:(t,e)=>{var n=Il(t).dots.findIndex(r=>r===e.payload);n!==-1&&t.dots.splice(n,1)},addArea:(t,e)=>{t.areas.push(e.payload)},removeArea:(t,e)=>{var n=Il(t).areas.findIndex(r=>r===e.payload);n!==-1&&t.areas.splice(n,1)},addLine:(t,e)=>{t.lines.push(e.payload)},removeLine:(t,e)=>{var n=Il(t).lines.findIndex(r=>r===e.payload);n!==-1&&t.lines.splice(n,1)}}}),{addDot:EQe,removeDot:TQe,addArea:AQe,removeArea:CQe,addLine:K5e,removeLine:X5e}=ZJ.actions,Y5e=ZJ.reducer,JJ=_.createContext(void 0),Q5e=t=>{var{children:e}=t,[n]=_.useState("".concat(uy("recharts"),"-clip")),r=CM();if(r==null)return null;var{x:i,y:s,width:o,height:l}=r;return _.createElement(JJ.Provider,{value:n},_.createElement("defs",null,_.createElement("clipPath",{id:n},_.createElement("rect",{x:i,y:s,height:l,width:o}))),e)},Z5e=()=>_.useContext(JJ);function mq(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function pq(t){for(var e=1;e{var n;if(_.isValidElement(t))n=_.cloneElement(t,e);else if(typeof t=="function")n=t(e);else{if(!wr(e.x1)||!wr(e.y1)||!wr(e.x2)||!wr(e.y2))return null;n=_.createElement("line",aN({},e,{className:"recharts-reference-line-line"}))}return n},rze=(t,e,n,r,i,s)=>{var{x:o,width:l}=s,c=i.y.apply(t,{position:n});if(Ys(c)||e==="discard"&&!i.y.isInRange(c))return null;var u=[{x:o+l,y:c},{x:o,y:c}];return r==="left"?u.reverse():u},ize=(t,e,n,r,i,s)=>{var{y:o,height:l}=s,c=i.x.apply(t,{position:n});if(Ys(c)||e==="discard"&&!i.x.isInRange(c))return null;var u=[{x:c,y:o+l},{x:c,y:o}];return r==="top"?u.reverse():u},aze=(t,e,n,r)=>{var i=t.map(s=>r.apply(s,{position:n}));return e==="discard"&&i.some(s=>!r.isInRange(s))?null:i},sze=(t,e,n,r,i,s)=>{var{x:o,y:l,segment:c,ifOverflow:u}=s,d=fl(o),h=fl(l);return h?rze(l,u,n,i,t,e):d?ize(o,u,n,r,t,e):c!=null&&c.length===2?aze(c,u,n,t):null};function oze(t){var e=zr();return _.useEffect(()=>(e(K5e(t)),()=>{e(X5e(t))})),null}function lze(t){var{xAxisId:e,yAxisId:n,shape:r,className:i,ifOverflow:s}=t,o=aa(),l=Z5e(),c=Ht(A=>Ac(A,e)),u=Ht(A=>Cc(A,n)),d=Ht(A=>Fh(A,"xAxis",e,o)),h=Ht(A=>Fh(A,"yAxis",n,o)),p=tv();if(!l||!p||c==null||u==null||d==null||h==null)return null;var m=V5e({x:d,y:h}),b=sze(m,p,t.position,c.orientation,u.orientation,t);if(!b)return null;var[{x:y,y:x},{x:v,y:S}]=b,N=s==="hidden"?"url(#".concat(l,")"):void 0,T=pq(pq({clipPath:N},Ga(t)),{},{x1:y,y1:x,x2:v,y2:S}),M=$5e({x1:y,y1:x,x2:v,y2:S});return _.createElement(ls,{zIndex:t.zIndex},_.createElement(li,{className:nr("recharts-reference-line",i)},nze(r,T),_.createElement(TJ,aN({},M,{lowerWidth:M.width,upperWidth:M.width}),_.createElement(CJ,{label:t.label}),t.children)))}var cze={ifOverflow:"discard",xAxisId:0,yAxisId:0,fill:"none",stroke:"#ccc",fillOpacity:1,strokeWidth:1,position:"middle",zIndex:vi.line};function m0(t){var e=ci(t,cze);return _.createElement(_.Fragment,null,_.createElement(oze,{yAxisId:e.yAxisId,xAxisId:e.xAxisId,ifOverflow:e.ifOverflow,x:e.x,y:e.y,segment:e.segment}),_.createElement(lze,e))}m0.displayName="ReferenceLine";function eee(t,e){if(e<1)return[];if(e===1)return t;for(var n=[],r=0;rt*i)return!1;var s=n();return t*(e-t*s/2-r)>=0&&t*(e+t*s/2-i)<=0}function hze(t,e){return eee(t,e+1)}function fze(t,e,n,r,i){for(var s=(r||[]).slice(),{start:o,end:l}=e,c=0,u=1,d=o,h=function(){var b=r?.[c];if(b===void 0)return{v:eee(r,u)};var y=c,x,v=()=>(x===void 0&&(x=n(b,y)),x),S=b.coordinate,N=c===0||sN(t,S,v,d,l);N||(c=0,d=o,u+=1),N&&(d=S+t*(v()/2+i),c+=u)},p;u<=s.length;)if(p=h(),p)return p.v;return[]}function gq(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function Za(t){for(var e=1;e(b===void 0&&(b=n(m,p)),b);if(p===o-1){var x=t*(m.coordinate+t*y()/2-c);s[p]=m=Za(Za({},m),{},{tickCoord:x>0?m.coordinate-x*t:m.coordinate})}else s[p]=m=Za(Za({},m),{},{tickCoord:m.coordinate});if(m.tickCoord!=null){var v=sN(t,m.tickCoord,y,l,c);v&&(c=m.tickCoord-t*(y()/2+i),s[p]=Za(Za({},m),{},{isShow:!0}))}},d=o-1;d>=0;d--)u(d);return s}function xze(t,e,n,r,i,s){var o=(r||[]).slice(),l=o.length,{start:c,end:u}=e;if(s){var d=r[l-1],h=n(d,l-1),p=t*(d.coordinate+t*h/2-u);if(o[l-1]=d=Za(Za({},d),{},{tickCoord:p>0?d.coordinate-p*t:d.coordinate}),d.tickCoord!=null){var m=sN(t,d.tickCoord,()=>h,c,u);m&&(u=d.tickCoord-t*(h/2+i),o[l-1]=Za(Za({},d),{},{isShow:!0}))}}for(var b=s?l-1:l,y=function(S){var N=o[S],T,M=()=>(T===void 0&&(T=n(N,S)),T);if(S===0){var A=t*(N.coordinate-t*M()/2-c);o[S]=N=Za(Za({},N),{},{tickCoord:A<0?N.coordinate-A*t:N.coordinate})}else o[S]=N=Za(Za({},N),{},{tickCoord:N.coordinate});if(N.tickCoord!=null){var k=sN(t,N.tickCoord,M,c,u);k&&(c=N.tickCoord+t*(M()/2+i),o[S]=Za(Za({},N),{},{isShow:!0}))}},x=0;x{var M=typeof u=="function"?u(N.value,T):N.value;return b==="width"?uze(A0(M,{fontSize:e,letterSpacing:n}),y,h):A0(M,{fontSize:e,letterSpacing:n})[b]},v=i.length>=2?wa(i[1].coordinate-i[0].coordinate):1,S=dze(s,v,b);return c==="equidistantPreserveStart"?fze(v,S,x,i,o):(c==="preserveStart"||c==="preserveStartEnd"?m=xze(v,S,x,i,o,c==="preserveStartEnd"):m=bze(v,S,x,i,o),m.filter(N=>N.isShow))}var yze=t=>{var{ticks:e,label:n,labelGapWithTick:r=5,tickSize:i=0,tickMargin:s=0}=t,o=0;if(e){Array.from(e).forEach(d=>{if(d){var h=d.getBoundingClientRect();h.width>o&&(o=h.width)}});var l=n?n.getBoundingClientRect().width:0,c=i+s,u=o+c+l+(n?r:0);return Math.round(u)}return 0},vze=["axisLine","width","height","className","hide","ticks","axisType"];function wze(t,e){if(t==null)return{};var n,r,i=_ze(t,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(r=0;r{var{ticks:n=[],tick:r,tickLine:i,stroke:s,tickFormatter:o,unit:l,padding:c,tickTextProps:u,orientation:d,mirror:h,x:p,y:m,width:b,height:y,tickSize:x,tickMargin:v,fontSize:S,letterSpacing:N,getTicksConfig:T,events:M,axisType:A}=t,k=S4(Fi(Fi({},T),{},{ticks:n}),S,N),R=Tze(d,h),C=Aze(d,h),P=Ms(T),U=vm(r),F={};typeof i=="object"&&(F=i);var H=Fi(Fi({},P),{},{fill:"none"},F),D=k.map(I=>Fi({entry:I},Eze(I,p,m,b,y,d,x,h,v))),$=D.map(I=>{var{entry:K,line:Q}=I;return _.createElement(li,{className:"recharts-cartesian-axis-tick",key:"tick-".concat(K.value,"-").concat(K.coordinate,"-").concat(K.tickCoord)},i&&_.createElement("line",km({},H,Q,{className:nr("recharts-cartesian-axis-tick-line",wm(i,"className"))})))}),G=D.map((I,K)=>{var{entry:Q,tick:oe}=I,B=Fi(Fi(Fi(Fi({textAnchor:R,verticalAnchor:C},P),{},{stroke:"none",fill:s},U),oe),{},{index:K,payload:Q,visibleTicksCount:k.length,tickFormatter:o,padding:c},u);return _.createElement(li,km({className:"recharts-cartesian-axis-tick-label",key:"tick-label-".concat(Q.value,"-").concat(Q.coordinate,"-").concat(Q.tickCoord)},Yy(M,Q,K)),r&&_.createElement(Cze,{option:r,tickProps:B,value:"".concat(typeof o=="function"?o(Q.value,K):Q.value).concat(l||"")}))});return _.createElement("g",{className:"recharts-cartesian-axis-ticks recharts-".concat(A,"-ticks")},G.length>0&&_.createElement(ls,{zIndex:vi.label},_.createElement("g",{className:"recharts-cartesian-axis-tick-labels recharts-".concat(A,"-tick-labels"),ref:e},G)),$.length>0&&_.createElement("g",{className:"recharts-cartesian-axis-tick-lines recharts-".concat(A,"-tick-lines")},$))}),jze=_.forwardRef((t,e)=>{var{axisLine:n,width:r,height:i,className:s,hide:o,ticks:l,axisType:c}=t,u=wze(t,vze),[d,h]=_.useState(""),[p,m]=_.useState(""),b=_.useRef(null);_.useImperativeHandle(e,()=>({getCalculatedWidth:()=>{var x;return yze({ticks:b.current,label:(x=t.labelRef)===null||x===void 0?void 0:x.current,labelGapWithTick:5,tickSize:t.tickSize,tickMargin:t.tickMargin})}}));var y=_.useCallback(x=>{if(x){var v=x.getElementsByClassName("recharts-cartesian-axis-tick-value");b.current=v;var S=v[0];if(S){var N=window.getComputedStyle(S),T=N.fontSize,M=N.letterSpacing;(T!==d||M!==p)&&(h(T),m(M))}}},[d,p]);return o||r!=null&&r<=0||i!=null&&i<=0?null:_.createElement(ls,{zIndex:t.zIndex},_.createElement(li,{className:nr("recharts-cartesian-axis",s)},_.createElement(Mze,{x:t.x,y:t.y,width:r,height:i,orientation:t.orientation,mirror:t.mirror,axisLine:n,otherSvgProps:Ms(t)}),_.createElement(Pze,{ref:y,axisType:c,events:u,fontSize:d,getTicksConfig:t,height:t.height,letterSpacing:p,mirror:t.mirror,orientation:t.orientation,padding:t.padding,stroke:t.stroke,tick:t.tick,tickFormatter:t.tickFormatter,tickLine:t.tickLine,tickMargin:t.tickMargin,tickSize:t.tickSize,tickTextProps:t.tickTextProps,ticks:l,unit:t.unit,width:t.width,x:t.x,y:t.y}),_.createElement(TJ,{x:t.x,y:t.y,width:t.width,height:t.height,lowerWidth:t.width,upperWidth:t.width},_.createElement(CJ,{label:t.label,labelRef:t.labelRef}),t.children)))}),N4=_.forwardRef((t,e)=>{var n=ci(t,Ru);return _.createElement(jze,km({},n,{ref:e}))});N4.displayName="CartesianAxis";var Dze=["x1","y1","x2","y2","key"],Rze=["offset"],Oze=["xAxisId","yAxisId"],Lze=["xAxisId","yAxisId"];function xq(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function ts(t){for(var e=1;e{var{fill:e}=t;if(!e||e==="none")return null;var{fillOpacity:n,x:r,y:i,width:s,height:o,ry:l}=t;return _.createElement("rect",{x:r,y:i,ry:l,width:s,height:o,stroke:"none",fill:e,fillOpacity:n,className:"recharts-cartesian-grid-bg"})};function tee(t){var{option:e,lineItemProps:n}=t,r;if(_.isValidElement(e))r=_.cloneElement(e,n);else if(typeof e=="function")r=e(n);else{var i,{x1:s,y1:o,x2:l,y2:c,key:u}=n,d=oN(n,Dze),h=(i=Ms(d))!==null&&i!==void 0?i:{},{offset:p}=h,m=oN(h,Rze);r=_.createElement("line",$f({},m,{x1:s,y1:o,x2:l,y2:c,fill:"none",key:u}))}return r}function Hze(t){var{x:e,width:n,horizontal:r=!0,horizontalPoints:i}=t;if(!r||!i||!i.length)return null;var{xAxisId:s,yAxisId:o}=t,l=oN(t,Oze),c=i.map((u,d)=>{var h=ts(ts({},l),{},{x1:e,y1:u,x2:e+n,y2:u,key:"line-".concat(d),index:d});return _.createElement(tee,{key:"line-".concat(d),option:r,lineItemProps:h})});return _.createElement("g",{className:"recharts-cartesian-grid-horizontal"},c)}function $ze(t){var{y:e,height:n,vertical:r=!0,verticalPoints:i}=t;if(!r||!i||!i.length)return null;var{xAxisId:s,yAxisId:o}=t,l=oN(t,Lze),c=i.map((u,d)=>{var h=ts(ts({},l),{},{x1:u,y1:e,x2:u,y2:e+n,key:"line-".concat(d),index:d});return _.createElement(tee,{option:r,lineItemProps:h,key:"line-".concat(d)})});return _.createElement("g",{className:"recharts-cartesian-grid-vertical"},c)}function Vze(t){var{horizontalFill:e,fillOpacity:n,x:r,y:i,width:s,height:o,horizontalPoints:l,horizontal:c=!0}=t;if(!c||!e||!e.length||l==null)return null;var u=l.map(h=>Math.round(h+i-i)).sort((h,p)=>h-p);i!==u[0]&&u.unshift(0);var d=u.map((h,p)=>{var m=!u[p+1],b=m?i+o-h:u[p+1]-h;if(b<=0)return null;var y=p%e.length;return _.createElement("rect",{key:"react-".concat(p),y:h,x:r,height:b,width:s,stroke:"none",fill:e[y],fillOpacity:n,className:"recharts-cartesian-grid-bg"})});return _.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},d)}function Gze(t){var{vertical:e=!0,verticalFill:n,fillOpacity:r,x:i,y:s,width:o,height:l,verticalPoints:c}=t;if(!e||!n||!n.length)return null;var u=c.map(h=>Math.round(h+i-i)).sort((h,p)=>h-p);i!==u[0]&&u.unshift(0);var d=u.map((h,p)=>{var m=!u[p+1],b=m?i+o-h:u[p+1]-h;if(b<=0)return null;var y=p%n.length;return _.createElement("rect",{key:"react-".concat(p),x:h,y:s,width:b,height:l,stroke:"none",fill:n[y],fillOpacity:r,className:"recharts-cartesian-grid-bg"})});return _.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},d)}var qze=(t,e)=>{var{xAxis:n,width:r,height:i,offset:s}=t;return IY(S4(ts(ts(ts({},Ru),n),{},{ticks:zY(n),viewBox:{x:0,y:0,width:r,height:i}})),s.left,s.left+s.width,e)},Wze=(t,e)=>{var{yAxis:n,width:r,height:i,offset:s}=t;return IY(S4(ts(ts(ts({},Ru),n),{},{ticks:zY(n),viewBox:{x:0,y:0,width:r,height:i}})),s.top,s.top+s.height,e)},Kze={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],stroke:"#ccc",fill:"none",verticalFill:[],horizontalFill:[],xAxisId:0,yAxisId:0,syncWithTicks:!1,zIndex:vi.grid};function lN(t){var e=YO(),n=QO(),r=KY(),i=ts(ts({},ci(t,Kze)),{},{x:Vt(t.x)?t.x:r.left,y:Vt(t.y)?t.y:r.top,width:Vt(t.width)?t.width:r.width,height:Vt(t.height)?t.height:r.height}),{xAxisId:s,yAxisId:o,x:l,y:c,width:u,height:d,syncWithTicks:h,horizontalValues:p,verticalValues:m}=i,b=aa(),y=Ht(C=>sG(C,"xAxis",s,b)),x=Ht(C=>sG(C,"yAxis",o,b));if(!yc(u)||!yc(d)||!Vt(l)||!Vt(c))return null;var v=i.verticalCoordinatesGenerator||qze,S=i.horizontalCoordinatesGenerator||Wze,{horizontalPoints:N,verticalPoints:T}=i;if((!N||!N.length)&&typeof S=="function"){var M=p&&p.length,A=S({yAxis:x?ts(ts({},x),{},{ticks:M?p:x.ticks}):void 0,width:e??u,height:n??d,offset:r},M?!0:h);PS(Array.isArray(A),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(typeof A,"]")),Array.isArray(A)&&(N=A)}if((!T||!T.length)&&typeof v=="function"){var k=m&&m.length,R=v({xAxis:y?ts(ts({},y),{},{ticks:k?m:y.ticks}):void 0,width:e??u,height:n??d,offset:r},k?!0:h);PS(Array.isArray(R),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(typeof R,"]")),Array.isArray(R)&&(T=R)}return _.createElement(ls,{zIndex:i.zIndex},_.createElement("g",{className:"recharts-cartesian-grid"},_.createElement(Bze,{fill:i.fill,fillOpacity:i.fillOpacity,x:i.x,y:i.y,width:i.width,height:i.height,ry:i.ry}),_.createElement(Vze,$f({},i,{horizontalPoints:N})),_.createElement(Gze,$f({},i,{verticalPoints:T})),_.createElement(Hze,$f({},i,{offset:r,horizontalPoints:N,xAxis:y,yAxis:x})),_.createElement($ze,$f({},i,{offset:r,verticalPoints:T,xAxis:y,yAxis:x}))))}lN.displayName="CartesianGrid";var nee=(t,e,n,r)=>_c(t,"xAxis",e,r),ree=(t,e,n,r)=>wc(t,"xAxis",e,r),iee=(t,e,n,r)=>_c(t,"yAxis",n,r),aee=(t,e,n,r)=>wc(t,"yAxis",n,r),Xze=st([Kn,nee,iee,ree,aee],(t,e,n,r,i)=>Tc(t,"xAxis")?Oh(e,r,!1):Oh(n,i,!1)),Yze=(t,e,n,r,i)=>i;function Qze(t){return t.type==="line"}var Zze=st([dv,Yze],(t,e)=>t.filter(Qze).find(n=>n.id===e)),Jze=st([Kn,nee,iee,ree,aee,Zze,Xze,ov],(t,e,n,r,i,s,o,l)=>{var{chartData:c,dataStartIndex:u,dataEndIndex:d}=l;if(!(s==null||e==null||n==null||r==null||i==null||r.length===0||i.length===0||o==null||t!=="horizontal"&&t!=="vertical")){var{dataKey:h,data:p}=s,m;if(p!=null&&p.length>0?m=p:m=c?.slice(u,d+1),m!=null)return yUe({layout:t,xAxis:e,yAxis:n,xAxisTicks:r,yAxisTicks:i,dataKey:h,bandSize:o,displayedData:m})}});function see(t){var e=vm(t),n=3,r=2;if(e!=null){var{r:i,strokeWidth:s}=e,o=Number(i),l=Number(s);return(Number.isNaN(o)||o<0)&&(o=n),(Number.isNaN(l)||l<0)&&(l=r),{r:o,strokeWidth:l}}return{r:n,strokeWidth:r}}var eUe=["id"],tUe=["type","layout","connectNulls","needClip","shape"],nUe=["activeDot","animateNewValues","animationBegin","animationDuration","animationEasing","connectNulls","dot","hide","isAnimationActive","label","legendType","xAxisId","yAxisId","id"];function ky(){return ky=Object.assign?Object.assign.bind():function(t){for(var e=1;e{var{dataKey:e,name:n,stroke:r,legendType:i,hide:s}=t;return[{inactive:s,dataKey:e,type:i,color:r,value:Hh(n,e),payload:t}]},lUe=_.memo(t=>{var{dataKey:e,data:n,stroke:r,strokeWidth:i,fill:s,name:o,hide:l,unit:c,tooltipType:u}=t,d={dataDefinedOnItem:n,positions:void 0,settings:{stroke:r,strokeWidth:i,fill:s,dataKey:e,nameKey:void 0,name:Hh(o,e),hide:l,type:u,color:r,unit:c}};return _.createElement(EM,{tooltipEntrySettings:d})}),oee=(t,e)=>"".concat(e,"px ").concat(t-e,"px");function cUe(t,e){for(var n=t.length%2!==0?[...t,0]:t,r=[],i=0;i{var r=n.reduce((h,p)=>h+p);if(!r)return oee(e,t);for(var i=Math.floor(t/r),s=t%r,o=e-t,l=[],c=0,u=0;cs){l=[...n.slice(0,c),s-u];break}var d=l.length%2===0?[0,o]:[o];return[...cUe(n,i),...l,...d].map(h=>"".concat(h,"px")).join(", ")};function dUe(t){var{clipPathId:e,points:n,props:r}=t,{dot:i,dataKey:s,needClip:o}=r,{id:l}=r,c=k4(r,eUe),u=Ms(c);return _.createElement(HJ,{points:n,dot:i,className:"recharts-line-dots",dotClassName:"recharts-line-dot",dataKey:s,baseProps:u,needClip:o,clipPathId:e})}function hUe(t){var{showLabels:e,children:n,points:r}=t,i=_.useMemo(()=>r?.map(s=>{var o,l,c={x:(o=s.x)!==null&&o!==void 0?o:0,y:(l=s.y)!==null&&l!==void 0?l:0,width:0,lowerWidth:0,upperWidth:0,height:0};return rc(rc({},c),{},{value:s.value,payload:s.payload,viewBox:c,parentViewBox:void 0,fill:void 0})}),[r]);return _.createElement(d4,{value:e?i:void 0},n)}function vq(t){var{clipPathId:e,pathRef:n,points:r,strokeDasharray:i,props:s}=t,{type:o,layout:l,connectNulls:c,needClip:u,shape:d}=s,h=k4(s,tUe),p=rc(rc({},Ga(h)),{},{fill:"none",className:"recharts-line-curve",clipPath:u?"url(#clipPath-".concat(e,")"):void 0,points:r,type:o,layout:l,connectNulls:c,strokeDasharray:i??s.strokeDasharray});return _.createElement(_.Fragment,null,r?.length>1&&_.createElement(g4,ky({shapeType:"curve",option:d},p,{pathRef:n})),_.createElement(dUe,{points:r,clipPathId:e,props:s}))}function fUe(t){try{return t&&t.getTotalLength&&t.getTotalLength()||0}catch{return 0}}function mUe(t){var{clipPathId:e,props:n,pathRef:r,previousPointsRef:i,longestAnimatedLengthRef:s}=t,{points:o,strokeDasharray:l,isAnimationActive:c,animationBegin:u,animationDuration:d,animationEasing:h,animateNewValues:p,width:m,height:b,onAnimationEnd:y,onAnimationStart:x}=n,v=i.current,S=Pb(o,"recharts-line-"),N=_.useRef(S),[T,M]=_.useState(!1),A=!T,k=_.useCallback(()=>{typeof y=="function"&&y(),M(!1)},[y]),R=_.useCallback(()=>{typeof x=="function"&&x(),M(!0)},[x]),C=fUe(r.current),P=_.useRef(0);N.current!==S&&(P.current=s.current,N.current=S);var U=P.current;return _.createElement(hUe,{points:o,showLabels:A},n.children,_.createElement(Cb,{animationId:S,begin:u,duration:d,isActive:c,easing:h,onAnimationEnd:k,onAnimationStart:R,key:S},F=>{var H=pr(U,C+U,F),D=Math.min(H,C),$;if(c)if(l){var G="".concat(l).split(/[,\s]+/gim).map(Q=>parseFloat(Q));$=uUe(D,C,G)}else $=oee(C,D);else $=l==null?void 0:String(l);if(F>0&&C>0&&(i.current=o,s.current=Math.max(s.current,D)),v){var I=v.length/o.length,K=F===1?o:o.map((Q,oe)=>{var B=Math.floor(oe*I);if(v[B]){var W=v[B];return rc(rc({},Q),{},{x:pr(W.x,Q.x,F),y:pr(W.y,Q.y,F)})}return p?rc(rc({},Q),{},{x:pr(m*2,Q.x,F),y:pr(b/2,Q.y,F)}):rc(rc({},Q),{},{x:Q.x,y:Q.y})});return i.current=K,_.createElement(vq,{props:n,points:K,clipPathId:e,pathRef:r,strokeDasharray:$})}return _.createElement(vq,{props:n,points:o,clipPathId:e,pathRef:r,strokeDasharray:$})}),_.createElement(NM,{label:n.label}))}function pUe(t){var{clipPathId:e,props:n}=t,r=_.useRef(null),i=_.useRef(0),s=_.useRef(null);return _.createElement(mUe,{props:n,clipPathId:e,previousPointsRef:r,longestAnimatedLengthRef:i,pathRef:s})}var gUe=(t,e)=>{var n,r;return{x:(n=t.x)!==null&&n!==void 0?n:void 0,y:(r=t.y)!==null&&r!==void 0?r:void 0,value:t.value,errorVal:vr(t.payload,e)}};class bUe extends _.Component{render(){var{hide:e,dot:n,points:r,className:i,xAxisId:s,yAxisId:o,top:l,left:c,width:u,height:d,id:h,needClip:p,zIndex:m}=this.props;if(e)return null;var b=nr("recharts-line",i),y=h,{r:x,strokeWidth:v}=see(n),S=p4(n),N=x*2+v,T=p?"url(#clipPath-".concat(S?"":"dots-").concat(y,")"):void 0;return _.createElement(ls,{zIndex:m},_.createElement(li,{className:b},p&&_.createElement("defs",null,_.createElement(_4,{clipPathId:y,xAxisId:s,yAxisId:o}),!S&&_.createElement("clipPath",{id:"clipPath-dots-".concat(y)},_.createElement("rect",{x:c-N/2,y:l-N/2,width:u+N,height:d+N}))),_.createElement(GJ,{xAxisId:s,yAxisId:o,data:r,dataPointFormatter:gUe,errorBarOffset:0},_.createElement(pUe,{props:this.props,clipPathId:y}))),_.createElement(jD,{activeDot:this.props.activeDot,points:r,mainColor:this.props.stroke,itemDataKey:this.props.dataKey,clipPath:T}))}}var lee={activeDot:!0,animateNewValues:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",connectNulls:!1,dot:!0,fill:"#fff",hide:!1,isAnimationActive:"auto",label:!1,legendType:"line",stroke:"#3182bd",strokeWidth:1,xAxisId:0,yAxisId:0,zIndex:vi.line,type:"linear"};function xUe(t){var e=ci(t,lee),{activeDot:n,animateNewValues:r,animationBegin:i,animationDuration:s,animationEasing:o,connectNulls:l,dot:c,hide:u,isAnimationActive:d,label:h,legendType:p,xAxisId:m,yAxisId:b,id:y}=e,x=k4(e,nUe),{needClip:v}=PM(m,b),S=CM(),N=Lm(),T=aa(),M=Ht(P=>Jze(P,m,b,T,y));if(N!=="horizontal"&&N!=="vertical"||M==null||S==null)return null;var{height:A,width:k,x:R,y:C}=S;return _.createElement(bUe,ky({},x,{id:y,connectNulls:l,dot:c,activeDot:n,animateNewValues:r,animationBegin:i,animationDuration:s,animationEasing:o,isAnimationActive:d,hide:u,label:h,legendType:p,xAxisId:m,yAxisId:b,points:M,layout:N,height:A,width:k,left:R,top:C,needClip:v}))}function yUe(t){var{layout:e,xAxis:n,yAxis:r,xAxisTicks:i,yAxisTicks:s,dataKey:o,bandSize:l,displayedData:c}=t;return c.map((u,d)=>{var h=vr(u,o);if(e==="horizontal"){var p=CS({axis:n,ticks:i,bandSize:l,entry:u,index:d}),m=Yr(h)?null:r.scale(h);return{x:p,y:m,value:h,payload:u}}var b=Yr(h)?null:n.scale(h),y=CS({axis:r,ticks:s,bandSize:l,entry:u,index:d});return b==null||y==null?null:{x:b,y,value:h,payload:u}}).filter(Boolean)}function vUe(t){var e=ci(t,lee),n=aa();return _.createElement(TM,{id:e.id,type:"line"},r=>_.createElement(_.Fragment,null,_.createElement(v4,{legendPayload:oUe(e)}),_.createElement(lUe,{dataKey:e.dataKey,data:e.data,stroke:e.stroke,strokeWidth:e.strokeWidth,fill:e.fill,name:e.name,hide:e.hide,unit:e.unit,tooltipType:e.tooltipType}),_.createElement(w4,{type:"line",id:r,data:e.data,xAxisId:e.xAxisId,yAxisId:e.yAxisId,zAxisId:0,dataKey:e.dataKey,hide:e.hide,isPanorama:n}),_.createElement(xUe,ky({},e,{id:r}))))}var cee=_.memo(vUe,vv);cee.displayName="Line";var uee=(t,e,n,r)=>_c(t,"xAxis",e,r),dee=(t,e,n,r)=>wc(t,"xAxis",e,r),hee=(t,e,n,r)=>_c(t,"yAxis",n,r),fee=(t,e,n,r)=>wc(t,"yAxis",n,r),wUe=st([Kn,uee,hee,dee,fee],(t,e,n,r,i)=>Tc(t,"xAxis")?Oh(e,r,!1):Oh(n,i,!1)),_Ue=(t,e,n,r,i)=>i,mee=st([dv,_Ue],(t,e)=>t.filter(n=>n.type==="area").find(n=>n.id===e)),SUe=(t,e,n,r,i)=>{var s,o=mee(t,e,n,r,i);if(o!=null){var l=Kn(t),c=Tc(l,"xAxis"),u;if(c?u=Sy(t,"yAxis",n,r):u=Sy(t,"xAxis",e,r),u!=null){var{stackId:d}=o,h=mM(o);if(!(d==null||h==null)){var p=(s=u[d])===null||s===void 0?void 0:s.stackedData;return p?.find(m=>m.key===h)}}}},NUe=st([Kn,uee,hee,dee,fee,SUe,ov,wUe,mee,Z3e],(t,e,n,r,i,s,o,l,c,u)=>{var{chartData:d,dataStartIndex:h,dataEndIndex:p}=o;if(!(c==null||t!=="horizontal"&&t!=="vertical"||e==null||n==null||r==null||i==null||r.length===0||i.length===0||l==null)){var{data:m}=c,b;if(m&&m.length>0?b=m:b=d?.slice(h,p+1),b!=null)return $Ue({layout:t,xAxis:e,yAxis:n,xAxisTicks:r,yAxisTicks:i,dataStartIndex:h,areaSettings:c,stackedData:s,displayedData:b,chartBaseValue:u,bandSize:l})}}),kUe=["id"],MUe=["activeDot","animationBegin","animationDuration","animationEasing","connectNulls","dot","fill","fillOpacity","hide","isAnimationActive","legendType","stroke","xAxisId","yAxisId"];function nm(){return nm=Object.assign?Object.assign.bind():function(t){for(var e=1;e{var{dataKey:e,name:n,stroke:r,fill:i,legendType:s,hide:o}=t;return[{inactive:o,dataKey:e,type:s,color:cN(r,i),value:Hh(n,e),payload:t}]},jUe=_.memo(t=>{var{dataKey:e,data:n,stroke:r,strokeWidth:i,fill:s,name:o,hide:l,unit:c,tooltipType:u}=t,d={dataDefinedOnItem:n,positions:void 0,settings:{stroke:r,strokeWidth:i,fill:s,dataKey:e,nameKey:void 0,name:Hh(o,e),hide:l,type:u,color:cN(r,s),unit:c}};return _.createElement(EM,{tooltipEntrySettings:d})});function DUe(t){var{clipPathId:e,points:n,props:r}=t,{needClip:i,dot:s,dataKey:o}=r,l=Ms(r);return _.createElement(HJ,{points:n,dot:s,className:"recharts-area-dots",dotClassName:"recharts-area-dot",dataKey:o,baseProps:l,needClip:i,clipPathId:e})}function RUe(t){var{showLabels:e,children:n,points:r}=t,i=r.map(s=>{var o,l,c={x:(o=s.x)!==null&&o!==void 0?o:0,y:(l=s.y)!==null&&l!==void 0?l:0,width:0,lowerWidth:0,upperWidth:0,height:0};return Sg(Sg({},c),{},{value:s.value,payload:s.payload,parentViewBox:void 0,viewBox:c,fill:void 0})});return _.createElement(d4,{value:e?i:void 0},n)}function _q(t){var{points:e,baseLine:n,needClip:r,clipPathId:i,props:s}=t,{layout:o,type:l,stroke:c,connectNulls:u,isRange:d}=s,{id:h}=s,p=pee(s,kUe),m=Ms(p),b=Ga(p);return _.createElement(_.Fragment,null,e?.length>1&&_.createElement(li,{clipPath:r?"url(#clipPath-".concat(i,")"):void 0},_.createElement(Lg,nm({},b,{id:h,points:e,connectNulls:u,type:l,baseLine:n,layout:o,stroke:"none",className:"recharts-area-area"})),c!=="none"&&_.createElement(Lg,nm({},m,{className:"recharts-area-curve",layout:o,type:l,connectNulls:u,fill:"none",points:e})),c!=="none"&&d&&_.createElement(Lg,nm({},m,{className:"recharts-area-curve",layout:o,type:l,connectNulls:u,fill:"none",points:n}))),_.createElement(DUe,{points:e,props:p,clipPathId:i}))}function OUe(t){var{alpha:e,baseLine:n,points:r,strokeWidth:i}=t,s=r[0].y,o=r[r.length-1].y;if(!wr(s)||!wr(o))return null;var l=e*Math.abs(s-o),c=Math.max(...r.map(u=>u.x||0));return Vt(n)?c=Math.max(n,c):n&&Array.isArray(n)&&n.length&&(c=Math.max(...n.map(u=>u.x||0),c)),Vt(c)?_.createElement("rect",{x:0,y:su.y||0));return Vt(n)?c=Math.max(n,c):n&&Array.isArray(n)&&n.length&&(c=Math.max(...n.map(u=>u.y||0),c)),Vt(c)?_.createElement("rect",{x:s({points:o,baseLine:l}),[o,l]),y=Pb(b,"recharts-area-"),x=gAe(),[v,S]=_.useState(!1),N=!v,T=_.useCallback(()=>{typeof m=="function"&&m(),S(!1)},[m]),M=_.useCallback(()=>{typeof p=="function"&&p(),S(!0)},[p]);if(x==null)return null;var A=i.current,k=s.current;return _.createElement(RUe,{showLabels:N,points:o},r.children,_.createElement(Cb,{animationId:y,begin:u,duration:d,isActive:c,easing:h,onAnimationEnd:T,onAnimationStart:M,key:y},R=>{if(A){var C=A.length/o.length,P=R===1?o:o.map((F,H)=>{var D=Math.floor(H*C);if(A[D]){var $=A[D];return Sg(Sg({},F),{},{x:pr($.x,F.x,R),y:pr($.y,F.y,R)})}return F}),U;return Vt(l)?U=pr(k,l,R):Yr(l)||Ys(l)?U=pr(k,0,R):U=l.map((F,H)=>{var D=Math.floor(H*C);if(Array.isArray(k)&&k[D]){var $=k[D];return Sg(Sg({},F),{},{x:pr($.x,F.x,R),y:pr($.y,F.y,R)})}return F}),R>0&&(i.current=P,s.current=U),_.createElement(_q,{points:P,baseLine:U,needClip:e,clipPathId:n,props:r})}return R>0&&(i.current=o,s.current=l),_.createElement(li,null,c&&_.createElement("defs",null,_.createElement("clipPath",{id:"animationClipPath-".concat(n)},_.createElement(FUe,{alpha:R,points:o,baseLine:l,layout:x,strokeWidth:r.strokeWidth}))),_.createElement(li,{clipPath:"url(#animationClipPath-".concat(n,")")},_.createElement(_q,{points:o,baseLine:l,needClip:e,clipPathId:n,props:r})))}),_.createElement(NM,{label:r.label}))}function zUe(t){var{needClip:e,clipPathId:n,props:r}=t,i=_.useRef(null),s=_.useRef();return _.createElement(IUe,{needClip:e,clipPathId:n,props:r,previousPointsRef:i,previousBaselineRef:s})}class UUe extends _.PureComponent{render(){var{hide:e,dot:n,points:r,className:i,top:s,left:o,needClip:l,xAxisId:c,yAxisId:u,width:d,height:h,id:p,baseLine:m,zIndex:b}=this.props;if(e)return null;var y=nr("recharts-area",i),x=p,{r:v,strokeWidth:S}=see(n),N=p4(n),T=v*2+S,M=l?"url(#clipPath-".concat(N?"":"dots-").concat(x,")"):void 0;return _.createElement(ls,{zIndex:b},_.createElement(li,{className:y},l&&_.createElement("defs",null,_.createElement(_4,{clipPathId:x,xAxisId:c,yAxisId:u}),!N&&_.createElement("clipPath",{id:"clipPath-dots-".concat(x)},_.createElement("rect",{x:o-T/2,y:s-T/2,width:d+T,height:h+T}))),_.createElement(zUe,{needClip:l,clipPathId:x,props:this.props})),_.createElement(jD,{points:r,mainColor:cN(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:M}),this.props.isRange&&Array.isArray(m)&&_.createElement(jD,{points:m,mainColor:cN(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:M}))}}var gee={activeDot:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",connectNulls:!1,dot:!1,fill:"#3182bd",fillOpacity:.6,hide:!1,isAnimationActive:"auto",legendType:"line",stroke:"#3182bd",strokeWidth:1,type:"linear",label:!1,xAxisId:0,yAxisId:0,zIndex:vi.area};function BUe(t){var e,n=ci(t,gee),{activeDot:r,animationBegin:i,animationDuration:s,animationEasing:o,connectNulls:l,dot:c,fill:u,fillOpacity:d,hide:h,isAnimationActive:p,legendType:m,stroke:b,xAxisId:y,yAxisId:x}=n,v=pee(n,MUe),S=Lm(),N=dJ(),{needClip:T}=PM(y,x),M=aa(),{points:A,isRange:k,baseLine:R}=(e=Ht(D=>NUe(D,y,x,M,t.id)))!==null&&e!==void 0?e:{},C=CM();if(S!=="horizontal"&&S!=="vertical"||C==null||N!=="AreaChart"&&N!=="ComposedChart")return null;var{height:P,width:U,x:F,y:H}=C;return!A||!A.length?null:_.createElement(UUe,nm({},v,{activeDot:r,animationBegin:i,animationDuration:s,animationEasing:o,baseLine:R,connectNulls:l,dot:c,fill:u,fillOpacity:d,height:P,hide:h,layout:S,isAnimationActive:p==="auto"?!Ab.isSsr:p,isRange:k,legendType:m,needClip:T,points:A,stroke:b,width:U,left:F,top:H,xAxisId:y,yAxisId:x}))}var HUe=(t,e,n,r,i)=>{var s=n??e;if(Vt(s))return s;var o=t==="horizontal"?i:r,l=o.scale.domain();if(o.type==="number"){var c=Math.max(l[0],l[1]),u=Math.min(l[0],l[1]);return s==="dataMin"?u:s==="dataMax"||c<0?c:Math.max(Math.min(l[0],l[1]),0)}return s==="dataMin"?l[0]:s==="dataMax"?l[1]:l[0]};function $Ue(t){var{areaSettings:{connectNulls:e,baseValue:n,dataKey:r},stackedData:i,layout:s,chartBaseValue:o,xAxis:l,yAxis:c,displayedData:u,dataStartIndex:d,xAxisTicks:h,yAxisTicks:p,bandSize:m}=t,b=i&&i.length,y=HUe(s,o,n,l,c),x=s==="horizontal",v=!1,S=u.map((T,M)=>{var A;b?A=i[d+M]:(A=vr(T,r),Array.isArray(A)?v=!0:A=[y,A]);var k=A[1]==null||b&&!e&&vr(T,r)==null;return x?{x:CS({axis:l,ticks:h,bandSize:m,entry:T,index:M}),y:k?null:c.scale(A[1]),value:A,payload:T}:{x:k?null:l.scale(A[1]),y:CS({axis:c,ticks:p,bandSize:m,entry:T,index:M}),value:A,payload:T}}),N;return b||v?N=S.map(T=>{var M=Array.isArray(T.value)?T.value[0]:null;return x?{x:T.x,y:M!=null&&T.y!=null?c.scale(M):null,payload:T.payload}:{x:M!=null?l.scale(M):null,y:T.y,payload:T.payload}}):N=x?c.scale(y):l.scale(y),{points:S,baseLine:N,isRange:v}}function VUe(t){var e=ci(t,gee),n=aa();return _.createElement(TM,{id:e.id,type:"area"},r=>_.createElement(_.Fragment,null,_.createElement(v4,{legendPayload:PUe(e)}),_.createElement(jUe,{dataKey:e.dataKey,data:e.data,stroke:e.stroke,strokeWidth:e.strokeWidth,fill:e.fill,name:e.name,hide:e.hide,unit:e.unit,tooltipType:e.tooltipType}),_.createElement(w4,{type:"area",id:r,data:e.data,dataKey:e.dataKey,xAxisId:e.xAxisId,yAxisId:e.yAxisId,zAxisId:0,stackId:UY(e.stackId),hide:e.hide,barSize:void 0,baseValue:e.baseValue,isPanorama:n,connectNulls:e.connectNulls}),_.createElement(BUe,nm({},e,{id:r}))))}var bee=_.memo(VUe,vv);bee.displayName="Area";var GUe=["domain","range"],qUe=["domain","range"];function Sq(t,e){if(t==null)return{};var n,r,i=WUe(t,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(r=0;r{n.current===null?e(GFe(t)):n.current!==t&&e(qFe({prev:n.current,next:t})),n.current=t},[t,e]),_.useLayoutEffect(()=>()=>{n.current&&(e(WFe(n.current)),n.current=null)},[e]),null}var ZUe=t=>{var{xAxisId:e,className:n}=t,r=Ht(KO),i=aa(),s="xAxis",o=Ht(x=>Fh(x,s,e,i)),l=Ht(x=>$Z(x,s,e,i)),c=Ht(x=>zZ(x,e)),u=Ht(x=>XDe(x,e)),d=Ht(x=>vZ(x,e));if(c==null||u==null||d==null)return null;var{dangerouslySetInnerHTML:h,ticks:p}=t,m=kq(t,KUe),{id:b}=d,y=kq(d,XUe);return _.createElement(N4,RD({},m,y,{scale:o,x:u.x,y:u.y,width:c.width,height:c.height,className:nr("recharts-".concat(s," ").concat(s),n),viewBox:r,ticks:l,axisType:s}))},JUe={allowDataOverflow:ga.allowDataOverflow,allowDecimals:ga.allowDecimals,allowDuplicatedCategory:ga.allowDuplicatedCategory,angle:ga.angle,axisLine:Ru.axisLine,height:ga.height,hide:!1,includeHidden:ga.includeHidden,interval:ga.interval,minTickGap:ga.minTickGap,mirror:ga.mirror,orientation:ga.orientation,padding:ga.padding,reversed:ga.reversed,scale:ga.scale,tick:ga.tick,tickCount:ga.tickCount,tickLine:Ru.tickLine,tickSize:Ru.tickSize,type:ga.type,xAxisId:0},eBe=t=>{var e=ci(t,JUe);return _.createElement(_.Fragment,null,_.createElement(QUe,{allowDataOverflow:e.allowDataOverflow,allowDecimals:e.allowDecimals,allowDuplicatedCategory:e.allowDuplicatedCategory,angle:e.angle,dataKey:e.dataKey,domain:e.domain,height:e.height,hide:e.hide,id:e.xAxisId,includeHidden:e.includeHidden,interval:e.interval,minTickGap:e.minTickGap,mirror:e.mirror,name:e.name,orientation:e.orientation,padding:e.padding,reversed:e.reversed,scale:e.scale,tick:e.tick,tickCount:e.tickCount,tickFormatter:e.tickFormatter,ticks:e.ticks,type:e.type,unit:e.unit}),_.createElement(ZUe,e))},uN=_.memo(eBe,xee);uN.displayName="XAxis";var tBe=["dangerouslySetInnerHTML","ticks"],nBe=["id"];function OD(){return OD=Object.assign?Object.assign.bind():function(t){for(var e=1;e{n.current===null?e(KFe(t)):n.current!==t&&e(XFe({prev:n.current,next:t})),n.current=t},[t,e]),_.useLayoutEffect(()=>()=>{n.current&&(e(YFe(n.current)),n.current=null)},[e]),null}var aBe=t=>{var{yAxisId:e,className:n,width:r,label:i}=t,s=_.useRef(null),o=_.useRef(null),l=Ht(KO),c=aa(),u=zr(),d="yAxis",h=Ht(M=>Fh(M,d,e,c)),p=Ht(M=>UZ(M,e)),m=Ht(M=>QDe(M,e)),b=Ht(M=>$Z(M,d,e,c)),y=Ht(M=>wZ(M,e));if(_.useLayoutEffect(()=>{if(!(r!=="auto"||!p||u4(i)||_.isValidElement(i)||y==null)){var M=s.current;if(M){var A=M.getCalculatedWidth();Math.round(p.width)!==Math.round(A)&&u(QFe({id:e,width:A}))}}},[b,p,u,i,e,r,y]),p==null||m==null||y==null)return null;var{dangerouslySetInnerHTML:x,ticks:v}=t,S=Mq(t,tBe),{id:N}=y,T=Mq(y,nBe);return _.createElement(N4,OD({},S,T,{ref:s,labelRef:o,scale:h,x:m.x,y:m.y,tickTextProps:r==="auto"?{width:void 0}:{width:r},width:p.width,height:p.height,className:nr("recharts-".concat(d," ").concat(d),n),viewBox:l,ticks:b,axisType:d}))},sBe={allowDataOverflow:ba.allowDataOverflow,allowDecimals:ba.allowDecimals,allowDuplicatedCategory:ba.allowDuplicatedCategory,angle:ba.angle,axisLine:Ru.axisLine,hide:!1,includeHidden:ba.includeHidden,interval:ba.interval,minTickGap:ba.minTickGap,mirror:ba.mirror,orientation:ba.orientation,padding:ba.padding,reversed:ba.reversed,scale:ba.scale,tick:ba.tick,tickCount:ba.tickCount,tickLine:Ru.tickLine,tickSize:Ru.tickSize,type:ba.type,width:ba.width,yAxisId:0},oBe=t=>{var e=ci(t,sBe);return _.createElement(_.Fragment,null,_.createElement(iBe,{interval:e.interval,id:e.yAxisId,scale:e.scale,type:e.type,domain:e.domain,allowDataOverflow:e.allowDataOverflow,dataKey:e.dataKey,allowDuplicatedCategory:e.allowDuplicatedCategory,allowDecimals:e.allowDecimals,tickCount:e.tickCount,padding:e.padding,includeHidden:e.includeHidden,reversed:e.reversed,ticks:e.ticks,width:e.width,orientation:e.orientation,mirror:e.mirror,hide:e.hide,unit:e.unit,name:e.name,angle:e.angle,minTickGap:e.minTickGap,tick:e.tick,tickFormatter:e.tickFormatter}),_.createElement(aBe,e))},dN=_.memo(oBe,xee);dN.displayName="YAxis";var lBe=(t,e)=>e,M4=st([lBe,Kn,xZ,oa,aJ,rd,hOe,ia],yOe),E4=t=>{var e=t.currentTarget.getBoundingClientRect(),n=e.width/t.currentTarget.offsetWidth,r=e.height/t.currentTarget.offsetHeight;return{chartX:Math.round((t.clientX-e.left)/n),chartY:Math.round((t.clientY-e.top)/r)}},yee=ml("mouseClick"),vee=Jy();vee.startListening({actionCreator:yee,effect:(t,e)=>{var n=t.payload,r=M4(e.getState(),E4(n));r?.activeIndex!=null&&e.dispatch(dRe({activeIndex:r.activeIndex,activeDataKey:void 0,activeCoordinate:r.activeCoordinate}))}});var LD=ml("mouseMove"),wee=Jy(),i1=null;wee.startListening({actionCreator:LD,effect:(t,e)=>{var n=t.payload;i1!==null&&cancelAnimationFrame(i1);var r=E4(n);i1=requestAnimationFrame(()=>{var i=e.getState(),s=JL(i,i.tooltip.settings.shared);if(s==="axis"){var o=M4(i,r);o?.activeIndex!=null?e.dispatch(QZ({activeIndex:o.activeIndex,activeDataKey:void 0,activeCoordinate:o.activeCoordinate})):e.dispatch(YZ())}i1=null})}});var Eq={accessibilityLayer:!0,barCategoryGap:"10%",barGap:4,barSize:void 0,className:void 0,maxBarSize:void 0,stackOffset:"none",syncId:void 0,syncMethod:"index",baseValue:void 0,reverseStackOrder:!1},_ee=Qs({name:"rootProps",initialState:Eq,reducers:{updateOptions:(t,e)=>{var n;t.accessibilityLayer=e.payload.accessibilityLayer,t.barCategoryGap=e.payload.barCategoryGap,t.barGap=(n=e.payload.barGap)!==null&&n!==void 0?n:Eq.barGap,t.barSize=e.payload.barSize,t.maxBarSize=e.payload.maxBarSize,t.stackOffset=e.payload.stackOffset,t.syncId=e.payload.syncId,t.syncMethod=e.payload.syncMethod,t.className=e.payload.className,t.baseValue=e.payload.baseValue,t.reverseStackOrder=e.payload.reverseStackOrder}}}),cBe=_ee.reducer,{updateOptions:uBe}=_ee.actions,See=Qs({name:"polarOptions",initialState:null,reducers:{updatePolarOptions:(t,e)=>e.payload}}),{updatePolarOptions:dBe}=See.actions,hBe=See.reducer,Nee=ml("keyDown"),kee=ml("focus"),T4=Jy();T4.startListening({actionCreator:Nee,effect:(t,e)=>{var n=e.getState(),r=n.rootProps.accessibilityLayer!==!1;if(r){var{keyboardInteraction:i}=n.tooltip,s=t.payload;if(!(s!=="ArrowRight"&&s!=="ArrowLeft"&&s!=="Enter")){var o=e4(i,zb(n),fv(n),bv(n)),l=o==null?-1:Number(o);if(!(!Number.isFinite(l)||l<0)){var c=rd(n);if(s==="Enter"){var u=ZS(n,"axis","hover",String(i.index));e.dispatch(MD({active:!i.active,activeIndex:i.index,activeDataKey:i.dataKey,activeCoordinate:u}));return}var d=tRe(n),h=d==="left-to-right"?1:-1,p=s==="ArrowRight"?1:-1,m=l+p*h;if(!(c==null||m>=c.length||m<0)){var b=ZS(n,"axis","hover",String(m));e.dispatch(MD({active:!0,activeIndex:m.toString(),activeDataKey:void 0,activeCoordinate:b}))}}}}}});T4.startListening({actionCreator:kee,effect:(t,e)=>{var n=e.getState(),r=n.rootProps.accessibilityLayer!==!1;if(r){var{keyboardInteraction:i}=n.tooltip;if(!i.active&&i.index==null){var s="0",o=ZS(n,"axis","hover",String(s));e.dispatch(MD({activeDataKey:void 0,active:!0,activeIndex:s,activeCoordinate:o}))}}}});var qo=ml("externalEvent"),Mee=Jy(),hP=new Map;Mee.startListening({actionCreator:qo,effect:(t,e)=>{var{handler:n,reactEvent:r}=t.payload;if(n!=null){r.persist();var i=r.type,s=hP.get(i);s!==void 0&&cancelAnimationFrame(s);var o=requestAnimationFrame(()=>{try{var l=e.getState(),c={activeCoordinate:QRe(l),activeDataKey:a4(l),activeIndex:Ih(l),activeLabel:lJ(l),activeTooltipIndex:Ih(l),isTooltipActive:ZRe(l)};n(c,r)}finally{hP.delete(i)}});hP.set(i,o)}}});var fBe=st([Ib],t=>t.tooltipItemPayloads),mBe=st([fBe,pv,(t,e,n)=>e,(t,e,n)=>n],(t,e,n,r)=>{var i=t.find(l=>l.settings.dataKey===r);if(i!=null){var{positions:s}=i;if(s!=null){var o=e(s,n);return o}}}),Eee=ml("touchMove"),Tee=Jy();Tee.startListening({actionCreator:Eee,effect:(t,e)=>{var n=t.payload;if(!(n.touches==null||n.touches.length===0)){var r=e.getState(),i=JL(r,r.tooltip.settings.shared);if(i==="axis"){var s=M4(r,E4({clientX:n.touches[0].clientX,clientY:n.touches[0].clientY,currentTarget:n.currentTarget}));s?.activeIndex!=null&&e.dispatch(QZ({activeIndex:s.activeIndex,activeDataKey:void 0,activeCoordinate:s.activeCoordinate}))}else if(i==="item"){var o,l=n.touches[0];if(document.elementFromPoint==null)return;var c=document.elementFromPoint(l.clientX,l.clientY);if(!c||!c.getAttribute)return;var u=c.getAttribute(HY),d=(o=c.getAttribute($Y))!==null&&o!==void 0?o:void 0,h=mBe(e.getState(),u,d);e.dispatch(XZ({activeDataKey:d,activeIndex:u,activeCoordinate:h}))}}}});var pBe=cY({brush:z5e,cartesianAxis:ZFe,chartData:YOe,errorBars:bIe,graphicalItems:aFe,layout:STe,legend:PAe,options:GOe,polarAxis:v4e,polarOptions:hBe,referenceElements:Y5e,rootProps:cBe,tooltip:hRe,zIndex:DOe}),gBe=function(e){return KEe({reducer:pBe,preloadedState:e,middleware:n=>{var r;return n({serializableCheck:!1,immutableCheck:!["commonjs","es6","production"].includes((r="es6")!==null&&r!==void 0?r:"")}).concat([vee.middleware,wee.middleware,T4.middleware,Mee.middleware,Tee.middleware])},enhancers:n=>{var r=n;return typeof n=="function"&&(r=n()),r.concat(NY({type:"raf"}))},devTools:Ab.devToolsEnabled})};function Aee(t){var{preloadedState:e,children:n,reduxStoreName:r}=t,i=aa(),s=_.useRef(null);if(i)return n;s.current==null&&(s.current=gBe(e));var o=zO;return _.createElement(BIe,{context:o,store:s.current},n)}function bBe(t){var{layout:e,margin:n}=t,r=zr(),i=aa();return _.useEffect(()=>{i||(r(vTe(e)),r(yTe(n)))},[r,i,e,n]),null}var Cee=_.memo(bBe,vv);function Pee(t){var e=zr();return _.useEffect(()=>{e(uBe(t))},[e,t]),null}function Tq(t){var{zIndex:e,isPanorama:n}=t,r=n?"recharts-zindex-panorama-":"recharts-zindex-",i=zJ("".concat(r).concat(e)),s=zr();return _.useLayoutEffect(()=>(s(POe({zIndex:e,elementId:i,isPanorama:n})),()=>{s(jOe({zIndex:e,isPanorama:n}))}),[s,e,i,n]),_.createElement("g",{tabIndex:-1,id:i})}function Aq(t){var{children:e,isPanorama:n}=t,r=Ht(wOe);if(!r||r.length===0)return e;var i=r.filter(o=>o<0),s=r.filter(o=>o>0);return _.createElement(_.Fragment,null,i.map(o=>_.createElement(Tq,{key:o,zIndex:o,isPanorama:n})),e,s.map(o=>_.createElement(Tq,{key:o,zIndex:o,isPanorama:n})))}var xBe=["children"];function yBe(t,e){if(t==null)return{};var n,r,i=vBe(t,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(r=0;r{var n=YO(),r=QO(),i=aQ();if(!yc(n)||!yc(r))return null;var{children:s,otherAttributes:o,title:l,desc:c}=t,u,d;return o!=null&&(typeof o.tabIndex=="number"?u=o.tabIndex:u=i?0:void 0,typeof o.role=="string"?d=o.role:d=i?"application":void 0),_.createElement(AO,hN({},o,{title:l,desc:c,role:d,tabIndex:u,width:n,height:r,style:wBe,ref:e}),s)}),SBe=t=>{var{children:e}=t,n=Ht(tM);if(!n)return null;var{width:r,height:i,y:s,x:o}=n;return _.createElement(AO,{width:r,height:i,x:o,y:s},e)},Cq=_.forwardRef((t,e)=>{var{children:n}=t,r=yBe(t,xBe),i=aa();return i?_.createElement(SBe,null,_.createElement(Aq,{isPanorama:!0},n)):_.createElement(_Be,hN({ref:e},r),_.createElement(Aq,{isPanorama:!1},n))});function NBe(){var t=zr(),[e,n]=_.useState(null),r=Ht(UTe);return _.useEffect(()=>{if(e!=null){var i=e.getBoundingClientRect(),s=i.width/e.offsetWidth;wr(s)&&s!==r&&t(_Te(s))}},[e,t,r]),n}function Pq(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function kBe(t){for(var e=1;e(aLe(),null);function fN(t){if(typeof t=="number")return t;if(typeof t=="string"){var e=parseFloat(t);if(!Number.isNaN(e))return e}return 0}var CBe=_.forwardRef((t,e)=>{var n,r,i=_.useRef(null),[s,o]=_.useState({containerWidth:fN((n=t.style)===null||n===void 0?void 0:n.width),containerHeight:fN((r=t.style)===null||r===void 0?void 0:r.height)}),l=_.useCallback((u,d)=>{o(h=>{var p=Math.round(u),m=Math.round(d);return h.containerWidth===p&&h.containerHeight===m?h:{containerWidth:p,containerHeight:m}})},[]),c=_.useCallback(u=>{if(typeof e=="function"&&e(u),u!=null&&typeof ResizeObserver<"u"){var{width:d,height:h}=u.getBoundingClientRect();l(d,h);var p=b=>{var{width:y,height:x}=b[0].contentRect;l(y,x)},m=new ResizeObserver(p);m.observe(u),i.current=m}},[e,l]);return _.useEffect(()=>()=>{var u=i.current;u?.disconnect()},[l]),_.createElement(_.Fragment,null,_.createElement(nM,{width:s.containerWidth,height:s.containerHeight}),_.createElement("div",Mm({ref:c},t)))}),PBe=_.forwardRef((t,e)=>{var{width:n,height:r}=t,[i,s]=_.useState({containerWidth:fN(n),containerHeight:fN(r)}),o=_.useCallback((c,u)=>{s(d=>{var h=Math.round(c),p=Math.round(u);return d.containerWidth===h&&d.containerHeight===p?d:{containerWidth:h,containerHeight:p}})},[]),l=_.useCallback(c=>{if(typeof e=="function"&&e(c),c!=null){var{width:u,height:d}=c.getBoundingClientRect();o(u,d)}},[e,o]);return _.createElement(_.Fragment,null,_.createElement(nM,{width:i.containerWidth,height:i.containerHeight}),_.createElement("div",Mm({ref:l},t)))}),jBe=_.forwardRef((t,e)=>{var{width:n,height:r}=t;return _.createElement(_.Fragment,null,_.createElement(nM,{width:n,height:r}),_.createElement("div",Mm({ref:e},t)))}),DBe=_.forwardRef((t,e)=>{var{width:n,height:r}=t;return qu(n)||qu(r)?_.createElement(PBe,Mm({},t,{ref:e})):_.createElement(jBe,Mm({},t,{ref:e}))});function RBe(t){return t===!0?CBe:DBe}var OBe=_.forwardRef((t,e)=>{var{children:n,className:r,height:i,onClick:s,onContextMenu:o,onDoubleClick:l,onMouseDown:c,onMouseEnter:u,onMouseLeave:d,onMouseMove:h,onMouseUp:p,onTouchEnd:m,onTouchMove:b,onTouchStart:y,style:x,width:v,responsive:S,dispatchTouchEvents:N=!0}=t,T=_.useRef(null),M=zr(),[A,k]=_.useState(null),[R,C]=_.useState(null),P=NBe(),U=XO(),F=U?.width>0?U.width:v,H=U?.height>0?U.height:i,D=_.useCallback(se=>{P(se),typeof e=="function"&&e(se),k(se),C(se),se!=null&&(T.current=se)},[P,e,k,C]),$=_.useCallback(se=>{M(yee(se)),M(qo({handler:s,reactEvent:se}))},[M,s]),G=_.useCallback(se=>{M(LD(se)),M(qo({handler:u,reactEvent:se}))},[M,u]),I=_.useCallback(se=>{M(YZ()),M(qo({handler:d,reactEvent:se}))},[M,d]),K=_.useCallback(se=>{M(LD(se)),M(qo({handler:h,reactEvent:se}))},[M,h]),Q=_.useCallback(()=>{M(kee())},[M]),oe=_.useCallback(se=>{M(Nee(se.key))},[M]),B=_.useCallback(se=>{M(qo({handler:o,reactEvent:se}))},[M,o]),W=_.useCallback(se=>{M(qo({handler:l,reactEvent:se}))},[M,l]),J=_.useCallback(se=>{M(qo({handler:c,reactEvent:se}))},[M,c]),ne=_.useCallback(se=>{M(qo({handler:p,reactEvent:se}))},[M,p]),me=_.useCallback(se=>{M(qo({handler:y,reactEvent:se}))},[M,y]),fe=_.useCallback(se=>{N&&M(Eee(se)),M(qo({handler:b,reactEvent:se}))},[M,N,b]),de=_.useCallback(se=>{M(qo({handler:m,reactEvent:se}))},[M,m]),Re=RBe(S);return _.createElement(gJ.Provider,{value:A},_.createElement(NX.Provider,{value:R},_.createElement(Re,{width:F??x?.width,height:H??x?.height,className:nr("recharts-wrapper",r),style:kBe({position:"relative",cursor:"default",width:F,height:H},x),onClick:$,onContextMenu:B,onDoubleClick:W,onFocus:Q,onKeyDown:oe,onMouseDown:J,onMouseEnter:G,onMouseLeave:I,onMouseMove:K,onMouseUp:ne,onTouchEnd:de,onTouchMove:fe,onTouchStart:me,ref:D},_.createElement(ABe,null),n)))}),LBe=["width","height","responsive","children","className","style","compact","title","desc"];function FBe(t,e){if(t==null)return{};var n,r,i=IBe(t,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(r=0;r{var{width:n,height:r,responsive:i,children:s,className:o,style:l,compact:c,title:u,desc:d}=t,h=FBe(t,LBe),p=Ms(h);return c?_.createElement(_.Fragment,null,_.createElement(nM,{width:n,height:r}),_.createElement(Cq,{otherAttributes:p,title:u,desc:d},s)):_.createElement(OBe,{className:o,style:l,width:n,height:r,responsive:i??!1,onClick:t.onClick,onMouseLeave:t.onMouseLeave,onMouseEnter:t.onMouseEnter,onMouseMove:t.onMouseMove,onMouseDown:t.onMouseDown,onMouseUp:t.onMouseUp,onContextMenu:t.onContextMenu,onDoubleClick:t.onDoubleClick,onTouchStart:t.onTouchStart,onTouchMove:t.onTouchMove,onTouchEnd:t.onTouchEnd},_.createElement(Cq,{otherAttributes:p,title:u,desc:d,ref:e},_.createElement(Q5e,null,s)))});function FD(){return FD=Object.assign?Object.assign.bind():function(t){for(var e=1;e_.createElement(A4,{chartName:"LineChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:BBe,tooltipPayloadSearcher:_M,categoricalChartProps:t,ref:e})),$Be=["axis","item"],VBe=_.forwardRef((t,e)=>_.createElement(A4,{chartName:"BarChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:$Be,tooltipPayloadSearcher:_M,categoricalChartProps:t,ref:e}));function GBe(t){var e=zr();return _.useEffect(()=>{e(dBe(t))},[e,t]),null}var qBe=["layout"];function ID(){return ID=Object.assign?Object.assign.bind():function(t){for(var e=1;e{var n=ci(t,t8e);return _.createElement(YBe,{chartName:"PieChart",defaultTooltipEventType:"item",validateTooltipEventTypes:e8e,tooltipPayloadSearcher:_M,categoricalChartProps:n,ref:e})}),r8e=["axis"],i8e=_.forwardRef((t,e)=>_.createElement(A4,{chartName:"AreaChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:r8e,tooltipPayloadSearcher:_M,categoricalChartProps:t,ref:e}));const Rq=[{value:"6h",label:"6h",hours:6},{value:"24h",label:"24h",hours:24},{value:"48h",label:"48h",hours:48},{value:"7d",label:"7d",hours:168}];function a8e({isOpen:t,onClose:e,printerId:n,printerName:r,amsId:i,amsLabel:s,initialMode:o="humidity",thresholds:l}){const{t:c}=Yt(),{mode:u}=Dm(),[d,h]=_.useState("24h"),[p,m]=_.useState(o),b=u==="dark",{data:y}=it({queryKey:["settings"],queryFn:ae.getSettings}),x=y?.time_format||"system";_.useEffect(()=>{if(!t)return;const ne=me=>{me.key==="Escape"&&e()};return window.addEventListener("keydown",ne),()=>window.removeEventListener("keydown",ne)},[t,e]);const v=Rq.find(ne=>ne.value===d)?.hours||24,{data:S,isLoading:N,error:T}=it({queryKey:["ams-history",n,i,v],queryFn:()=>ae.getAMSHistory(n,i,v),enabled:t,refetchInterval:6e4});if(!t)return null;const M=S?.data.map(ne=>{const me=zi(ne.recorded_at)||new Date,fe={hour:"2-digit",minute:"2-digit",...v>24?{day:"numeric",month:"short"}:{}};return{time:me.getTime(),humidity:ne.humidity,temperature:ne.temperature,timeLabel:me.toLocaleTimeString([],S0(fe,x))}})||[],A=l?.humidityGood||40,k=l?.humidityFair||60,R=l?.tempGood||30,C=l?.tempFair||35,P=M[M.length-1],U=P?.humidity,F=P?.temperature,H=ne=>{const me=ne.filter(Fe=>Fe!=null);if(me.length<4)return"stable";const fe=me.slice(0,Math.floor(me.length/4)),de=me.slice(-Math.floor(me.length/4)),Re=fe.reduce((Fe,ce)=>Fe+ce,0)/fe.length,ke=de.reduce((Fe,ce)=>Fe+ce,0)/de.length-Re;return Math.abs(ke)<2?"stable":ke>0?"up":"down"},D=H(M.map(ne=>ne.humidity)),$=H(M.map(ne=>ne.temperature)),G=({trend:ne})=>ne==="up"?a.jsx(Pj,{className:"w-4 h-4 text-red-400"}):ne==="down"?a.jsx(GW,{className:"w-4 h-4 text-green-400"}):a.jsx(Aj,{className:"w-4 h-4 text-gray-400 dark:text-bambu-gray"}),I=ne=>ne==null?"#9ca3af":ne<=A?"#22a352":ne<=k?"#d4a017":"#c62828",K=ne=>ne==null?"#9ca3af":ne<=R?"#22a352":ne<=C?"#d4a017":"#c62828",Q=b?"#2d2d2d":"#ffffff",oe=b?"#1d1d1d":"#f3f4f6",B=b?"#3d3d3d":"#e5e7eb",W=b?"#ffffff":"#111827",J=b?"#9ca3af":"#4b5563";return a.jsx("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50",onClick:e,children:a.jsxs("div",{className:"rounded-xl w-full max-w-4xl max-h-[90vh] overflow-hidden shadow-xl",style:{backgroundColor:Q},onClick:ne=>ne.stopPropagation(),children:[a.jsxs("div",{className:"flex items-center justify-between px-6 py-4 border-b",style:{borderColor:B},children:[a.jsxs("div",{children:[a.jsxs("h2",{className:"text-lg font-semibold",style:{color:W},children:[s," ",c("common.history","History")]}),a.jsx("p",{className:"text-sm",style:{color:J},children:r})]}),a.jsx("button",{onClick:e,className:"p-2 rounded-lg transition-colors",style:{color:J},children:a.jsx(Lt,{className:"w-5 h-5"})})]}),a.jsxs("div",{className:"p-6 space-y-6 overflow-y-auto max-h-[calc(90vh-80px)]",children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{className:"flex gap-1 rounded-lg p-1",style:{backgroundColor:oe},children:[a.jsxs("button",{onClick:()=>m("humidity"),className:`flex items-center gap-2 px-3 py-1.5 text-sm rounded-md transition-colors ${p==="humidity"?"bg-blue-600 text-white":""}`,style:p!=="humidity"?{color:J}:void 0,children:[a.jsx(HR,{className:"w-4 h-4"}),c("common.humidity","Humidity")]}),a.jsxs("button",{onClick:()=>m("temperature"),className:`flex items-center gap-2 px-3 py-1.5 text-sm rounded-md transition-colors ${p==="temperature"?"bg-orange-600 text-white":""}`,style:p!=="temperature"?{color:J}:void 0,children:[a.jsx(Ek,{className:"w-4 h-4"}),c("common.temperature","Temperature")]})]}),a.jsx("div",{className:"flex gap-1 rounded-lg p-1",style:{backgroundColor:oe},children:Rq.map(ne=>a.jsx("button",{onClick:()=>h(ne.value),className:`px-3 py-1 text-sm rounded-md transition-colors ${d===ne.value?"bg-bambu-green text-white":""}`,style:d!==ne.value?{color:J}:void 0,children:ne.label},ne.value))})]}),a.jsx("div",{className:"grid grid-cols-4 gap-4",children:p==="humidity"?a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"rounded-lg p-4",style:{backgroundColor:oe},children:[a.jsx("p",{className:"text-xs",style:{color:J},children:c("common.current","Current")}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("p",{className:"text-2xl font-bold",style:{color:I(U)},children:U!=null?`${U}%`:"—"}),a.jsx(G,{trend:D})]})]}),a.jsxs("div",{className:"rounded-lg p-4",style:{backgroundColor:oe},children:[a.jsx("p",{className:"text-xs",style:{color:J},children:c("common.average","Average")}),a.jsx("p",{className:"text-2xl font-bold",style:{color:W},children:S?.avg_humidity!=null?`${S.avg_humidity}%`:"—"})]}),a.jsxs("div",{className:"rounded-lg p-4",style:{backgroundColor:oe},children:[a.jsx("p",{className:"text-xs",style:{color:J},children:c("common.min","Min")}),a.jsx("p",{className:"text-2xl font-bold text-green-500",children:S?.min_humidity!=null?`${S.min_humidity}%`:"—"})]}),a.jsxs("div",{className:"rounded-lg p-4",style:{backgroundColor:oe},children:[a.jsx("p",{className:"text-xs",style:{color:J},children:c("common.max","Max")}),a.jsx("p",{className:"text-2xl font-bold text-red-500",children:S?.max_humidity!=null?`${S.max_humidity}%`:"—"})]})]}):a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"rounded-lg p-4",style:{backgroundColor:oe},children:[a.jsx("p",{className:"text-xs",style:{color:J},children:c("common.current","Current")}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("p",{className:"text-2xl font-bold",style:{color:K(F)},children:F!=null?`${F}°C`:"—"}),a.jsx(G,{trend:$})]})]}),a.jsxs("div",{className:"rounded-lg p-4",style:{backgroundColor:oe},children:[a.jsx("p",{className:"text-xs",style:{color:J},children:c("common.average","Average")}),a.jsx("p",{className:"text-2xl font-bold",style:{color:W},children:S?.avg_temperature!=null?`${S.avg_temperature}°C`:"—"})]}),a.jsxs("div",{className:"rounded-lg p-4",style:{backgroundColor:oe},children:[a.jsx("p",{className:"text-xs",style:{color:J},children:c("common.min","Min")}),a.jsx("p",{className:"text-2xl font-bold text-blue-500",children:S?.min_temperature!=null?`${S.min_temperature}°C`:"—"})]}),a.jsxs("div",{className:"rounded-lg p-4",style:{backgroundColor:oe},children:[a.jsx("p",{className:"text-xs",style:{color:J},children:c("common.max","Max")}),a.jsx("p",{className:"text-2xl font-bold text-red-500",children:S?.max_temperature!=null?`${S.max_temperature}°C`:"—"})]})]})}),a.jsx("div",{className:"rounded-lg p-4",style:{backgroundColor:oe},children:N?a.jsx("div",{className:"h-[300px] flex items-center justify-center",style:{color:J},children:c("common.loading","Loading...")}):T?a.jsx("div",{className:"h-[300px] flex items-center justify-center text-red-500",children:c("common.error","Error loading data")}):M.length===0?a.jsx("div",{className:"h-[300px] flex items-center justify-center",style:{color:J},children:c("common.noData","No data available for this time range")}):a.jsx(F1,{width:"100%",height:300,children:a.jsxs(HBe,{data:M,children:[a.jsx(lN,{strokeDasharray:"3 3",stroke:b?"#3d3d3d":"#e5e7eb"}),a.jsx(uN,{dataKey:"time",type:"number",domain:["dataMin","dataMax"],tickFormatter:ne=>{const me=new Date(ne);return v>24?me.toLocaleDateString([],{day:"numeric",month:"short"}):me.toLocaleTimeString([],S0({hour:"2-digit",minute:"2-digit"},x))},stroke:b?"#9ca3af":"#6b7280",tick:{fontSize:12}}),a.jsx(dN,{stroke:b?"#9ca3af":"#6b7280",tick:{fontSize:12},domain:p==="humidity"?[0,100]:["auto","auto"],tickFormatter:ne=>p==="humidity"?`${ne}%`:`${ne}°C`}),a.jsx(z1,{contentStyle:{backgroundColor:b?"#2d2d2d":"#ffffff",border:`1px solid ${b?"#3d3d3d":"#e5e7eb"}`,borderRadius:"8px",color:b?"#fff":"#000"},labelFormatter:ne=>new Date(ne).toLocaleString(void 0,S0({year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"},x)),formatter:ne=>[p==="humidity"?`${ne??0}%`:`${ne??0}°C`,p==="humidity"?"Humidity":"Temperature"]}),a.jsx(eL,{}),p==="humidity"?a.jsxs(a.Fragment,{children:[a.jsx(m0,{y:A,stroke:"#22a352",strokeDasharray:"5 5",label:{value:"Good",fill:"#22a352",fontSize:10}}),a.jsx(m0,{y:k,stroke:"#d4a017",strokeDasharray:"5 5",label:{value:"Fair",fill:"#d4a017",fontSize:10}})]}):a.jsxs(a.Fragment,{children:[a.jsx(m0,{y:R,stroke:"#22a352",strokeDasharray:"5 5",label:{value:"Good",fill:"#22a352",fontSize:10}}),a.jsx(m0,{y:C,stroke:"#d4a017",strokeDasharray:"5 5",label:{value:"Fair",fill:"#d4a017",fontSize:10}})]}),a.jsx(cee,{type:"monotone",dataKey:p,name:p==="humidity"?"Humidity":"Temperature",stroke:p==="humidity"?"#3b82f6":"#f97316",strokeWidth:2,dot:!1,activeDot:{r:4}})]})})}),a.jsx("div",{className:"text-xs text-center",style:{color:J},children:c("amsHistory.recordingInfo","Data is recorded every 5 minutes while the printer is connected")})]})]})})}function fP({data:t,children:e,disabled:n,className:r="",spoolman:i,configureSlot:s}){const{t:o}=Yt(),[l,c]=_.useState(!1),[u,d]=_.useState("top"),[h,p]=_.useState(!1),m=_.useRef(null),b=_.useRef(null),y=_.useRef(null),x=()=>{const k=t.trayUuid;k&&(navigator.clipboard&&window.isSecureContext?navigator.clipboard.writeText(k).then(()=>{p(!0),setTimeout(()=>p(!1),2e3)}).catch(()=>{v(k)}):v(k))},v=k=>{const R=document.createElement("textarea");R.value=k,R.style.position="fixed",R.style.opacity="0",document.body.appendChild(R),R.select();try{document.execCommand("copy"),p(!0),setTimeout(()=>p(!1),2e3)}catch{console.error("Failed to copy to clipboard")}document.body.removeChild(R)};_.useEffect(()=>{if(l&&m.current&&b.current){const k=m.current.getBoundingClientRect(),R=b.current.offsetHeight,P=k.top-56,U=window.innerHeight-k.bottom;PP?d("bottom"):d("top")}},[l]);const S=()=>{n||(y.current&&clearTimeout(y.current),y.current=setTimeout(()=>c(!0),80))},N=()=>{y.current&&clearTimeout(y.current),y.current=setTimeout(()=>c(!1),100)};_.useEffect(()=>()=>{y.current&&clearTimeout(y.current)},[]);const T=k=>k<=15?"#ef4444":k<=30?"#f97316":k<=50?"#eab308":"#22c55e",M=k=>{if(!k)return!1;const R=k.replace("#",""),C=parseInt(R.slice(0,2),16),P=parseInt(R.slice(2,4),16),U=parseInt(R.slice(4,6),16);return(.299*C+.587*P+.114*U)/255>.6},A=t.colorHex?`#${t.colorHex.replace("#","")}`:null;return a.jsxs("div",{ref:m,className:`relative ${r}`,onMouseEnter:S,onMouseLeave:N,children:[e,l&&a.jsxs("div",{ref:b,className:`
absolute left-1/2 -translate-x-1/2 z-50
${u==="top"?"bottom-full mb-2":"top-full mt-2"}
animate-in fade-in-0 zoom-in-95 duration-150
@@ -8482,7 +8482,7 @@ void main() {
border-l-[5px] border-l-transparent
border-r-[5px] border-r-transparent
border-t-[5px] border-t-bambu-dark-tertiary
- `})]})]})}function s8e({isOpen:t,onClose:e,trayUuid:n,trayInfo:r}){const{t:i}=Yt(),s=an(),{showToast:o}=Tn(),[l,c]=_.useState(null),{data:u,isLoading:d}=it({queryKey:["unlinked-spools"],queryFn:ae.getUnlinkedSpools,enabled:t}),h=dt({mutationFn:m=>ae.linkSpool(m,n),onSuccess:()=>{s.invalidateQueries({queryKey:["unlinked-spools"]}),s.invalidateQueries({queryKey:["linked-spools"]}),s.invalidateQueries({queryKey:["spoolman-status"]}),o(i("spoolman.linkSuccess"),"success"),e()},onError:m=>{o(`${i("spoolman.linkFailed")}: ${m.message}`,"error")}});if(!t)return null;const p=()=>{l&&h.mutate(l)};return a.jsxs("div",{className:"fixed inset-0 z-50 flex items-center justify-center",children:[a.jsx("div",{className:"absolute inset-0 bg-black/60 backdrop-blur-sm",onClick:e}),a.jsxs("div",{className:"relative w-full max-w-md mx-4 bg-bambu-dark-secondary border border-bambu-dark-tertiary rounded-xl shadow-2xl",children:[a.jsxs("div",{className:"flex items-center justify-between p-4 border-b border-bambu-dark-tertiary",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(dc,{className:"w-5 h-5 text-bambu-green"}),a.jsx("h2",{className:"text-lg font-semibold text-white",children:i("spoolman.linkToSpoolman")})]}),a.jsx("button",{onClick:e,className:"p-1 text-bambu-gray hover:text-white rounded transition-colors",children:a.jsx(Lt,{className:"w-5 h-5"})})]}),a.jsxs("div",{className:"p-4 space-y-4",children:[r&&a.jsxs("div",{className:"p-3 bg-bambu-dark rounded-lg border border-bambu-dark-tertiary",children:[a.jsx("p",{className:"text-xs text-bambu-gray mb-1",children:"Linking AMS tray:"}),a.jsxs("div",{className:"flex items-center gap-2",children:[r.color&&a.jsx("span",{className:"w-4 h-4 rounded-full border border-white/20",style:{backgroundColor:`#${r.color}`}}),a.jsx("span",{className:"text-white font-medium",children:r.type}),a.jsxs("span",{className:"text-bambu-gray",children:["(",r.location,")"]})]})]}),a.jsxs("div",{className:"p-3 bg-bambu-dark rounded-lg border border-bambu-dark-tertiary",children:[a.jsxs("p",{className:"text-xs text-bambu-gray mb-1",children:[i("spoolman.spoolId"),":"]}),a.jsx("code",{className:"text-xs text-bambu-green font-mono break-all",children:n})]}),a.jsxs("div",{children:[a.jsxs("p",{className:"text-sm text-bambu-gray mb-2",children:[i("spoolman.selectSpool"),":"]}),d?a.jsx("div",{className:"flex justify-center py-8",children:a.jsx(ct,{className:"w-6 h-6 text-bambu-green animate-spin"})}):u&&u.length>0?a.jsx("div",{className:"max-h-64 overflow-y-auto space-y-2",children:u.map(m=>a.jsx("button",{onClick:()=>c(m.id),className:`w-full p-3 rounded-lg border text-left transition-colors ${l===m.id?"bg-bambu-green/20 border-bambu-green":"bg-bambu-dark border-bambu-dark-tertiary hover:border-bambu-gray"}`,children:a.jsxs("div",{className:"flex items-center gap-2",children:[m.filament_color_hex&&a.jsx("span",{className:"w-4 h-4 rounded-full border border-white/20 flex-shrink-0",style:{backgroundColor:`#${m.filament_color_hex}`}}),a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsx("p",{className:"text-white font-medium truncate",children:m.filament_name||"Unknown filament"}),a.jsxs("p",{className:"text-xs text-bambu-gray",children:[m.filament_material||"Unknown",m.remaining_weight!==null&&` - ${Math.round(m.remaining_weight)}g`,m.location&&` - ${m.location}`]})]}),l===m.id&&a.jsx($i,{className:"w-4 h-4 text-bambu-green flex-shrink-0"})]})},m.id))}):a.jsx("div",{className:"text-center py-8 text-bambu-gray",children:a.jsx("p",{children:i("spoolman.noUnlinkedSpools")})})]})]}),a.jsxs("div",{className:"flex justify-end gap-2 p-4 border-t border-bambu-dark-tertiary",children:[a.jsx(Ne,{variant:"secondary",onClick:e,children:i("common.cancel")}),a.jsx(Ne,{onClick:p,disabled:!l||h.isPending,children:h.isPending?a.jsxs(a.Fragment,{children:[a.jsx(ct,{className:"w-4 h-4 animate-spin"}),i("spoolman.syncing")]}):a.jsxs(a.Fragment,{children:[a.jsx(dc,{className:"w-4 h-4"}),i("spoolman.linkToSpoolman")]})})]}),h.isError&&a.jsx("div",{className:"mx-4 mb-4 p-2 bg-red-500/20 border border-red-500/50 rounded text-sm text-red-400",children:h.error.message})]})]})}function o8e(t,e){if(t===255)return"External";let n,r=!1;t>=128&&t<=135?(n=t-128,r=!0):t>=0&&t<=3?(n=t,r=e===1):n=0,n=Math.max(0,Math.min(n,7));const i=String.fromCharCode(65+n);return r?`HT-${i}`:`AMS-${i}`}function Lq(t){const e=t.includes("_")?t.split("_")[0]:t;return e.startsWith("GFS")?"GF"+e.slice(3):(e.startsWith("PFUS")||e.startsWith("PFSP"),e)}const l8e=["PLA","PETG","ABS","ASA","TPU","PC","PA","NYLON","PVA","HIPS","PP","PET"];function Fq(t){const e=t.replace(/@.+$/,"").trim(),n=e.toUpperCase();for(const i of l8e){const s=new RegExp(`\\b${i}\\b`,"i");if(s.test(n)){const o=e.split(s),l=o[0]?.trim()||"",c=o[1]?.trim()||"";return{material:i,brand:l,variant:c}}}const r=e.split(/\s+/);return r.length>=2?{material:r[1],brand:r[0],variant:r.slice(2).join(" ")}:{material:e,brand:"",variant:""}}function c8e(t){return!t.startsWith("GF")&&!t.startsWith("P1")}const u8e={white:"FFFFFF",black:"000000",red:"FF0000",green:"00FF00",blue:"0000FF",yellow:"FFFF00",cyan:"00FFFF",magenta:"FF00FF",orange:"FFA500",purple:"800080",pink:"FFC0CB",brown:"8B4513",gray:"808080",grey:"808080","jade white":"FFFEF2",ivory:"FFFFF0",beige:"F5F5DC",cream:"FFFDD0",silver:"C0C0C0",gold:"FFD700",bronze:"CD7F32",copper:"B87333",navy:"000080",teal:"008080",olive:"808000",maroon:"800000",coral:"FF7F50",salmon:"FA8072",lime:"32CD32",mint:"98FF98","forest green":"228B22","sky blue":"87CEEB","royal blue":"4169E1",turquoise:"40E0D0",lavender:"E6E6FA",violet:"EE82EE",plum:"DDA0DD",tan:"D2B48C",chocolate:"D2691E",charcoal:"36454F",slate:"708090",transparent:"000000",natural:"F5F5DC",wood:"DEB887"},d8e=[{name:"White",hex:"FFFFFF"},{name:"Black",hex:"000000"},{name:"Red",hex:"FF0000"},{name:"Blue",hex:"0000FF"},{name:"Green",hex:"00AA00"},{name:"Yellow",hex:"FFFF00"},{name:"Orange",hex:"FFA500"},{name:"Gray",hex:"808080"}],h8e=[{name:"Cyan",hex:"00FFFF"},{name:"Magenta",hex:"FF00FF"},{name:"Purple",hex:"800080"},{name:"Pink",hex:"FFC0CB"},{name:"Brown",hex:"8B4513"},{name:"Beige",hex:"F5F5DC"},{name:"Navy",hex:"000080"},{name:"Teal",hex:"008080"},{name:"Lime",hex:"32CD32"},{name:"Gold",hex:"FFD700"},{name:"Silver",hex:"C0C0C0"},{name:"Maroon",hex:"800000"},{name:"Olive",hex:"808000"},{name:"Coral",hex:"FF7F50"},{name:"Salmon",hex:"FA8072"},{name:"Turquoise",hex:"40E0D0"},{name:"Violet",hex:"EE82EE"},{name:"Indigo",hex:"4B0082"},{name:"Chocolate",hex:"D2691E"},{name:"Tan",hex:"D2B48C"},{name:"Slate",hex:"708090"},{name:"Charcoal",hex:"36454F"},{name:"Ivory",hex:"FFFFF0"},{name:"Cream",hex:"FFFDD0"}];function f8e(t){const e=t.toLowerCase().trim();return u8e[e]||null}function m8e({isOpen:t,onClose:e,printerId:n,slotInfo:r,nozzleDiameter:i="0.4",onSuccess:s}){const{t:o}=Yt(),[l,c]=_.useState(""),[u,d]=_.useState(null),[h,p]=_.useState(""),[m,b]=_.useState(""),[y,x]=_.useState(""),[v,S]=_.useState(!1),[N,T]=_.useState(!1),{data:M,isLoading:A}=it({queryKey:["cloudSettings"],queryFn:()=>ae.getCloudSettings(),enabled:t}),{data:k,isLoading:R}=it({queryKey:["localPresets"],queryFn:()=>ae.getLocalPresets(),enabled:t}),{data:C,isLoading:P}=it({queryKey:["kprofiles",n,i],queryFn:()=>ae.getKProfiles(n,i),enabled:t&&!!n}),U=dt({mutationFn:async()=>{if(!l)throw new Error("No filament preset selected");const B=l.startsWith("local_"),W=B?parseInt(l.replace("local_",""),10):null,J=B?k?.filament.find(X=>X.id===W):null,ne=B?null:M?.filament.find(X=>X.setting_id===l);if(!B&&!ne)throw new Error("Selected preset not found");if(B&&!J)throw new Error("Selected local preset not found");const me=B?J.name:ne.name,fe=Fq(me),de=u?.slot_id??-1,Re=h||r.trayColor?.slice(0,6)||"FFFFFF",se=me.replace(/@.+$/,"").trim();let ke,Fe;if(B)ke="",Fe="";else if(ke=Lq(l),Fe=l,!l.startsWith("GFS"))try{const X=await ae.getCloudSettingDetail(l);X.filament_id?ke=X.filament_id:X.base_id&&(ke=Lq(X.base_id),console.log(`Derived tray_info_idx from base_id: ${X.base_id} -> ${ke}`))}catch(X){console.warn("Failed to fetch preset detail for filament_id:",X)}let ce=B&&J?.nozzle_temp_min?J.nozzle_temp_min:190,Ve=B&&J?.nozzle_temp_max?J.nozzle_temp_max:230;if(!B||!J?.nozzle_temp_min&&!J?.nozzle_temp_max){const X=(B&&J?.filament_type||fe.material).toUpperCase();X.includes("PLA")?(ce=190,Ve=230):X.includes("PETG")?(ce=220,Ve=260):X.includes("ABS")||X.includes("ASA")?(ce=240,Ve=280):X.includes("TPU")?(ce=200,Ve=240):X.includes("PC")?(ce=260,Ve=300):(X.includes("PA")||X.includes("NYLON"))&&(ce=250,Ve=290)}const V=u?.k_value?parseFloat(u.k_value):0,Y=B?J?.filament_type||fe.material||"PLA":fe.material||"PLA",ue=await ae.configureAmsSlot(n,r.amsId,r.trayId,{tray_info_idx:ke,tray_type:Y,tray_sub_brands:se,tray_color:Re+"FF",nozzle_temp_min:ce,nozzle_temp_max:Ve,cali_idx:de,nozzle_diameter:i,setting_id:Fe,kprofile_filament_id:u?.filament_id,kprofile_setting_id:u?.setting_id||void 0,k_value:V}),q=B?`local_${W}`:l,re=B?"local":"cloud";try{await ae.saveSlotPreset(n,r.amsId,r.trayId,q,se,re)}catch(X){console.warn("Failed to save slot preset mapping:",X)}return ue},onSuccess:()=>{S(!0),s?.(),setTimeout(()=>{S(!1),e()},1500)}}),F=dt({mutationFn:async()=>ae.resetAmsSlot(n,r.amsId,r.trayId),onSuccess:()=>{S(!0),s?.(),setTimeout(()=>{S(!1),e()},1500)}}),H=_.useMemo(()=>{const B=y.toLowerCase(),W=[];if(k?.filament)for(const J of k.filament)(!B||J.name.toLowerCase().includes(B))&&W.push({id:`local_${J.id}`,name:J.name,source:"local",isUser:!1});if(M?.filament)for(const J of M.filament)(!B||J.name.toLowerCase().includes(B))&&W.push({id:J.setting_id,name:J.name,source:"cloud",isUser:c8e(J.setting_id)});return W.sort((J,ne)=>J.source==="local"&&ne.source!=="local"?-1:J.source!=="local"&&ne.source==="local"?1:J.isUser&&!ne.isUser?-1:!J.isUser&&ne.isUser?1:J.name.localeCompare(ne.name))},[M?.filament,k?.filament,y]),D=_.useMemo(()=>{if(!l)return null;let B=null;if(l.startsWith("local_")){const ne=parseInt(l.replace("local_",""),10);B=k?.filament.find(fe=>fe.id===ne)?.name||null}else M?.filament&&(B=M.filament.find(me=>me.setting_id===l)?.name||null);if(!B)return null;let W=B.replace(/@.+$/,"").trim();W.startsWith("# ")&&(W=W.slice(2).trim());const J=Fq(W);return{fullName:W,material:J.material,brand:J.brand}},[l,M?.filament,k?.filament]),$=D?.fullName||"",G=_.useMemo(()=>{if(!C?.profiles||!D)return[];const{fullName:B,material:W,brand:J}=D,ne=B.toUpperCase(),me=W.toUpperCase(),fe=J.toUpperCase();if(!me||me.length<2)return[];const de=C.profiles.filter(se=>{const ke=se.name.toUpperCase();if(fe)return!(!ke.includes(fe)||!ke.includes(me));if(ke.includes(ne)||ke.includes(me))return!0;const ce={NYLON:["PA","PA-CF","PA6"],PA:["NYLON"]}[me]||[];for(const Ve of ce)if(ke.includes(Ve))return!0;return!1}),Re=new Map;for(const se of de){const ke=`${se.name}|${se.k_value}`,Fe=Re.get(ke);Fe?se.extruder_id===1&&Fe.extruder_id===0&&Re.set(ke,se):Re.set(ke,se)}return Array.from(Re.values())},[C?.profiles,D]);_.useEffect(()=>{if(t&&M?.filament){if(r.trayInfoIdx){const B=M.filament.find(W=>W.setting_id===r.trayInfoIdx);B&&c(B.setting_id)}}else t||(c(""),d(null),p(""),b(""),x(""),S(!1))},[t,M?.filament,r.trayInfoIdx]),_.useEffect(()=>{G.length>0?d(G[0]):d(null)},[l,G]);const I=_.useCallback(B=>{B.key==="Escape"&&e()},[e]);if(_.useEffect(()=>{if(t)return document.addEventListener("keydown",I),()=>document.removeEventListener("keydown",I)},[t,I]),!t)return null;const K=A||R||P,Q=l&&!U.isPending,oe=h||r.trayColor?.slice(0,6)||"FFFFFF";return a.jsxs("div",{className:"fixed inset-0 z-50 flex items-center justify-center",children:[a.jsx("div",{className:"absolute inset-0 bg-black/60 backdrop-blur-sm",onClick:e}),a.jsxs("div",{className:"relative w-full max-w-lg mx-4 bg-bambu-dark-secondary border border-bambu-dark-tertiary rounded-xl shadow-2xl",children:[a.jsxs("div",{className:"flex items-center justify-between p-4 border-b border-bambu-dark-tertiary",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(Hu,{className:"w-5 h-5 text-bambu-blue"}),a.jsx("h2",{className:"text-lg font-semibold text-white",children:"Configure AMS Slot"})]}),a.jsx("button",{onClick:e,className:"p-1 text-bambu-gray hover:text-white rounded transition-colors",children:a.jsx(Lt,{className:"w-5 h-5"})})]}),a.jsxs("div",{className:"p-4 space-y-4 max-h-[60vh] overflow-y-auto",children:[v&&a.jsx("div",{className:"absolute inset-0 bg-bambu-dark-secondary/95 z-10 flex items-center justify-center rounded-xl",children:a.jsxs("div",{className:"text-center space-y-3",children:[a.jsx(mk,{className:"w-16 h-16 text-bambu-green mx-auto"}),a.jsx("p",{className:"text-lg font-semibold text-white",children:"Slot Configured!"}),a.jsx("p",{className:"text-sm text-bambu-gray",children:o("configureAmsSlot.settingsSentToPrinter")})]})}),a.jsxs("div",{className:"p-3 bg-bambu-dark rounded-lg border border-bambu-dark-tertiary",children:[a.jsx("p",{className:"text-xs text-bambu-gray mb-1",children:"Configuring slot:"}),a.jsxs("div",{className:"flex items-center gap-2",children:[r.trayColor&&a.jsx("span",{className:"w-4 h-4 rounded-full border border-white/20",style:{backgroundColor:`#${r.trayColor.slice(0,6)}`}}),a.jsxs("span",{className:"text-white font-medium",children:[o8e(r.amsId,r.trayCount)," Slot ",r.trayId+1]}),r.traySubBrands&&a.jsxs("span",{className:"text-bambu-gray",children:["(",r.traySubBrands,")"]})]})]}),K?a.jsx("div",{className:"flex justify-center py-8",children:a.jsx(ct,{className:"w-6 h-6 text-bambu-green animate-spin"})}):a.jsxs(a.Fragment,{children:[a.jsxs("div",{children:[a.jsxs("label",{className:"block text-sm text-bambu-gray mb-2",children:["Filament Profile ",a.jsx("span",{className:"text-red-400",children:"*"})]}),a.jsxs("div",{className:"relative",children:[a.jsx("input",{type:"text",placeholder:o("configureAmsSlot.searchPresets"),value:y,onChange:B=>x(B.target.value),className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white placeholder:text-bambu-gray focus:border-bambu-green focus:outline-none mb-2"}),a.jsx("div",{className:"max-h-48 overflow-y-auto space-y-1",children:H.length===0?a.jsx("p",{className:"text-center py-4 text-bambu-gray",children:M?.filament?.length===0&&!k?.filament?.length?"No presets available. Login to Bambu Cloud or import local profiles.":"No matching presets found."}):H.map(B=>a.jsx("button",{onClick:()=>c(B.id),className:`w-full p-2 rounded-lg border text-left transition-colors ${l===B.id?"bg-bambu-green/20 border-bambu-green":"bg-bambu-dark border-bambu-dark-tertiary hover:border-bambu-gray"}`,children:a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsx("span",{className:"text-white text-sm truncate",children:B.name}),a.jsxs("div",{className:"flex items-center gap-1 flex-shrink-0",children:[B.source==="local"&&a.jsx("span",{className:"text-xs px-1.5 py-0.5 rounded bg-green-500/20 text-green-400",children:o("profiles.localProfiles.badge")}),B.isUser&&a.jsx("span",{className:"text-xs px-1.5 py-0.5 rounded bg-bambu-blue/20 text-bambu-blue",children:o("configureAmsSlot.custom")})]})]})},B.id))})]})]}),a.jsxs("div",{children:[a.jsxs("label",{className:"block text-sm text-bambu-gray mb-2",children:["K Profile (Pressure Advance)",$&&a.jsxs("span",{className:"ml-2 text-xs text-bambu-blue",children:["Filtering for: ",$]})]}),G.length>0?a.jsxs("div",{className:"relative",children:[a.jsxs("select",{value:u?.name||"",onChange:B=>{const W=G.find(J=>J.name===B.target.value);d(W||null)},className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none appearance-none pr-10",children:[a.jsx("option",{value:"",children:"No K profile (use default 0.020)"}),G.map(B=>a.jsxs("option",{value:B.name,children:[B.name," (K=",B.k_value,")"]},`${B.name}-${B.extruder_id}`))]}),a.jsx(fr,{className:"absolute right-3 top-1/2 -translate-y-1/2 w-4 h-4 text-bambu-gray pointer-events-none"})]}):l?a.jsx("p",{className:"text-sm text-bambu-gray italic py-2",children:"No matching K profiles found. Default K=0.020 will be used."}):a.jsx("span",{className:"inline-block text-xs px-2 py-1 rounded bg-amber-500/20 text-amber-400 border border-amber-500/30",children:"Select a filament profile first"}),u&&a.jsxs("p",{className:"text-xs text-bambu-green mt-1",children:["K=",u.k_value," from printer calibration"]})]}),a.jsxs("div",{children:[a.jsx("label",{className:"block text-sm text-bambu-gray mb-2",children:"Custom Color (optional)"}),a.jsxs("div",{className:"flex flex-wrap gap-1.5 mb-2",children:[d8e.map(B=>a.jsx("button",{onClick:()=>{p(B.hex),b(B.name)},className:`w-7 h-7 rounded-md border-2 transition-all ${h===B.hex?"border-bambu-green scale-110":"border-white/20 hover:border-white/40"}`,style:{backgroundColor:`#${B.hex}`},title:B.name},B.hex)),a.jsx("button",{onClick:()=>T(!N),className:"w-7 h-7 rounded-md border-2 border-white/20 hover:border-white/40 flex items-center justify-center text-white/60 hover:text-white/80 transition-all text-xs",title:N?"Show less colors":"Show more colors",children:N?"−":"+"})]}),N&&a.jsx("div",{className:"flex flex-wrap gap-1.5 mb-2",children:h8e.map(B=>a.jsx("button",{onClick:()=>{p(B.hex),b(B.name)},className:`w-7 h-7 rounded-md border-2 transition-all ${h===B.hex?"border-bambu-green scale-110":"border-white/20 hover:border-white/40"}`,style:{backgroundColor:`#${B.hex}`},title:B.name},B.hex))}),a.jsxs("div",{className:"flex gap-2 items-center",children:[a.jsx("div",{className:"w-10 h-10 rounded-lg border-2 border-white/20 flex-shrink-0",style:{backgroundColor:`#${oe}`}}),a.jsx("input",{type:"text",placeholder:o("configureAmsSlot.colorPlaceholder"),value:m,onChange:B=>{const W=B.target.value;b(W);const J=f8e(W);if(J)p(J);else{const ne=W.replace(/[^0-9A-Fa-f]/g,"").toUpperCase();ne.length===6?p(ne):ne.length===3&&p(ne.split("").map(me=>me+me).join(""))}},className:"flex-1 px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white placeholder:text-bambu-gray focus:border-bambu-green focus:outline-none text-sm"}),h&&a.jsx("button",{onClick:()=>{p(""),b("")},className:"px-2 py-1 text-xs text-bambu-gray hover:text-white bg-bambu-dark-tertiary rounded",title:o("configureAmsSlot.clearCustomColor"),children:"Clear"})]}),h&&a.jsxs("p",{className:"text-xs text-bambu-gray mt-1.5",children:["Hex: #",h]})]})]})]}),a.jsxs("div",{className:"flex justify-between p-4 border-t border-bambu-dark-tertiary",children:[a.jsx(Ne,{variant:"secondary",onClick:()=>F.mutate(),disabled:F.isPending||U.isPending,className:"text-red-400 hover:text-red-300 hover:bg-red-500/10",children:F.isPending?a.jsxs(a.Fragment,{children:[a.jsx(ct,{className:"w-4 h-4 animate-spin"}),"Resetting..."]}):a.jsxs(a.Fragment,{children:[a.jsx(Bu,{className:"w-4 h-4"}),"Reset Slot"]})}),a.jsxs("div",{className:"flex gap-2",children:[a.jsx(Ne,{variant:"secondary",onClick:e,children:"Cancel"}),a.jsx(Ne,{onClick:()=>U.mutate(),disabled:!Q,children:U.isPending?a.jsxs(a.Fragment,{children:[a.jsx(ct,{className:"w-4 h-4 animate-spin"}),"Configuring..."]}):a.jsxs(a.Fragment,{children:[a.jsx(Hu,{className:"w-4 h-4"}),"Configure Slot"]})})]})]}),(U.isError||F.isError)&&a.jsx("div",{className:"mx-4 mb-4 p-2 bg-red-500/20 border border-red-500/50 rounded text-sm text-red-400",children:U.error?.message||F.error?.message})]})]})}const Iq={"A00-W1":"Jade White","A00-P0":"Beige","A00-D2":"Light Gray","A00-Y0":"Yellow","A00-Y2":"Sunflower Yellow","A00-A1":"Pumpkin Orange","A00-A0":"Orange","A00-Y4":"Gold","A00-G3":"Bright Green","A00-G1":"Bambu Green","A00-G2":"Mistletoe Green","A00-R3":"Hot Pink","A00-P6":"Magenta","A00-R0":"Red","A00-R2":"Maroon Red","A00-P5":"Purple","A00-P2":"Indigo Purple","A00-B5":"Turquoise","A00-B8":"Cyan","A00-B3":"Cobalt Blue","A00-N0":"Brown","A00-N1":"Cocoa Brown","A00-Y3":"Bronze","A00-D0":"Gray","A00-D1":"Silver","A00-B1":"Blue Grey","A00-D3":"Dark Gray","A00-K0":"Black","A00-M3":"Pink Citrus","A00-M6":"Dusk Glare","A00-M0":"Arctic Whisper","A00-M1":"Solar Breeze","A00-M5":"Blueberry Bubblegum","A00-M4":"Mint Lime","A00-M2":"Ocean to Meadow","A00-M7":"Cotton Candy Cloud","A18-K0":"Black","A18-D0":"Gray","A18-W0":"White","A18-R0":"Red","A18-Y0":"Yellow","A18-B0":"Cyan","A18-B1":"Blue","A18-P0":"Matte Beige","A01-W2":"Ivory White","A01-W3":"Bone White","A01-Y2":"Lemon Yellow","A01-A2":"Mandarin Orange","A01-P3":"Sakura Pink","A01-P4":"Lilac Purple","A01-R3":"Plum","A01-R1":"Scarlet Red","A01-R4":"Dark Red","A01-G0":"Apple Green","A01-G1":"Grass Green","A01-G7":"Dark Green","A01-B4":"Ice Blue","A01-B0":"Sky Blue","A01-B3":"Marine Blue","A01-B6":"Dark Blue","A01-Y3":"Desert Tan","A01-N1":"Latte Brown","A01-N3":"Caramel","A01-R2":"Terracotta","A01-N2":"Dark Brown","A01-N0":"Dark Chocolate","A01-D3":"Ash Gray","A01-D0":"Nardo Gray","A01-K1":"Charcoal","A12-G0":"Green","A12-R0":"Pink","A12-A0":"Orange","A12-Y0":"Yellow","A12-B0":"Blue","A07-R5":"Red Granite","A07-D4":"White Marble","A11-W0":"White","A11-K0":"Black","A08-G3":"Alpine Green Sparkle","A08-D5":"Slate Gray Sparkle","A08-B7":"Royal Purple Sparkle","A08-R2":"Crimson Red Sparkle","A08-K2":"Onyx Black Sparkle","A08-Y1":"Classic Gold Sparkle","A02-B2":"Cobalt Blue Metallic","A02-G2":"Oxide Green Metallic","A02-Y1":"Iridium Gold Metallic","A02-D2":"Iron Gray Metallic","A17-B1":"Blue","A17-A0":"Orange","A17-P0":"Purple","A06-Y1":"Gold","A06-D0":"Titan Gray","A06-D1":"Silver","A06-W0":"White","A06-R0":"Candy Red","A06-G0":"Candy Green","A06-G1":"Mint","A06-B1":"Blue","A06-B0":"Baby Blue","A06-P0":"Purple","A06-R1":"Rose Gold","A06-R2":"Pink","A06-Y0":"Champagne","A05-M8":"Dawn Radiance","A05-M4":"Aurora Purple","A05-M1":"South Beach","A05-T3":"Neon City","A05-T2":"Midnight Blaze","A05-T1":"Gilded Rose","A05-T4":"Blue Hawaii","A05-T5":"Velvet Eclipse","A15-B0":"Purple","A15-G0":"Green","A15-G1":"Nebulae","A15-R0":"Brown","A16-K0":"Black Walnut","A16-R0":"Rosewood","A16-N0":"Clay Brown","A16-G0":"Classic Birch","A16-W0":"White Oak","A16-Y0":"Ochre Yellow","A50-D6":"Lava Gray","A50-K0":"Black","A50-B6":"Royal Blue","A10-W0":"White","A10-D0":"Gray","A09-B5":"Lavender Blue","A09-B4":"Light Blue","A09-A0":"Orange","A09-D1":"Silver","A09-R3":"Vermilion Red","A09-Y0":"Yellow","G02-K0":"Black","G02-W0":"White","G02-R0":"Red","G02-D0":"Gray","G02-D1":"Dark Gray","G02-Y1":"Cream","G02-Y0":"Yellow","G02-A0":"Orange","G02-N1":"Peanut Brown","G02-G1":"Lime Green","G02-G0":"Green","G02-G2":"Forest Green","G02-B1":"Lake Blue","G02-B0":"Blue","G01-G1":"Translucent Teal","G01-B0":"Translucent Light Blue","G01-C0":"Clear","G01-D0":"Translucent Gray","G01-G0":"Translucent Olive","G01-N0":"Translucent Brown","G01-A0":"Translucent Orange","G01-P1":"Translucent Pink","G01-P0":"Translucent Purple","G50-P7":"Violet Purple","G50-K0":"Black","B00-D1":"Silver","B00-K0":"Black","B00-W0":"White","B00-G6":"Bambu Green","B00-G7":"Olive","B00-Y1":"Tangerine Yellow","B00-A0":"Orange","B00-R0":"Red","B00-B4":"Azure","B00-B0":"Blue","B00-B6":"Navy Blue","B50-A0":"Orange","B50-K0":"Black","B01-W0":"White","B01-K0":"Black","B01-D0":"Gray","B02-W0":"White","C00-C1":"Transparent","C00-C0":"Clear Black","C00-K0":"Black","C00-W0":"White","C01-K0":"Black","U02-B0":"Blue","U02-D0":"Gray","U02-K0":"Black","N04-K0":"Black","N08-K0":"Black","S02-W0":"Nature","S02-W1":"White","S05-C0":"Black","S06-W0":"White","S03-G1":"Green","S04-Y0":"Clear"},p8e={W0:"White",W1:"Jade White",W2:"Ivory White",W3:"Bone White",Y0:"Yellow",Y1:"Gold",Y2:"Sunflower Yellow",Y3:"Bronze",Y4:"Gold",A0:"Orange",A1:"Pumpkin Orange",A2:"Mandarin Orange",R0:"Red",R1:"Scarlet Red",R2:"Maroon Red",R3:"Hot Pink",R4:"Dark Red",R5:"Red Granite",P0:"Beige",P1:"Pink",P2:"Indigo Purple",P3:"Sakura Pink",P4:"Lilac Purple",P5:"Purple",P6:"Magenta",P7:"Violet Purple",B0:"Blue",B1:"Blue Grey",B2:"Cobalt Blue",B3:"Cobalt Blue",B4:"Ice Blue",B5:"Turquoise",B6:"Navy Blue",B7:"Royal Purple",B8:"Cyan",G0:"Green",G1:"Grass Green",G2:"Mistletoe Green",G3:"Bright Green",G6:"Bambu Green",G7:"Dark Green",N0:"Brown",N1:"Peanut Brown",N2:"Dark Brown",N3:"Caramel",D0:"Gray",D1:"Silver",D2:"Light Gray",D3:"Dark Gray",D4:"White Marble",D5:"Slate Gray",D6:"Lava Gray",K0:"Black",K1:"Charcoal",K2:"Onyx Black",C0:"Clear Black",C1:"Transparent",M0:"Arctic Whisper",M1:"Solar Breeze",M2:"Ocean to Meadow",M3:"Pink Citrus",M4:"Aurora Purple",M5:"Blueberry Bubblegum",M6:"Dusk Glare",M7:"Cotton Candy Cloud",M8:"Dawn Radiance",T1:"Gilded Rose",T2:"Midnight Blaze",T3:"Neon City",T4:"Blue Hawaii",T5:"Velvet Eclipse"};function mP(t){if(!t)return null;if(Iq[t])return Iq[t];const e=t.split("-");if(e.length<2)return null;const n=e[1];return p8e[n]||null}function pP(t){if(!t||t.length<6)return"Unknown";const e=parseInt(t.substring(0,2),16),n=parseInt(t.substring(2,4),16),r=parseInt(t.substring(4,6),16),i=Math.max(e,n,r)/255,s=Math.min(e,n,r)/255,o=(i+s)/2;let l=0,c=0;if(i!==s){const u=i-s;c=o>.5?u/(2-i-s):u/(i+s);const d=e/255,h=n/255,p=r/255;i===d?l=((h-p)/u+(h.85?"White":c<.15?o<.4?"Dark Gray":o>.6?"Light Gray":"Gray":l>=15&&l<45&&o<.45||l>=45&&l<70&&o<.4?"Brown":l<15||l>=345?"Red":l<45?"Orange":l<70?"Yellow":l<150?"Green":l<200?"Cyan":l<260?"Blue":l<290?"Purple":"Pink"}function gP(t){return(t??.02).toFixed(3)}function zq({side:t}){const{mode:e}=Dm(),n=e==="dark"?"#1a4d2e":"#e7f5e9";return a.jsx("span",{className:"inline-flex items-center justify-center w-4 h-4 text-[10px] font-bold rounded",style:{backgroundColor:n,color:"#00ae42"},children:t})}function Ree(t){if(!t||t==="00000000"||t.length<6)return null;const e=t.slice(0,2),n=t.slice(2,4),r=t.slice(4,6),i=t.length>=8?parseInt(t.slice(6,8),16)/255:1;return i===0?null:`rgba(${parseInt(e,16)}, ${parseInt(n,16)}, ${parseInt(r,16)}, ${i})`}function Oee(t,e){if(!t)return"";if(t.includes("hardened"))return e("printers.nozzleHardenedSteel");if(t.includes("stainless"))return e("printers.nozzleStainlessSteel");if(t.includes("tungsten"))return e("printers.nozzleTungstenCarbide");if(t.length>=4){const n=t.slice(2,4);if(n==="00")return e("printers.nozzleStainlessSteel");if(n==="01")return e("printers.nozzleHardenedSteel");if(n==="05")return e("printers.nozzleTungstenCarbide")}return t==="00"?e("printers.nozzleStainlessSteel"):t==="01"?e("printers.nozzleHardenedSteel"):t==="05"?e("printers.nozzleTungstenCarbide"):t.startsWith("H")?e("printers.nozzleHardenedSteel"):t}function Lee(t,e){return t?t.startsWith("HH")?e("printers.nozzleHighFlow"):t.startsWith("HS")?e("printers.nozzleStandardFlow"):"":""}function Fee({slot:t,index:e,activeStatus:n,filamentName:r,children:i}){const{t:s}=Yt(),[o,l]=_.useState(!1),[c,u]=_.useState("top"),d=_.useRef(null),h=_.useRef(null),p=_.useRef(null),m=!t.nozzle_diameter&&!t.nozzle_type,b=t.stat===1;_.useEffect(()=>{if(o&&d.current&&h.current){const T=d.current.getBoundingClientRect(),M=h.current.offsetHeight,k=T.top-56,R=window.innerHeight-T.bottom;kk?u("bottom"):u("top")}},[o]);const y=()=>{p.current&&clearTimeout(p.current),p.current=setTimeout(()=>l(!0),80)},x=()=>{p.current&&clearTimeout(p.current),p.current=setTimeout(()=>l(!1),100)};_.useEffect(()=>()=>{p.current&&clearTimeout(p.current)},[]);const v=Ree(t.filament_color),S=Oee(t.nozzle_type,s),N=Lee(t.nozzle_type,s);return a.jsxs("div",{ref:d,className:"relative",onMouseEnter:y,onMouseLeave:x,children:[i,o&&a.jsxs("div",{ref:h,className:`
+ `})]})]})}function s8e({isOpen:t,onClose:e,trayUuid:n,trayInfo:r}){const{t:i}=Yt(),s=an(),{showToast:o}=Tn(),[l,c]=_.useState(null),{data:u,isLoading:d}=it({queryKey:["unlinked-spools"],queryFn:ae.getUnlinkedSpools,enabled:t}),h=dt({mutationFn:m=>ae.linkSpool(m,n),onSuccess:()=>{s.invalidateQueries({queryKey:["unlinked-spools"]}),s.invalidateQueries({queryKey:["linked-spools"]}),s.invalidateQueries({queryKey:["spoolman-status"]}),o(i("spoolman.linkSuccess"),"success"),e()},onError:m=>{o(`${i("spoolman.linkFailed")}: ${m.message}`,"error")}});if(!t)return null;const p=()=>{l&&h.mutate(l)};return a.jsxs("div",{className:"fixed inset-0 z-50 flex items-center justify-center",children:[a.jsx("div",{className:"absolute inset-0 bg-black/60 backdrop-blur-sm",onClick:e}),a.jsxs("div",{className:"relative w-full max-w-md mx-4 bg-bambu-dark-secondary border border-bambu-dark-tertiary rounded-xl shadow-2xl",children:[a.jsxs("div",{className:"flex items-center justify-between p-4 border-b border-bambu-dark-tertiary",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(dc,{className:"w-5 h-5 text-bambu-green"}),a.jsx("h2",{className:"text-lg font-semibold text-white",children:i("spoolman.linkToSpoolman")})]}),a.jsx("button",{onClick:e,className:"p-1 text-bambu-gray hover:text-white rounded transition-colors",children:a.jsx(Lt,{className:"w-5 h-5"})})]}),a.jsxs("div",{className:"p-4 space-y-4",children:[r&&a.jsxs("div",{className:"p-3 bg-bambu-dark rounded-lg border border-bambu-dark-tertiary",children:[a.jsx("p",{className:"text-xs text-bambu-gray mb-1",children:"Linking AMS tray:"}),a.jsxs("div",{className:"flex items-center gap-2",children:[r.color&&a.jsx("span",{className:"w-4 h-4 rounded-full border border-white/20",style:{backgroundColor:`#${r.color}`}}),a.jsx("span",{className:"text-white font-medium",children:r.type}),a.jsxs("span",{className:"text-bambu-gray",children:["(",r.location,")"]})]})]}),a.jsxs("div",{className:"p-3 bg-bambu-dark rounded-lg border border-bambu-dark-tertiary",children:[a.jsxs("p",{className:"text-xs text-bambu-gray mb-1",children:[i("spoolman.spoolId"),":"]}),a.jsx("code",{className:"text-xs text-bambu-green font-mono break-all",children:n})]}),a.jsxs("div",{children:[a.jsxs("p",{className:"text-sm text-bambu-gray mb-2",children:[i("spoolman.selectSpool"),":"]}),d?a.jsx("div",{className:"flex justify-center py-8",children:a.jsx(ct,{className:"w-6 h-6 text-bambu-green animate-spin"})}):u&&u.length>0?a.jsx("div",{className:"max-h-64 overflow-y-auto space-y-2",children:u.map(m=>a.jsx("button",{onClick:()=>c(m.id),className:`w-full p-3 rounded-lg border text-left transition-colors ${l===m.id?"bg-bambu-green/20 border-bambu-green":"bg-bambu-dark border-bambu-dark-tertiary hover:border-bambu-gray"}`,children:a.jsxs("div",{className:"flex items-center gap-2",children:[m.filament_color_hex&&a.jsx("span",{className:"w-4 h-4 rounded-full border border-white/20 flex-shrink-0",style:{backgroundColor:`#${m.filament_color_hex}`}}),a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsx("p",{className:"text-white font-medium truncate",children:m.filament_name||"Unknown filament"}),a.jsxs("p",{className:"text-xs text-bambu-gray",children:[m.filament_material||"Unknown",m.remaining_weight!==null&&` - ${Math.round(m.remaining_weight)}g`,m.location&&` - ${m.location}`]})]}),l===m.id&&a.jsx($i,{className:"w-4 h-4 text-bambu-green flex-shrink-0"})]})},m.id))}):a.jsx("div",{className:"text-center py-8 text-bambu-gray",children:a.jsx("p",{children:i("spoolman.noUnlinkedSpools")})})]})]}),a.jsxs("div",{className:"flex justify-end gap-2 p-4 border-t border-bambu-dark-tertiary",children:[a.jsx(Ne,{variant:"secondary",onClick:e,children:i("common.cancel")}),a.jsx(Ne,{onClick:p,disabled:!l||h.isPending,children:h.isPending?a.jsxs(a.Fragment,{children:[a.jsx(ct,{className:"w-4 h-4 animate-spin"}),i("spoolman.syncing")]}):a.jsxs(a.Fragment,{children:[a.jsx(dc,{className:"w-4 h-4"}),i("spoolman.linkToSpoolman")]})})]}),h.isError&&a.jsx("div",{className:"mx-4 mb-4 p-2 bg-red-500/20 border border-red-500/50 rounded text-sm text-red-400",children:h.error.message})]})]})}function o8e(t,e){if(t===255)return"External";let n,r=!1;t>=128&&t<=135?(n=t-128,r=!0):t>=0&&t<=3?(n=t,r=e===1):n=0,n=Math.max(0,Math.min(n,7));const i=String.fromCharCode(65+n);return r?`HT-${i}`:`AMS-${i}`}function Lq(t){const e=t.includes("_")?t.split("_")[0]:t;return e.startsWith("GFS")?"GF"+e.slice(3):(e.startsWith("PFUS")||e.startsWith("PFSP"),e)}const l8e=["PLA","PETG","ABS","ASA","TPU","PC","PA","NYLON","PVA","HIPS","PP","PET"];function Fq(t){const e=t.replace(/@.+$/,"").trim(),n=e.toUpperCase();for(const i of l8e){const s=new RegExp(`\\b${i}\\b`,"i");if(s.test(n)){const o=e.split(s),l=o[0]?.trim()||"",c=o[1]?.trim()||"";return{material:i,brand:l,variant:c}}}const r=e.split(/\s+/);return r.length>=2?{material:r[1],brand:r[0],variant:r.slice(2).join(" ")}:{material:e,brand:"",variant:""}}function c8e(t){return!t.startsWith("GF")&&!t.startsWith("P1")}const u8e={white:"FFFFFF",black:"000000",red:"FF0000",green:"00FF00",blue:"0000FF",yellow:"FFFF00",cyan:"00FFFF",magenta:"FF00FF",orange:"FFA500",purple:"800080",pink:"FFC0CB",brown:"8B4513",gray:"808080",grey:"808080","jade white":"FFFEF2",ivory:"FFFFF0",beige:"F5F5DC",cream:"FFFDD0",silver:"C0C0C0",gold:"FFD700",bronze:"CD7F32",copper:"B87333",navy:"000080",teal:"008080",olive:"808000",maroon:"800000",coral:"FF7F50",salmon:"FA8072",lime:"32CD32",mint:"98FF98","forest green":"228B22","sky blue":"87CEEB","royal blue":"4169E1",turquoise:"40E0D0",lavender:"E6E6FA",violet:"EE82EE",plum:"DDA0DD",tan:"D2B48C",chocolate:"D2691E",charcoal:"36454F",slate:"708090",transparent:"000000",natural:"F5F5DC",wood:"DEB887"},d8e=[{name:"White",hex:"FFFFFF"},{name:"Black",hex:"000000"},{name:"Red",hex:"FF0000"},{name:"Blue",hex:"0000FF"},{name:"Green",hex:"00AA00"},{name:"Yellow",hex:"FFFF00"},{name:"Orange",hex:"FFA500"},{name:"Gray",hex:"808080"}],h8e=[{name:"Cyan",hex:"00FFFF"},{name:"Magenta",hex:"FF00FF"},{name:"Purple",hex:"800080"},{name:"Pink",hex:"FFC0CB"},{name:"Brown",hex:"8B4513"},{name:"Beige",hex:"F5F5DC"},{name:"Navy",hex:"000080"},{name:"Teal",hex:"008080"},{name:"Lime",hex:"32CD32"},{name:"Gold",hex:"FFD700"},{name:"Silver",hex:"C0C0C0"},{name:"Maroon",hex:"800000"},{name:"Olive",hex:"808000"},{name:"Coral",hex:"FF7F50"},{name:"Salmon",hex:"FA8072"},{name:"Turquoise",hex:"40E0D0"},{name:"Violet",hex:"EE82EE"},{name:"Indigo",hex:"4B0082"},{name:"Chocolate",hex:"D2691E"},{name:"Tan",hex:"D2B48C"},{name:"Slate",hex:"708090"},{name:"Charcoal",hex:"36454F"},{name:"Ivory",hex:"FFFFF0"},{name:"Cream",hex:"FFFDD0"}];function f8e(t){const e=t.toLowerCase().trim();return u8e[e]||null}function m8e({isOpen:t,onClose:e,printerId:n,slotInfo:r,nozzleDiameter:i="0.4",onSuccess:s}){const{t:o}=Yt(),[l,c]=_.useState(""),[u,d]=_.useState(null),[h,p]=_.useState(""),[m,b]=_.useState(""),[y,x]=_.useState(""),[v,S]=_.useState(!1),[N,T]=_.useState(!1),{data:M,isLoading:A}=it({queryKey:["cloudSettings"],queryFn:()=>ae.getCloudSettings(),enabled:t}),{data:k,isLoading:R}=it({queryKey:["localPresets"],queryFn:()=>ae.getLocalPresets(),enabled:t}),{data:C,isLoading:P}=it({queryKey:["kprofiles",n,i],queryFn:()=>ae.getKProfiles(n,i),enabled:t&&!!n}),U=dt({mutationFn:async()=>{if(!l)throw new Error("No filament preset selected");const B=l.startsWith("local_"),W=B?parseInt(l.replace("local_",""),10):null,J=B?k?.filament.find(X=>X.id===W):null,ne=B?null:M?.filament.find(X=>X.setting_id===l);if(!B&&!ne)throw new Error("Selected preset not found");if(B&&!J)throw new Error("Selected local preset not found");const me=B?J.name:ne.name,fe=Fq(me),de=u?.slot_id??-1,Re=h||r.trayColor?.slice(0,6)||"FFFFFF",se=me.replace(/@.+$/,"").trim();let ke,Fe;if(B)ke="",Fe="";else if(ke=Lq(l),Fe=l,!l.startsWith("GFS"))try{const X=await ae.getCloudSettingDetail(l);X.filament_id?ke=X.filament_id:X.base_id&&(ke=Lq(X.base_id),console.log(`Derived tray_info_idx from base_id: ${X.base_id} -> ${ke}`))}catch(X){console.warn("Failed to fetch preset detail for filament_id:",X)}let ce=B&&J?.nozzle_temp_min?J.nozzle_temp_min:190,Ve=B&&J?.nozzle_temp_max?J.nozzle_temp_max:230;if(!B||!J?.nozzle_temp_min&&!J?.nozzle_temp_max){const X=(B&&J?.filament_type||fe.material).toUpperCase();X.includes("PLA")?(ce=190,Ve=230):X.includes("PETG")?(ce=220,Ve=260):X.includes("ABS")||X.includes("ASA")?(ce=240,Ve=280):X.includes("TPU")?(ce=200,Ve=240):X.includes("PC")?(ce=260,Ve=300):(X.includes("PA")||X.includes("NYLON"))&&(ce=250,Ve=290)}const V=u?.k_value?parseFloat(u.k_value):0,Y=B?J?.filament_type||fe.material||"PLA":fe.material||"PLA",ue=await ae.configureAmsSlot(n,r.amsId,r.trayId,{tray_info_idx:ke,tray_type:Y,tray_sub_brands:se,tray_color:Re+"FF",nozzle_temp_min:ce,nozzle_temp_max:Ve,cali_idx:de,nozzle_diameter:i,setting_id:Fe,kprofile_filament_id:u?.filament_id,kprofile_setting_id:u?.setting_id||void 0,k_value:V}),q=B?`local_${W}`:l,re=B?"local":"cloud";try{await ae.saveSlotPreset(n,r.amsId,r.trayId,q,se,re)}catch(X){console.warn("Failed to save slot preset mapping:",X)}return ue},onSuccess:()=>{S(!0),s?.(),setTimeout(()=>{S(!1),e()},1500)}}),F=dt({mutationFn:async()=>ae.resetAmsSlot(n,r.amsId,r.trayId),onSuccess:()=>{S(!0),s?.(),setTimeout(()=>{S(!1),e()},1500)}}),H=_.useMemo(()=>{const B=y.toLowerCase(),W=[];if(k?.filament)for(const J of k.filament)(!B||J.name.toLowerCase().includes(B))&&W.push({id:`local_${J.id}`,name:J.name,source:"local",isUser:!1});if(M?.filament)for(const J of M.filament)(!B||J.name.toLowerCase().includes(B))&&W.push({id:J.setting_id,name:J.name,source:"cloud",isUser:c8e(J.setting_id)});return W.sort((J,ne)=>J.source==="local"&&ne.source!=="local"?-1:J.source!=="local"&&ne.source==="local"?1:J.isUser&&!ne.isUser?-1:!J.isUser&&ne.isUser?1:J.name.localeCompare(ne.name))},[M?.filament,k?.filament,y]),D=_.useMemo(()=>{if(!l)return null;let B=null;if(l.startsWith("local_")){const ne=parseInt(l.replace("local_",""),10);B=k?.filament.find(fe=>fe.id===ne)?.name||null}else M?.filament&&(B=M.filament.find(me=>me.setting_id===l)?.name||null);if(!B)return null;let W=B.replace(/@.+$/,"").trim();W.startsWith("# ")&&(W=W.slice(2).trim());const J=Fq(W);return{fullName:W,material:J.material,brand:J.brand}},[l,M?.filament,k?.filament]),$=D?.fullName||"",G=_.useMemo(()=>{if(!C?.profiles||!D)return[];const{fullName:B,material:W,brand:J}=D,ne=B.toUpperCase(),me=W.toUpperCase(),fe=J.toUpperCase();if(!me||me.length<2)return[];const de=C.profiles.filter(se=>{const ke=se.name.toUpperCase();if(fe)return!(!ke.includes(fe)||!ke.includes(me));if(ke.includes(ne)||ke.includes(me))return!0;const ce={NYLON:["PA","PA-CF","PA6"],PA:["NYLON"]}[me]||[];for(const Ve of ce)if(ke.includes(Ve))return!0;return!1}),Re=new Map;for(const se of de){const ke=`${se.name}|${se.k_value}`,Fe=Re.get(ke);Fe?se.extruder_id===1&&Fe.extruder_id===0&&Re.set(ke,se):Re.set(ke,se)}return Array.from(Re.values())},[C?.profiles,D]);_.useEffect(()=>{if(t&&M?.filament){if(r.trayInfoIdx){const B=M.filament.find(W=>W.setting_id===r.trayInfoIdx);B&&c(B.setting_id)}}else t||(c(""),d(null),p(""),b(""),x(""),S(!1))},[t,M?.filament,r.trayInfoIdx]),_.useEffect(()=>{G.length>0?d(G[0]):d(null)},[l,G]);const I=_.useCallback(B=>{B.key==="Escape"&&e()},[e]);if(_.useEffect(()=>{if(t)return document.addEventListener("keydown",I),()=>document.removeEventListener("keydown",I)},[t,I]),!t)return null;const K=A||R||P,Q=l&&!U.isPending,oe=h||r.trayColor?.slice(0,6)||"FFFFFF";return a.jsxs("div",{className:"fixed inset-0 z-50 flex items-center justify-center",children:[a.jsx("div",{className:"absolute inset-0 bg-black/60 backdrop-blur-sm",onClick:e}),a.jsxs("div",{className:"relative w-full max-w-lg mx-4 bg-bambu-dark-secondary border border-bambu-dark-tertiary rounded-xl shadow-2xl",children:[a.jsxs("div",{className:"flex items-center justify-between p-4 border-b border-bambu-dark-tertiary",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(Hu,{className:"w-5 h-5 text-bambu-blue"}),a.jsx("h2",{className:"text-lg font-semibold text-white",children:"Configure AMS Slot"})]}),a.jsx("button",{onClick:e,className:"p-1 text-bambu-gray hover:text-white rounded transition-colors",children:a.jsx(Lt,{className:"w-5 h-5"})})]}),a.jsxs("div",{className:"p-4 space-y-4 max-h-[60vh] overflow-y-auto",children:[v&&a.jsx("div",{className:"absolute inset-0 bg-bambu-dark-secondary/95 z-10 flex items-center justify-center rounded-xl",children:a.jsxs("div",{className:"text-center space-y-3",children:[a.jsx(mk,{className:"w-16 h-16 text-bambu-green mx-auto"}),a.jsx("p",{className:"text-lg font-semibold text-white",children:"Slot Configured!"}),a.jsx("p",{className:"text-sm text-bambu-gray",children:o("configureAmsSlot.settingsSentToPrinter")})]})}),a.jsxs("div",{className:"p-3 bg-bambu-dark rounded-lg border border-bambu-dark-tertiary",children:[a.jsx("p",{className:"text-xs text-bambu-gray mb-1",children:"Configuring slot:"}),a.jsxs("div",{className:"flex items-center gap-2",children:[r.trayColor&&a.jsx("span",{className:"w-4 h-4 rounded-full border border-white/20",style:{backgroundColor:`#${r.trayColor.slice(0,6)}`}}),a.jsxs("span",{className:"text-white font-medium",children:[o8e(r.amsId,r.trayCount)," Slot ",r.trayId+1]}),r.traySubBrands&&a.jsxs("span",{className:"text-bambu-gray",children:["(",r.traySubBrands,")"]})]})]}),K?a.jsx("div",{className:"flex justify-center py-8",children:a.jsx(ct,{className:"w-6 h-6 text-bambu-green animate-spin"})}):a.jsxs(a.Fragment,{children:[a.jsxs("div",{children:[a.jsxs("label",{className:"block text-sm text-bambu-gray mb-2",children:["Filament Profile ",a.jsx("span",{className:"text-red-400",children:"*"})]}),a.jsxs("div",{className:"relative",children:[a.jsx("input",{type:"text",placeholder:o("configureAmsSlot.searchPresets"),value:y,onChange:B=>x(B.target.value),className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white placeholder:text-bambu-gray focus:border-bambu-green focus:outline-none mb-2"}),a.jsx("div",{className:"max-h-48 overflow-y-auto space-y-1",children:H.length===0?a.jsx("p",{className:"text-center py-4 text-bambu-gray",children:M?.filament?.length===0&&!k?.filament?.length?"No presets available. Login to Bambu Cloud or import local profiles.":"No matching presets found."}):H.map(B=>a.jsx("button",{onClick:()=>c(B.id),className:`w-full p-2 rounded-lg border text-left transition-colors ${l===B.id?"bg-bambu-green/20 border-bambu-green":"bg-bambu-dark border-bambu-dark-tertiary hover:border-bambu-gray"}`,children:a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsx("span",{className:"text-white text-sm truncate",children:B.name}),a.jsxs("div",{className:"flex items-center gap-1 flex-shrink-0",children:[B.source==="local"&&a.jsx("span",{className:"text-xs px-1.5 py-0.5 rounded bg-green-500/20 text-green-400",children:o("profiles.localProfiles.badge")}),B.isUser&&a.jsx("span",{className:"text-xs px-1.5 py-0.5 rounded bg-bambu-blue/20 text-bambu-blue",children:o("configureAmsSlot.custom")})]})]})},B.id))})]})]}),a.jsxs("div",{children:[a.jsxs("label",{className:"block text-sm text-bambu-gray mb-2",children:["K Profile (Pressure Advance)",$&&a.jsxs("span",{className:"ml-2 text-xs text-bambu-blue",children:["Filtering for: ",$]})]}),G.length>0?a.jsxs("div",{className:"relative",children:[a.jsxs("select",{value:u?.name||"",onChange:B=>{const W=G.find(J=>J.name===B.target.value);d(W||null)},className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none appearance-none pr-10",children:[a.jsx("option",{value:"",children:"No K profile (use default 0.020)"}),G.map(B=>a.jsxs("option",{value:B.name,children:[B.name," (K=",B.k_value,")"]},`${B.name}-${B.extruder_id}`))]}),a.jsx(fr,{className:"absolute right-3 top-1/2 -translate-y-1/2 w-4 h-4 text-bambu-gray pointer-events-none"})]}):l?a.jsx("p",{className:"text-sm text-bambu-gray italic py-2",children:"No matching K profiles found. Default K=0.020 will be used."}):a.jsx("span",{className:"inline-block text-xs px-2 py-1 rounded bg-amber-500/20 text-amber-400 border border-amber-500/30",children:"Select a filament profile first"}),u&&a.jsxs("p",{className:"text-xs text-bambu-green mt-1",children:["K=",u.k_value," from printer calibration"]})]}),a.jsxs("div",{children:[a.jsx("label",{className:"block text-sm text-bambu-gray mb-2",children:"Custom Color (optional)"}),a.jsxs("div",{className:"flex flex-wrap gap-1.5 mb-2",children:[d8e.map(B=>a.jsx("button",{onClick:()=>{p(B.hex),b(B.name)},className:`w-7 h-7 rounded-md border-2 transition-all ${h===B.hex?"border-bambu-green scale-110":"border-white/20 hover:border-white/40"}`,style:{backgroundColor:`#${B.hex}`},title:B.name},B.hex)),a.jsx("button",{onClick:()=>T(!N),className:"w-7 h-7 rounded-md border-2 border-white/20 hover:border-white/40 flex items-center justify-center text-white/60 hover:text-white/80 transition-all text-xs",title:N?"Show less colors":"Show more colors",children:N?"−":"+"})]}),N&&a.jsx("div",{className:"flex flex-wrap gap-1.5 mb-2",children:h8e.map(B=>a.jsx("button",{onClick:()=>{p(B.hex),b(B.name)},className:`w-7 h-7 rounded-md border-2 transition-all ${h===B.hex?"border-bambu-green scale-110":"border-white/20 hover:border-white/40"}`,style:{backgroundColor:`#${B.hex}`},title:B.name},B.hex))}),a.jsxs("div",{className:"flex gap-2 items-center",children:[a.jsx("div",{className:"w-10 h-10 rounded-lg border-2 border-white/20 flex-shrink-0",style:{backgroundColor:`#${oe}`}}),a.jsx("input",{type:"text",placeholder:o("configureAmsSlot.colorPlaceholder"),value:m,onChange:B=>{const W=B.target.value;b(W);const J=f8e(W);if(J)p(J);else{const ne=W.replace(/[^0-9A-Fa-f]/g,"").toUpperCase();ne.length===6?p(ne):ne.length===3&&p(ne.split("").map(me=>me+me).join(""))}},className:"flex-1 px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white placeholder:text-bambu-gray focus:border-bambu-green focus:outline-none text-sm"}),h&&a.jsx("button",{onClick:()=>{p(""),b("")},className:"px-2 py-1 text-xs text-bambu-gray hover:text-white bg-bambu-dark-tertiary rounded",title:o("configureAmsSlot.clearCustomColor"),children:"Clear"})]}),h&&a.jsxs("p",{className:"text-xs text-bambu-gray mt-1.5",children:["Hex: #",h]})]})]})]}),a.jsxs("div",{className:"flex justify-between p-4 border-t border-bambu-dark-tertiary",children:[a.jsx(Ne,{variant:"secondary",onClick:()=>F.mutate(),disabled:F.isPending||U.isPending,className:"text-red-400 hover:text-red-300 hover:bg-red-500/10",children:F.isPending?a.jsxs(a.Fragment,{children:[a.jsx(ct,{className:"w-4 h-4 animate-spin"}),"Resetting..."]}):a.jsxs(a.Fragment,{children:[a.jsx(Bu,{className:"w-4 h-4"}),"Reset Slot"]})}),a.jsxs("div",{className:"flex gap-2",children:[a.jsx(Ne,{variant:"secondary",onClick:e,children:"Cancel"}),a.jsx(Ne,{onClick:()=>U.mutate(),disabled:!Q,children:U.isPending?a.jsxs(a.Fragment,{children:[a.jsx(ct,{className:"w-4 h-4 animate-spin"}),"Configuring..."]}):a.jsxs(a.Fragment,{children:[a.jsx(Hu,{className:"w-4 h-4"}),"Configure Slot"]})})]})]}),(U.isError||F.isError)&&a.jsx("div",{className:"mx-4 mb-4 p-2 bg-red-500/20 border border-red-500/50 rounded text-sm text-red-400",children:U.error?.message||F.error?.message})]})]})}const Iq={"A00-W1":"Jade White","A00-P0":"Beige","A00-D2":"Light Gray","A00-Y0":"Yellow","A00-Y2":"Sunflower Yellow","A00-A1":"Pumpkin Orange","A00-A0":"Orange","A00-Y4":"Gold","A00-G3":"Bright Green","A00-G1":"Bambu Green","A00-G2":"Mistletoe Green","A00-R3":"Hot Pink","A00-P6":"Magenta","A00-R0":"Red","A00-R2":"Maroon Red","A00-P5":"Purple","A00-P2":"Indigo Purple","A00-B5":"Turquoise","A00-B8":"Cyan","A00-B3":"Cobalt Blue","A00-N0":"Brown","A00-N1":"Cocoa Brown","A00-Y3":"Bronze","A00-D0":"Gray","A00-D1":"Silver","A00-B1":"Blue Grey","A00-D3":"Dark Gray","A00-K0":"Black","A00-M3":"Pink Citrus","A00-M6":"Dusk Glare","A00-M0":"Arctic Whisper","A00-M1":"Solar Breeze","A00-M5":"Blueberry Bubblegum","A00-M4":"Mint Lime","A00-M2":"Ocean to Meadow","A00-M7":"Cotton Candy Cloud","A18-K0":"Black","A18-D0":"Gray","A18-W0":"White","A18-R0":"Red","A18-Y0":"Yellow","A18-B0":"Cyan","A18-B1":"Blue","A18-P0":"Matte Beige","A01-W2":"Ivory White","A01-W3":"Bone White","A01-Y2":"Lemon Yellow","A01-A2":"Mandarin Orange","A01-P3":"Sakura Pink","A01-P4":"Lilac Purple","A01-R3":"Plum","A01-R1":"Scarlet Red","A01-R4":"Dark Red","A01-G0":"Apple Green","A01-G1":"Grass Green","A01-G7":"Dark Green","A01-B4":"Ice Blue","A01-B0":"Sky Blue","A01-B3":"Marine Blue","A01-B6":"Dark Blue","A01-Y3":"Desert Tan","A01-N1":"Latte Brown","A01-N3":"Caramel","A01-R2":"Terracotta","A01-N2":"Dark Brown","A01-N0":"Dark Chocolate","A01-D3":"Ash Gray","A01-D0":"Nardo Gray","A01-K1":"Charcoal","A12-G0":"Green","A12-R0":"Pink","A12-A0":"Orange","A12-Y0":"Yellow","A12-B0":"Blue","A07-R5":"Red Granite","A07-D4":"White Marble","A11-W0":"White","A11-K0":"Black","A08-G3":"Alpine Green Sparkle","A08-D5":"Slate Gray Sparkle","A08-B7":"Royal Purple Sparkle","A08-R2":"Crimson Red Sparkle","A08-K2":"Onyx Black Sparkle","A08-Y1":"Classic Gold Sparkle","A02-B2":"Cobalt Blue Metallic","A02-G2":"Oxide Green Metallic","A02-Y1":"Iridium Gold Metallic","A02-D2":"Iron Gray Metallic","A17-B1":"Blue","A17-A0":"Orange","A17-P0":"Purple","A06-Y1":"Gold","A06-D0":"Titan Gray","A06-D1":"Silver","A06-W0":"White","A06-R0":"Candy Red","A06-G0":"Candy Green","A06-G1":"Mint","A06-B1":"Blue","A06-B0":"Baby Blue","A06-P0":"Purple","A06-R1":"Rose Gold","A06-R2":"Pink","A06-Y0":"Champagne","A05-M8":"Dawn Radiance","A05-M4":"Aurora Purple","A05-M1":"South Beach","A05-T3":"Neon City","A05-T2":"Midnight Blaze","A05-T1":"Gilded Rose","A05-T4":"Blue Hawaii","A05-T5":"Velvet Eclipse","A15-B0":"Purple","A15-G0":"Green","A15-G1":"Nebulae","A15-R0":"Brown","A16-K0":"Black Walnut","A16-R0":"Rosewood","A16-N0":"Clay Brown","A16-G0":"Classic Birch","A16-W0":"White Oak","A16-Y0":"Ochre Yellow","A50-D6":"Lava Gray","A50-K0":"Black","A50-B6":"Royal Blue","A10-W0":"White","A10-D0":"Gray","A09-B5":"Lavender Blue","A09-B4":"Light Blue","A09-A0":"Orange","A09-D1":"Silver","A09-R3":"Vermilion Red","A09-Y0":"Yellow","G02-K0":"Black","G02-W0":"White","G02-R0":"Red","G02-D0":"Gray","G02-D1":"Dark Gray","G02-Y1":"Cream","G02-Y0":"Yellow","G02-A0":"Orange","G02-N1":"Peanut Brown","G02-G1":"Lime Green","G02-G0":"Green","G02-G2":"Forest Green","G02-B1":"Lake Blue","G02-B0":"Blue","G01-G1":"Translucent Teal","G01-B0":"Translucent Light Blue","G01-C0":"Clear","G01-D0":"Translucent Gray","G01-G0":"Translucent Olive","G01-N0":"Translucent Brown","G01-A0":"Translucent Orange","G01-P1":"Translucent Pink","G01-P0":"Translucent Purple","G50-P7":"Violet Purple","G50-K0":"Black","B00-D1":"Silver","B00-K0":"Black","B00-W0":"White","B00-G6":"Bambu Green","B00-G7":"Olive","B00-Y1":"Tangerine Yellow","B00-A0":"Orange","B00-R0":"Red","B00-B4":"Azure","B00-B0":"Blue","B00-B6":"Navy Blue","B50-A0":"Orange","B50-K0":"Black","B01-W0":"White","B01-K0":"Black","B01-D0":"Gray","B02-W0":"White","C00-C1":"Transparent","C00-C0":"Clear Black","C00-K0":"Black","C00-W0":"White","C01-K0":"Black","U02-B0":"Blue","U02-D0":"Gray","U02-K0":"Black","N04-K0":"Black","N08-K0":"Black","S02-W0":"Nature","S02-W1":"White","S05-C0":"Black","S06-W0":"White","S03-G1":"Green","S04-Y0":"Clear"},p8e={W0:"White",W1:"Jade White",W2:"Ivory White",W3:"Bone White",Y0:"Yellow",Y1:"Gold",Y2:"Sunflower Yellow",Y3:"Bronze",Y4:"Gold",A0:"Orange",A1:"Pumpkin Orange",A2:"Mandarin Orange",R0:"Red",R1:"Scarlet Red",R2:"Maroon Red",R3:"Hot Pink",R4:"Dark Red",R5:"Red Granite",P0:"Beige",P1:"Pink",P2:"Indigo Purple",P3:"Sakura Pink",P4:"Lilac Purple",P5:"Purple",P6:"Magenta",P7:"Violet Purple",B0:"Blue",B1:"Blue Grey",B2:"Cobalt Blue",B3:"Cobalt Blue",B4:"Ice Blue",B5:"Turquoise",B6:"Navy Blue",B7:"Royal Purple",B8:"Cyan",G0:"Green",G1:"Grass Green",G2:"Mistletoe Green",G3:"Bright Green",G6:"Bambu Green",G7:"Dark Green",N0:"Brown",N1:"Peanut Brown",N2:"Dark Brown",N3:"Caramel",D0:"Gray",D1:"Silver",D2:"Light Gray",D3:"Dark Gray",D4:"White Marble",D5:"Slate Gray",D6:"Lava Gray",K0:"Black",K1:"Charcoal",K2:"Onyx Black",C0:"Clear Black",C1:"Transparent",M0:"Arctic Whisper",M1:"Solar Breeze",M2:"Ocean to Meadow",M3:"Pink Citrus",M4:"Aurora Purple",M5:"Blueberry Bubblegum",M6:"Dusk Glare",M7:"Cotton Candy Cloud",M8:"Dawn Radiance",T1:"Gilded Rose",T2:"Midnight Blaze",T3:"Neon City",T4:"Blue Hawaii",T5:"Velvet Eclipse"};function mP(t){if(!t)return null;if(Iq[t])return Iq[t];const e=t.split("-");if(e.length<2)return null;const n=e[1];return p8e[n]||null}function pP(t){if(!t||t.length<6)return"Unknown";const e=parseInt(t.substring(0,2),16),n=parseInt(t.substring(2,4),16),r=parseInt(t.substring(4,6),16),i=Math.max(e,n,r)/255,s=Math.min(e,n,r)/255,o=(i+s)/2;let l=0,c=0;if(i!==s){const u=i-s;c=o>.5?u/(2-i-s):u/(i+s);const d=e/255,h=n/255,p=r/255;i===d?l=((h-p)/u+(h.85?"White":c<.15?o<.4?"Dark Gray":o>.6?"Light Gray":"Gray":l>=15&&l<45&&o<.45||l>=45&&l<70&&o<.4?"Brown":l<15||l>=345?"Red":l<45?"Orange":l<70?"Yellow":l<150?"Green":l<200?"Cyan":l<260?"Blue":l<290?"Purple":"Pink"}function gP(t){return(t??.02).toFixed(3)}function zq({side:t}){const{mode:e}=Dm(),n=e==="dark"?"#1a4d2e":"#e7f5e9";return a.jsx("span",{className:"inline-flex items-center justify-center w-4 h-4 text-[10px] font-bold rounded",style:{backgroundColor:n,color:"#00ae42"},children:t})}function Ree(t){if(!t||t==="00000000"||t.length<6)return null;const e=t.slice(0,2),n=t.slice(2,4),r=t.slice(4,6),i=t.length>=8?parseInt(t.slice(6,8),16)/255:1;return i===0?null:`rgba(${parseInt(e,16)}, ${parseInt(n,16)}, ${parseInt(r,16)}, ${i})`}function g8e(t){if(!t||t.length<6)return!1;const e=parseInt(t.slice(0,2),16),n=parseInt(t.slice(2,4),16),r=parseInt(t.slice(4,6),16);return(.299*e+.587*n+.114*r)/255>.6}function Oee(t,e){if(!t)return"";if(t.includes("hardened"))return e("printers.nozzleHardenedSteel");if(t.includes("stainless"))return e("printers.nozzleStainlessSteel");if(t.includes("tungsten"))return e("printers.nozzleTungstenCarbide");if(t.length>=4){const n=t.slice(2,4);if(n==="00")return e("printers.nozzleStainlessSteel");if(n==="01")return e("printers.nozzleHardenedSteel");if(n==="05")return e("printers.nozzleTungstenCarbide")}return t==="00"?e("printers.nozzleStainlessSteel"):t==="01"?e("printers.nozzleHardenedSteel"):t==="05"?e("printers.nozzleTungstenCarbide"):t.startsWith("H")?e("printers.nozzleHardenedSteel"):t}function Lee(t,e){return t?t.startsWith("HH")?e("printers.nozzleHighFlow"):t.startsWith("HS")?e("printers.nozzleStandardFlow"):"":""}function Fee({slot:t,index:e,activeStatus:n,filamentName:r,children:i}){const{t:s}=Yt(),[o,l]=_.useState(!1),[c,u]=_.useState("top"),d=_.useRef(null),h=_.useRef(null),p=_.useRef(null),m=!t.nozzle_diameter&&!t.nozzle_type,b=t.stat===1;_.useEffect(()=>{if(o&&d.current&&h.current){const T=d.current.getBoundingClientRect(),M=h.current.offsetHeight,k=T.top-56,R=window.innerHeight-T.bottom;kk?u("bottom"):u("top")}},[o]);const y=()=>{p.current&&clearTimeout(p.current),p.current=setTimeout(()=>l(!0),80)},x=()=>{p.current&&clearTimeout(p.current),p.current=setTimeout(()=>l(!1),100)};_.useEffect(()=>()=>{p.current&&clearTimeout(p.current)},[]);const v=Ree(t.filament_color),S=Oee(t.nozzle_type,s),N=Lee(t.nozzle_type,s);return a.jsxs("div",{ref:d,className:"relative",onMouseEnter:y,onMouseLeave:x,children:[i,o&&a.jsxs("div",{ref:h,className:`
absolute left-1/2 -translate-x-1/2 z-50
${c==="top"?"bottom-full mb-2":"top-full mt-2"}
animate-in fade-in-0 zoom-in-95 duration-150
@@ -8491,7 +8491,7 @@ void main() {
border-l-[6px] border-l-transparent
border-r-[6px] border-r-transparent
${c==="top"?"top-full border-t-[6px] border-t-bambu-dark-tertiary":"bottom-full border-b-[6px] border-b-bambu-dark-tertiary"}
- `})]})]})}function g8e({leftSlot:t,rightSlot:e,activeNozzle:n,children:r}){const{t:i}=Yt(),[s,o]=_.useState(!1),[l,c]=_.useState("top"),u=_.useRef(null),d=_.useRef(null),h=_.useRef(null);_.useEffect(()=>{if(s&&u.current&&d.current){const y=u.current.getBoundingClientRect(),x=d.current.offsetHeight,S=y.top-56,N=window.innerHeight-y.bottom;SS?c("bottom"):c("top")}},[s]);const p=()=>{h.current&&clearTimeout(h.current),h.current=setTimeout(()=>o(!0),80)},m=()=>{h.current&&clearTimeout(h.current),h.current=setTimeout(()=>o(!1),100)};if(_.useEffect(()=>()=>{h.current&&clearTimeout(h.current)},[]),!t&&!e)return a.jsx(a.Fragment,{children:r});const b=(y,x)=>{const v=n===x,S=Oee(y.nozzle_type,i),N=Lee(y.nozzle_type,i);return a.jsxs("div",{className:"flex-1 space-y-1.5",children:[a.jsx("div",{className:`text-[10px] font-bold pb-1 border-b border-bambu-dark-tertiary/50 ${v?"text-amber-400":"text-bambu-gray"}`,children:i(x==="L"?"common.left":"common.right")}),y.nozzle_diameter&&a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsx("span",{className:"text-[10px] text-bambu-gray",children:i("printers.nozzleDiameter")}),a.jsxs("span",{className:"text-xs text-white font-semibold",children:[y.nozzle_diameter," mm"]})]}),S&&a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsx("span",{className:"text-[10px] text-bambu-gray",children:i("printers.nozzleType")}),a.jsx("span",{className:"text-[10px] text-white font-semibold",children:S})]}),N&&a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsx("span",{className:"text-[10px] text-bambu-gray",children:i("printers.nozzleFlow")}),a.jsx("span",{className:"text-[10px] text-white font-semibold",children:N})]}),a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsx("span",{className:"text-[10px] text-bambu-gray",children:i("printers.nozzleStatus")}),a.jsx("span",{className:`text-[10px] font-bold px-1.5 py-0.5 rounded ${v?"bg-green-900/50 text-green-400":"bg-bambu-dark-tertiary text-bambu-gray"}`,children:i(v?"printers.nozzleActive":"printers.nozzleIdle")})]}),y.wear!=null&&a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsx("span",{className:"text-[10px] text-bambu-gray",children:i("printers.nozzleWear")}),a.jsxs("span",{className:"text-xs text-white font-semibold",children:[y.wear,"%"]})]}),x==="R"&&y.max_temp>0&&a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsx("span",{className:"text-[10px] text-bambu-gray",children:i("printers.nozzleMaxTemp")}),a.jsxs("span",{className:"text-xs text-white font-semibold",children:[y.max_temp,"°C"]})]}),x==="R"&&y.serial_number&&a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsx("span",{className:"text-[10px] text-bambu-gray",children:i("printers.nozzleSerial")}),a.jsx("span",{className:"text-[10px] text-white font-mono",children:y.serial_number})]})]})};return a.jsxs("div",{ref:u,className:"relative flex-1",onMouseEnter:p,onMouseLeave:m,children:[r,s&&a.jsxs("div",{ref:d,className:`
+ `})]})]})}function b8e({leftSlot:t,rightSlot:e,activeNozzle:n,children:r}){const{t:i}=Yt(),[s,o]=_.useState(!1),[l,c]=_.useState("top"),u=_.useRef(null),d=_.useRef(null),h=_.useRef(null);_.useEffect(()=>{if(s&&u.current&&d.current){const y=u.current.getBoundingClientRect(),x=d.current.offsetHeight,S=y.top-56,N=window.innerHeight-y.bottom;SS?c("bottom"):c("top")}},[s]);const p=()=>{h.current&&clearTimeout(h.current),h.current=setTimeout(()=>o(!0),80)},m=()=>{h.current&&clearTimeout(h.current),h.current=setTimeout(()=>o(!1),100)};if(_.useEffect(()=>()=>{h.current&&clearTimeout(h.current)},[]),!t&&!e)return a.jsx(a.Fragment,{children:r});const b=(y,x)=>{const v=n===x,S=Oee(y.nozzle_type,i),N=Lee(y.nozzle_type,i);return a.jsxs("div",{className:"flex-1 space-y-1.5",children:[a.jsx("div",{className:`text-[10px] font-bold pb-1 border-b border-bambu-dark-tertiary/50 ${v?"text-amber-400":"text-bambu-gray"}`,children:i(x==="L"?"common.left":"common.right")}),y.nozzle_diameter&&a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsx("span",{className:"text-[10px] text-bambu-gray",children:i("printers.nozzleDiameter")}),a.jsxs("span",{className:"text-xs text-white font-semibold",children:[y.nozzle_diameter," mm"]})]}),S&&a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsx("span",{className:"text-[10px] text-bambu-gray",children:i("printers.nozzleType")}),a.jsx("span",{className:"text-[10px] text-white font-semibold",children:S})]}),N&&a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsx("span",{className:"text-[10px] text-bambu-gray",children:i("printers.nozzleFlow")}),a.jsx("span",{className:"text-[10px] text-white font-semibold",children:N})]}),a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsx("span",{className:"text-[10px] text-bambu-gray",children:i("printers.nozzleStatus")}),a.jsx("span",{className:`text-[10px] font-bold px-1.5 py-0.5 rounded ${v?"bg-green-900/50 text-green-400":"bg-bambu-dark-tertiary text-bambu-gray"}`,children:i(v?"printers.nozzleActive":"printers.nozzleIdle")})]}),y.wear!=null&&a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsx("span",{className:"text-[10px] text-bambu-gray",children:i("printers.nozzleWear")}),a.jsxs("span",{className:"text-xs text-white font-semibold",children:[y.wear,"%"]})]}),x==="R"&&y.max_temp>0&&a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsx("span",{className:"text-[10px] text-bambu-gray",children:i("printers.nozzleMaxTemp")}),a.jsxs("span",{className:"text-xs text-white font-semibold",children:[y.max_temp,"°C"]})]}),x==="R"&&y.serial_number&&a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsx("span",{className:"text-[10px] text-bambu-gray",children:i("printers.nozzleSerial")}),a.jsx("span",{className:"text-[10px] text-white font-mono",children:y.serial_number})]})]})};return a.jsxs("div",{ref:u,className:"relative flex-1",onMouseEnter:p,onMouseLeave:m,children:[r,s&&a.jsxs("div",{ref:d,className:`
absolute left-1/2 -translate-x-1/2 z-50
${l==="top"?"bottom-full mb-2":"top-full mt-2"}
animate-in fade-in-0 zoom-in-95 duration-150
@@ -8500,7 +8500,7 @@ void main() {
border-l-[6px] border-l-transparent
border-r-[6px] border-r-transparent
${l==="top"?"top-full border-t-[6px] border-t-bambu-dark-tertiary":"bottom-full border-b-[6px] border-b-bambu-dark-tertiary"}
- `})]})]})}function b8e({slots:t,filamentInfo:e}){const{t:n}=Yt(),r=t.filter(l=>l.id>=2),i=6,s=r.length>0?Math.min(...r.map(l=>l.id)):16,o=Array.from({length:i},(l,c)=>r.find(u=>u.id===s+c)??{id:-(c+1),nozzle_type:"",nozzle_diameter:"",wear:null,stat:null,max_temp:0,serial_number:"",filament_color:"",filament_id:"",filament_type:""});return a.jsxs("div",{className:"text-center px-2.5 py-1.5 bg-bambu-dark rounded-lg flex-[2_1_190px] flex flex-col justify-center",children:[a.jsx("p",{className:"text-[9px] text-bambu-gray mb-1",children:n("printers.nozzleRack")}),a.jsx("div",{className:"flex gap-[3px] justify-center",children:o.map((l,c)=>{const u=!l.nozzle_diameter&&!l.nozzle_type,d=u?null:Ree(l.filament_color);return a.jsx(Fee,{slot:l,index:c,filamentName:l.filament_id?e?.[l.filament_id]?.name:void 0,children:a.jsx("div",{className:`w-7 h-7 rounded flex items-center justify-center cursor-default transition-colors border-b-2 ${u?"bg-bambu-dark-tertiary/20 border-bambu-dark-tertiary/20":"bg-bambu-dark-tertiary/40 border-bambu-dark-tertiary/40"}`,style:d?{backgroundColor:d}:void 0,children:a.jsx("span",{className:`text-[10px] font-semibold ${u?"text-bambu-gray/30":"text-white"}`,style:d?{textShadow:"0 1px 3px rgba(0,0,0,0.9)"}:void 0,children:u?"—":l.nozzle_diameter||"?"})})},l.id>=0?l.id:`empty-${c}`)})})]})}function Uq({className:t}){return a.jsx("svg",{className:t,viewBox:"0 0 36 54",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:a.jsx("path",{d:"M17.8131 0.00538C18.4463 -0.15091 20.3648 3.14642 20.8264 3.84781C25.4187 10.816 35.3089 26.9368 35.9383 34.8694C37.4182 53.5822 11.882 61.3357 2.53721 45.3789C-1.73471 38.0791 0.016 32.2049 3.178 25.0232C6.99221 16.3662 12.6411 7.90372 17.8131 0.00538ZM18.3738 7.24807L17.5881 7.48441C14.4452 12.9431 10.917 18.2341 8.19369 23.9368C4.6808 31.29 1.18317 38.5479 7.69403 45.5657C17.3058 55.9228 34.9847 46.8808 31.4604 32.8681C29.2558 24.0969 22.4207 15.2913 18.3776 7.24807H18.3738Z",fill:"#C3C2C1"})})}function x8e({className:t}){return a.jsxs("svg",{className:t,viewBox:"0 0 35 53",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[a.jsx("path",{d:"M17.3165 0.0038C17.932 -0.14959 19.7971 3.08645 20.2458 3.77481C24.7103 10.6135 34.3251 26.4346 34.937 34.2198C36.3757 52.5848 11.5505 60.1942 2.46584 44.534C-1.68714 37.3735 0.0148 31.6085 3.08879 24.5603C6.79681 16.0605 12.2884 7.75907 17.3165 0.0038ZM17.8615 7.11561L17.0977 7.34755C14.0423 12.7048 10.6124 17.8974 7.96483 23.4941C4.54975 30.7107 1.14949 37.8337 7.47908 44.721C16.8233 54.8856 34.01 46.0117 30.5838 32.2595C28.4405 23.6512 21.7957 15.0093 17.8652 7.11561H17.8615Z",fill:"#C3C2C1"}),a.jsx("path",{d:"M5.03547 30.112C9.64453 30.4936 11.632 35.7985 16.4154 35.791C19.6339 35.7873 20.2161 33.2283 22.3853 31.6197C31.6776 24.7286 33.5835 37.4894 27.9881 44.4254C18.1878 56.5653 -1.16063 44.6013 5.03917 30.1158L5.03547 30.112Z",fill:"#1F8FEB"})]})}function y8e({className:t}){return a.jsxs("svg",{className:t,viewBox:"0 0 36 54",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[a.jsx("path",{d:"M17.9625 4.48059L4.77216 26.3154L2.08228 40.2175L10.0224 50.8414H23.1594L33.3246 42.1693V30.2455L17.9625 4.48059Z",fill:"#1F8FEB"}),a.jsx("path",{d:"M17.7948 0.00538C18.4273 -0.15091 20.3438 3.14642 20.8048 3.84781C25.3921 10.816 35.2715 26.9368 35.9001 34.8694C37.3784 53.5822 11.8702 61.3357 2.53562 45.3789C-1.73163 38.0829 0.0134 32.2087 3.1757 25.027C6.98574 16.3662 12.6284 7.90372 17.7948 0.00538ZM18.3549 7.24807L17.57 7.48441C14.4306 12.9431 10.9063 18.2341 8.1859 23.9368C4.67686 31.29 1.18305 38.5479 7.68679 45.5657C17.2881 55.9228 34.9476 46.8808 31.4271 32.8681C29.2249 24.0969 22.3974 15.2913 18.3587 7.24807H18.3549Z",fill:"#C3C2C1"})]})}function v8e({className:t}){return a.jsxs("svg",{className:t,viewBox:"0 0 12 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[a.jsx("path",{d:"M6 0.5C4.6 0.5 3.5 1.6 3.5 3V12.1C2.6 12.8 2 13.9 2 15C2 17.2 3.8 19 6 19C8.2 19 10 17.2 10 15C10 13.9 9.4 12.8 8.5 12.1V3C8.5 1.6 7.4 0.5 6 0.5Z",stroke:"#C3C2C1",strokeWidth:"1",fill:"none"}),a.jsx("circle",{cx:"6",cy:"15",r:"2.5",stroke:"#C3C2C1",strokeWidth:"1",fill:"none"})]})}function w8e({className:t}){return a.jsxs("svg",{className:t,viewBox:"0 0 12 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[a.jsx("rect",{x:"4.5",y:"8",width:"3",height:"4.5",fill:"#d4a017",rx:"0.5"}),a.jsx("circle",{cx:"6",cy:"15",r:"2",fill:"#d4a017"}),a.jsx("path",{d:"M6 0.5C4.6 0.5 3.5 1.6 3.5 3V12.1C2.6 12.8 2 13.9 2 15C2 17.2 3.8 19 6 19C8.2 19 10 17.2 10 15C10 13.9 9.4 12.8 8.5 12.1V3C8.5 1.6 7.4 0.5 6 0.5Z",stroke:"#C3C2C1",strokeWidth:"1",fill:"none"})]})}function _8e({className:t}){return a.jsxs("svg",{className:t,viewBox:"0 0 12 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[a.jsx("rect",{x:"4.5",y:"3",width:"3",height:"9.5",fill:"#c62828",rx:"0.5"}),a.jsx("circle",{cx:"6",cy:"15",r:"2",fill:"#c62828"}),a.jsx("path",{d:"M6 0.5C4.6 0.5 3.5 1.6 3.5 3V12.1C2.6 12.8 2 13.9 2 15C2 17.2 3.8 19 6 19C8.2 19 10 17.2 10 15C10 13.9 9.4 12.8 8.5 12.1V3C8.5 1.6 7.4 0.5 6 0.5Z",stroke:"#C3C2C1",strokeWidth:"1",fill:"none"})]})}function bP({className:t,color:e,isHeating:n}){const i={"text-orange-400":"#fb923c","text-blue-400":"#60a5fa","text-green-400":"#4ade80"}[e]||"#888",s=n?{filter:`drop-shadow(0 0 4px ${i}) drop-shadow(0 0 8px ${i})`}:{};return n?a.jsxs("svg",{className:t,style:s,viewBox:"0 0 12 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[a.jsx("rect",{x:"4.5",y:"3",width:"3",height:"9.5",fill:i,rx:"0.5"}),a.jsx("circle",{cx:"6",cy:"15",r:"2",fill:i}),a.jsx("path",{d:"M6 0.5C4.6 0.5 3.5 1.6 3.5 3V12.1C2.6 12.8 2 13.9 2 15C2 17.2 3.8 19 6 19C8.2 19 10 17.2 10 15C10 13.9 9.4 12.8 8.5 12.1V3C8.5 1.6 7.4 0.5 6 0.5Z",stroke:i,strokeWidth:"1",fill:"none"})]}):a.jsxs("svg",{className:t,viewBox:"0 0 12 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[a.jsx("path",{d:"M6 0.5C4.6 0.5 3.5 1.6 3.5 3V12.1C2.6 12.8 2 13.9 2 15C2 17.2 3.8 19 6 19C8.2 19 10 17.2 10 15C10 13.9 9.4 12.8 8.5 12.1V3C8.5 1.6 7.4 0.5 6 0.5Z",stroke:i,strokeWidth:"1",fill:"none"}),a.jsx("circle",{cx:"6",cy:"15",r:"2.5",stroke:i,strokeWidth:"1",fill:"none"})]})}function Bq({humidity:t,goodThreshold:e=40,fairThreshold:n=60,onClick:r,compact:i}){const s=typeof t=="string"?parseInt(t,10):t,o=typeof e=="number"?e:40,l=typeof n=="number"?n:60;let c,u;isNaN(s)?(c="#C3C2C1",u="Unknown"):s<=o?(c="#22a352",u="Good"):s<=l?(c="#d4a017",u="Fair"):(c="#c62828",u="Bad");let d;return isNaN(s)||s<=o?d=Uq:s<=l?d=x8e:d=y8e,a.jsxs("button",{type:"button",onClick:r,className:`flex items-center gap-1 ${r?"cursor-pointer hover:opacity-80 transition-opacity":""}`,title:`Humidity: ${s}% - ${u}${r?" (click for history)":""}`,children:[a.jsx(d,{className:i?"w-2.5 h-3":"w-3 h-4"}),a.jsxs("span",{className:`font-medium tabular-nums ${i?"text-[10px]":"text-xs"}`,style:{color:c},children:[s,"%"]})]})}function Hq({temp:t,goodThreshold:e=28,fairThreshold:n=35,onClick:r,compact:i}){const s=typeof e=="number"?e:28,o=typeof n=="number"?n:35;let l,c,u;return t<=s?(l="#22a352",c="Good",u=v8e):t<=o?(l="#d4a017",c="Fair",u=w8e):(l="#c62828",c="Bad",u=_8e),a.jsxs("button",{type:"button",onClick:r,className:`flex items-center gap-1 ${r?"cursor-pointer hover:opacity-80 transition-opacity":""}`,title:`Temperature: ${t}°C - ${c}${r?" (click for history)":""}`,children:[a.jsx(u,{className:i?"w-2.5 h-3":"w-3 h-4"}),a.jsxs("span",{className:`tabular-nums text-right ${i?"text-[10px] w-8":"w-12"}`,style:{color:l},children:[t,"°C"]})]})}function Gd(t,e){const n=typeof t=="string"?parseInt(t,10):t,r=isNaN(n)?0:n,i=e===1,s=r>=128?r-128:r,o=String.fromCharCode(65+s);return i?`HT-${o}`:`AMS-${o}`}function xP(t){return t>50?"#00ae42":t>=15?"#f59e0b":"#ef4444"}function yP(t){return!t?.remaining_weight||!t?.filament_weight||t.filament_weight<=0?null:Math.min(100,Math.round(t.remaining_weight/t.filament_weight*100))}function S8e(t){const e=Math.floor(t/3600),n=Math.floor(t%3600/60);return e>0?`${e}h ${n}m`:`${n}m`}function N8e(t,e="system"){const n=new Date,r=new Date(n.getTime()+t*60*1e3),i=new Date;i.setHours(0,0,0,0);const s=new Date(r);s.setHours(0,0,0,0);const o={hour:"2-digit",minute:"2-digit"};e==="12h"?o.hour12=!0:e==="24h"&&(o.hour12=!1);const l=r.toLocaleTimeString([],o),c=Math.floor((s.getTime()-i.getTime())/(1e3*60*60*24));return c===0?l:c===1?`Tomorrow ${l}`:r.toLocaleDateString([],{weekday:"short"})+" "+l}function k8e(t){if(!t)return"/img/printers/default.png";const e=t.toLowerCase().replace(/\s+/g,"");return e.includes("x1e")?"/img/printers/x1e.png":e.includes("x1c")||e.includes("x1carbon")||e.includes("x1")?"/img/printers/x1c.png":e.includes("h2d")?"/img/printers/h2d.png":e.includes("h2c")?"/img/printers/h2c.png":e.includes("h2s")?"/img/printers/h2d.png":e.includes("p2s")||e.includes("p1s")?"/img/printers/p1s.png":e.includes("p1p")?"/img/printers/p1p.png":e.includes("a1mini")?"/img/printers/a1mini.png":e.includes("a1")?"/img/printers/a1.png":"/img/printers/default.png"}function M8e(t){return t>=-50?{labelKey:"printers.wifiSignal.excellent",color:"text-bambu-green",bars:4}:t>=-60?{labelKey:"printers.wifiSignal.good",color:"text-bambu-green",bars:3}:t>=-70?{labelKey:"printers.wifiSignal.fair",color:"text-yellow-400",bars:2}:t>=-80?{labelKey:"printers.wifiSignal.weak",color:"text-orange-400",bars:1}:{labelKey:"printers.wifiSignal.veryWeak",color:"text-red-400",bars:1}}function vP(t){return t?!!(t.tray_info_idx&&t.tray_info_idx.startsWith("GF")||t.tray_uuid&&t.tray_uuid!=="00000000000000000000000000000000"||t.tag_uid&&t.tag_uid!=="0000000000000000"):!1}function E8e({url:t,printName:e}){const{t:n}=Yt(),[r,i]=_.useState(!1),[s,o]=_.useState(!1),[l,c]=_.useState(!1);return a.jsxs(a.Fragment,{children:[a.jsx("div",{className:`w-20 h-20 flex-shrink-0 rounded-lg overflow-hidden bg-bambu-dark-tertiary flex items-center justify-center ${t&&r?"cursor-pointer":""}`,onClick:()=>t&&r&&c(!0),children:t&&!s?a.jsxs(a.Fragment,{children:[a.jsx("img",{src:t,alt:n("printers.printPreview"),className:`w-full h-full object-cover ${r?"block":"hidden"}`,onLoad:()=>i(!0),onError:()=>o(!0)}),!r&&a.jsx(Ii,{className:"w-8 h-8 text-bambu-gray"})]}):a.jsx(Ii,{className:"w-8 h-8 text-bambu-gray"})}),l&&t&&a.jsx("div",{className:"fixed inset-0 bg-black/80 flex items-center justify-center z-50 p-8",onClick:()=>c(!1),children:a.jsxs("div",{className:"relative max-w-2xl max-h-full",children:[a.jsx("img",{src:t,alt:n("printers.printPreview"),className:"max-w-full max-h-[80vh] rounded-lg shadow-2xl"}),e&&a.jsx("p",{className:"text-white text-center mt-4 text-lg",children:e})]})})]})}function T8e({printers:t}){const{t:e}=Yt(),n=an(),r=_.useMemo(()=>{let s=0,o=0,l=0,c=0;return t?.forEach(u=>{const d=n.getQueryData(["printerStatus",u.id]);d===void 0?c++:d.connected?d.state==="RUNNING"?s++:o++:l++}),{printing:s,idle:o,offline:l,loading:c,total:t?.length||0}},[t,n]),[,i]=_.useState(0);return _.useEffect(()=>{let s=!1;const o=n.getQueryCache().subscribe(()=>{s||(s=!0,requestAnimationFrame(()=>{i(l=>l+1),s=!1}))});return()=>o()},[n]),t?.length?a.jsxs("div",{className:"flex items-center gap-4 text-sm",children:[r.printing>0&&a.jsxs("div",{className:"flex items-center gap-1.5",children:[a.jsx("div",{className:"w-2 h-2 rounded-full bg-bambu-green animate-pulse"}),a.jsxs("span",{className:"text-bambu-gray",children:[a.jsx("span",{className:"text-white font-medium",children:r.printing})," ",e("printers.status.printing").toLowerCase()]})]}),r.idle>0&&a.jsxs("div",{className:"flex items-center gap-1.5",children:[a.jsx("div",{className:"w-2 h-2 rounded-full bg-blue-400"}),a.jsxs("span",{className:"text-bambu-gray",children:[a.jsx("span",{className:"text-white font-medium",children:r.idle})," ",e("printers.status.idle").toLowerCase()]})]}),r.offline>0&&a.jsxs("div",{className:"flex items-center gap-1.5",children:[a.jsx("div",{className:"w-2 h-2 rounded-full bg-gray-400"}),a.jsxs("span",{className:"text-bambu-gray",children:[a.jsx("span",{className:"text-white font-medium",children:r.offline})," ",e("printers.status.offline").toLowerCase()]})]})]}):null}function $q(t,e){if(e)return e;switch(t){case"RUNNING":return"Printing";case"PAUSE":return"Paused";case"FINISH":return"Finished";case"FAILED":return"Failed";case"IDLE":return"Idle";default:return t?t.charAt(0)+t.slice(1).toLowerCase():"Idle"}}function Vq({printer:t,hideIfDisconnected:e,maintenanceInfo:n,viewMode:r="expanded",cardSize:i=2,amsThresholds:s,spoolmanEnabled:o=!1,hasUnlinkedSpools:l=!1,linkedSpools:c,spoolmanUrl:u,timeFormat:d="system",cameraViewMode:h="window",onOpenEmbeddedCamera:p,checkPrinterFirmware:m=!0}){const{t:b}=Yt(),y=an(),x=Ec(),{showToast:v}=Tn(),{hasPermission:S}=Ir(),[N,T]=_.useState(!1),[M,A]=_.useState(!1),[k,R]=_.useState(!0),[C,P]=_.useState(!1),[U,F]=_.useState(!1),[H,D]=_.useState(!1),[$,G]=_.useState(!1),[I,K]=_.useState(!1),[Q,oe]=_.useState(!1),[B,W]=_.useState(!1),[J,ne]=_.useState(!1),[me,fe]=_.useState(!1),[de,Re]=_.useState(!1),[se,ke]=_.useState(null),[Fe,ce]=_.useState(null),[Ve,V]=_.useState(null),[Y,ue]=_.useState(!1),[q,re]=_.useState(null),[X,le]=_.useState(!1),[pe,ee]=_.useState(!1),[z,O]=_.useState(null),[Z,ge]=_.useState(!1),[Ce,_e]=_.useState(!1),{data:Te}=it({queryKey:["printerStatus",t.id],queryFn:()=>ae.getPrinterStatus(t.id),refetchInterval:3e4}),{data:we}=it({queryKey:["firmwareUpdate",t.id],queryFn:()=>N1.checkPrinterUpdate(t.id),staleTime:300*1e3,refetchInterval:300*1e3,enabled:m&&S("firmware:read")}),$e=_.useMemo(()=>{const gt=new Set;if(Te?.ams)for(const jt of Te.ams)for(const gn of jt.tray||[])gn.tray_info_idx&>.add(gn.tray_info_idx);if(Te?.vt_tray?.tray_info_idx&>.add(Te.vt_tray.tray_info_idx),Te?.nozzle_rack)for(const jt of Te.nozzle_rack)jt.filament_id&>.add(jt.filament_id);return Array.from(gt)},[Te?.ams,Te?.vt_tray,Te?.nozzle_rack]),{data:Ge}=it({queryKey:["filamentInfo",$e],queryFn:()=>ae.getFilamentInfo($e),enabled:$e.length>0,staleTime:300*1e3}),{data:ze}=it({queryKey:["slotPresets",t.id],queryFn:()=>ae.getSlotPresets(t.id),staleTime:120*1e3}),[be,Me]=_.useState(null);_.useEffect(()=>{Te?.wifi_signal!=null&&Me(Te.wifi_signal)},[Te?.wifi_signal]);const Be=Te?.wifi_signal??be,Ae=_.useRef(void 0);_.useEffect(()=>{Te?.connected!==void 0&&(Ae.current=Te.connected)},[Te?.connected]);const qe=Te?.connected??Ae.current,ve=_.useRef({});_.useEffect(()=>{Te?.ams_extruder_map&&Object.keys(Te.ams_extruder_map).length>0&&(ve.current=Te.ams_extruder_map)},[Te?.ams_extruder_map]);const et=Te?.ams_extruder_map&&Object.keys(Te.ams_extruder_map).length>0?Te.ams_extruder_map:ve.current,Ee=_.useRef([]);_.useEffect(()=>{Te?.ams&&Te.ams.length>0&&(Ee.current=Te.ams)},[Te?.ams]);const Ye=Te?.ams&&Te.ams.length>0?Te.ams:Ee.current,je=_.useRef(255),Pe=Te?.tray_now;Pe!==void 0&&Pe!==255&&(je.current=Pe);const ye=Pe===void 0||Pe===255?je.current:Pe,{data:Qe}=it({queryKey:["smartPlugByPrinter",t.id],queryFn:()=>ae.getSmartPlugByPrinter(t.id)}),{data:yt}=it({queryKey:["scriptPlugsByPrinter",t.id],queryFn:()=>ae.getScriptPlugsByPrinter(t.id)}),{data:at}=it({queryKey:["smartPlugStatus",Qe?.id],queryFn:()=>Qe?ae.getSmartPlugStatus(Qe.id):null,enabled:!!Qe,refetchInterval:1e4}),{data:Ut}=it({queryKey:["queue",t.id,"pending"],queryFn:()=>ae.getQueue(t.id,"pending")}),zt=Ut?.length||0,{data:Ie}=it({queryKey:["queue",t.id,"printing"],queryFn:()=>ae.getQueue(t.id,"printing"),enabled:Te?.state==="RUNNING"}),{data:vt}=it({queryKey:["currentPrintUser",t.id],queryFn:()=>ae.getCurrentPrintUser(t.id),enabled:Te?.state==="RUNNING"}),Gt=Ie?.[0]?.created_by_username||vt?.username,{data:dn}=it({queryKey:["archives",t.id,"last"],queryFn:()=>ae.getArchives(t.id,1,0),enabled:Te?.connected&&Te?.state!=="RUNNING"}),fn=dn?.[0],vn=e&&qe===!1,dr=dt({mutationFn:gt=>ae.deletePrinter(t.id,gt.deleteArchives),onSuccess:()=>{y.invalidateQueries({queryKey:["printers"]}),y.invalidateQueries({queryKey:["archives"]}),y.invalidateQueries({queryKey:["maintenanceOverview"]})},onError:gt=>v(gt.message||b("printers.toast.failedToDelete"),"error")}),ar=dt({mutationFn:()=>ae.connectPrinter(t.id),onSuccess:()=>{y.invalidateQueries({queryKey:["printerStatus",t.id]})}}),kn=dt({mutationFn:gt=>Qe?ae.controlSmartPlug(Qe.id,gt):Promise.reject("No plug"),onSuccess:()=>{y.invalidateQueries({queryKey:["smartPlugStatus",Qe?.id]})}}),Bn=dt({mutationFn:gt=>Qe?ae.updateSmartPlug(Qe.id,{auto_off:gt}):Promise.reject("No plug"),onSuccess:()=>{y.invalidateQueries({queryKey:["smartPlugByPrinter",t.id]}),y.invalidateQueries({queryKey:["smart-plugs"]})}}),Hr=dt({mutationFn:gt=>ae.controlSmartPlug(gt,"on"),onSuccess:()=>{v(b("printers.toast.scriptTriggered"))},onError:gt=>v(gt.message||b("printers.toast.failedToRunScript"),"error")}),Ma=dt({mutationFn:()=>ae.stopPrint(t.id),onSuccess:()=>{v(b("printers.toast.printStopped")),y.invalidateQueries({queryKey:["printerStatus",t.id]})},onError:gt=>v(gt.message||b("printers.toast.failedToStopPrint"),"error")}),De=dt({mutationFn:()=>ae.pausePrint(t.id),onSuccess:()=>{v(b("printers.toast.printPaused")),y.invalidateQueries({queryKey:["printerStatus",t.id]})},onError:gt=>v(gt.message||b("printers.toast.failedToPausePrint"),"error")}),tt=dt({mutationFn:()=>ae.resumePrint(t.id),onSuccess:()=>{v(b("printers.toast.printResumed")),y.invalidateQueries({queryKey:["printerStatus",t.id]})},onError:gt=>v(gt.message||b("printers.toast.failedToResumePrint"),"error")}),ht=dt({mutationFn:gt=>ae.setChamberLight(t.id,gt),onMutate:async gt=>{await y.cancelQueries({queryKey:["printerStatus",t.id]});const jt=y.getQueryData(["printerStatus",t.id]);return y.setQueryData(["printerStatus",t.id],gn=>({...gn,chamber_light:gt})),{previousStatus:jt}},onSuccess:(gt,jt)=>{v(`Chamber light ${jt?"on":"off"}`)},onError:(gt,jt,gn)=>{gn?.previousStatus&&y.setQueryData(["printerStatus",t.id],gn.previousStatus),v(gt.message||b("printers.toast.failedToControlChamberLight"),"error")}}),mt=dt({mutationFn:gt=>ae.updatePrinter(t.id,{plate_detection_enabled:gt}),onSuccess:()=>{y.invalidateQueries({queryKey:["printers"]}),v(mt.variables?b("printers.toast.plateCheckEnabled"):b("printers.toast.plateCheckDisabled"))},onError:gt=>v(gt.message||b("printers.toast.failedToUpdateSetting"),"error")}),ut=(Te?.state==="RUNNING"||Te?.state==="PAUSE"||Te?.state==="PAUSED")&&(Te?.printable_objects_count??0)>=2,{data:Dt}=it({queryKey:["printableObjects",t.id],queryFn:()=>ae.getPrintableObjects(t.id),enabled:de||ut,refetchInterval:de?5e3:ut?3e4:!1}),[he,Le]=_.useState(null),Ke=_.useRef(!1),Ue=_.useRef(null),Se=_.useRef(!1),nt=dt({mutationFn:({amsId:gt,slotId:jt})=>ae.refreshAmsSlot(t.id,gt,jt),onMutate:({amsId:gt,slotId:jt})=>{Ue.current&&clearTimeout(Ue.current),Ke.current=!1,Se.current=!1,Le({amsId:gt,slotId:jt}),setTimeout(()=>{Se.current=!0},2e3),Ue.current=setTimeout(()=>{Le(null)},3e4)},onSuccess:gt=>{v(gt.message||b("printers.toast.rfidRereadInitiated"))},onError:gt=>{v(gt.message||b("printers.toast.failedToRereadRfid"),"error"),Ue.current&&clearTimeout(Ue.current),Le(null)}}),[xt,rt]=_.useState(null),[Ct,It]=_.useState(null),Rt=async()=>{try{const gt=await ae.getPlateReferences(t.id);rt(gt)}catch{}},Tt=()=>{mt.mutate(!t.plate_detection_enabled)},mn=async()=>{le(!0),re(null);const gt=Te?.chamber_light===!1;_e(gt),gt&&(await ae.setChamberLight(t.id,!0),await new Promise(jt=>setTimeout(jt,2500)));try{const jt=await ae.checkPlateEmpty(t.id,{includeDebugImage:!0});re(jt),Rt()}catch(jt){v(jt instanceof Error?jt.message:b("printers.toast.failedToCheckPlate"),"error"),gt&&(await ae.setChamberLight(t.id,!1),_e(!1))}finally{le(!1)}},Bt=_.useCallback(async()=>{re(null),Ce&&(await ae.setChamberLight(t.id,!1),_e(!1))},[Ce,t.id]),pn=async gt=>{ee(!0);try{const jt=await ae.calibratePlateDetection(t.id,{label:gt});if(jt.success){v(jt.message||b("printers.toast.calibrationSaved"),"success"),Rt();const gn=await ae.checkPlateEmpty(t.id,{includeDebugImage:!0});re(gn)}else v(jt.message||b("printers.toast.calibrationFailed"),"error")}catch(jt){v(jt instanceof Error?jt.message:b("printers.toast.calibrationFailed"),"error")}finally{ee(!1)}},Mn=async(gt,jt)=>{try{await ae.updatePlateReferenceLabel(t.id,gt,jt),It(null),Rt()}catch(gn){v(gn instanceof Error?gn.message:b("printers.toast.failedToUpdateLabel"),"error")}},jn=async gt=>{try{await ae.deletePlateReference(t.id,gt),v(b("printers.toast.referenceDeleted"),"success"),Rt();const jt=await ae.checkPlateEmpty(t.id,{includeDebugImage:!0});re(jt)}catch(jt){v(jt instanceof Error?jt.message:b("printers.toast.failedToDeleteReference"),"error")}},Kt=async()=>{if(z){ge(!0);try{await ae.updatePrinter(t.id,{plate_detection_roi:z}),v(b("printers.toast.detectionAreaSaved"),"success"),O(null);const gt=await ae.checkPlateEmpty(t.id,{includeDebugImage:!0});re(gt)}catch(gt){v(gt instanceof Error?gt.message:b("printers.toast.failedToSaveDetectionArea"),"error")}finally{ge(!1)}}};_.useEffect(()=>{const gt=jt=>{jt.key==="Escape"&&q&&Bt()};return window.addEventListener("keydown",gt),()=>window.removeEventListener("keydown",gt)},[q,Bt]);const Qt=_.useRef(null);_.useEffect(()=>{if(!he)return;const gt=Te?.ams_status_main??0;return gt!==0&&(Ke.current=!0,Qt.current&&(clearTimeout(Qt.current),Qt.current=null)),Ke.current&>===0&&(Se.current?(Ue.current&&clearTimeout(Ue.current),Le(null)):Qt.current||(Qt.current=setTimeout(()=>{Ue.current&&clearTimeout(Ue.current),Le(null)},2e3))),()=>{Qt.current&&clearTimeout(Qt.current)}},[Te?.ams_status_main,he]);const[Zt,cn]=_.useState(null);if(vn)return null;const $r=()=>{switch(i){case 1:return"w-10 h-10";case 2:return"w-14 h-14";case 3:return"w-16 h-16";case 4:return"w-20 h-20";default:return"w-14 h-14"}},Qn=()=>{switch(i){case 1:return"text-base truncate";case 2:return"text-lg";case 3:return"text-xl";case 4:return"text-2xl";default:return"text-lg"}},ai=()=>{switch(i){case 1:return"mb-2";case 2:return"mb-4";case 3:return"mb-5";case 4:return"mb-6";default:return"mb-4"}};return a.jsxs(St,{className:"relative",children:[a.jsxs(Et,{className:i>=3?"p-5":"",children:[a.jsxs("div",{className:ai(),children:[a.jsxs("div",{className:"flex items-start justify-between gap-2",children:[a.jsxs("div",{className:"flex items-center gap-3 min-w-0 flex-1",children:[a.jsx("img",{src:k8e(t.model),alt:t.model||b("common.printer"),className:`object-contain rounded-lg bg-bambu-dark flex-shrink-0 ${$r()}`}),a.jsxs("div",{className:"min-w-0 flex-1",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("h3",{className:`font-semibold text-white ${Qn()}`,children:t.name}),r==="compact"&&a.jsx("div",{className:`w-2 h-2 rounded-full flex-shrink-0 ${Te?.connected?"bg-status-ok":"bg-status-error"}`,title:Te?.connected?b("printers.connection.connected"):b("printers.connection.offline")})]}),a.jsxs("p",{className:"text-sm text-bambu-gray",children:[t.model||"Unknown Model",r==="expanded"&&Te?.nozzles&&Te.nozzles[0]?.nozzle_diameter&&a.jsxs("span",{className:"ml-1.5 text-bambu-gray",title:Te.nozzles[0].nozzle_type||"Nozzle",children:["• ",Te.nozzles[0].nozzle_diameter,"mm"]}),r==="expanded"&&n&&n.total_print_hours>0&&a.jsxs("span",{className:"ml-2 text-bambu-gray",children:[a.jsx(tr,{className:"w-3 h-3 inline-block mr-1"}),Math.round(n.total_print_hours),"h"]})]})]})]}),a.jsxs("div",{className:"relative flex-shrink-0",children:[a.jsx(Ne,{variant:"ghost",size:"sm",onClick:()=>T(!N),children:a.jsx(mh,{className:"w-4 h-4"})}),N&&a.jsxs("div",{className:"absolute right-0 mt-2 w-48 bg-bambu-dark-secondary border border-bambu-dark-tertiary rounded-lg shadow-lg z-20",children:[a.jsxs("button",{className:`w-full px-4 py-2 text-left text-sm flex items-center gap-2 ${S("printers:update")?"hover:bg-bambu-dark-tertiary":"opacity-50 cursor-not-allowed"}`,onClick:()=>{S("printers:update")&&(P(!0),T(!1))},title:S("printers:update")?void 0:b("printers.permission.noEdit"),children:[a.jsx(Ji,{className:"w-4 h-4"}),b("common.edit")]}),a.jsxs("button",{className:"w-full px-4 py-2 text-left text-sm hover:bg-bambu-dark-tertiary flex items-center gap-2",onClick:()=>{ar.mutate(),T(!1)},children:[a.jsx(Or,{className:"w-4 h-4"}),b("printers.reconnect")]}),a.jsxs("button",{className:"w-full px-4 py-2 text-left text-sm hover:bg-bambu-dark-tertiary flex items-center gap-2",onClick:()=>{D(!0),T(!1)},children:[a.jsx(VW,{className:"w-4 h-4"}),b("printers.mqttDebug")]}),a.jsxs("button",{className:`w-full px-4 py-2 text-left text-sm flex items-center gap-2 ${S("printers:delete")?"text-red-400 hover:bg-bambu-dark-tertiary":"text-red-400/50 cursor-not-allowed"}`,onClick:()=>{S("printers:delete")&&(A(!0),T(!1))},title:S("printers:delete")?void 0:b("printers.permission.noDelete"),children:[a.jsx(ln,{className:"w-4 h-4"}),b("common.delete")]})]})]})]}),r==="expanded"&&a.jsxs("div",{className:"flex flex-wrap items-center gap-2 mt-2",children:[a.jsxs("span",{className:`flex items-center gap-1.5 px-2 py-1 rounded-full text-xs ${Te?.connected?"bg-status-ok/20 text-status-ok":"bg-status-error/20 text-status-error"}`,children:[Te?.connected?a.jsx($y,{className:"w-3 h-3"}):a.jsx(WR,{className:"w-3 h-3"}),Te?.connected?b("printers.connection.connected"):b("printers.connection.offline")]}),Te?.connected&&Be!=null&&a.jsxs("span",{className:`flex items-center gap-1 px-2 py-1 rounded-full text-xs ${Be>=-50||Be>=-60?"bg-status-ok/20 text-status-ok":Be>=-70?"bg-status-warning/20 text-status-warning":Be>=-80?"bg-orange-500/20 text-orange-600":"bg-status-error/20 text-status-error"}`,title:`WiFi: ${Be} dBm - ${b(M8e(Be).labelKey)}`,children:[a.jsx(qhe,{className:"w-3 h-3"}),Be,"dBm"]}),Te?.connected&&(()=>{const gt=Te.hms_errors?cMe(Te.hms_errors):[];return a.jsxs("button",{onClick:()=>oe(!0),className:`flex items-center gap-1 px-2 py-1 rounded-full text-xs cursor-pointer hover:opacity-80 transition-opacity ${gt.length>0?gt.some(jt=>jt.severity<=2)?"bg-status-error/20 text-status-error":"bg-status-warning/20 text-status-warning":"bg-status-ok/20 text-status-ok"}`,title:b("printers.clickToViewHmsErrors"),children:[a.jsx(En,{className:"w-3 h-3"}),gt.length>0?gt.length:"OK"]})})(),n&&a.jsxs("button",{onClick:()=>x("/maintenance"),className:`flex items-center gap-1 px-2 py-1 rounded-full text-xs cursor-pointer hover:opacity-80 transition-opacity ${n.due_count>0?"bg-status-error/20 text-status-error":n.warning_count>0?"bg-status-warning/20 text-status-warning":"bg-status-ok/20 text-status-ok"}`,title:n.due_count>0||n.warning_count>0?`${n.due_count>0?`${n.due_count} maintenance due`:""}${n.due_count>0&&n.warning_count>0?", ":""}${n.warning_count>0?`${n.warning_count} due soon`:""} - Click to view`:b("printers.maintenanceUpToDate"),children:[a.jsx(mm,{className:"w-3 h-3"}),n.due_count>0||n.warning_count>0?n.due_count+n.warning_count:"OK"]}),zt>0&&a.jsxs("button",{onClick:()=>x("/queue"),className:"flex items-center gap-1 px-2 py-1 rounded-full text-xs bg-purple-500/20 text-purple-400 hover:opacity-80 transition-opacity",title:b("printers.queue.inQueue",{count:zt}),children:[a.jsx(is,{className:"w-3 h-3"}),zt]}),we?.current_version&&we?.latest_version&&a.jsxs("button",{onClick:()=>ue(!0),className:`flex items-center gap-1 px-2 py-1 rounded-full text-xs hover:opacity-80 transition-opacity ${we.update_available?"bg-orange-500/20 text-orange-400":"bg-status-ok/20 text-status-ok"}`,title:we.update_available?b("printers.firmwareUpdateAvailable",{current:we.current_version,latest:we.latest_version}):b("printers.firmwareUpToDate",{version:we.current_version}),children:[we.update_available?a.jsx(wi,{className:"w-3 h-3"}):a.jsx(mr,{className:"w-3 h-3"}),we.current_version]})]})]}),M&&a.jsx("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50",children:a.jsx(St,{className:"w-full max-w-md mx-4",children:a.jsxs(Et,{children:[a.jsxs("div",{className:"flex items-start gap-3 mb-4",children:[a.jsx("div",{className:"p-2 rounded-full bg-red-500/20",children:a.jsx(En,{className:"w-5 h-5 text-red-400"})}),a.jsxs("div",{children:[a.jsx("h3",{className:"text-lg font-semibold text-white",children:b("printers.confirm.deleteTitle")}),a.jsx("p",{className:"text-sm text-bambu-gray mt-1",children:b("printers.confirm.deleteMessage",{name:t.name})})]})]}),a.jsx("div",{className:"bg-bambu-dark rounded-lg p-3 mb-4",children:a.jsxs("label",{className:"flex items-start gap-3 cursor-pointer",children:[a.jsx("input",{type:"checkbox",checked:k,onChange:gt=>R(gt.target.checked),className:"mt-0.5 w-4 h-4 rounded border-bambu-gray bg-bambu-dark-secondary text-bambu-green focus:ring-bambu-green focus:ring-offset-0"}),a.jsxs("div",{children:[a.jsx("span",{className:"text-sm text-white",children:b("printers.deleteArchives")}),a.jsx("p",{className:"text-xs text-bambu-gray mt-0.5",children:b(k?"printers.confirm.deleteArchivesNote":"printers.confirm.keepArchivesNote")})]})]})}),a.jsxs("div",{className:"flex justify-end gap-2",children:[a.jsx(Ne,{variant:"secondary",onClick:()=>{A(!1),R(!0)},children:b("common.cancel")}),a.jsx(Ne,{variant:"danger",onClick:()=>{dr.mutate({deleteArchives:k}),A(!1),R(!0)},children:"Delete"})]})]})})}),Te?.connected&&a.jsxs(a.Fragment,{children:[r==="compact"?a.jsx("div",{className:"mt-2",children:Te.state==="RUNNING"?a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("div",{className:"flex-1 bg-bambu-dark-tertiary rounded-full h-1.5",children:a.jsx("div",{className:"bg-bambu-green h-1.5 rounded-full transition-all",style:{width:`${Te.progress||0}%`}})}),a.jsxs("span",{className:"text-xs text-white",children:[Math.round(Te.progress||0),"%"]})]}):a.jsx("p",{className:"text-xs text-bambu-gray",children:$q(Te.state,Te.stg_cur_name)})}):a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"mb-4 p-3 bg-bambu-dark rounded-lg relative",children:[a.jsxs("button",{onClick:()=>Re(!0),disabled:!(Te.state==="RUNNING"||Te.state==="PAUSE"||Te.state==="PAUSED")||(Te.printable_objects_count??0)<2||!S("printers:control"),className:`absolute top-2 right-2 p-1.5 rounded transition-colors z-10 ${(Te.state==="RUNNING"||Te.state==="PAUSE"||Te.state==="PAUSED")&&(Te.printable_objects_count??0)>=2&&S("printers:control")?"text-bambu-gray hover:text-white hover:bg-white/10":"text-bambu-gray/30 cursor-not-allowed"}`,title:S("printers:control")?Te.state==="RUNNING"||Te.state==="PAUSE"||Te.state==="PAUSED"?(Te.printable_objects_count??0)>=2?b("printers.skipObjects.tooltip"):b("printers.skipObjects.requiresMultiple"):b("printers.skipObjects.onlyWhilePrinting"):b("printers.permission.noControl"),children:[a.jsx(zk,{className:"w-4 h-4"}),Dt&&Dt.skipped_count>0&&a.jsx("span",{className:"absolute -top-1 -right-1 min-w-[16px] h-4 px-1 flex items-center justify-center text-[10px] font-bold bg-red-500 text-white rounded-full",children:Dt.skipped_count})]}),a.jsxs("div",{className:"flex gap-3",children:[a.jsx(E8e,{url:Te.state==="RUNNING"?Te.cover_url:null,printName:Te.state==="RUNNING"&&(Te.subtask_name||Te.current_print)||void 0}),a.jsx("div",{className:"flex-1 min-w-0",children:Te.current_print&&Te.state==="RUNNING"?a.jsxs(a.Fragment,{children:[a.jsx("p",{className:"text-sm text-bambu-gray mb-1",children:Te.stg_cur_name||"Printing"}),a.jsx("p",{className:"text-white text-sm mb-2 truncate",children:Te.subtask_name||Te.current_print}),a.jsxs("div",{className:"flex items-center justify-between text-sm",children:[a.jsx("div",{className:"flex-1 bg-bambu-dark-tertiary rounded-full h-2 mr-3",children:a.jsx("div",{className:"bg-bambu-green h-2 rounded-full transition-all",style:{width:`${Te.progress||0}%`}})}),a.jsxs("span",{className:"text-white",children:[Math.round(Te.progress||0),"%"]})]}),a.jsxs("div",{className:"flex items-center gap-3 mt-2 text-xs text-bambu-gray",children:[Te.remaining_time!=null&&Te.remaining_time>0&&a.jsxs(a.Fragment,{children:[a.jsxs("span",{className:"flex items-center gap-1",children:[a.jsx(tr,{className:"w-3 h-3"}),S8e(Te.remaining_time*60)]}),a.jsxs("span",{className:"text-bambu-green font-medium",title:b("printers.estimatedCompletion"),children:["ETA ",N8e(Te.remaining_time,d)]})]}),Te.layer_num!=null&&Te.total_layers!=null&&Te.total_layers>0&&a.jsxs("span",{className:"flex items-center gap-1",children:[a.jsx(is,{className:"w-3 h-3"}),Te.layer_num,"/",Te.total_layers]}),Gt&&a.jsxs("span",{className:"flex items-center gap-1",title:`Started by ${Gt}`,children:[a.jsx($u,{className:"w-3 h-3"}),Gt]})]})]}):a.jsxs(a.Fragment,{children:[a.jsx("p",{className:"text-sm text-bambu-gray mb-1",children:b("printers.sort.status")}),a.jsx("p",{className:"text-white text-sm mb-2",children:$q(Te.state,Te.stg_cur_name)}),a.jsxs("div",{className:"flex items-center justify-between text-sm",children:[a.jsx("div",{className:"flex-1 bg-bambu-dark-tertiary rounded-full h-2 mr-3",children:a.jsx("div",{className:"bg-bambu-dark-tertiary h-2 rounded-full"})}),a.jsx("span",{className:"text-bambu-gray",children:"—"})]}),fn?a.jsxs("p",{className:"text-xs text-bambu-gray mt-2 truncate",title:fn.print_name||fn.filename,children:["Last: ",fn.print_name||fn.filename,fn.completed_at&&a.jsxs("span",{className:"ml-1 text-bambu-gray/60",children:["• ",Gg(fn.completed_at,{month:"short",day:"numeric"})]})]}):a.jsx("p",{className:"text-xs text-bambu-gray mt-2",children:b("printers.readyToPrint")})]})})]})]}),Te.state!=="RUNNING"&&a.jsx(fMe,{printerId:t.id})]}),Te.temperatures&&r==="expanded"&&(()=>{const gt=Te.temperatures.nozzle_heating||Te.temperatures.nozzle_2_heating||!1,jt=Te.temperatures.bed_heating||!1,gn=Te.temperatures.chamber_heating||!1,Nt=t.nozzle_count===2||Te.temperatures.nozzle_2!==void 0,un=Te.active_extruder===1?"L":"R",In=Te.nozzle_rack?.find(Si=>Si.id===1),rr=Te.nozzle_rack?.find(Si=>Si.id===0),ua=rr||In;return a.jsxs("div",{className:"flex items-stretch gap-1.5 flex-wrap",children:[a.jsxs("div",{className:"text-center px-2 py-1.5 bg-bambu-dark rounded-lg flex-1 flex flex-col justify-center items-center",children:[a.jsx(bP,{className:"w-3.5 h-3.5 mb-0.5",color:"text-orange-400",isHeating:gt}),Te.temperatures.nozzle_2!==void 0?a.jsxs(a.Fragment,{children:[a.jsx("p",{className:"text-[9px] text-bambu-gray",children:"L / R"}),a.jsxs("p",{className:"text-[11px] text-white",children:[Math.round(Te.temperatures.nozzle||0),"° / ",Math.round(Te.temperatures.nozzle_2||0),"°"]})]}):ua?a.jsx(Fee,{slot:ua,index:0,activeStatus:!0,filamentName:ua.filament_id?Ge?.[ua.filament_id]?.name:void 0,children:a.jsxs("div",{className:"cursor-default",children:[a.jsx("p",{className:"text-[9px] text-bambu-gray",children:b("printers.temperatures.nozzle")}),a.jsxs("p",{className:"text-[11px] text-white",children:[Math.round(Te.temperatures.nozzle||0),"°C"]})]})}):a.jsxs(a.Fragment,{children:[a.jsx("p",{className:"text-[9px] text-bambu-gray",children:b("printers.temperatures.nozzle")}),a.jsxs("p",{className:"text-[11px] text-white",children:[Math.round(Te.temperatures.nozzle||0),"°C"]})]})]}),a.jsxs("div",{className:"text-center px-2 py-1.5 bg-bambu-dark rounded-lg flex-1 flex flex-col justify-center items-center",children:[a.jsx(bP,{className:"w-3.5 h-3.5 mb-0.5",color:"text-blue-400",isHeating:jt}),a.jsx("p",{className:"text-[9px] text-bambu-gray",children:b("printers.temperatures.bed")}),a.jsxs("p",{className:"text-[11px] text-white",children:[Math.round(Te.temperatures.bed||0),"°C"]})]}),Te.temperatures.chamber!==void 0&&a.jsxs("div",{className:"text-center px-2 py-1.5 bg-bambu-dark rounded-lg flex-1 flex flex-col justify-center items-center",children:[a.jsx(bP,{className:"w-3.5 h-3.5 mb-0.5",color:"text-green-400",isHeating:gn}),a.jsx("p",{className:"text-[9px] text-bambu-gray",children:b("printers.temperatures.chamber")}),a.jsxs("p",{className:"text-[11px] text-white",children:[Math.round(Te.temperatures.chamber||0),"°C"]})]}),Nt&&a.jsx(g8e,{leftSlot:In,rightSlot:rr,activeNozzle:un,children:a.jsxs("div",{className:"text-center px-3 py-1.5 bg-bambu-dark rounded-lg h-full flex flex-col justify-center items-center cursor-default",title:b("printers.activeNozzle",{nozzle:b(un==="L"?"common.left":"common.right")}),children:[a.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[a.jsxs("span",{className:`text-[11px] font-bold ${un==="L"?"text-amber-400":"text-gray-500"}`,children:["L",In?.nozzle_diameter?` ${In.nozzle_diameter}`:""]}),a.jsx("span",{className:"text-[9px] text-bambu-gray/40",children:"·"}),a.jsxs("span",{className:`text-[11px] font-bold ${un==="R"?"text-amber-400":"text-gray-500"}`,children:["R",rr?.nozzle_diameter?` ${rr.nozzle_diameter}`:""]})]}),a.jsx("p",{className:"text-[9px] text-bambu-gray",children:b("printers.temperatures.nozzle")})]})}),Te.nozzle_rack&&Te.nozzle_rack.some(Si=>Si.id>=2)&&a.jsx(b8e,{slots:Te.nozzle_rack,filamentInfo:Ge})]})})(),r==="expanded"&&(()=>{const gt=Te.state==="RUNNING",jt=Te.state==="PAUSED"||Te.state==="PAUSE",gn=gt||jt,Nt=Ma.isPending||De.isPending||tt.isPending,un=Te.cooling_fan_speed,In=Te.big_fan1_speed,rr=Te.big_fan2_speed;return a.jsxs("div",{className:"mt-3",children:[a.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[a.jsx("span",{className:"text-[10px] uppercase tracking-wider text-bambu-gray font-medium",children:b("printers.controls")}),a.jsx("div",{className:"flex-1 h-px bg-bambu-dark-tertiary/30"})]}),a.jsxs("div",{className:"flex items-center justify-between gap-2",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsxs("div",{className:`flex items-center gap-1 px-1.5 py-1 rounded ${un&&un>0?"bg-cyan-500/10":"bg-bambu-dark"}`,title:b("printers.fans.partCooling"),children:[a.jsx(RW,{className:`w-3.5 h-3.5 ${un&&un>0?"text-cyan-400":"text-bambu-gray/50"}`}),a.jsxs("span",{className:`text-[10px] ${un&&un>0?"text-cyan-400":"text-bambu-gray/50"}`,children:[un??0,"%"]})]}),a.jsxs("div",{className:`flex items-center gap-1 px-1.5 py-1 rounded ${In&&In>0?"bg-blue-500/10":"bg-bambu-dark"}`,title:b("printers.fans.auxiliary"),children:[a.jsx(qW,{className:`w-3.5 h-3.5 ${In&&In>0?"text-blue-400":"text-bambu-gray/50"}`}),a.jsxs("span",{className:`text-[10px] ${In&&In>0?"text-blue-400":"text-bambu-gray/50"}`,children:[In??0,"%"]})]}),a.jsxs("div",{className:`flex items-center gap-1 px-1.5 py-1 rounded ${rr&&rr>0?"bg-green-500/10":"bg-bambu-dark"}`,title:b("printers.fans.chamber"),children:[a.jsx(Mce,{className:`w-3.5 h-3.5 ${rr&&rr>0?"text-green-400":"text-bambu-gray/50"}`}),a.jsxs("span",{className:`text-[10px] ${rr&&rr>0?"text-green-400":"text-bambu-gray/50"}`,children:[rr??0,"%"]})]})]}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsxs("button",{onClick:()=>W(!0),disabled:!gn||Nt||!S("printers:control"),className:`
+ `})]})]})}function x8e({slots:t,filamentInfo:e}){const{t:n}=Yt(),r=t.filter(l=>l.id>=2),i=6,s=r.length>0?Math.min(...r.map(l=>l.id)):16,o=Array.from({length:i},(l,c)=>r.find(u=>u.id===s+c)??{id:-(c+1),nozzle_type:"",nozzle_diameter:"",wear:null,stat:null,max_temp:0,serial_number:"",filament_color:"",filament_id:"",filament_type:""});return a.jsxs("div",{className:"text-center px-2.5 py-1.5 bg-bambu-dark rounded-lg flex-[2_1_190px] flex flex-col justify-center",children:[a.jsx("p",{className:"text-[9px] text-bambu-gray mb-1",children:n("printers.nozzleRack")}),a.jsx("div",{className:"flex gap-[3px] justify-center",children:o.map((l,c)=>{const u=!l.nozzle_diameter&&!l.nozzle_type,d=u?null:Ree(l.filament_color),h=d?g8e(l.filament_color):!1;return a.jsx(Fee,{slot:l,index:c,filamentName:l.filament_id?e?.[l.filament_id]?.name:void 0,children:a.jsx("div",{className:`w-7 h-7 rounded flex items-center justify-center cursor-default transition-colors border-b-2 ${u?"bg-bambu-dark-tertiary/20 border-bambu-dark-tertiary/20":"bg-bambu-dark-tertiary/40 border-bambu-dark-tertiary/40"}`,style:d?{backgroundColor:d}:void 0,children:a.jsx("span",{className:`text-[10px] font-semibold ${u?"text-bambu-gray/30":h?"text-black/80":"text-white"}`,style:d&&!h?{textShadow:"0 1px 3px rgba(0,0,0,0.9)"}:void 0,children:u?"—":l.nozzle_diameter||"?"})})},l.id>=0?l.id:`empty-${c}`)})})]})}function Uq({className:t}){return a.jsx("svg",{className:t,viewBox:"0 0 36 54",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:a.jsx("path",{d:"M17.8131 0.00538C18.4463 -0.15091 20.3648 3.14642 20.8264 3.84781C25.4187 10.816 35.3089 26.9368 35.9383 34.8694C37.4182 53.5822 11.882 61.3357 2.53721 45.3789C-1.73471 38.0791 0.016 32.2049 3.178 25.0232C6.99221 16.3662 12.6411 7.90372 17.8131 0.00538ZM18.3738 7.24807L17.5881 7.48441C14.4452 12.9431 10.917 18.2341 8.19369 23.9368C4.6808 31.29 1.18317 38.5479 7.69403 45.5657C17.3058 55.9228 34.9847 46.8808 31.4604 32.8681C29.2558 24.0969 22.4207 15.2913 18.3776 7.24807H18.3738Z",fill:"#C3C2C1"})})}function y8e({className:t}){return a.jsxs("svg",{className:t,viewBox:"0 0 35 53",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[a.jsx("path",{d:"M17.3165 0.0038C17.932 -0.14959 19.7971 3.08645 20.2458 3.77481C24.7103 10.6135 34.3251 26.4346 34.937 34.2198C36.3757 52.5848 11.5505 60.1942 2.46584 44.534C-1.68714 37.3735 0.0148 31.6085 3.08879 24.5603C6.79681 16.0605 12.2884 7.75907 17.3165 0.0038ZM17.8615 7.11561L17.0977 7.34755C14.0423 12.7048 10.6124 17.8974 7.96483 23.4941C4.54975 30.7107 1.14949 37.8337 7.47908 44.721C16.8233 54.8856 34.01 46.0117 30.5838 32.2595C28.4405 23.6512 21.7957 15.0093 17.8652 7.11561H17.8615Z",fill:"#C3C2C1"}),a.jsx("path",{d:"M5.03547 30.112C9.64453 30.4936 11.632 35.7985 16.4154 35.791C19.6339 35.7873 20.2161 33.2283 22.3853 31.6197C31.6776 24.7286 33.5835 37.4894 27.9881 44.4254C18.1878 56.5653 -1.16063 44.6013 5.03917 30.1158L5.03547 30.112Z",fill:"#1F8FEB"})]})}function v8e({className:t}){return a.jsxs("svg",{className:t,viewBox:"0 0 36 54",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[a.jsx("path",{d:"M17.9625 4.48059L4.77216 26.3154L2.08228 40.2175L10.0224 50.8414H23.1594L33.3246 42.1693V30.2455L17.9625 4.48059Z",fill:"#1F8FEB"}),a.jsx("path",{d:"M17.7948 0.00538C18.4273 -0.15091 20.3438 3.14642 20.8048 3.84781C25.3921 10.816 35.2715 26.9368 35.9001 34.8694C37.3784 53.5822 11.8702 61.3357 2.53562 45.3789C-1.73163 38.0829 0.0134 32.2087 3.1757 25.027C6.98574 16.3662 12.6284 7.90372 17.7948 0.00538ZM18.3549 7.24807L17.57 7.48441C14.4306 12.9431 10.9063 18.2341 8.1859 23.9368C4.67686 31.29 1.18305 38.5479 7.68679 45.5657C17.2881 55.9228 34.9476 46.8808 31.4271 32.8681C29.2249 24.0969 22.3974 15.2913 18.3587 7.24807H18.3549Z",fill:"#C3C2C1"})]})}function w8e({className:t}){return a.jsxs("svg",{className:t,viewBox:"0 0 12 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[a.jsx("path",{d:"M6 0.5C4.6 0.5 3.5 1.6 3.5 3V12.1C2.6 12.8 2 13.9 2 15C2 17.2 3.8 19 6 19C8.2 19 10 17.2 10 15C10 13.9 9.4 12.8 8.5 12.1V3C8.5 1.6 7.4 0.5 6 0.5Z",stroke:"#C3C2C1",strokeWidth:"1",fill:"none"}),a.jsx("circle",{cx:"6",cy:"15",r:"2.5",stroke:"#C3C2C1",strokeWidth:"1",fill:"none"})]})}function _8e({className:t}){return a.jsxs("svg",{className:t,viewBox:"0 0 12 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[a.jsx("rect",{x:"4.5",y:"8",width:"3",height:"4.5",fill:"#d4a017",rx:"0.5"}),a.jsx("circle",{cx:"6",cy:"15",r:"2",fill:"#d4a017"}),a.jsx("path",{d:"M6 0.5C4.6 0.5 3.5 1.6 3.5 3V12.1C2.6 12.8 2 13.9 2 15C2 17.2 3.8 19 6 19C8.2 19 10 17.2 10 15C10 13.9 9.4 12.8 8.5 12.1V3C8.5 1.6 7.4 0.5 6 0.5Z",stroke:"#C3C2C1",strokeWidth:"1",fill:"none"})]})}function S8e({className:t}){return a.jsxs("svg",{className:t,viewBox:"0 0 12 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[a.jsx("rect",{x:"4.5",y:"3",width:"3",height:"9.5",fill:"#c62828",rx:"0.5"}),a.jsx("circle",{cx:"6",cy:"15",r:"2",fill:"#c62828"}),a.jsx("path",{d:"M6 0.5C4.6 0.5 3.5 1.6 3.5 3V12.1C2.6 12.8 2 13.9 2 15C2 17.2 3.8 19 6 19C8.2 19 10 17.2 10 15C10 13.9 9.4 12.8 8.5 12.1V3C8.5 1.6 7.4 0.5 6 0.5Z",stroke:"#C3C2C1",strokeWidth:"1",fill:"none"})]})}function bP({className:t,color:e,isHeating:n}){const i={"text-orange-400":"#fb923c","text-blue-400":"#60a5fa","text-green-400":"#4ade80"}[e]||"#888",s=n?{filter:`drop-shadow(0 0 4px ${i}) drop-shadow(0 0 8px ${i})`}:{};return n?a.jsxs("svg",{className:t,style:s,viewBox:"0 0 12 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[a.jsx("rect",{x:"4.5",y:"3",width:"3",height:"9.5",fill:i,rx:"0.5"}),a.jsx("circle",{cx:"6",cy:"15",r:"2",fill:i}),a.jsx("path",{d:"M6 0.5C4.6 0.5 3.5 1.6 3.5 3V12.1C2.6 12.8 2 13.9 2 15C2 17.2 3.8 19 6 19C8.2 19 10 17.2 10 15C10 13.9 9.4 12.8 8.5 12.1V3C8.5 1.6 7.4 0.5 6 0.5Z",stroke:i,strokeWidth:"1",fill:"none"})]}):a.jsxs("svg",{className:t,viewBox:"0 0 12 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[a.jsx("path",{d:"M6 0.5C4.6 0.5 3.5 1.6 3.5 3V12.1C2.6 12.8 2 13.9 2 15C2 17.2 3.8 19 6 19C8.2 19 10 17.2 10 15C10 13.9 9.4 12.8 8.5 12.1V3C8.5 1.6 7.4 0.5 6 0.5Z",stroke:i,strokeWidth:"1",fill:"none"}),a.jsx("circle",{cx:"6",cy:"15",r:"2.5",stroke:i,strokeWidth:"1",fill:"none"})]})}function Bq({humidity:t,goodThreshold:e=40,fairThreshold:n=60,onClick:r,compact:i}){const s=typeof t=="string"?parseInt(t,10):t,o=typeof e=="number"?e:40,l=typeof n=="number"?n:60;let c,u;isNaN(s)?(c="#C3C2C1",u="Unknown"):s<=o?(c="#22a352",u="Good"):s<=l?(c="#d4a017",u="Fair"):(c="#c62828",u="Bad");let d;return isNaN(s)||s<=o?d=Uq:s<=l?d=y8e:d=v8e,a.jsxs("button",{type:"button",onClick:r,className:`flex items-center gap-1 ${r?"cursor-pointer hover:opacity-80 transition-opacity":""}`,title:`Humidity: ${s}% - ${u}${r?" (click for history)":""}`,children:[a.jsx(d,{className:i?"w-2.5 h-3":"w-3 h-4"}),a.jsxs("span",{className:`font-medium tabular-nums ${i?"text-[10px]":"text-xs"}`,style:{color:c},children:[s,"%"]})]})}function Hq({temp:t,goodThreshold:e=28,fairThreshold:n=35,onClick:r,compact:i}){const s=typeof e=="number"?e:28,o=typeof n=="number"?n:35;let l,c,u;return t<=s?(l="#22a352",c="Good",u=w8e):t<=o?(l="#d4a017",c="Fair",u=_8e):(l="#c62828",c="Bad",u=S8e),a.jsxs("button",{type:"button",onClick:r,className:`flex items-center gap-1 ${r?"cursor-pointer hover:opacity-80 transition-opacity":""}`,title:`Temperature: ${t}°C - ${c}${r?" (click for history)":""}`,children:[a.jsx(u,{className:i?"w-2.5 h-3":"w-3 h-4"}),a.jsxs("span",{className:`tabular-nums text-right ${i?"text-[10px] w-8":"w-12"}`,style:{color:l},children:[t,"°C"]})]})}function Gd(t,e){const n=typeof t=="string"?parseInt(t,10):t,r=isNaN(n)?0:n,i=e===1,s=r>=128?r-128:r,o=String.fromCharCode(65+s);return i?`HT-${o}`:`AMS-${o}`}function xP(t){return t>50?"#00ae42":t>=15?"#f59e0b":"#ef4444"}function yP(t){return!t?.remaining_weight||!t?.filament_weight||t.filament_weight<=0?null:Math.min(100,Math.round(t.remaining_weight/t.filament_weight*100))}function N8e(t){const e=Math.floor(t/3600),n=Math.floor(t%3600/60);return e>0?`${e}h ${n}m`:`${n}m`}function k8e(t,e="system"){const n=new Date,r=new Date(n.getTime()+t*60*1e3),i=new Date;i.setHours(0,0,0,0);const s=new Date(r);s.setHours(0,0,0,0);const o={hour:"2-digit",minute:"2-digit"};e==="12h"?o.hour12=!0:e==="24h"&&(o.hour12=!1);const l=r.toLocaleTimeString([],o),c=Math.floor((s.getTime()-i.getTime())/(1e3*60*60*24));return c===0?l:c===1?`Tomorrow ${l}`:r.toLocaleDateString([],{weekday:"short"})+" "+l}function M8e(t){if(!t)return"/img/printers/default.png";const e=t.toLowerCase().replace(/\s+/g,"");return e.includes("x1e")?"/img/printers/x1e.png":e.includes("x1c")||e.includes("x1carbon")||e.includes("x1")?"/img/printers/x1c.png":e.includes("h2d")?"/img/printers/h2d.png":e.includes("h2c")?"/img/printers/h2c.png":e.includes("h2s")?"/img/printers/h2d.png":e.includes("p2s")||e.includes("p1s")?"/img/printers/p1s.png":e.includes("p1p")?"/img/printers/p1p.png":e.includes("a1mini")?"/img/printers/a1mini.png":e.includes("a1")?"/img/printers/a1.png":"/img/printers/default.png"}function E8e(t){return t>=-50?{labelKey:"printers.wifiSignal.excellent",color:"text-bambu-green",bars:4}:t>=-60?{labelKey:"printers.wifiSignal.good",color:"text-bambu-green",bars:3}:t>=-70?{labelKey:"printers.wifiSignal.fair",color:"text-yellow-400",bars:2}:t>=-80?{labelKey:"printers.wifiSignal.weak",color:"text-orange-400",bars:1}:{labelKey:"printers.wifiSignal.veryWeak",color:"text-red-400",bars:1}}function vP(t){return t?!!(t.tray_info_idx&&t.tray_info_idx.startsWith("GF")||t.tray_uuid&&t.tray_uuid!=="00000000000000000000000000000000"||t.tag_uid&&t.tag_uid!=="0000000000000000"):!1}function T8e({url:t,printName:e}){const{t:n}=Yt(),[r,i]=_.useState(!1),[s,o]=_.useState(!1),[l,c]=_.useState(!1);return a.jsxs(a.Fragment,{children:[a.jsx("div",{className:`w-20 h-20 flex-shrink-0 rounded-lg overflow-hidden bg-bambu-dark-tertiary flex items-center justify-center ${t&&r?"cursor-pointer":""}`,onClick:()=>t&&r&&c(!0),children:t&&!s?a.jsxs(a.Fragment,{children:[a.jsx("img",{src:t,alt:n("printers.printPreview"),className:`w-full h-full object-cover ${r?"block":"hidden"}`,onLoad:()=>i(!0),onError:()=>o(!0)}),!r&&a.jsx(Ii,{className:"w-8 h-8 text-bambu-gray"})]}):a.jsx(Ii,{className:"w-8 h-8 text-bambu-gray"})}),l&&t&&a.jsx("div",{className:"fixed inset-0 bg-black/80 flex items-center justify-center z-50 p-8",onClick:()=>c(!1),children:a.jsxs("div",{className:"relative max-w-2xl max-h-full",children:[a.jsx("img",{src:t,alt:n("printers.printPreview"),className:"max-w-full max-h-[80vh] rounded-lg shadow-2xl"}),e&&a.jsx("p",{className:"text-white text-center mt-4 text-lg",children:e})]})})]})}function A8e({printers:t}){const{t:e}=Yt(),n=an(),r=_.useMemo(()=>{let s=0,o=0,l=0,c=0;return t?.forEach(u=>{const d=n.getQueryData(["printerStatus",u.id]);d===void 0?c++:d.connected?d.state==="RUNNING"?s++:o++:l++}),{printing:s,idle:o,offline:l,loading:c,total:t?.length||0}},[t,n]),[,i]=_.useState(0);return _.useEffect(()=>{let s=!1;const o=n.getQueryCache().subscribe(()=>{s||(s=!0,requestAnimationFrame(()=>{i(l=>l+1),s=!1}))});return()=>o()},[n]),t?.length?a.jsxs("div",{className:"flex items-center gap-4 text-sm",children:[r.printing>0&&a.jsxs("div",{className:"flex items-center gap-1.5",children:[a.jsx("div",{className:"w-2 h-2 rounded-full bg-bambu-green animate-pulse"}),a.jsxs("span",{className:"text-bambu-gray",children:[a.jsx("span",{className:"text-white font-medium",children:r.printing})," ",e("printers.status.printing").toLowerCase()]})]}),r.idle>0&&a.jsxs("div",{className:"flex items-center gap-1.5",children:[a.jsx("div",{className:"w-2 h-2 rounded-full bg-blue-400"}),a.jsxs("span",{className:"text-bambu-gray",children:[a.jsx("span",{className:"text-white font-medium",children:r.idle})," ",e("printers.status.idle").toLowerCase()]})]}),r.offline>0&&a.jsxs("div",{className:"flex items-center gap-1.5",children:[a.jsx("div",{className:"w-2 h-2 rounded-full bg-gray-400"}),a.jsxs("span",{className:"text-bambu-gray",children:[a.jsx("span",{className:"text-white font-medium",children:r.offline})," ",e("printers.status.offline").toLowerCase()]})]})]}):null}function $q(t,e){if(e)return e;switch(t){case"RUNNING":return"Printing";case"PAUSE":return"Paused";case"FINISH":return"Finished";case"FAILED":return"Failed";case"IDLE":return"Idle";default:return t?t.charAt(0)+t.slice(1).toLowerCase():"Idle"}}function Vq({printer:t,hideIfDisconnected:e,maintenanceInfo:n,viewMode:r="expanded",cardSize:i=2,amsThresholds:s,spoolmanEnabled:o=!1,hasUnlinkedSpools:l=!1,linkedSpools:c,spoolmanUrl:u,timeFormat:d="system",cameraViewMode:h="window",onOpenEmbeddedCamera:p,checkPrinterFirmware:m=!0}){const{t:b}=Yt(),y=an(),x=Ec(),{showToast:v}=Tn(),{hasPermission:S}=Ir(),[N,T]=_.useState(!1),[M,A]=_.useState(!1),[k,R]=_.useState(!0),[C,P]=_.useState(!1),[U,F]=_.useState(!1),[H,D]=_.useState(!1),[$,G]=_.useState(!1),[I,K]=_.useState(!1),[Q,oe]=_.useState(!1),[B,W]=_.useState(!1),[J,ne]=_.useState(!1),[me,fe]=_.useState(!1),[de,Re]=_.useState(!1),[se,ke]=_.useState(null),[Fe,ce]=_.useState(null),[Ve,V]=_.useState(null),[Y,ue]=_.useState(!1),[q,re]=_.useState(null),[X,le]=_.useState(!1),[pe,ee]=_.useState(!1),[z,O]=_.useState(null),[Z,ge]=_.useState(!1),[Ce,_e]=_.useState(!1),{data:Te}=it({queryKey:["printerStatus",t.id],queryFn:()=>ae.getPrinterStatus(t.id),refetchInterval:3e4}),{data:we}=it({queryKey:["firmwareUpdate",t.id],queryFn:()=>N1.checkPrinterUpdate(t.id),staleTime:300*1e3,refetchInterval:300*1e3,enabled:m&&S("firmware:read")}),$e=_.useMemo(()=>{const gt=new Set;if(Te?.ams)for(const jt of Te.ams)for(const gn of jt.tray||[])gn.tray_info_idx&>.add(gn.tray_info_idx);if(Te?.vt_tray?.tray_info_idx&>.add(Te.vt_tray.tray_info_idx),Te?.nozzle_rack)for(const jt of Te.nozzle_rack)jt.filament_id&>.add(jt.filament_id);return Array.from(gt)},[Te?.ams,Te?.vt_tray,Te?.nozzle_rack]),{data:Ge}=it({queryKey:["filamentInfo",$e],queryFn:()=>ae.getFilamentInfo($e),enabled:$e.length>0,staleTime:300*1e3}),{data:ze}=it({queryKey:["slotPresets",t.id],queryFn:()=>ae.getSlotPresets(t.id),staleTime:120*1e3}),[be,Me]=_.useState(null);_.useEffect(()=>{Te?.wifi_signal!=null&&Me(Te.wifi_signal)},[Te?.wifi_signal]);const Be=Te?.wifi_signal??be,Ae=_.useRef(void 0);_.useEffect(()=>{Te?.connected!==void 0&&(Ae.current=Te.connected)},[Te?.connected]);const qe=Te?.connected??Ae.current,ve=_.useRef({});_.useEffect(()=>{Te?.ams_extruder_map&&Object.keys(Te.ams_extruder_map).length>0&&(ve.current=Te.ams_extruder_map)},[Te?.ams_extruder_map]);const et=Te?.ams_extruder_map&&Object.keys(Te.ams_extruder_map).length>0?Te.ams_extruder_map:ve.current,Ee=_.useRef([]);_.useEffect(()=>{Te?.ams&&Te.ams.length>0&&(Ee.current=Te.ams)},[Te?.ams]);const Ye=Te?.ams&&Te.ams.length>0?Te.ams:Ee.current,je=_.useRef(255),Pe=Te?.tray_now;Pe!==void 0&&Pe!==255&&(je.current=Pe);const ye=Pe===void 0||Pe===255?je.current:Pe,{data:Qe}=it({queryKey:["smartPlugByPrinter",t.id],queryFn:()=>ae.getSmartPlugByPrinter(t.id)}),{data:yt}=it({queryKey:["scriptPlugsByPrinter",t.id],queryFn:()=>ae.getScriptPlugsByPrinter(t.id)}),{data:at}=it({queryKey:["smartPlugStatus",Qe?.id],queryFn:()=>Qe?ae.getSmartPlugStatus(Qe.id):null,enabled:!!Qe,refetchInterval:1e4}),{data:Ut}=it({queryKey:["queue",t.id,"pending"],queryFn:()=>ae.getQueue(t.id,"pending")}),zt=Ut?.length||0,{data:Ie}=it({queryKey:["queue",t.id,"printing"],queryFn:()=>ae.getQueue(t.id,"printing"),enabled:Te?.state==="RUNNING"}),{data:vt}=it({queryKey:["currentPrintUser",t.id],queryFn:()=>ae.getCurrentPrintUser(t.id),enabled:Te?.state==="RUNNING"}),Gt=Ie?.[0]?.created_by_username||vt?.username,{data:dn}=it({queryKey:["archives",t.id,"last"],queryFn:()=>ae.getArchives(t.id,1,0),enabled:Te?.connected&&Te?.state!=="RUNNING"}),fn=dn?.[0],vn=e&&qe===!1,dr=dt({mutationFn:gt=>ae.deletePrinter(t.id,gt.deleteArchives),onSuccess:()=>{y.invalidateQueries({queryKey:["printers"]}),y.invalidateQueries({queryKey:["archives"]}),y.invalidateQueries({queryKey:["maintenanceOverview"]})},onError:gt=>v(gt.message||b("printers.toast.failedToDelete"),"error")}),ar=dt({mutationFn:()=>ae.connectPrinter(t.id),onSuccess:()=>{y.invalidateQueries({queryKey:["printerStatus",t.id]})}}),kn=dt({mutationFn:gt=>Qe?ae.controlSmartPlug(Qe.id,gt):Promise.reject("No plug"),onSuccess:()=>{y.invalidateQueries({queryKey:["smartPlugStatus",Qe?.id]})}}),Bn=dt({mutationFn:gt=>Qe?ae.updateSmartPlug(Qe.id,{auto_off:gt}):Promise.reject("No plug"),onSuccess:()=>{y.invalidateQueries({queryKey:["smartPlugByPrinter",t.id]}),y.invalidateQueries({queryKey:["smart-plugs"]})}}),Hr=dt({mutationFn:gt=>ae.controlSmartPlug(gt,"on"),onSuccess:()=>{v(b("printers.toast.scriptTriggered"))},onError:gt=>v(gt.message||b("printers.toast.failedToRunScript"),"error")}),Ma=dt({mutationFn:()=>ae.stopPrint(t.id),onSuccess:()=>{v(b("printers.toast.printStopped")),y.invalidateQueries({queryKey:["printerStatus",t.id]})},onError:gt=>v(gt.message||b("printers.toast.failedToStopPrint"),"error")}),De=dt({mutationFn:()=>ae.pausePrint(t.id),onSuccess:()=>{v(b("printers.toast.printPaused")),y.invalidateQueries({queryKey:["printerStatus",t.id]})},onError:gt=>v(gt.message||b("printers.toast.failedToPausePrint"),"error")}),tt=dt({mutationFn:()=>ae.resumePrint(t.id),onSuccess:()=>{v(b("printers.toast.printResumed")),y.invalidateQueries({queryKey:["printerStatus",t.id]})},onError:gt=>v(gt.message||b("printers.toast.failedToResumePrint"),"error")}),ht=dt({mutationFn:gt=>ae.setChamberLight(t.id,gt),onMutate:async gt=>{await y.cancelQueries({queryKey:["printerStatus",t.id]});const jt=y.getQueryData(["printerStatus",t.id]);return y.setQueryData(["printerStatus",t.id],gn=>({...gn,chamber_light:gt})),{previousStatus:jt}},onSuccess:(gt,jt)=>{v(`Chamber light ${jt?"on":"off"}`)},onError:(gt,jt,gn)=>{gn?.previousStatus&&y.setQueryData(["printerStatus",t.id],gn.previousStatus),v(gt.message||b("printers.toast.failedToControlChamberLight"),"error")}}),mt=dt({mutationFn:gt=>ae.updatePrinter(t.id,{plate_detection_enabled:gt}),onSuccess:()=>{y.invalidateQueries({queryKey:["printers"]}),v(mt.variables?b("printers.toast.plateCheckEnabled"):b("printers.toast.plateCheckDisabled"))},onError:gt=>v(gt.message||b("printers.toast.failedToUpdateSetting"),"error")}),ut=(Te?.state==="RUNNING"||Te?.state==="PAUSE"||Te?.state==="PAUSED")&&(Te?.printable_objects_count??0)>=2,{data:Dt}=it({queryKey:["printableObjects",t.id],queryFn:()=>ae.getPrintableObjects(t.id),enabled:de||ut,refetchInterval:de?5e3:ut?3e4:!1}),[he,Le]=_.useState(null),Ke=_.useRef(!1),Ue=_.useRef(null),Se=_.useRef(!1),nt=dt({mutationFn:({amsId:gt,slotId:jt})=>ae.refreshAmsSlot(t.id,gt,jt),onMutate:({amsId:gt,slotId:jt})=>{Ue.current&&clearTimeout(Ue.current),Ke.current=!1,Se.current=!1,Le({amsId:gt,slotId:jt}),setTimeout(()=>{Se.current=!0},2e3),Ue.current=setTimeout(()=>{Le(null)},3e4)},onSuccess:gt=>{v(gt.message||b("printers.toast.rfidRereadInitiated"))},onError:gt=>{v(gt.message||b("printers.toast.failedToRereadRfid"),"error"),Ue.current&&clearTimeout(Ue.current),Le(null)}}),[xt,rt]=_.useState(null),[Ct,It]=_.useState(null),Rt=async()=>{try{const gt=await ae.getPlateReferences(t.id);rt(gt)}catch{}},Tt=()=>{mt.mutate(!t.plate_detection_enabled)},mn=async()=>{le(!0),re(null);const gt=Te?.chamber_light===!1;_e(gt),gt&&(await ae.setChamberLight(t.id,!0),await new Promise(jt=>setTimeout(jt,2500)));try{const jt=await ae.checkPlateEmpty(t.id,{includeDebugImage:!0});re(jt),Rt()}catch(jt){v(jt instanceof Error?jt.message:b("printers.toast.failedToCheckPlate"),"error"),gt&&(await ae.setChamberLight(t.id,!1),_e(!1))}finally{le(!1)}},Bt=_.useCallback(async()=>{re(null),Ce&&(await ae.setChamberLight(t.id,!1),_e(!1))},[Ce,t.id]),pn=async gt=>{ee(!0);try{const jt=await ae.calibratePlateDetection(t.id,{label:gt});if(jt.success){v(jt.message||b("printers.toast.calibrationSaved"),"success"),Rt();const gn=await ae.checkPlateEmpty(t.id,{includeDebugImage:!0});re(gn)}else v(jt.message||b("printers.toast.calibrationFailed"),"error")}catch(jt){v(jt instanceof Error?jt.message:b("printers.toast.calibrationFailed"),"error")}finally{ee(!1)}},Mn=async(gt,jt)=>{try{await ae.updatePlateReferenceLabel(t.id,gt,jt),It(null),Rt()}catch(gn){v(gn instanceof Error?gn.message:b("printers.toast.failedToUpdateLabel"),"error")}},jn=async gt=>{try{await ae.deletePlateReference(t.id,gt),v(b("printers.toast.referenceDeleted"),"success"),Rt();const jt=await ae.checkPlateEmpty(t.id,{includeDebugImage:!0});re(jt)}catch(jt){v(jt instanceof Error?jt.message:b("printers.toast.failedToDeleteReference"),"error")}},Kt=async()=>{if(z){ge(!0);try{await ae.updatePrinter(t.id,{plate_detection_roi:z}),v(b("printers.toast.detectionAreaSaved"),"success"),O(null);const gt=await ae.checkPlateEmpty(t.id,{includeDebugImage:!0});re(gt)}catch(gt){v(gt instanceof Error?gt.message:b("printers.toast.failedToSaveDetectionArea"),"error")}finally{ge(!1)}}};_.useEffect(()=>{const gt=jt=>{jt.key==="Escape"&&q&&Bt()};return window.addEventListener("keydown",gt),()=>window.removeEventListener("keydown",gt)},[q,Bt]);const Qt=_.useRef(null);_.useEffect(()=>{if(!he)return;const gt=Te?.ams_status_main??0;return gt!==0&&(Ke.current=!0,Qt.current&&(clearTimeout(Qt.current),Qt.current=null)),Ke.current&>===0&&(Se.current?(Ue.current&&clearTimeout(Ue.current),Le(null)):Qt.current||(Qt.current=setTimeout(()=>{Ue.current&&clearTimeout(Ue.current),Le(null)},2e3))),()=>{Qt.current&&clearTimeout(Qt.current)}},[Te?.ams_status_main,he]);const[Zt,cn]=_.useState(null);if(vn)return null;const $r=()=>{switch(i){case 1:return"w-10 h-10";case 2:return"w-14 h-14";case 3:return"w-16 h-16";case 4:return"w-20 h-20";default:return"w-14 h-14"}},Qn=()=>{switch(i){case 1:return"text-base truncate";case 2:return"text-lg";case 3:return"text-xl";case 4:return"text-2xl";default:return"text-lg"}},ai=()=>{switch(i){case 1:return"mb-2";case 2:return"mb-4";case 3:return"mb-5";case 4:return"mb-6";default:return"mb-4"}};return a.jsxs(St,{className:"relative",children:[a.jsxs(Et,{className:i>=3?"p-5":"",children:[a.jsxs("div",{className:ai(),children:[a.jsxs("div",{className:"flex items-start justify-between gap-2",children:[a.jsxs("div",{className:"flex items-center gap-3 min-w-0 flex-1",children:[a.jsx("img",{src:M8e(t.model),alt:t.model||b("common.printer"),className:`object-contain rounded-lg bg-bambu-dark flex-shrink-0 ${$r()}`}),a.jsxs("div",{className:"min-w-0 flex-1",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("h3",{className:`font-semibold text-white ${Qn()}`,children:t.name}),r==="compact"&&a.jsx("div",{className:`w-2 h-2 rounded-full flex-shrink-0 ${Te?.connected?"bg-status-ok":"bg-status-error"}`,title:Te?.connected?b("printers.connection.connected"):b("printers.connection.offline")})]}),a.jsxs("p",{className:"text-sm text-bambu-gray",children:[t.model||"Unknown Model",r==="expanded"&&Te?.nozzles&&Te.nozzles[0]?.nozzle_diameter&&a.jsxs("span",{className:"ml-1.5 text-bambu-gray",title:Te.nozzles[0].nozzle_type||"Nozzle",children:["• ",Te.nozzles[0].nozzle_diameter,"mm"]}),r==="expanded"&&n&&n.total_print_hours>0&&a.jsxs("span",{className:"ml-2 text-bambu-gray",children:[a.jsx(tr,{className:"w-3 h-3 inline-block mr-1"}),Math.round(n.total_print_hours),"h"]})]})]})]}),a.jsxs("div",{className:"relative flex-shrink-0",children:[a.jsx(Ne,{variant:"ghost",size:"sm",onClick:()=>T(!N),children:a.jsx(mh,{className:"w-4 h-4"})}),N&&a.jsxs("div",{className:"absolute right-0 mt-2 w-48 bg-bambu-dark-secondary border border-bambu-dark-tertiary rounded-lg shadow-lg z-20",children:[a.jsxs("button",{className:`w-full px-4 py-2 text-left text-sm flex items-center gap-2 ${S("printers:update")?"hover:bg-bambu-dark-tertiary":"opacity-50 cursor-not-allowed"}`,onClick:()=>{S("printers:update")&&(P(!0),T(!1))},title:S("printers:update")?void 0:b("printers.permission.noEdit"),children:[a.jsx(Ji,{className:"w-4 h-4"}),b("common.edit")]}),a.jsxs("button",{className:"w-full px-4 py-2 text-left text-sm hover:bg-bambu-dark-tertiary flex items-center gap-2",onClick:()=>{ar.mutate(),T(!1)},children:[a.jsx(Or,{className:"w-4 h-4"}),b("printers.reconnect")]}),a.jsxs("button",{className:"w-full px-4 py-2 text-left text-sm hover:bg-bambu-dark-tertiary flex items-center gap-2",onClick:()=>{D(!0),T(!1)},children:[a.jsx(VW,{className:"w-4 h-4"}),b("printers.mqttDebug")]}),a.jsxs("button",{className:`w-full px-4 py-2 text-left text-sm flex items-center gap-2 ${S("printers:delete")?"text-red-400 hover:bg-bambu-dark-tertiary":"text-red-400/50 cursor-not-allowed"}`,onClick:()=>{S("printers:delete")&&(A(!0),T(!1))},title:S("printers:delete")?void 0:b("printers.permission.noDelete"),children:[a.jsx(ln,{className:"w-4 h-4"}),b("common.delete")]})]})]})]}),r==="expanded"&&a.jsxs("div",{className:"flex flex-wrap items-center gap-2 mt-2",children:[a.jsxs("span",{className:`flex items-center gap-1.5 px-2 py-1 rounded-full text-xs ${Te?.connected?"bg-status-ok/20 text-status-ok":"bg-status-error/20 text-status-error"}`,children:[Te?.connected?a.jsx($y,{className:"w-3 h-3"}):a.jsx(WR,{className:"w-3 h-3"}),Te?.connected?b("printers.connection.connected"):b("printers.connection.offline")]}),Te?.connected&&Be!=null&&a.jsxs("span",{className:`flex items-center gap-1 px-2 py-1 rounded-full text-xs ${Be>=-50||Be>=-60?"bg-status-ok/20 text-status-ok":Be>=-70?"bg-status-warning/20 text-status-warning":Be>=-80?"bg-orange-500/20 text-orange-600":"bg-status-error/20 text-status-error"}`,title:`WiFi: ${Be} dBm - ${b(E8e(Be).labelKey)}`,children:[a.jsx(qhe,{className:"w-3 h-3"}),Be,"dBm"]}),Te?.connected&&(()=>{const gt=Te.hms_errors?cMe(Te.hms_errors):[];return a.jsxs("button",{onClick:()=>oe(!0),className:`flex items-center gap-1 px-2 py-1 rounded-full text-xs cursor-pointer hover:opacity-80 transition-opacity ${gt.length>0?gt.some(jt=>jt.severity<=2)?"bg-status-error/20 text-status-error":"bg-status-warning/20 text-status-warning":"bg-status-ok/20 text-status-ok"}`,title:b("printers.clickToViewHmsErrors"),children:[a.jsx(En,{className:"w-3 h-3"}),gt.length>0?gt.length:"OK"]})})(),n&&a.jsxs("button",{onClick:()=>x("/maintenance"),className:`flex items-center gap-1 px-2 py-1 rounded-full text-xs cursor-pointer hover:opacity-80 transition-opacity ${n.due_count>0?"bg-status-error/20 text-status-error":n.warning_count>0?"bg-status-warning/20 text-status-warning":"bg-status-ok/20 text-status-ok"}`,title:n.due_count>0||n.warning_count>0?`${n.due_count>0?`${n.due_count} maintenance due`:""}${n.due_count>0&&n.warning_count>0?", ":""}${n.warning_count>0?`${n.warning_count} due soon`:""} - Click to view`:b("printers.maintenanceUpToDate"),children:[a.jsx(mm,{className:"w-3 h-3"}),n.due_count>0||n.warning_count>0?n.due_count+n.warning_count:"OK"]}),zt>0&&a.jsxs("button",{onClick:()=>x("/queue"),className:"flex items-center gap-1 px-2 py-1 rounded-full text-xs bg-purple-500/20 text-purple-400 hover:opacity-80 transition-opacity",title:b("printers.queue.inQueue",{count:zt}),children:[a.jsx(is,{className:"w-3 h-3"}),zt]}),we?.current_version&&we?.latest_version&&a.jsxs("button",{onClick:()=>ue(!0),className:`flex items-center gap-1 px-2 py-1 rounded-full text-xs hover:opacity-80 transition-opacity ${we.update_available?"bg-orange-500/20 text-orange-400":"bg-status-ok/20 text-status-ok"}`,title:we.update_available?b("printers.firmwareUpdateAvailable",{current:we.current_version,latest:we.latest_version}):b("printers.firmwareUpToDate",{version:we.current_version}),children:[we.update_available?a.jsx(wi,{className:"w-3 h-3"}):a.jsx(mr,{className:"w-3 h-3"}),we.current_version]})]})]}),M&&a.jsx("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50",children:a.jsx(St,{className:"w-full max-w-md mx-4",children:a.jsxs(Et,{children:[a.jsxs("div",{className:"flex items-start gap-3 mb-4",children:[a.jsx("div",{className:"p-2 rounded-full bg-red-500/20",children:a.jsx(En,{className:"w-5 h-5 text-red-400"})}),a.jsxs("div",{children:[a.jsx("h3",{className:"text-lg font-semibold text-white",children:b("printers.confirm.deleteTitle")}),a.jsx("p",{className:"text-sm text-bambu-gray mt-1",children:b("printers.confirm.deleteMessage",{name:t.name})})]})]}),a.jsx("div",{className:"bg-bambu-dark rounded-lg p-3 mb-4",children:a.jsxs("label",{className:"flex items-start gap-3 cursor-pointer",children:[a.jsx("input",{type:"checkbox",checked:k,onChange:gt=>R(gt.target.checked),className:"mt-0.5 w-4 h-4 rounded border-bambu-gray bg-bambu-dark-secondary text-bambu-green focus:ring-bambu-green focus:ring-offset-0"}),a.jsxs("div",{children:[a.jsx("span",{className:"text-sm text-white",children:b("printers.deleteArchives")}),a.jsx("p",{className:"text-xs text-bambu-gray mt-0.5",children:b(k?"printers.confirm.deleteArchivesNote":"printers.confirm.keepArchivesNote")})]})]})}),a.jsxs("div",{className:"flex justify-end gap-2",children:[a.jsx(Ne,{variant:"secondary",onClick:()=>{A(!1),R(!0)},children:b("common.cancel")}),a.jsx(Ne,{variant:"danger",onClick:()=>{dr.mutate({deleteArchives:k}),A(!1),R(!0)},children:"Delete"})]})]})})}),Te?.connected&&a.jsxs(a.Fragment,{children:[r==="compact"?a.jsx("div",{className:"mt-2",children:Te.state==="RUNNING"?a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("div",{className:"flex-1 bg-bambu-dark-tertiary rounded-full h-1.5",children:a.jsx("div",{className:"bg-bambu-green h-1.5 rounded-full transition-all",style:{width:`${Te.progress||0}%`}})}),a.jsxs("span",{className:"text-xs text-white",children:[Math.round(Te.progress||0),"%"]})]}):a.jsx("p",{className:"text-xs text-bambu-gray",children:$q(Te.state,Te.stg_cur_name)})}):a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"mb-4 p-3 bg-bambu-dark rounded-lg relative",children:[a.jsxs("button",{onClick:()=>Re(!0),disabled:!(Te.state==="RUNNING"||Te.state==="PAUSE"||Te.state==="PAUSED")||(Te.printable_objects_count??0)<2||!S("printers:control"),className:`absolute top-2 right-2 p-1.5 rounded transition-colors z-10 ${(Te.state==="RUNNING"||Te.state==="PAUSE"||Te.state==="PAUSED")&&(Te.printable_objects_count??0)>=2&&S("printers:control")?"text-bambu-gray hover:text-white hover:bg-white/10":"text-bambu-gray/30 cursor-not-allowed"}`,title:S("printers:control")?Te.state==="RUNNING"||Te.state==="PAUSE"||Te.state==="PAUSED"?(Te.printable_objects_count??0)>=2?b("printers.skipObjects.tooltip"):b("printers.skipObjects.requiresMultiple"):b("printers.skipObjects.onlyWhilePrinting"):b("printers.permission.noControl"),children:[a.jsx(zk,{className:"w-4 h-4"}),Dt&&Dt.skipped_count>0&&a.jsx("span",{className:"absolute -top-1 -right-1 min-w-[16px] h-4 px-1 flex items-center justify-center text-[10px] font-bold bg-red-500 text-white rounded-full",children:Dt.skipped_count})]}),a.jsxs("div",{className:"flex gap-3",children:[a.jsx(T8e,{url:Te.state==="RUNNING"?Te.cover_url:null,printName:Te.state==="RUNNING"&&(Te.subtask_name||Te.current_print)||void 0}),a.jsx("div",{className:"flex-1 min-w-0",children:Te.current_print&&Te.state==="RUNNING"?a.jsxs(a.Fragment,{children:[a.jsx("p",{className:"text-sm text-bambu-gray mb-1",children:Te.stg_cur_name||"Printing"}),a.jsx("p",{className:"text-white text-sm mb-2 truncate",children:Te.subtask_name||Te.current_print}),a.jsxs("div",{className:"flex items-center justify-between text-sm",children:[a.jsx("div",{className:"flex-1 bg-bambu-dark-tertiary rounded-full h-2 mr-3",children:a.jsx("div",{className:"bg-bambu-green h-2 rounded-full transition-all",style:{width:`${Te.progress||0}%`}})}),a.jsxs("span",{className:"text-white",children:[Math.round(Te.progress||0),"%"]})]}),a.jsxs("div",{className:"flex items-center gap-3 mt-2 text-xs text-bambu-gray",children:[Te.remaining_time!=null&&Te.remaining_time>0&&a.jsxs(a.Fragment,{children:[a.jsxs("span",{className:"flex items-center gap-1",children:[a.jsx(tr,{className:"w-3 h-3"}),N8e(Te.remaining_time*60)]}),a.jsxs("span",{className:"text-bambu-green font-medium",title:b("printers.estimatedCompletion"),children:["ETA ",k8e(Te.remaining_time,d)]})]}),Te.layer_num!=null&&Te.total_layers!=null&&Te.total_layers>0&&a.jsxs("span",{className:"flex items-center gap-1",children:[a.jsx(is,{className:"w-3 h-3"}),Te.layer_num,"/",Te.total_layers]}),Gt&&a.jsxs("span",{className:"flex items-center gap-1",title:`Started by ${Gt}`,children:[a.jsx($u,{className:"w-3 h-3"}),Gt]})]})]}):a.jsxs(a.Fragment,{children:[a.jsx("p",{className:"text-sm text-bambu-gray mb-1",children:b("printers.sort.status")}),a.jsx("p",{className:"text-white text-sm mb-2",children:$q(Te.state,Te.stg_cur_name)}),a.jsxs("div",{className:"flex items-center justify-between text-sm",children:[a.jsx("div",{className:"flex-1 bg-bambu-dark-tertiary rounded-full h-2 mr-3",children:a.jsx("div",{className:"bg-bambu-dark-tertiary h-2 rounded-full"})}),a.jsx("span",{className:"text-bambu-gray",children:"—"})]}),fn?a.jsxs("p",{className:"text-xs text-bambu-gray mt-2 truncate",title:fn.print_name||fn.filename,children:["Last: ",fn.print_name||fn.filename,fn.completed_at&&a.jsxs("span",{className:"ml-1 text-bambu-gray/60",children:["• ",Gg(fn.completed_at,{month:"short",day:"numeric"})]})]}):a.jsx("p",{className:"text-xs text-bambu-gray mt-2",children:b("printers.readyToPrint")})]})})]})]}),Te.state!=="RUNNING"&&a.jsx(fMe,{printerId:t.id})]}),Te.temperatures&&r==="expanded"&&(()=>{const gt=Te.temperatures.nozzle_heating||Te.temperatures.nozzle_2_heating||!1,jt=Te.temperatures.bed_heating||!1,gn=Te.temperatures.chamber_heating||!1,Nt=t.nozzle_count===2||Te.temperatures.nozzle_2!==void 0,un=Te.active_extruder===1?"L":"R",In=Te.nozzle_rack?.find(Si=>Si.id===1),rr=Te.nozzle_rack?.find(Si=>Si.id===0),ua=rr||In;return a.jsxs("div",{className:"flex items-stretch gap-1.5 flex-wrap",children:[a.jsxs("div",{className:"text-center px-2 py-1.5 bg-bambu-dark rounded-lg flex-1 flex flex-col justify-center items-center",children:[a.jsx(bP,{className:"w-3.5 h-3.5 mb-0.5",color:"text-orange-400",isHeating:gt}),Te.temperatures.nozzle_2!==void 0?a.jsxs(a.Fragment,{children:[a.jsx("p",{className:"text-[9px] text-bambu-gray",children:"L / R"}),a.jsxs("p",{className:"text-[11px] text-white",children:[Math.round(Te.temperatures.nozzle||0),"° / ",Math.round(Te.temperatures.nozzle_2||0),"°"]})]}):ua?a.jsx(Fee,{slot:ua,index:0,activeStatus:!0,filamentName:ua.filament_id?Ge?.[ua.filament_id]?.name:void 0,children:a.jsxs("div",{className:"cursor-default",children:[a.jsx("p",{className:"text-[9px] text-bambu-gray",children:b("printers.temperatures.nozzle")}),a.jsxs("p",{className:"text-[11px] text-white",children:[Math.round(Te.temperatures.nozzle||0),"°C"]})]})}):a.jsxs(a.Fragment,{children:[a.jsx("p",{className:"text-[9px] text-bambu-gray",children:b("printers.temperatures.nozzle")}),a.jsxs("p",{className:"text-[11px] text-white",children:[Math.round(Te.temperatures.nozzle||0),"°C"]})]})]}),a.jsxs("div",{className:"text-center px-2 py-1.5 bg-bambu-dark rounded-lg flex-1 flex flex-col justify-center items-center",children:[a.jsx(bP,{className:"w-3.5 h-3.5 mb-0.5",color:"text-blue-400",isHeating:jt}),a.jsx("p",{className:"text-[9px] text-bambu-gray",children:b("printers.temperatures.bed")}),a.jsxs("p",{className:"text-[11px] text-white",children:[Math.round(Te.temperatures.bed||0),"°C"]})]}),Te.temperatures.chamber!==void 0&&a.jsxs("div",{className:"text-center px-2 py-1.5 bg-bambu-dark rounded-lg flex-1 flex flex-col justify-center items-center",children:[a.jsx(bP,{className:"w-3.5 h-3.5 mb-0.5",color:"text-green-400",isHeating:gn}),a.jsx("p",{className:"text-[9px] text-bambu-gray",children:b("printers.temperatures.chamber")}),a.jsxs("p",{className:"text-[11px] text-white",children:[Math.round(Te.temperatures.chamber||0),"°C"]})]}),Nt&&a.jsx(b8e,{leftSlot:In,rightSlot:rr,activeNozzle:un,children:a.jsxs("div",{className:"text-center px-3 py-1.5 bg-bambu-dark rounded-lg h-full flex flex-col justify-center items-center cursor-default",title:b("printers.activeNozzle",{nozzle:b(un==="L"?"common.left":"common.right")}),children:[a.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[a.jsxs("span",{className:`text-[11px] font-bold ${un==="L"?"text-amber-400":"text-gray-500"}`,children:["L",In?.nozzle_diameter?` ${In.nozzle_diameter}`:""]}),a.jsx("span",{className:"text-[9px] text-bambu-gray/40",children:"·"}),a.jsxs("span",{className:`text-[11px] font-bold ${un==="R"?"text-amber-400":"text-gray-500"}`,children:["R",rr?.nozzle_diameter?` ${rr.nozzle_diameter}`:""]})]}),a.jsx("p",{className:"text-[9px] text-bambu-gray",children:b("printers.temperatures.nozzle")})]})}),Te.nozzle_rack&&Te.nozzle_rack.some(Si=>Si.id>=2)&&a.jsx(x8e,{slots:Te.nozzle_rack,filamentInfo:Ge})]})})(),r==="expanded"&&(()=>{const gt=Te.state==="RUNNING",jt=Te.state==="PAUSED"||Te.state==="PAUSE",gn=gt||jt,Nt=Ma.isPending||De.isPending||tt.isPending,un=Te.cooling_fan_speed,In=Te.big_fan1_speed,rr=Te.big_fan2_speed;return a.jsxs("div",{className:"mt-3",children:[a.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[a.jsx("span",{className:"text-[10px] uppercase tracking-wider text-bambu-gray font-medium",children:b("printers.controls")}),a.jsx("div",{className:"flex-1 h-px bg-bambu-dark-tertiary/30"})]}),a.jsxs("div",{className:"flex items-center justify-between gap-2",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsxs("div",{className:`flex items-center gap-1 px-1.5 py-1 rounded ${un&&un>0?"bg-cyan-500/10":"bg-bambu-dark"}`,title:b("printers.fans.partCooling"),children:[a.jsx(RW,{className:`w-3.5 h-3.5 ${un&&un>0?"text-cyan-400":"text-bambu-gray/50"}`}),a.jsxs("span",{className:`text-[10px] ${un&&un>0?"text-cyan-400":"text-bambu-gray/50"}`,children:[un??0,"%"]})]}),a.jsxs("div",{className:`flex items-center gap-1 px-1.5 py-1 rounded ${In&&In>0?"bg-blue-500/10":"bg-bambu-dark"}`,title:b("printers.fans.auxiliary"),children:[a.jsx(qW,{className:`w-3.5 h-3.5 ${In&&In>0?"text-blue-400":"text-bambu-gray/50"}`}),a.jsxs("span",{className:`text-[10px] ${In&&In>0?"text-blue-400":"text-bambu-gray/50"}`,children:[In??0,"%"]})]}),a.jsxs("div",{className:`flex items-center gap-1 px-1.5 py-1 rounded ${rr&&rr>0?"bg-green-500/10":"bg-bambu-dark"}`,title:b("printers.fans.chamber"),children:[a.jsx(Mce,{className:`w-3.5 h-3.5 ${rr&&rr>0?"text-green-400":"text-bambu-gray/50"}`}),a.jsxs("span",{className:`text-[10px] ${rr&&rr>0?"text-green-400":"text-bambu-gray/50"}`,children:[rr??0,"%"]})]})]}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsxs("button",{onClick:()=>W(!0),disabled:!gn||Nt||!S("printers:control"),className:`
flex items-center justify-center gap-1 px-3 py-1.5 rounded-lg text-xs font-medium
transition-colors
${gn&&S("printers:control")?"bg-red-500/20 text-red-400 hover:bg-red-500/30":"bg-bambu-dark text-bambu-gray/50 cursor-not-allowed"}
@@ -8508,19 +8508,19 @@ void main() {
flex items-center justify-center gap-1 px-3 py-1.5 rounded-lg text-xs font-medium
transition-colors
${gn&&S("printers:control")?jt?"bg-bambu-green/20 text-bambu-green hover:bg-bambu-green/30":"bg-yellow-500/20 text-yellow-400 hover:bg-yellow-500/30":"bg-bambu-dark text-bambu-gray/50 cursor-not-allowed"}
- `,title:S("printers:control")?b(jt?"printers.resume":"printers.pause"):b("printers.permission.noControl"),children:[jt?a.jsx(Eo,{className:"w-3 h-3"}):a.jsx(Sk,{className:"w-3 h-3"}),b(jt?"printers.resume":"printers.pause")]})]})]})]})})(),Ye&&Ye.length>0&&r==="expanded"&&(()=>{const gt=Ye.filter(Nt=>Nt.tray.length>1),jt=Ye.filter(Nt=>Nt.tray.length===1),gn=t.nozzle_count===2||Te?.temperatures?.nozzle_2!==void 0;return a.jsxs("div",{className:"mt-3",children:[a.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[a.jsx("span",{className:"text-[10px] uppercase tracking-wider text-bambu-gray font-medium",children:b("printers.filaments")}),a.jsx("div",{className:"flex-1 h-px bg-bambu-dark-tertiary/30"})]}),a.jsxs("div",{className:"space-y-3",children:[gt.length>0&&a.jsx("div",{className:"grid grid-cols-2 gap-3",children:gt.map(Nt=>{const un=et[String(Nt.id)],In=Nt.id>=128?Nt.id-128:Nt.id,rr=un!==void 0?un:In,ua=rr===1,Si=rr===0;return a.jsxs("div",{className:"p-2.5 bg-bambu-dark rounded-lg border border-bambu-dark-tertiary/30",children:[a.jsxs("div",{className:"flex items-center justify-between mb-2",children:[a.jsxs("div",{className:"flex items-center gap-1.5",children:[a.jsx("span",{className:"text-[10px] text-white font-medium",children:Gd(Nt.id,Nt.tray.length)}),gn&&(ua||Si)&&a.jsx(zq,{side:ua?"L":"R"})]}),(Nt.humidity!=null||Nt.temp!=null)&&a.jsxs("div",{className:"flex items-center gap-1.5",children:[Nt.humidity!=null&&a.jsx(Bq,{humidity:Nt.humidity,goodThreshold:s?.humidityGood,fairThreshold:s?.humidityFair,onClick:()=>ke({amsId:Nt.id,amsLabel:Gd(Nt.id,Nt.tray.length),mode:"humidity"}),compact:!0}),Nt.temp!=null&&a.jsx(Hq,{temp:Nt.temp,goodThreshold:s?.tempGood,fairThreshold:s?.tempFair,onClick:()=>ke({amsId:Nt.id,amsLabel:Gd(Nt.id,Nt.tray.length),mode:"temperature"}),compact:!0})]})]}),a.jsx("div",{className:"grid grid-cols-4 gap-1.5",children:[0,1,2,3].map(Jt=>{const wn=Nt.tray[Jt]||Nt.tray.find(Qr=>Qr.id===Jt),Ea=wn?.tray_type&&wn.remain>=0,Ta=!wn?.tray_type,si=Nt.id*4+Jt,yl=ye===si,Pc=wn?.tray_info_idx?Ge?.[wn.tray_info_idx]:null,us=ze?.[si],ds=wn?.tray_uuid?.toUpperCase(),jc=ds?c?.[ds]:void 0,hs=yP(jc),Po=Ea&&wn.remain>0?wn.remain:hs??(Ea?wn.remain:null),Aa=Ea&&wn.remain===0&&hs!==null?"spoolman":"ams",_r=wn?.tray_type?{vendor:vP(wn)?"Bambu Lab":"Generic",profile:Pc?.name||us?.preset_name||wn.tray_sub_brands||wn.tray_type,colorName:mP(wn.tray_id_name)||pP(wn.tray_color),colorHex:wn.tray_color||null,kFactor:gP(wn.k),fillLevel:Po,trayUuid:wn.tray_uuid||null,fillSource:Aa}:null,da=he?.amsId===Nt.id&&he?.slotId===Jt,eo=a.jsxs("div",{className:`bg-bambu-dark-tertiary rounded p-1 text-center ${Ta?"opacity-50":""} ${yl?"ring-2 ring-bambu-green ring-offset-1 ring-offset-bambu-dark":""}`,children:[a.jsx("div",{className:"w-3.5 h-3.5 rounded-full mx-auto mb-0.5 border-2",style:{backgroundColor:wn?.tray_color?`#${wn.tray_color}`:wn?.tray_type?"#333":"transparent",borderColor:Ta?"#666":"rgba(255,255,255,0.1)",borderStyle:Ta?"dashed":"solid"}}),a.jsx("div",{className:"text-[9px] text-white font-bold truncate",children:wn?.tray_type||"—"}),a.jsx("div",{className:"mt-1 h-1.5 bg-black/30 rounded-full overflow-hidden",children:Po!==null&&Po>=0&&wn?a.jsx("div",{className:"h-full rounded-full transition-all",style:{width:`${Po}%`,backgroundColor:xP(Po)}}):wn?.tray_type?a.jsx("div",{className:"h-full w-full rounded-full bg-white/50 dark:bg-gray-500/40"}):null})]});return a.jsxs("div",{className:"relative group",children:[da&&a.jsx("div",{className:"absolute inset-0 bg-bambu-dark-tertiary/80 rounded flex items-center justify-center z-20",children:a.jsx(Or,{className:"w-4 h-4 text-bambu-green animate-spin"})}),Te?.state!=="RUNNING"&&a.jsx("button",{onClick:Qr=>{Qr.stopPropagation(),cn(Zt?.amsId===Nt.id&&Zt?.slotId===Jt?null:{amsId:Nt.id,slotId:Jt})},className:"absolute -top-1 -right-1 w-4 h-4 bg-bambu-dark-secondary border border-bambu-dark-tertiary rounded-full flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity z-10 hover:bg-bambu-dark-tertiary",title:b("printers.slotOptions"),children:a.jsx(mh,{className:"w-2.5 h-2.5 text-bambu-gray"})}),Te?.state!=="RUNNING"&&Zt?.amsId===Nt.id&&Zt?.slotId===Jt&&a.jsx("div",{className:"absolute top-full left-0 mt-1 z-50 bg-bambu-dark-secondary border border-bambu-dark-tertiary rounded-lg shadow-xl py-1 min-w-[120px]",children:a.jsxs("button",{className:`w-full px-3 py-1.5 text-left text-xs flex items-center gap-2 ${S("printers:ams_rfid")?"text-white hover:bg-bambu-dark-tertiary":"text-bambu-gray/50 cursor-not-allowed"}`,onClick:Qr=>{Qr.stopPropagation(),S("printers:ams_rfid")&&(nt.mutate({amsId:Nt.id,slotId:Jt}),cn(null))},disabled:da||!S("printers:ams_rfid"),title:S("printers:ams_rfid")?void 0:b("printers.permission.noAmsRfid"),children:[a.jsx(Or,{className:`w-3 h-3 ${da?"animate-spin":""}`}),b("printers.rfid.reread")]})}),_r?a.jsx(fP,{data:_r,spoolman:{enabled:o,hasUnlinkedSpools:l,linkedSpoolId:_r.trayUuid?c?.[_r.trayUuid.toUpperCase()]?.id:void 0,spoolmanUrl:u,onLinkSpool:o&&_r.trayUuid?Qr=>{ce({trayUuid:Qr,trayInfo:{type:_r.profile,color:_r.colorHex||"",location:`${Gd(Nt.id,Nt.tray.length)} Slot ${Jt+1}`}})}:void 0},configureSlot:{enabled:S("printers:control"),onConfigure:()=>V({amsId:Nt.id,trayId:Jt,trayCount:Nt.tray.length,trayType:wn?.tray_type||void 0,trayColor:wn?.tray_color||void 0,traySubBrands:wn?.tray_sub_brands||void 0,trayInfoIdx:wn?.tray_info_idx||void 0})},children:eo}):a.jsx(Oq,{configureSlot:{enabled:S("printers:control"),onConfigure:()=>V({amsId:Nt.id,trayId:Jt,trayCount:Nt.tray.length})},children:eo})]},Jt)})})]},Nt.id)})}),(jt.length>0||Te.vt_tray&&Te.vt_tray.tray_type)&&a.jsxs("div",{className:"grid grid-cols-4 gap-3",children:[jt.map(Nt=>{const un=et[String(Nt.id)],In=Nt.id>=128?Nt.id-128:Nt.id,rr=un!==void 0?un:In,ua=rr===1,Si=rr===0,Jt=Nt.tray[0],wn=Jt?.tray_type&&Jt.remain>=0,Ea=!Jt?.tray_type,Ta=Nt.id*4+(Jt?.id??0),si=ye===Ta,yl=Jt?.tray_info_idx?Ge?.[Jt.tray_info_idx]:null,Pc=ze?.[Ta],us=Jt?.tray_uuid?.toUpperCase(),ds=us?c?.[us]:void 0,jc=yP(ds),hs=wn&&Jt.remain>0?Jt.remain:jc??(wn?Jt.remain:null),Po=wn&&Jt.remain===0&&jc!==null?"spoolman":"ams",Aa=Jt?.tray_type?{vendor:vP(Jt)?"Bambu Lab":"Generic",profile:yl?.name||Pc?.preset_name||Jt.tray_sub_brands||Jt.tray_type,colorName:mP(Jt.tray_id_name)||pP(Jt.tray_color),colorHex:Jt.tray_color||null,kFactor:gP(Jt.k),fillLevel:hs,trayUuid:Jt.tray_uuid||null,fillSource:Po}:null,_r=Jt?.id??0,da=he?.amsId===Nt.id&&he?.slotId===_r,eo=a.jsxs("div",{className:`bg-bambu-dark-tertiary rounded p-1 text-center ${Ea?"opacity-50":""} ${si?"ring-2 ring-bambu-green ring-offset-1 ring-offset-bambu-dark":""}`,children:[a.jsx("div",{className:"w-3.5 h-3.5 rounded-full mx-auto mb-0.5 border-2",style:{backgroundColor:Jt?.tray_color?`#${Jt.tray_color}`:Jt?.tray_type?"#333":"transparent",borderColor:Ea?"#666":"rgba(255,255,255,0.1)",borderStyle:Ea?"dashed":"solid"}}),a.jsx("div",{className:"text-[9px] text-white font-bold truncate",children:Jt?.tray_type||"—"}),a.jsx("div",{className:"mt-1 h-1.5 bg-black/30 rounded-full overflow-hidden",children:hs!==null&&hs>=0?a.jsx("div",{className:"h-full rounded-full transition-all",style:{width:`${hs}%`,backgroundColor:xP(hs)}}):Jt?.tray_type?a.jsx("div",{className:"h-full w-full rounded-full bg-white/50 dark:bg-gray-500/40"}):null})]});return a.jsxs("div",{className:"p-2.5 bg-bambu-dark rounded-lg border border-bambu-dark-tertiary/30",children:[a.jsxs("div",{className:"flex items-center gap-1 mb-2",children:[a.jsx("span",{className:"text-[10px] text-white font-medium",children:Gd(Nt.id,Nt.tray.length)}),gn&&(ua||Si)&&a.jsx(zq,{side:ua?"L":"R"})]}),a.jsxs("div",{className:"flex gap-1.5",children:[a.jsxs("div",{className:"relative group flex-1",children:[da&&a.jsx("div",{className:"absolute inset-0 bg-bambu-dark-tertiary/80 rounded flex items-center justify-center z-20",children:a.jsx(Or,{className:"w-4 h-4 text-bambu-green animate-spin"})}),Te?.state!=="RUNNING"&&a.jsx("button",{onClick:Qr=>{Qr.stopPropagation(),cn(Zt?.amsId===Nt.id&&Zt?.slotId===_r?null:{amsId:Nt.id,slotId:_r})},className:"absolute -top-1 -right-1 w-4 h-4 bg-bambu-dark-secondary border border-bambu-dark-tertiary rounded-full flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity z-10 hover:bg-bambu-dark-tertiary",title:b("printers.slotOptions"),children:a.jsx(mh,{className:"w-2.5 h-2.5 text-bambu-gray"})}),Te?.state!=="RUNNING"&&Zt?.amsId===Nt.id&&Zt?.slotId===_r&&a.jsx("div",{className:"absolute top-full left-0 mt-1 z-50 bg-bambu-dark-secondary border border-bambu-dark-tertiary rounded-lg shadow-xl py-1 min-w-[120px]",children:a.jsxs("button",{className:`w-full px-3 py-1.5 text-left text-xs flex items-center gap-2 ${S("printers:ams_rfid")?"text-white hover:bg-bambu-dark-tertiary":"text-bambu-gray/50 cursor-not-allowed"}`,onClick:Qr=>{Qr.stopPropagation(),S("printers:ams_rfid")&&(nt.mutate({amsId:Nt.id,slotId:_r}),cn(null))},disabled:da||!S("printers:ams_rfid"),title:S("printers:ams_rfid")?void 0:b("printers.permission.noAmsRfid"),children:[a.jsx(Or,{className:`w-3 h-3 ${da?"animate-spin":""}`}),b("printers.rfid.reread")]})}),Aa?a.jsx(fP,{data:Aa,spoolman:{enabled:o,hasUnlinkedSpools:l,linkedSpoolId:Aa.trayUuid?c?.[Aa.trayUuid.toUpperCase()]?.id:void 0,spoolmanUrl:u,onLinkSpool:o&&Aa.trayUuid?Qr=>{ce({trayUuid:Qr,trayInfo:{type:Aa.profile,color:Aa.colorHex||"",location:Gd(Nt.id,Nt.tray.length)}})}:void 0},configureSlot:{enabled:S("printers:control"),onConfigure:()=>V({amsId:Nt.id,trayId:_r,trayCount:Nt.tray.length,trayType:Jt?.tray_type||void 0,trayColor:Jt?.tray_color||void 0,traySubBrands:Jt?.tray_sub_brands||void 0,trayInfoIdx:Jt?.tray_info_idx||void 0})},children:eo}):a.jsx(Oq,{configureSlot:{enabled:S("printers:control"),onConfigure:()=>V({amsId:Nt.id,trayId:_r,trayCount:Nt.tray.length})},children:eo})]}),(Nt.humidity!=null||Nt.temp!=null)&&a.jsxs("div",{className:"flex flex-col justify-center gap-1 shrink-0",children:[Nt.temp!=null&&a.jsx(Hq,{temp:Nt.temp,goodThreshold:s?.tempGood,fairThreshold:s?.tempFair,onClick:()=>ke({amsId:Nt.id,amsLabel:Gd(Nt.id,Nt.tray.length),mode:"temperature"}),compact:!0}),Nt.humidity!=null&&a.jsx(Bq,{humidity:Nt.humidity,goodThreshold:s?.humidityGood,fairThreshold:s?.humidityFair,onClick:()=>ke({amsId:Nt.id,amsLabel:Gd(Nt.id,Nt.tray.length),mode:"humidity"}),compact:!0})]})]})]},Nt.id)}),Te.vt_tray&&Te.vt_tray.tray_type&&(()=>{const Nt=Te.vt_tray,un=ye===254,In=Nt.tray_info_idx?Ge?.[Nt.tray_info_idx]:null,rr=ze?.[1020],ua=Nt.tray_uuid?.toUpperCase(),Si=ua?c?.[ua]:void 0,Jt=yP(Si),wn={vendor:vP(Nt)?"Bambu Lab":"Generic",profile:In?.name||rr?.preset_name||Nt.tray_sub_brands||Nt.tray_type||"Unknown",colorName:mP(Nt.tray_id_name)||pP(Nt.tray_color),colorHex:Nt.tray_color||null,kFactor:gP(Nt.k),fillLevel:Jt,trayUuid:Nt.tray_uuid||null,fillSource:Jt!==null?"spoolman":void 0},Ea=a.jsxs("div",{className:`bg-bambu-dark-tertiary rounded p-1 text-center cursor-default ${un?"ring-2 ring-bambu-green ring-offset-1 ring-offset-bambu-dark":""}`,children:[a.jsx("div",{className:"w-3.5 h-3.5 rounded-full mx-auto mb-0.5 border-2",style:{backgroundColor:Nt.tray_color?`#${Nt.tray_color}`:"#333",borderColor:un?"var(--accent)":"rgba(255,255,255,0.1)"}}),a.jsx("div",{className:"text-[9px] text-white font-bold truncate",children:Nt.tray_type||"Spool"}),a.jsx("div",{className:"mt-1 h-1.5 bg-black/30 rounded-full overflow-hidden",children:Jt!==null?a.jsx("div",{className:"h-full rounded-full transition-all",style:{width:`${Jt}%`,backgroundColor:xP(Jt)}}):a.jsx("div",{className:"h-full w-full rounded-full bg-white/50 dark:bg-gray-500/40"})})]});return a.jsxs("div",{className:"p-2.5 bg-bambu-dark rounded-lg border border-bambu-dark-tertiary/30",children:[a.jsx("div",{className:"flex items-center gap-1 mb-2",children:a.jsx("span",{className:"text-[10px] text-white font-medium",children:b("printers.external")})}),a.jsx(fP,{data:wn,spoolman:{enabled:o,hasUnlinkedSpools:l,linkedSpoolId:wn.trayUuid?c?.[wn.trayUuid.toUpperCase()]?.id:void 0,spoolmanUrl:u,onLinkSpool:o&&wn.trayUuid?Ta=>{ce({trayUuid:Ta,trayInfo:{type:wn.profile,color:wn.colorHex||"",location:"External Spool"}})}:void 0},configureSlot:{enabled:S("printers:control"),onConfigure:()=>V({amsId:255,trayId:0,trayCount:1,trayType:Nt.tray_type||void 0,trayColor:Nt.tray_color||void 0,traySubBrands:Nt.tray_sub_brands||void 0,trayInfoIdx:Nt.tray_info_idx||void 0})},children:Ea})]})})()]})]})]})})()]}),Qe&&r==="expanded"&&a.jsxs("div",{className:"mt-4 pt-4 border-t border-bambu-dark-tertiary",children:[a.jsxs("div",{className:"flex items-center gap-3",children:[a.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[a.jsx(Ah,{className:"w-4 h-4 text-bambu-gray flex-shrink-0"}),a.jsx("span",{className:"text-sm text-white truncate",children:Qe.name}),at&&a.jsxs("span",{className:`text-xs px-1.5 py-0.5 rounded flex-shrink-0 ${at.state==="ON"?"bg-bambu-green/20 text-bambu-green":at.state==="OFF"?"bg-red-500/20 text-red-400":"bg-bambu-gray/20 text-bambu-gray"}`,children:[at.state||"?",at.state==="ON"&&at.energy?.power!=null&&a.jsxs("span",{className:"text-yellow-400 ml-1.5",children:["· ",at.energy.power,"W"]})]})]}),a.jsx("div",{className:"flex-1"}),a.jsxs("div",{className:"flex items-center gap-1",children:[a.jsxs("button",{onClick:()=>G(!0),disabled:kn.isPending||at?.state==="ON"||!S("smart_plugs:control"),className:`px-2 py-1 text-xs rounded transition-colors flex items-center gap-1 ${S("smart_plugs:control")?at?.state==="ON"?"bg-bambu-green text-white":"bg-bambu-dark text-bambu-gray hover:text-white hover:bg-bambu-dark-tertiary":"bg-bambu-dark text-bambu-gray/50 cursor-not-allowed"}`,title:S("smart_plugs:control")?void 0:b("printers.permission.noSmartPlugControl"),children:[a.jsx(Ju,{className:"w-3 h-3"}),"On"]}),a.jsxs("button",{onClick:()=>K(!0),disabled:kn.isPending||at?.state==="OFF"||!S("smart_plugs:control"),className:`px-2 py-1 text-xs rounded transition-colors flex items-center gap-1 ${S("smart_plugs:control")?at?.state==="OFF"?"bg-red-500/30 text-red-400":"bg-bambu-dark text-bambu-gray hover:text-white hover:bg-bambu-dark-tertiary":"bg-bambu-dark text-bambu-gray/50 cursor-not-allowed"}`,title:S("smart_plugs:control")?void 0:b("printers.permission.noSmartPlugControl"),children:[a.jsx(Nk,{className:"w-3 h-3"}),"Off"]})]}),a.jsxs("div",{className:"flex items-center gap-2 flex-shrink-0",children:[a.jsx("span",{className:`text-xs hidden sm:inline ${Qe.auto_off_executed?"text-bambu-green":"text-bambu-gray"}`,children:Qe.auto_off_executed?"Auto-off done":"Auto-off"}),a.jsx("button",{onClick:()=>Bn.mutate(!Qe.auto_off),disabled:Bn.isPending||Qe.auto_off_executed||!S("smart_plugs:control"),title:S("smart_plugs:control")?Qe.auto_off_executed?b("printers.autoOffExecuted"):b("printers.autoOffAfterPrint"):b("printers.permission.noSmartPlugControl"),className:`relative w-9 h-5 rounded-full transition-colors flex-shrink-0 ${S("smart_plugs:control")?Qe.auto_off_executed?"bg-bambu-green/50 cursor-not-allowed":Qe.auto_off?"bg-bambu-green":"bg-bambu-dark-tertiary":"bg-bambu-dark-tertiary/50 cursor-not-allowed"}`,children:a.jsx("span",{className:`absolute top-[2px] left-[2px] w-4 h-4 bg-white rounded-full transition-transform ${Qe.auto_off||Qe.auto_off_executed?"translate-x-4":"translate-x-0"}`})})]})]}),yt&&yt.length>0&&a.jsxs("div",{className:"flex items-center gap-2 mt-2 pt-2 border-t border-bambu-dark-tertiary/50",children:[a.jsx(Hy,{className:"w-3.5 h-3.5 text-blue-400 flex-shrink-0"}),a.jsx("span",{className:"text-xs text-bambu-gray",children:"HA:"}),a.jsx("div",{className:"flex flex-wrap gap-1",children:yt.map(gt=>a.jsxs("button",{onClick:()=>Hr.mutate(gt.id),disabled:Hr.isPending,title:`Run ${gt.ha_entity_id}`,className:"px-2 py-0.5 text-xs bg-blue-500/20 text-blue-400 hover:bg-blue-500/30 rounded transition-colors flex items-center gap-1",children:[a.jsx(Eo,{className:"w-2.5 h-2.5"}),gt.name]},gt.id))})]})]}),r==="expanded"&&a.jsxs("div",{className:"mt-4 pt-4 border-t border-bambu-dark-tertiary flex flex-col sm:flex-row sm:items-center sm:justify-between gap-3",children:[a.jsxs("div",{className:"text-xs text-bambu-gray",children:[a.jsx("p",{children:t.ip_address}),a.jsx("p",{className:"truncate",children:t.serial_number})]}),a.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[a.jsx(Ne,{variant:"secondary",size:"sm",onClick:()=>ht.mutate(!Te?.chamber_light),disabled:!Te?.connected||ht.isPending||!S("printers:control"),title:S("printers:control")?Te?.chamber_light?b("printers.chamberLightOff"):b("printers.chamberLightOn"):b("printers.permission.noControl"),className:Te?.chamber_light?"bg-yellow-500/20 hover:bg-yellow-500/30 border-yellow-500/30":"",children:a.jsx(MO,{on:Te?.chamber_light??!1,className:"w-4 h-4"})}),a.jsx(Ne,{variant:"secondary",size:"sm",onClick:()=>{if(h==="embedded"&&p)p(t.id,t.name);else{const gt=localStorage.getItem("cameraWindowState"),jt=gt?JSON.parse(gt):{width:640,height:400},gn=[`width=${jt.width}`,`height=${jt.height}`,jt.left!==void 0?`left=${jt.left}`:"",jt.top!==void 0?`top=${jt.top}`:"","menubar=no,toolbar=no,location=no,status=no,noopener"].filter(Boolean).join(",");window.open(`/camera/${t.id}`,`camera-${t.id}`,gn)}},disabled:!Te?.connected,title:b(h==="embedded"?"printers.openCameraOverlay":"printers.openCameraWindow"),children:a.jsx(KR,{className:"w-4 h-4"})}),a.jsxs("div",{className:`inline-flex rounded-md ${t.plate_detection_enabled?"ring-1 ring-green-500":""}`,children:[a.jsx(Ne,{variant:"secondary",size:"sm",onClick:Tt,disabled:!Te?.connected||mt.isPending||!S("printers:update"),title:S("printers:update")?t.plate_detection_enabled?b("printers.plateDetection.enabledClick"):b("printers.plateDetection.disabledClick"):b("printers.plateDetection.noPermission"),className:`!rounded-r-none !border-r-0 ${t.plate_detection_enabled?"!border-green-500 !text-green-400 hover:!bg-green-500/20":""}`,children:mt.isPending?a.jsx(ct,{className:"w-4 h-4 animate-spin"}):a.jsx(nS,{className:"w-4 h-4"})}),a.jsx(Ne,{variant:"secondary",size:"sm",onClick:mn,disabled:!Te?.connected||X||!S("printers:update"),title:S("printers:update")?b("printers.plateDetection.manageCalibration"):b("printers.plateDetection.noPermission"),className:`!rounded-l-none !px-1.5 ${t.plate_detection_enabled?"!border-green-500 !text-green-400 hover:!bg-green-500/20":""}`,children:X?a.jsx(ct,{className:"w-3 h-3 animate-spin"}):a.jsx(fr,{className:"w-3 h-3"})})]}),a.jsxs(Ne,{variant:"secondary",size:"sm",onClick:()=>F(!0),disabled:!S("printers:files"),title:S("printers:files")?b("printers.browseFiles"):b("printers.permission.noFiles"),children:[a.jsx(Sb,{className:"w-4 h-4"}),"Files"]})]})]})]}),U&&a.jsx(tMe,{printerId:t.id,printerName:t.name,onClose:()=>F(!1)}),H&&a.jsx(oMe,{printerId:t.id,printerName:t.name,onClose:()=>D(!1)}),q&&a.jsx("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50 p-4",onClick:()=>Bt(),children:a.jsxs("div",{className:"bg-bambu-dark-secondary border border-bambu-dark-tertiary rounded-xl shadow-2xl max-w-lg w-full",onClick:gt=>gt.stopPropagation(),children:[a.jsxs("div",{className:"flex items-center justify-between p-4 border-b border-bambu-dark-tertiary",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[q.needs_calibration?a.jsx(nS,{className:"w-5 h-5 text-blue-500"}):q.is_empty?a.jsx(mr,{className:"w-5 h-5 text-green-500"}):a.jsx(Zi,{className:"w-5 h-5 text-yellow-500"}),a.jsx("h2",{className:"text-lg font-semibold text-white",children:"Build Plate Check"}),q.reference_count!==void 0&&q.max_references&&a.jsxs("span",{className:"text-xs text-bambu-gray bg-bambu-dark-tertiary px-2 py-1 rounded",children:[q.reference_count,"/",q.max_references," refs"]})]}),a.jsx("button",{onClick:()=>Bt(),className:"p-1 text-bambu-gray hover:text-white rounded transition-colors",children:a.jsx(Lt,{className:"w-5 h-5"})})]}),a.jsxs("div",{className:"p-4 space-y-4",children:[q.needs_calibration?a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"p-3 rounded-lg bg-blue-500/20 border border-blue-500/50",children:[a.jsx("p",{className:"font-medium text-blue-400",children:b("printers.plateDetection.calibrationRequired")}),a.jsx("p",{className:"text-sm text-bambu-gray mt-1",dangerouslySetInnerHTML:{__html:b("printers.plateDetection.calibrationInstructions")}})]}),a.jsxs("div",{className:"text-sm text-bambu-gray space-y-2",children:[a.jsx("p",{children:b("printers.plateDetection.calibrationDescription")}),a.jsx("p",{dangerouslySetInnerHTML:{__html:b("printers.plateDetection.calibrationTip")}})]})]}):a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:`p-3 rounded-lg ${q.is_empty?"bg-green-500/20 border border-green-500/50":"bg-yellow-500/20 border border-yellow-500/50"}`,children:[a.jsx("p",{className:`font-medium ${q.is_empty?"text-green-400":"text-yellow-400"}`,children:q.is_empty?b("printers.plateDetection.plateEmpty"):b("printers.plateDetection.objectsDetected")}),a.jsxs("p",{className:"text-sm text-bambu-gray mt-1",children:[b("printers.plateDetection.confidence"),": ",Math.round(q.confidence*100),"% | ",b("printers.plateDetection.difference"),": ",q.difference_percent.toFixed(1),"%"]})]}),q.debug_image_url&&a.jsxs("div",{children:[a.jsx("p",{className:"text-sm text-bambu-gray mb-2",children:b("printers.plateDetection.analysisPreview")}),a.jsx("img",{src:q.debug_image_url,alt:b("printers.plateDetection.analysisPreview"),className:"w-full rounded-lg border border-bambu-dark-tertiary"}),a.jsx("p",{className:"text-xs text-bambu-gray mt-2",children:b("printers.plateDetection.analysisLegend")})]}),a.jsx("p",{className:"text-xs text-bambu-gray",children:q.message})]}),xt&&xt.references.length>0&&a.jsxs("div",{className:"mt-4 pt-4 border-t border-bambu-dark-tertiary",children:[a.jsx("p",{className:"text-sm font-medium text-white mb-2",children:b("printers.plateDetection.savedReferences",{count:xt.references.length,max:xt.max_references})}),a.jsx("div",{className:"grid grid-cols-5 gap-2",children:xt.references.map(gt=>a.jsxs("div",{className:"relative group",children:[a.jsx("img",{src:ae.getPlateReferenceThumbnailUrl(t.id,gt.index),alt:gt.label||`Reference ${gt.index+1}`,className:"w-full aspect-video object-cover rounded border border-bambu-dark-tertiary"}),a.jsx("button",{onClick:()=>jn(gt.index),className:"absolute top-1 right-1 p-0.5 bg-red-500/80 rounded opacity-0 group-hover:opacity-100 transition-opacity",title:b("printers.plateDetection.deleteReference"),children:a.jsx(Lt,{className:"w-3 h-3 text-white"})}),Ct?.index===gt.index?a.jsx("input",{type:"text",value:Ct.label,onChange:jt=>It({...Ct,label:jt.target.value}),onBlur:()=>Mn(gt.index,Ct.label),onKeyDown:jt=>{jt.key==="Enter"&&Mn(gt.index,Ct.label),jt.key==="Escape"&&It(null)},className:"w-full mt-1 px-1 py-0.5 text-xs bg-bambu-dark-tertiary border border-bambu-green rounded text-white",autoFocus:!0,placeholder:b("printers.plateDetection.labelPlaceholder")}):a.jsx("p",{className:"text-xs text-bambu-gray mt-1 truncate cursor-pointer hover:text-white",onClick:()=>It({index:gt.index,label:gt.label}),title:gt.label?b("printers.plateDetection.clickToEdit",{label:gt.label}):b("printers.plateDetection.clickToAddLabel"),children:gt.label||a.jsx("span",{className:"italic opacity-50",children:b("printers.noLabel")})}),a.jsx("p",{className:"text-[10px] text-bambu-gray/60",children:gt.timestamp?new Date(gt.timestamp).toLocaleDateString():""})]},gt.index))})]}),!q.needs_calibration&&a.jsxs("div",{className:"mt-4 pt-4 border-t border-bambu-dark-tertiary",children:[a.jsxs("div",{className:"flex items-center justify-between mb-2",children:[a.jsx("p",{className:"text-sm font-medium text-white",children:b("printers.roi.title")}),z?a.jsxs("div",{className:"flex gap-1",children:[a.jsx(Ne,{variant:"ghost",size:"sm",onClick:()=>O(null),disabled:Z,children:b("common.cancel")}),a.jsx(Ne,{size:"sm",onClick:Kt,disabled:Z,children:Z?a.jsx(ct,{className:"w-3 h-3 animate-spin"}):b("common.save")})]}):a.jsxs(Ne,{variant:"ghost",size:"sm",onClick:()=>O(q.roi||{x:.15,y:.35,w:.7,h:.55}),children:[a.jsx(Ji,{className:"w-3 h-3 mr-1"}),b("common.edit")]})]}),z?a.jsxs("div",{className:"space-y-3 bg-bambu-dark-tertiary/50 p-3 rounded-lg",children:[a.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[a.jsxs("div",{children:[a.jsx("label",{className:"text-xs text-bambu-gray",children:b("printers.roi.xStart")}),a.jsx("input",{type:"range",min:"0",max:"0.9",step:"0.01",value:z.x,onChange:gt=>O({...z,x:parseFloat(gt.target.value)}),className:"w-full h-1.5 bg-bambu-dark-tertiary rounded-lg cursor-pointer accent-green-500"}),a.jsxs("span",{className:"text-xs text-bambu-gray",children:[Math.round(z.x*100),"%"]})]}),a.jsxs("div",{children:[a.jsx("label",{className:"text-xs text-bambu-gray",children:b("printers.roi.yStart")}),a.jsx("input",{type:"range",min:"0",max:"0.9",step:"0.01",value:z.y,onChange:gt=>O({...z,y:parseFloat(gt.target.value)}),className:"w-full h-1.5 bg-bambu-dark-tertiary rounded-lg cursor-pointer accent-green-500"}),a.jsxs("span",{className:"text-xs text-bambu-gray",children:[Math.round(z.y*100),"%"]})]}),a.jsxs("div",{children:[a.jsx("label",{className:"text-xs text-bambu-gray",children:b("printers.width")}),a.jsx("input",{type:"range",min:"0.1",max:"1",step:"0.01",value:z.w,onChange:gt=>O({...z,w:parseFloat(gt.target.value)}),className:"w-full h-1.5 bg-bambu-dark-tertiary rounded-lg cursor-pointer accent-green-500"}),a.jsxs("span",{className:"text-xs text-bambu-gray",children:[Math.round(z.w*100),"%"]})]}),a.jsxs("div",{children:[a.jsx("label",{className:"text-xs text-bambu-gray",children:b("printers.height")}),a.jsx("input",{type:"range",min:"0.1",max:"1",step:"0.01",value:z.h,onChange:gt=>O({...z,h:parseFloat(gt.target.value)}),className:"w-full h-1.5 bg-bambu-dark-tertiary rounded-lg cursor-pointer accent-green-500"}),a.jsxs("span",{className:"text-xs text-bambu-gray",children:[Math.round(z.h*100),"%"]})]})]}),a.jsx("p",{className:"text-xs text-bambu-gray",children:b("printers.roi.instruction")})]}):a.jsxs("p",{className:"text-xs text-bambu-gray",children:["Current: X=",Math.round((q.roi?.x||.15)*100),"%, Y=",Math.round((q.roi?.y||.35)*100),"%, W=",Math.round((q.roi?.w||.7)*100),"%, H=",Math.round((q.roi?.h||.55)*100),"%"]})]})]}),a.jsx("div",{className:"flex justify-end gap-2 p-4 border-t border-bambu-dark-tertiary",children:q.needs_calibration?a.jsxs(a.Fragment,{children:[a.jsx(Ne,{variant:"ghost",onClick:()=>Bt(),children:b("common.cancel")}),a.jsx(Ne,{onClick:()=>pn(),disabled:pe,children:pe?a.jsxs(a.Fragment,{children:[a.jsx(ct,{className:"w-4 h-4 mr-2 animate-spin"}),"Calibrating..."]}):"Calibrate Empty Plate"})]}):a.jsxs(a.Fragment,{children:[a.jsx(Ne,{variant:"ghost",onClick:()=>pn(),disabled:pe,children:pe?"Adding...":`Add Reference (${xt?.references.length||0}/${xt?.max_references||5})`}),a.jsx(Ne,{onClick:()=>Bt(),children:"Close"})]})})]})}),$&&Qe&&a.jsx(er,{title:b("printers.confirm.powerOnTitle"),message:b("printers.confirm.powerOnMessage",{name:t.name}),confirmText:b("printers.confirm.powerOnButton"),variant:"default",onConfirm:()=>{kn.mutate("on"),G(!1)},onCancel:()=>G(!1)}),I&&Qe&&a.jsx(er,{title:b("printers.confirm.powerOffTitle"),message:Te?.state==="RUNNING"?b("printers.confirm.powerOffWarning",{name:t.name}):b("printers.confirm.powerOffMessage",{name:t.name}),confirmText:b("printers.confirm.powerOffButton"),variant:"danger",onConfirm:()=>{kn.mutate("off"),K(!1)},onCancel:()=>K(!1)}),B&&a.jsx(er,{title:b("printers.confirm.stopTitle"),message:b("printers.confirm.stopMessage",{name:t.name}),confirmText:b("printers.confirm.stopButton"),variant:"danger",onConfirm:()=>{Ma.mutate(),W(!1)},onCancel:()=>W(!1)}),J&&a.jsx(er,{title:b("printers.confirm.pauseTitle"),message:b("printers.confirm.pauseMessage",{name:t.name}),confirmText:b("printers.confirm.pauseButton"),variant:"default",onConfirm:()=>{De.mutate(),ne(!1)},onCancel:()=>ne(!1)}),me&&a.jsx(er,{title:b("printers.confirm.resumeTitle"),message:b("printers.confirm.resumeMessage",{name:t.name}),confirmText:b("printers.confirm.resumeButton"),variant:"default",onConfirm:()=>{tt.mutate(),fe(!1)},onCancel:()=>fe(!1)}),a.jsx(EO,{printerId:t.id,isOpen:de,onClose:()=>Re(!1)}),Q&&a.jsx(dMe,{printerName:t.name,errors:Te?.hms_errors||[],onClose:()=>oe(!1)}),se&&a.jsx(a8e,{isOpen:!!se,onClose:()=>ke(null),printerId:t.id,printerName:t.name,amsId:se.amsId,amsLabel:se.amsLabel,initialMode:se.mode,thresholds:s}),Fe&&a.jsx(s8e,{isOpen:!!Fe,onClose:()=>ce(null),trayUuid:Fe.trayUuid,trayInfo:Fe.trayInfo}),Ve&&a.jsx(m8e,{isOpen:!!Ve,onClose:()=>V(null),printerId:t.id,slotInfo:Ve,onSuccess:()=>{y.invalidateQueries({queryKey:["slotPresets",t.id]}),y.invalidateQueries({queryKey:["printerStatus",t.id]})}}),C&&a.jsx(P8e,{printer:t,onClose:()=>P(!1)}),Y&&we&&a.jsx(C8e,{printer:t,firmwareInfo:we,onClose:()=>ue(!1)}),Zt&&a.jsx("div",{className:"fixed inset-0 z-40",onClick:()=>cn(null)})]})}function A8e({onClose:t,onAdd:e,existingSerials:n}){const{t:r}=Yt(),[i,s]=_.useState({name:"",serial_number:"",ip_address:"",access_code:"",model:"",location:"",auto_archive:!0}),[o,l]=_.useState(!1),[c,u]=_.useState([]),[d,h]=_.useState(""),[p,m]=_.useState(!1),[b,y]=_.useState(!1),[x,v]=_.useState([]),[S,N]=_.useState(""),[T,M]=_.useState({scanned:0,total:0});_.useEffect(()=>{Xl.getInfo().then(P=>{y(P.is_docker),P.subnets.length>0&&(v(P.subnets),N(P.subnets[0]))}).catch(()=>{})},[]);const A=c.filter(P=>!n.includes(P.serial)),k=async()=>{h(""),u([]),l(!0),m(!1),M({scanned:0,total:0});try{if(b){await Xl.startSubnetScan(S);const P=setInterval(async()=>{try{const U=await Xl.getScanStatus();M({scanned:U.scanned,total:U.total});const F=await Xl.getDiscoveredPrinters();u(F),U.running||(clearInterval(P),l(!1),m(!0))}catch(U){console.error("Failed to get scan status:",U)}},500)}else{await Xl.startDiscovery(10);const P=setInterval(async()=>{try{const U=await Xl.getDiscoveredPrinters();u(U)}catch(U){console.error("Failed to get discovered printers:",U)}},1e3);setTimeout(async()=>{clearInterval(P);try{await Xl.stopDiscovery()}catch{}l(!1),m(!0);try{const U=await Xl.getDiscoveredPrinters();u(U)}catch(U){console.error("Failed to get final discovered printers:",U)}},1e4)}}catch(P){console.error("Failed to start discovery:",P),h(P instanceof Error?P.message:r("printers.discovery.failedToStart")),l(!1),m(!0)}},R=P=>P?{O1D:"H2D",O1E:"H2D Pro",O2D:"H2D Pro",O1C:"H2C",O1S:"H2S","BL-P001":"X1C","BL-P002":"X1","BL-P003":"X1E",C11:"P1S",C12:"P1P",C13:"P2S",N2S:"A1",N1:"A1 Mini",X1C:"X1C",X1:"X1",X1E:"X1E",P1S:"P1S",P1P:"P1P",P2S:"P2S",A1:"A1","A1 Mini":"A1 Mini",H2D:"H2D","H2D Pro":"H2D Pro",H2C:"H2C",H2S:"H2S"}[P]||P:"",C=P=>{const U=P.serial.startsWith("unknown-")?"":P.serial;s({...i,name:P.name||"",serial_number:U,ip_address:P.ip_address,model:R(P.model)}),u([])};return _.useEffect(()=>()=>{Xl.stopDiscovery().catch(()=>{}),Xl.stopSubnetScan().catch(()=>{})},[]),_.useEffect(()=>{const P=U=>{U.key==="Escape"&&t()};return window.addEventListener("keydown",P),()=>window.removeEventListener("keydown",P)},[t]),a.jsx("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50",onClick:t,children:a.jsx(St,{className:"w-full max-w-md",onClick:P=>P.stopPropagation(),children:a.jsxs(Et,{children:[a.jsx("h2",{className:"text-xl font-semibold mb-4",children:r("printers.addPrinter")}),a.jsxs("div",{className:"mb-4 pb-4 border-b border-bambu-dark-tertiary",children:[b&&a.jsxs("div",{className:"mb-3",children:[a.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:r("printers.discovery.subnetToScan")}),x.length>0?a.jsx("select",{className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none text-sm",value:S,onChange:P=>N(P.target.value),disabled:o,children:x.map(P=>a.jsx("option",{value:P,children:P},P))}):a.jsx("input",{type:"text",className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none text-sm",value:S,onChange:P=>N(P.target.value),placeholder:"192.168.1.0/24",disabled:o}),a.jsx("p",{className:"mt-1 text-xs text-bambu-gray",children:r("printers.discovery.dockerNote")})]}),a.jsx(Ne,{type:"button",variant:"secondary",onClick:k,disabled:o,className:"w-full",children:o?a.jsxs(a.Fragment,{children:[a.jsx(ct,{className:"w-4 h-4 animate-spin"}),b&&T.total>0?r("printers.discovery.scanProgress",{scanned:T.scanned,total:T.total}):r("printers.discovery.scanning")]}):a.jsxs(a.Fragment,{children:[a.jsx(Qi,{className:"w-4 h-4"}),r(b?"printers.discovery.scanSubnet":"printers.discovery.discoverNetwork")]})}),d&&a.jsx("div",{className:"mt-2 text-sm text-red-400",children:d}),A.length>0&&a.jsx("div",{className:"mt-3 space-y-2 max-h-40 overflow-y-auto",children:A.map(P=>a.jsxs("div",{className:"flex items-center justify-between p-2 bg-bambu-dark rounded-lg hover:bg-bambu-dark-secondary cursor-pointer transition-colors",onClick:()=>C(P),children:[a.jsxs("div",{className:"min-w-0 flex-1",children:[a.jsx("p",{className:"font-medium text-white text-sm truncate",children:P.name||P.serial}),a.jsxs("p",{className:"text-xs text-bambu-gray truncate",children:[R(P.model)||r("printers.discovery.unknown")," • ",P.ip_address,P.serial.startsWith("unknown-")&&a.jsxs("span",{className:"text-yellow-500",children:[" • ",r("printers.discovery.serialRequired")]})]})]}),a.jsx(fr,{className:"w-4 h-4 text-bambu-gray -rotate-90 flex-shrink-0 ml-2"})]},P.serial))}),o&&a.jsx("p",{className:"mt-2 text-sm text-bambu-gray text-center",children:r(b?"printers.discovery.scanningSubnet":"printers.discovery.scanningNetwork")}),p&&!o&&c.length===0&&a.jsx("p",{className:"mt-2 text-sm text-bambu-gray text-center",children:r(b?"printers.discovery.noPrintersFoundSubnet":"printers.discovery.noPrintersFoundNetwork")}),p&&!o&&c.length>0&&A.length===0&&a.jsx("p",{className:"mt-2 text-sm text-bambu-gray text-center",children:r("printers.discovery.allConfigured")})]}),a.jsxs("form",{onSubmit:P=>{P.preventDefault(),e(i)},className:"space-y-4",children:[a.jsxs("div",{children:[a.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:r("printers.name")}),a.jsx("input",{type:"text",required:!0,className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",value:i.name,onChange:P=>s({...i,name:P.target.value}),placeholder:r("printers.modal.myPrinter")})]}),a.jsxs("div",{children:[a.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:r("printers.ipAddress")}),a.jsx("input",{type:"text",required:!0,pattern:"(\\d{1,3}(\\.\\d{1,3}){3}|[a-zA-Z0-9]([a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])?(\\.[a-zA-Z0-9]([a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])?)*)",className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",value:i.ip_address,onChange:P=>s({...i,ip_address:P.target.value}),placeholder:"192.168.1.100 or printer.local"})]}),a.jsxs("div",{children:[a.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:r("printers.serialNumber")}),a.jsx("input",{type:"text",required:!0,className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",value:i.serial_number,onChange:P=>s({...i,serial_number:P.target.value}),placeholder:"01P00A000000000"})]}),a.jsxs("div",{children:[a.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:r("printers.accessCode")}),a.jsx("input",{type:"password",required:!0,className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",value:i.access_code,onChange:P=>s({...i,access_code:P.target.value}),placeholder:r("printers.modal.fromPrinterSettings")})]}),a.jsxs("div",{children:[a.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:r("printers.modal.modelOptional")}),a.jsxs("select",{className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",value:i.model||"",onChange:P=>s({...i,model:P.target.value}),children:[a.jsx("option",{value:"",children:r("printers.modal.selectModel")}),a.jsxs("optgroup",{label:"H2 Series",children:[a.jsx("option",{value:"H2C",children:"H2C"}),a.jsx("option",{value:"H2D",children:"H2D"}),a.jsx("option",{value:"H2D Pro",children:"H2D Pro"}),a.jsx("option",{value:"H2S",children:"H2S"})]}),a.jsxs("optgroup",{label:"X1 Series",children:[a.jsx("option",{value:"X1E",children:"X1E"}),a.jsx("option",{value:"X1C",children:"X1 Carbon"}),a.jsx("option",{value:"X1",children:"X1"})]}),a.jsxs("optgroup",{label:"P Series",children:[a.jsx("option",{value:"P2S",children:"P2S"}),a.jsx("option",{value:"P1S",children:"P1S"}),a.jsx("option",{value:"P1P",children:"P1P"})]}),a.jsxs("optgroup",{label:"A1 Series",children:[a.jsx("option",{value:"A1",children:"A1"}),a.jsx("option",{value:"A1 Mini",children:"A1 Mini"})]})]})]}),a.jsxs("div",{children:[a.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:r("printers.modal.locationGroup")}),a.jsx("input",{type:"text",className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",value:i.location||"",onChange:P=>s({...i,location:P.target.value}),placeholder:r("printers.modal.locationPlaceholder")}),a.jsx("p",{className:"text-xs text-bambu-gray mt-1",children:r("printers.locationHelp")})]}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("input",{type:"checkbox",id:"auto_archive",checked:i.auto_archive,onChange:P=>s({...i,auto_archive:P.target.checked}),className:"rounded border-bambu-dark-tertiary bg-bambu-dark text-bambu-green focus:ring-bambu-green"}),a.jsx("label",{htmlFor:"auto_archive",className:"text-sm text-bambu-gray",children:r("printers.modal.autoArchiveLabel")})]}),a.jsxs("div",{className:"flex gap-3 pt-4",children:[a.jsx(Ne,{type:"button",variant:"secondary",onClick:t,className:"flex-1",children:r("common.cancel")}),a.jsx(Ne,{type:"submit",className:"flex-1",children:r("printers.addPrinter")})]})]})]})})})}function C8e({printer:t,firmwareInfo:e,onClose:n}){const{t:r}=Yt(),i=an(),{showToast:s}=Tn(),{hasPermission:o}=Ir(),l=o("firmware:update"),[c,u]=_.useState(null),[d,h]=_.useState(!1),[p,m]=_.useState(null),{data:b,isLoading:y}=it({queryKey:["firmwarePrepare",t.id],queryFn:()=>N1.prepareUpload(t.id),staleTime:3e4,enabled:e.update_available&&l}),x=dt({mutationFn:()=>N1.startUpload(t.id),onSuccess:()=>{h(!0);const S=setInterval(async()=>{try{const N=await N1.getUploadStatus(t.id);u(N),(N.status==="complete"||N.status==="error")&&(clearInterval(S),m(null),h(!1),N.status==="complete"&&(s(r("printers.firmwareModal.uploadedToast"),"success"),i.invalidateQueries({queryKey:["firmwareUpdate",t.id]})))}catch{}},2e3);m(S)},onError:S=>{s(r("printers.firmwareModal.uploadFailed",{error:S.message}),"error"),h(!1)}});_.useEffect(()=>()=>{p&&clearInterval(p)},[p]);const v=()=>{u(null),x.mutate()};return a.jsx("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50",children:a.jsx(St,{className:"w-full max-w-md mx-4",children:a.jsxs(Et,{children:[a.jsxs("div",{className:"flex items-start gap-3 mb-4",children:[a.jsx("div",{className:`p-2 rounded-full ${e.update_available?"bg-orange-500/20":"bg-status-ok/20"}`,children:e.update_available?a.jsx(wi,{className:"w-5 h-5 text-orange-400"}):a.jsx(mr,{className:"w-5 h-5 text-status-ok"})}),a.jsxs("div",{className:"flex-1",children:[a.jsx("h3",{className:"text-lg font-semibold text-white",children:e.update_available?r("printers.firmwareModal.title"):r("printers.firmwareModal.titleUpToDate")}),a.jsx("p",{className:"text-sm text-bambu-gray mt-1",children:t.name})]})]}),a.jsxs("div",{className:"bg-bambu-dark rounded-lg p-3 mb-4",children:[a.jsxs("div",{className:"flex justify-between items-center text-sm",children:[a.jsx("span",{className:"text-bambu-gray",children:r("printers.firmwareModal.currentVersion")}),a.jsx("span",{className:`font-mono ${e.update_available?"text-white":"text-status-ok"}`,children:e.current_version||r("common.unknown")})]}),e.update_available&&a.jsxs("div",{className:"flex justify-between items-center text-sm mt-1",children:[a.jsx("span",{className:"text-bambu-gray",children:r("printers.firmwareModal.latestVersion")}),a.jsx("span",{className:"text-orange-400 font-mono",children:e.latest_version})]}),e.release_notes&&a.jsxs("details",{className:"mt-3 text-sm",open:!e.update_available,children:[a.jsx("summary",{className:`cursor-pointer hover:underline ${e.update_available?"text-orange-400":"text-status-ok"}`,children:r("printers.firmwareModal.releaseNotes")}),a.jsx("div",{className:"mt-2 text-bambu-gray text-xs max-h-40 overflow-y-auto whitespace-pre-wrap",children:e.release_notes})]})]}),e.update_available?y?a.jsxs("div",{className:"flex items-center gap-2 text-bambu-gray text-sm mb-4",children:[a.jsx(ct,{className:"w-4 h-4 animate-spin"}),r("printers.firmwareModal.checkingPrereqs")]}):b&&!d&&!c?a.jsx("div",{className:"mb-4",children:b.can_proceed?a.jsxs("div",{className:"flex items-center gap-2 text-bambu-green text-sm",children:[a.jsx(Ii,{className:"w-4 h-4"}),r("printers.firmwareModal.sdCardReady")]}):a.jsx("div",{className:"space-y-1",children:b.errors.map((S,N)=>a.jsxs("div",{className:"flex items-center gap-2 text-red-400 text-sm",children:[a.jsx(Ti,{className:"w-4 h-4 flex-shrink-0"}),S]},N))})}):null:null,(d||c)&&c&&a.jsxs("div",{className:"mb-4",children:[a.jsxs("div",{className:"flex items-center justify-between text-sm mb-1",children:[a.jsx("span",{className:"text-bambu-gray capitalize",children:c.status}),a.jsxs("span",{className:"text-white",children:[c.progress,"%"]})]}),a.jsx("div",{className:"w-full bg-bambu-dark-tertiary rounded-full h-2",children:a.jsx("div",{className:`h-2 rounded-full transition-all ${c.status==="error"?"bg-status-error":c.status==="complete"?"bg-status-ok":"bg-orange-500"} ${c.status==="uploading"?"animate-pulse":""}`,style:{width:`${c.progress}%`}})}),a.jsx("p",{className:"text-xs text-bambu-gray mt-1",children:c.message}),c.error&&a.jsx("p",{className:"text-xs text-red-400 mt-1",children:c.error})]}),c?.status==="complete"&&a.jsxs("div",{className:"bg-bambu-green/10 border border-bambu-green/30 rounded-lg p-3 mb-4",children:[a.jsx("p",{className:"text-sm text-bambu-green font-medium mb-2",children:r("printers.firmwareModal.uploadedSuccess")}),a.jsx("p",{className:"text-xs text-bambu-gray",children:r("printers.firmwareModal.applyInstructions")}),a.jsxs("ol",{className:"text-xs text-bambu-gray mt-1 list-decimal list-inside space-y-1",children:[a.jsx("li",{dangerouslySetInnerHTML:{__html:r("printers.firmwareModal.step1")}}),a.jsx("li",{dangerouslySetInnerHTML:{__html:r("printers.firmwareModal.step2")}}),a.jsx("li",{dangerouslySetInnerHTML:{__html:r("printers.firmwareModal.step3")}}),a.jsx("li",{children:r("printers.firmwareModal.step4")})]})]}),a.jsxs("div",{className:"flex gap-2 justify-end",children:[a.jsx(Ne,{variant:"secondary",onClick:n,children:c?.status==="complete"?r("printers.firmwareModal.done"):r("common.cancel")}),b?.can_proceed&&!d&&c?.status!=="complete"&&l&&a.jsx(Ne,{onClick:v,disabled:x.isPending,children:x.isPending?a.jsxs(a.Fragment,{children:[a.jsx(ct,{className:"w-4 h-4 animate-spin mr-2"}),r("printers.firmwareModal.starting")]}):a.jsxs(a.Fragment,{children:[a.jsx(wi,{className:"w-4 h-4 mr-2"}),r("printers.firmwareModal.uploadFirmware")]})})]})]})})})}function P8e({printer:t,onClose:e}){const{t:n}=Yt(),r=an(),{showToast:i}=Tn(),[s,o]=_.useState({name:t.name,ip_address:t.ip_address,access_code:"",model:t.model||"",location:t.location||"",auto_archive:t.auto_archive}),l=dt({mutationFn:u=>ae.updatePrinter(t.id,u),onSuccess:()=>{r.invalidateQueries({queryKey:["printers"]}),r.invalidateQueries({queryKey:["printerStatus",t.id]}),e()},onError:u=>i(u.message||n("printers.toast.failedToUpdate"),"error")});_.useEffect(()=>{const u=d=>{d.key==="Escape"&&e()};return window.addEventListener("keydown",u),()=>window.removeEventListener("keydown",u)},[e]);const c=u=>{u.preventDefault();const d={name:s.name,ip_address:s.ip_address,model:s.model||void 0,location:s.location||void 0,auto_archive:s.auto_archive};s.access_code&&(d.access_code=s.access_code),l.mutate(d)};return a.jsx("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50",onClick:e,children:a.jsx(St,{className:"w-full max-w-md",onClick:u=>u.stopPropagation(),children:a.jsxs(Et,{children:[a.jsx("h2",{className:"text-xl font-semibold mb-4",children:n("printers.editPrinter")}),a.jsxs("form",{onSubmit:c,className:"space-y-4",children:[a.jsxs("div",{children:[a.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:n("printers.name")}),a.jsx("input",{type:"text",required:!0,className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",value:s.name,onChange:u=>o({...s,name:u.target.value}),placeholder:n("printers.modal.myPrinter")})]}),a.jsxs("div",{children:[a.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:n("printers.ipAddress")}),a.jsx("input",{type:"text",required:!0,pattern:"(\\d{1,3}(\\.\\d{1,3}){3}|[a-zA-Z0-9]([a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])?(\\.[a-zA-Z0-9]([a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])?)*)",className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",value:s.ip_address,onChange:u=>o({...s,ip_address:u.target.value}),placeholder:"192.168.1.100 or printer.local"})]}),a.jsxs("div",{children:[a.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:n("printers.serialNumber")}),a.jsx("input",{type:"text",disabled:!0,className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-bambu-gray cursor-not-allowed",value:t.serial_number}),a.jsx("p",{className:"text-xs text-bambu-gray mt-1",children:n("printers.serialCannotBeChanged")})]}),a.jsxs("div",{children:[a.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:n("printers.accessCode")}),a.jsx("input",{type:"password",className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",value:s.access_code,onChange:u=>o({...s,access_code:u.target.value}),placeholder:n("printers.accessCodePlaceholder")})]}),a.jsxs("div",{children:[a.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:n("printers.model")}),a.jsxs("select",{className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",value:s.model,onChange:u=>o({...s,model:u.target.value}),children:[a.jsx("option",{value:"",children:n("printers.modal.selectModel")}),a.jsxs("optgroup",{label:"H2 Series",children:[a.jsx("option",{value:"H2C",children:"H2C"}),a.jsx("option",{value:"H2D",children:"H2D"}),a.jsx("option",{value:"H2D Pro",children:"H2D Pro"}),a.jsx("option",{value:"H2S",children:"H2S"})]}),a.jsxs("optgroup",{label:"X1 Series",children:[a.jsx("option",{value:"X1E",children:"X1E"}),a.jsx("option",{value:"X1C",children:"X1 Carbon"}),a.jsx("option",{value:"X1",children:"X1"})]}),a.jsxs("optgroup",{label:"P Series",children:[a.jsx("option",{value:"P2S",children:"P2S"}),a.jsx("option",{value:"P1S",children:"P1S"}),a.jsx("option",{value:"P1P",children:"P1P"})]}),a.jsxs("optgroup",{label:"A1 Series",children:[a.jsx("option",{value:"A1",children:"A1"}),a.jsx("option",{value:"A1 Mini",children:"A1 Mini"})]})]})]}),a.jsxs("div",{children:[a.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Location / Group"}),a.jsx("input",{type:"text",className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",value:s.location,onChange:u=>o({...s,location:u.target.value}),placeholder:n("printers.modal.locationPlaceholder")}),a.jsx("p",{className:"text-xs text-bambu-gray mt-1",children:n("printers.locationHelp")})]}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("input",{type:"checkbox",id:"edit_auto_archive",checked:s.auto_archive,onChange:u=>o({...s,auto_archive:u.target.checked}),className:"rounded border-bambu-dark-tertiary bg-bambu-dark text-bambu-green focus:ring-bambu-green"}),a.jsx("label",{htmlFor:"edit_auto_archive",className:"text-sm text-bambu-gray",children:n("printers.modal.autoArchiveLabel")})]}),a.jsxs("div",{className:"flex gap-3 pt-4",children:[a.jsx(Ne,{type:"button",variant:"secondary",onClick:e,className:"flex-1",children:n("common.cancel")}),a.jsx(Ne,{type:"submit",className:"flex-1",disabled:l.isPending,children:l.isPending?n("common.saving"):n("printers.modal.saveChanges")})]})]})]})})})}function j8e(t){const{data:e}=it({queryKey:["printerStatus",t],queryFn:()=>ae.getPrinterStatus(t),refetchInterval:3e4});return!e?.connected}function D8e({printer:t,plug:e,onPowerOn:n,isPowering:r}){const i=j8e(t.id),{data:s}=it({queryKey:["smartPlugStatus",e.id],queryFn:()=>ae.getSmartPlugStatus(e.id),refetchInterval:1e4});return i?a.jsxs("div",{className:"flex items-center justify-between px-3 py-2 hover:bg-gray-100 dark:hover:bg-bambu-dark-tertiary",children:[a.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[a.jsx("span",{className:"text-sm text-gray-900 dark:text-white truncate",children:t.name}),s&&a.jsx("span",{className:`text-xs px-1.5 py-0.5 rounded ${s.state==="ON"?"bg-bambu-green/20 text-bambu-green":"bg-red-500/20 text-red-400"}`,children:s.state||"?"})]}),a.jsxs("button",{onClick:()=>n(e.id),disabled:r||s?.state==="ON",className:`px-2 py-1 text-xs rounded transition-colors flex items-center gap-1 ${s?.state==="ON"?"bg-bambu-green/20 text-bambu-green cursor-default":"bg-bambu-green/20 text-bambu-green hover:bg-bambu-green hover:text-white"}`,children:[a.jsx(Ju,{className:"w-3 h-3"}),r?"...":"On"]})]}):null}function R8e(){const{t}=Yt(),[e,n]=_.useState(!1),[r,i]=_.useState(()=>localStorage.getItem("hideDisconnectedPrinters")==="true"),[s,o]=_.useState(!1),[l,c]=_.useState(null),[u,d]=_.useState(()=>localStorage.getItem("printerSortBy")||"name"),[h,p]=_.useState(()=>localStorage.getItem("printerSortAsc")!=="false"),[m,b]=_.useState(()=>{const de=localStorage.getItem("printerCardSize");return de?parseInt(de,10):2}),y=m===1?"compact":"expanded",x=an(),{showToast:v}=Tn(),{hasPermission:S}=Ir(),[N,T]=_.useState(()=>{const de=localStorage.getItem("openEmbeddedCameras");if(de)try{const Re=JSON.parse(de);return new Map(Re.map(se=>[se.id,se]))}catch{return new Map}return new Map});_.useEffect(()=>{const de=Array.from(N.values());de.length>0?localStorage.setItem("openEmbeddedCameras",JSON.stringify(de)):localStorage.removeItem("openEmbeddedCameras")},[N]);const{data:M,isLoading:A}=it({queryKey:["printers"],queryFn:ae.getPrinters}),{data:k}=it({queryKey:["settings"],queryFn:ae.getSettings});_.useEffect(()=>{k?.camera_view_mode==="window"&&N.size>0&&T(new Map)},[k?.camera_view_mode,N.size]);const{data:R}=it({queryKey:["smart-plugs"],queryFn:ae.getSmartPlugs}),{data:C}=it({queryKey:["maintenanceOverview"],queryFn:ae.getMaintenanceOverview,staleTime:60*1e3}),{data:P}=it({queryKey:["spoolman-status"],queryFn:ae.getSpoolmanStatus,staleTime:60*1e3}),U=P?.enabled&&P?.connected,{data:F}=it({queryKey:["unlinked-spools"],queryFn:ae.getUnlinkedSpools,enabled:!!U,staleTime:30*1e3}),H=F&&F.length>0,{data:D}=it({queryKey:["linked-spools"],queryFn:ae.getLinkedSpools,enabled:!!U,staleTime:30*1e3}),$=D?.linked,G=C?.reduce((de,Re)=>(de[Re.printer_id]={due_count:Re.due_count,warning_count:Re.warning_count,total_print_hours:Re.total_print_hours},de),{})||{},I=R?.reduce((de,Re)=>(Re.printer_id&&(de[Re.printer_id]=Re),de),{})||{},K=dt({mutationFn:ae.createPrinter,onSuccess:()=>{x.invalidateQueries({queryKey:["printers"]}),x.invalidateQueries({queryKey:["maintenanceOverview"]}),n(!1)},onError:de=>v(de.message||t("printers.toast.failedToAdd"),"error")}),Q=dt({mutationFn:de=>ae.controlSmartPlug(de,"on"),onSuccess:()=>{x.invalidateQueries({queryKey:["smart-plugs"]}),c(null)},onError:()=>{c(null)}}),oe=()=>{const de=!r;i(de),localStorage.setItem("hideDisconnectedPrinters",String(de))},B=de=>{d(de),localStorage.setItem("printerSortBy",de)},W=()=>{const de=!h;p(de),localStorage.setItem("printerSortAsc",String(de))},J=()=>{switch(m){case 1:return"grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 xl:grid-cols-5";case 2:return"grid-cols-1 md:grid-cols-2 xl:grid-cols-3";case 3:return"grid-cols-1 lg:grid-cols-2";case 4:return"grid-cols-1";default:return"grid-cols-1 md:grid-cols-2 xl:grid-cols-3"}},ne=["S","M","L","XL"],me=_.useMemo(()=>{if(!M)return[];const de=[...M];switch(u){case"name":de.sort((Re,se)=>Re.name.localeCompare(se.name));break;case"model":de.sort((Re,se)=>(Re.model||"").localeCompare(se.model||""));break;case"location":de.sort((Re,se)=>{const ke=Re.location||"",Fe=se.location||"";return!ke&&Fe?1:ke&&!Fe?-1:ke.localeCompare(Fe)||Re.name.localeCompare(se.name)});break;case"status":de.sort((Re,se)=>{const ke=x.getQueryData(["printerStatus",Re.id]),Fe=x.getQueryData(["printerStatus",se.id]),ce=Ve=>Ve?.connected?Ve.state==="RUNNING"?0:1:2;return ce(ke)-ce(Fe)});break}return h||de.reverse(),de},[M,u,h,x]),fe=_.useMemo(()=>{if(u!=="location")return null;const de={};return me.forEach(Re=>{const se=Re.location||"Ungrouped";de[se]||(de[se]=[]),de[se].push(Re)}),de},[u,me]);return a.jsxs("div",{className:"p-4 md:p-8",children:[a.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4 mb-6",children:[a.jsxs("div",{children:[a.jsx("h1",{className:"text-2xl font-bold text-white",children:t("printers.title")}),a.jsx(T8e,{printers:M})]}),a.jsxs("div",{className:"flex items-center gap-2 sm:gap-3 flex-wrap",children:[a.jsxs("div",{className:"flex items-center gap-1",children:[a.jsxs("select",{value:u,onChange:de=>B(de.target.value),className:"text-sm bg-bambu-dark border border-bambu-dark-tertiary rounded-lg px-2 py-1.5 text-white focus:border-bambu-green focus:outline-none",children:[a.jsx("option",{value:"name",children:t("printers.sort.name")}),a.jsx("option",{value:"status",children:t("printers.sort.status")}),a.jsx("option",{value:"model",children:t("printers.sort.model")}),a.jsx("option",{value:"location",children:t("printers.sort.location")})]}),a.jsx("button",{onClick:W,className:"p-1.5 rounded-lg hover:bg-bambu-dark-tertiary transition-colors",title:t(h?"printers.sort.descending":"printers.sort.ascending"),children:h?a.jsx(Hg,{className:"w-4 h-4 text-bambu-gray"}):a.jsx(X0,{className:"w-4 h-4 text-bambu-gray"})})]}),a.jsx("div",{className:"flex items-center bg-bambu-dark rounded-lg border border-bambu-dark-tertiary",children:ne.map((de,Re)=>{const se=Re+1,ke=m===se;return a.jsx("button",{onClick:()=>{b(se),localStorage.setItem("printerCardSize",String(se))},className:`px-2 py-1.5 text-xs font-medium transition-colors ${Re===0?"rounded-l-lg":""} ${Re===ne.length-1?"rounded-r-lg":""} ${ke?"bg-bambu-green text-white":"text-bambu-gray hover:bg-bambu-dark-tertiary hover:text-white"}`,title:t(de==="S"?"printers.cardSize.small":de==="M"?"printers.cardSize.medium":de==="L"?"printers.cardSize.large":"printers.cardSize.extraLarge"),children:de},de)})}),a.jsx("div",{className:"w-px h-6 bg-bambu-dark-tertiary"}),a.jsxs("label",{className:"flex items-center gap-2 text-sm text-bambu-gray cursor-pointer",children:[a.jsx("input",{type:"checkbox",checked:r,onChange:oe,className:"rounded border-bambu-dark-tertiary bg-bambu-dark text-bambu-green focus:ring-bambu-green"}),t("printers.hideOffline")]}),r&&Object.keys(I).length>0&&a.jsxs("div",{className:"relative",children:[a.jsxs("button",{onClick:()=>o(!s),className:"flex items-center gap-1.5 px-3 py-1.5 text-sm bg-white dark:bg-bambu-dark-secondary border border-gray-200 dark:border-bambu-dark-tertiary rounded-lg text-gray-600 dark:text-bambu-gray hover:text-gray-900 dark:hover:text-white hover:border-bambu-green transition-colors",children:[a.jsx(Ju,{className:"w-4 h-4"}),t("printers.powerOn"),a.jsx(fr,{className:`w-3 h-3 transition-transform ${s?"rotate-180":""}`})]}),s&&a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"fixed inset-0 z-10",onClick:()=>o(!1)}),a.jsxs("div",{className:"absolute right-0 mt-2 w-56 bg-white dark:bg-bambu-dark-secondary border border-gray-200 dark:border-bambu-dark-tertiary rounded-lg shadow-lg z-20 py-1",children:[a.jsx("div",{className:"px-3 py-2 text-xs text-gray-500 dark:text-bambu-gray border-b border-gray-200 dark:border-bambu-dark-tertiary",children:t("printers.offlinePrintersWithPlugs")}),M?.filter(de=>I[de.id]).map(de=>a.jsx(D8e,{printer:de,plug:I[de.id],onPowerOn:Re=>{c(Re),Q.mutate(Re)},isPowering:l===I[de.id]?.id},de.id)),M?.filter(de=>I[de.id]).length===0&&a.jsx("div",{className:"px-3 py-2 text-sm text-bambu-gray",children:"No printers with smart plugs"})]})]})]}),a.jsxs(Ne,{onClick:()=>n(!0),disabled:!S("printers:create"),title:S("printers:create")?void 0:t("printers.permission.noAdd"),children:[a.jsx(cr,{className:"w-4 h-4"}),t("printers.addPrinter")]})]})]}),A?a.jsx("div",{className:"text-center py-12 text-bambu-gray",children:t("common.loading")}):M?.length===0?a.jsx(St,{children:a.jsxs(Et,{className:"text-center py-12",children:[a.jsx("p",{className:"text-bambu-gray mb-4",children:t("printers.noPrintersConfigured")}),a.jsxs(Ne,{onClick:()=>n(!0),disabled:!S("printers:create"),title:S("printers:create")?void 0:t("printers.permission.noAdd"),children:[a.jsx(cr,{className:"w-4 h-4"}),t("printers.addPrinter")]})]})}):fe?a.jsx("div",{className:"space-y-6",children:Object.entries(fe).map(([de,Re])=>a.jsxs("div",{children:[a.jsxs("h2",{className:"text-lg font-semibold text-white mb-3 flex items-center gap-2",children:[a.jsx("span",{className:"w-2 h-2 rounded-full bg-bambu-green"}),de,a.jsxs("span",{className:"text-sm font-normal text-bambu-gray",children:["(",Re.length,")"]})]}),a.jsx("div",{className:`grid gap-4 ${m>=3?"gap-6":""} ${J()}`,children:Re.map(se=>a.jsx(Vq,{printer:se,hideIfDisconnected:r,maintenanceInfo:G[se.id],viewMode:y,cardSize:m,amsThresholds:k?{humidityGood:Number(k.ams_humidity_good)||40,humidityFair:Number(k.ams_humidity_fair)||60,tempGood:Number(k.ams_temp_good)||28,tempFair:Number(k.ams_temp_fair)||35}:void 0,spoolmanEnabled:U,hasUnlinkedSpools:H,linkedSpools:$,spoolmanUrl:P?.url,timeFormat:k?.time_format||"system",cameraViewMode:k?.camera_view_mode||"window",onOpenEmbeddedCamera:(ke,Fe)=>T(ce=>new Map(ce).set(ke,{id:ke,name:Fe})),checkPrinterFirmware:k?.check_printer_firmware!==!1},se.id))})]},de))}):a.jsx("div",{className:`grid gap-4 ${m>=3?"gap-6":""} ${J()}`,children:me.map(de=>a.jsx(Vq,{printer:de,hideIfDisconnected:r,maintenanceInfo:G[de.id],viewMode:y,cardSize:m,spoolmanEnabled:U,hasUnlinkedSpools:H,linkedSpools:$,spoolmanUrl:P?.url,amsThresholds:k?{humidityGood:Number(k.ams_humidity_good)||40,humidityFair:Number(k.ams_humidity_fair)||60,tempGood:Number(k.ams_temp_good)||28,tempFair:Number(k.ams_temp_fair)||35}:void 0,timeFormat:k?.time_format||"system",cameraViewMode:k?.camera_view_mode||"window",onOpenEmbeddedCamera:(Re,se)=>T(ke=>new Map(ke).set(Re,{id:Re,name:se})),checkPrinterFirmware:k?.check_printer_firmware!==!1},de.id))}),e&&a.jsx(A8e,{onClose:()=>n(!1),onAdd:de=>K.mutate(de),existingSerials:M?.map(de=>de.serial_number)||[]}),Array.from(N.values()).map((de,Re)=>a.jsx(sMe,{printerId:de.id,printerName:de.name,viewerIndex:Re,onClose:()=>T(se=>{const ke=new Map(se);return ke.delete(de.id),ke})},de.id))]})}function O8e(){const t=navigator.userAgent.toLowerCase(),e=navigator.platform?.toLowerCase()||"";return t.includes("win")||e.includes("win")?"windows":t.includes("mac")||e.includes("mac")?"macos":t.includes("linux")||e.includes("linux")?"linux":"unknown"}function sc(t,e="bambu_studio"){let n;e==="orcaslicer"?n=`orcaslicer://open?file=${t}`:n=`${O8e()==="windows"?"bambustudio":"bambustudioopen"}://${encodeURIComponent(t)}`;const r=document.createElement("a");r.href=n,r.style.display="none",document.body.appendChild(r),r.click(),document.body.removeChild(r)}function C4({archiveId:t,libraryFileId:e,title:n,fileType:r,onClose:i}){const{t:s}=Yt(),{data:o}=it({queryKey:["settings"],queryFn:ae.getSettings}),l=o?.preferred_slicer||"bambu_studio",c=e!=null,[u,d]=_.useState(null),[h,p]=_.useState(null),[m,b]=_.useState(!0),[y,x]=_.useState(null),[v,S]=_.useState(!1),[N,T]=_.useState(null),[M,A]=_.useState(0),[k,R]=_.useState(!1),[C,P]=_.useState(null),[U,F]=_.useState(!1),[H,D]=_.useState(!1),$=_.useRef(null),G=_.useRef(null),I=10,K=160,Q=240,oe=.35;_.useEffect(()=>{const pe=ee=>{ee.key==="Escape"&&i()};return window.addEventListener("keydown",pe),()=>window.removeEventListener("keydown",pe)},[i]),_.useEffect(()=>{if(b(!0),c){const pe=(r||"").toLowerCase(),ee=pe==="3mf"||pe==="stl",z=pe==="gcode"||pe==="3mf";p({has_model:ee,has_gcode:z,has_source:!1,build_volume:{x:256,y:256,z:256},filament_colors:[]}),d(ee?"3d":z?"gcode":null),b(!1);return}if(!t){p(null),d(null),b(!1);return}ae.getArchiveCapabilities(t).then(pe=>{p(pe),pe.has_model?d("3d"):pe.has_gcode&&d("gcode"),b(!1)}).catch(()=>{p({has_model:!0,has_gcode:!1,has_source:!1,build_volume:{x:256,y:256,z:256},filament_colors:[]}),d("3d"),b(!1)})},[t,r,c]),_.useEffect(()=>{if(S(!0),T(null),A(0),c){const pe=(r||"").toLowerCase();if(!e||pe!=="3mf"){x(null),S(!1);return}ae.getLibraryFilePlates(e).then(ee=>x(ee)).catch(()=>x(null)).finally(()=>S(!1));return}if(!t){x(null),S(!1);return}ae.getArchivePlates(t).then(pe=>x(pe)).catch(()=>x(null)).finally(()=>S(!1))},[t,r,c,e]);const B=_.useMemo(()=>y?.plates??[],[y]),W=(y?.is_multi_plate??!1)&&B.length>1,J=k&&W,ne=N==null?null:B.find(pe=>pe.index===N)??null,me=pe=>pe.object_count??pe.objects?.length??0,fe=B.reduce((pe,ee)=>pe+me(ee),0),de=ne?me(ne):fe,Re=ne?s("modelViewer.plateNumber",{number:ne.index}):s("modelViewer.allPlates"),se=B.length>0,ke=_.useRef(null),Fe=_.useRef(null),[ce,Ve]=_.useState(10),[V,Y]=_.useState(3),ue=B.length>ce,q=Math.max(1,Math.ceil(B.length/ce)),re=ue?B.slice(M*ce,(M+1)*ce):B;_.useEffect(()=>{if(!J){Ve(10),Y(3);return}const pe=ke.current,ee=Fe.current;if(!pe||!ee)return;let z=0;const O=()=>{const Ce=ee.clientWidth,Te=Math.floor(Ce/210),we=Math.max(3,Math.min(5,Te||3));Y(ve=>ve===we?ve:we);const $e=window.getComputedStyle(pe),Ge=Number.parseFloat($e.rowGap||"0"),be=pe.querySelector("button")?.getBoundingClientRect().height??44,Me=ee.clientHeight,Ae=Math.max(1,Math.floor((Me+Ge)/(be+Ge)))*we,qe=Math.max(1,Ae-1);Ve(ve=>ve===qe?ve:qe)},Z=()=>{z&&cancelAnimationFrame(z),z=requestAnimationFrame(O)};Z();const ge=new ResizeObserver(Z);return ge.observe(ee),ge.observe(pe),()=>{z&&cancelAnimationFrame(z),ge.disconnect()}},[J,B.length]),_.useEffect(()=>{if(!ue){A(0);return}A(pe=>Math.min(pe,q-1))},[B.length,ue,q]),_.useEffect(()=>{if(!ue||N==null)return;const pe=B.findIndex(z=>z.index===N);if(pe<0)return;const ee=Math.floor(pe/ce);A(z=>z===ee?z:ee)},[B,ce,N,ue]),_.useEffect(()=>{if(!J){P(null),D(!1);return}if(H)return;const pe=$.current,ee=G.current;if(!pe||!ee)return;const z=pe.clientHeight;if(!z)return;const O=Math.max(Q,z*oe),Z=Math.max(K,z-I-O),ge=Math.min(ee.scrollHeight,Z);P(Math.max(K,ge))},[J,H,B.length,M,I,K,Q,oe]),_.useEffect(()=>{if(!U)return;const pe=z=>{const O=$.current;if(!O)return;const Z=O.getBoundingClientRect(),ge=Z.height;if(!ge)return;const Ce=Math.max(Q,ge*oe),_e=Math.max(K,ge-I-Ce),Te=Math.min(_e,Math.max(K,z.clientY-Z.top));P(Te)},ee=()=>{F(!1),D(!0)};return document.addEventListener("mousemove",pe),document.addEventListener("mouseup",ee),document.body.style.cursor="row-resize",document.body.style.userSelect="none",()=>{document.removeEventListener("mousemove",pe),document.removeEventListener("mouseup",ee),document.body.style.cursor="",document.body.style.userSelect=""}},[U,I,K,Q,oe]);const X=c?(r||"").toLowerCase()==="3mf":!0,le=()=>{if(!X)return;const pe=n||"model";if(c){const z=`${window.location.origin}${ae.getLibraryFileDownloadUrl(e)}`;sc(z,l);return}const ee=`${window.location.origin}${ae.getArchiveForSlicer(t,pe)}`;sc(ee,l)};return a.jsx("div",{className:`fixed inset-0 bg-black/70 flex items-center justify-center z-50 ${k?"p-0":"p-8"}`,onClick:i,children:a.jsxs("div",{className:`bg-bambu-dark-secondary border border-bambu-dark-tertiary w-full flex flex-col ${k?"h-full max-w-none rounded-none":"h-[80vh] max-w-4xl rounded-xl"}`,onClick:pe=>pe.stopPropagation(),children:[a.jsxs("div",{className:"flex items-center justify-between px-6 py-4 border-b border-bambu-dark-tertiary",children:[a.jsxs("div",{className:"flex items-center gap-3 min-w-0 flex-1 mr-4",children:[a.jsx("h2",{className:"text-lg font-semibold text-white truncate",children:n}),se&&a.jsxs("span",{className:"text-xs text-bambu-gray bg-bambu-dark-tertiary/70 px-2 py-1 rounded whitespace-nowrap",children:[Re,": ",s("modelViewer.objectCount",{count:de})]})]}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsxs(Ne,{variant:"secondary",size:"sm",onClick:le,disabled:!X,children:[a.jsx(Xr,{className:"w-4 h-4"}),s("modelViewer.openInSlicer")]}),a.jsx(Ne,{variant:"secondary",size:"sm",onClick:()=>R(pe=>!pe),title:k?"Exit fullscreen":"Enter fullscreen",children:k?a.jsx(VR,{className:"w-4 h-4"}):a.jsx($R,{className:"w-4 h-4"})}),a.jsx(Ne,{variant:"ghost",size:"sm",onClick:i,children:a.jsx(Lt,{className:"w-5 h-5"})})]})]}),h&&a.jsxs("div",{className:"flex border-b border-bambu-dark-tertiary",children:[a.jsxs("button",{onClick:()=>h.has_model&&d("3d"),disabled:!h.has_model,className:`flex items-center gap-2 px-6 py-3 text-sm font-medium transition-colors ${u==="3d"?"text-bambu-green border-b-2 border-bambu-green":h.has_model?"text-bambu-gray hover:text-white":"text-bambu-gray/30 cursor-not-allowed"}`,children:[a.jsx(Ii,{className:"w-4 h-4"}),s("modelViewer.tabs.model"),!h.has_model&&a.jsxs("span",{className:"text-xs",children:["(",s("modelViewer.notAvailable"),")"]})]}),a.jsxs("button",{onClick:()=>h.has_gcode&&d("gcode"),disabled:!h.has_gcode,className:`flex items-center gap-2 px-6 py-3 text-sm font-medium transition-colors ${u==="gcode"?"text-bambu-green border-b-2 border-bambu-green":h.has_gcode?"text-bambu-gray hover:text-white":"text-bambu-gray/30 cursor-not-allowed"}`,children:[a.jsx(Sue,{className:"w-4 h-4"}),s("modelViewer.tabs.gcode"),!h.has_gcode&&a.jsxs("span",{className:"text-xs",children:["(",s("modelViewer.notSliced"),")"]})]})]}),a.jsx("div",{className:"flex-1 overflow-hidden p-4",children:m?a.jsx("div",{className:"w-full h-full flex items-center justify-center",children:a.jsx(ct,{className:"w-8 h-8 animate-spin text-bambu-green"})}):u==="3d"&&h?a.jsxs("div",{ref:$,className:`w-full h-full flex flex-col ${J?"gap-0 min-h-0":"gap-3"}`,children:[W&&a.jsxs("div",{ref:G,style:J&&C!=null?{height:C}:void 0,className:`rounded-lg border border-bambu-dark-tertiary bg-bambu-dark p-3 ${J?"flex flex-col shrink-0":""}`,children:[a.jsxs("div",{className:"flex items-center gap-2 text-sm text-bambu-gray mb-2",children:[a.jsx(is,{className:"w-4 h-4"}),s("modelViewer.plates"),v&&a.jsx(ct,{className:"w-3 h-3 animate-spin"})]}),a.jsxs("div",{className:J?"flex flex-col min-h-0 flex-1":void 0,children:[a.jsx("div",{ref:Fe,className:J?"min-h-0 overflow-hidden pr-1 flex-1":void 0,children:a.jsxs("div",{ref:ke,className:J?"grid gap-2":"grid grid-cols-2 md:grid-cols-3 gap-2",style:J?{gridTemplateColumns:`repeat(${V}, minmax(0, 1fr))`}:void 0,children:[a.jsxs("button",{type:"button",onClick:()=>T(null),className:`flex items-center rounded-lg border text-left transition-colors ${J?"gap-1.5 p-1.5 w-full":"gap-2 p-2"} ${N==null?"border-bambu-green bg-bambu-green/10":"border-bambu-dark-tertiary bg-bambu-dark-secondary hover:border-bambu-gray"}`,children:[a.jsx("div",{className:`rounded bg-bambu-dark-tertiary flex items-center justify-center ${J?"w-8 h-8":"w-10 h-10"}`,children:a.jsx(is,{className:`${J?"w-4 h-4":"w-5 h-5"} text-bambu-gray`})}),a.jsxs("div",{className:"min-w-0 flex-1",children:[a.jsx("p",{className:`${J?"text-xs":"text-sm"} text-white font-medium truncate`,children:s("modelViewer.allPlates")}),a.jsx("p",{className:`${J?"text-[10px]":"text-xs"} text-bambu-gray truncate`,children:s("modelViewer.plateCount",{count:B.length})})]}),N==null&&a.jsx($i,{className:`${J?"w-3.5 h-3.5":"w-4 h-4"} text-bambu-green flex-shrink-0`})]}),re.map(pe=>a.jsxs("button",{type:"button",onClick:()=>T(pe.index),className:`flex items-center rounded-lg border text-left transition-colors ${J?"gap-1.5 p-1.5 w-full":"gap-2 p-2"} ${N===pe.index?"border-bambu-green bg-bambu-green/10":"border-bambu-dark-tertiary bg-bambu-dark-secondary hover:border-bambu-gray"}`,children:[pe.has_thumbnail&&pe.thumbnail_url?a.jsx("img",{src:pe.thumbnail_url,alt:`Plate ${pe.index}`,className:`${J?"w-8 h-8":"w-10 h-10"} rounded object-cover bg-bambu-dark-tertiary`}):a.jsx("div",{className:`rounded bg-bambu-dark-tertiary flex items-center justify-center ${J?"w-8 h-8":"w-10 h-10"}`,children:a.jsx(is,{className:`${J?"w-4 h-4":"w-5 h-5"} text-bambu-gray`})}),a.jsxs("div",{className:"min-w-0 flex-1",children:[a.jsx("p",{className:`${J?"text-xs":"text-sm"} text-white font-medium truncate`,children:pe.name||s("modelViewer.plateNumber",{number:pe.index})}),a.jsx("p",{className:`${J?"text-[10px]":"text-xs"} text-bambu-gray truncate`,children:s("modelViewer.objectCount",{count:pe.object_count??pe.objects?.length??0})})]}),N===pe.index&&a.jsx($i,{className:`${J?"w-3.5 h-3.5":"w-4 h-4"} text-bambu-green flex-shrink-0`})]},pe.index))]})}),(ne||ue)&&a.jsxs("div",{className:"mt-auto pt-3 flex items-center gap-4 text-xs text-bambu-gray overflow-x-auto",children:[ne&&a.jsxs("div",{className:"flex items-center gap-3 whitespace-nowrap",children:[a.jsx("span",{children:s("modelViewer.plateNumber",{number:ne.index})}),ne.print_time_seconds!=null&&a.jsx("span",{children:s("modelViewer.eta",{minutes:Math.round(ne.print_time_seconds/60)})}),ne.filament_used_grams!=null&&a.jsxs("span",{children:[ne.filament_used_grams.toFixed(1)," g"]}),ne.filaments.length>0&&a.jsx("span",{children:s("modelViewer.filamentCount",{count:ne.filaments.length})})]}),ue&&a.jsxs("div",{className:`flex items-center gap-2 whitespace-nowrap ${ne?"ml-auto":""}`,children:[a.jsx("span",{children:s("modelViewer.pagination.pageOf",{current:M+1,total:q})}),a.jsxs("div",{className:"flex items-center gap-1",children:[a.jsx("button",{type:"button",onClick:()=>A(pe=>Math.max(pe-1,0)),disabled:M===0,className:`px-2 py-1 rounded border text-xs ${M===0?"border-bambu-dark-tertiary text-bambu-gray/40 cursor-not-allowed":"border-bambu-dark-tertiary text-bambu-gray hover:text-white hover:border-bambu-gray"}`,children:s("modelViewer.pagination.prev")}),(()=>{let ee=Math.max(0,M-Math.floor(2.5));const z=Math.min(q,ee+5);z-ee<5&&(ee=Math.max(0,z-5));const O=Array.from({length:z-ee},(Z,ge)=>ee+ge);return a.jsxs(a.Fragment,{children:[ee>0&&a.jsx("button",{type:"button",onClick:()=>A(0),className:`px-2 py-1 rounded border text-xs ${M===0?"border-bambu-green text-bambu-green":"border-bambu-dark-tertiary text-bambu-gray hover:text-white hover:border-bambu-gray"}`,children:"1"}),ee>1&&a.jsx("span",{className:"px-1",children:"…"}),O.map(Z=>a.jsx("button",{type:"button",onClick:()=>A(Z),className:`px-2 py-1 rounded border text-xs ${M===Z?"border-bambu-green text-bambu-green":"border-bambu-dark-tertiary text-bambu-gray hover:text-white hover:border-bambu-gray"}`,children:Z+1},Z)),zA(q-1),className:`px-2 py-1 rounded border text-xs ${M===q-1?"border-bambu-green text-bambu-green":"border-bambu-dark-tertiary text-bambu-gray hover:text-white hover:border-bambu-gray"}`,children:q})]})})(),a.jsx("button",{type:"button",onClick:()=>A(pe=>Math.min(pe+1,q-1)),disabled:M>=q-1,className:`px-2 py-1 rounded border text-xs ${M>=q-1?"border-bambu-dark-tertiary text-bambu-gray/40 cursor-not-allowed":"border-bambu-dark-tertiary text-bambu-gray hover:text-white hover:border-bambu-gray"}`,children:s("modelViewer.pagination.next")})]})]})]})]})]}),J&&a.jsx("div",{role:"separator","aria-orientation":"horizontal",onMouseDown:pe=>{pe.preventDefault(),F(!0),D(!0)},className:`h-2 cursor-row-resize flex items-center justify-center ${U?"bg-bambu-dark-tertiary":"bg-bambu-dark-secondary/60 hover:bg-bambu-dark-tertiary"}`,children:a.jsx("div",{className:"w-12 h-1 rounded-full bg-bambu-gray/50"})}),a.jsx("div",{className:`flex-1 ${J?"min-h-0":""}`,children:a.jsx(IK,{url:c?ae.getLibraryFileDownloadUrl(e):h.has_source?ae.getSource3mfDownloadUrl(t):ae.getArchiveDownload(t),fileType:r,buildVolume:h.build_volume,filamentColors:h.filament_colors,selectedPlateId:N,className:"w-full h-full"})})]}):u==="gcode"&&h?a.jsx(vX,{gcodeUrl:c?ae.getLibraryFileGcodeUrl(e):ae.getArchiveGcode(t),filamentColors:h.filament_colors,className:"w-full h-full"}):a.jsx("div",{className:"w-full h-full flex items-center justify-center text-bambu-gray",children:s("modelViewer.noPreview")})})]})})}const Gq={"000000":"Black","001489":"Blue","002e96":"Blue","0047bb":"Blue","00482b":"Pine Green","004ea8":"Blue","0056b8":"Cobalt Blue","0069b1":"Lake Blue","0072ce":"Blue","0078bf":"Marine Blue","0085ad":"Light Blue","0086d6":"Cyan","008bda":"Blue","009639":"Green","009bd8":"Cyan","009fa1":"Teal","00a6a0":"Green","00ae42":"Bambu Green","00b1b7":"Turquoise","00bb31":"Green","018814":"Candy Green","042f56":"Dark Blue","0a2989":"Blue","0a2ca5":"Blue","0c2340":"Navy Blue","0c3b95":"Blue",101820:"Black","147bd1":"Blue","164b35":"Green","16b08e":"Malachite Green","1d7c6a":"Oxide Green Metallic","1f79e5":"Lake Blue","2140b4":"Blue","25282a":"Black","2842ad":"Royal Blue","2d2b28":"Onyx Black Sparkle",324585:"Indigo Blue",353533:"Gray","39541a":"Forest Green","39699e":"Cobalt Blue Metallic","3b665e":"Green","3f5443":"Alpine Green Sparkle","3f8e43":"Mistletoe Green",424379:"Nebulae","43403d":"Iron Gray Metallic",482960:"Indigo Purple","483d8b":"Royal Purple Sparkle","489fdf":"Azure","4c241c":"Rosewood","4ce4a0":"Green","4d3324":"Dark Chocolate","4d5054":"Lava Gray","4dafda":"Cyan","4f3f24":"Black Walnut",515151:"Dark Gray","515a6c":"Gray",545454:"Dark Gray",565656:"Titan Gray","56b7e6":"Sky Blue",583061:"Violet Purple","5898dd":"Blue",594177:"Purple","5b492f":"Brown","5b6579":"Blue Gray","5c9748":"Matcha Green","5e43b7":"Purple","5e4b3c":"Copper","5f6367":"Titan Gray","61b0ff":"Translucent Light Blue","61bf36":"Green","61c680":"Grass Green","6667ab":"Lavender Blue","684a43":"Brown",686865:"Black","68724d":"Dark Green",688197:"Blue Gray","69398e":"Iris Purple","6e88bc":"Jeans Blue","6ee53c":"Lime Green","6f5034":"Cocoa Brown","7248bd":"Lavender","748c45":"Translucent Olive",757575:"Nardo Gray","75aed8":"Blue","77edd7":"Translucent Teal","789d4a":"Olive","792b36":"Crimson Red Sparkle","7ac0e9":"Glow Blue","7ae1bf":"Mint","7cd82b":"Lime Green","7d6556":"Dark Brown","8344b0":"Purple","847d48":"Bronze","854ce4":"Purple","8671cb":"Purple",875718:"Peanut Brown","87909a":"Silver","898d8d":"Gray","8a949e":"Gray","8e8e8e":"Translucent Gray","8e9089":"Gray","90ff1a":"Neon Green",918669:"Classic Birch",939393:"Gray",950051:"Plum","951e23":"Burgundy Red",959698:"Silver","96d8af":"Light Jade","96dcb9":"Mint","995f11":"Clay Brown","999d9d":"Gray","9b9ea0":"Ash Gray","9d2235":"Maroon Red","9d432c":"Brown","9e007e":"Purple","9ea2a2":"Gray","9f332a":"Brick Red",a1ffac:"Glow Green",a3d8e1:"Ice Blue",a6a9aa:"Silver",a8a8aa:"Gray",a8c6ee:"Baby Blue",aa6443:"Copper Brown Metallic",ad4e38:"Red Granite",adb1b2:"Gray",ae835b:"Caramel",ae96d4:"Lilac Purple",af1685:"Purple",afb1ae:"Gray",b15533:"Terracotta",b28b33:"Gold",b39b84:"Iridium Gold Metallic",b50011:"Red",b8acd6:"Lavender",b8cde9:"Ice Blue",ba9594:"Rose Gold",bb3d43:"Dark Red",bc0900:"Red",becf00:"Bright Green",c0df16:"Green",c12e1f:"Red",c2e189:"Apple Green",c3e2d6:"Light Cyan",c5ed48:"Lime",c6001a:"Red",c6c6c6:"Gray",c8102e:"Red",c8c8c8:"Silver",c98935:"Ochre Yellow",c9a381:"Translucent Brown",cbc6b8:"Bone White",cdceca:"Gray",cea629:"Classic Gold Sparkle",d02727:"Candy Red",d1d3d5:"Light Gray",d32941:"Red",d3b7a7:"Latte Brown",d6001c:"Red",d6abff:"Translucent Purple",d6cca3:"White Oak",dc3a27:"Orange",dd3c22:"Vermilion Red",de4343:"Scarlet Red",dfd1a7:"Beige",e02928:"Red",e4bd68:"Gold",e5b03d:"Gold",e83100:"Red",e8afcf:"Sakura Pink",e8dbb7:"Desert Tan",eaeae4:"White",eaeceb:"Silver",ec008c:"Magenta",ed0000:"Red",eeb1c1:"Pink",efe255:"Yellow",f0f1a8:"Clear",f17b8f:"Glow Pink",f3cfb2:"Champagne",f3e600:"Yellow",f48438:"Orange",f4a925:"Gold",f4d53f:"Yellow",f4ee2a:"Yellow",f5547c:"Hot Pink",f55a74:"Pink",f5b6cd:"Cherry Pink",f5dbab:"Mellow Yellow",f5f1dd:"White",f68b1b:"Neon Orange",f74e02:"Orange",f75403:"Orange",f7ada6:"Pink",f7d959:"Lemon Yellow",f7e6de:"Beige",f7f3f0:"White Marble",f8ff80:"Glow Yellow",f99963:"Mandarin Orange",f9c1bd:"Translucent Pink",f9dfb9:"Cream",f9ef41:"Yellow",f9f7f2:"Nature",f9f7f4:"White",fce300:"Yellow",fce900:"Yellow",fec600:"Sunflower Yellow",fedb00:"Yellow",ff4800:"Orange",ff671f:"Orange",ff6a13:"Orange",ff7f41:"Orange",ff9016:"Pumpkin Orange",ff911a:"Translucent Orange",ff9d5b:"Glow Orange",ffb549:"Sunflower Yellow",ffc72c:"Tangerine Yellow",ffce00:"Yellow",ffd00b:"Yellow",ffe133:"Yellow",fffaf2:"White",ffffff:"White"};function L8e(t){if(!t||t.length<6)return"Unknown";const e=t.replace("#",""),n=parseInt(e.substring(0,2),16),r=parseInt(e.substring(2,4),16),i=parseInt(e.substring(4,6),16),s=Math.max(n,r,i)/255,o=Math.min(n,r,i)/255,l=(s+o)/2;let c=0,u=0;if(s!==o){const d=s-o;u=l>.5?d/(2-s-o):d/(s+o);const h=n/255,p=r/255,m=i/255;s===h?c=((p-m)/d+(p.85?"White":u<.15?l<.4?"Dark Gray":l>.6?"Light Gray":"Gray":c<15||c>=345?"Red":c<45?"Orange":c<70?"Yellow":c<150?"Green":c<200?"Cyan":c<260?"Blue":c<290?"Purple":"Pink"}function ub(t){const e=t.replace("#","").toLowerCase().substring(0,6);return Gq[e]?Gq[e]:L8e(t)}function mN(t){return t?`#${t.replace("#","").substring(0,6)}`:"#808080"}function yi(t){return t?t.replace("#","").toLowerCase().substring(0,6):""}function pc(t,e,n=40){const r=yi(t),i=yi(e);if(!r||!i||r.length<6||i.length<6)return!1;const s=parseInt(r.substring(0,2),16),o=parseInt(r.substring(2,4),16),l=parseInt(r.substring(4,6),16),c=parseInt(i.substring(0,2),16),u=parseInt(i.substring(2,4),16),d=parseInt(i.substring(4,6),16);return Math.abs(s-c)<=n&&Math.abs(o-u)<=n&&Math.abs(l-d)<=n}function Iee(t,e,n,r){const i=String.fromCharCode(65+(t>=128?t-128:t));return n?`HT-${i}`:`AMS-${i} Slot ${e+1}`}function zee(t,e,n){return t>=128?t:t*4+e}function F8e(t){if(!t)return"";const e=Math.floor(t/3600),n=Math.floor(t%3600/60);return e>0?`${e}h ${n}m`:`${n}m`}function qq(t){if(!t)return!1;const e=Date.now()+4320*60*60*1e3;return new Date(t).getTime()>e}function P4(t){const e=[];if(t?.ams?.forEach(n=>{const r=n.tray.length===1;n.tray.forEach(i=>{if(i.tray_type){const s=mN(i.tray_color);e.push({type:i.tray_type,color:s,colorName:ub(s),amsId:n.id,trayId:i.id,isHt:r,isExternal:!1,label:Iee(n.id,i.id,r),globalTrayId:zee(n.id,i.id),trayInfoIdx:i.tray_info_idx||""})}})}),t?.vt_tray?.tray_type){const n=mN(t.vt_tray.tray_color);e.push({type:t.vt_tray.tray_type,color:n,colorName:ub(n),amsId:-1,trayId:0,isHt:!1,isExternal:!0,label:"External",globalTrayId:254,trayInfoIdx:t.vt_tray.tray_info_idx||""})}return e}function Wq(t,e){if(!t?.filaments||t.filaments.length===0)return;const n=P4(e);if(n.length===0)return;const r=new Set,i=t.filaments.map(l=>{const c=l.tray_info_idx||"",u=n.filter(y=>!r.has(y.globalTrayId));let d,h,p,m;if(c){const y=u.filter(x=>x.trayInfoIdx===c);y.length===1?d=y[0]:y.length>1&&(h=y.find(x=>x.type?.toUpperCase()===l.type?.toUpperCase()&&yi(x.color)===yi(l.color)),h||(p=y.find(x=>x.type?.toUpperCase()===l.type?.toUpperCase()&&pc(x.color,l.color))),!h&&!p&&(m=y.find(x=>x.type?.toUpperCase()===l.type?.toUpperCase())))}!d&&!h&&!p&&!m&&(h=u.find(y=>y.type?.toUpperCase()===l.type?.toUpperCase()&&yi(y.color)===yi(l.color)),h||(p=u.find(y=>y.type?.toUpperCase()===l.type?.toUpperCase()&&pc(y.color,l.color))),!h&&!p&&(m=u.find(y=>y.type?.toUpperCase()===l.type?.toUpperCase())));const b=d||h||p||m||void 0;return b&&r.add(b.globalTrayId),{slot_id:l.slot_id,globalTrayId:b?.globalTrayId??-1}}),s=Math.max(...i.map(l=>l.slot_id||0));if(s<=0)return;const o=new Array(s).fill(-1);return i.forEach(l=>{l.slot_id&&l.slot_id>0&&(o[l.slot_id-1]=l.globalTrayId)}),o}function I8e(t){return _.useMemo(()=>{const e=[];if(t?.ams?.forEach(n=>{const r=n.tray.length===1;n.tray.forEach(i=>{if(i.tray_type){const s=mN(i.tray_color);e.push({type:i.tray_type,color:s,colorName:ub(s),amsId:n.id,trayId:i.id,isHt:r,isExternal:!1,label:Iee(n.id,i.id,r),globalTrayId:zee(n.id,i.id),trayInfoIdx:i.tray_info_idx||""})}})}),t?.vt_tray?.tray_type){const n=mN(t.vt_tray.tray_color);e.push({type:t.vt_tray.tray_type,color:n,colorName:ub(n),amsId:-1,trayId:0,isHt:!1,isExternal:!0,label:"External",globalTrayId:254,trayInfoIdx:t.vt_tray.tray_info_idx||""})}return e},[t])}function Uee(t,e,n){const r=I8e(e),i=_.useMemo(()=>{if(!t?.filaments||t.filaments.length===0)return[];const c=new Set(Object.values(n));return t.filaments.map(u=>{const d=u.slot_id||0;if(d>0&&n[d]!==void 0){const A=n[d],k=r.find(R=>R.globalTrayId===A);if(k){const R=k.type?.toUpperCase()===u.type?.toUpperCase(),C=yi(k.color)===yi(u.color)||pc(k.color,u.color);let P;return R&&C?P="match":R?P="type_only":P="mismatch",{...u,loaded:k,hasFilament:!0,typeMatch:R,colorMatch:C,status:P,isManual:!0}}}const h=u.tray_info_idx||"",p=r.filter(A=>!c.has(A.globalTrayId));let m,b,y,x;if(h){const A=p.filter(k=>k.trayInfoIdx===h);A.length===1?m=A[0]:A.length>1&&(b=A.find(k=>k.type?.toUpperCase()===u.type?.toUpperCase()&&yi(k.color)===yi(u.color)),b||(y=A.find(k=>k.type?.toUpperCase()===u.type?.toUpperCase()&&pc(k.color,u.color))),!b&&!y&&(x=A.find(k=>k.type?.toUpperCase()===u.type?.toUpperCase())))}!m&&!b&&!y&&!x&&(b=p.find(A=>A.type?.toUpperCase()===u.type?.toUpperCase()&&yi(A.color)===yi(u.color)),b||(y=p.find(A=>A.type?.toUpperCase()===u.type?.toUpperCase()&&pc(A.color,u.color))),!b&&!y&&(x=p.find(A=>A.type?.toUpperCase()===u.type?.toUpperCase())));const v=m||b||y||x||void 0;v&&c.add(v.globalTrayId);const S=!!v,N=S,T=!!m||!!b||!!y;let M;return m||b||y?M="match":x?M="type_only":M="mismatch",{...u,loaded:v,hasFilament:S,typeMatch:N,colorMatch:T,status:M,isManual:!1}})},[t,r,n]),s=_.useMemo(()=>{if(i.length===0)return;const c=Math.max(...i.map(d=>d.slot_id||0));if(c<=0)return;const u=new Array(c).fill(-1);return i.forEach(d=>{d.slot_id&&d.slot_id>0&&(u[d.slot_id-1]=d.loaded?.globalTrayId??-1)}),u},[i]),o=i.some(c=>c.status==="mismatch"),l=i.some(c=>c.status==="type_only");return{loadedFilaments:r,filamentComparison:i,amsMapping:s,hasTypeMismatch:o,hasColorMismatch:l}}function z8e(t,e,n){if(!t||t.length===0)return{exactMatches:0,typeOnlyMatches:0,missingTypes:0,totalSlots:0,status:"full"};let r=0,i=0,s=0;const o=new Set(Object.values(n));for(const u of t){const d=u.slot_id||0;if(d>0&&n[d]!==void 0){const y=n[d],x=e.find(v=>v.globalTrayId===y);if(x){const v=x.type?.toUpperCase()===u.type?.toUpperCase(),S=yi(x.color)===yi(u.color)||pc(x.color,u.color);v&&S?r++:v?i++:s++;continue}}const h=e.find(y=>!o.has(y.globalTrayId)&&y.type?.toUpperCase()===u.type?.toUpperCase()&&yi(y.color)===yi(u.color)),p=h?void 0:e.find(y=>!o.has(y.globalTrayId)&&y.type?.toUpperCase()===u.type?.toUpperCase()&&pc(y.color,u.color)),m=h||p?void 0:e.find(y=>!o.has(y.globalTrayId)&&y.type?.toUpperCase()===u.type?.toUpperCase()),b=h??p??m;b&&o.add(b.globalTrayId),h||p?r++:m?i++:s++}const l=t.length;let c="full";return s>0?c="missing":i>0&&(c="partial"),{exactMatches:r,typeOnlyMatches:i,missingTypes:s,totalSlots:l,status:c}}function U8e(t,e,n){if(!t?.filaments||t.filaments.length===0)return;const r=P4(e);if(r.length===0)return;const i=new Set(Object.values(n)),s=[];for(const c of t.filaments){const u=c.slot_id||0;if(u>0&&n[u]!==void 0){s.push({slot_id:u,globalTrayId:n[u]});continue}const d=r.find(b=>!i.has(b.globalTrayId)&&b.type?.toUpperCase()===c.type?.toUpperCase()&&yi(b.color)===yi(c.color)),h=d?void 0:r.find(b=>!i.has(b.globalTrayId)&&b.type?.toUpperCase()===c.type?.toUpperCase()&&pc(b.color,c.color)),p=d||h?void 0:r.find(b=>!i.has(b.globalTrayId)&&b.type?.toUpperCase()===c.type?.toUpperCase()),m=d??h??p;m&&i.add(m.globalTrayId),s.push({slot_id:u,globalTrayId:m?.globalTrayId??-1})}const o=Math.max(...s.map(c=>c.slot_id||0));if(o<=0)return;const l=new Array(o).fill(-1);return s.forEach(c=>{c.slot_id&&c.slot_id>0&&(l[c.slot_id-1]=c.globalTrayId)}),l}const Kq={useDefault:!0,manualMappings:{},autoConfigured:!1};function B8e(t,e,n,r,i,s){const o=BR({queries:t.map(b=>({queryKey:["printer-status",b],queryFn:()=>ae.getPrinterStatus(b),enabled:t.length>0,staleTime:5e3}))}),l=_.useMemo(()=>t.map((b,y)=>{const x=o[y],v=x?.data,N=e?.find(P=>P.id===b)?.name||`Printer ${b}`,T=P4(v),M=i[b]||Kq,A=Wq(n,v),k=M.useDefault?r:M.manualMappings,R=U8e(n,v,k),C=z8e(n?.filaments,T,k);return{printerId:b,printerName:N,status:v,isLoading:x?.isLoading??!1,loadedFilaments:T,autoMapping:A,finalMapping:R,matchStatus:C.status,exactMatches:C.exactMatches,typeOnlyMatches:C.typeOnlyMatches,missingTypes:C.missingTypes,totalSlots:C.totalSlots,config:M}}),[t,o,e,n,i,r]),c=o.some(b=>b.isLoading),u=(b,y)=>{s(x=>({...x,[b]:{...x[b]||Kq,...y}}))},d=b=>{const y=l.find(S=>S.printerId===b);if(!y||!y.status||!n?.filaments)return;const x=Wq(n,y.status);if(!x)return;const v={};x.forEach((S,N)=>{S!==-1&&(v[N+1]=S)}),u(b,{useDefault:!1,manualMappings:v,autoConfigured:!0})},h=()=>{for(const b of t)d(b)},p=b=>l.find(x=>x.printerId===b)?.finalMapping,m=l.every(b=>b.matchStatus!=="missing");return{printerResults:l,isLoading:c,perPrinterConfigs:i,updatePrinterConfig:u,autoConfigureAll:h,autoConfigurePrinter:d,getFinalMapping:p,allPrintersReady:m}}function H8e({printerResult:t,filamentReqs:e,onUpdateConfig:n}){const r=an(),[i,s]=_.useState(!1),o=(u,d)=>{if(u<=0)return;const h={...t.config.manualMappings};d===""?delete h[u]:h[u]=parseInt(d,10),n({useDefault:!1,manualMappings:h,autoConfigured:!1})},l=async()=>{s(!0);try{await ae.refreshPrinterStatus(t.printerId),await new Promise(u=>setTimeout(u,500)),await r.refetchQueries({queryKey:["printer-status",t.printerId]})}finally{s(!1)}},c=e.map(u=>{const d=u.slot_id||0,h=t.config.manualMappings[d];let p,m=!1;if(h!==void 0)p=t.loadedFilaments.find(y=>y.globalTrayId===h),m=!0;else{const y=new Set(Object.values(t.config.manualMappings)),x=t.loadedFilaments.find(N=>!y.has(N.globalTrayId)&&N.type?.toUpperCase()===u.type?.toUpperCase()&&yi(N.color)===yi(u.color)),v=x?void 0:t.loadedFilaments.find(N=>!y.has(N.globalTrayId)&&N.type?.toUpperCase()===u.type?.toUpperCase()&&pc(N.color,u.color)),S=x||v?void 0:t.loadedFilaments.find(N=>!y.has(N.globalTrayId)&&N.type?.toUpperCase()===u.type?.toUpperCase());p=x??v??S}let b="mismatch";if(p){const y=p.type?.toUpperCase()===u.type?.toUpperCase(),x=yi(p.color)===yi(u.color)||pc(p.color,u.color);y&&x?b="match":y&&(b="type_only")}return{req:u,loaded:p,status:b,isManual:m}});return a.jsxs("div",{className:"mt-2 bg-bambu-dark rounded-lg p-3 space-y-2",children:[a.jsxs("div",{className:"flex items-center justify-between mb-2",children:[a.jsx("span",{className:"text-xs text-bambu-gray",children:"Custom slot mapping"}),a.jsxs("button",{type:"button",onClick:l,className:"flex items-center gap-1 px-2 py-0.5 text-xs rounded border border-bambu-gray/30 hover:border-bambu-gray hover:bg-bambu-dark-tertiary transition-colors text-bambu-gray hover:text-white",disabled:i,children:[a.jsx(Or,{className:`w-3 h-3 ${i?"animate-spin":""}`}),a.jsx("span",{children:"Re-read"})]})]}),c.map(({req:u,loaded:d,status:h,isManual:p},m)=>a.jsxs("div",{className:"grid items-center gap-2 text-xs",style:{gridTemplateColumns:"16px minmax(70px, 1fr) auto 2fr 16px"},children:[a.jsx("span",{title:`Required: ${u.type} - ${ub(u.color)}`,children:a.jsx(Sj,{className:"w-3 h-3",fill:u.color,stroke:u.color})}),a.jsxs("span",{className:"text-white truncate",children:[u.type," ",a.jsxs("span",{className:"text-bambu-gray",children:["(",u.used_grams,"g)"]})]}),a.jsx("span",{className:"text-bambu-gray",children:"→"}),a.jsxs("select",{value:d?.globalTrayId??"",onChange:b=>o(u.slot_id||0,b.target.value),className:`flex-1 px-2 py-1 rounded border text-xs bg-bambu-dark-secondary focus:outline-none focus:ring-1 focus:ring-bambu-green ${h==="match"?"border-bambu-green/50 text-bambu-green":h==="type_only"?"border-yellow-400/50 text-yellow-400":"border-orange-400/50 text-orange-400"} ${p?"ring-1 ring-blue-400/50":""}`,title:p?"Manually selected":"Auto-matched",children:[a.jsx("option",{value:"",className:"bg-bambu-dark text-bambu-gray",children:"-- Select slot --"}),t.loadedFilaments.map(b=>a.jsxs("option",{value:b.globalTrayId,className:"bg-bambu-dark text-white",children:[b.label,": ",b.type," (",b.colorName,")"]},b.globalTrayId))]}),h==="match"?a.jsx($i,{className:"w-3 h-3 text-bambu-green"}):h==="type_only"?a.jsx("span",{title:"Same type, different color",children:a.jsx(En,{className:"w-3 h-3 text-yellow-400"})}):a.jsx("span",{title:"Filament type not loaded",children:a.jsx(En,{className:"w-3 h-3 text-orange-400"})})]},m))]})}function $8e({printers:t,selectedPrinterIds:e,onMultiSelect:n,isLoading:r=!1,allowMultiple:i=!1,showInactive:s=!1,printerMappingResults:o,filamentReqs:l,onAutoConfigurePrinter:c,onUpdatePrinterConfig:u,assignmentMode:d="printer",onAssignmentModeChange:h,targetModel:p,onTargetModelChange:m,targetLocation:b,onTargetLocationChange:y,slicedForModel:x}){const[v,S]=_.useState(!1),N=s?t:t.filter(I=>I.is_active),T=_.useMemo(()=>{if(d!=="printer"||!x||v)return N;const I=N.filter(K=>K.model===x);return I.length>0?I:N},[N,d,x,v]),M=N.length-T.length,A=_.useMemo(()=>{const I=N.map(K=>K.model).filter(K=>!!K);return[...new Set(I)].sort()},[N]),k=_.useMemo(()=>{if(!p)return[];const I=N.filter(K=>K.model===p&&K.location).map(K=>K.location).filter(K=>!!K);return[...new Set(I)].sort()},[N,p]),R=h&&m&&A.length>0,C=i&&e.length>1&&o&&l?.filaments&&l.filaments.length>0&&c&&u;if(r)return a.jsx("div",{className:"flex justify-center py-8",children:a.jsx(ct,{className:"w-6 h-6 text-bambu-green animate-spin"})});if(T.length===0)return a.jsxs("div",{className:"flex items-center gap-2 text-red-400 text-sm mb-4",children:[a.jsx(Ti,{className:"w-4 h-4"}),"No ",s?"":"active ","printers available"]});const P=I=>{i?e.includes(I)?n(e.filter(K=>K!==I)):n([...e,I]):n([I])},U=()=>{n(T.map(I=>I.id))},F=()=>{n([])},H=(I,K,Q)=>{Q.stopPropagation(),!(!c||!u)&&(K?c(I):u(I,{useDefault:!0,manualMappings:{},autoConfigured:!1}))},D=I=>e.includes(I),$=e.length,G=I=>o?.find(K=>K.printerId===I);return a.jsxs("div",{className:"space-y-2 mb-6",children:[R&&a.jsxs("div",{className:"flex gap-2 mb-4",children:[a.jsxs("button",{type:"button",onClick:()=>{h("printer"),m(null)},className:`flex-1 flex items-center justify-center gap-2 px-3 py-2 rounded-lg border transition-colors ${d==="printer"?"border-bambu-green bg-bambu-green/10 text-white":"border-bambu-dark-tertiary bg-bambu-dark text-bambu-gray hover:border-bambu-gray"}`,children:[a.jsx(jr,{className:"w-4 h-4"}),a.jsx("span",{className:"text-sm",children:"Specific Printer"})]}),a.jsxs("button",{type:"button",onClick:()=>{h("model"),n([]);const I=x&&A.includes(x)?x:A[0];m(I)},className:`flex-1 flex items-center justify-center gap-2 px-3 py-2 rounded-lg border transition-colors ${d==="model"?"border-bambu-green bg-bambu-green/10 text-white":"border-bambu-dark-tertiary bg-bambu-dark text-bambu-gray hover:border-bambu-gray"}`,children:[a.jsx(zf,{className:"w-4 h-4"}),a.jsxs("span",{className:"text-sm",children:["Any ",x||"Model"]})]})]}),d==="model"&&R&&a.jsxs("div",{className:"space-y-3 mb-4",children:[a.jsxs("div",{children:[a.jsx("label",{className:"block text-xs text-bambu-gray mb-1",children:"Target Model"}),a.jsxs("select",{value:p||"",onChange:I=>{m(I.target.value||null),y&&y(null)},className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none text-sm",children:[a.jsx("option",{value:"",children:"Select a model..."}),A.map(I=>a.jsx("option",{value:I,children:I},I))]})]}),p&&k.length>0&&y&&a.jsxs("div",{children:[a.jsx("label",{className:"block text-xs text-bambu-gray mb-1",children:"Location Filter (optional)"}),a.jsxs("select",{value:b||"",onChange:I=>y(I.target.value||null),className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none text-sm",children:[a.jsx("option",{value:"",children:"Any location"}),k.map(I=>a.jsx("option",{value:I,children:I},I))]})]}),p&&a.jsxs("p",{className:"text-xs text-bambu-gray",children:["Scheduler will assign to first available idle ",p," printer",b?` in ${b}`:""]})]}),d==="printer"&&i&&T.length>1&&a.jsxs("div",{className:"flex items-center justify-between text-xs text-bambu-gray mb-2",children:[a.jsx("span",{children:$===0?"Select printers":`${$} printer${$!==1?"s":""} selected`}),a.jsxs("div",{className:"flex gap-2",children:[$0&&a.jsx("button",{type:"button",onClick:F,className:"text-bambu-gray hover:text-white transition-colors",children:"Clear"})]})]}),d==="printer"&&T.map(I=>{const K=D(I.id),Q=G(I.id),oe=Q&&!Q.config.useDefault;return a.jsxs("div",{children:[a.jsxs("button",{type:"button",onClick:()=>P(I.id),className:`w-full flex items-center gap-3 p-3 rounded-lg border transition-colors ${K?"border-bambu-green bg-bambu-green/10":"border-bambu-dark-tertiary bg-bambu-dark hover:border-bambu-gray"} ${I.is_active?"":"opacity-60"}`,children:[a.jsx("div",{className:`p-2 rounded-lg ${K?"bg-bambu-green/20":"bg-bambu-dark-tertiary"}`,children:a.jsx(jr,{className:`w-5 h-5 ${K?"text-bambu-green":"text-bambu-gray"}`})}),a.jsxs("div",{className:"text-left flex-1",children:[a.jsxs("p",{className:"text-white font-medium",children:[I.name,!I.is_active&&a.jsx("span",{className:"text-bambu-gray text-xs ml-2",children:"(inactive)"})]}),a.jsxs("p",{className:"text-xs text-bambu-gray",children:[I.model||"Unknown model"," • ",I.ip_address]})]}),i&&a.jsx("div",{className:`w-5 h-5 rounded border-2 flex items-center justify-center transition-colors ${K?"bg-bambu-green border-bambu-green":"border-bambu-gray/50"}`,children:K&&a.jsx($i,{className:"w-3 h-3 text-white"})})]}),K&&C&&Q&&a.jsxs("div",{className:"ml-4 mt-2 mb-3",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsxs("label",{className:"flex items-center gap-2 cursor-pointer",onClick:B=>B.stopPropagation(),children:[a.jsx("input",{type:"checkbox",checked:oe,onChange:B=>H(I.id,B.target.checked,B),className:"w-3.5 h-3.5 rounded border-bambu-gray/30 bg-bambu-dark-secondary text-bambu-green focus:ring-bambu-green focus:ring-offset-0"}),a.jsx("span",{className:"text-xs text-bambu-gray",children:"Custom mapping"})]}),a.jsxs("span",{className:`text-xs ml-2 ${Q.matchStatus==="full"?"text-bambu-green":Q.matchStatus==="partial"?"text-yellow-400":"text-orange-400"}`,children:["(",Q.exactMatches,"/",Q.totalSlots," matched)"]}),Q.isLoading&&a.jsx(Or,{className:"w-3 h-3 text-bambu-gray animate-spin"}),oe&&a.jsxs("button",{type:"button",onClick:B=>{B.stopPropagation(),c(I.id)},className:"ml-auto flex items-center gap-1 px-2 py-0.5 text-xs rounded border border-bambu-gray/30 hover:border-bambu-gray hover:bg-bambu-dark-tertiary transition-colors text-bambu-gray hover:text-white",children:[a.jsx(jfe,{className:"w-3 h-3"}),"Auto"]})]}),oe&&a.jsx(H8e,{printerResult:Q,filamentReqs:l.filaments,onUpdateConfig:B=>u(I.id,B)})]})]},I.id)}),d==="printer"&&M>0&&!v&&a.jsxs("button",{type:"button",onClick:()=>S(!0),className:"text-xs text-bambu-gray hover:text-white transition-colors mt-2 flex items-center gap-1",children:[a.jsx(En,{className:"w-3 h-3 text-yellow-400"}),M," other printer",M>1?"s":""," hidden (different model) —",a.jsx("span",{className:"underline",children:"show all"})]}),d==="printer"&&v&&x&&a.jsx("button",{type:"button",onClick:()=>S(!1),className:"text-xs text-bambu-gray hover:text-white transition-colors mt-2",children:a.jsxs("span",{className:"underline",children:["Show only ",x," printers"]})}),d==="printer"&&$===0&&a.jsxs("p",{className:"text-xs text-orange-400 mt-1 flex items-center gap-1",children:[a.jsx(Ti,{className:"w-3 h-3"}),"Select at least one printer"]}),d==="model"&&!p&&a.jsxs("p",{className:"text-xs text-orange-400 mt-1 flex items-center gap-1",children:[a.jsx(Ti,{className:"w-3 h-3"}),"Select a target printer model"]})]})}function V8e({plates:t,isMultiPlate:e,selectedPlate:n,onSelect:r}){return!e||t.length<=1?null:a.jsxs("div",{className:"mb-4",children:[a.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[a.jsx(is,{className:"w-4 h-4 text-bambu-gray"}),a.jsx("span",{className:"text-sm text-bambu-gray",children:"Select Plate to Print"}),!n&&a.jsxs("span",{className:"text-xs text-orange-400 flex items-center gap-1",children:[a.jsx(En,{className:"w-3 h-3"}),"Selection required"]})]}),a.jsx("div",{className:"grid grid-cols-2 gap-2",children:t.map(i=>a.jsxs("button",{type:"button",onClick:()=>r(i.index),className:`flex items-center gap-2 p-2 rounded-lg border transition-colors text-left ${n===i.index?"border-bambu-green bg-bambu-green/10":"border-bambu-dark-tertiary bg-bambu-dark hover:border-bambu-gray"}`,children:[i.has_thumbnail&&i.thumbnail_url!=null?a.jsx("img",{src:i.thumbnail_url,alt:`Plate ${i.index}`,className:"w-10 h-10 rounded object-cover bg-bambu-dark-tertiary"}):a.jsx("div",{className:"w-10 h-10 rounded bg-bambu-dark-tertiary flex items-center justify-center",children:a.jsx(is,{className:"w-5 h-5 text-bambu-gray"})}),a.jsxs("div",{className:"min-w-0 flex-1",children:[a.jsx("p",{className:"text-sm text-white font-medium truncate",children:i.name||`Plate ${i.index}`}),a.jsxs("p",{className:"text-xs text-bambu-gray truncate",children:[i.objects.length>0?i.objects.slice(0,3).join(", ")+(i.objects.length>3?"...":""):`${i.filaments.length} filament${i.filaments.length!==1?"s":""}`,i.print_time_seconds!=null?` • ${F8e(i.print_time_seconds)}`:""]})]}),n===i.index&&a.jsx($i,{className:"w-4 h-4 text-bambu-green flex-shrink-0"})]},i.index))})]})}function G8e({printerId:t,filamentReqs:e,manualMappings:n,onManualMappingChange:r,defaultExpanded:i=!1}){const s=an(),[o,l]=_.useState(!1),[c,u]=_.useState(i),{data:d}=it({queryKey:["printer-status",t],queryFn:()=>ae.getPrinterStatus(t),enabled:!!t}),{loadedFilaments:h,filamentComparison:p,hasTypeMismatch:m,hasColorMismatch:b}=Uee(e,d,n);if(!(e?.filaments&&e.filaments.length>0)||!d)return null;const x=m?"#f97316":b?"#facc15":"#00ae42",v=(N,T)=>{if(N>0)if(T===""){const M={...n};delete M[N],r(M)}else r({...n,[N]:parseInt(T,10)})},S=async()=>{l(!0);try{await ae.refreshPrinterStatus(t),await new Promise(N=>setTimeout(N,500)),await s.refetchQueries({queryKey:["printer-status",t]})}finally{l(!1)}};return a.jsxs("div",{className:"mb-4",children:[a.jsxs("button",{type:"button",onClick:()=>u(!c),className:"flex items-center gap-2 text-sm text-bambu-gray hover:text-white transition-colors w-full",children:[a.jsx(Sj,{className:"w-4 h-4",fill:x,stroke:"none"}),a.jsx("span",{children:"Filament Mapping"}),m?a.jsx("span",{className:"text-xs text-orange-400",children:"(Type not found)"}):b?a.jsx("span",{className:"text-xs text-yellow-400",children:"(Color mismatch)"}):a.jsx("span",{className:"text-xs text-bambu-green",children:"(Ready)"}),c?a.jsx(zu,{className:"w-4 h-4 ml-auto"}):a.jsx(fr,{className:"w-4 h-4 ml-auto"})]}),c&&a.jsxs("div",{className:"mt-2 bg-bambu-dark rounded-lg p-3 space-y-2",children:[a.jsxs("div",{className:"flex items-center justify-between mb-2",children:[a.jsx("span",{className:"text-xs text-bambu-gray",children:"Click to change slot assignment"}),a.jsxs("button",{type:"button",onClick:S,className:"flex items-center gap-1 px-2 py-0.5 text-xs rounded border border-bambu-gray/30 hover:border-bambu-gray hover:bg-bambu-dark-tertiary transition-colors text-bambu-gray hover:text-white",disabled:o,children:[a.jsx(Or,{className:`w-3 h-3 ${o?"animate-spin":""}`}),a.jsx("span",{children:"Re-read"})]})]}),p.map((N,T)=>a.jsxs("div",{className:"grid items-center gap-2 text-xs",style:{gridTemplateColumns:"16px minmax(70px, 1fr) auto 2fr 16px"},children:[a.jsx("span",{title:`Required: ${N.type} - ${ub(N.color)}`,children:a.jsx(Sj,{className:"w-3 h-3",fill:N.color,stroke:N.color})}),a.jsxs("span",{className:"text-white truncate",children:[N.type," ",a.jsxs("span",{className:"text-bambu-gray",children:["(",N.used_grams,"g)"]})]}),a.jsx("span",{className:"text-bambu-gray",children:"→"}),a.jsxs("select",{value:N.loaded?.globalTrayId??"",onChange:M=>v(N.slot_id||0,M.target.value),className:`flex-1 px-2 py-1 rounded border text-xs bg-bambu-dark-secondary focus:outline-none focus:ring-1 focus:ring-bambu-green ${N.status==="match"?"border-bambu-green/50 text-bambu-green":N.status==="type_only"?"border-yellow-400/50 text-yellow-400":"border-orange-400/50 text-orange-400"} ${N.isManual?"ring-1 ring-blue-400/50":""}`,title:N.isManual?"Manually selected":"Auto-matched",children:[a.jsx("option",{value:"",className:"bg-bambu-dark text-bambu-gray",children:"-- Select slot --"}),h.map(M=>a.jsxs("option",{value:M.globalTrayId,className:"bg-bambu-dark text-white",children:[M.label,": ",M.type," (",M.colorName,")"]},M.globalTrayId))]}),N.status==="match"?a.jsx($i,{className:"w-3 h-3 text-bambu-green"}):N.status==="type_only"?a.jsx("span",{title:"Same type, different color",children:a.jsx(En,{className:"w-3 h-3 text-yellow-400"})}):a.jsx("span",{title:"Filament type not loaded",children:a.jsx(En,{className:"w-3 h-3 text-orange-400"})})]},T)),m&&a.jsx("p",{className:"text-xs text-orange-400 mt-2",children:"Required filament type not found in printer."})]})]})}const q8e=[{key:"bed_levelling",label:"Bed Levelling",desc:"Auto-level bed before print"},{key:"flow_cali",label:"Flow Calibration",desc:"Calibrate extrusion flow"},{key:"vibration_cali",label:"Vibration Calibration",desc:"Reduce ringing artifacts"},{key:"layer_inspect",label:"First Layer Inspection",desc:"AI inspection of first layer"},{key:"timelapse",label:"Timelapse",desc:"Record timelapse video"}];function W8e({options:t,onChange:e,defaultExpanded:n=!1}){const[r,i]=_.useState(n),s=o=>{e({...t,[o]:!t[o]})};return a.jsxs("div",{className:"mb-4",children:[a.jsxs("button",{type:"button",onClick:()=>i(!r),className:"flex items-center gap-2 text-sm text-bambu-gray hover:text-white transition-colors w-full",children:[a.jsx(Mk,{className:"w-4 h-4"}),a.jsx("span",{children:"Print Options"}),r?a.jsx(zu,{className:"w-4 h-4 ml-auto"}):a.jsx(fr,{className:"w-4 h-4 ml-auto"})]}),r&&a.jsx("div",{className:"mt-2 bg-bambu-dark rounded-lg p-3 space-y-2",children:q8e.map(({key:o,label:l,desc:c})=>a.jsxs("label",{className:"flex items-center justify-between cursor-pointer group",children:[a.jsxs("div",{children:[a.jsx("span",{className:"text-sm text-white",children:l}),a.jsx("p",{className:"text-xs text-bambu-gray",children:c})]}),a.jsx("div",{className:`relative w-10 h-5 rounded-full transition-colors ${t[o]?"bg-bambu-green":"bg-bambu-dark-tertiary"}`,onClick:()=>s(o),children:a.jsx("div",{className:`absolute top-0.5 w-4 h-4 rounded-full bg-white transition-transform ${t[o]?"translate-x-5":"translate-x-0.5"}`})})]},o))})]})}function K8e({options:t,onChange:e,dateFormat:n="system",timeFormat:r="system"}){const[i,s]=_.useState(""),[o,l]=_.useState(""),[c,u]=_.useState(!0),[d,h]=_.useState(!0),p=_.useRef(null),m=_.useRef(!1);_.useEffect(()=>{if(t.scheduleType!=="scheduled"){m.current=!1;return}if(!m.current){m.current=!0;let T;t.scheduledTime?(T=new Date(t.scheduledTime),isNaN(T.getTime())&&(T=new Date,T.setHours(T.getHours()+1,0,0,0))):(T=new Date,T.setHours(T.getHours()+1,0,0,0),e({...t,scheduledTime:jj(T)})),s(rB(T,n)),l(iB(T,r)),u(!0),h(!0)}},[t.scheduleType,t.scheduledTime,n,r,e,t]);const b=T=>{e({...t,scheduleType:T})},y=(T,M)=>{const A=nme(T,n),k=rme(M);u(!!A),h(!!k),A&&k&&(A.setHours(k.hours,k.minutes,0,0),A>new Date&&e({...t,scheduledTime:jj(A)}))},x=T=>{s(T),y(T,o)},v=T=>{l(T),y(i,T)},S=T=>{const M=T.target.value;if(M){const A=new Date(M);isNaN(A.getTime())||(s(rB(A,n)),l(iB(A,r)),u(!0),h(!0),e({...t,scheduledTime:M}))}},N=()=>{p.current?.showPicker()};return a.jsxs("div",{className:"space-y-4",children:[a.jsxs("div",{children:[a.jsx("label",{className:"block text-sm text-bambu-gray mb-2",children:"When to print"}),a.jsxs("div",{className:"flex gap-2",children:[a.jsxs("button",{type:"button",className:`flex-1 px-2 py-2 rounded-lg border text-sm flex items-center justify-center gap-1.5 transition-colors ${t.scheduleType==="asap"?"bg-bambu-green border-bambu-green text-white":"bg-bambu-dark border-bambu-dark-tertiary text-bambu-gray hover:text-white"}`,onClick:()=>b("asap"),children:[a.jsx(tr,{className:"w-4 h-4"}),"ASAP"]}),a.jsxs("button",{type:"button",className:`flex-1 px-2 py-2 rounded-lg border text-sm flex items-center justify-center gap-1.5 transition-colors ${t.scheduleType==="scheduled"?"bg-bambu-green border-bambu-green text-white":"bg-bambu-dark border-bambu-dark-tertiary text-bambu-gray hover:text-white"}`,onClick:()=>b("scheduled"),children:[a.jsx(ti,{className:"w-4 h-4"}),"Scheduled"]}),a.jsxs("button",{type:"button",className:`flex-1 px-2 py-2 rounded-lg border text-sm flex items-center justify-center gap-1.5 transition-colors ${t.scheduleType==="manual"?"bg-bambu-green border-bambu-green text-white":"bg-bambu-dark border-bambu-dark-tertiary text-bambu-gray hover:text-white"}`,onClick:()=>b("manual"),children:[a.jsx(LW,{className:"w-4 h-4"}),"Queue Only"]})]})]}),t.scheduleType==="scheduled"&&a.jsxs("div",{children:[a.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Date & Time"}),a.jsxs("div",{className:"flex gap-2",children:[a.jsxs("div",{className:"flex-1 relative",children:[a.jsx("input",{type:"text",className:`w-full px-3 py-2 pr-10 bg-bambu-dark border rounded-lg text-white focus:outline-none ${c?"border-bambu-dark-tertiary focus:border-bambu-green":"border-red-500"}`,value:i,onChange:T=>x(T.target.value),placeholder:eme(n)}),a.jsx("button",{type:"button",onClick:N,className:"absolute right-2 top-1/2 -translate-y-1/2 text-bambu-gray hover:text-white",title:"Open calendar",children:a.jsx(ti,{className:"w-4 h-4"})})]}),a.jsx("div",{className:"w-32",children:a.jsx("input",{type:"text",className:`w-full px-3 py-2 bg-bambu-dark border rounded-lg text-white focus:outline-none ${d?"border-bambu-dark-tertiary focus:border-bambu-green":"border-red-500"}`,value:o,onChange:T=>v(T.target.value),placeholder:tme(r)})})]}),a.jsx("input",{ref:p,type:"datetime-local",className:"sr-only",value:t.scheduledTime,onChange:S,tabIndex:-1}),(!c||!d)&&a.jsx("p",{className:"mt-1 text-xs text-red-400",children:"Please enter a valid date and time"})]}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("input",{type:"checkbox",id:"requirePrevious",checked:t.requirePreviousSuccess,onChange:T=>e({...t,requirePreviousSuccess:T.target.checked}),className:"rounded border-bambu-dark-tertiary bg-bambu-dark text-bambu-green focus:ring-bambu-green"}),a.jsx("label",{htmlFor:"requirePrevious",className:"text-sm text-bambu-gray",children:"Only start if previous print succeeded"})]}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("input",{type:"checkbox",id:"autoOffAfter",checked:t.autoOffAfter,onChange:T=>e({...t,autoOffAfter:T.target.checked}),className:"rounded border-bambu-dark-tertiary bg-bambu-dark text-bambu-green focus:ring-bambu-green"}),a.jsxs("label",{htmlFor:"autoOffAfter",className:"text-sm text-bambu-gray flex items-center gap-1",children:[a.jsx(Ju,{className:"w-3.5 h-3.5"}),"Power off printer when done"]})]}),a.jsx("p",{className:"text-xs text-bambu-gray",children:t.scheduleType==="asap"?"Print will start as soon as the printer is idle.":t.scheduleType==="scheduled"?"Print will start at the scheduled time if the printer is idle. If busy, it will wait until the printer becomes available.":"Print will be staged but won't start automatically. Use the Start button to release it to the queue."})]})}const rg={bed_levelling:!0,flow_cali:!1,vibration_cali:!0,layer_inspect:!1,timelapse:!1},X8e={scheduleType:"asap",scheduledTime:"",requirePreviousSuccess:!1,autoOffAfter:!1};function Ou({mode:t,archiveId:e,libraryFileId:n,archiveName:r,queueItem:i,onClose:s,onSuccess:o}){const{t:l}=Yt(),c=an(),{showToast:u}=Tn(),d=!!n&&!e,[h,p]=_.useState(()=>t==="edit-queue-item"&&i?.printer_id?[i.printer_id]:[]),[m,b]=_.useState(()=>t==="edit-queue-item"&&i?i.plate_id:null),[y,x]=_.useState(()=>t==="edit-queue-item"&&i?{bed_levelling:i.bed_levelling??rg.bed_levelling,flow_cali:i.flow_cali??rg.flow_cali,vibration_cali:i.vibration_cali??rg.vibration_cali,layer_inspect:i.layer_inspect??rg.layer_inspect,timelapse:i.timelapse??rg.timelapse}:rg),[v,S]=_.useState(()=>{if(t==="edit-queue-item"&&i){let ze="asap";i.manual_start?ze="manual":i.scheduled_time&&!qq(i.scheduled_time)&&(ze="scheduled");let be="";if(i.scheduled_time&&!qq(i.scheduled_time)){const Me=new Date(i.scheduled_time);be=jj(Me)}return{scheduleType:ze,scheduledTime:be,requirePreviousSuccess:i.require_previous_success,autoOffAfter:i.auto_off_after}}return X8e}),[N,T]=_.useState(()=>{if(t==="edit-queue-item"&&i?.ams_mapping&&Array.isArray(i.ams_mapping)){const ze={};return i.ams_mapping.forEach((be,Me)=>{be!==-1&&(ze[Me+1]=be)}),ze}return{}}),[M,A]=_.useState({}),[k,R]=_.useState(()=>t==="edit-queue-item"&&i?.target_model?"model":"printer"),[C,P]=_.useState(()=>t==="edit-queue-item"&&i?.target_model?i.target_model:null),[U,F]=_.useState(()=>t==="edit-queue-item"&&i?.target_location?i.target_location:null),[H]=_.useState(()=>t==="edit-queue-item"&&i?.printer_id?[i.printer_id]:[]),[D]=_.useState(()=>t==="edit-queue-item"&&i?i.plate_id:null),[$,G]=_.useState(!1),[I,K]=_.useState({current:0,total:0}),[Q,oe]=_.useState(new Set),B=h.length,W=h.length>0?h[0]:null,{data:J}=it({queryKey:["settings"],queryFn:ae.getSettings}),{data:ne,isLoading:me}=it({queryKey:["printers"],queryFn:ae.getPrinters}),{data:fe}=it({queryKey:["archive",e],queryFn:()=>ae.getArchive(e),enabled:!!e&&!d}),{data:de}=it({queryKey:["library-file",n],queryFn:()=>ae.getLibraryFile(n),enabled:d&&!!n}),Re=fe?.sliced_for_model||de?.sliced_for_model||null,{data:se,isError:ke}=it({queryKey:["archive-plates",e],queryFn:()=>ae.getArchivePlates(e),enabled:!!e&&!d,retry:!1}),{data:Fe}=it({queryKey:["library-file-plates",n],queryFn:()=>ae.getLibraryFilePlates(n),enabled:d&&!!n}),ce=d?Fe:se,{data:Ve,isError:V}=it({queryKey:["archive-filaments",e,m],queryFn:()=>ae.getArchiveFilamentRequirements(e,m??void 0),enabled:!!e&&!d&&(m!==null||!ce?.is_multi_plate),retry:!1}),{data:Y}=it({queryKey:["library-file-filaments",n,m],queryFn:()=>ae.getLibraryFileFilamentRequirements(n,m??void 0),enabled:d&&!!n&&(m!==null||!ce?.is_multi_plate)}),ue=!d&&(ke||V),q=d?Y:Ve,{data:re}=it({queryKey:["printer-status",W],queryFn:()=>ae.getPrinterStatus(W),enabled:!!W}),{amsMapping:X}=Uee(q,re,N),le=B8e(h,ne,q,N,M,A);_.useEffect(()=>{ce?.plates?.length===1&&!m&&b(ce.plates[0].index)},[ce,m]),_.useEffect(()=>{if(t==="edit-queue-item")return;const ze=ne?.filter(be=>be.is_active)||[];ze.length===1&&h.length===0&&p([ze[0].id])},[t,ne,h.length]),_.useEffect(()=>{t==="edit-queue-item"?(JSON.stringify(h.sort())!==JSON.stringify(H.sort())||m!==D)&&(T({}),A({}),oe(new Set)):(T({}),A({}),oe(new Set))},[t,h,m,H,D]),_.useEffect(()=>{if(!J?.per_printer_mapping_expanded||h.length<=1)return;const ze=h.filter(be=>{if(Q.has(be))return!1;const Me=le.printerResults.find(Be=>Be.printerId===be);return Me&&Me.status&&!Me.isLoading});ze.length>0&&(oe(be=>{const Me=new Set(be);return ze.forEach(Be=>Me.add(Be)),Me}),ze.forEach(be=>{le.autoConfigurePrinter(be)}))},[J?.per_printer_mapping_expanded,h,Q,le]),_.useEffect(()=>{const ze=be=>{be.key==="Escape"&&!$&&s()};return window.addEventListener("keydown",ze),()=>window.removeEventListener("keydown",ze)},[s,$]);const pe=ce?.is_multi_plate??!1,ee=ce?.plates??[],z=dt({mutationFn:ze=>ae.addToQueue(ze)}),O=dt({mutationFn:ze=>ae.updateQueueItem(i.id,ze),onSuccess:()=>{c.invalidateQueries({queryKey:["queue"]}),u("Queue item updated"),o?.(),s()},onError:ze=>{u(ze.message||"Failed to update queue item","error")}}),Z=async ze=>{if(ze?.preventDefault(),k==="printer"&&h.length===0){u("Please select at least one printer","error");return}if(k==="model"&&!C){u("Please select a target printer model","error");return}G(!0);const be=k==="model"?1:h.length;K({current:0,total:be});const Me={success:0,failed:0,errors:[]},Be=qe=>{if(h.length>1){const ve=M[qe];if(ve&&!ve.useDefault)return le.getFinalMapping(qe)}return X},Ae=qe=>({printer_id:k==="printer"?qe:null,target_model:k==="model"?C:null,target_location:k==="model"?U:null,archive_id:d?void 0:e,library_file_id:d?n:void 0,require_previous_success:v.requirePreviousSuccess,auto_off_after:v.autoOffAfter,manual_start:v.scheduleType==="manual",ams_mapping:qe?Be(qe):void 0,plate_id:m,scheduled_time:v.scheduleType==="scheduled"&&v.scheduledTime?new Date(v.scheduledTime).toISOString():void 0,...y});if(k==="model"){K({current:1,total:1});try{if(t==="reprint"){u("Model-based assignment only works with queue mode","error"),G(!1);return}else if(t==="edit-queue-item"){const qe={printer_id:null,target_model:C,target_location:U,require_previous_success:v.requirePreviousSuccess,auto_off_after:v.autoOffAfter,manual_start:v.scheduleType==="manual",ams_mapping:void 0,plate_id:m,scheduled_time:v.scheduleType==="scheduled"&&v.scheduledTime?new Date(v.scheduledTime).toISOString():null,...y};await O.mutateAsync(qe)}else await z.mutateAsync(Ae(null));Me.success++}catch(qe){Me.failed++,Me.errors.push(qe.message)}}else for(let qe=0;qeYe.id===ve)?.name||`Printer ${ve}`;Me.errors.push(`${Ee}: ${et.message}`)}}if(G(!1),Me.failed===0){if(k==="model")u(t==="edit-queue-item"?"Queue item updated":`Queued for any ${C}`);else{const qe=t==="reprint"?"sent to":t==="edit-queue-item"?"updated/queued for":"queued for";Me.success===1?u(t==="edit-queue-item"?"Queue item updated":`Print ${qe} printer`):u(`Print ${qe} ${Me.success} printers`)}c.invalidateQueries({queryKey:["queue"]}),o?.(),s()}else Me.success===0?u(`Failed: ${Me.errors[0]}`,"error"):(u(`${Me.success} succeeded, ${Me.failed} failed`,"error"),c.invalidateQueries({queryKey:["queue"]}))},ge=$||O.isPending,Ce=_.useMemo(()=>!(ge||k==="printer"&&h.length===0||k==="model"&&!C||k==="model"&&t==="reprint"||!d&&pe&&!m),[h.length,k,C,t,pe,m,ge,d]),Te=(()=>{const ze=h.length;return t==="reprint"?{title:l(d?"queue.print":"queue.reprint"),icon:jr,submitText:ze>1?l("queue.printToPrinters",{count:ze}):l("queue.print"),submitIcon:jr,loadingText:I.total>1?l("queue.sendingProgress",{current:I.current,total:I.total}):l("queue.sending")}:t==="add-to-queue"?{title:l("queue.schedulePrint"),icon:ti,submitText:ze>1?l("queue.queueToPrinters",{count:ze}):l("queue.addToQueue"),submitIcon:ti,loadingText:I.total>1?l("queue.addingProgress",{current:I.current,total:I.total}):l("queue.adding")}:{title:l("queue.editQueueItem"),icon:Ji,submitText:l("common.save"),submitIcon:Ji,loadingText:I.total>1?l("queue.savingProgress",{current:I.current,total:I.total}):l("common.saving")}})(),we=Te.icon,$e=Te.submitIcon,Ge=W&&(d||(pe?m!==null:!0));return a.jsx("div",{className:"fixed inset-0 bg-black/70 flex items-center justify-center z-50 p-4",onClick:$?void 0:s,children:a.jsx(St,{className:"w-full max-w-lg max-h-[90vh] overflow-y-auto",onClick:ze=>ze.stopPropagation(),children:a.jsxs(Et,{className:t==="reprint"?"":"p-0",children:[a.jsxs("div",{className:`flex items-center justify-between ${t==="reprint"?"mb-4":"p-4 border-b border-bambu-dark-tertiary"}`,children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(we,{className:"w-5 h-5 text-bambu-green"}),a.jsx("h2",{className:"text-lg font-semibold text-white",children:Te.title})]}),a.jsx(Ne,{variant:"ghost",size:"sm",onClick:s,disabled:$,children:a.jsx(Lt,{className:"w-5 h-5"})})]}),a.jsxs("form",{onSubmit:Z,className:t==="reprint"?"":"p-4 space-y-4",children:[a.jsx("p",{className:`text-sm text-bambu-gray ${t==="reprint"?"mb-4":""}`,children:t==="reprint"?a.jsxs(a.Fragment,{children:["Send ",a.jsx("span",{className:"text-white",children:r})," to printer(s)"]}):a.jsxs(a.Fragment,{children:[a.jsx("span",{className:"block text-bambu-gray mb-1",children:"Print Job"}),a.jsx("span",{className:"text-white font-medium truncate block",children:r})]})}),a.jsx(V8e,{plates:ee,isMultiPlate:pe,selectedPlate:m,onSelect:b}),a.jsx($8e,{printers:ne||[],selectedPrinterIds:h,onMultiSelect:p,isLoading:me,allowMultiple:!0,showInactive:t==="edit-queue-item",printerMappingResults:le.printerResults,filamentReqs:q,onAutoConfigurePrinter:le.autoConfigurePrinter,onUpdatePrinterConfig:le.updatePrinterConfig,assignmentMode:t==="reprint"?"printer":k,onAssignmentModeChange:t!=="reprint"?R:void 0,targetModel:C,onTargetModelChange:t!=="reprint"?P:void 0,targetLocation:U,onTargetLocationChange:t!=="reprint"?F:void 0,slicedForModel:Re}),Re&&k==="printer"&&h.length===1&&(()=>{const ze=ne?.find(be=>be.id===h[0]);return ze&&ze.model&&Re!==ze.model?a.jsxs("div",{className:"p-3 mb-2 bg-yellow-500/10 border border-yellow-500/30 rounded-lg flex items-center gap-2",children:[a.jsx(En,{className:"w-4 h-4 text-yellow-400 flex-shrink-0"}),a.jsxs("span",{className:"text-sm text-yellow-400",children:["File was sliced for ",Re,", but printing on ",ze.model]})]}):null})(),ue&&a.jsxs("div",{className:"flex items-start gap-2 p-3 mb-2 bg-orange-500/10 border border-orange-500/30 rounded-lg text-sm",children:[a.jsx(Ti,{className:"w-4 h-4 text-orange-400 mt-0.5 flex-shrink-0"}),a.jsx("p",{className:"text-orange-400",children:"Archive data unavailable. The source file may have been deleted. Filament mapping is disabled."})]}),Ge&&!ue&&h.length===1&&a.jsx(G8e,{printerId:W,filamentReqs:q,manualMappings:N,onManualMappingChange:T,defaultExpanded:J?.per_printer_mapping_expanded??!1}),(t==="reprint"||B>0||k==="model"&&C)&&a.jsx(W8e,{options:y,onChange:x}),t!=="reprint"&&a.jsx(K8e,{options:v,onChange:S,dateFormat:J?.date_format||"system",timeFormat:J?.time_format||"system"}),O.isError&&a.jsx("div",{className:"mb-4 p-3 bg-red-500/20 border border-red-500/50 rounded-lg text-sm text-red-400",children:O.error?.message||"Failed to complete operation"}),a.jsxs("div",{className:`flex gap-3 ${t==="reprint"?"":"pt-2"}`,children:[a.jsx(Ne,{type:"button",variant:"secondary",onClick:s,className:"flex-1",disabled:$,children:"Cancel"}),a.jsx(Ne,{type:"submit",disabled:!Ce,className:"flex-1",children:ge?a.jsxs(a.Fragment,{children:[a.jsx(ct,{className:"w-4 h-4 animate-spin"}),Te.loadingText]}):a.jsxs(a.Fragment,{children:[a.jsx($e,{className:"w-4 h-4"}),Te.submitText]})})]})]})]})})})}function Y8e({onClose:t,initialFiles:e}){const{t:n}=Yt(),r=an(),{showToast:i}=Tn(),s=_.useRef(null),[o,l]=_.useState(()=>e?.filter(M=>M.name.endsWith(".3mf")).map(M=>({file:M,status:"pending"}))||[]),[c,u]=_.useState(!1),[d,h]=_.useState(null);_.useEffect(()=>{const M=A=>{A.key==="Escape"&&t()};return window.addEventListener("keydown",M),()=>window.removeEventListener("keydown",M)},[t]);const p=dt({mutationFn:M=>ae.uploadArchivesBulk(M),onSuccess:M=>{h(M),r.invalidateQueries({queryKey:["archives"]}),r.invalidateQueries({queryKey:["archiveStats"]}),l(A=>A.map(k=>{const R=M.results.find(P=>P.filename===k.file.name),C=M.errors.find(P=>P.filename===k.file.name);return R?{...k,status:"success",archiveId:R.id}:C?{...k,status:"error",error:C.error}:k})),M.failed===0?i(`${M.uploaded} file${M.uploaded!==1?"s":""} uploaded`):M.uploaded===0?i(`Failed to upload ${M.failed} file${M.failed!==1?"s":""}`,"error"):i(`${M.uploaded} uploaded, ${M.failed} failed`,"warning")},onError:()=>{l(M=>M.map(A=>({...A,status:"error",error:"Upload failed"}))),i("Upload failed","error")}}),m=_.useCallback(M=>{M.preventDefault(),u(!0)},[]),b=_.useCallback(M=>{M.preventDefault(),u(!1)},[]),y=_.useCallback(M=>{M.preventDefault(),u(!1);const A=Array.from(M.dataTransfer.files).filter(k=>k.name.endsWith(".3mf"));A.length>0&&l(k=>[...k,...A.map(R=>({file:R,status:"pending"}))])},[]),x=_.useCallback(M=>{const A=Array.from(M.target.files||[]).filter(k=>k.name.endsWith(".3mf"));A.length>0&&l(k=>[...k,...A.map(R=>({file:R,status:"pending"}))]),s.current&&(s.current.value="")},[]),v=_.useCallback(M=>{l(A=>A.filter((k,R)=>R!==M))},[]),S=()=>{if(o.length===0)return;const M=o.filter(A=>A.status==="pending");M.length!==0&&(l(A=>A.map(k=>k.status==="pending"?{...k,status:"uploading"}:k)),p.mutate(M.map(A=>A.file)))},N=o.filter(M=>M.status==="pending").length,T=p.isPending;return a.jsx("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50 p-4",children:a.jsx(St,{className:"w-full max-w-2xl max-h-[90vh] flex flex-col",children:a.jsxs(Et,{className:"p-0 flex flex-col h-full",children:[a.jsxs("div",{className:"flex items-center justify-between p-4 border-b border-bambu-dark-tertiary",children:[a.jsx("h2",{className:"text-xl font-semibold text-white",children:n("uploadModal.title")}),a.jsx("button",{onClick:t,className:"text-bambu-gray hover:text-white transition-colors",children:a.jsx(Lt,{className:"w-5 h-5"})})]}),a.jsx("div",{className:"p-4",children:a.jsxs("div",{className:`border-2 border-dashed rounded-lg p-8 text-center transition-colors ${c?"border-bambu-green bg-bambu-green/10":"border-bambu-dark-tertiary hover:border-bambu-gray"}`,onDragOver:m,onDragLeave:b,onDrop:y,children:[a.jsx(Na,{className:"w-12 h-12 mx-auto mb-4 text-bambu-gray"}),a.jsx("p",{className:"text-white mb-2",children:n("uploadModal.dragDrop")}),a.jsx("p",{className:"text-bambu-gray text-sm mb-4",children:n("uploadModal.or")}),a.jsx(Ne,{variant:"secondary",onClick:()=>s.current?.click(),disabled:T,children:n("uploadModal.browseFiles")}),a.jsx("input",{ref:s,type:"file",accept:".3mf",multiple:!0,className:"hidden",onChange:x})]})}),a.jsx("div",{className:"px-4 pb-4",children:a.jsx("p",{className:"text-xs text-bambu-gray",children:n("uploadModal.extractionInfo")})}),o.length>0&&a.jsx("div",{className:"px-4 pb-4 max-h-60 overflow-y-auto",children:a.jsx("div",{className:"space-y-2",children:o.map((M,A)=>a.jsxs("div",{className:"flex items-center gap-3 p-3 bg-bambu-dark rounded-lg",children:[a.jsx(xk,{className:"w-5 h-5 text-bambu-gray flex-shrink-0"}),a.jsx("span",{className:"flex-1 text-white text-sm truncate",children:M.file.name}),a.jsxs("span",{className:"text-xs text-bambu-gray",children:[(M.file.size/(1024*1024)).toFixed(1)," MB"]}),M.status==="pending"&&a.jsx("button",{onClick:()=>v(A),className:"text-bambu-gray hover:text-red-400 transition-colors",disabled:T,children:a.jsx(Lt,{className:"w-4 h-4"})}),M.status==="uploading"&&a.jsx(ct,{className:"w-4 h-4 text-bambu-green animate-spin"}),M.status==="success"&&a.jsx(mr,{className:"w-4 h-4 text-bambu-green"}),M.status==="error"&&a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("span",{className:"text-xs text-red-400",children:M.error}),a.jsx(Ti,{className:"w-4 h-4 text-red-400"})]})]},`${M.file.name}-${A}`))})}),d&&a.jsx("div",{className:"px-4 pb-4",children:a.jsx("div",{className:"p-3 bg-bambu-dark rounded-lg",children:a.jsxs("p",{className:"text-sm text-white",children:[a.jsx("span",{className:"text-bambu-green",children:d.uploaded})," ",n("uploadModal.uploaded"),d.failed>0&&a.jsxs(a.Fragment,{children:[", ",a.jsx("span",{className:"text-red-400",children:d.failed})," ",n("uploadModal.failed")]})]})})}),a.jsxs("div",{className:"flex gap-3 p-4 border-t border-bambu-dark-tertiary",children:[a.jsx(Ne,{variant:"secondary",onClick:t,className:"flex-1",children:n(d?"common.close":"common.cancel")}),!d&&a.jsx(Ne,{onClick:S,disabled:N===0||T,className:"flex-1",children:T?a.jsxs(a.Fragment,{children:[a.jsx(ct,{className:"w-4 h-4 animate-spin"}),n("uploadModal.uploading")]}):a.jsxs(a.Fragment,{children:[a.jsx(Na,{className:"w-4 h-4"}),n("uploadModal.upload")," ",N>0&&`(${N})`]})})]})]})})})}const Q8e=["adhesionFailure","spaghettiDetached","layerShift","cloggedNozzle","filamentRunout","warping","stringing","underExtrusion","powerFailure","userCancelled","other"],Z8e=["completed","failed","aborted","printing"];function Bee({archive:t,onClose:e,existingTags:n=[]}){const{t:r}=Yt();_.useEffect(()=>{const se=ke=>{ke.key==="Escape"&&e()};return window.addEventListener("keydown",se),()=>window.removeEventListener("keydown",se)},[e]);const i=an(),[s,o]=_.useState(t.print_name||""),[l,c]=_.useState(t.printer_id),[u,d]=_.useState(t.project_id??null),[h,p]=_.useState(t.notes||""),[m,b]=_.useState(t.tags||""),[y,x]=_.useState(t.failure_reason||""),[v,S]=_.useState(t.status),[N,T]=_.useState(t.quantity??1),[M,A]=_.useState(t.photos||[]),[k,R]=_.useState(t.external_url||""),[C,P]=_.useState(!1),[U,F]=_.useState(!1),H=_.useRef(null),D=_.useRef(null),$=_.useRef(null),{data:G}=it({queryKey:["printers"],queryFn:ae.getPrinters}),{data:I}=it({queryKey:["projects"],queryFn:()=>ae.getProjects()}),{data:K}=it({queryKey:["tags"],queryFn:ae.getTags,enabled:n.length===0}),Q=n.length>0?n:K?.map(se=>se.name)||[],oe=m.split(",").map(se=>se.trim()).filter(Boolean),B=m.includes(",")?m.substring(m.lastIndexOf(",")+1).trim().toLowerCase():m.trim().toLowerCase(),W=Q.filter(se=>!oe.includes(se)&&(B===""||se.toLowerCase().includes(B))),J=se=>{let ke;if(B&&!Q.includes(B)?ke=m.includes(",")?m.substring(0,m.lastIndexOf(",")).split(",").map(Fe=>Fe.trim()).filter(Boolean):[]:ke=oe,!ke.includes(se)){const Fe=[...ke,se].join(", ");b(Fe)}$.current!==null&&clearTimeout($.current),H.current?.focus()},ne=se=>{const ke=oe.filter(Fe=>Fe!==se).join(", ");b(ke)},me=dt({mutationFn:se=>ae.updateArchive(t.id,se),onSuccess:()=>{i.invalidateQueries({queryKey:["archives"]}),i.invalidateQueries({queryKey:["projects"]}),e()}}),fe=async se=>{const ke=se.target.files?.[0];if(ke){P(!0);try{const Fe=await ae.uploadArchivePhoto(t.id,ke);A(Fe.photos),i.invalidateQueries({queryKey:["archives"]})}catch(Fe){console.error("Failed to upload photo:",Fe)}finally{P(!1),D.current&&(D.current.value="")}}},de=async se=>{try{const ke=await ae.deleteArchivePhoto(t.id,se);A(ke.photos||[]),i.invalidateQueries({queryKey:["archives"]})}catch(ke){console.error("Failed to delete photo:",ke)}},Re=se=>{se.preventDefault();const ke={print_name:s||void 0,printer_id:l,project_id:u,notes:h||void 0,tags:m||void 0,quantity:N,external_url:k||null};v!==t.status&&(ke.status=v),v==="failed"||v==="aborted"?ke.failure_reason=y||void 0:(t.status==="failed"||t.status==="aborted")&&(ke.failure_reason=null),me.mutate(ke)};return a.jsx("div",{className:"fixed inset-0 bg-black/70 flex items-center justify-center z-50 p-4",onClick:e,children:a.jsxs("div",{className:"bg-bambu-dark-secondary rounded-xl border border-bambu-dark-tertiary w-full max-w-md max-h-[90vh] flex flex-col",onClick:se=>se.stopPropagation(),children:[a.jsxs("div",{className:"flex items-center justify-between px-6 py-4 border-b border-bambu-dark-tertiary",children:[a.jsx("h2",{className:"text-lg font-semibold text-white",children:r("editArchive.title")}),a.jsx("button",{onClick:e,className:"text-bambu-gray hover:text-white transition-colors",children:a.jsx(Lt,{className:"w-5 h-5"})})]}),a.jsxs("form",{onSubmit:Re,className:"p-6 space-y-4 overflow-y-auto flex-1",children:[a.jsxs("div",{children:[a.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:r("editArchive.name")}),a.jsx("input",{type:"text",value:s,onChange:se=>o(se.target.value),className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",placeholder:r("editArchive.namePlaceholder")})]}),a.jsxs("div",{children:[a.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:r("editArchive.printer")}),a.jsxs("select",{value:l??"",onChange:se=>c(se.target.value?Number(se.target.value):null),className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",children:[a.jsx("option",{value:"",children:r("editArchive.noPrinter")}),G?.map(se=>a.jsx("option",{value:se.id,children:se.name},se.id))]})]}),a.jsxs("div",{children:[a.jsxs("label",{className:"block text-sm text-bambu-gray mb-1",children:[a.jsx(rs,{className:"w-4 h-4 inline mr-1"}),r("editArchive.project")]}),a.jsxs("select",{value:u??"",onChange:se=>d(se.target.value?Number(se.target.value):null),className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",children:[a.jsx("option",{value:"",children:r("editArchive.noProject")}),I?.map(se=>a.jsx("option",{value:se.id,children:se.name},se.id))]})]}),a.jsxs("div",{children:[a.jsxs("label",{className:"block text-sm text-bambu-gray mb-1",children:[a.jsx(_de,{className:"w-4 h-4 inline mr-1"}),r("editArchive.itemsPrinted")]}),a.jsx("input",{type:"number",min:1,value:N,onChange:se=>T(Math.max(1,parseInt(se.target.value)||1)),className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",placeholder:"1"}),a.jsx("p",{className:"text-xs text-bambu-gray mt-1",children:r("editArchive.itemsPrintedHelp")})]}),a.jsxs("div",{children:[a.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:r("editArchive.notes")}),a.jsx("textarea",{value:h,onChange:se=>p(se.target.value),rows:3,className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none resize-none",placeholder:r("editArchive.notesPlaceholder")})]}),a.jsxs("div",{children:[a.jsxs("label",{className:"block text-sm text-bambu-gray mb-1",children:[a.jsx($y,{className:"w-4 h-4 inline mr-1"}),r("editArchive.externalLink")]}),a.jsx("input",{type:"url",value:k,onChange:se=>R(se.target.value),className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",placeholder:"https://printables.com/model/..."}),a.jsx("p",{className:"text-xs text-bambu-gray mt-1",children:r("editArchive.externalLinkHelp")})]}),a.jsxs("div",{children:[a.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:r("editArchive.tags")}),oe.length>0&&a.jsx("div",{className:"flex flex-wrap gap-1.5 mb-2",children:oe.map(se=>a.jsxs("span",{className:"inline-flex items-center gap-1 px-2 py-0.5 bg-bambu-dark-tertiary rounded text-sm text-white",children:[a.jsx(Th,{className:"w-3 h-3"}),se,a.jsx("button",{type:"button",onClick:()=>ne(se),className:"ml-0.5 text-bambu-gray hover:text-white",children:a.jsx(Lt,{className:"w-3 h-3"})})]},se))}),a.jsxs("div",{className:"relative",children:[a.jsx("input",{ref:H,type:"text",value:m,onChange:se=>b(se.target.value),onFocus:()=>{$.current!==null&&clearTimeout($.current),F(!0)},onBlur:()=>{$.current=window.setTimeout(()=>F(!1),200)},className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",placeholder:oe.length>0?r("editArchive.addMoreTags"):r("editArchive.tagsPlaceholder")}),U&&W.length>0&&a.jsxs("div",{className:"absolute top-full left-0 right-0 mt-1 bg-bambu-dark-secondary border border-bambu-dark-tertiary rounded-lg shadow-lg z-10 max-h-40 overflow-y-auto",children:[a.jsxs("div",{className:"p-2 text-xs text-bambu-gray border-b border-bambu-dark-tertiary",children:[B?r("editArchive.matchingTags",{query:B}):r("editArchive.existingTags")," ",r("editArchive.clickToAdd")]}),a.jsx("div",{className:"p-2 flex flex-wrap gap-1.5",children:W.map(se=>a.jsx("button",{type:"button",onClick:()=>J(se),className:"px-2 py-0.5 bg-bambu-dark-tertiary hover:bg-bambu-green/20 rounded text-sm text-bambu-gray hover:text-white transition-colors",children:se},se))})]})]})]}),a.jsxs("div",{children:[a.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:r("editArchive.status")}),a.jsx("select",{value:v,onChange:se=>{S(se.target.value),se.target.value==="completed"&&x("")},className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",children:Z8e.map(se=>a.jsx("option",{value:se,children:r(`editArchive.statuses.${se}`)},se))})]}),(v==="failed"||v==="aborted")&&a.jsxs("div",{children:[a.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:r("editArchive.failureReason")}),a.jsxs("select",{value:y,onChange:se=>x(se.target.value),className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",children:[a.jsx("option",{value:"",children:r("editArchive.selectReason")}),Q8e.map(se=>a.jsx("option",{value:r(`editArchive.failureReasons.${se}`),children:r(`editArchive.failureReasons.${se}`)},se))]})]}),a.jsxs("div",{children:[a.jsxs("label",{className:"block text-sm text-bambu-gray mb-1",children:[a.jsx($g,{className:"w-4 h-4 inline mr-1"}),r("editArchive.photos")]}),a.jsxs("div",{className:"flex flex-wrap gap-2 mb-2",children:[M.map(se=>a.jsxs("div",{className:"relative group",children:[a.jsx("img",{src:ae.getArchivePhotoUrl(t.id,se),alt:r("editArchive.printResult"),className:"w-20 h-20 object-cover rounded-lg border border-bambu-dark-tertiary"}),a.jsx("button",{type:"button",onClick:()=>de(se),className:"absolute -top-1 -right-1 p-1 bg-red-500 rounded-full opacity-0 group-hover:opacity-100 transition-opacity",children:a.jsx(ln,{className:"w-3 h-3 text-white"})})]},se)),a.jsxs("label",{className:"w-20 h-20 flex items-center justify-center border-2 border-dashed border-bambu-dark-tertiary rounded-lg cursor-pointer hover:border-bambu-green transition-colors",children:[a.jsx("input",{ref:D,type:"file",accept:"image/jpeg,image/png,image/webp",onChange:fe,className:"hidden",disabled:C}),C?a.jsx(ct,{className:"w-6 h-6 text-bambu-gray animate-spin"}):a.jsx(cr,{className:"w-6 h-6 text-bambu-gray"})]})]}),a.jsx("p",{className:"text-xs text-bambu-gray",children:r("editArchive.photosHelp")})]}),a.jsxs("div",{className:"flex gap-3 pt-2",children:[a.jsx(Ne,{type:"button",variant:"secondary",onClick:e,className:"flex-1",children:r("common.cancel")}),a.jsxs(Ne,{type:"submit",disabled:me.isPending,className:"flex-1",children:[a.jsx(vs,{className:"w-4 h-4"}),me.isPending?r("common.saving"):r("common.save")]})]})]})]})})}function Hee({x:t,y:e,items:n,onClose:r}){const i=_.useRef(null),[s,o]=_.useState(null),l=_.useRef(null),[c,u]=_.useState({x:t,y:e,visible:!1}),[d,h]=_.useState(!1),[p,m]=_.useState({});_.useEffect(()=>{const x=N=>{i.current&&!i.current.contains(N.target)&&r()},v=N=>{N.key==="Escape"&&r()},S=()=>{r()};return document.addEventListener("mousedown",x),document.addEventListener("keydown",v),document.addEventListener("scroll",S,!0),()=>{document.removeEventListener("mousedown",x),document.removeEventListener("keydown",v),document.removeEventListener("scroll",S,!0),l.current&&clearTimeout(l.current)}},[r]),_.useLayoutEffect(()=>{if(i.current){i.current.style.visibility="hidden",i.current.style.display="block";const x=i.current.getBoundingClientRect(),v=window.innerWidth,S=window.innerHeight,N=8;let T=t,M=e;t+x.width>v-N&&(T=Math.max(N,v-x.width-N)),TS-N&&(M=Math.max(N,S-x.height-N)),MA),u({x:T,y:M,visible:!0})}},[t,e]);const b=(x,v)=>{l.current&&(clearTimeout(l.current),l.current=null);const S=v.getBoundingClientRect(),N=window.innerHeight,T=300,k=N-S.top-8T;m(R=>({...R,[x]:k?"bottom":"top"})),o(x)},y=()=>{l.current=window.setTimeout(()=>{o(null)},150)};return a.jsx("div",{ref:i,className:"fixed z-50 min-w-[180px] max-w-[280px] bg-bambu-dark-secondary border border-bambu-dark-tertiary rounded-lg shadow-xl py-1",style:{left:c.x,top:c.y,visibility:c.visible?"visible":"hidden"},children:n.map((x,v)=>{if(x.divider)return a.jsx("div",{className:"my-1 border-t border-bambu-dark-tertiary"},v);const S=x.submenu&&x.submenu.length>0;return a.jsxs("div",{className:"relative",onMouseEnter:N=>S&&b(v,N.currentTarget),onMouseLeave:()=>S&&y(),children:[a.jsxs("button",{onMouseEnter:N=>S&&b(v,N.currentTarget.parentElement),onClick:()=>{S?o(s===v?null:v):x.disabled||(x.onClick(),r())},disabled:x.disabled,title:x.title,className:`w-full flex items-center gap-2 px-3 py-2 text-sm text-left transition-colors ${x.disabled?"text-bambu-gray cursor-not-allowed":x.danger?"text-red-400 hover:bg-red-400/10":"text-white hover:bg-bambu-dark-tertiary"} ${S&&s===v?"bg-bambu-dark-tertiary":""}`,children:[x.icon&&a.jsx("span",{className:"w-4 h-4 flex-shrink-0 flex items-center justify-center",children:x.icon}),a.jsx("span",{className:"flex-1",children:x.label}),S&&a.jsx(ks,{className:"w-4 h-4 text-bambu-gray"})]}),S&&s===v&&a.jsx("div",{className:`absolute min-w-[160px] bg-bambu-dark-secondary border border-bambu-dark-tertiary rounded-lg shadow-xl py-1 overflow-hidden max-h-[300px] overflow-y-auto z-[60] ${d?"right-full mr-1":"left-full ml-1"} ${p[v]==="bottom"?"bottom-0":"top-0"}`,onMouseEnter:()=>{l.current&&(clearTimeout(l.current),l.current=null)},onMouseLeave:()=>y(),children:x.submenu.map((N,T)=>a.jsxs("button",{onClick:()=>{N.disabled||(N.onClick(),r())},disabled:N.disabled,className:`w-full flex items-center gap-2 px-3 py-2 text-sm text-left transition-colors ${N.disabled?"text-bambu-gray cursor-not-allowed":N.danger?"text-red-400 hover:bg-red-400/10":"text-white hover:bg-bambu-dark-tertiary"}`,children:[N.icon&&a.jsx("span",{className:"w-4 h-4 flex-shrink-0 flex items-center justify-center",children:N.icon}),N.label]},T))})]},v)})})}function J8e({selectedIds:t,existingTags:e,onClose:n}){const r=an(),{showToast:i}=Tn(),[s,o]=_.useState(""),[l,c]=_.useState(new Set),[u,d]=_.useState("add");_.useEffect(()=>{const y=x=>{x.key==="Escape"&&n()};return window.addEventListener("keydown",y),()=>window.removeEventListener("keydown",y)},[n]);const h=dt({mutationFn:async()=>{const y=Array.from(l);let x=0;for(const v of t)try{const S=await ae.getArchive(v),N=S.tags?S.tags.split(",").map(M=>M.trim()).filter(Boolean):[];let T;u==="add"?T=[...new Set([...N,...y])]:T=N.filter(M=>!l.has(M)),await ae.updateArchive(v,{tags:T.join(", ")}),x++}catch(S){throw console.error(`Failed to update archive ${v}:`,S),new Error(`Failed on archive ${v}: ${S instanceof Error?S.message:"Unknown error"}`)}return{count:x,mode:u,tags:y}},onSuccess:({count:y,mode:x,tags:v})=>{r.invalidateQueries({queryKey:["archives"]}),i(`${x==="add"?"Added":"Removed"} ${v.length} tag${v.length!==1?"s":""} ${x==="add"?"to":"from"} ${y} archive${y!==1?"s":""}`),n()},onError:y=>{i(y.message||"Failed to update tags","error")}}),p=y=>{c(x=>{const v=new Set(x);return v.has(y)?v.delete(y):v.add(y),v})},m=()=>{s.trim()&&!l.has(s.trim())&&(c(y=>new Set([...y,s.trim()])),o(""))},b=y=>{y.key==="Enter"&&(y.preventDefault(),m())};return a.jsx("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50 p-4",children:a.jsx(St,{className:"w-full max-w-md",children:a.jsxs(Et,{className:"p-0",children:[a.jsxs("div",{className:"flex items-center justify-between p-4 border-b border-bambu-dark-tertiary",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(Th,{className:"w-5 h-5 text-bambu-green"}),a.jsx("h2",{className:"text-xl font-semibold text-white",children:u==="add"?"Add Tags":"Remove Tags"})]}),a.jsx("button",{onClick:n,className:"text-bambu-gray hover:text-white transition-colors",children:a.jsx(Lt,{className:"w-5 h-5"})})]}),a.jsxs("div",{className:"p-4 space-y-4",children:[a.jsxs("p",{className:"text-sm text-bambu-gray",children:[u==="add"?"Add":"Remove"," tags for ",t.length," selected archive",t.length!==1?"s":""]}),a.jsxs("div",{className:"flex gap-2",children:[a.jsx(Ne,{size:"sm",variant:u==="add"?"primary":"secondary",onClick:()=>d("add"),children:"Add Tags"}),a.jsx(Ne,{size:"sm",variant:u==="remove"?"primary":"secondary",onClick:()=>d("remove"),children:"Remove Tags"})]}),u==="add"&&a.jsxs("div",{className:"flex gap-2",children:[a.jsx("input",{type:"text",placeholder:"Enter new tag...",className:"flex-1 px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white text-sm focus:border-bambu-green focus:outline-none",value:s,onChange:y=>o(y.target.value),onKeyDown:b}),a.jsx(Ne,{size:"sm",variant:"secondary",onClick:m,disabled:!s.trim(),children:a.jsx(cr,{className:"w-4 h-4"})})]}),e.length>0&&a.jsxs("div",{children:[a.jsx("p",{className:"text-xs text-bambu-gray mb-2",children:"Existing tags:"}),a.jsx("div",{className:"flex flex-wrap gap-2",children:e.map(y=>a.jsx("button",{onClick:()=>p(y),className:`px-2 py-1 rounded text-sm transition-colors ${l.has(y)?"bg-bambu-green text-white":"bg-bambu-dark-tertiary text-bambu-gray-light hover:bg-bambu-dark"}`,children:y},y))})]}),l.size>0&&a.jsxs("div",{children:[a.jsxs("p",{className:"text-xs text-bambu-gray mb-2",children:["Tags to ",u==="add"?"add":"remove",":"]}),a.jsx("div",{className:"flex flex-wrap gap-2",children:Array.from(l).map(y=>a.jsxs("span",{className:`px-2 py-1 rounded text-sm flex items-center gap-1 ${u==="add"?"bg-green-500/20 text-green-400":"bg-red-500/20 text-red-400"}`,children:[y,a.jsx("button",{onClick:()=>p(y),className:"hover:opacity-70",children:a.jsx(Lt,{className:"w-3 h-3"})})]},y))})]})]}),a.jsxs("div",{className:"flex gap-3 p-4 border-t border-bambu-dark-tertiary",children:[a.jsx(Ne,{variant:"secondary",onClick:n,className:"flex-1",children:"Cancel"}),a.jsx(Ne,{onClick:()=>h.mutate(),disabled:l.size===0||h.isPending,className:"flex-1",children:h.isPending?a.jsxs(a.Fragment,{children:[a.jsx(ct,{className:"w-4 h-4 animate-spin"}),"Processing..."]}):a.jsxs(a.Fragment,{children:[a.jsx(Th,{className:"w-4 h-4"}),u==="add"?"Add Tags":"Remove Tags"]})})]})]})})})}function e6e({selectedIds:t,onClose:e}){const n=an(),{showToast:r}=Tn(),{data:i,isLoading:s}=it({queryKey:["projects"],queryFn:()=>ae.getProjects()});_.useEffect(()=>{const d=h=>{h.key==="Escape"&&e()};return window.addEventListener("keydown",d),()=>window.removeEventListener("keydown",d)},[e]);const o=()=>{n.invalidateQueries({queryKey:["archives"]}),n.invalidateQueries({queryKey:["projects"]}),n.invalidateQueries({queryKey:["project"]}),n.invalidateQueries({queryKey:["project-archives"]})},l=dt({mutationFn:async d=>(await ae.addArchivesToProject(d,t),d),onSuccess:d=>{const h=i?.find(p=>p.id===d);o(),r(`Added ${t.length} archive${t.length!==1?"s":""} to "${h?.name}"`),e()},onError:()=>{r("Failed to assign project","error")}}),c=dt({mutationFn:async()=>{for(const d of t)await ae.updateArchive(d,{project_id:null});return t.length},onSuccess:d=>{o(),r(`Removed ${d} archive${d!==1?"s":""} from project`),e()},onError:()=>{r("Failed to remove from project","error")}}),u=l.isPending||c.isPending;return a.jsx("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50 p-4",children:a.jsx(St,{className:"w-full max-w-md max-h-[80vh] flex flex-col",children:a.jsxs(Et,{className:"p-0 flex flex-col min-h-0",children:[a.jsxs("div",{className:"flex items-center justify-between p-4 border-b border-bambu-dark-tertiary shrink-0",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(rs,{className:"w-5 h-5 text-bambu-green"}),a.jsx("h2",{className:"text-xl font-semibold text-white",children:"Assign to Project"})]}),a.jsx("button",{onClick:e,className:"text-bambu-gray hover:text-white transition-colors",disabled:u,children:a.jsx(Lt,{className:"w-5 h-5"})})]}),a.jsxs("div",{className:"p-4 space-y-3 overflow-y-auto min-h-0",children:[a.jsxs("p",{className:"text-sm text-bambu-gray",children:["Assign ",t.length," selected archive",t.length!==1?"s":""," to a project"]}),s?a.jsx("div",{className:"flex items-center justify-center py-8",children:a.jsx(ct,{className:"w-6 h-6 animate-spin text-bambu-gray"})}):a.jsxs("div",{className:"space-y-2",children:[a.jsxs("button",{onClick:()=>c.mutate(),disabled:u,className:"w-full flex items-center gap-3 p-3 rounded-lg bg-bambu-dark hover:bg-bambu-dark-tertiary border border-bambu-dark-tertiary transition-colors text-left disabled:opacity-50",children:[a.jsx("div",{className:"w-8 h-8 rounded-full bg-red-500/20 flex items-center justify-center shrink-0",children:a.jsx(Zi,{className:"w-4 h-4 text-red-400"})}),a.jsxs("div",{className:"min-w-0 flex-1",children:[a.jsx("p",{className:"text-white font-medium",children:"Remove from project"}),a.jsx("p",{className:"text-sm text-bambu-gray truncate",children:"Clear project assignment"})]}),c.isPending&&a.jsx(ct,{className:"w-4 h-4 animate-spin text-bambu-gray shrink-0"})]}),i&&i.length>0&&a.jsxs("div",{className:"flex items-center gap-2 py-2",children:[a.jsx("div",{className:"flex-1 h-px bg-bambu-dark-tertiary"}),a.jsx("span",{className:"text-xs text-bambu-gray",children:"or assign to"}),a.jsx("div",{className:"flex-1 h-px bg-bambu-dark-tertiary"})]}),i?.map(d=>a.jsxs("button",{onClick:()=>l.mutate(d.id),disabled:u,className:"w-full flex items-center gap-3 p-3 rounded-lg bg-bambu-dark hover:bg-bambu-dark-tertiary border border-bambu-dark-tertiary transition-colors text-left disabled:opacity-50",children:[a.jsx("div",{className:"w-8 h-8 rounded-full flex items-center justify-center shrink-0",style:{backgroundColor:d.color?`${d.color}20`:"rgb(var(--bambu-green) / 0.2)"},children:a.jsx(rs,{className:"w-4 h-4",style:{color:d.color||"rgb(var(--bambu-green))"}})}),a.jsxs("div",{className:"min-w-0 flex-1",children:[a.jsx("p",{className:"text-white font-medium truncate",children:d.name}),a.jsxs("p",{className:"text-sm text-bambu-gray truncate",children:[d.archive_count," archive",d.archive_count!==1?"s":"",d.status&&` • ${d.status}`]})]}),l.isPending&&l.variables===d.id&&a.jsx(ct,{className:"w-4 h-4 animate-spin text-bambu-gray shrink-0"})]},d.id)),(!i||i.length===0)&&a.jsx("p",{className:"text-center text-bambu-gray py-4",children:"No projects yet. Create one from the Projects page."})]})]}),a.jsx("div",{className:"flex gap-3 p-4 border-t border-bambu-dark-tertiary shrink-0",children:a.jsx(Ne,{variant:"secondary",onClick:e,className:"flex-1",disabled:u,children:"Cancel"})})]})})})}function t6e(t,e){return new Date(t,e+1,0).getDate()}function n6e(t,e){return new Date(t,e,1).getDay()}const r6e=["January","February","March","April","May","June","July","August","September","October","November","December"],i6e=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];function a6e({archives:t,onArchiveClick:e,highlightedArchiveId:n}){const r=new Date,[i,s]=_.useState(r.getMonth()),[o,l]=_.useState(r.getFullYear()),[c,u]=_.useState(null),[d,h]=_.useState(null),p=_.useMemo(()=>{const M=new Map;return t.forEach(A=>{const k=zi(A.completed_at||A.created_at)||new Date,R=`${k.getFullYear()}-${String(k.getMonth()+1).padStart(2,"0")}-${String(k.getDate()).padStart(2,"0")}`,C=M.get(R)||[];C.push(A),M.set(R,C)}),M},[t]),m=t6e(o,i),b=n6e(o,i),y=()=>{i===0?(s(11),l(o-1)):s(i-1)},x=()=>{i===11?(s(0),l(o+1)):s(i+1)},v=()=>{s(r.getMonth()),l(r.getFullYear())},S=[];for(let M=0;M{M!==c&&h(null),u(M)};return a.jsxs("div",{className:"flex flex-col lg:flex-row gap-6",children:[a.jsxs("div",{className:"flex-1",children:[a.jsxs("div",{className:"flex items-center justify-between mb-4",children:[a.jsx("button",{onClick:y,className:"p-2 hover:bg-bambu-dark-tertiary rounded-lg transition-colors",children:a.jsx(Eh,{className:"w-5 h-5 text-bambu-gray"})}),a.jsxs("div",{className:"flex items-center gap-3",children:[a.jsxs("h2",{className:"text-lg font-semibold text-white",children:[r6e[i]," ",o]}),a.jsx("button",{onClick:v,className:"px-2 py-1 text-xs bg-bambu-dark-tertiary hover:bg-bambu-green/20 text-bambu-gray hover:text-white rounded transition-colors",children:"Today"})]}),a.jsx("button",{onClick:x,className:"p-2 hover:bg-bambu-dark-tertiary rounded-lg transition-colors",children:a.jsx(ks,{className:"w-5 h-5 text-bambu-gray"})})]}),a.jsx("div",{className:"grid grid-cols-7 gap-1 mb-1",children:i6e.map(M=>a.jsx("div",{className:"text-center text-xs text-bambu-gray py-2",children:M},M))}),a.jsx("div",{className:"grid grid-cols-7 gap-1",children:S.map((M,A)=>{if(M===null)return a.jsx("div",{className:"aspect-square"},`empty-${A}`);const k=`${o}-${String(i+1).padStart(2,"0")}-${String(M).padStart(2,"0")}`,R=p.get(k)||[],C=R.length>0,P=M===r.getDate()&&i===r.getMonth()&&o===r.getFullYear(),U=k===c,F=R.filter(D=>D.status==="completed").length,H=R.filter(D=>D.status==="failed").length;return a.jsxs("button",{onClick:()=>T(U?null:k),className:`aspect-square rounded-lg p-1 flex flex-col items-center justify-center transition-colors relative ${U?"bg-bambu-green text-white":P?"bg-bambu-green/20 text-white ring-2 ring-bambu-green":C?"bg-bambu-dark-tertiary hover:bg-bambu-dark-tertiary/70 text-white":"hover:bg-bambu-dark-tertiary/50 text-bambu-gray"}`,children:[a.jsx("span",{className:`text-sm font-medium ${P&&!U?"text-bambu-green":""}`,children:M}),C&&a.jsxs("div",{className:"absolute bottom-1 left-1/2 -translate-x-1/2 flex items-center gap-1",children:[a.jsx("div",{className:`w-2 h-2 rounded-full ${H>0&&F===0?"bg-red-400":H>0?"bg-yellow-400":"bg-green-400"}`}),a.jsx("span",{className:"text-xs font-medium",children:R.length})]})]},M)})}),a.jsx("div",{className:"mt-4 pt-4 border-t border-bambu-dark-tertiary",children:a.jsxs("div",{className:"grid grid-cols-3 gap-4 text-center",children:[a.jsxs("div",{children:[a.jsx("div",{className:"text-2xl font-bold text-white",children:t.filter(M=>{const A=new Date(M.completed_at||M.created_at);return A.getMonth()===i&&A.getFullYear()===o}).length}),a.jsx("div",{className:"text-xs text-bambu-gray",children:"Prints this month"})]}),a.jsxs("div",{children:[a.jsx("div",{className:"text-2xl font-bold text-green-400",children:t.filter(M=>{const A=new Date(M.completed_at||M.created_at);return A.getMonth()===i&&A.getFullYear()===o&&M.status==="completed"}).length}),a.jsx("div",{className:"text-xs text-bambu-gray",children:"Successful"})]}),a.jsxs("div",{children:[a.jsx("div",{className:"text-2xl font-bold text-red-400",children:t.filter(M=>{const A=new Date(M.completed_at||M.created_at);return A.getMonth()===i&&A.getFullYear()===o&&M.status==="failed"}).length}),a.jsx("div",{className:"text-xs text-bambu-gray",children:"Failed"})]})]})})]}),a.jsx("div",{className:"lg:w-80 bg-bambu-dark rounded-xl p-4",children:c?a.jsxs(a.Fragment,{children:[a.jsx("h3",{className:"text-sm font-medium text-bambu-gray mb-3",children:new Date(c+"T12:00:00").toLocaleDateString("en-US",{weekday:"long",month:"long",day:"numeric",year:"numeric"})}),N.length>0?a.jsx("div",{className:"space-y-2 max-h-96 overflow-y-auto",children:N.map(M=>{const A=M.id===d||M.id===n;return a.jsxs("button",{onClick:()=>{h(M.id),e?.(M)},className:`w-full flex items-center gap-3 p-2 rounded-lg transition-colors text-left ${A?"":"hover:bg-bambu-dark-tertiary"}`,style:A?{outline:"4px solid #facc15",outlineOffset:"2px"}:void 0,children:[M.thumbnail_path?a.jsx("img",{src:ae.getArchiveThumbnail(M.id),alt:"",className:"w-12 h-12 rounded object-cover"}):a.jsx("div",{className:"w-12 h-12 rounded bg-bambu-dark-tertiary flex items-center justify-center",children:a.jsx("span",{className:"text-xs text-bambu-gray",children:"3MF"})}),a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsx("p",{className:"text-sm text-white truncate",children:M.print_name||M.filename}),a.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[a.jsx("span",{className:M.status==="failed"?"text-red-400":"text-green-400",children:M.status==="failed"?"Failed":"Completed"}),M.filament_color&&a.jsx("div",{className:"flex gap-0.5",children:M.filament_color.split(",").map((k,R)=>a.jsx("div",{className:"w-3 h-3 rounded-full border border-white/20",style:{backgroundColor:k}},R))})]})]})]},M.id)})}):a.jsx("p",{className:"text-sm text-bambu-gray",children:"No prints on this day"})]}):a.jsx("div",{className:"text-center py-8",children:a.jsx("p",{className:"text-sm text-bambu-gray",children:"Select a day to see prints"})})})]})}function $ee({archiveId:t,archiveName:e,onClose:n}){const r=ae.getArchiveQRCodeUrl(t,300);_.useEffect(()=>{const s=o=>{o.key==="Escape"&&n()};return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[n]);const i=()=>{const s=document.createElement("a");s.href=r,s.download=`${e}_qrcode.png`,s.click()};return a.jsx("div",{className:"fixed inset-0 bg-black/70 flex items-center justify-center z-50 p-4",onClick:n,children:a.jsxs("div",{className:"bg-bambu-dark-secondary rounded-xl border border-bambu-dark-tertiary w-full max-w-sm",onClick:s=>s.stopPropagation(),children:[a.jsxs("div",{className:"flex items-center justify-between px-6 py-4 border-b border-bambu-dark-tertiary",children:[a.jsx("h2",{className:"text-lg font-semibold text-white",children:"QR Code"}),a.jsx("button",{onClick:n,className:"text-bambu-gray hover:text-white transition-colors",children:a.jsx(Lt,{className:"w-5 h-5"})})]}),a.jsxs("div",{className:"p-6 flex flex-col items-center",children:[a.jsx("p",{className:"text-sm text-bambu-gray mb-4 text-center truncate max-w-full",children:e}),a.jsx("div",{className:"bg-white p-4 rounded-lg mb-4",children:a.jsx("img",{src:r,alt:"QR Code",className:"w-64 h-64"})}),a.jsx("p",{className:"text-xs text-bambu-gray mb-4 text-center",children:"Scan to open this archive"}),a.jsxs(Ne,{onClick:i,className:"w-full",children:[a.jsx(wi,{className:"w-4 h-4"}),"Download QR Code"]})]})]})})}function Vee({archiveId:t,archiveName:e,photos:n,onClose:r,onDelete:i}){const[s,o]=_.useState(0),[l,c]=_.useState(!1);if(_.useEffect(()=>{const m=b=>{b.key==="Escape"&&r(),b.key==="ArrowLeft"&&o(y=>Math.max(0,y-1)),b.key==="ArrowRight"&&o(y=>Math.min(n.length-1,y+1))};return window.addEventListener("keydown",m),()=>window.removeEventListener("keydown",m)},[r,n.length]),_.useEffect(()=>{s>=n.length&&o(Math.max(0,n.length-1))},[n.length,s]),n.length===0)return r(),null;const u=n[s],d=ae.getArchivePhotoUrl(t,u),h=()=>{const m=document.createElement("a");m.href=d,m.download=`${e}_photo_${s+1}.jpg`,m.click()},p=()=>{i&&c(!0)};return a.jsxs("div",{className:"fixed inset-0 bg-black/90 flex items-center justify-center z-50",onClick:r,children:[a.jsxs("div",{className:"relative w-full h-full flex flex-col",onClick:m=>m.stopPropagation(),children:[a.jsxs("div",{className:"flex items-center justify-between px-6 py-4 bg-black/50",children:[a.jsxs("div",{children:[a.jsx("h2",{className:"text-lg font-semibold text-white",children:e}),a.jsxs("p",{className:"text-sm text-bambu-gray",children:["Photo ",s+1," of ",n.length]})]}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsxs(Ne,{variant:"secondary",size:"sm",onClick:h,children:[a.jsx(wi,{className:"w-4 h-4"}),"Download"]}),i&&a.jsx(Ne,{variant:"secondary",size:"sm",onClick:p,className:"text-red-400 hover:text-red-300",children:a.jsx(ln,{className:"w-4 h-4"})}),a.jsx("button",{onClick:r,className:"p-2 text-bambu-gray hover:text-white transition-colors",children:a.jsx(Lt,{className:"w-6 h-6"})})]})]}),a.jsxs("div",{className:"flex-1 min-h-0 flex items-center justify-center p-4 relative overflow-hidden",children:[s>0&&a.jsx("button",{onClick:()=>o(m=>m-1),className:"absolute left-4 z-10 p-3 bg-black/50 hover:bg-black/70 rounded-full transition-colors",children:a.jsx(Eh,{className:"w-8 h-8 text-white"})}),a.jsx("img",{src:d,alt:`Photo ${s+1}`,className:"max-w-full max-h-full object-contain rounded-lg",style:{maxHeight:"calc(100vh - 200px)"}}),so(m=>m+1),className:"absolute right-4 z-10 p-3 bg-black/50 hover:bg-black/70 rounded-full transition-colors",children:a.jsx(ks,{className:"w-8 h-8 text-white"})})]}),n.length>1&&a.jsx("div",{className:"flex justify-center gap-2 p-4 bg-black/50",children:n.map((m,b)=>a.jsx("button",{onClick:()=>o(b),className:`w-16 h-16 rounded-lg overflow-hidden border-2 transition-colors ${b===s?"border-bambu-green":"border-transparent hover:border-bambu-gray"}`,children:a.jsx("img",{src:ae.getArchivePhotoUrl(t,m),alt:`Thumbnail ${b+1}`,className:"w-full h-full object-cover"})},m))})]}),l&&a.jsx(er,{title:"Delete Photo",message:"Delete this photo? This cannot be undone.",confirmText:"Delete",variant:"danger",onConfirm:()=>{i?.(u),c(!1)},onCancel:()=>c(!1)})]})}function za(t){this.content=t}za.prototype={constructor:za,find:function(t){for(var e=0;e>1}};za.from=function(t){if(t instanceof za)return t;var e=[];if(t)for(var n in t)e.push(n,t[n]);return new za(e)};function Gee(t,e,n){for(let r=0;;r++){if(r==t.childCount||r==e.childCount)return t.childCount==e.childCount?null:n;let i=t.child(r),s=e.child(r);if(i==s){n+=i.nodeSize;continue}if(!i.sameMarkup(s))return n;if(i.isText&&i.text!=s.text){for(let o=0;i.text[o]==s.text[o];o++)n++;return n}if(i.content.size||s.content.size){let o=Gee(i.content,s.content,n+1);if(o!=null)return o}n+=i.nodeSize}}function qee(t,e,n,r){for(let i=t.childCount,s=e.childCount;;){if(i==0||s==0)return i==s?null:{a:n,b:r};let o=t.child(--i),l=e.child(--s),c=o.nodeSize;if(o==l){n-=c,r-=c;continue}if(!o.sameMarkup(l))return{a:n,b:r};if(o.isText&&o.text!=l.text){let u=0,d=Math.min(o.text.length,l.text.length);for(;ue&&r(c,i+l,s||null,o)!==!1&&c.content.size){let d=l+1;c.nodesBetween(Math.max(0,e-d),Math.min(c.content.size,n-d),r,i+d)}l=u}}descendants(e){this.nodesBetween(0,this.size,e)}textBetween(e,n,r,i){let s="",o=!0;return this.nodesBetween(e,n,(l,c)=>{let u=l.isText?l.text.slice(Math.max(e,c)-c,n-c):l.isLeaf?i?typeof i=="function"?i(l):i:l.type.spec.leafText?l.type.spec.leafText(l):"":"";l.isBlock&&(l.isLeaf&&u||l.isTextblock)&&r&&(o?o=!1:s+=r),s+=u},0),s}append(e){if(!e.size)return this;if(!this.size)return e;let n=this.lastChild,r=e.firstChild,i=this.content.slice(),s=0;for(n.isText&&n.sameMarkup(r)&&(i[i.length-1]=n.withText(n.text+r.text),s=1);se)for(let s=0,o=0;o