hoodini-viz 0.1.4 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{3Dmol-CuZz1vAr.js → 3Dmol-B5x5VLnY.js} +1 -1
- package/dist/{data-grid-overlay-editor-C2F2acq7.js → data-grid-overlay-editor-QTdQ0yuU.js} +20 -18
- package/dist/hoodini-viz.js +11 -10
- package/dist/hoodini-viz.umd.js +1 -1
- package/dist/{index-DoUR8EOn.js → index-MmB2RSTX.js} +26409 -26973
- package/dist/{number-overlay-editor-Do9rKBrK.js → number-overlay-editor-DY1JNtYO.js} +237 -235
- package/package.json +18 -4
package/dist/hoodini-viz.umd.js
CHANGED
|
@@ -2967,7 +2967,7 @@ Please report this to https://github.com/markedjs/marked.`,yt){let vt="<p>An err
|
|
|
2967
2967
|
<svg width="18" height="18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2968
2968
|
<path d="M12.43 6.04v-.18a3.86 3.86 0 0 0-7.72 0v.18A2.15 2.15 0 0 0 3 8.14v5.72C3 15.04 3.96 16 5.14 16H12c1.18 0 2.14-.96 2.14-2.14V8.14c0-1.03-.73-1.9-1.71-2.1zM7.86 6v-.14a.71.71 0 1 1 1.43 0V6H7.86z" fill="${yt.bgColor}" stroke="${Et}" stroke-width="2"/>
|
|
2969
2969
|
</svg>
|
|
2970
|
-
`},sprites={headerRowID,headerNumber,headerCode,headerString,headerBoolean,headerAudioUri,headerVideoUri,headerEmoji,headerImage,headerUri,headerPhone,headerMarkdown,headerDate,headerTime,headerEmail,headerReference,headerIfThenElse,headerSingleValue,headerLookup,headerTextTemplate,headerMath,headerRollup,headerJoinStrings,headerSplitString,headerGeoDistance,headerArray,rowOwnerOverlay,protectedColumnOverlay,renameIcon};function getColors(yt,Et){return yt==="normal"?[Et.bgIconHeader,Et.fgIconHeader]:yt==="selected"?["white",Et.accentColor]:[Et.accentColor,Et.bgHeader]}class SpriteManager{onSettled;spriteMap=new Map;headerIcons;inFlight=0;constructor(Et,xt){this.onSettled=xt,this.headerIcons=Et??{}}drawSprite(Et,xt,vt,bt,At,Ft,Ct,wt=1){const[St,Tt]=getColors(xt,Ct),Rt=Ft*Math.ceil(window.devicePixelRatio),Pt=`${St}_${Tt}_${Rt}_${Et}`;let Lt=this.spriteMap.get(Pt);if(Lt===void 0){const kt=this.headerIcons[Et];if(kt===void 0)return;Lt=document.createElement("canvas");const Ot=Lt.getContext("2d");if(Ot===null)return;const Mt=new Image;Mt.src=`data:image/svg+xml;charset=utf-8,${encodeURIComponent(kt({fgColor:Tt,bgColor:St}))}`,this.spriteMap.set(Pt,Lt);const It=Mt.decode();if(It===void 0)return;this.inFlight++,It.then(()=>{Ot.drawImage(Mt,0,0,Rt,Rt)}).finally(()=>{this.inFlight--,this.inFlight===0&&this.onSettled()})}else wt<1&&(vt.globalAlpha=wt),vt.drawImage(Lt,0,0,Rt,Rt,bt,At,Ft,Ft),wt<1&&(vt.globalAlpha=1)}}function getSkipPoint(yt){if(yt.length===0)return;let Et;for(const xt of yt)Et=Math.min(Et??xt.y,xt.y);return Et}function walkRowsInCol(yt,Et,xt,vt,bt,At,Ft,Ct,wt){Ct=Ct??Et;let St=Et,Tt=yt;const Rt=vt-At;let Pt=!1;for(;St<xt&&Tt<Rt;){const Lt=bt(Tt);if(St+Lt>Ct&&wt(St,Tt,Lt,!1,Ft&&Tt===vt-1)===!0){Pt=!0;break}St+=Lt,Tt++}if(!Pt){St=xt;for(let Lt=0;Lt<At;Lt++){Tt=vt-1-Lt;const kt=bt(Tt);St-=kt,wt(St,Tt,kt,!0,Ft&&Tt===vt-1)}}}function walkColumns(yt,Et,xt,vt,bt,At){let Ft=0,Ct=0;const wt=bt+vt;for(const St of yt){const Tt=St.sticky?Ct:Ft+xt;if(At(St,Tt,wt,St.sticky?0:Ct,Et)===!0)break;Ft+=St.width,Ct+=St.sticky?St.width:0}}function walkGroups(yt,Et,xt,vt,bt){let At=0,Ft=0;for(let Ct=0;Ct<yt.length;Ct++){const wt=yt[Ct];let St=Ct+1,Tt=wt.width;for(wt.sticky&&(Ft+=Tt);St<yt.length&&isGroupEqual(yt[St].group,wt.group)&&yt[St].sticky===yt[Ct].sticky;){const Ot=yt[St];Tt+=Ot.width,St++,Ct++,Ot.sticky&&(Ft+=Ot.width)}const Rt=wt.sticky?0:xt,Pt=At+Rt,Lt=wt.sticky?0:Math.max(0,Ft-Pt),kt=Math.min(Tt-Lt,Et-(Pt+Lt));bt([wt.sourceIndex,yt[St-1].sourceIndex],wt.group??"",Pt+Lt,0,kt,vt),At+=Tt}}function getSpanBounds(yt,Et,xt,vt,bt,At,Ft){const[Ct,wt]=yt;let St,Tt;const Rt=Ft.find(Pt=>!Pt.sticky)?.sourceIndex??0;if(wt>Rt){const Pt=Math.max(Ct,Rt);let Lt=Et,kt=vt;for(let Ot=At.sourceIndex-1;Ot>=Pt;Ot--)Lt-=Ft[Ot].width,kt+=Ft[Ot].width;for(let Ot=At.sourceIndex+1;Ot<=wt;Ot++)kt+=Ft[Ot].width;Tt={x:Lt,y:xt,width:kt,height:bt}}if(Rt>Ct){const Pt=Math.min(wt,Rt-1);let Lt=Et,kt=vt;for(let Ot=At.sourceIndex-1;Ot>=Ct;Ot--)Lt-=Ft[Ot].width,kt+=Ft[Ot].width;for(let Ot=At.sourceIndex+1;Ot<=Pt;Ot++)kt+=Ft[Ot].width;St={x:Lt,y:xt,width:kt,height:bt}}return[St,Tt]}function getClosestRect(yt,Et,xt,vt){if(vt==="any")return combineRects(yt,{x:Et,y:xt,width:1,height:1});if(vt==="vertical"&&(Et=yt.x),vt==="horizontal"&&(xt=yt.y),itemIsInRect([Et,xt],yt))return;const bt=Et-yt.x,At=yt.x+yt.width-Et,Ft=xt-yt.y+1,Ct=yt.y+yt.height-xt,wt=Math.min(vt==="vertical"?Number.MAX_SAFE_INTEGER:bt,vt==="vertical"?Number.MAX_SAFE_INTEGER:At,vt==="horizontal"?Number.MAX_SAFE_INTEGER:Ft,vt==="horizontal"?Number.MAX_SAFE_INTEGER:Ct);return wt===Ct?{x:yt.x,y:yt.y+yt.height,width:yt.width,height:xt-yt.y-yt.height+1}:wt===Ft?{x:yt.x,y:xt,width:yt.width,height:yt.y-xt}:wt===At?{x:yt.x+yt.width,y:yt.y,width:Et-yt.x-yt.width+1,height:yt.height}:{x:Et,y:yt.y,width:yt.x-Et,height:yt.height}}function intersectRect(yt,Et,xt,vt,bt,At,Ft,Ct){return yt<=bt+Ft&&bt<=yt+xt&&Et<=At+Ct&&At<=Et+vt}function pointInRect(yt,Et,xt){return Et>=yt.x&&Et<=yt.x+yt.width&&xt>=yt.y&&xt<=yt.y+yt.height}function combineRects(yt,Et){const xt=Math.min(yt.x,Et.x),vt=Math.min(yt.y,Et.y),bt=Math.max(yt.x+yt.width,Et.x+Et.width)-xt,At=Math.max(yt.y+yt.height,Et.y+Et.height)-vt;return{x:xt,y:vt,width:bt,height:At}}function rectContains(yt,Et){return yt.x<=Et.x&&yt.y<=Et.y&&yt.x+yt.width>=Et.x+Et.width&&yt.y+yt.height>=Et.y+Et.height}function hugRectToTarget(yt,Et,xt,vt){if(yt.x>Et||yt.y>xt||yt.x<0&&yt.y<0&&yt.x+yt.width>Et&&yt.y+yt.height>xt)return;if(yt.x>=0&&yt.y>=0&&yt.x+yt.width<=Et&&yt.y+yt.height<=xt)return yt;const bt=-4,At=-4,Ft=Et+4,Ct=xt+4,wt=bt-yt.x,St=yt.x+yt.width-Ft,Tt=At-yt.y,Rt=yt.y+yt.height-Ct,Pt=wt>0?yt.x+Math.floor(wt/vt)*vt:yt.x,Lt=St>0?yt.x+yt.width-Math.floor(St/vt)*vt:yt.x+yt.width,kt=Tt>0?yt.y+Math.floor(Tt/vt)*vt:yt.y,Ot=Rt>0?yt.y+yt.height-Math.floor(Rt/vt)*vt:yt.y+yt.height;return{x:Pt,y:kt,width:Lt-Pt,height:Ot-kt}}function splitRectIntoRegions(yt,Et,xt,vt,bt){const[At,Ft,Ct,wt]=Et,[St,Tt,Rt,Pt]=bt,{x:Lt,y:kt,width:Ot,height:Mt}=yt,It=[];if(Ot<=0||Mt<=0)return It;const Nt=Lt+Ot,Ut=kt+Mt,jt=Lt<At,Vt=kt<Ft,zt=Lt+Ot>Ct,Ht=kt+Mt>wt,Wt=Lt>=At&&Lt<Ct||Nt>At&&Nt<=Ct||Lt<At&&Nt>Ct,Gt=kt>=Ft&&kt<wt||Ut>Ft&&Ut<=wt||kt<Ft&&Ut>wt;if(Wt&&Gt){const Xt=Math.max(Lt,At),Kt=Math.max(kt,Ft),Jt=Math.min(Nt,Ct),tn=Math.min(Ut,wt);It.push({rect:{x:Xt,y:Kt,width:Jt-Xt,height:tn-Kt},clip:{x:St,y:Tt,width:Rt-St+1,height:Pt-Tt+1}})}if(jt&&Vt){const Xt=Lt,Kt=kt,Jt=Math.min(Nt,At),tn=Math.min(Ut,Ft);It.push({rect:{x:Xt,y:Kt,width:Jt-Xt,height:tn-Kt},clip:{x:0,y:0,width:St+1,height:Tt+1}})}if(Vt&&Wt){const Xt=Math.max(Lt,At),Kt=kt,Jt=Math.min(Nt,Ct),tn=Math.min(Ut,Ft);It.push({rect:{x:Xt,y:Kt,width:Jt-Xt,height:tn-Kt},clip:{x:St,y:0,width:Rt-St+1,height:Tt+1}})}if(Vt&&zt){const Xt=Math.max(Lt,Ct),Kt=kt,Jt=Nt,tn=Math.min(Ut,Ft);It.push({rect:{x:Xt,y:Kt,width:Jt-Xt,height:tn-Kt},clip:{x:Rt,y:0,width:xt-Rt+1,height:Tt+1}})}if(jt&&Gt){const Xt=Lt,Kt=Math.max(kt,Ft),Jt=Math.min(Nt,At),tn=Math.min(Ut,wt);It.push({rect:{x:Xt,y:Kt,width:Jt-Xt,height:tn-Kt},clip:{x:0,y:Tt,width:St+1,height:Pt-Tt+1}})}if(zt&&Gt){const Xt=Math.max(Lt,Ct),Kt=Math.max(kt,Ft),Jt=Nt,tn=Math.min(Ut,wt);It.push({rect:{x:Xt,y:Kt,width:Jt-Xt,height:tn-Kt},clip:{x:Rt,y:Tt,width:xt-Rt+1,height:Pt-Tt+1}})}if(jt&&Ht){const Xt=Lt,Kt=Math.max(kt,wt),Jt=Math.min(Nt,At),tn=Ut;It.push({rect:{x:Xt,y:Kt,width:Jt-Xt,height:tn-Kt},clip:{x:0,y:Pt,width:St+1,height:vt-Pt+1}})}if(Ht&&Wt){const Xt=Math.max(Lt,At),Kt=Math.max(kt,wt),Jt=Math.min(Nt,Ct),tn=Ut;It.push({rect:{x:Xt,y:Kt,width:Jt-Xt,height:tn-Kt},clip:{x:St,y:Pt,width:Rt-St+1,height:vt-Pt+1}})}if(zt&&Ht){const Xt=Math.max(Lt,Ct),Kt=Math.max(kt,wt),Jt=Nt,tn=Ut;It.push({rect:{x:Xt,y:Kt,width:Jt-Xt,height:tn-Kt},clip:{x:Rt,y:Pt,width:xt-Rt+1,height:vt-Pt+1}})}return It}const loadingCell$1={kind:GridCellKind.Loading,allowOverlay:!1};function drawCells(yt,Et,xt,vt,bt,At,Ft,Ct,wt,St,Tt,Rt,Pt,Lt,kt,Ot,Mt,It,Nt,Ut,jt,Vt,zt,Ht,Wt,Gt,qt,Xt,Kt,Jt,tn,sn,Zt,nn,rn){let on=Ut?.size??Number.MAX_SAFE_INTEGER;const ln=performance.now();let Qt=Jt.baseFontFull;yt.font=Qt;const fn={ctx:yt},pn=[0,0],mn=Mt>0?getFreezeTrailingHeight(wt,Mt,St):0;let vn,yn;const xn=getSkipPoint(Nt);return walkColumns(Et,Ct,At,Ft,bt,(Mn,$n,Rn,Tn,ir)=>{const Jn=Math.max(0,Tn-$n),jn=$n+Jn,Wn=bt+1,br=Mn.width-Jn,Fr=vt-bt-1;if(Nt.length>0){let Dr=!1;for(let ar=0;ar<Nt.length;ar++){const Qn=Nt[ar];if(intersectRect(jn,Wn,br,Fr,Qn.x,Qn.y,Qn.width,Qn.height)){Dr=!0;break}}if(!Dr)return}const Cr=()=>{yt.save(),yt.beginPath(),yt.rect(jn,Wn,br,Fr),yt.clip()},dr=jt.columns.hasIndex(Mn.sourceIndex),_r=Rt(Mn.group??"").overrideTheme,pr=Mn.themeOverride===void 0&&_r===void 0?Jt:mergeAndRealizeTheme(Jt,_r,Mn.themeOverride),wr=pr.baseFontFull;wr!==Qt&&(Qt=wr,yt.font=wr),Cr();let xr;return walkRowsInCol(ir,Rn,vt,wt,St,Mt,It,xn,(Dr,ar,Qn,Cn,Bn)=>{if(ar<0||(pn[0]=Mn.sourceIndex,pn[1]=ar,Ut!==void 0&&!Ut.has(pn)))return;if(Nt.length>0){let gr=!1;for(let ii=0;ii<Nt.length;ii++){const ti=Nt[ii];if(intersectRect($n,Dr,Mn.width,Qn,ti.x,ti.y,ti.width,ti.height)){gr=!0;break}}if(!gr)return}const In=jt.rows.hasIndex(ar),or=Lt.hasIndex(ar),rr=ar<wt?Tt(pn):loadingCell$1;let vr=$n,cr=Mn.width,gn=!1,wn=!1;if(rr.span!==void 0){const[gr,ii]=rr.span,ti=`${ar},${gr},${ii},${Mn.sticky}`;if(yn===void 0&&(yn=new Set),yn.has(ti)){on--;return}else{const di=getSpanBounds(rr.span,$n,Dr,Mn.width,Qn,Mn,xt),Bi=Mn.sticky?di[0]:di[1];if(!Mn.sticky&&di[0]!==void 0&&(wn=!0),Bi!==void 0){vr=Bi.x,cr=Bi.width,yn.add(ti),yt.restore(),xr=void 0,yt.save(),yt.beginPath();const as=Math.max(0,Tn-Bi.x);yt.rect(Bi.x+as,Dr,Bi.width-as,Qn),vn===void 0&&(vn=[]),vn.push({x:Bi.x+as,y:Dr,width:Bi.width-as,height:Qn}),yt.clip(),gn=!0}}}const Xn=Pt?.(ar),tr=Bn&&Mn.trailingRowOptions?.themeOverride!==void 0?Mn.trailingRowOptions?.themeOverride:void 0,Hn=rr.themeOverride===void 0&&Xn===void 0&&tr===void 0?pr:mergeAndRealizeTheme(pr,Xn,tr,rr.themeOverride);yt.beginPath();const Kn=cellIsSelected(pn,rr,jt);let _n=cellIsInRange(pn,rr,jt,Ot);const yr=rr.span!==void 0&&jt.columns.some(gr=>rr.span!==void 0&&gr>=rr.span[0]&&gr<=rr.span[1]);Kn&&!kt&&Ot?_n=0:Kn&&Ot&&(_n=Math.max(_n,1)),yr&&_n++,Kn||(In&&_n++,dr&&!Bn&&_n++);const Or=rr.kind===GridCellKind.Protected?Hn.bgCellMedium:Hn.bgCell;let hn;if((Cn||Or!==Jt.bgCell)&&(hn=blend(Or,hn)),_n>0||or){or&&(hn=blend(Hn.bgHeader,hn));for(let gr=0;gr<_n;gr++)hn=blend(Hn.accentLight,hn)}else if(Vt!==void 0){for(const gr of Vt)if(gr[0]===Mn.sourceIndex&&gr[1]===ar){hn=blend(Hn.bgSearchResult,hn);break}}if(zt!==void 0)for(let gr=0;gr<zt.length;gr++){const ii=zt[gr],ti=ii.range;ii.style!=="solid-outline"&&ti.x<=Mn.sourceIndex&&Mn.sourceIndex<ti.x+ti.width&&ti.y<=ar&&ar<ti.y+ti.height&&(hn=blend(ii.color,hn))}let Ar=!1;if(Ut!==void 0){const gr=Dr+1,ti=(Cn?gr+Qn-1:Math.min(gr+Qn-1,vt-mn))-gr;(ti!==Qn-1||vr+1<=Tn)&&(Ar=!0,yt.save(),yt.beginPath(),yt.rect(vr+1,gr,cr-1,ti),yt.clip()),hn=hn===void 0?Hn.bgCell:blend(hn,Hn.bgCell)}const hr=Mn.sourceIndex===xt.length-1,An=ar===wt-1;hn!==void 0&&(yt.fillStyle=hn,xr!==void 0&&(xr.fillStyle=hn),Ut!==void 0?yt.fillRect(vr+1,Dr+1,cr-(hr?2:1),Qn-(An?2:1)):yt.fillRect(vr,Dr,cr,Qn)),rr.style==="faded"&&(yt.globalAlpha=.6);let nr;for(let gr=0;gr<Gt.length;gr++){const ii=Gt[gr];if(ii.item[0]===Mn.sourceIndex&&ii.item[1]===ar){nr=ii;break}}if(cr>rn&&!wn){const gr=Hn.baseFontFull;gr!==Qt&&(yt.font=gr,Qt=gr),xr=drawCell(yt,rr,Mn.sourceIndex,ar,hr,An,vr,Dr,cr,Qn,_n>0,Hn,hn??Hn.bgCell,Ht,Wt,nr?.hoverAmount??0,qt,Kt,ln,Xt,xr,tn,sn,Zt,nn)}return Ar&&yt.restore(),rr.style==="faded"&&(yt.globalAlpha=1),on--,gn&&(yt.restore(),xr?.deprep?.(fn),xr=void 0,Cr(),Qt=wr,yt.font=wr),on<=0}),yt.restore(),on<=0}),vn}const allocatedItem=[0,0],reusableRect={x:0,y:0,width:0,height:0},drawState=[void 0,()=>{}];let animationFrameRequested=!1;function animRequest(){animationFrameRequested=!0}function drawCell(yt,Et,xt,vt,bt,At,Ft,Ct,wt,St,Tt,Rt,Pt,Lt,kt,Ot,Mt,It,Nt,Ut,jt,Vt,zt,Ht,Wt){let Gt,qt;Mt!==void 0&&Mt[0][0]===xt&&Mt[0][1]===vt&&(Gt=Mt[1][0],qt=Mt[1][1]);let Xt;allocatedItem[0]=xt,allocatedItem[1]=vt,reusableRect.x=Ft,reusableRect.y=Ct,reusableRect.width=wt,reusableRect.height=St,drawState[0]=zt.getValue(allocatedItem),drawState[1]=sn=>zt.setValue(allocatedItem,sn),animationFrameRequested=!1;const Kt={ctx:yt,theme:Rt,col:xt,row:vt,cell:Et,rect:reusableRect,highlighted:Tt,cellFillColor:Pt,hoverAmount:Ot,frameTime:Nt,hoverX:Gt,drawState,hoverY:qt,imageLoader:Lt,spriteManager:kt,hyperWrapping:It,overrideCursor:Gt!==void 0?Wt:void 0,requestAnimationFrame:animRequest},Jt=drawLastUpdateUnderlay(Kt,Et.lastUpdated,Nt,jt,bt,At),tn=Ht(Et);if(tn!==void 0){jt?.renderer!==tn&&(jt?.deprep?.(Kt),jt=void 0);const sn=tn.drawPrep?.(Kt,jt);Ut!==void 0&&!isInnerOnlyCell(Kt.cell)?Ut(Kt,()=>tn.draw(Kt,Et)):tn.draw(Kt,Et),Xt=sn===void 0?void 0:{deprep:sn?.deprep,fillStyle:sn?.fillStyle,font:sn?.font,renderer:tn}}return(Jt||animationFrameRequested)&&Vt?.(allocatedItem),Xt}function drawCheckbox(yt,Et,xt,vt,bt,At,Ft,Ct,wt=-20,St=-20,Tt=void 0,Rt="center",Pt="square"){const Lt=Math.floor(bt+Ft/2),kt=Pt==="circle"?1e4:Et.roundingRadius??4;let Ot=getSquareWidth(Tt??Et.checkboxMaxSize,Ft,Et.cellVerticalPadding),Mt=Ot/2;const It=getSquareXPosFromAlign(Rt,vt,At,Et.cellHorizontalPadding,Ot),Nt=getSquareBB(It,Lt,Ot),Ut=pointIsWithinBB(vt+wt,bt+St,Nt);switch(xt){case!0:{yt.beginPath(),roundedRect(yt,It-Ot/2,Lt-Ot/2,Ot,Ot,kt),Pt==="circle"&&(Mt*=.8,Ot*=.8),yt.fillStyle=Ct?Et.accentColor:Et.textMedium,yt.fill(),yt.beginPath(),yt.moveTo(It-Mt+Ot/4.23,Lt-Mt+Ot/1.97),yt.lineTo(It-Mt+Ot/2.42,Lt-Mt+Ot/1.44),yt.lineTo(It-Mt+Ot/1.29,Lt-Mt+Ot/3.25),yt.strokeStyle=Et.bgCell,yt.lineJoin="round",yt.lineCap="round",yt.lineWidth=1.9,yt.stroke();break}case BooleanEmpty:case!1:{yt.beginPath(),roundedRect(yt,It-Ot/2+.5,Lt-Ot/2+.5,Ot-1,Ot-1,kt),yt.lineWidth=1,yt.strokeStyle=Ut?Et.textDark:Et.textMedium,yt.stroke();break}case BooleanIndeterminate:{yt.beginPath(),roundedRect(yt,It-Ot/2,Lt-Ot/2,Ot,Ot,kt),yt.fillStyle=Ut?Et.textMedium:Et.textLight,yt.fill(),Pt==="circle"&&(Mt*=.8,Ot*=.8),yt.beginPath(),yt.moveTo(It-Ot/3,Lt),yt.lineTo(It+Ot/3,Lt),yt.strokeStyle=Et.bgCell,yt.lineCap="round",yt.lineWidth=1.9,yt.stroke();break}default:assertNever()}}function drawGridHeaders(yt,Et,xt,vt,bt,At,Ft,Ct,wt,St,Tt,Rt,Pt,Lt,kt,Ot,Mt,It,Nt){const Ut=Ft+Ct;if(Ut<=0)return;yt.fillStyle=Rt.bgHeader,yt.fillRect(0,0,bt,Ut);const jt=vt?.[0]?.[0],Vt=vt?.[0]?.[1],zt=vt?.[1]?.[0],Ht=vt?.[1]?.[1],Wt=Rt.headerFontFull;yt.font=Wt,walkColumns(Et,0,At,0,Ut,(Gt,qt,Xt,Kt)=>{if(Mt!==void 0&&!Mt.has([Gt.sourceIndex,-1]))return;const Jt=Math.max(0,Kt-qt);yt.save(),yt.beginPath(),yt.rect(qt+Jt,Ct,Gt.width-Jt,Ft),yt.clip();const tn=Ot(Gt.group??"").overrideTheme,sn=Gt.themeOverride===void 0&&tn===void 0?Rt:mergeAndRealizeTheme(Rt,tn,Gt.themeOverride);sn.bgHeader!==Rt.bgHeader&&(yt.fillStyle=sn.bgHeader,yt.fill()),sn!==Rt&&(yt.font=sn.headerFontFull);const Zt=Tt.columns.hasIndex(Gt.sourceIndex),nn=wt!==void 0||St||Gt.headerRowMarkerDisabled===!0,rn=!nn&&Vt===-1&&jt===Gt.sourceIndex,on=nn?0:Lt.find(mn=>mn.item[0]===Gt.sourceIndex&&mn.item[1]===-1)?.hoverAmount??0,ln=Tt?.current!==void 0&&Tt.current.cell[0]===Gt.sourceIndex,Qt=Zt?sn.accentColor:ln?sn.bgHeaderHasFocus:sn.bgHeader,fn=xt?Ct:0,pn=Gt.sourceIndex===0?0:1;Zt?(yt.fillStyle=Qt,yt.fillRect(qt+pn,fn,Gt.width-pn,Ft)):(ln||on>0)&&(yt.beginPath(),yt.rect(qt+pn,fn,Gt.width-pn,Ft),ln&&(yt.fillStyle=sn.bgHeaderHasFocus,yt.fill()),on>0&&(yt.globalAlpha=on,yt.fillStyle=sn.bgHeaderHovered,yt.fill(),yt.globalAlpha=1)),drawHeader(yt,qt,fn,Gt.width,Ft,Gt,Zt,sn,rn,rn?zt:void 0,rn?Ht:void 0,ln,on,Pt,It,Nt),yt.restore()}),xt&&drawGroups(yt,Et,bt,At,Ct,vt,Rt,Pt,Lt,kt,Ot,Mt)}function drawGroups(yt,Et,xt,vt,bt,At,Ft,Ct,wt,St,Tt,Rt){const[Lt,kt]=At?.[0]??[];let Ot=0;walkGroups(Et,xt,vt,bt,(Mt,It,Nt,Ut,jt,Vt)=>{if(Rt!==void 0&&!Rt.hasItemInRectangle({x:Mt[0],y:-2,width:Mt[1]-Mt[0]+1,height:1}))return;yt.save(),yt.beginPath(),yt.rect(Nt,Ut,jt,Vt),yt.clip();const zt=Tt(It),Ht=zt?.overrideTheme===void 0?Ft:mergeAndRealizeTheme(Ft,zt.overrideTheme),Wt=kt===-2&&Lt!==void 0&&Lt>=Mt[0]&&Lt<=Mt[1],Gt=Wt?Ht.bgGroupHeaderHovered??Ht.bgHeaderHovered:Ht.bgGroupHeader??Ht.bgHeader;if(Gt!==Ft.bgHeader&&(yt.fillStyle=Gt,yt.fill()),yt.fillStyle=Ht.textGroupHeader??Ht.textHeader,zt!==void 0){let qt=Nt;if(zt.icon!==void 0&&(Ct.drawSprite(zt.icon,"normal",yt,qt+8,(bt-20)/2,20,Ht),qt+=26),yt.fillText(zt.name,qt+8,bt/2+getMiddleCenterBias(yt,Ft.headerFontFull)),zt.actions!==void 0&&Wt){const Xt=getActionBoundsForGroup({x:Nt,y:Ut,width:jt,height:Vt},zt.actions);yt.beginPath();const Kt=Xt[0].x-10,Jt=Nt+jt-Kt;yt.rect(Kt,0,Jt,bt);const tn=yt.createLinearGradient(Kt,0,Kt+Jt,0),sn=withAlpha(Gt,0);tn.addColorStop(0,sn),tn.addColorStop(10/Jt,Gt),tn.addColorStop(1,Gt),yt.fillStyle=tn,yt.fill(),yt.globalAlpha=.6;const[Zt,nn]=At?.[1]??[-1,-1];for(let rn=0;rn<zt.actions.length;rn++){const on=zt.actions[rn],ln=Xt[rn],Qt=pointInRect(ln,Zt+Nt,nn);Qt&&(yt.globalAlpha=1),Ct.drawSprite(on.icon,"normal",yt,ln.x+ln.width/2-10,ln.y+ln.height/2-10,20,Ht),Qt&&(yt.globalAlpha=.6)}yt.globalAlpha=1}}Nt!==0&&St(Mt[0])&&(yt.beginPath(),yt.moveTo(Nt+.5,0),yt.lineTo(Nt+.5,bt),yt.strokeStyle=Ft.borderColor,yt.lineWidth=1,yt.stroke()),yt.restore(),Ot=Nt+jt}),yt.beginPath(),yt.moveTo(Ot+.5,0),yt.lineTo(Ot+.5,bt),yt.moveTo(0,bt+.5),yt.lineTo(xt,bt+.5),yt.strokeStyle=Ft.borderColor,yt.lineWidth=1,yt.stroke()}const menuButtonSize=30;function getHeaderMenuBounds(yt,Et,xt,vt,bt){return{x:yt+xt-menuButtonSize,y:Math.max(Et,Et+vt/2-menuButtonSize/2),width:menuButtonSize,height:Math.min(menuButtonSize,vt)}}function getActionBoundsForGroup(yt,Et){const xt=[];let vt=yt.x+yt.width-26*Et.length;const bt=yt.y+yt.height/2-13,At=26,Ft=26;for(let Ct=0;Ct<Et.length;Ct++)xt.push({x:vt,y:bt,width:Ft,height:At}),vt+=26;return xt}function flipHorizontal(yt,Et,xt){return!xt||yt===void 0||(yt.x=Et-(yt.x-Et)-yt.width),yt}function computeHeaderLayout(yt,Et,xt,vt,bt,At,Ft,Ct){const wt=Ft.cellHorizontalPadding,St=Ft.headerIconSize,Tt=getHeaderMenuBounds(xt,vt,bt,At);let Rt=xt+wt;const Pt=Et.icon===void 0?void 0:{x:Rt,y:vt+(At-St)/2,width:St,height:St},Lt=Pt===void 0||Et.overlayIcon===void 0?void 0:{x:Pt.x+9,y:Pt.y+6,width:18,height:18};Pt!==void 0&&(Rt+=Math.ceil(St*1.3));const kt={x:Rt,y:vt,width:bt-Rt,height:At};let Ot;if(Et.indicatorIcon!==void 0){const It=yt===void 0?getMeasuredTextCache(Et.title,Ft.headerFontFull)?.width??0:measureTextCached(Et.title,yt,Ft.headerFontFull).width;kt.width=It,Rt+=It+wt,Ot={x:Rt,y:vt+(At-St)/2,width:St,height:St}}const Mt=xt+bt/2;return{menuBounds:flipHorizontal(Tt,Mt,Ct),iconBounds:flipHorizontal(Pt,Mt,Ct),iconOverlayBounds:flipHorizontal(Lt,Mt,Ct),textBounds:flipHorizontal(kt,Mt,Ct),indicatorIconBounds:flipHorizontal(Ot,Mt,Ct)}}function drawHeaderInner(yt,Et,xt,vt,bt,At,Ft,Ct,wt,St,Tt,Rt,Pt,Lt,kt,Ot){if(At.rowMarker!==void 0&&At.headerRowMarkerDisabled!==!0){const Nt=At.rowMarkerChecked;Nt!==!0&&At.headerRowMarkerAlwaysVisible!==!0&&(yt.globalAlpha=Rt);const Ut=At.headerRowMarkerTheme!==void 0?mergeAndRealizeTheme(Ct,At.headerRowMarkerTheme):Ct;drawCheckbox(yt,Ut,Nt,Et,xt,vt,bt,!1,void 0,void 0,Ct.checkboxMaxSize,"center",At.rowMarker),Nt!==!0&&At.headerRowMarkerAlwaysVisible!==!0&&(yt.globalAlpha=1);return}const Mt=Ft?Ct.textHeaderSelected:Ct.textHeader,It=At.hasMenu===!0&&(wt||Lt&&Ft)&&Ot.menuBounds!==void 0;if(At.icon!==void 0&&Ot.iconBounds!==void 0){let Nt=Ft?"selected":"normal";At.style==="highlight"&&(Nt=Ft?"selected":"special"),Pt.drawSprite(At.icon,Nt,yt,Ot.iconBounds.x,Ot.iconBounds.y,Ot.iconBounds.width,Ct),At.overlayIcon!==void 0&&Ot.iconOverlayBounds!==void 0&&Pt.drawSprite(At.overlayIcon,Ft?"selected":"special",yt,Ot.iconOverlayBounds.x,Ot.iconOverlayBounds.y,Ot.iconOverlayBounds.width,Ct)}if(It&&vt>35){const Ut=kt?35:vt-35,jt=kt?35*.7:vt-35*.7,Vt=Ut/vt,zt=jt/vt,Ht=yt.createLinearGradient(Et,0,Et+vt,0),Wt=withAlpha(Mt,0);Ht.addColorStop(kt?1:0,Mt),Ht.addColorStop(Vt,Mt),Ht.addColorStop(zt,Wt),Ht.addColorStop(kt?0:1,Wt),yt.fillStyle=Ht}else yt.fillStyle=Mt;if(kt&&(yt.textAlign="right"),Ot.textBounds!==void 0&&yt.fillText(At.title,kt?Ot.textBounds.x+Ot.textBounds.width:Ot.textBounds.x,xt+bt/2+getMiddleCenterBias(yt,Ct.headerFontFull)),kt&&(yt.textAlign="left"),At.indicatorIcon!==void 0&&Ot.indicatorIconBounds!==void 0&&(!It||!intersectRect(Ot.menuBounds.x,Ot.menuBounds.y,Ot.menuBounds.width,Ot.menuBounds.height,Ot.indicatorIconBounds.x,Ot.indicatorIconBounds.y,Ot.indicatorIconBounds.width,Ot.indicatorIconBounds.height))){let Nt=Ft?"selected":"normal";At.style==="highlight"&&(Nt=Ft?"selected":"special"),Pt.drawSprite(At.indicatorIcon,Nt,yt,Ot.indicatorIconBounds.x,Ot.indicatorIconBounds.y,Ot.indicatorIconBounds.width,Ct)}if(It&&Ot.menuBounds!==void 0){const Nt=Ot.menuBounds,Ut=St!==void 0&&Tt!==void 0&&pointInRect(Nt,St+Et,Tt+xt);if(Ut||(yt.globalAlpha=.7),At.menuIcon===void 0||At.menuIcon===GridColumnMenuIcon.Triangle){yt.beginPath();const jt=Nt.x+Nt.width/2-5.5,Vt=Nt.y+Nt.height/2-3;roundedPoly(yt,[{x:jt,y:Vt},{x:jt+11,y:Vt},{x:jt+5.5,y:Vt+6}],1),yt.fillStyle=Mt,yt.fill()}else if(At.menuIcon===GridColumnMenuIcon.Dots){yt.beginPath();const jt=Nt.x+Nt.width/2,Vt=Nt.y+Nt.height/2;drawMenuDots(yt,jt,Vt),yt.fillStyle=Mt,yt.fill()}else{const jt=Nt.x+(Nt.width-Ct.headerIconSize)/2,Vt=Nt.y+(Nt.height-Ct.headerIconSize)/2;Pt.drawSprite(At.menuIcon,"normal",yt,jt,Vt,Ct.headerIconSize,Ct)}Ut||(yt.globalAlpha=1)}}function drawHeader(yt,Et,xt,vt,bt,At,Ft,Ct,wt,St,Tt,Rt,Pt,Lt,kt,Ot){const Mt=direction(At.title)==="rtl",It=computeHeaderLayout(yt,At,Et,xt,vt,bt,Ct,Mt);kt!==void 0?kt({ctx:yt,theme:Ct,rect:{x:Et,y:xt,width:vt,height:bt},column:At,columnIndex:At.sourceIndex,isSelected:Ft,hoverAmount:Pt,isHovered:wt,hasSelectedCell:Rt,spriteManager:Lt,menuBounds:It?.menuBounds??{x:0,y:0,height:0,width:0},hoverX:St,hoverY:Tt},()=>drawHeaderInner(yt,Et,xt,vt,bt,At,Ft,Ct,wt,St,Tt,Pt,Lt,Ot,Mt,It)):drawHeaderInner(yt,Et,xt,vt,bt,At,Ft,Ct,wt,St,Tt,Pt,Lt,Ot,Mt,It)}var _defineProperty,hasRequired_defineProperty;function require_defineProperty(){if(hasRequired_defineProperty)return _defineProperty;hasRequired_defineProperty=1;var yt=require_getNative(),Et=(function(){try{var xt=yt(Object,"defineProperty");return xt({},"",{}),xt}catch{}})();return _defineProperty=Et,_defineProperty}var _baseAssignValue,hasRequired_baseAssignValue;function require_baseAssignValue(){if(hasRequired_baseAssignValue)return _baseAssignValue;hasRequired_baseAssignValue=1;var yt=require_defineProperty();function Et(xt,vt,bt){vt=="__proto__"&&yt?yt(xt,vt,{configurable:!0,enumerable:!0,value:bt,writable:!0}):xt[vt]=bt}return _baseAssignValue=Et,_baseAssignValue}var _arrayAggregator,hasRequired_arrayAggregator;function require_arrayAggregator(){if(hasRequired_arrayAggregator)return _arrayAggregator;hasRequired_arrayAggregator=1;function yt(Et,xt,vt,bt){for(var At=-1,Ft=Et==null?0:Et.length;++At<Ft;){var Ct=Et[At];xt(bt,Ct,vt(Ct),Et)}return bt}return _arrayAggregator=yt,_arrayAggregator}var _createBaseFor,hasRequired_createBaseFor;function require_createBaseFor(){if(hasRequired_createBaseFor)return _createBaseFor;hasRequired_createBaseFor=1;function yt(Et){return function(xt,vt,bt){for(var At=-1,Ft=Object(xt),Ct=bt(xt),wt=Ct.length;wt--;){var St=Ct[Et?wt:++At];if(vt(Ft[St],St,Ft)===!1)break}return xt}}return _createBaseFor=yt,_createBaseFor}var _baseFor,hasRequired_baseFor;function require_baseFor(){if(hasRequired_baseFor)return _baseFor;hasRequired_baseFor=1;var yt=require_createBaseFor(),Et=yt();return _baseFor=Et,_baseFor}var _baseTimes,hasRequired_baseTimes;function require_baseTimes(){if(hasRequired_baseTimes)return _baseTimes;hasRequired_baseTimes=1;function yt(Et,xt){for(var vt=-1,bt=Array(Et);++vt<Et;)bt[vt]=xt(vt);return bt}return _baseTimes=yt,_baseTimes}var isBuffer={exports:{}},stubFalse_1,hasRequiredStubFalse;function requireStubFalse(){if(hasRequiredStubFalse)return stubFalse_1;hasRequiredStubFalse=1;function yt(){return!1}return stubFalse_1=yt,stubFalse_1}isBuffer.exports;var hasRequiredIsBuffer;function requireIsBuffer(){return hasRequiredIsBuffer||(hasRequiredIsBuffer=1,(function(yt,Et){var xt=require_root(),vt=requireStubFalse(),bt=Et&&!Et.nodeType&&Et,At=bt&&!0&&yt&&!yt.nodeType&&yt,Ft=At&&At.exports===bt,Ct=Ft?xt.Buffer:void 0,wt=Ct?Ct.isBuffer:void 0,St=wt||vt;yt.exports=St})(isBuffer,isBuffer.exports)),isBuffer.exports}var _baseIsTypedArray,hasRequired_baseIsTypedArray;function require_baseIsTypedArray(){if(hasRequired_baseIsTypedArray)return _baseIsTypedArray;hasRequired_baseIsTypedArray=1;var yt=require_baseGetTag(),Et=requireIsLength(),xt=requireIsObjectLike(),vt="[object Arguments]",bt="[object Array]",At="[object Boolean]",Ft="[object Date]",Ct="[object Error]",wt="[object Function]",St="[object Map]",Tt="[object Number]",Rt="[object Object]",Pt="[object RegExp]",Lt="[object Set]",kt="[object String]",Ot="[object WeakMap]",Mt="[object ArrayBuffer]",It="[object DataView]",Nt="[object Float32Array]",Ut="[object Float64Array]",jt="[object Int8Array]",Vt="[object Int16Array]",zt="[object Int32Array]",Ht="[object Uint8Array]",Wt="[object Uint8ClampedArray]",Gt="[object Uint16Array]",qt="[object Uint32Array]",Xt={};Xt[Nt]=Xt[Ut]=Xt[jt]=Xt[Vt]=Xt[zt]=Xt[Ht]=Xt[Wt]=Xt[Gt]=Xt[qt]=!0,Xt[vt]=Xt[bt]=Xt[Mt]=Xt[At]=Xt[It]=Xt[Ft]=Xt[Ct]=Xt[wt]=Xt[St]=Xt[Tt]=Xt[Rt]=Xt[Pt]=Xt[Lt]=Xt[kt]=Xt[Ot]=!1;function Kt(Jt){return xt(Jt)&&Et(Jt.length)&&!!Xt[yt(Jt)]}return _baseIsTypedArray=Kt,_baseIsTypedArray}var _baseUnary,hasRequired_baseUnary;function require_baseUnary(){if(hasRequired_baseUnary)return _baseUnary;hasRequired_baseUnary=1;function yt(Et){return function(xt){return Et(xt)}}return _baseUnary=yt,_baseUnary}var _nodeUtil={exports:{}};_nodeUtil.exports;var hasRequired_nodeUtil;function require_nodeUtil(){return hasRequired_nodeUtil||(hasRequired_nodeUtil=1,(function(yt,Et){var xt=require_freeGlobal(),vt=Et&&!Et.nodeType&&Et,bt=vt&&!0&&yt&&!yt.nodeType&&yt,At=bt&&bt.exports===vt,Ft=At&&xt.process,Ct=(function(){try{var wt=bt&&bt.require&&bt.require("util").types;return wt||Ft&&Ft.binding&&Ft.binding("util")}catch{}})();yt.exports=Ct})(_nodeUtil,_nodeUtil.exports)),_nodeUtil.exports}var isTypedArray_1,hasRequiredIsTypedArray;function requireIsTypedArray(){if(hasRequiredIsTypedArray)return isTypedArray_1;hasRequiredIsTypedArray=1;var yt=require_baseIsTypedArray(),Et=require_baseUnary(),xt=require_nodeUtil(),vt=xt&&xt.isTypedArray,bt=vt?Et(vt):yt;return isTypedArray_1=bt,isTypedArray_1}var _arrayLikeKeys,hasRequired_arrayLikeKeys;function require_arrayLikeKeys(){if(hasRequired_arrayLikeKeys)return _arrayLikeKeys;hasRequired_arrayLikeKeys=1;var yt=require_baseTimes(),Et=requireIsArguments(),xt=requireIsArray(),vt=requireIsBuffer(),bt=require_isIndex(),At=requireIsTypedArray(),Ft=Object.prototype,Ct=Ft.hasOwnProperty;function wt(St,Tt){var Rt=xt(St),Pt=!Rt&&Et(St),Lt=!Rt&&!Pt&&vt(St),kt=!Rt&&!Pt&&!Lt&&At(St),Ot=Rt||Pt||Lt||kt,Mt=Ot?yt(St.length,String):[],It=Mt.length;for(var Nt in St)(Tt||Ct.call(St,Nt))&&!(Ot&&(Nt=="length"||Lt&&(Nt=="offset"||Nt=="parent")||kt&&(Nt=="buffer"||Nt=="byteLength"||Nt=="byteOffset")||bt(Nt,It)))&&Mt.push(Nt);return Mt}return _arrayLikeKeys=wt,_arrayLikeKeys}var _isPrototype,hasRequired_isPrototype;function require_isPrototype(){if(hasRequired_isPrototype)return _isPrototype;hasRequired_isPrototype=1;var yt=Object.prototype;function Et(xt){var vt=xt&&xt.constructor,bt=typeof vt=="function"&&vt.prototype||yt;return xt===bt}return _isPrototype=Et,_isPrototype}var _overArg,hasRequired_overArg;function require_overArg(){if(hasRequired_overArg)return _overArg;hasRequired_overArg=1;function yt(Et,xt){return function(vt){return Et(xt(vt))}}return _overArg=yt,_overArg}var _nativeKeys,hasRequired_nativeKeys;function require_nativeKeys(){if(hasRequired_nativeKeys)return _nativeKeys;hasRequired_nativeKeys=1;var yt=require_overArg(),Et=yt(Object.keys,Object);return _nativeKeys=Et,_nativeKeys}var _baseKeys,hasRequired_baseKeys;function require_baseKeys(){if(hasRequired_baseKeys)return _baseKeys;hasRequired_baseKeys=1;var yt=require_isPrototype(),Et=require_nativeKeys(),xt=Object.prototype,vt=xt.hasOwnProperty;function bt(At){if(!yt(At))return Et(At);var Ft=[];for(var Ct in Object(At))vt.call(At,Ct)&&Ct!="constructor"&&Ft.push(Ct);return Ft}return _baseKeys=bt,_baseKeys}var keys_1,hasRequiredKeys;function requireKeys(){if(hasRequiredKeys)return keys_1;hasRequiredKeys=1;var yt=require_arrayLikeKeys(),Et=require_baseKeys(),xt=requireIsArrayLike();function vt(bt){return xt(bt)?yt(bt):Et(bt)}return keys_1=vt,keys_1}var _baseForOwn,hasRequired_baseForOwn;function require_baseForOwn(){if(hasRequired_baseForOwn)return _baseForOwn;hasRequired_baseForOwn=1;var yt=require_baseFor(),Et=requireKeys();function xt(vt,bt){return vt&&yt(vt,bt,Et)}return _baseForOwn=xt,_baseForOwn}var _createBaseEach,hasRequired_createBaseEach;function require_createBaseEach(){if(hasRequired_createBaseEach)return _createBaseEach;hasRequired_createBaseEach=1;var yt=requireIsArrayLike();function Et(xt,vt){return function(bt,At){if(bt==null)return bt;if(!yt(bt))return xt(bt,At);for(var Ft=bt.length,Ct=vt?Ft:-1,wt=Object(bt);(vt?Ct--:++Ct<Ft)&&At(wt[Ct],Ct,wt)!==!1;);return bt}}return _createBaseEach=Et,_createBaseEach}var _baseEach,hasRequired_baseEach;function require_baseEach(){if(hasRequired_baseEach)return _baseEach;hasRequired_baseEach=1;var yt=require_baseForOwn(),Et=require_createBaseEach(),xt=Et(yt);return _baseEach=xt,_baseEach}var _baseAggregator,hasRequired_baseAggregator;function require_baseAggregator(){if(hasRequired_baseAggregator)return _baseAggregator;hasRequired_baseAggregator=1;var yt=require_baseEach();function Et(xt,vt,bt,At){return yt(xt,function(Ft,Ct,wt){vt(At,Ft,bt(Ft),wt)}),At}return _baseAggregator=Et,_baseAggregator}var _stackClear,hasRequired_stackClear;function require_stackClear(){if(hasRequired_stackClear)return _stackClear;hasRequired_stackClear=1;var yt=require_ListCache();function Et(){this.__data__=new yt,this.size=0}return _stackClear=Et,_stackClear}var _stackDelete,hasRequired_stackDelete;function require_stackDelete(){if(hasRequired_stackDelete)return _stackDelete;hasRequired_stackDelete=1;function yt(Et){var xt=this.__data__,vt=xt.delete(Et);return this.size=xt.size,vt}return _stackDelete=yt,_stackDelete}var _stackGet,hasRequired_stackGet;function require_stackGet(){if(hasRequired_stackGet)return _stackGet;hasRequired_stackGet=1;function yt(Et){return this.__data__.get(Et)}return _stackGet=yt,_stackGet}var _stackHas,hasRequired_stackHas;function require_stackHas(){if(hasRequired_stackHas)return _stackHas;hasRequired_stackHas=1;function yt(Et){return this.__data__.has(Et)}return _stackHas=yt,_stackHas}var _stackSet,hasRequired_stackSet;function require_stackSet(){if(hasRequired_stackSet)return _stackSet;hasRequired_stackSet=1;var yt=require_ListCache(),Et=require_Map(),xt=require_MapCache(),vt=200;function bt(At,Ft){var Ct=this.__data__;if(Ct instanceof yt){var wt=Ct.__data__;if(!Et||wt.length<vt-1)return wt.push([At,Ft]),this.size=++Ct.size,this;Ct=this.__data__=new xt(wt)}return Ct.set(At,Ft),this.size=Ct.size,this}return _stackSet=bt,_stackSet}var _Stack,hasRequired_Stack;function require_Stack(){if(hasRequired_Stack)return _Stack;hasRequired_Stack=1;var yt=require_ListCache(),Et=require_stackClear(),xt=require_stackDelete(),vt=require_stackGet(),bt=require_stackHas(),At=require_stackSet();function Ft(Ct){var wt=this.__data__=new yt(Ct);this.size=wt.size}return Ft.prototype.clear=Et,Ft.prototype.delete=xt,Ft.prototype.get=vt,Ft.prototype.has=bt,Ft.prototype.set=At,_Stack=Ft,_Stack}var _arraySome,hasRequired_arraySome;function require_arraySome(){if(hasRequired_arraySome)return _arraySome;hasRequired_arraySome=1;function yt(Et,xt){for(var vt=-1,bt=Et==null?0:Et.length;++vt<bt;)if(xt(Et[vt],vt,Et))return!0;return!1}return _arraySome=yt,_arraySome}var _equalArrays,hasRequired_equalArrays;function require_equalArrays(){if(hasRequired_equalArrays)return _equalArrays;hasRequired_equalArrays=1;var yt=require_SetCache(),Et=require_arraySome(),xt=require_cacheHas(),vt=1,bt=2;function At(Ft,Ct,wt,St,Tt,Rt){var Pt=wt&vt,Lt=Ft.length,kt=Ct.length;if(Lt!=kt&&!(Pt&&kt>Lt))return!1;var Ot=Rt.get(Ft),Mt=Rt.get(Ct);if(Ot&&Mt)return Ot==Ct&&Mt==Ft;var It=-1,Nt=!0,Ut=wt&bt?new yt:void 0;for(Rt.set(Ft,Ct),Rt.set(Ct,Ft);++It<Lt;){var jt=Ft[It],Vt=Ct[It];if(St)var zt=Pt?St(Vt,jt,It,Ct,Ft,Rt):St(jt,Vt,It,Ft,Ct,Rt);if(zt!==void 0){if(zt)continue;Nt=!1;break}if(Ut){if(!Et(Ct,function(Ht,Wt){if(!xt(Ut,Wt)&&(jt===Ht||Tt(jt,Ht,wt,St,Rt)))return Ut.push(Wt)})){Nt=!1;break}}else if(!(jt===Vt||Tt(jt,Vt,wt,St,Rt))){Nt=!1;break}}return Rt.delete(Ft),Rt.delete(Ct),Nt}return _equalArrays=At,_equalArrays}var _Uint8Array,hasRequired_Uint8Array;function require_Uint8Array(){if(hasRequired_Uint8Array)return _Uint8Array;hasRequired_Uint8Array=1;var yt=require_root(),Et=yt.Uint8Array;return _Uint8Array=Et,_Uint8Array}var _mapToArray,hasRequired_mapToArray;function require_mapToArray(){if(hasRequired_mapToArray)return _mapToArray;hasRequired_mapToArray=1;function yt(Et){var xt=-1,vt=Array(Et.size);return Et.forEach(function(bt,At){vt[++xt]=[At,bt]}),vt}return _mapToArray=yt,_mapToArray}var _equalByTag,hasRequired_equalByTag;function require_equalByTag(){if(hasRequired_equalByTag)return _equalByTag;hasRequired_equalByTag=1;var yt=require_Symbol(),Et=require_Uint8Array(),xt=requireEq(),vt=require_equalArrays(),bt=require_mapToArray(),At=require_setToArray(),Ft=1,Ct=2,wt="[object Boolean]",St="[object Date]",Tt="[object Error]",Rt="[object Map]",Pt="[object Number]",Lt="[object RegExp]",kt="[object Set]",Ot="[object String]",Mt="[object Symbol]",It="[object ArrayBuffer]",Nt="[object DataView]",Ut=yt?yt.prototype:void 0,jt=Ut?Ut.valueOf:void 0;function Vt(zt,Ht,Wt,Gt,qt,Xt,Kt){switch(Wt){case Nt:if(zt.byteLength!=Ht.byteLength||zt.byteOffset!=Ht.byteOffset)return!1;zt=zt.buffer,Ht=Ht.buffer;case It:return!(zt.byteLength!=Ht.byteLength||!Xt(new Et(zt),new Et(Ht)));case wt:case St:case Pt:return xt(+zt,+Ht);case Tt:return zt.name==Ht.name&&zt.message==Ht.message;case Lt:case Ot:return zt==Ht+"";case Rt:var Jt=bt;case kt:var tn=Gt&Ft;if(Jt||(Jt=At),zt.size!=Ht.size&&!tn)return!1;var sn=Kt.get(zt);if(sn)return sn==Ht;Gt|=Ct,Kt.set(zt,Ht);var Zt=vt(Jt(zt),Jt(Ht),Gt,qt,Xt,Kt);return Kt.delete(zt),Zt;case Mt:if(jt)return jt.call(zt)==jt.call(Ht)}return!1}return _equalByTag=Vt,_equalByTag}var _baseGetAllKeys,hasRequired_baseGetAllKeys;function require_baseGetAllKeys(){if(hasRequired_baseGetAllKeys)return _baseGetAllKeys;hasRequired_baseGetAllKeys=1;var yt=require_arrayPush(),Et=requireIsArray();function xt(vt,bt,At){var Ft=bt(vt);return Et(vt)?Ft:yt(Ft,At(vt))}return _baseGetAllKeys=xt,_baseGetAllKeys}var _arrayFilter,hasRequired_arrayFilter;function require_arrayFilter(){if(hasRequired_arrayFilter)return _arrayFilter;hasRequired_arrayFilter=1;function yt(Et,xt){for(var vt=-1,bt=Et==null?0:Et.length,At=0,Ft=[];++vt<bt;){var Ct=Et[vt];xt(Ct,vt,Et)&&(Ft[At++]=Ct)}return Ft}return _arrayFilter=yt,_arrayFilter}var stubArray_1,hasRequiredStubArray;function requireStubArray(){if(hasRequiredStubArray)return stubArray_1;hasRequiredStubArray=1;function yt(){return[]}return stubArray_1=yt,stubArray_1}var _getSymbols,hasRequired_getSymbols;function require_getSymbols(){if(hasRequired_getSymbols)return _getSymbols;hasRequired_getSymbols=1;var yt=require_arrayFilter(),Et=requireStubArray(),xt=Object.prototype,vt=xt.propertyIsEnumerable,bt=Object.getOwnPropertySymbols,At=bt?function(Ft){return Ft==null?[]:(Ft=Object(Ft),yt(bt(Ft),function(Ct){return vt.call(Ft,Ct)}))}:Et;return _getSymbols=At,_getSymbols}var _getAllKeys,hasRequired_getAllKeys;function require_getAllKeys(){if(hasRequired_getAllKeys)return _getAllKeys;hasRequired_getAllKeys=1;var yt=require_baseGetAllKeys(),Et=require_getSymbols(),xt=requireKeys();function vt(bt){return yt(bt,xt,Et)}return _getAllKeys=vt,_getAllKeys}var _equalObjects,hasRequired_equalObjects;function require_equalObjects(){if(hasRequired_equalObjects)return _equalObjects;hasRequired_equalObjects=1;var yt=require_getAllKeys(),Et=1,xt=Object.prototype,vt=xt.hasOwnProperty;function bt(At,Ft,Ct,wt,St,Tt){var Rt=Ct&Et,Pt=yt(At),Lt=Pt.length,kt=yt(Ft),Ot=kt.length;if(Lt!=Ot&&!Rt)return!1;for(var Mt=Lt;Mt--;){var It=Pt[Mt];if(!(Rt?It in Ft:vt.call(Ft,It)))return!1}var Nt=Tt.get(At),Ut=Tt.get(Ft);if(Nt&&Ut)return Nt==Ft&&Ut==At;var jt=!0;Tt.set(At,Ft),Tt.set(Ft,At);for(var Vt=Rt;++Mt<Lt;){It=Pt[Mt];var zt=At[It],Ht=Ft[It];if(wt)var Wt=Rt?wt(Ht,zt,It,Ft,At,Tt):wt(zt,Ht,It,At,Ft,Tt);if(!(Wt===void 0?zt===Ht||St(zt,Ht,Ct,wt,Tt):Wt)){jt=!1;break}Vt||(Vt=It=="constructor")}if(jt&&!Vt){var Gt=At.constructor,qt=Ft.constructor;Gt!=qt&&"constructor"in At&&"constructor"in Ft&&!(typeof Gt=="function"&&Gt instanceof Gt&&typeof qt=="function"&&qt instanceof qt)&&(jt=!1)}return Tt.delete(At),Tt.delete(Ft),jt}return _equalObjects=bt,_equalObjects}var _DataView,hasRequired_DataView;function require_DataView(){if(hasRequired_DataView)return _DataView;hasRequired_DataView=1;var yt=require_getNative(),Et=require_root(),xt=yt(Et,"DataView");return _DataView=xt,_DataView}var _Promise,hasRequired_Promise;function require_Promise(){if(hasRequired_Promise)return _Promise;hasRequired_Promise=1;var yt=require_getNative(),Et=require_root(),xt=yt(Et,"Promise");return _Promise=xt,_Promise}var _WeakMap,hasRequired_WeakMap;function require_WeakMap(){if(hasRequired_WeakMap)return _WeakMap;hasRequired_WeakMap=1;var yt=require_getNative(),Et=require_root(),xt=yt(Et,"WeakMap");return _WeakMap=xt,_WeakMap}var _getTag,hasRequired_getTag;function require_getTag(){if(hasRequired_getTag)return _getTag;hasRequired_getTag=1;var yt=require_DataView(),Et=require_Map(),xt=require_Promise(),vt=require_Set(),bt=require_WeakMap(),At=require_baseGetTag(),Ft=require_toSource(),Ct="[object Map]",wt="[object Object]",St="[object Promise]",Tt="[object Set]",Rt="[object WeakMap]",Pt="[object DataView]",Lt=Ft(yt),kt=Ft(Et),Ot=Ft(xt),Mt=Ft(vt),It=Ft(bt),Nt=At;return(yt&&Nt(new yt(new ArrayBuffer(1)))!=Pt||Et&&Nt(new Et)!=Ct||xt&&Nt(xt.resolve())!=St||vt&&Nt(new vt)!=Tt||bt&&Nt(new bt)!=Rt)&&(Nt=function(Ut){var jt=At(Ut),Vt=jt==wt?Ut.constructor:void 0,zt=Vt?Ft(Vt):"";if(zt)switch(zt){case Lt:return Pt;case kt:return Ct;case Ot:return St;case Mt:return Tt;case It:return Rt}return jt}),_getTag=Nt,_getTag}var _baseIsEqualDeep,hasRequired_baseIsEqualDeep;function require_baseIsEqualDeep(){if(hasRequired_baseIsEqualDeep)return _baseIsEqualDeep;hasRequired_baseIsEqualDeep=1;var yt=require_Stack(),Et=require_equalArrays(),xt=require_equalByTag(),vt=require_equalObjects(),bt=require_getTag(),At=requireIsArray(),Ft=requireIsBuffer(),Ct=requireIsTypedArray(),wt=1,St="[object Arguments]",Tt="[object Array]",Rt="[object Object]",Pt=Object.prototype,Lt=Pt.hasOwnProperty;function kt(Ot,Mt,It,Nt,Ut,jt){var Vt=At(Ot),zt=At(Mt),Ht=Vt?Tt:bt(Ot),Wt=zt?Tt:bt(Mt);Ht=Ht==St?Rt:Ht,Wt=Wt==St?Rt:Wt;var Gt=Ht==Rt,qt=Wt==Rt,Xt=Ht==Wt;if(Xt&&Ft(Ot)){if(!Ft(Mt))return!1;Vt=!0,Gt=!1}if(Xt&&!Gt)return jt||(jt=new yt),Vt||Ct(Ot)?Et(Ot,Mt,It,Nt,Ut,jt):xt(Ot,Mt,Ht,It,Nt,Ut,jt);if(!(It&wt)){var Kt=Gt&&Lt.call(Ot,"__wrapped__"),Jt=qt&&Lt.call(Mt,"__wrapped__");if(Kt||Jt){var tn=Kt?Ot.value():Ot,sn=Jt?Mt.value():Mt;return jt||(jt=new yt),Ut(tn,sn,It,Nt,jt)}}return Xt?(jt||(jt=new yt),vt(Ot,Mt,It,Nt,Ut,jt)):!1}return _baseIsEqualDeep=kt,_baseIsEqualDeep}var _baseIsEqual,hasRequired_baseIsEqual;function require_baseIsEqual(){if(hasRequired_baseIsEqual)return _baseIsEqual;hasRequired_baseIsEqual=1;var yt=require_baseIsEqualDeep(),Et=requireIsObjectLike();function xt(vt,bt,At,Ft,Ct){return vt===bt?!0:vt==null||bt==null||!Et(vt)&&!Et(bt)?vt!==vt&&bt!==bt:yt(vt,bt,At,Ft,xt,Ct)}return _baseIsEqual=xt,_baseIsEqual}var _baseIsMatch,hasRequired_baseIsMatch;function require_baseIsMatch(){if(hasRequired_baseIsMatch)return _baseIsMatch;hasRequired_baseIsMatch=1;var yt=require_Stack(),Et=require_baseIsEqual(),xt=1,vt=2;function bt(At,Ft,Ct,wt){var St=Ct.length,Tt=St,Rt=!wt;if(At==null)return!Tt;for(At=Object(At);St--;){var Pt=Ct[St];if(Rt&&Pt[2]?Pt[1]!==At[Pt[0]]:!(Pt[0]in At))return!1}for(;++St<Tt;){Pt=Ct[St];var Lt=Pt[0],kt=At[Lt],Ot=Pt[1];if(Rt&&Pt[2]){if(kt===void 0&&!(Lt in At))return!1}else{var Mt=new yt;if(wt)var It=wt(kt,Ot,Lt,At,Ft,Mt);if(!(It===void 0?Et(Ot,kt,xt|vt,wt,Mt):It))return!1}}return!0}return _baseIsMatch=bt,_baseIsMatch}var _isStrictComparable,hasRequired_isStrictComparable;function require_isStrictComparable(){if(hasRequired_isStrictComparable)return _isStrictComparable;hasRequired_isStrictComparable=1;var yt=requireIsObject();function Et(xt){return xt===xt&&!yt(xt)}return _isStrictComparable=Et,_isStrictComparable}var _getMatchData,hasRequired_getMatchData;function require_getMatchData(){if(hasRequired_getMatchData)return _getMatchData;hasRequired_getMatchData=1;var yt=require_isStrictComparable(),Et=requireKeys();function xt(vt){for(var bt=Et(vt),At=bt.length;At--;){var Ft=bt[At],Ct=vt[Ft];bt[At]=[Ft,Ct,yt(Ct)]}return bt}return _getMatchData=xt,_getMatchData}var _matchesStrictComparable,hasRequired_matchesStrictComparable;function require_matchesStrictComparable(){if(hasRequired_matchesStrictComparable)return _matchesStrictComparable;hasRequired_matchesStrictComparable=1;function yt(Et,xt){return function(vt){return vt==null?!1:vt[Et]===xt&&(xt!==void 0||Et in Object(vt))}}return _matchesStrictComparable=yt,_matchesStrictComparable}var _baseMatches,hasRequired_baseMatches;function require_baseMatches(){if(hasRequired_baseMatches)return _baseMatches;hasRequired_baseMatches=1;var yt=require_baseIsMatch(),Et=require_getMatchData(),xt=require_matchesStrictComparable();function vt(bt){var At=Et(bt);return At.length==1&&At[0][2]?xt(At[0][0],At[0][1]):function(Ft){return Ft===bt||yt(Ft,bt,At)}}return _baseMatches=vt,_baseMatches}var _baseGet,hasRequired_baseGet;function require_baseGet(){if(hasRequired_baseGet)return _baseGet;hasRequired_baseGet=1;var yt=require_castPath(),Et=require_toKey();function xt(vt,bt){bt=yt(bt,vt);for(var At=0,Ft=bt.length;vt!=null&&At<Ft;)vt=vt[Et(bt[At++])];return At&&At==Ft?vt:void 0}return _baseGet=xt,_baseGet}var get_1,hasRequiredGet;function requireGet(){if(hasRequiredGet)return get_1;hasRequiredGet=1;var yt=require_baseGet();function Et(xt,vt,bt){var At=xt==null?void 0:yt(xt,vt);return At===void 0?bt:At}return get_1=Et,get_1}var _baseHasIn,hasRequired_baseHasIn;function require_baseHasIn(){if(hasRequired_baseHasIn)return _baseHasIn;hasRequired_baseHasIn=1;function yt(Et,xt){return Et!=null&&xt in Object(Et)}return _baseHasIn=yt,_baseHasIn}var hasIn_1,hasRequiredHasIn;function requireHasIn(){if(hasRequiredHasIn)return hasIn_1;hasRequiredHasIn=1;var yt=require_baseHasIn(),Et=require_hasPath();function xt(vt,bt){return vt!=null&&Et(vt,bt,yt)}return hasIn_1=xt,hasIn_1}var _baseMatchesProperty,hasRequired_baseMatchesProperty;function require_baseMatchesProperty(){if(hasRequired_baseMatchesProperty)return _baseMatchesProperty;hasRequired_baseMatchesProperty=1;var yt=require_baseIsEqual(),Et=requireGet(),xt=requireHasIn(),vt=require_isKey(),bt=require_isStrictComparable(),At=require_matchesStrictComparable(),Ft=require_toKey(),Ct=1,wt=2;function St(Tt,Rt){return vt(Tt)&&bt(Rt)?At(Ft(Tt),Rt):function(Pt){var Lt=Et(Pt,Tt);return Lt===void 0&&Lt===Rt?xt(Pt,Tt):yt(Rt,Lt,Ct|wt)}}return _baseMatchesProperty=St,_baseMatchesProperty}var identity_1,hasRequiredIdentity;function requireIdentity(){if(hasRequiredIdentity)return identity_1;hasRequiredIdentity=1;function yt(Et){return Et}return identity_1=yt,identity_1}var _baseProperty,hasRequired_baseProperty;function require_baseProperty(){if(hasRequired_baseProperty)return _baseProperty;hasRequired_baseProperty=1;function yt(Et){return function(xt){return xt?.[Et]}}return _baseProperty=yt,_baseProperty}var _basePropertyDeep,hasRequired_basePropertyDeep;function require_basePropertyDeep(){if(hasRequired_basePropertyDeep)return _basePropertyDeep;hasRequired_basePropertyDeep=1;var yt=require_baseGet();function Et(xt){return function(vt){return yt(vt,xt)}}return _basePropertyDeep=Et,_basePropertyDeep}var property_1,hasRequiredProperty;function requireProperty(){if(hasRequiredProperty)return property_1;hasRequiredProperty=1;var yt=require_baseProperty(),Et=require_basePropertyDeep(),xt=require_isKey(),vt=require_toKey();function bt(At){return xt(At)?yt(vt(At)):Et(At)}return property_1=bt,property_1}var _baseIteratee,hasRequired_baseIteratee;function require_baseIteratee(){if(hasRequired_baseIteratee)return _baseIteratee;hasRequired_baseIteratee=1;var yt=require_baseMatches(),Et=require_baseMatchesProperty(),xt=requireIdentity(),vt=requireIsArray(),bt=requireProperty();function At(Ft){return typeof Ft=="function"?Ft:Ft==null?xt:typeof Ft=="object"?vt(Ft)?Et(Ft[0],Ft[1]):yt(Ft):bt(Ft)}return _baseIteratee=At,_baseIteratee}var _createAggregator,hasRequired_createAggregator;function require_createAggregator(){if(hasRequired_createAggregator)return _createAggregator;hasRequired_createAggregator=1;var yt=require_arrayAggregator(),Et=require_baseAggregator(),xt=require_baseIteratee(),vt=requireIsArray();function bt(At,Ft){return function(Ct,wt){var St=vt(Ct)?yt:Et,Tt=Ft?Ft():{};return St(Ct,At,xt(wt,2),Tt)}}return _createAggregator=bt,_createAggregator}var groupBy_1,hasRequiredGroupBy;function requireGroupBy(){if(hasRequiredGroupBy)return groupBy_1;hasRequiredGroupBy=1;var yt=require_baseAssignValue(),Et=require_createAggregator(),xt=Object.prototype,vt=xt.hasOwnProperty,bt=Et(function(At,Ft,Ct){vt.call(At,Ct)?At[Ct].push(Ft):yt(At,Ct,[Ft])});return groupBy_1=bt,groupBy_1}var groupByExports=requireGroupBy();const groupBy=getDefaultExportFromCjs(groupByExports);function drawBlanks(yt,Et,xt,vt,bt,At,Ft,Ct,wt,St,Tt,Rt,Pt,Lt,kt,Ot,Mt,It,Nt){if(It!==void 0||Et[Et.length-1]!==xt[Et.length-1])return;const Ut=getSkipPoint(Mt);walkColumns(Et,wt,Ft,Ct,At,(jt,Vt,zt,Ht,Wt)=>{if(jt!==Et[Et.length-1])return;Vt+=jt.width;const Gt=Math.max(Vt,Ht);Gt>vt||(yt.save(),yt.beginPath(),yt.rect(Gt,At+1,1e4,bt-At-1),yt.clip(),walkRowsInCol(Wt,zt,bt,St,Tt,kt,Ot,Ut,(qt,Xt,Kt,Jt)=>{if(!Jt&&Mt.length>0&&!Mt.some(rn=>intersectRect(Vt,qt,1e4,Kt,rn.x,rn.y,rn.width,rn.height)))return;const tn=Pt.hasIndex(Xt),sn=Lt.hasIndex(Xt);yt.beginPath();const Zt=Rt?.(Xt),nn=Zt===void 0?Nt:mergeAndRealizeTheme(Nt,Zt);nn.bgCell!==Nt.bgCell&&(yt.fillStyle=nn.bgCell,yt.fillRect(Vt,qt,1e4,Kt)),sn&&(yt.fillStyle=nn.bgHeader,yt.fillRect(Vt,qt,1e4,Kt)),tn&&(yt.fillStyle=nn.accentLight,yt.fillRect(Vt,qt,1e4,Kt))}),yt.restore())})}function overdrawStickyBoundaries(yt,Et,xt,vt,bt,At,Ft,Ct,wt){let St=!1;for(const kt of Et)if(!kt.sticky){St=Ft(kt.sourceIndex);break}const Tt=wt.horizontalBorderColor??wt.borderColor,Rt=wt.borderColor,Pt=St?getStickyWidth(Et):0;let Lt;if(Pt!==0&&(Lt=blendCache(Rt,wt.bgCell),yt.beginPath(),yt.moveTo(Pt+.5,0),yt.lineTo(Pt+.5,vt),yt.strokeStyle=Lt,yt.stroke()),bt>0){const kt=Rt===Tt&&Lt!==void 0?Lt:blendCache(Tt,wt.bgCell),Ot=getFreezeTrailingHeight(At,bt,Ct);yt.beginPath(),yt.moveTo(0,vt-Ot+.5),yt.lineTo(xt,vt-Ot+.5),yt.strokeStyle=kt,yt.stroke()}}const getMinMaxXY=(yt,Et,xt)=>{let vt=0,bt=Et,At=0,Ft=xt;if(yt!==void 0&&yt.length>0){vt=Number.MAX_SAFE_INTEGER,At=Number.MAX_SAFE_INTEGER,bt=Number.MIN_SAFE_INTEGER,Ft=Number.MIN_SAFE_INTEGER;for(const Ct of yt)vt=Math.min(vt,Ct.x-1),bt=Math.max(bt,Ct.x+Ct.width+1),At=Math.min(At,Ct.y-1),Ft=Math.max(Ft,Ct.y+Ct.height+1)}return{minX:vt,maxX:bt,minY:At,maxY:Ft}};function drawExtraRowThemes(yt,Et,xt,vt,bt,At,Ft,Ct,wt,St,Tt,Rt,Pt,Lt,kt){const Ot=kt.bgCell,{minX:Mt,maxX:It,minY:Nt,maxY:Ut}=getMinMaxXY(Ct,At,Ft),jt=[],Vt=Ft-getFreezeTrailingHeight(Lt,Pt,St);let zt=wt,Ht=xt,Wt=0;for(;zt+bt<Vt;){const Kt=zt+bt,Jt=St(Ht);if(Kt>=Nt&&Kt<=Ut-1){const sn=Tt?.(Ht)?.bgCell;sn!==void 0&&sn!==Ot&&Ht>=Lt-Pt&&jt.push({x:Mt,y:Kt,w:It-Mt,h:Jt,color:sn})}zt+=Jt,Ht<Lt-Pt&&(Wt=zt),Ht++}let Gt=0;const qt=Math.min(Vt,Ut)-Wt;if(qt>0)for(let Kt=0;Kt<Et.length;Kt++){const Jt=Et[Kt];if(Jt.width===0)continue;const tn=Jt.sticky?Gt:Gt+vt,sn=Jt.themeOverride?.bgCell;sn!==void 0&&sn!==Ot&&tn>=Mt&&tn<=It&&Rt(Kt+1)&&jt.push({x:tn,y:Wt,w:Jt.width,h:qt,color:sn}),Gt+=Jt.width}if(jt.length===0)return;let Xt;yt.beginPath();for(let Kt=jt.length-1;Kt>=0;Kt--){const Jt=jt[Kt];Xt===void 0?Xt=Jt.color:Jt.color!==Xt&&(yt.fillStyle=Xt,yt.fill(),yt.beginPath(),Xt=Jt.color),yt.rect(Jt.x,Jt.y,Jt.w,Jt.h)}Xt!==void 0&&(yt.fillStyle=Xt,yt.fill()),yt.beginPath()}function drawGridLines(yt,Et,xt,vt,bt,At,Ft,Ct,wt,St,Tt,Rt,Pt,Lt,kt,Ot,Mt,It=!1){if(wt!==void 0){yt.beginPath(),yt.save(),yt.rect(0,0,At,Ft);for(const Kt of wt)yt.rect(Kt.x+1,Kt.y+1,Kt.width-1,Kt.height-1);yt.clip("evenodd")}const Nt=Mt.horizontalBorderColor??Mt.borderColor,Ut=Mt.borderColor,{minX:jt,maxX:Vt,minY:zt,maxY:Ht}=getMinMaxXY(Ct,At,Ft),Wt=[];yt.beginPath();let Gt=.5;for(let Kt=0;Kt<Et.length;Kt++){const Jt=Et[Kt];if(Jt.width===0)continue;Gt+=Jt.width;const tn=Jt.sticky?Gt:Gt+vt;tn>=jt&&tn<=Vt&&Lt(Kt+1)&&Wt.push({x1:tn,y1:Math.max(St,zt),x2:tn,y2:Math.min(Ft,Ht),color:Ut})}let qt=Ft+.5;for(let Kt=Ot-kt;Kt<Ot;Kt++){const Jt=Rt(Kt);qt-=Jt,Wt.push({x1:jt,y1:qt,x2:Vt,y2:qt,color:Nt})}if(It!==!0){let Kt=Tt+.5,Jt=xt;const tn=qt;for(;Kt+bt<tn;){const sn=Kt+bt;if(sn>=zt&&sn<=Ht-1){const Zt=Pt?.(Jt);Wt.push({x1:jt,y1:sn,x2:Vt,y2:sn,color:Zt?.horizontalBorderColor??Zt?.borderColor??Nt})}Kt+=Rt(Jt),Jt++}}const Xt=groupBy(Wt,Kt=>Kt.color);for(const Kt of Object.keys(Xt)){yt.strokeStyle=Kt;for(const Jt of Xt[Kt])yt.moveTo(Jt.x1,Jt.y1),yt.lineTo(Jt.x2,Jt.y2);yt.stroke(),yt.beginPath()}wt!==void 0&&yt.restore()}function blitLastFrame(yt,Et,xt,vt,bt,At,Ft,Ct,wt,St,Tt,Rt,Pt,Lt,kt,Ot,Mt,It,Nt){const Ut=[];yt.imageSmoothingEnabled=!1;const jt=Math.min(bt.cellYOffset,Ft),Vt=Math.max(bt.cellYOffset,Ft);let zt=0;if(typeof It=="number")zt+=(Vt-jt)*It;else for(let tn=jt;tn<Vt;tn++)zt+=It(tn);Ft>bt.cellYOffset&&(zt=-zt),zt+=wt-bt.translateY;const Ht=Math.min(bt.cellXOffset,At),Wt=Math.max(bt.cellXOffset,At);let Gt=0;for(let tn=Ht;tn<Wt;tn++)Gt+=Ot[tn].width;At>bt.cellXOffset&&(Gt=-Gt),Gt+=Ct-bt.translateX;const qt=getStickyWidth(Mt);if(Gt!==0&&zt!==0)return{regions:[]};const Xt=St>0?getFreezeTrailingHeight(Pt,St,It):0,Kt=Tt-qt-Math.abs(Gt),Jt=Rt-Lt-Xt-Math.abs(zt)-1;if(Kt>150&&Jt>150){const tn={sx:0,sy:0,sw:Tt*kt,sh:Rt*kt,dx:0,dy:0,dw:Tt*kt,dh:Rt*kt};if(zt>0?(tn.sy=(Lt+1)*kt,tn.sh=Jt*kt,tn.dy=(zt+Lt+1)*kt,tn.dh=Jt*kt,Ut.push({x:0,y:Lt,width:Tt,height:zt+1})):zt<0&&(tn.sy=(-zt+Lt+1)*kt,tn.sh=Jt*kt,tn.dy=(Lt+1)*kt,tn.dh=Jt*kt,Ut.push({x:0,y:Rt+zt-Xt,width:Tt,height:-zt+Xt})),Gt>0?(tn.sx=qt*kt,tn.sw=Kt*kt,tn.dx=(Gt+qt)*kt,tn.dw=Kt*kt,Ut.push({x:qt-1,y:0,width:Gt+2,height:Rt})):Gt<0&&(tn.sx=(qt-Gt)*kt,tn.sw=Kt*kt,tn.dx=qt*kt,tn.dw=Kt*kt,Ut.push({x:Tt+Gt,y:0,width:-Gt,height:Rt})),yt.setTransform(1,0,0,1,0,0),Nt){if(qt>0&&Gt!==0&&zt===0&&(vt===void 0||xt?.[1]!==!1)){const sn=qt*kt,Zt=Rt*kt;yt.drawImage(Et,0,0,sn,Zt,0,0,sn,Zt)}if(Xt>0&&Gt===0&&zt!==0&&(vt===void 0||xt?.[0]!==!1)){const sn=(Rt-Xt)*kt,Zt=Tt*kt,nn=Xt*kt;yt.drawImage(Et,0,sn,Zt,nn,0,sn,Zt,nn)}}yt.drawImage(Et,tn.sx,tn.sy,tn.sw,tn.sh,tn.dx,tn.dy,tn.dw,tn.dh),yt.scale(kt,kt)}return yt.imageSmoothingEnabled=!0,{regions:Ut}}function blitResizedCol(yt,Et,xt,vt,bt,At,Ft,Ct,wt,St){const Tt=[];return Et!==yt.cellXOffset||xt!==yt.cellYOffset||vt!==yt.translateX||bt!==yt.translateY||walkColumns(wt,xt,vt,bt,Ct,(Rt,Pt,Lt,kt)=>{if(Rt.sourceIndex===St){const Ot=Math.max(Pt,kt)+1;return Tt.push({x:Ot,y:0,width:At-Ot,height:Ft}),!0}}),Tt}function computeCanBlit(yt,Et){if(Et===void 0||yt.width!==Et.width||yt.height!==Et.height||yt.theme!==Et.theme||yt.headerHeight!==Et.headerHeight||yt.rowHeight!==Et.rowHeight||yt.rows!==Et.rows||yt.freezeColumns!==Et.freezeColumns||yt.getRowThemeOverride!==Et.getRowThemeOverride||yt.isFocused!==Et.isFocused||yt.isResizing!==Et.isResizing||yt.verticalBorder!==Et.verticalBorder||yt.getCellContent!==Et.getCellContent||yt.highlightRegions!==Et.highlightRegions||yt.selection!==Et.selection||yt.dragAndDropState!==Et.dragAndDropState||yt.prelightCells!==Et.prelightCells||yt.touchMode!==Et.touchMode||yt.maxScaleFactor!==Et.maxScaleFactor)return!1;if(yt.mappedColumns!==Et.mappedColumns){if(yt.mappedColumns.length>100||yt.mappedColumns.length!==Et.mappedColumns.length)return!1;let xt;for(let vt=0;vt<yt.mappedColumns.length;vt++){const bt=yt.mappedColumns[vt],At=Et.mappedColumns[vt];if(deepEqual(bt,At))continue;if(xt!==void 0||bt.width===At.width)return!1;const{width:Ft,...Ct}=bt,{width:wt,...St}=At;if(!deepEqual(Ct,St))return!1;xt=vt}return xt===void 0?!0:xt}return!0}function drawHighlightRings(yt,Et,xt,vt,bt,At,Ft,Ct,wt,St,Tt,Rt,Pt,Lt,kt,Ot){const Mt=kt?.filter(Ht=>Ht.style!=="no-outline");if(Mt===void 0||Mt.length===0)return;const It=getStickyWidth(Ct),Nt=getFreezeTrailingHeight(Lt,Pt,Rt),Ut=[wt,0,Ct.length,Lt-Pt],jt=[It,0,Et,xt-Nt],Vt=Mt.map(Ht=>{const Wt=Ht.range,Gt=Ht.style??"dashed";return splitRectIntoRegions(Wt,Ut,Et,xt,jt).map(qt=>{const Xt=qt.rect,Kt=computeBounds(Xt.x,Xt.y,Et,xt,Tt,St+Tt,vt,bt,At,Ft,Lt,wt,Pt,Ct,Rt),Jt=Xt.width===1&&Xt.height===1?Kt:computeBounds(Xt.x+Xt.width-1,Xt.y+Xt.height-1,Et,xt,Tt,St+Tt,vt,bt,At,Ft,Lt,wt,Pt,Ct,Rt);return Xt.x+Xt.width>=Ct.length&&(Jt.width-=1),Xt.y+Xt.height>=Lt&&(Jt.height-=1),{color:Ht.color,style:Gt,clip:qt.clip,rect:hugRectToTarget({x:Kt.x,y:Kt.y,width:Jt.x+Jt.width-Kt.x,height:Jt.y+Jt.height-Kt.y},Et,xt,8)}})}),zt=()=>{yt.lineWidth=1;let Ht=!1;for(const Wt of Vt)for(const Gt of Wt)if(Gt?.rect!==void 0&&intersectRect(0,0,Et,xt,Gt.rect.x,Gt.rect.y,Gt.rect.width,Gt.rect.height)){const qt=Ht,Xt=!rectContains(Gt.clip,Gt.rect);yt.beginPath(),Xt&&(yt.save(),yt.rect(Gt.clip.x,Gt.clip.y,Gt.clip.width,Gt.clip.height),yt.clip()),Gt.style==="dashed"&&!Ht?(yt.setLineDash([5,3]),Ht=!0):(Gt.style==="solid"||Gt.style==="solid-outline")&&Ht&&(yt.setLineDash([]),Ht=!1),yt.strokeStyle=Gt.style==="solid-outline"?blend(blend(Gt.color,Ot.borderColor),Ot.bgCell):withAlpha(Gt.color,1),yt.closePath(),yt.strokeRect(Gt.rect.x+.5,Gt.rect.y+.5,Gt.rect.width-1,Gt.rect.height-1),Xt&&(yt.restore(),Ht=qt)}Ht&&yt.setLineDash([])};return zt(),zt}function drawColumnResizeOutline(yt,Et,xt,vt,bt){yt.beginPath(),yt.moveTo(Et,xt),yt.lineTo(Et,vt),yt.lineWidth=2,yt.strokeStyle=bt,yt.stroke(),yt.globalAlpha=1}function drawFillHandle(yt,Et,xt,vt,bt,At,Ft,Ct,wt,St,Tt,Rt,Pt,Lt,kt,Ot,Mt){if(Tt.current===void 0)return;const It=Ot!==!1&&Ot!==void 0;if(!It)return;const Nt=typeof Ot=="object"?{...DEFAULT_FILL_HANDLE,...Ot}:DEFAULT_FILL_HANDLE,Ut=Tt.current.range,jt=Tt.current.cell,Vt=[Ut.x+Ut.width-1,Ut.y+Ut.height-1];if(jt[1]>=Mt&&Vt[1]>=Mt||!Ft.some(Zt=>Zt.sourceIndex===jt[0]||Zt.sourceIndex===Vt[0]))return;const[Ht,Wt]=Tt.current.cell,Gt=Pt(Tt.current.cell),qt=Gt.span??[Ht,Ht],Xt=Wt>=Mt-Lt,Kt=Lt>0&&!Xt?getFreezeTrailingHeight(Mt,Lt,Rt)-1:0,Jt=Vt[1];let tn;if(walkColumns(Ft,vt,bt,At,St,(Zt,nn,rn,on,ln)=>{if(Zt.sticky&&Ht>Zt.sourceIndex)return;const Qt=Zt.sourceIndex<qt[0],fn=Zt.sourceIndex>qt[1],pn=Zt.sourceIndex===Vt[0];if(!(!pn&&(Qt||fn)))return walkRowsInCol(ln,rn,xt,Mt,Rt,Lt,kt,void 0,(mn,vn,yn)=>{if(vn!==Wt&&vn!==Jt)return;let xn=nn,Mn=Zt.width;if(Gt.span!==void 0){const Rn=getSpanBounds(Gt.span,nn,mn,Zt.width,yn,Zt,Ct),Tn=Zt.sticky?Rn[0]:Rn[1];Tn!==void 0&&(xn=Tn.x,Mn=Tn.width)}return vn===Jt&&pn&&It&&(tn=()=>{on>xn&&!Zt.sticky&&(yt.beginPath(),yt.rect(on,0,Et-on,xt),yt.clip());const Rn=Nt.size,Tn=Rn/2,ir=xn+Mn+Nt.offsetX-Tn+.5,Jn=mn+yn+Nt.offsetY-Tn+.5;yt.beginPath(),Nt.shape==="circle"?yt.arc(ir+Tn,Jn+Tn,Tn,0,Math.PI*2):yt.rect(ir,Jn,Rn,Rn),yt.fillStyle=Zt.themeOverride?.accentColor??wt.accentColor,yt.fill(),Nt.outline>0&&(yt.lineWidth=Nt.outline,yt.strokeStyle=wt.bgCell,Nt.shape==="circle"?(yt.beginPath(),yt.arc(ir+Tn,Jn+Tn,Tn+Nt.outline/2,0,Math.PI*2),yt.stroke()):yt.strokeRect(ir-Nt.outline/2,Jn-Nt.outline/2,Rn+Nt.outline,Rn+Nt.outline))}),tn!==void 0}),tn!==void 0}),tn===void 0)return;const sn=()=>{yt.save(),yt.beginPath(),yt.rect(0,St,Et,xt-St-Kt),yt.clip(),tn?.(),yt.restore()};return sn(),sn}function clipHeaderDamage(yt,Et,xt,vt,bt,At,Ft,Ct,wt){wt===void 0||wt.size===0||(yt.beginPath(),walkGroups(Et,xt,At,vt,(St,Tt,Rt,Pt,Lt,kt)=>{wt.hasItemInRectangle({x:St[0],y:-2,width:St[1]-St[0]+1,height:1})&&yt.rect(Rt,Pt,Lt,kt)}),walkColumns(Et,Ct,At,Ft,bt,(St,Tt,Rt,Pt)=>{const Lt=Math.max(0,Pt-Tt),kt=Tt+Lt+1,Ot=St.width-Lt-1;wt.has([St.sourceIndex,-1])&&yt.rect(kt,vt,Ot,bt-vt)}),yt.clip())}function getLastRow(yt,Et,xt,vt,bt,At,Ft,Ct,wt,St){let Tt=0;return walkColumns(yt,At,vt,bt,xt,(Rt,Pt,Lt,kt,Ot)=>(walkRowsInCol(Ot,Lt,Et,Ft,Ct,wt,St,void 0,(Mt,It,Nt,Ut)=>{Ut||(Tt=Math.max(It,Tt))}),!0)),Tt}function drawGrid(yt,Et){const{canvasCtx:xt,headerCanvasCtx:vt,width:bt,height:At,cellXOffset:Ft,cellYOffset:Ct,translateX:wt,translateY:St,mappedColumns:Tt,enableGroups:Rt,freezeColumns:Pt,dragAndDropState:Lt,theme:kt,drawFocus:Ot,headerHeight:Mt,groupHeaderHeight:It,disabledRows:Nt,rowHeight:Ut,verticalBorder:jt,overrideCursor:Vt,isResizing:zt,selection:Ht,fillHandle:Wt,freezeTrailingRows:Gt,rows:qt,getCellContent:Xt,getGroupDetails:Kt,getRowThemeOverride:Jt,isFocused:tn,drawHeaderCallback:sn,prelightCells:Zt,drawCellCallback:nn,highlightRegions:rn,resizeCol:on,imageLoader:ln,lastBlitData:Qt,hoverValues:fn,hyperWrapping:pn,hoverInfo:mn,spriteManager:vn,maxScaleFactor:yn,hasAppendRow:xn,touchMode:Mn,enqueue:$n,renderStateProvider:Rn,getCellRenderer:Tn,renderStrategy:ir,bufferACtx:Jn,bufferBCtx:jn,damage:Wn,minimumCellWidth:br,resizeIndicator:Fr}=yt;if(bt===0||At===0)return;const Cr=ir==="double-buffer",dr=Math.min(yn,Math.ceil(window.devicePixelRatio??1)),_r=ir!=="direct"&&computeCanBlit(yt,Et),pr=xt.canvas;(pr.width!==bt*dr||pr.height!==At*dr)&&(pr.width=bt*dr,pr.height=At*dr,pr.style.width=bt+"px",pr.style.height=At+"px");const wr=vt.canvas,xr=Rt?It+Mt:Mt,Dr=xr+1;(wr.width!==bt*dr||wr.height!==Dr*dr)&&(wr.width=bt*dr,wr.height=Dr*dr,wr.style.width=bt+"px",wr.style.height=Dr+"px");const ar=Jn.canvas,Qn=jn.canvas;Cr&&(ar.width!==bt*dr||ar.height!==At*dr)&&(ar.width=bt*dr,ar.height=At*dr,Qt.current!==void 0&&(Qt.current.aBufferScroll=void 0)),Cr&&(Qn.width!==bt*dr||Qn.height!==At*dr)&&(Qn.width=bt*dr,Qn.height=At*dr,Qt.current!==void 0&&(Qt.current.bBufferScroll=void 0));const Cn=Qt.current;if(_r===!0&&Ft===Cn?.cellXOffset&&Ct===Cn?.cellYOffset&&wt===Cn?.translateX&&St===Cn?.translateY)return;let Bn=null;Cr&&(Bn=xt);const In=vt;let or;Cr?Wn!==void 0?or=Cn?.lastBuffer==="b"?jn:Jn:or=Cn?.lastBuffer==="b"?Jn:jn:or=xt;const rr=or.canvas,vr=Cr?rr===ar?Qn:ar:pr,cr=typeof Ut=="number"?()=>Ut:Ut;In.save(),or.save(),In.beginPath(),or.beginPath(),In.textBaseline="middle",or.textBaseline="middle",dr!==1&&(In.scale(dr,dr),or.scale(dr,dr));const gn=getEffectiveColumns(Tt,Ft,bt,Lt,wt);let wn=[];const Xn=Ot&&Ht.current?.cell[1]===Ct&&St===0;let tr=!1;if(rn!==void 0){for(const hr of rn)if(hr.style!=="no-outline"&&hr.range.y===Ct&&St===0){tr=!0;break}}const Hn=()=>{drawGridHeaders(In,gn,Rt,mn,bt,wt,Mt,It,Lt,zt,Ht,kt,vn,fn,jt,Kt,Wn,sn,Mn),drawGridLines(In,gn,Ct,wt,St,bt,At,void 0,void 0,It,xr,cr,Jt,jt,Gt,qt,kt,!0),In.beginPath(),In.moveTo(0,Dr-.5),In.lineTo(bt,Dr-.5),In.strokeStyle=blend(kt.headerBottomBorderColor??kt.horizontalBorderColor??kt.borderColor,kt.bgHeader),In.stroke(),tr&&drawHighlightRings(In,bt,At,Ft,Ct,wt,St,Tt,Pt,Mt,It,Ut,Gt,qt,rn,kt),Xn&&drawFillHandle(In,bt,At,Ct,wt,St,gn,Tt,kt,xr,Ht,cr,Xt,Gt,xn,Wt,qt)};if(Wn!==void 0){const hr=gn[gn.length-1].sourceIndex+1,An=Wn.hasItemInRegion([{x:Ft,y:-2,width:hr,height:2},{x:Ft,y:Ct,width:hr,height:300},{x:0,y:Ct,width:Pt,height:300},{x:0,y:-2,width:Pt,height:2},{x:Ft,y:qt-Gt,width:hr,height:Gt,when:Gt>0}]),nr=gr=>{drawCells(gr,gn,Tt,At,xr,wt,St,Ct,qt,cr,Xt,Kt,Jt,Nt,tn,Ot,Gt,xn,wn,Wn,Ht,Zt,rn,ln,vn,fn,mn,nn,pn,kt,$n,Rn,Tn,Vt,br);const ii=Ht.current;Wt!==!1&&Wt!==void 0&&Ot&&ii!==void 0&&Wn.has(rectBottomRight(ii.range))&&drawFillHandle(gr,bt,At,Ct,wt,St,gn,Tt,kt,xr,Ht,cr,Xt,Gt,xn,Wt,qt)};An&&(nr(or),Bn!==null&&(Bn.save(),Bn.scale(dr,dr),Bn.textBaseline="middle",nr(Bn),Bn.restore()),Wn.hasHeader()&&(clipHeaderDamage(In,gn,bt,It,xr,wt,St,Ct,Wn),Hn())),or.restore(),In.restore();return}if((_r!==!0||Ft!==Cn?.cellXOffset||wt!==Cn?.translateX||Xn!==Cn?.mustDrawFocusOnHeader||tr!==Cn?.mustDrawHighlightRingsOnHeader)&&Hn(),_r===!0){assert(vr!==void 0&&Cn!==void 0);const{regions:hr}=blitLastFrame(or,vr,vr===ar?Cn.aBufferScroll:Cn.bBufferScroll,vr===ar?Cn.bBufferScroll:Cn.aBufferScroll,Cn,Ft,Ct,wt,St,Gt,bt,At,qt,xr,dr,Tt,gn,Ut,Cr);wn=hr}else _r!==!1&&(assert(Cn!==void 0),wn=blitResizedCol(Cn,Ft,Ct,wt,St,bt,At,xr,gn,_r));overdrawStickyBoundaries(or,gn,bt,At,Gt,qt,jt,cr,kt);const Kn=drawHighlightRings(or,bt,At,Ft,Ct,wt,St,Tt,Pt,Mt,It,Ut,Gt,qt,rn,kt),_n=Ot?drawFillHandle(or,bt,At,Ct,wt,St,gn,Tt,kt,xr,Ht,cr,Xt,Gt,xn,Wt,qt):void 0;if(or.fillStyle=kt.bgCell,wn.length>0){or.beginPath();for(const hr of wn)or.rect(hr.x,hr.y,hr.width,hr.height);or.clip(),or.fill(),or.beginPath()}else or.fillRect(0,0,bt,At);const yr=drawCells(or,gn,Tt,At,xr,wt,St,Ct,qt,cr,Xt,Kt,Jt,Nt,tn,Ot,Gt,xn,wn,Wn,Ht,Zt,rn,ln,vn,fn,mn,nn,pn,kt,$n,Rn,Tn,Vt,br);drawBlanks(or,gn,Tt,bt,At,xr,wt,St,Ct,qt,cr,Jt,Ht.rows,Nt,Gt,xn,wn,Wn,kt),drawExtraRowThemes(or,gn,Ct,wt,St,bt,At,wn,xr,cr,Jt,jt,Gt,qt,kt),drawGridLines(or,gn,Ct,wt,St,bt,At,wn,yr,It,xr,cr,Jt,jt,Gt,qt,kt),Kn?.(),_n?.(),zt&&Fr!=="none"&&walkColumns(gn,0,wt,0,xr,(hr,An)=>hr.sourceIndex===on?(drawColumnResizeOutline(In,An+hr.width,0,xr+1,blend(kt.resizeIndicatorColor??kt.accentLight,kt.bgHeader)),Fr==="full"&&drawColumnResizeOutline(or,An+hr.width,xr,At,blend(kt.resizeIndicatorColor??kt.accentLight,kt.bgCell)),!0):!1),Bn!==null&&(Bn.fillStyle=kt.bgCell,Bn.fillRect(0,0,bt,At),Bn.drawImage(or.canvas,0,0));const Or=getLastRow(gn,At,xr,wt,St,Ct,qt,cr,Gt,xn);ln?.setWindow({x:Ft,y:Ct,width:gn.length,height:Or-Ct},Pt,Array.from({length:Gt},(hr,An)=>qt-1-An));const hn=Cn!==void 0&&(Ft!==Cn.cellXOffset||wt!==Cn.translateX),Ar=Cn!==void 0&&(Ct!==Cn.cellYOffset||St!==Cn.translateY);Qt.current={cellXOffset:Ft,cellYOffset:Ct,translateX:wt,translateY:St,mustDrawFocusOnHeader:Xn,mustDrawHighlightRingsOnHeader:tr,lastBuffer:Cr?rr===ar?"a":"b":void 0,aBufferScroll:rr===ar?[hn,Ar]:Cn?.aBufferScroll,bBufferScroll:rr===Qn?[hn,Ar]:Cn?.bBufferScroll},or.restore(),In.restore()}const hoverTime=80;function easeOutCubic(yt){const Et=yt-1;return Et*Et*Et+1}class AnimationManager{callback;constructor(Et){this.callback=Et}currentHoveredItem=void 0;leavingItems=[];lastAnimationTime;addToLeavingItems=Et=>{this.leavingItems.some(vt=>itemsAreEqual(vt.item,Et.item))||this.leavingItems.push(Et)};removeFromLeavingItems=Et=>{const xt=this.leavingItems.find(vt=>itemsAreEqual(vt.item,Et));return this.leavingItems=this.leavingItems.filter(vt=>vt!==xt),xt?.hoverAmount??0};cleanUpLeavingElements=()=>{this.leavingItems=this.leavingItems.filter(Et=>Et.hoverAmount>0)};shouldStep=()=>{const Et=this.leavingItems.length>0,xt=this.currentHoveredItem!==void 0&&this.currentHoveredItem.hoverAmount<1;return Et||xt};getAnimatingItems=()=>this.currentHoveredItem!==void 0?[...this.leavingItems,this.currentHoveredItem]:this.leavingItems.map(Et=>({...Et,hoverAmount:easeOutCubic(Et.hoverAmount)}));step=Et=>{if(this.lastAnimationTime===void 0)this.lastAnimationTime=Et;else{const vt=(Et-this.lastAnimationTime)/hoverTime;for(const At of this.leavingItems)At.hoverAmount=clamp$1(At.hoverAmount-vt,0,1);this.currentHoveredItem!==void 0&&(this.currentHoveredItem.hoverAmount=clamp$1(this.currentHoveredItem.hoverAmount+vt,0,1));const bt=this.getAnimatingItems();this.callback(bt),this.cleanUpLeavingElements()}this.shouldStep()?(this.lastAnimationTime=Et,window.requestAnimationFrame(this.step)):this.lastAnimationTime=void 0};setHovered=Et=>{if(!itemsAreEqual(this.currentHoveredItem?.item,Et)){if(this.currentHoveredItem!==void 0&&this.addToLeavingItems(this.currentHoveredItem),Et!==void 0){const xt=this.removeFromLeavingItems(Et);this.currentHoveredItem={item:Et,hoverAmount:xt}}else this.currentHoveredItem=void 0;this.lastAnimationTime===void 0&&window.requestAnimationFrame(this.step)}}}class Lazy{fn;val;constructor(Et){this.fn=Et}get value(){return this.val??(this.val=this.fn())}}function lazy(yt){return new Lazy(yt)}const browserIsFirefox=lazy(()=>window.navigator.userAgent.includes("Firefox")),browserIsSafari=lazy(()=>window.navigator.userAgent.includes("Mac OS")&&window.navigator.userAgent.includes("Safari")&&!window.navigator.userAgent.includes("Chrome")),browserIsOSX=lazy(()=>window.navigator.platform.toLowerCase().startsWith("mac"));function useAnimationQueue(yt){const Et=reactExports.useRef([]),xt=reactExports.useRef(0),vt=reactExports.useRef(yt);vt.current=yt;const bt=reactExports.useCallback(()=>{const At=()=>window.requestAnimationFrame(Ft),Ft=()=>{const Ct=Et.current.map(unpackNumberToColRow);Et.current=[],vt.current(new CellSet(Ct)),Et.current.length>0?xt.current++:xt.current=0};window.requestAnimationFrame(xt.current>600?At:Ft)},[]);return reactExports.useCallback(At=>{Et.current.length===0&&bt();const Ft=packColRowToNumber(At[0],At[1]);Et.current.includes(Ft)||Et.current.push(Ft)},[bt])}const headerKind="header",groupHeaderKind="group-header",outOfBoundsKind="out-of-bounds";var OutOfBoundsRegionAxis;(function(yt){yt[yt.Start=-2]="Start",yt[yt.StartPadding=-1]="StartPadding",yt[yt.Center=0]="Center",yt[yt.EndPadding=1]="EndPadding",yt[yt.End=2]="End"})(OutOfBoundsRegionAxis||(OutOfBoundsRegionAxis={}));function mouseEventArgsAreEqual(yt,Et){return yt===Et?!0:yt?.kind==="out-of-bounds"?yt?.kind===Et?.kind&&yt?.location[0]===Et?.location[0]&&yt?.location[1]===Et?.location[1]&&yt?.region[0]===Et?.region[0]&&yt?.region[1]===Et?.region[1]:yt?.kind===Et?.kind&&yt?.location[0]===Et?.location[0]&&yt?.location[1]===Et?.location[1]}const getRowData=(yt,Et)=>yt.kind===GridCellKind.Custom?yt.copyData:Et?.(yt)?.getAccessibilityString(yt)??"",DataGrid$1=(yt,Et)=>{const{width:xt,height:vt,accessibilityHeight:bt,columns:At,cellXOffset:Ft,cellYOffset:Ct,headerHeight:wt,fillHandle:St=!1,groupHeaderHeight:Tt,rowHeight:Rt,rows:Pt,getCellContent:Lt,getRowThemeOverride:kt,onHeaderMenuClick:Ot,onHeaderIndicatorClick:Mt,enableGroups:It,isFilling:Nt,onCanvasFocused:Ut,onCanvasBlur:jt,isFocused:Vt,selection:zt,freezeColumns:Ht,onContextMenu:Wt,freezeTrailingRows:Gt,fixedShadowX:qt=!0,fixedShadowY:Xt=!0,drawFocusRing:Kt,onMouseDown:Jt,onMouseUp:tn,onMouseMoveRaw:sn,onMouseMove:Zt,onItemHovered:nn,dragAndDropState:rn,firstColAccessible:on,onKeyDown:ln,onKeyUp:Qt,highlightRegions:fn,canvasRef:pn,onDragStart:mn,onDragEnd:vn,eventTargetRef:yn,isResizing:xn,resizeColumn:Mn,isDragging:$n,isDraggable:Rn=!1,allowResize:Tn,disabledRows:ir,hasAppendRow:Jn,getGroupDetails:jn,theme:Wn,prelightCells:br,headerIcons:Fr,verticalBorder:Cr,drawCell:dr,drawHeader:_r,onCellFocused:pr,onDragOverCell:wr,onDrop:xr,onDragLeave:Dr,imageWindowLoader:ar,smoothScrollX:Qn=!1,smoothScrollY:Cn=!1,experimental:Bn,getCellRenderer:In,resizeIndicator:or="full"}=yt,rr=yt.translateX??0,vr=yt.translateY??0,cr=Math.max(Ht,Math.min(At.length-1,Ft)),gn=reactExports.useRef(null),wn=reactExports.useRef(Bn?.eventTarget??window),Xn=wn.current,tr=ar,Hn=reactExports.useRef(),[Kn,_n]=reactExports.useState(!1),yr=reactExports.useRef([]),Or=reactExports.useRef(),[hn,Ar]=reactExports.useState(),[hr,An]=reactExports.useState(),nr=reactExports.useRef(null),[gr,ii]=reactExports.useState(),[ti,di]=reactExports.useState(!1),Bi=reactExports.useRef(ti);Bi.current=ti;const as=reactExports.useMemo(()=>new SpriteManager(Fr,()=>{ws.current=void 0,Ja.current()}),[Fr]),ki=It?Tt+wt:wt,Xi=reactExports.useRef(-1),_i=(Bn?.enableFirefoxRescaling??!1)&&browserIsFirefox.value,ci=(Bn?.enableSafariRescaling??!1)&&browserIsSafari.value;reactExports.useLayoutEffect(()=>{window.devicePixelRatio===1||!_i&&!ci||(Xi.current!==-1&&_n(!0),window.clearTimeout(Xi.current),Xi.current=window.setTimeout(()=>{_n(!1),Xi.current=-1},200))},[Ct,cr,rr,vr,_i,ci]);const xi=useMappedColumns(At,Ht),mi=reactExports.useMemo(()=>qt?getStickyWidth(xi,rn):0,[xi,rn,qt]),wi=reactExports.useCallback((Un,pi,zi)=>{const Zi=Un.getBoundingClientRect();if(pi>=xi.length||zi>=Pt)return;const bi=Zi.width/xt,Fi=computeBounds(pi,zi,xt,vt,Tt,ki,cr,Ct,rr,vr,Pt,Ht,Gt,xi,Rt);return bi!==1&&(Fi.x*=bi,Fi.y*=bi,Fi.width*=bi,Fi.height*=bi),Fi.x+=Zi.x,Fi.y+=Zi.y,Fi},[xt,vt,Tt,ki,cr,Ct,rr,vr,Pt,Ht,Gt,xi,Rt]),vi=reactExports.useCallback((Un,pi,zi,Zi)=>{const bi=Un.getBoundingClientRect(),Fi=bi.width/xt,ts=(pi-bi.left)/Fi,Gi=(zi-bi.top)/Fi,hs=5,Rs=getEffectiveColumns(xi,cr,xt,void 0,rr);let vo=0,go=0;const ms=typeof PointerEvent<"u"&&Zi instanceof PointerEvent&&Zi.pointerType==="mouse"||typeof MouseEvent<"u"&&Zi instanceof MouseEvent,Ii=typeof PointerEvent<"u"&&Zi instanceof PointerEvent&&Zi.pointerType==="touch"||typeof TouchEvent<"u"&&Zi instanceof TouchEvent;ms&&(vo=Zi.button,go=Zi.buttons);const Ui=getColumnIndexForX(ts,Rs,rr),Fs=getRowIndexForY(Gi,vt,It,wt,Tt,Pt,Rt,Ct,vr,Gt),Ws=Zi?.shiftKey===!0,Ba=Zi?.ctrlKey===!0,ua=Zi?.metaKey===!0,Oo=[ts<0?-1:xt<ts?1:0,Gi<ki?-1:vt<Gi?1:0];let jo;if(Ui===-1||Gi<0||ts<0||Fs===void 0||ts>xt||Gi>vt){const qs=ts>xt?1:ts<0?-1:0,Ya=Gi>vt?1:Gi<0?-1:0;let Yo=qs*2,wl=Ya*2;qs===0&&(Yo=Ui===-1?OutOfBoundsRegionAxis.EndPadding:OutOfBoundsRegionAxis.Center),Ya===0&&(wl=Fs===void 0?OutOfBoundsRegionAxis.EndPadding:OutOfBoundsRegionAxis.Center);let cl=!1;if(Ui===-1&&Fs===-1){const Po=wi(Un,xi.length-1,-1);assert(Po!==void 0),cl=pi<Po.x+Po.width+hs}const As=ts>xt&&ts<xt+getScrollBarWidth()||Gi>vt&&Gi<vt+getScrollBarWidth();jo={kind:outOfBoundsKind,location:[Ui!==-1?Ui:ts<0?0:xi.length-1,Fs??Pt-1],region:[Yo,wl],shiftKey:Ws,ctrlKey:Ba,metaKey:ua,isEdge:cl,isTouch:Ii,button:vo,buttons:go,scrollEdge:Oo,isMaybeScrollbar:As}}else if(Fs<=-1){let qs=wi(Un,Ui,Fs);assert(qs!==void 0);let Ya=qs!==void 0&&qs.x+qs.width-pi<=hs;const Yo=Ui-1;pi-qs.x<=hs&&Yo>=0?(Ya=!0,qs=wi(Un,Yo,Fs),assert(qs!==void 0),jo={kind:It&&Fs===-2?groupHeaderKind:headerKind,location:[Yo,Fs],bounds:qs,group:xi[Yo].group??"",isEdge:Ya,shiftKey:Ws,ctrlKey:Ba,metaKey:ua,isTouch:Ii,localEventX:pi-qs.x,localEventY:zi-qs.y,button:vo,buttons:go,scrollEdge:Oo}):jo={kind:It&&Fs===-2?groupHeaderKind:headerKind,group:xi[Ui].group??"",location:[Ui,Fs],bounds:qs,isEdge:Ya,shiftKey:Ws,ctrlKey:Ba,metaKey:ua,isTouch:Ii,localEventX:pi-qs.x,localEventY:zi-qs.y,button:vo,buttons:go,scrollEdge:Oo}}else{const qs=wi(Un,Ui,Fs);assert(qs!==void 0);const Ya=qs!==void 0&&qs.x+qs.width-pi<hs;let Yo=!1;if(St!==!1&&St!==void 0&&zt.current!==void 0){const cl=typeof St=="object"?{...DEFAULT_FILL_HANDLE,...St}:DEFAULT_FILL_HANDLE,As=cl.size,Po=As/2,da=rectBottomRight(zt.current.range),nl=wi(Un,da[0],da[1]);if(nl!==void 0){const uo=nl.x+nl.width+cl.offsetX-Po+.5,Ls=nl.y+nl.height+cl.offsetY-Po+.5;Yo=Math.abs(uo-pi)<As&&Math.abs(Ls-zi)<As}}jo={kind:"cell",location:[Ui,Fs],bounds:qs,isEdge:Ya,shiftKey:Ws,ctrlKey:Ba,isFillHandle:Yo,metaKey:ua,isTouch:Ii,localEventX:pi-qs.x,localEventY:zi-qs.y,button:vo,buttons:go,scrollEdge:Oo}}return jo},[xt,xi,cr,rr,vt,It,wt,Tt,Pt,Rt,Ct,vr,Gt,wi,St,zt,ki]),[qi]=hn??[],ji=reactExports.useRef(()=>{}),Ni=reactExports.useRef(hn);Ni.current=hn;const[ls,xs]=reactExports.useMemo(()=>{const Un=document.createElement("canvas"),pi=document.createElement("canvas");return Un.style.display="none",Un.style.opacity="0",Un.style.position="fixed",pi.style.display="none",pi.style.opacity="0",pi.style.position="fixed",[Un.getContext("2d",{alpha:!1}),pi.getContext("2d",{alpha:!1})]},[]);reactExports.useLayoutEffect(()=>{if(!(ls===null||xs===null))return document.documentElement.append(ls.canvas),document.documentElement.append(xs.canvas),()=>{ls.canvas.remove(),xs.canvas.remove()}},[ls,xs]);const $s=reactExports.useMemo(()=>new RenderStateProvider,[]),Is=_i&&Kn?1:ci&&Kn?2:5,Hs=Bn?.disableMinimumCellWidth===!0?1:10,ws=reactExports.useRef(),Es=reactExports.useRef(null),Ds=reactExports.useRef(null),Fa=reactExports.useCallback(()=>{const Un=gn.current,pi=nr.current;if(Un===null||pi===null||(Es.current===null&&(Es.current=Un.getContext("2d",{alpha:!1}),Un.width=0,Un.height=0),Ds.current===null&&(Ds.current=pi.getContext("2d",{alpha:!1}),pi.width=0,pi.height=0),Es.current===null||Ds.current===null||ls===null||xs===null))return;let zi=!1;const Zi=ts=>{zi=!0,ii(ts)},bi=ws.current,Fi={headerCanvasCtx:Ds.current,canvasCtx:Es.current,bufferACtx:ls,bufferBCtx:xs,width:xt,height:vt,cellXOffset:cr,cellYOffset:Ct,translateX:Math.round(rr),translateY:Math.round(vr),mappedColumns:xi,enableGroups:It,freezeColumns:Ht,dragAndDropState:rn,theme:Wn,headerHeight:wt,groupHeaderHeight:Tt,disabledRows:ir??CompactSelection.empty(),rowHeight:Rt,verticalBorder:Cr,isResizing:xn,resizeCol:Mn,isFocused:Vt,selection:zt,fillHandle:St,drawCellCallback:dr,hasAppendRow:Jn,overrideCursor:Zi,maxScaleFactor:Is,freezeTrailingRows:Gt,rows:Pt,drawFocus:Kt,getCellContent:Lt,getGroupDetails:jn??(ts=>({name:ts})),getRowThemeOverride:kt,drawHeaderCallback:_r,prelightCells:br,highlightRegions:fn,imageLoader:tr,lastBlitData:Or,damage:Hn.current,hoverValues:yr.current,hoverInfo:Ni.current,spriteManager:as,scrolling:Kn,hyperWrapping:Bn?.hyperWrapping??!1,touchMode:ti,enqueue:ji.current,renderStateProvider:$s,renderStrategy:Bn?.renderStrategy??(browserIsSafari.value?"double-buffer":"single-buffer"),getCellRenderer:In,minimumCellWidth:Hs,resizeIndicator:or};Fi.damage===void 0?(ws.current=Fi,drawGrid(Fi,bi)):drawGrid(Fi,void 0),!zi&&(Fi.damage===void 0||Fi.damage.has(Ni?.current?.[0]))&&ii(void 0)},[ls,xs,xt,vt,cr,Ct,rr,vr,xi,It,Ht,rn,Wn,wt,Tt,ir,Rt,Cr,xn,Jn,Mn,Vt,zt,St,Gt,Pt,Kt,Is,Lt,jn,kt,dr,_r,br,fn,tr,as,Kn,Bn?.hyperWrapping,Bn?.renderStrategy,ti,$s,In,Hs,or]),Ja=reactExports.useRef(Fa);reactExports.useLayoutEffect(()=>{Fa(),Ja.current=Fa},[Fa]),reactExports.useLayoutEffect(()=>{(async()=>document?.fonts?.ready!==void 0&&(await document.fonts.ready,ws.current=void 0,Ja.current()))()},[]);const oa=reactExports.useCallback(Un=>{Hn.current=Un,Ja.current(),Hn.current=void 0},[]),aa=useAnimationQueue(oa);ji.current=aa;const Mi=reactExports.useCallback(Un=>{oa(new CellSet(Un.map(pi=>pi.cell)))},[oa]);tr.setCallback(oa);const[Wa,Wi]=reactExports.useState(!1),[Mo,ys]=qi??[],Va=Mo!==void 0&&ys===-1&&Mo>=0&&Mo<xi.length&&xi[Mo].headerRowMarkerDisabled!==!0,io=Mo!==void 0&&ys===-2;let Fo=!1,_o=!1,lo=gr;if(lo===void 0&&Mo!==void 0&&ys!==void 0&&ys>-1&&ys<Pt){const Un=Lt([Mo,ys],!0);Fo=Un.kind===InnerGridCellKind.NewRow||Un.kind===InnerGridCellKind.Marker&&Un.markerKind!=="number",_o=Un.kind===GridCellKind.Boolean&&booleanCellIsEditable(Un),lo=Un.cursor}const Cl=$n?"grabbing":(hr??!1)||xn?"col-resize":Wa||Nt?"crosshair":lo!==void 0?lo:Va||Fo||_o||io?"pointer":"default",ea=reactExports.useMemo(()=>({contain:"strict",display:"block",cursor:Cl}),[Cl]),ma=reactExports.useRef("default"),cs=yn?.current;cs!=null&&ma.current!==ea.cursor&&(cs.style.cursor=ma.current=ea.cursor);const wa=reactExports.useCallback((Un,pi,zi,Zi)=>{if(jn===void 0)return;const bi=jn(Un);if(bi.actions!==void 0){const Fi=getActionBoundsForGroup(pi,bi.actions);for(const[ts,Gi]of Fi.entries())if(pointInRect(Gi,zi+pi.x,Zi+Gi.y))return bi.actions[ts]}},[jn]),la=reactExports.useCallback((Un,pi,zi,Zi)=>{const bi=xi[pi];if(!$n&&!xn&&!(hr??!1)){const Fi=wi(Un,pi,-1);assert(Fi!==void 0);const ts=computeHeaderLayout(void 0,bi,Fi.x,Fi.y,Fi.width,Fi.height,Wn,direction(bi.title)==="rtl");if(bi.hasMenu===!0&&ts.menuBounds!==void 0&&pointInRect(ts.menuBounds,zi,Zi))return{area:"menu",bounds:ts.menuBounds};if(bi.indicatorIcon!==void 0&&ts.indicatorIconBounds!==void 0&&pointInRect(ts.indicatorIconBounds,zi,Zi))return{area:"indicator",bounds:ts.indicatorIconBounds}}},[xi,wi,hr,$n,xn,Wn]),Sa=reactExports.useRef(0),Io=reactExports.useRef(),xo=reactExports.useRef(!1),Ga=reactExports.useCallback(Un=>{const pi=gn.current,zi=yn?.current;if(pi===null||Un.target!==pi&&Un.target!==zi)return;xo.current=!0;const Zi=Un.clientX,bi=Un.clientY;if(Un.target===zi&&zi!==null){const ts=zi.getBoundingClientRect();if(Zi>ts.right||bi>ts.bottom)return}const Fi=vi(pi,Zi,bi,Un);Io.current=Fi.location,Fi.isTouch&&(Sa.current=Date.now()),Bi.current!==Fi.isTouch&&di(Fi.isTouch),!(Fi.kind===headerKind&&la(pi,Fi.location[0],Zi,bi)!==void 0)&&(Fi.kind===groupHeaderKind&&wa(Fi.group,Fi.bounds,Fi.localEventX,Fi.localEventY)!==void 0||(Jt?.(Fi),!Fi.isTouch&&Rn!==!0&&Rn!==Fi.kind&&Fi.button<3&&Fi.button!==1&&Un.preventDefault()))},[yn,Rn,vi,wa,la,Jt]);useEventListener("pointerdown",Ga,Xn,!1);const wo=reactExports.useRef(0),Fl=reactExports.useCallback(Un=>{const pi=wo.current;wo.current=Date.now();const zi=gn.current;if(xo.current=!1,tn===void 0||zi===null)return;const Zi=yn?.current,bi=Un.target!==zi&&Un.target!==Zi,Fi=Un.clientX,ts=Un.clientY,Gi=Un.pointerType==="mouse"?Un.button<3:!0;let hs=vi(zi,Fi,ts,Un);hs.isTouch&&Sa.current!==0&&Date.now()-Sa.current>500&&(hs={...hs,isLongTouch:!0}),pi!==0&&Date.now()-pi<(hs.isTouch?1e3:500)&&(hs={...hs,isDoubleClick:!0}),Bi.current!==hs.isTouch&&di(hs.isTouch),!bi&&Un.cancelable&&Gi&&Un.preventDefault();const[Rs]=hs.location,vo=la(zi,Rs,Fi,ts);if(hs.kind===headerKind&&vo!==void 0){(hs.button!==0||Io.current?.[0]!==Rs||Io.current?.[1]!==-1)&&tn(hs,!0);return}else if(hs.kind===groupHeaderKind){const go=wa(hs.group,hs.bounds,hs.localEventX,hs.localEventY);if(go!==void 0){hs.button===0&&go.onClick(hs);return}}tn(hs,bi)},[tn,yn,vi,la,wa]);useEventListener("pointerup",Fl,Xn,!1);const ca=reactExports.useCallback(Un=>{const pi=gn.current;if(pi===null)return;const zi=yn?.current,Zi=Un.target!==pi&&Un.target!==zi;let bi,Fi,ts=!0;Un instanceof MouseEvent?(bi=Un.clientX,Fi=Un.clientY,ts=Un.button<3):(bi=Un.changedTouches[0].clientX,Fi=Un.changedTouches[0].clientY);const Gi=vi(pi,bi,Fi,Un);Bi.current!==Gi.isTouch&&di(Gi.isTouch),!Zi&&Un.cancelable&&ts&&Un.preventDefault();const[hs]=Gi.location;if(Gi.kind===headerKind){const Rs=la(pi,hs,bi,Fi);Rs!==void 0&&Gi.button===0&&Io.current?.[0]===hs&&Io.current?.[1]===-1&&(Rs.area==="menu"?Ot?.(hs,Rs.bounds):Rs.area==="indicator"&&Mt?.(hs,Rs.bounds))}},[yn,vi,la,Ot,Mt]);useEventListener("click",ca,Xn,!1);const za=reactExports.useCallback(Un=>{const pi=gn.current,zi=yn?.current;if(pi===null||Un.target!==pi&&Un.target!==zi||Wt===void 0)return;const Zi=vi(pi,Un.clientX,Un.clientY,Un);Wt(Zi,()=>{Un.cancelable&&Un.preventDefault()})},[yn,vi,Wt]);useEventListener("contextmenu",za,yn?.current??null,!1);const Uo=reactExports.useCallback(Un=>{Hn.current=new CellSet(Un.map(pi=>pi.item)),yr.current=Un,Ja.current(),Hn.current=void 0},[]),Vi=reactExports.useMemo(()=>new AnimationManager(Uo),[Uo]),Os=reactExports.useRef(Vi);Os.current=Vi,reactExports.useLayoutEffect(()=>{const Un=Os.current;if(qi===void 0||qi[1]<0){Un.setHovered(qi);return}const pi=Lt(qi,!0),zi=In(pi),Zi=zi===void 0&&pi.kind===GridCellKind.Custom||zi?.needsHover!==void 0&&(typeof zi.needsHover=="boolean"?zi.needsHover:zi.needsHover(pi));Un.setHovered(Zi?qi:void 0)},[Lt,In,qi]);const bs=reactExports.useRef(),$o=reactExports.useCallback(Un=>{const pi=gn.current;if(pi===null)return;const zi=yn?.current,Zi=Un.target!==pi&&Un.target!==zi,bi=vi(pi,Un.clientX,Un.clientY,Un);if(bi.kind!=="out-of-bounds"&&Zi&&!xo.current&&!bi.isTouch)return;const Fi=(Gi,hs)=>{Ar(Rs=>Rs===Gi||Rs?.[0][0]===Gi?.[0][0]&&Rs?.[0][1]===Gi?.[0][1]&&(Rs?.[1][0]===Gi?.[1][0]&&Rs?.[1][1]===Gi?.[1][1]||!hs)?Rs:Gi)};if(!mouseEventArgsAreEqual(bi,bs.current))ii(void 0),nn?.(bi),Fi(bi.kind===outOfBoundsKind?void 0:[bi.location,[bi.localEventX,bi.localEventY]],!0),bs.current=bi;else if(bi.kind==="cell"||bi.kind===headerKind||bi.kind===groupHeaderKind){let Gi=!1,hs=!0;if(bi.kind==="cell"){const vo=Lt(bi.location);hs=In(vo)?.needsHoverPosition??vo.kind===GridCellKind.Custom,Gi=hs}else Gi=!0;const Rs=[bi.location,[bi.localEventX,bi.localEventY]];Fi(Rs,hs),Ni.current=Rs,Gi&&oa(new CellSet([bi.location]))}const ts=bi.location[0]>=(on?0:1);An(bi.kind===headerKind&&bi.isEdge&&ts&&Tn===!0),Wi(bi.kind==="cell"&&bi.isFillHandle),sn?.(Un),Zt(bi)},[yn,vi,on,Tn,sn,Zt,nn,Lt,In,oa]);useEventListener("pointermove",$o,Xn,!0);const al=reactExports.useCallback(Un=>{const pi=gn.current;if(pi===null)return;let zi,Zi;zt.current!==void 0&&(zi=wi(pi,zt.current.cell[0],zt.current.cell[1]),Zi=zt.current.cell),ln?.({bounds:zi,stopPropagation:()=>Un.stopPropagation(),preventDefault:()=>Un.preventDefault(),cancel:()=>{},ctrlKey:Un.ctrlKey,metaKey:Un.metaKey,shiftKey:Un.shiftKey,altKey:Un.altKey,key:Un.key,keyCode:Un.keyCode,rawEvent:Un,location:Zi})},[ln,zt,wi]),qo=reactExports.useCallback(Un=>{const pi=gn.current;if(pi===null)return;let zi,Zi;zt.current!==void 0&&(zi=wi(pi,zt.current.cell[0],zt.current.cell[1]),Zi=zt.current.cell),Qt?.({bounds:zi,stopPropagation:()=>Un.stopPropagation(),preventDefault:()=>Un.preventDefault(),cancel:()=>{},ctrlKey:Un.ctrlKey,metaKey:Un.metaKey,shiftKey:Un.shiftKey,altKey:Un.altKey,key:Un.key,keyCode:Un.keyCode,rawEvent:Un,location:Zi})},[Qt,zt,wi]),Da=reactExports.useCallback(Un=>{if(gn.current=Un,pn!==void 0&&(pn.current=Un),Bn?.eventTarget)wn.current=Bn.eventTarget;else if(Un===null)wn.current=window;else{const pi=Un.getRootNode();pi===document&&(wn.current=window),wn.current=pi}},[pn,Bn?.eventTarget]),qa=reactExports.useCallback(Un=>{const pi=gn.current;if(pi===null||Rn===!1||xn){Un.preventDefault();return}let zi,Zi;const bi=vi(pi,Un.clientX,Un.clientY);if(Rn!==!0&&bi.kind!==Rn){Un.preventDefault();return}const Fi=(go,ms)=>{zi=go,Zi=ms};let ts,Gi,hs;const Rs=(go,ms,Ii)=>{ts=go,Gi=ms,hs=Ii};let vo=!1;if(mn?.({...bi,setData:Fi,setDragImage:Rs,preventDefault:()=>vo=!0,defaultPrevented:()=>vo}),!vo&&zi!==void 0&&Zi!==void 0&&Un.dataTransfer!==null)if(Un.dataTransfer.setData(zi,Zi),Un.dataTransfer.effectAllowed="copyLink",ts!==void 0&&Gi!==void 0&&hs!==void 0)Un.dataTransfer.setDragImage(ts,Gi,hs);else{const[go,ms]=bi.location;if(ms!==void 0){const Ii=document.createElement("canvas"),Ui=wi(pi,go,ms);assert(Ui!==void 0);const Fs=Math.ceil(window.devicePixelRatio??1);Ii.width=Ui.width*Fs,Ii.height=Ui.height*Fs;const Ws=Ii.getContext("2d");Ws!==null&&(Ws.scale(Fs,Fs),Ws.textBaseline="middle",ms===-1?(Ws.font=Wn.headerFontFull,Ws.fillStyle=Wn.bgHeader,Ws.fillRect(0,0,Ii.width,Ii.height),drawHeader(Ws,0,0,Ui.width,Ui.height,xi[go],!1,Wn,!1,void 0,void 0,!1,0,as,_r,!1)):(Ws.font=Wn.baseFontFull,Ws.fillStyle=Wn.bgCell,Ws.fillRect(0,0,Ii.width,Ii.height),drawCell(Ws,Lt([go,ms]),0,ms,!1,!1,0,0,Ui.width,Ui.height,!1,Wn,Wn.bgCell,tr,as,1,void 0,!1,0,void 0,void 0,void 0,$s,In,()=>{}))),Ii.style.left="-100%",Ii.style.position="absolute",Ii.style.width=`${Ui.width}px`,Ii.style.height=`${Ui.height}px`,document.body.append(Ii),Un.dataTransfer.setDragImage(Ii,Ui.width/2,Ui.height/2),window.setTimeout(()=>{Ii.remove()},0)}}else Un.preventDefault()},[Rn,xn,vi,mn,wi,Wn,xi,as,_r,Lt,tr,$s,In]);useEventListener("dragstart",qa,yn?.current??null,!1,!1);const Ta=reactExports.useRef(),Zl=reactExports.useCallback(Un=>{const pi=gn.current;if(xr!==void 0&&Un.preventDefault(),pi===null||wr===void 0)return;const zi=vi(pi,Un.clientX,Un.clientY),[Zi,bi]=zi.location,Fi=Zi-(on?0:1),[ts,Gi]=Ta.current??[];(ts!==Fi||Gi!==bi)&&(Ta.current=[Fi,bi],wr([Fi,bi],Un.dataTransfer))},[on,vi,wr,xr]);useEventListener("dragover",Zl,yn?.current??null,!1,!1);const $l=reactExports.useCallback(()=>{Ta.current=void 0,vn?.()},[vn]);useEventListener("dragend",$l,yn?.current??null,!1,!1);const Ts=reactExports.useCallback(Un=>{const pi=gn.current;if(pi===null||xr===void 0)return;Un.preventDefault();const zi=vi(pi,Un.clientX,Un.clientY),[Zi,bi]=zi.location,Fi=Zi-(on?0:1);xr([Fi,bi],Un.dataTransfer)},[on,vi,xr]);useEventListener("drop",Ts,yn?.current??null,!1,!1);const To=reactExports.useCallback(()=>{Dr?.()},[Dr]);useEventListener("dragleave",To,yn?.current??null,!1,!1);const Ea=reactExports.useRef(zt);Ea.current=zt;const Kr=reactExports.useRef(null),gs=reactExports.useCallback(Un=>{gn.current===null||!gn.current.contains(document.activeElement)||(Un===null&&Ea.current.current!==void 0?pn?.current?.focus({preventScroll:!0}):Un!==null&&Un.focus({preventScroll:!0}),Kr.current=Un)},[pn]);reactExports.useImperativeHandle(Et,()=>({focus:()=>{const Un=Kr.current;Un===null||!document.contains(Un)?pn?.current?.focus({preventScroll:!0}):Un.focus({preventScroll:!0})},getBounds:(Un,pi)=>{if(!(pn===void 0||pn.current===null))return wi(pn.current,Un??0,pi??-1)},damage:Mi,getMouseArgsForPosition:(Un,pi,zi)=>{if(!(pn===void 0||pn.current===null))return vi(pn.current,Un,pi,zi)}}),[pn,Mi,wi,vi]);const Ra=reactExports.useRef(),po=useDebouncedMemo(()=>{if(xt<50||Bn?.disableAccessibilityTree===!0)return null;let Un=getEffectiveColumns(xi,cr,xt,rn,rr);const pi=on?0:-1;!on&&Un[0]?.sourceIndex===0&&(Un=Un.slice(1));const[zi,Zi]=zt.current?.cell??[],bi=zt.current?.range,Fi=Un.map(Gi=>Gi.sourceIndex),ts=range(Ct,Math.min(Pt,Ct+bt));return zi!==void 0&&Zi!==void 0&&!(Fi.includes(zi)&&ts.includes(Zi))&&gs(null),reactExports.createElement("table",{key:"access-tree",role:"grid","aria-rowcount":Pt+1,"aria-multiselectable":"true","aria-colcount":xi.length+pi},reactExports.createElement("thead",{role:"rowgroup"},reactExports.createElement("tr",{role:"row","aria-rowindex":1},Un.map(Gi=>reactExports.createElement("th",{role:"columnheader","aria-selected":zt.columns.hasIndex(Gi.sourceIndex),"aria-colindex":Gi.sourceIndex+1+pi,tabIndex:-1,onFocus:hs=>{if(hs.target!==Kr.current)return pr?.([Gi.sourceIndex,-1])},key:Gi.sourceIndex},Gi.title)))),reactExports.createElement("tbody",{role:"rowgroup"},ts.map(Gi=>reactExports.createElement("tr",{role:"row","aria-selected":zt.rows.hasIndex(Gi),key:Gi,"aria-rowindex":Gi+2},Un.map(hs=>{const Rs=hs.sourceIndex,vo=packColRowToNumber(Rs,Gi),go=zi===Rs&&Zi===Gi,ms=bi!==void 0&&Rs>=bi.x&&Rs<bi.x+bi.width&&Gi>=bi.y&&Gi<bi.y+bi.height,Ii=`glide-cell-${Rs}-${Gi}`,Ui=[Rs,Gi],Fs=Lt(Ui,!0);return reactExports.createElement("td",{key:vo,role:"gridcell","aria-colindex":Rs+1+pi,"aria-selected":ms,"aria-readonly":isInnerOnlyCell(Fs)||!isReadWriteCell(Fs),id:Ii,"data-testid":Ii,onClick:()=>{const Ws=pn?.current;if(Ws!=null)return ln?.({bounds:wi(Ws,Rs,Gi),cancel:()=>{},preventDefault:()=>{},stopPropagation:()=>{},ctrlKey:!1,key:"Enter",keyCode:13,metaKey:!1,shiftKey:!1,altKey:!1,rawEvent:void 0,location:Ui})},onFocusCapture:Ws=>{if(!(Ws.target===Kr.current||Ra.current?.[0]===Rs&&Ra.current?.[1]===Gi))return Ra.current=Ui,pr?.(Ui)},ref:go?gs:void 0,tabIndex:-1},getRowData(Fs,In))})))))},[xt,xi,cr,rn,rr,Pt,Ct,bt,zt,gs,Lt,pn,ln,wi,pr],200),el=Ht===0||!qt?0:cr>Ht?1:clamp$1(-rr/100,0,1),tl=-Ct*32+vr,ll=Xt?clamp$1(-tl/100,0,1):0,us=reactExports.useMemo(()=>{if(!el&&!ll)return null;const Un={position:"absolute",top:0,left:mi,width:xt-mi,height:vt,opacity:el,pointerEvents:"none",transition:Qn?void 0:"opacity 0.2s",boxShadow:"inset 13px 0 10px -13px rgba(0, 0, 0, 0.2)"},pi={position:"absolute",top:ki,left:0,width:xt,height:vt,opacity:ll,pointerEvents:"none",transition:Cn?void 0:"opacity 0.2s",boxShadow:"inset 0 13px 10px -13px rgba(0, 0, 0, 0.2)"};return reactExports.createElement(reactExports.Fragment,null,el>0&&reactExports.createElement("div",{id:"shadow-x",style:Un}),ll>0&&reactExports.createElement("div",{id:"shadow-y",style:pi}))},[el,ll,mi,xt,Qn,ki,vt,Cn]),si=reactExports.useMemo(()=>({position:"absolute",top:0,left:0}),[]);return reactExports.createElement(reactExports.Fragment,null,reactExports.createElement("canvas",{"data-testid":"data-grid-canvas",tabIndex:0,onKeyDown:al,onKeyUp:qo,onFocus:Ut,onBlur:jt,ref:Da,style:ea},po),reactExports.createElement("canvas",{ref:nr,style:si}),us)},DataGrid=reactExports.memo(reactExports.forwardRef(DataGrid$1));function offsetColumnSize(yt,Et,xt,vt){return clamp$1(Math.round(Et-(yt.growOffset??0)),Math.ceil(xt),Math.floor(vt))}const DataGridDnd=yt=>{const[Et,xt]=reactExports.useState(),[vt,bt]=reactExports.useState(),[At,Ft]=reactExports.useState(),[Ct,wt]=reactExports.useState(),[St,Tt]=reactExports.useState(!1),[Rt,Pt]=reactExports.useState(),[Lt,kt]=reactExports.useState(),[Ot,Mt]=reactExports.useState(),[It,Nt]=reactExports.useState(!1),[Ut,jt]=reactExports.useState(),{onHeaderMenuClick:Vt,onHeaderIndicatorClick:zt,getCellContent:Ht,onColumnMoved:Wt,onColumnResize:Gt,onColumnResizeStart:qt,onColumnResizeEnd:Xt,gridRef:Kt,maxColumnWidth:Jt,minColumnWidth:tn,onRowMoved:sn,lockColumns:Zt,onColumnProposeMove:nn,onMouseDown:rn,onMouseUp:on,onItemHovered:ln,onDragStart:Qt,canvasRef:fn}=yt,pn=(Gt??Xt??qt)!==void 0,{columns:mn,selection:vn}=yt,yn=vn.columns,xn=reactExports.useCallback(dr=>{const[_r,pr]=dr.location;At!==void 0&&Ct!==_r&&_r>=Zt?(Tt(!0),wt(_r)):Lt!==void 0&&pr!==void 0?(Nt(!0),Mt(Math.max(0,pr))):vt===void 0&&!St&&!It&&ln?.(dr)},[At,Lt,Ct,ln,Zt,vt,St,It]),Mn=Wt!==void 0,$n=reactExports.useCallback(dr=>{if(dr.button===0){const[_r,pr]=dr.location;if(dr.kind==="out-of-bounds"&&dr.isEdge&&pn){const wr=Kt?.current?.getBounds(mn.length-1,-1);wr!==void 0&&(xt(wr.x),bt(mn.length-1))}else if(dr.kind==="header"&&_r>=Zt){const wr=fn?.current;if(dr.isEdge&&pn&&wr){xt(dr.bounds.x),bt(_r);const Dr=wr.getBoundingClientRect().width/wr.offsetWidth,ar=dr.bounds.width/Dr;qt?.(mn[_r],ar,_r,ar+(mn[_r].growOffset??0))}else dr.kind==="header"&&Mn&&(Pt(dr.bounds.x),Ft(_r))}else dr.kind==="cell"&&Zt>0&&_r===0&&pr!==void 0&&sn!==void 0&&(jt(dr.bounds.y),kt(pr))}rn?.(dr)},[rn,pn,Zt,sn,Kt,mn,Mn,qt,fn]),Rn=reactExports.useCallback((dr,_r)=>{St||It||Vt?.(dr,_r)},[St,It,Vt]),Tn=reactExports.useCallback((dr,_r)=>{St||It||zt?.(dr,_r)},[St,It,zt]),ir=reactExports.useRef(-1),Jn=reactExports.useCallback(()=>{ir.current=-1,kt(void 0),Mt(void 0),jt(void 0),Nt(!1),Ft(void 0),wt(void 0),Pt(void 0),Tt(!1),bt(void 0),xt(void 0)},[]),jn=reactExports.useCallback((dr,_r)=>{if(dr.button===0){if(vt!==void 0){if(yn?.hasIndex(vt)===!0)for(const wr of yn){if(wr===vt)continue;const xr=mn[wr],Dr=offsetColumnSize(xr,ir.current,tn,Jt);Gt?.(xr,Dr,wr,Dr+(xr.growOffset??0))}const pr=offsetColumnSize(mn[vt],ir.current,tn,Jt);if(Xt?.(mn[vt],pr,vt,pr+(mn[vt].growOffset??0)),yn.hasIndex(vt))for(const wr of yn){if(wr===vt)continue;const xr=mn[wr],Dr=offsetColumnSize(xr,ir.current,tn,Jt);Xt?.(xr,Dr,wr,Dr+(xr.growOffset??0))}}Jn(),At!==void 0&&Ct!==void 0&&nn?.(At,Ct)!==!1&&Wt?.(At,Ct),Lt!==void 0&&Ot!==void 0&&sn?.(Lt,Ot)}on?.(dr,_r)},[on,vt,At,Ct,Lt,Ot,yn,Xt,mn,tn,Jt,Gt,Wt,sn,Jn,nn]),Wn=reactExports.useMemo(()=>{if(!(At===void 0||Ct===void 0)&&At!==Ct&&nn?.(At,Ct)!==!1)return{src:At,dest:Ct}},[At,Ct,nn]),br=reactExports.useCallback(dr=>{const _r=fn?.current;if(At!==void 0&&Rt!==void 0)Math.abs(dr.clientX-Rt)>20&&Tt(!0);else if(Lt!==void 0&&Ut!==void 0)Math.abs(dr.clientY-Ut)>20&&Nt(!0);else if(vt!==void 0&&Et!==void 0&&_r){const wr=_r.getBoundingClientRect().width/_r.offsetWidth,xr=(dr.clientX-Et)/wr,Dr=mn[vt],ar=offsetColumnSize(Dr,xr,tn,Jt);if(Gt?.(Dr,ar,vt,ar+(Dr.growOffset??0)),ir.current=xr,yn?.first()===vt)for(const Qn of yn){if(Qn===vt)continue;const Cn=mn[Qn],Bn=offsetColumnSize(Cn,ir.current,tn,Jt);Gt?.(Cn,Bn,Qn,Bn+(Cn.growOffset??0))}}},[At,Rt,Lt,Ut,vt,Et,mn,tn,Jt,Gt,yn,fn]),Fr=reactExports.useCallback((dr,_r)=>{if(Lt===void 0||Ot===void 0)return Ht(dr,_r);let[pr,wr]=dr;return wr===Ot?wr=Lt:(wr>Ot&&(wr-=1),wr>=Lt&&(wr+=1)),Ht([pr,wr],_r)},[Lt,Ot,Ht]),Cr=reactExports.useCallback(dr=>{Qt?.(dr),dr.defaultPrevented()||Jn()},[Jn,Qt]);return reactExports.createElement(DataGrid,{accessibilityHeight:yt.accessibilityHeight,canvasRef:yt.canvasRef,cellXOffset:yt.cellXOffset,cellYOffset:yt.cellYOffset,columns:yt.columns,disabledRows:yt.disabledRows,drawFocusRing:yt.drawFocusRing,drawHeader:yt.drawHeader,drawCell:yt.drawCell,enableGroups:yt.enableGroups,eventTargetRef:yt.eventTargetRef,experimental:yt.experimental,fillHandle:yt.fillHandle,firstColAccessible:yt.firstColAccessible,fixedShadowX:yt.fixedShadowX,fixedShadowY:yt.fixedShadowY,freezeColumns:yt.freezeColumns,getCellRenderer:yt.getCellRenderer,getGroupDetails:yt.getGroupDetails,getRowThemeOverride:yt.getRowThemeOverride,groupHeaderHeight:yt.groupHeaderHeight,headerHeight:yt.headerHeight,headerIcons:yt.headerIcons,height:yt.height,highlightRegions:yt.highlightRegions,imageWindowLoader:yt.imageWindowLoader,resizeColumn:vt,isDraggable:yt.isDraggable,isFilling:yt.isFilling,isFocused:yt.isFocused,onCanvasBlur:yt.onCanvasBlur,onCanvasFocused:yt.onCanvasFocused,onCellFocused:yt.onCellFocused,onContextMenu:yt.onContextMenu,onDragEnd:yt.onDragEnd,onDragLeave:yt.onDragLeave,onDragOverCell:yt.onDragOverCell,onDrop:yt.onDrop,onKeyDown:yt.onKeyDown,onKeyUp:yt.onKeyUp,onMouseMove:yt.onMouseMove,prelightCells:yt.prelightCells,rowHeight:yt.rowHeight,rows:yt.rows,selection:yt.selection,smoothScrollX:yt.smoothScrollX,smoothScrollY:yt.smoothScrollY,theme:yt.theme,freezeTrailingRows:yt.freezeTrailingRows,hasAppendRow:yt.hasAppendRow,translateX:yt.translateX,translateY:yt.translateY,resizeIndicator:yt.resizeIndicator,verticalBorder:yt.verticalBorder,width:yt.width,getCellContent:Fr,isResizing:vt!==void 0,onHeaderMenuClick:Rn,onHeaderIndicatorClick:Tn,isDragging:St,onItemHovered:xn,onDragStart:Cr,onMouseDown:$n,allowResize:pn,onMouseUp:jn,dragAndDropState:Wn,onMouseMoveRaw:br,ref:Kt})};function useResizeDetector(yt){const Et=reactExports.useRef(null),[xt,vt]=reactExports.useState({width:yt?.[0],height:yt?.[1]});return reactExports.useLayoutEffect(()=>{const bt=Ft=>{for(const Ct of Ft){const{width:wt,height:St}=Ct&&Ct.contentRect||{};vt(Tt=>Tt.width===wt&&Tt.height===St?Tt:{width:wt,height:St})}},At=new window.ResizeObserver(bt);return Et.current&&At.observe(Et.current,void 0),()=>{At.disconnect()}},[Et.current]),{ref:Et,...xt}}const useKineticScroll=(yt,Et,xt)=>{const vt=reactExports.useRef(null),bt=reactExports.useRef(null),At=reactExports.useRef(null),Ft=reactExports.useRef(0),Ct=reactExports.useRef(Et);Ct.current=Et;const wt=xt.current;reactExports.useEffect(()=>{const St=()=>{if(bt.current===!1&&wt!==null){const Pt=[wt.scrollLeft,wt.scrollTop];if(At.current?.[0]===Pt[0]&&At.current?.[1]===Pt[1])if(Ft.current>10){At.current=null,bt.current=null;return}else Ft.current++;else Ft.current=0,Ct.current(Pt[0],Pt[1]),At.current=Pt;vt.current=window.setTimeout(St,8.333333333333334)}},Tt=()=>{bt.current=!0,At.current=null,vt.current!==null&&(window.clearTimeout(vt.current),vt.current=null)},Rt=Pt=>{Pt.touches.length===0&&(bt.current=!1,Ft.current=0,vt.current=window.setTimeout(St,8.333333333333334))};if(yt&&wt!==null){const Pt=wt;return Pt.addEventListener("touchstart",Tt),Pt.addEventListener("touchend",Rt),()=>{Pt.removeEventListener("touchstart",Tt),Pt.removeEventListener("touchend",Rt),vt.current!==null&&window.clearTimeout(vt.current)}}},[yt,wt])},_exp$3=()=>yt=>yt.isSafari?"scroll":"auto",ScrollRegionStyle=styled_default("div")({name:"ScrollRegionStyle",class:"gdg-s1dgczr6",propsAsIs:!1,vars:{"s1dgczr6-0":[_exp$3()]}}),BROWSER_MAX_DIV_HEIGHT=33554400,MAX_PADDER_SEGMENT_HEIGHT=5e6;function useTouchUpDelayed(yt){const[Et,xt]=reactExports.useState(!1),vt=typeof window>"u"?null:window,bt=reactExports.useRef(0);return useEventListener("touchstart",reactExports.useCallback(()=>{window.clearTimeout(bt.current),xt(!0)},[]),vt,!0,!1),useEventListener("touchend",reactExports.useCallback(At=>{At.touches.length===0&&(bt.current=window.setTimeout(()=>xt(!1),yt))},[yt]),vt,!0,!1),Et}const InfiniteScroller=yt=>{const{children:Et,clientHeight:xt,scrollHeight:vt,scrollWidth:bt,update:At,draggable:Ft,className:Ct,preventDiagonalScrolling:wt=!1,paddingBottom:St=0,paddingRight:Tt=0,rightElement:Rt,rightElementProps:Pt,kineticScrollPerfHack:Lt=!1,scrollRef:kt,initialSize:Ot}=yt,Mt=[],It=Pt?.sticky??!1,Nt=Pt?.fill??!1,Ut=reactExports.useRef(0),jt=reactExports.useRef(0),Vt=reactExports.useRef(null),zt=typeof window>"u"?1:window.devicePixelRatio,Ht=reactExports.useRef(zt);reactExports.useEffect(()=>{if(Ht.current!==zt){Ut.current=0,jt.current=0,Ht.current=zt;const vn=Vt.current;vn!==null&&sn.current(vn.scrollLeft,vn.scrollTop)}},[zt]);const Wt=reactExports.useRef({scrollLeft:0,scrollTop:0,lockDirection:void 0}),Gt=reactExports.useRef(null),qt=useTouchUpDelayed(200),[Xt,Kt]=reactExports.useState(!0),Jt=reactExports.useRef(0);reactExports.useLayoutEffect(()=>{if(!Xt||qt||Wt.current.lockDirection===void 0)return;const vn=Vt.current;if(vn===null)return;const[yn,xn]=Wt.current.lockDirection;yn!==void 0?vn.scrollLeft=yn:xn!==void 0&&(vn.scrollTop=xn),Wt.current.lockDirection=void 0},[qt,Xt]);const tn=reactExports.useCallback((vn,yn)=>{const xn=Vt.current;if(xn===null)return;yn=yn??xn.scrollTop,vn=vn??xn.scrollLeft;const Mn=Wt.current.scrollTop,$n=Wt.current.scrollLeft,Rn=vn-$n,Tn=yn-Mn;qt&&Rn!==0&&Tn!==0&&(Math.abs(Rn)>3||Math.abs(Tn)>3)&&wt&&Wt.current.lockDirection===void 0&&(Wt.current.lockDirection=Math.abs(Rn)<Math.abs(Tn)?[$n,void 0]:[void 0,Mn]);const ir=Wt.current.lockDirection;vn=ir?.[0]??vn,yn=ir?.[1]??yn,Wt.current.scrollLeft=vn,Wt.current.scrollTop=yn;const Jn=xn.clientWidth,jn=xn.clientHeight,Wn=yn,br=jt.current-Wn,Fr=xn.scrollHeight-jn;jt.current=Wn;let Cr;if(Fr>0&&vt>xn.scrollHeight+5)if(Math.abs(br)>2e3||Wn===0||Wn===Fr){const dr=Math.max(0,Math.min(1,Wn/Fr)),_r=vt-jn;Cr=dr*_r,Ut.current=Cr}else Ut.current-=br,Cr=Ut.current;else Cr=Wn,Ut.current=Cr;Cr=Math.max(0,Math.min(Cr,vt-jn)),Ut.current=Cr,ir!==void 0&&(window.clearTimeout(Jt.current),Kt(!1),Jt.current=window.setTimeout(()=>Kt(!0),200)),At({x:vn,y:Cr,width:Jn-Tt,height:jn-St,paddingRight:Gt.current?.clientWidth??0})},[St,Tt,vt,At,wt,qt]);useKineticScroll(Lt&&browserIsSafari.value,tn,Vt);const sn=reactExports.useRef(tn);sn.current=tn;const Zt=reactExports.useRef(),nn=reactExports.useRef(!1);reactExports.useLayoutEffect(()=>{nn.current?tn():nn.current=!0},[tn,St,Tt]);const rn=reactExports.useCallback(vn=>{Vt.current=vn,kt!==void 0&&(kt.current=vn)},[kt]);let on=0,ln=0;const Qt=Math.min(vt,BROWSER_MAX_DIV_HEIGHT);for(Mt.push(reactExports.createElement("div",{key:on++,style:{width:bt,height:0}}));ln<Qt;){const vn=Math.min(MAX_PADDER_SEGMENT_HEIGHT,Qt-ln);Mt.push(reactExports.createElement("div",{key:on++,style:{width:0,height:vn}})),ln+=vn}const{ref:fn,width:pn,height:mn}=useResizeDetector(Ot);return typeof window<"u"&&(Zt.current?.height!==mn||Zt.current?.width!==pn)&&(window.setTimeout(()=>sn.current(),0),Zt.current={width:pn,height:mn}),(pn??0)===0||(mn??0)===0?reactExports.createElement("div",{ref:fn}):reactExports.createElement("div",{ref:fn},reactExports.createElement(ScrollRegionStyle,{isSafari:browserIsSafari.value},reactExports.createElement("div",{className:"dvn-underlay"},Et),reactExports.createElement("div",{ref:rn,style:Zt.current,draggable:Ft,onDragStart:vn=>{Ft||(vn.stopPropagation(),vn.preventDefault())},className:"dvn-scroller "+(Ct??""),onScroll:()=>tn()},reactExports.createElement("div",{className:"dvn-scroll-inner"+(Rt===void 0?" dvn-hidden":"")},reactExports.createElement("div",{className:"dvn-stack"},Mt),Rt!==void 0&&reactExports.createElement(reactExports.Fragment,null,!Nt&&reactExports.createElement("div",{className:"dvn-spacer"}),reactExports.createElement("div",{ref:Gt,style:{height:mn,maxHeight:xt-Math.ceil(zt%1),position:"sticky",top:0,paddingLeft:1,marginBottom:-40,marginRight:Tt,flexGrow:Nt?1:void 0,right:It?Tt??0:void 0,pointerEvents:"auto"}},Rt))))))},GridScroller=yt=>{const{columns:Et,rows:xt,rowHeight:vt,headerHeight:bt,groupHeaderHeight:At,enableGroups:Ft,freezeColumns:Ct,experimental:wt,nonGrowWidth:St,clientSize:Tt,className:Rt,onVisibleRegionChanged:Pt,scrollRef:Lt,preventDiagonalScrolling:kt,rightElement:Ot,rightElementProps:Mt,overscrollX:It,overscrollY:Nt,initialSize:Ut,smoothScrollX:jt=!1,smoothScrollY:Vt=!1,isDraggable:zt}=yt,{paddingRight:Ht,paddingBottom:Wt}=wt??{},[Gt,qt]=Tt,Xt=reactExports.useRef(),Kt=reactExports.useRef(),Jt=reactExports.useRef(),tn=reactExports.useRef(),sn=St+Math.max(0,It??0);let Zt=Ft?bt+At:bt;if(typeof vt=="number")Zt+=xt*vt;else for(let ln=0;ln<xt;ln++)Zt+=vt(ln);Nt!==void 0&&(Zt+=Nt);const nn=reactExports.useRef(),rn=reactExports.useCallback(()=>{if(nn.current===void 0)return;const ln={...nn.current};let Qt=0,fn=ln.x<0?-ln.x:0,pn=0,mn=0;ln.x=ln.x<0?0:ln.x;let vn=0;for(let Tn=0;Tn<Ct;Tn++)vn+=Et[Tn].width;for(const Tn of Et){const ir=Qt-vn;if(ln.x>=ir+Tn.width)Qt+=Tn.width,mn++,pn++;else if(ln.x>ir)Qt+=Tn.width,jt?fn+=ir-ln.x:mn++,pn++;else if(ln.x+ln.width>ir)Qt+=Tn.width,pn++;else break}let yn=0,xn=0,Mn=0;if(typeof vt=="number")Vt?(xn=Math.floor(ln.y/vt),yn=xn*vt-ln.y):xn=Math.ceil(ln.y/vt),Mn=Math.ceil(ln.height/vt)+xn,yn<0&&Mn++;else{let Tn=0;for(let ir=0;ir<xt;ir++){const Jn=vt(ir),jn=Tn+(Vt?0:Jn/2);if(ln.y>=Tn+Jn)Tn+=Jn,xn++,Mn++;else if(ln.y>jn)Tn+=Jn,Vt?yn+=jn-ln.y:xn++,Mn++;else if(ln.y+ln.height>Jn/2+Tn)Tn+=Jn,Mn++;else break}}xn=Math.max(0,Math.min(xn,xt-1)),Mn=Math.max(xn,Math.min(Mn,xt));const $n={x:mn,y:xn,width:pn-mn,height:Mn-xn},Rn=Xt.current;(Rn===void 0||Rn.y!==$n.y||Rn.x!==$n.x||Rn.height!==$n.height||Rn.width!==$n.width||Kt.current!==fn||Jt.current!==yn||ln.width!==tn.current?.[0]||ln.height!==tn.current?.[1])&&(Pt?.({x:mn,y:xn,width:pn-mn,height:Mn-xn},ln.width,ln.height,ln.paddingRight??0,fn,yn),Xt.current=$n,Kt.current=fn,Jt.current=yn,tn.current=[ln.width,ln.height])},[Et,vt,xt,Pt,Ct,jt,Vt]),on=reactExports.useCallback(ln=>{nn.current=ln,rn()},[rn]);return reactExports.useEffect(()=>{rn()},[rn]),reactExports.createElement(InfiniteScroller,{scrollRef:Lt,className:Rt,kineticScrollPerfHack:wt?.kineticScrollPerfHack,preventDiagonalScrolling:kt,draggable:zt===!0||typeof zt=="string",scrollWidth:sn+(Ht??0),scrollHeight:Zt+(Wt??0),clientHeight:qt,rightElement:Ot,paddingBottom:Wt,paddingRight:Ht,rightElementProps:Mt,update:on,initialSize:Ut},reactExports.createElement(DataGridDnd,{eventTargetRef:Lt,width:Gt,height:qt,accessibilityHeight:yt.accessibilityHeight,canvasRef:yt.canvasRef,cellXOffset:yt.cellXOffset,cellYOffset:yt.cellYOffset,columns:yt.columns,disabledRows:yt.disabledRows,enableGroups:yt.enableGroups,fillHandle:yt.fillHandle,firstColAccessible:yt.firstColAccessible,fixedShadowX:yt.fixedShadowX,fixedShadowY:yt.fixedShadowY,freezeColumns:yt.freezeColumns,getCellContent:yt.getCellContent,getCellRenderer:yt.getCellRenderer,getGroupDetails:yt.getGroupDetails,getRowThemeOverride:yt.getRowThemeOverride,groupHeaderHeight:yt.groupHeaderHeight,headerHeight:yt.headerHeight,highlightRegions:yt.highlightRegions,imageWindowLoader:yt.imageWindowLoader,isFilling:yt.isFilling,isFocused:yt.isFocused,lockColumns:yt.lockColumns,maxColumnWidth:yt.maxColumnWidth,minColumnWidth:yt.minColumnWidth,onHeaderMenuClick:yt.onHeaderMenuClick,onHeaderIndicatorClick:yt.onHeaderIndicatorClick,onMouseMove:yt.onMouseMove,prelightCells:yt.prelightCells,rowHeight:yt.rowHeight,rows:yt.rows,selection:yt.selection,theme:yt.theme,freezeTrailingRows:yt.freezeTrailingRows,hasAppendRow:yt.hasAppendRow,translateX:yt.translateX,translateY:yt.translateY,onColumnProposeMove:yt.onColumnProposeMove,verticalBorder:yt.verticalBorder,drawFocusRing:yt.drawFocusRing,drawHeader:yt.drawHeader,drawCell:yt.drawCell,experimental:yt.experimental,gridRef:yt.gridRef,headerIcons:yt.headerIcons,isDraggable:yt.isDraggable,onCanvasBlur:yt.onCanvasBlur,onCanvasFocused:yt.onCanvasFocused,onCellFocused:yt.onCellFocused,onColumnMoved:yt.onColumnMoved,onColumnResize:yt.onColumnResize,onColumnResizeEnd:yt.onColumnResizeEnd,onColumnResizeStart:yt.onColumnResizeStart,onContextMenu:yt.onContextMenu,onDragEnd:yt.onDragEnd,onDragLeave:yt.onDragLeave,onDragOverCell:yt.onDragOverCell,onDragStart:yt.onDragStart,onDrop:yt.onDrop,onItemHovered:yt.onItemHovered,onKeyDown:yt.onKeyDown,onKeyUp:yt.onKeyUp,onMouseDown:yt.onMouseDown,onMouseUp:yt.onMouseUp,onRowMoved:yt.onRowMoved,smoothScrollX:yt.smoothScrollX,smoothScrollY:yt.smoothScrollY,resizeIndicator:yt.resizeIndicator}))},SearchWrapper=styled_default("div")({name:"SearchWrapper",class:"gdg-seveqep",propsAsIs:!1}),upArrow=reactExports.createElement("svg",{className:"button-icon",viewBox:"0 0 512 512"},reactExports.createElement("path",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"48",d:"M112 244l144-144 144 144M256 120v292"})),downArrow=reactExports.createElement("svg",{className:"button-icon",viewBox:"0 0 512 512"},reactExports.createElement("path",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"48",d:"M112 268l144 144 144-144M256 392V100"})),closeX=reactExports.createElement("svg",{className:"button-icon",viewBox:"0 0 512 512"},reactExports.createElement("path",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",d:"M368 368L144 144M368 144L144 368"})),targetSearchTimeMS=10,DataGridSearch=yt=>{const{canvasRef:Et,cellYOffset:xt,rows:vt,columns:bt,searchInputRef:At,searchValue:Ft,searchResults:Ct,onSearchValueChange:wt,getCellsForSelection:St,onSearchResultsChanged:Tt,showSearch:Rt=!1,onSearchClose:Pt}=yt,[Lt]=reactExports.useState(()=>"search-box-"+Math.round(Math.random()*1e3)),[kt,Ot]=reactExports.useState(""),Mt=Ft??kt,It=reactExports.useCallback(Qt=>{Ot(Qt),wt?.(Qt)},[wt]),[Nt,Ut]=reactExports.useState(),jt=reactExports.useRef(Nt);jt.current=Nt,reactExports.useEffect(()=>{Ct!==void 0&&(Ct.length>0?Ut(Qt=>({rowsSearched:vt,results:Ct.length,selectedIndex:Qt?.selectedIndex??-1})):Ut(void 0))},[vt,Ct]);const Vt=reactExports.useRef();Vt.current===void 0&&(Vt.current=new AbortController);const zt=reactExports.useRef(),[Ht,Wt]=reactExports.useState([]),Gt=Ct??Ht,qt=reactExports.useCallback(()=>{zt.current!==void 0&&(window.cancelAnimationFrame(zt.current),zt.current=void 0),Vt.current!==void 0&&Vt.current.abort(),Vt.current=new AbortController},[]),Xt=reactExports.useRef(xt);Xt.current=xt;const Kt=reactExports.useCallback(Qt=>{const fn=new RegExp(Qt.replace(/([$()*+.?[\\\]^{|}-])/g,"\\$1"),"i");let pn=Xt.current,mn=Math.min(10,vt),vn=0;Ut(void 0),Wt([]);const yn=[],xn=async()=>{if(St===void 0)return;const Mn=performance.now(),$n=vt-vn;let Rn=St({x:0,y:pn,width:bt.length,height:Math.min(mn,$n,vt-pn)},Vt.current.signal);typeof Rn=="function"&&(Rn=await Rn());let Tn=!1;for(const[Fr,Cr]of Rn.entries())for(const[dr,_r]of Cr.entries()){let pr;switch(_r.kind){case GridCellKind.Text:case GridCellKind.Number:pr=_r.displayData;break;case GridCellKind.Uri:case GridCellKind.Markdown:pr=_r.data;break;case GridCellKind.Boolean:pr=typeof _r.data=="boolean"?_r.data.toString():void 0;break;case GridCellKind.Image:case GridCellKind.Bubble:pr=_r.data.join("🐳");break;case GridCellKind.Custom:pr=_r.copyData;break}pr!==void 0&&fn.test(pr)&&(yn.push([dr,Fr+pn]),Tn=!0)}const ir=performance.now();Tn&&Wt([...yn]),vn+=Rn.length,assert(vn<=vt);const Jn=jt.current?.selectedIndex??-1;Ut({results:yn.length,rowsSearched:vn,selectedIndex:Jn}),Tt?.(yn,Jn),pn+mn>=vt?pn=0:pn+=mn;const jn=ir-Mn,Wn=Math.max(jn,1),br=targetSearchTimeMS/Wn;mn=Math.ceil(mn*br),vn<vt&&yn.length<1e3&&(zt.current=window.requestAnimationFrame(xn))};qt(),zt.current=window.requestAnimationFrame(xn)},[qt,bt.length,St,Tt,vt]),Jt=reactExports.useCallback(()=>{Pt?.(),Ut(void 0),Wt([]),Tt?.([],-1),qt(),Et?.current?.focus()},[qt,Et,Pt,Tt]),tn=reactExports.useCallback(Qt=>{It(Qt.target.value),Ct===void 0&&(Qt.target.value===""?(Ut(void 0),Wt([]),qt()):Kt(Qt.target.value))},[Kt,qt,It,Ct]);reactExports.useEffect(()=>{At.current!==null&&(It(""),Ut(void 0),Ht.length>0&&(Wt([]),Tt?.([],-1)),Rt?At.current.focus({preventScroll:!0}):qt())},[Rt,At]);const sn=reactExports.useCallback(Qt=>{if(Qt?.stopPropagation?.(),Nt===void 0||Nt.results===0)return;const fn=(Nt.selectedIndex+1)%Nt.results;Ut({...Nt,selectedIndex:fn}),Tt?.(Gt,fn)},[Nt,Tt,Gt]),Zt=reactExports.useCallback(Qt=>{if(Qt?.stopPropagation?.(),Nt===void 0||Nt.results===0)return;let fn=(Nt.selectedIndex-1)%Nt.results;fn<0&&(fn+=Nt.results),Ut({...Nt,selectedIndex:fn}),Tt?.(Gt,fn)},[Tt,Gt,Nt]),nn=reactExports.useCallback(Qt=>{(Qt.ctrlKey||Qt.metaKey)&&Qt.nativeEvent.code==="KeyF"||Qt.key==="Escape"?(Jt(),Qt.stopPropagation(),Qt.preventDefault()):Qt.key==="Enter"&&(Qt.shiftKey?Zt():sn())},[Jt,sn,Zt]);reactExports.useEffect(()=>()=>{qt()},[qt]);const[rn,on]=reactExports.useState(!1);reactExports.useEffect(()=>{if(Rt)on(!0);else{const Qt=setTimeout(()=>on(!1),150);return()=>clearTimeout(Qt)}},[Rt]);const ln=reactExports.useMemo(()=>{if(!Rt&&!rn)return null;let Qt;Nt!==void 0&&(Qt=Nt.results>=1e3?"over 1000":`${Nt.results} result${Nt.results!==1?"s":""}`,Nt.selectedIndex>=0&&(Qt=`${Nt.selectedIndex+1} of ${Qt}`));const fn=vn=>{vn.stopPropagation()},mn={width:`${vt>0?Math.floor((Nt?.rowsSearched??0)/vt*100):0}%`};return reactExports.createElement(SearchWrapper,{className:"gdg-search-bar"+(Rt?"":" out"),onMouseDown:fn,onMouseMove:fn,onMouseUp:fn,onClick:fn},reactExports.createElement("div",{className:"gdg-search-bar-inner"},reactExports.createElement("input",{id:Lt,"aria-hidden":!Rt,"data-testid":"search-input",ref:At,onChange:tn,value:Mt,tabIndex:Rt?void 0:-1,onKeyDownCapture:nn}),reactExports.createElement("button",{type:"button","aria-label":"Previous Result","aria-hidden":!Rt,tabIndex:Rt?void 0:-1,onClick:Zt,disabled:(Nt?.results??0)===0},upArrow),reactExports.createElement("button",{type:"button","aria-label":"Next Result","aria-hidden":!Rt,tabIndex:Rt?void 0:-1,onClick:sn,disabled:(Nt?.results??0)===0},downArrow),Pt!==void 0&&reactExports.createElement("button",{type:"button","aria-label":"Close Search","aria-hidden":!Rt,"data-testid":"search-close-button",tabIndex:Rt?void 0:-1,onClick:Jt},closeX)),Nt!==void 0?reactExports.createElement(reactExports.Fragment,null,reactExports.createElement("div",{className:"gdg-search-status"},reactExports.createElement("div",{"data-testid":"search-result-area"},Qt)),reactExports.createElement("div",{className:"gdg-search-progress",style:mn})):reactExports.createElement("div",{className:"gdg-search-status"},reactExports.createElement("label",{htmlFor:Lt},"Type to search")))},[Rt,rn,Nt,vt,Lt,At,tn,Mt,nn,Zt,sn,Pt,Jt]);return reactExports.createElement(reactExports.Fragment,null,reactExports.createElement(GridScroller,{prelightCells:Gt,accessibilityHeight:yt.accessibilityHeight,canvasRef:yt.canvasRef,cellXOffset:yt.cellXOffset,cellYOffset:yt.cellYOffset,className:yt.className,clientSize:yt.clientSize,columns:yt.columns,disabledRows:yt.disabledRows,enableGroups:yt.enableGroups,fillHandle:yt.fillHandle,firstColAccessible:yt.firstColAccessible,nonGrowWidth:yt.nonGrowWidth,fixedShadowX:yt.fixedShadowX,fixedShadowY:yt.fixedShadowY,freezeColumns:yt.freezeColumns,getCellContent:yt.getCellContent,getCellRenderer:yt.getCellRenderer,getGroupDetails:yt.getGroupDetails,getRowThemeOverride:yt.getRowThemeOverride,groupHeaderHeight:yt.groupHeaderHeight,headerHeight:yt.headerHeight,highlightRegions:yt.highlightRegions,imageWindowLoader:yt.imageWindowLoader,initialSize:yt.initialSize,isFilling:yt.isFilling,isFocused:yt.isFocused,lockColumns:yt.lockColumns,maxColumnWidth:yt.maxColumnWidth,minColumnWidth:yt.minColumnWidth,onHeaderMenuClick:yt.onHeaderMenuClick,onHeaderIndicatorClick:yt.onHeaderIndicatorClick,onMouseMove:yt.onMouseMove,onVisibleRegionChanged:yt.onVisibleRegionChanged,overscrollX:yt.overscrollX,overscrollY:yt.overscrollY,preventDiagonalScrolling:yt.preventDiagonalScrolling,rightElement:yt.rightElement,rightElementProps:yt.rightElementProps,rowHeight:yt.rowHeight,rows:yt.rows,scrollRef:yt.scrollRef,selection:yt.selection,theme:yt.theme,freezeTrailingRows:yt.freezeTrailingRows,hasAppendRow:yt.hasAppendRow,translateX:yt.translateX,translateY:yt.translateY,verticalBorder:yt.verticalBorder,onColumnProposeMove:yt.onColumnProposeMove,drawFocusRing:yt.drawFocusRing,drawCell:yt.drawCell,drawHeader:yt.drawHeader,experimental:yt.experimental,gridRef:yt.gridRef,headerIcons:yt.headerIcons,isDraggable:yt.isDraggable,onCanvasBlur:yt.onCanvasBlur,onCanvasFocused:yt.onCanvasFocused,onCellFocused:yt.onCellFocused,onColumnMoved:yt.onColumnMoved,onColumnResize:yt.onColumnResize,onColumnResizeEnd:yt.onColumnResizeEnd,onColumnResizeStart:yt.onColumnResizeStart,onContextMenu:yt.onContextMenu,onDragEnd:yt.onDragEnd,onDragLeave:yt.onDragLeave,onDragOverCell:yt.onDragOverCell,onDragStart:yt.onDragStart,onDrop:yt.onDrop,onItemHovered:yt.onItemHovered,onKeyDown:yt.onKeyDown,onKeyUp:yt.onKeyUp,onMouseDown:yt.onMouseDown,onMouseUp:yt.onMouseUp,onRowMoved:yt.onRowMoved,smoothScrollX:yt.smoothScrollX,smoothScrollY:yt.smoothScrollY,resizeIndicator:yt.resizeIndicator}),ln)};class ClickOutsideContainer extends reactExports.PureComponent{wrapperRef=reactExports.createRef();componentDidMount(){const Et=this.props.customEventTarget??document;Et.addEventListener("pointerdown",this.clickOutside,!0),Et.addEventListener("contextmenu",this.clickOutside,!0)}componentWillUnmount(){const Et=this.props.customEventTarget??document;Et.removeEventListener("pointerdown",this.clickOutside,!0),Et.removeEventListener("contextmenu",this.clickOutside,!0)}clickOutside=Et=>{if(!(this.props.isOutsideClick&&!this.props.isOutsideClick(Et))&&this.wrapperRef.current!==null&&!this.wrapperRef.current.contains(Et.target)){let xt=Et.target;for(;xt!==null;){if(xt.classList.contains("click-outside-ignore"))return;xt=xt.parentElement}this.props.onClickOutside()}};render(){const{onClickOutside:Et,isOutsideClick:xt,customEventTarget:vt,...bt}=this.props;return reactExports.createElement("div",{...bt,ref:this.wrapperRef},this.props.children)}}const _exp$2=()=>yt=>Math.max(16,yt.targetHeight-10),RenameInput=styled_default("input")({name:"RenameInput",class:"gdg-r17m35ur",propsAsIs:!1,vars:{"r17m35ur-0":[_exp$2(),"px"]}}),GroupRename=yt=>{const{bounds:Et,group:xt,onClose:vt,canvasBounds:bt,onFinish:At}=yt,[Ft,Ct]=React.useState(xt);return React.createElement(ClickOutsideContainer,{style:{position:"absolute",left:Et.x-bt.left+1,top:Et.y-bt.top,width:Et.width-2,height:Et.height},className:"gdg-c1tqibwd",onClickOutside:vt},React.createElement(RenameInput,{targetHeight:Et.height,"data-testid":"group-rename-input",value:Ft,onBlur:vt,onFocus:wt=>wt.target.setSelectionRange(0,Ft.length),onChange:wt=>Ct(wt.target.value),onKeyDown:wt=>{wt.key==="Enter"?At(Ft):wt.key==="Escape"&&vt()},autoFocus:!0}))};function checkKey(yt,Et){return yt===void 0?!1:yt.length>1&&yt.startsWith("_")?Number.parseInt(yt.slice(1))===Et.keyCode:yt.length===1&&yt>="a"&&yt<="z"?yt.toUpperCase().codePointAt(0)===Et.keyCode:yt===Et.key}function isHotkey(yt,Et,xt){const vt=isHotkeyInner(yt,Et);return vt&&(xt.didMatch=!0),vt}function isHotkeyInner(yt,Et){if(yt.length===0)return!1;if(yt.includes("|")){const wt=yt.split("|");for(const St of wt)if(isHotkeyInner(St,Et))return!0;return!1}let xt=!1,vt=!1,bt=!1,At=!1;const Ft=yt.split("+"),Ct=Ft.pop();if(!checkKey(Ct,Et))return!1;if(Ft[0]==="any")return!0;for(const wt of Ft)switch(wt){case"ctrl":xt=!0;break;case"shift":vt=!0;break;case"alt":bt=!0;break;case"meta":At=!0;break;case"primary":browserIsOSX.value?At=!0:xt=!0;break}return Et.altKey===bt&&Et.ctrlKey===xt&&Et.shiftKey===vt&&Et.metaKey===At}function useSelectionBehavior(yt,Et,xt,vt,bt,At,Ft){const Ct=React.useCallback((Tt,Rt,Pt,Lt)=>{(At==="cell"||At==="multi-cell")&&Tt!==void 0&&(Tt={...Tt,range:{x:Tt.cell[0],y:Tt.cell[1],width:1,height:1}}),!Ft&&Tt!==void 0&&Tt.range.width>1&&(Tt={...Tt,range:{...Tt.range,width:1,x:Tt.cell[0]}});const kt=xt==="mixed"&&(Pt||Lt==="drag")||xt==="additive",Ot=(vt==="mixed"||vt==="additive")&&kt,Mt=(bt==="mixed"||bt==="additive")&&kt;let It={current:Tt===void 0?void 0:{...Tt,rangeStack:Lt==="drag"?yt.current?.rangeStack??[]:[]},columns:Ot?yt.columns:CompactSelection.empty(),rows:Mt?yt.rows:CompactSelection.empty()};Pt&&(At==="multi-rect"||At==="multi-cell")&&It.current!==void 0&&yt.current!==void 0&&(It={...It,current:{...It.current,rangeStack:[...yt.current.rangeStack,yt.current.range]}}),Et(It,Rt)},[vt,yt,xt,At,Ft,bt,Et]),wt=React.useCallback((Tt,Rt,Pt)=>{Tt=Tt??yt.rows,Rt!==void 0&&(Tt=Tt.add(Rt));let Lt;if(bt==="exclusive"&&Tt.length>0)Lt={current:void 0,columns:CompactSelection.empty(),rows:Tt};else{const kt=Pt&&xt==="mixed"||xt==="additive",Ot=Pt&&vt==="mixed"||vt==="additive";Lt={current:kt?yt.current:void 0,columns:Ot?yt.columns:CompactSelection.empty(),rows:Tt}}Et(Lt,!1)},[vt,yt,xt,bt,Et]),St=React.useCallback((Tt,Rt,Pt)=>{Tt=Tt??yt.columns,Rt!==void 0&&(Tt=Tt.add(Rt));let Lt;if(vt==="exclusive"&&Tt.length>0)Lt={current:void 0,rows:CompactSelection.empty(),columns:Tt};else{const kt=Pt&&xt==="mixed"||xt==="additive",Ot=Pt&&bt==="mixed"||bt==="additive";Lt={current:kt?yt.current:void 0,rows:Ot?yt.rows:CompactSelection.empty(),columns:Tt}}Et(Lt,!1)},[vt,yt,xt,bt,Et]);return[Ct,wt,St]}function useCellsForSelection(yt,Et,xt,vt,bt){const At=reactExports.useCallback(St=>{if(yt===!0){const Tt=[];for(let Rt=St.y;Rt<St.y+St.height;Rt++){const Pt=[];for(let Lt=St.x;Lt<St.x+St.width;Lt++)Lt<0||Rt>=bt?Pt.push({kind:GridCellKind.Loading,allowOverlay:!1}):Pt.push(Et([Lt,Rt]));Tt.push(Pt)}return Tt}return yt?.(St,vt.signal)??[]},[vt.signal,Et,yt,bt]),Ft=yt!==void 0?At:void 0,Ct=reactExports.useCallback(St=>{if(Ft===void 0)return[];const Tt={...St,x:St.x-xt};if(Tt.x<0){Tt.x=0,Tt.width--;const Rt=Ft(Tt,vt.signal);return typeof Rt=="function"?async()=>(await Rt()).map(Pt=>[{kind:GridCellKind.Loading,allowOverlay:!1},...Pt]):Rt.map(Pt=>[{kind:GridCellKind.Loading,allowOverlay:!1},...Pt])}return Ft(Tt,vt.signal)},[vt.signal,Ft,xt]);return[yt!==void 0?Ct:void 0,Ft]}function convertCellToBuffer(yt){if(yt.copyData!==void 0)return{formatted:yt.copyData,rawValue:yt.copyData,format:"string",doNotEscape:!0};switch(yt.kind){case GridCellKind.Boolean:return{formatted:yt.data===!0?"TRUE":yt.data===!1?"FALSE":yt.data===BooleanIndeterminate?"INDETERMINATE":"",rawValue:yt.data,format:"boolean"};case GridCellKind.Custom:return{formatted:yt.copyData,rawValue:yt.copyData,format:"string"};case GridCellKind.Image:case GridCellKind.Bubble:return{formatted:yt.data,rawValue:yt.data,format:"string-array"};case GridCellKind.Drilldown:return{formatted:yt.data.map(Et=>Et.text),rawValue:yt.data.map(Et=>Et.text),format:"string-array"};case GridCellKind.Text:return{formatted:yt.displayData??yt.data,rawValue:yt.data,format:"string"};case GridCellKind.Uri:return{formatted:yt.displayData??yt.data,rawValue:yt.data,format:"url"};case GridCellKind.Markdown:case GridCellKind.RowID:return{formatted:yt.data,rawValue:yt.data,format:"string"};case GridCellKind.Number:return{formatted:yt.displayData,rawValue:yt.data,format:"number"};case GridCellKind.Loading:return{formatted:"#LOADING",rawValue:"",format:"string"};case GridCellKind.Protected:return{formatted:"************",rawValue:"",format:"string"};default:assertNever()}}function createBufferFromGridCells(yt,Et){return yt.map((vt,bt)=>{const At=Et[bt];return vt.map(Ft=>Ft.span!==void 0&&Ft.span[0]!==At?{formatted:"",rawValue:"",format:"string"}:convertCellToBuffer(Ft))})}function escapeIfNeeded(yt,Et){return(Et?/[\t\n",]/:/[\t\n"]/).test(yt)&&(yt=`"${yt.replace(/"/g,'""')}"`),yt}function createTextBuffer(yt){const Et=[];for(const xt of yt){const vt=[];for(const bt of xt)bt.format==="url"?vt.push(bt.rawValue?.toString()??""):bt.format==="string-array"?vt.push(bt.formatted.map(At=>escapeIfNeeded(At,!0)).join(",")):vt.push(bt.doNotEscape===!0?bt.formatted:escapeIfNeeded(bt.formatted,!1));Et.push(vt.join(" "))}return Et.join(`
|
|
2970
|
+
`},sprites={headerRowID,headerNumber,headerCode,headerString,headerBoolean,headerAudioUri,headerVideoUri,headerEmoji,headerImage,headerUri,headerPhone,headerMarkdown,headerDate,headerTime,headerEmail,headerReference,headerIfThenElse,headerSingleValue,headerLookup,headerTextTemplate,headerMath,headerRollup,headerJoinStrings,headerSplitString,headerGeoDistance,headerArray,rowOwnerOverlay,protectedColumnOverlay,renameIcon};function getColors(yt,Et){return yt==="normal"?[Et.bgIconHeader,Et.fgIconHeader]:yt==="selected"?["white",Et.accentColor]:[Et.accentColor,Et.bgHeader]}class SpriteManager{onSettled;spriteMap=new Map;headerIcons;inFlight=0;constructor(Et,xt){this.onSettled=xt,this.headerIcons=Et??{}}drawSprite(Et,xt,vt,bt,At,Ft,Ct,wt=1){const[St,Tt]=getColors(xt,Ct),Rt=Ft*Math.ceil(window.devicePixelRatio),Pt=`${St}_${Tt}_${Rt}_${Et}`;let Lt=this.spriteMap.get(Pt);if(Lt===void 0){const kt=this.headerIcons[Et];if(kt===void 0)return;Lt=document.createElement("canvas");const Ot=Lt.getContext("2d");if(Ot===null)return;const Mt=new Image;Mt.src=`data:image/svg+xml;charset=utf-8,${encodeURIComponent(kt({fgColor:Tt,bgColor:St}))}`,this.spriteMap.set(Pt,Lt);const It=Mt.decode();if(It===void 0)return;this.inFlight++,It.then(()=>{Ot.drawImage(Mt,0,0,Rt,Rt)}).finally(()=>{this.inFlight--,this.inFlight===0&&this.onSettled()})}else wt<1&&(vt.globalAlpha=wt),vt.drawImage(Lt,0,0,Rt,Rt,bt,At,Ft,Ft),wt<1&&(vt.globalAlpha=1)}}function getSkipPoint(yt){if(yt.length===0)return;let Et;for(const xt of yt)Et=Math.min(Et??xt.y,xt.y);return Et}function walkRowsInCol(yt,Et,xt,vt,bt,At,Ft,Ct,wt){Ct=Ct??Et;let St=Et,Tt=yt;const Rt=vt-At;let Pt=!1;for(;St<xt&&Tt<Rt;){const Lt=bt(Tt);if(St+Lt>Ct&&wt(St,Tt,Lt,!1,Ft&&Tt===vt-1)===!0){Pt=!0;break}St+=Lt,Tt++}if(!Pt){St=xt;for(let Lt=0;Lt<At;Lt++){Tt=vt-1-Lt;const kt=bt(Tt);St-=kt,wt(St,Tt,kt,!0,Ft&&Tt===vt-1)}}}function walkColumns(yt,Et,xt,vt,bt,At){let Ft=0,Ct=0;const wt=bt+vt;for(const St of yt){const Tt=St.sticky?Ct:Ft+xt;if(At(St,Tt,wt,St.sticky?0:Ct,Et)===!0)break;Ft+=St.width,Ct+=St.sticky?St.width:0}}function walkGroups(yt,Et,xt,vt,bt){let At=0,Ft=0;for(let Ct=0;Ct<yt.length;Ct++){const wt=yt[Ct];let St=Ct+1,Tt=wt.width;for(wt.sticky&&(Ft+=Tt);St<yt.length&&isGroupEqual(yt[St].group,wt.group)&&yt[St].sticky===yt[Ct].sticky;){const Ot=yt[St];Tt+=Ot.width,St++,Ct++,Ot.sticky&&(Ft+=Ot.width)}const Rt=wt.sticky?0:xt,Pt=At+Rt,Lt=wt.sticky?0:Math.max(0,Ft-Pt),kt=Math.min(Tt-Lt,Et-(Pt+Lt));bt([wt.sourceIndex,yt[St-1].sourceIndex],wt.group??"",Pt+Lt,0,kt,vt),At+=Tt}}function getSpanBounds(yt,Et,xt,vt,bt,At,Ft){const[Ct,wt]=yt;let St,Tt;const Rt=Ft.find(Pt=>!Pt.sticky)?.sourceIndex??0;if(wt>Rt){const Pt=Math.max(Ct,Rt);let Lt=Et,kt=vt;for(let Ot=At.sourceIndex-1;Ot>=Pt;Ot--)Lt-=Ft[Ot].width,kt+=Ft[Ot].width;for(let Ot=At.sourceIndex+1;Ot<=wt;Ot++)kt+=Ft[Ot].width;Tt={x:Lt,y:xt,width:kt,height:bt}}if(Rt>Ct){const Pt=Math.min(wt,Rt-1);let Lt=Et,kt=vt;for(let Ot=At.sourceIndex-1;Ot>=Ct;Ot--)Lt-=Ft[Ot].width,kt+=Ft[Ot].width;for(let Ot=At.sourceIndex+1;Ot<=Pt;Ot++)kt+=Ft[Ot].width;St={x:Lt,y:xt,width:kt,height:bt}}return[St,Tt]}function getClosestRect(yt,Et,xt,vt){if(vt==="any")return combineRects(yt,{x:Et,y:xt,width:1,height:1});if(vt==="vertical"&&(Et=yt.x),vt==="horizontal"&&(xt=yt.y),itemIsInRect([Et,xt],yt))return;const bt=Et-yt.x,At=yt.x+yt.width-Et,Ft=xt-yt.y+1,Ct=yt.y+yt.height-xt,wt=Math.min(vt==="vertical"?Number.MAX_SAFE_INTEGER:bt,vt==="vertical"?Number.MAX_SAFE_INTEGER:At,vt==="horizontal"?Number.MAX_SAFE_INTEGER:Ft,vt==="horizontal"?Number.MAX_SAFE_INTEGER:Ct);return wt===Ct?{x:yt.x,y:yt.y+yt.height,width:yt.width,height:xt-yt.y-yt.height+1}:wt===Ft?{x:yt.x,y:xt,width:yt.width,height:yt.y-xt}:wt===At?{x:yt.x+yt.width,y:yt.y,width:Et-yt.x-yt.width+1,height:yt.height}:{x:Et,y:yt.y,width:yt.x-Et,height:yt.height}}function intersectRect(yt,Et,xt,vt,bt,At,Ft,Ct){return yt<=bt+Ft&&bt<=yt+xt&&Et<=At+Ct&&At<=Et+vt}function pointInRect(yt,Et,xt){return Et>=yt.x&&Et<=yt.x+yt.width&&xt>=yt.y&&xt<=yt.y+yt.height}function combineRects(yt,Et){const xt=Math.min(yt.x,Et.x),vt=Math.min(yt.y,Et.y),bt=Math.max(yt.x+yt.width,Et.x+Et.width)-xt,At=Math.max(yt.y+yt.height,Et.y+Et.height)-vt;return{x:xt,y:vt,width:bt,height:At}}function rectContains(yt,Et){return yt.x<=Et.x&&yt.y<=Et.y&&yt.x+yt.width>=Et.x+Et.width&&yt.y+yt.height>=Et.y+Et.height}function hugRectToTarget(yt,Et,xt,vt){if(yt.x>Et||yt.y>xt||yt.x<0&&yt.y<0&&yt.x+yt.width>Et&&yt.y+yt.height>xt)return;if(yt.x>=0&&yt.y>=0&&yt.x+yt.width<=Et&&yt.y+yt.height<=xt)return yt;const bt=-4,At=-4,Ft=Et+4,Ct=xt+4,wt=bt-yt.x,St=yt.x+yt.width-Ft,Tt=At-yt.y,Rt=yt.y+yt.height-Ct,Pt=wt>0?yt.x+Math.floor(wt/vt)*vt:yt.x,Lt=St>0?yt.x+yt.width-Math.floor(St/vt)*vt:yt.x+yt.width,kt=Tt>0?yt.y+Math.floor(Tt/vt)*vt:yt.y,Ot=Rt>0?yt.y+yt.height-Math.floor(Rt/vt)*vt:yt.y+yt.height;return{x:Pt,y:kt,width:Lt-Pt,height:Ot-kt}}function splitRectIntoRegions(yt,Et,xt,vt,bt){const[At,Ft,Ct,wt]=Et,[St,Tt,Rt,Pt]=bt,{x:Lt,y:kt,width:Ot,height:Mt}=yt,It=[];if(Ot<=0||Mt<=0)return It;const Nt=Lt+Ot,Ut=kt+Mt,jt=Lt<At,Vt=kt<Ft,zt=Lt+Ot>Ct,Ht=kt+Mt>wt,Wt=Lt>=At&&Lt<Ct||Nt>At&&Nt<=Ct||Lt<At&&Nt>Ct,Gt=kt>=Ft&&kt<wt||Ut>Ft&&Ut<=wt||kt<Ft&&Ut>wt;if(Wt&&Gt){const Xt=Math.max(Lt,At),Kt=Math.max(kt,Ft),Jt=Math.min(Nt,Ct),tn=Math.min(Ut,wt);It.push({rect:{x:Xt,y:Kt,width:Jt-Xt,height:tn-Kt},clip:{x:St,y:Tt,width:Rt-St+1,height:Pt-Tt+1}})}if(jt&&Vt){const Xt=Lt,Kt=kt,Jt=Math.min(Nt,At),tn=Math.min(Ut,Ft);It.push({rect:{x:Xt,y:Kt,width:Jt-Xt,height:tn-Kt},clip:{x:0,y:0,width:St+1,height:Tt+1}})}if(Vt&&Wt){const Xt=Math.max(Lt,At),Kt=kt,Jt=Math.min(Nt,Ct),tn=Math.min(Ut,Ft);It.push({rect:{x:Xt,y:Kt,width:Jt-Xt,height:tn-Kt},clip:{x:St,y:0,width:Rt-St+1,height:Tt+1}})}if(Vt&&zt){const Xt=Math.max(Lt,Ct),Kt=kt,Jt=Nt,tn=Math.min(Ut,Ft);It.push({rect:{x:Xt,y:Kt,width:Jt-Xt,height:tn-Kt},clip:{x:Rt,y:0,width:xt-Rt+1,height:Tt+1}})}if(jt&&Gt){const Xt=Lt,Kt=Math.max(kt,Ft),Jt=Math.min(Nt,At),tn=Math.min(Ut,wt);It.push({rect:{x:Xt,y:Kt,width:Jt-Xt,height:tn-Kt},clip:{x:0,y:Tt,width:St+1,height:Pt-Tt+1}})}if(zt&&Gt){const Xt=Math.max(Lt,Ct),Kt=Math.max(kt,Ft),Jt=Nt,tn=Math.min(Ut,wt);It.push({rect:{x:Xt,y:Kt,width:Jt-Xt,height:tn-Kt},clip:{x:Rt,y:Tt,width:xt-Rt+1,height:Pt-Tt+1}})}if(jt&&Ht){const Xt=Lt,Kt=Math.max(kt,wt),Jt=Math.min(Nt,At),tn=Ut;It.push({rect:{x:Xt,y:Kt,width:Jt-Xt,height:tn-Kt},clip:{x:0,y:Pt,width:St+1,height:vt-Pt+1}})}if(Ht&&Wt){const Xt=Math.max(Lt,At),Kt=Math.max(kt,wt),Jt=Math.min(Nt,Ct),tn=Ut;It.push({rect:{x:Xt,y:Kt,width:Jt-Xt,height:tn-Kt},clip:{x:St,y:Pt,width:Rt-St+1,height:vt-Pt+1}})}if(zt&&Ht){const Xt=Math.max(Lt,Ct),Kt=Math.max(kt,wt),Jt=Nt,tn=Ut;It.push({rect:{x:Xt,y:Kt,width:Jt-Xt,height:tn-Kt},clip:{x:Rt,y:Pt,width:xt-Rt+1,height:vt-Pt+1}})}return It}const loadingCell$1={kind:GridCellKind.Loading,allowOverlay:!1};function drawCells(yt,Et,xt,vt,bt,At,Ft,Ct,wt,St,Tt,Rt,Pt,Lt,kt,Ot,Mt,It,Nt,Ut,jt,Vt,zt,Ht,Wt,Gt,qt,Xt,Kt,Jt,tn,sn,Zt,nn,rn){let on=Ut?.size??Number.MAX_SAFE_INTEGER;const ln=performance.now();let Qt=Jt.baseFontFull;yt.font=Qt;const fn={ctx:yt},pn=[0,0],mn=Mt>0?getFreezeTrailingHeight(wt,Mt,St):0;let vn,yn;const xn=getSkipPoint(Nt);return walkColumns(Et,Ct,At,Ft,bt,(Mn,$n,Rn,Tn,ir)=>{const Jn=Math.max(0,Tn-$n),jn=$n+Jn,Wn=bt+1,br=Mn.width-Jn,Fr=vt-bt-1;if(Nt.length>0){let Dr=!1;for(let ar=0;ar<Nt.length;ar++){const Qn=Nt[ar];if(intersectRect(jn,Wn,br,Fr,Qn.x,Qn.y,Qn.width,Qn.height)){Dr=!0;break}}if(!Dr)return}const Cr=()=>{yt.save(),yt.beginPath(),yt.rect(jn,Wn,br,Fr),yt.clip()},dr=jt.columns.hasIndex(Mn.sourceIndex),_r=Rt(Mn.group??"").overrideTheme,pr=Mn.themeOverride===void 0&&_r===void 0?Jt:mergeAndRealizeTheme(Jt,_r,Mn.themeOverride),wr=pr.baseFontFull;wr!==Qt&&(Qt=wr,yt.font=wr),Cr();let xr;return walkRowsInCol(ir,Rn,vt,wt,St,Mt,It,xn,(Dr,ar,Qn,Cn,Bn)=>{if(ar<0||(pn[0]=Mn.sourceIndex,pn[1]=ar,Ut!==void 0&&!Ut.has(pn)))return;if(Nt.length>0){let gr=!1;for(let ii=0;ii<Nt.length;ii++){const ti=Nt[ii];if(intersectRect($n,Dr,Mn.width,Qn,ti.x,ti.y,ti.width,ti.height)){gr=!0;break}}if(!gr)return}const In=jt.rows.hasIndex(ar),or=Lt.hasIndex(ar),rr=ar<wt?Tt(pn):loadingCell$1;let vr=$n,cr=Mn.width,gn=!1,wn=!1;if(rr.span!==void 0){const[gr,ii]=rr.span,ti=`${ar},${gr},${ii},${Mn.sticky}`;if(yn===void 0&&(yn=new Set),yn.has(ti)){on--;return}else{const di=getSpanBounds(rr.span,$n,Dr,Mn.width,Qn,Mn,xt),Bi=Mn.sticky?di[0]:di[1];if(!Mn.sticky&&di[0]!==void 0&&(wn=!0),Bi!==void 0){vr=Bi.x,cr=Bi.width,yn.add(ti),yt.restore(),xr=void 0,yt.save(),yt.beginPath();const as=Math.max(0,Tn-Bi.x);yt.rect(Bi.x+as,Dr,Bi.width-as,Qn),vn===void 0&&(vn=[]),vn.push({x:Bi.x+as,y:Dr,width:Bi.width-as,height:Qn}),yt.clip(),gn=!0}}}const Xn=Pt?.(ar),tr=Bn&&Mn.trailingRowOptions?.themeOverride!==void 0?Mn.trailingRowOptions?.themeOverride:void 0,Hn=rr.themeOverride===void 0&&Xn===void 0&&tr===void 0?pr:mergeAndRealizeTheme(pr,Xn,tr,rr.themeOverride);yt.beginPath();const Kn=cellIsSelected(pn,rr,jt);let _n=cellIsInRange(pn,rr,jt,Ot);const yr=rr.span!==void 0&&jt.columns.some(gr=>rr.span!==void 0&&gr>=rr.span[0]&&gr<=rr.span[1]);Kn&&!kt&&Ot?_n=0:Kn&&Ot&&(_n=Math.max(_n,1)),yr&&_n++,Kn||(In&&_n++,dr&&!Bn&&_n++);const Or=rr.kind===GridCellKind.Protected?Hn.bgCellMedium:Hn.bgCell;let hn;if((Cn||Or!==Jt.bgCell)&&(hn=blend(Or,hn)),_n>0||or){or&&(hn=blend(Hn.bgHeader,hn));for(let gr=0;gr<_n;gr++)hn=blend(Hn.accentLight,hn)}else if(Vt!==void 0){for(const gr of Vt)if(gr[0]===Mn.sourceIndex&&gr[1]===ar){hn=blend(Hn.bgSearchResult,hn);break}}if(zt!==void 0)for(let gr=0;gr<zt.length;gr++){const ii=zt[gr],ti=ii.range;ii.style!=="solid-outline"&&ti.x<=Mn.sourceIndex&&Mn.sourceIndex<ti.x+ti.width&&ti.y<=ar&&ar<ti.y+ti.height&&(hn=blend(ii.color,hn))}let Ar=!1;if(Ut!==void 0){const gr=Dr+1,ti=(Cn?gr+Qn-1:Math.min(gr+Qn-1,vt-mn))-gr;(ti!==Qn-1||vr+1<=Tn)&&(Ar=!0,yt.save(),yt.beginPath(),yt.rect(vr+1,gr,cr-1,ti),yt.clip()),hn=hn===void 0?Hn.bgCell:blend(hn,Hn.bgCell)}const hr=Mn.sourceIndex===xt.length-1,An=ar===wt-1;hn!==void 0&&(yt.fillStyle=hn,xr!==void 0&&(xr.fillStyle=hn),Ut!==void 0?yt.fillRect(vr+1,Dr+1,cr-(hr?2:1),Qn-(An?2:1)):yt.fillRect(vr,Dr,cr,Qn)),rr.style==="faded"&&(yt.globalAlpha=.6);let nr;for(let gr=0;gr<Gt.length;gr++){const ii=Gt[gr];if(ii.item[0]===Mn.sourceIndex&&ii.item[1]===ar){nr=ii;break}}if(cr>rn&&!wn){const gr=Hn.baseFontFull;gr!==Qt&&(yt.font=gr,Qt=gr),xr=drawCell(yt,rr,Mn.sourceIndex,ar,hr,An,vr,Dr,cr,Qn,_n>0,Hn,hn??Hn.bgCell,Ht,Wt,nr?.hoverAmount??0,qt,Kt,ln,Xt,xr,tn,sn,Zt,nn)}return Ar&&yt.restore(),rr.style==="faded"&&(yt.globalAlpha=1),on--,gn&&(yt.restore(),xr?.deprep?.(fn),xr=void 0,Cr(),Qt=wr,yt.font=wr),on<=0}),yt.restore(),on<=0}),vn}const allocatedItem=[0,0],reusableRect={x:0,y:0,width:0,height:0},drawState=[void 0,()=>{}];let animationFrameRequested=!1;function animRequest(){animationFrameRequested=!0}function drawCell(yt,Et,xt,vt,bt,At,Ft,Ct,wt,St,Tt,Rt,Pt,Lt,kt,Ot,Mt,It,Nt,Ut,jt,Vt,zt,Ht,Wt){let Gt,qt;Mt!==void 0&&Mt[0][0]===xt&&Mt[0][1]===vt&&(Gt=Mt[1][0],qt=Mt[1][1]);let Xt;allocatedItem[0]=xt,allocatedItem[1]=vt,reusableRect.x=Ft,reusableRect.y=Ct,reusableRect.width=wt,reusableRect.height=St,drawState[0]=zt.getValue(allocatedItem),drawState[1]=sn=>zt.setValue(allocatedItem,sn),animationFrameRequested=!1;const Kt={ctx:yt,theme:Rt,col:xt,row:vt,cell:Et,rect:reusableRect,highlighted:Tt,cellFillColor:Pt,hoverAmount:Ot,frameTime:Nt,hoverX:Gt,drawState,hoverY:qt,imageLoader:Lt,spriteManager:kt,hyperWrapping:It,overrideCursor:Gt!==void 0?Wt:void 0,requestAnimationFrame:animRequest},Jt=drawLastUpdateUnderlay(Kt,Et.lastUpdated,Nt,jt,bt,At),tn=Ht(Et);if(tn!==void 0){jt?.renderer!==tn&&(jt?.deprep?.(Kt),jt=void 0);const sn=tn.drawPrep?.(Kt,jt);Ut!==void 0&&!isInnerOnlyCell(Kt.cell)?Ut(Kt,()=>tn.draw(Kt,Et)):tn.draw(Kt,Et),Xt=sn===void 0?void 0:{deprep:sn?.deprep,fillStyle:sn?.fillStyle,font:sn?.font,renderer:tn}}return(Jt||animationFrameRequested)&&Vt?.(allocatedItem),Xt}function drawCheckbox(yt,Et,xt,vt,bt,At,Ft,Ct,wt=-20,St=-20,Tt=void 0,Rt="center",Pt="square"){const Lt=Math.floor(bt+Ft/2),kt=Pt==="circle"?1e4:Et.roundingRadius??4;let Ot=getSquareWidth(Tt??Et.checkboxMaxSize,Ft,Et.cellVerticalPadding),Mt=Ot/2;const It=getSquareXPosFromAlign(Rt,vt,At,Et.cellHorizontalPadding,Ot),Nt=getSquareBB(It,Lt,Ot),Ut=pointIsWithinBB(vt+wt,bt+St,Nt);switch(xt){case!0:{yt.beginPath(),roundedRect(yt,It-Ot/2,Lt-Ot/2,Ot,Ot,kt),Pt==="circle"&&(Mt*=.8,Ot*=.8),yt.fillStyle=Ct?Et.accentColor:Et.textMedium,yt.fill(),yt.beginPath(),yt.moveTo(It-Mt+Ot/4.23,Lt-Mt+Ot/1.97),yt.lineTo(It-Mt+Ot/2.42,Lt-Mt+Ot/1.44),yt.lineTo(It-Mt+Ot/1.29,Lt-Mt+Ot/3.25),yt.strokeStyle=Et.bgCell,yt.lineJoin="round",yt.lineCap="round",yt.lineWidth=1.9,yt.stroke();break}case BooleanEmpty:case!1:{yt.beginPath(),roundedRect(yt,It-Ot/2+.5,Lt-Ot/2+.5,Ot-1,Ot-1,kt),yt.lineWidth=1,yt.strokeStyle=Ut?Et.textDark:Et.textMedium,yt.stroke();break}case BooleanIndeterminate:{yt.beginPath(),roundedRect(yt,It-Ot/2,Lt-Ot/2,Ot,Ot,kt),yt.fillStyle=Ut?Et.textMedium:Et.textLight,yt.fill(),Pt==="circle"&&(Mt*=.8,Ot*=.8),yt.beginPath(),yt.moveTo(It-Ot/3,Lt),yt.lineTo(It+Ot/3,Lt),yt.strokeStyle=Et.bgCell,yt.lineCap="round",yt.lineWidth=1.9,yt.stroke();break}default:assertNever()}}function drawGridHeaders(yt,Et,xt,vt,bt,At,Ft,Ct,wt,St,Tt,Rt,Pt,Lt,kt,Ot,Mt,It,Nt){const Ut=Ft+Ct;if(Ut<=0)return;yt.fillStyle=Rt.bgHeader,yt.fillRect(0,0,bt,Ut);const jt=vt?.[0]?.[0],Vt=vt?.[0]?.[1],zt=vt?.[1]?.[0],Ht=vt?.[1]?.[1],Wt=Rt.headerFontFull;yt.font=Wt,walkColumns(Et,0,At,0,Ut,(Gt,qt,Xt,Kt)=>{if(Mt!==void 0&&!Mt.has([Gt.sourceIndex,-1]))return;const Jt=Math.max(0,Kt-qt);yt.save(),yt.beginPath(),yt.rect(qt+Jt,Ct,Gt.width-Jt,Ft),yt.clip();const tn=Ot(Gt.group??"").overrideTheme,sn=Gt.themeOverride===void 0&&tn===void 0?Rt:mergeAndRealizeTheme(Rt,tn,Gt.themeOverride);sn.bgHeader!==Rt.bgHeader&&(yt.fillStyle=sn.bgHeader,yt.fill()),sn!==Rt&&(yt.font=sn.headerFontFull);const Zt=Tt.columns.hasIndex(Gt.sourceIndex),nn=wt!==void 0||St||Gt.headerRowMarkerDisabled===!0,rn=!nn&&Vt===-1&&jt===Gt.sourceIndex,on=nn?0:Lt.find(mn=>mn.item[0]===Gt.sourceIndex&&mn.item[1]===-1)?.hoverAmount??0,ln=Tt?.current!==void 0&&Tt.current.cell[0]===Gt.sourceIndex,Qt=Zt?sn.accentColor:ln?sn.bgHeaderHasFocus:sn.bgHeader,fn=xt?Ct:0,pn=Gt.sourceIndex===0?0:1;Zt?(yt.fillStyle=Qt,yt.fillRect(qt+pn,fn,Gt.width-pn,Ft)):(ln||on>0)&&(yt.beginPath(),yt.rect(qt+pn,fn,Gt.width-pn,Ft),ln&&(yt.fillStyle=sn.bgHeaderHasFocus,yt.fill()),on>0&&(yt.globalAlpha=on,yt.fillStyle=sn.bgHeaderHovered,yt.fill(),yt.globalAlpha=1)),drawHeader(yt,qt,fn,Gt.width,Ft,Gt,Zt,sn,rn,rn?zt:void 0,rn?Ht:void 0,ln,on,Pt,It,Nt),yt.restore()}),xt&&drawGroups(yt,Et,bt,At,Ct,vt,Rt,Pt,Lt,kt,Ot,Mt)}function drawGroups(yt,Et,xt,vt,bt,At,Ft,Ct,wt,St,Tt,Rt){const[Lt,kt]=At?.[0]??[];let Ot=0;walkGroups(Et,xt,vt,bt,(Mt,It,Nt,Ut,jt,Vt)=>{if(Rt!==void 0&&!Rt.hasItemInRectangle({x:Mt[0],y:-2,width:Mt[1]-Mt[0]+1,height:1}))return;yt.save(),yt.beginPath(),yt.rect(Nt,Ut,jt,Vt),yt.clip();const zt=Tt(It),Ht=zt?.overrideTheme===void 0?Ft:mergeAndRealizeTheme(Ft,zt.overrideTheme),Wt=kt===-2&&Lt!==void 0&&Lt>=Mt[0]&&Lt<=Mt[1],Gt=Wt?Ht.bgGroupHeaderHovered??Ht.bgHeaderHovered:Ht.bgGroupHeader??Ht.bgHeader;if(Gt!==Ft.bgHeader&&(yt.fillStyle=Gt,yt.fill()),yt.fillStyle=Ht.textGroupHeader??Ht.textHeader,zt!==void 0){let qt=Nt;if(zt.icon!==void 0&&(Ct.drawSprite(zt.icon,"normal",yt,qt+8,(bt-20)/2,20,Ht),qt+=26),yt.fillText(zt.name,qt+8,bt/2+getMiddleCenterBias(yt,Ft.headerFontFull)),zt.actions!==void 0&&Wt){const Xt=getActionBoundsForGroup({x:Nt,y:Ut,width:jt,height:Vt},zt.actions);yt.beginPath();const Kt=Xt[0].x-10,Jt=Nt+jt-Kt;yt.rect(Kt,0,Jt,bt);const tn=yt.createLinearGradient(Kt,0,Kt+Jt,0),sn=withAlpha(Gt,0);tn.addColorStop(0,sn),tn.addColorStop(10/Jt,Gt),tn.addColorStop(1,Gt),yt.fillStyle=tn,yt.fill(),yt.globalAlpha=.6;const[Zt,nn]=At?.[1]??[-1,-1];for(let rn=0;rn<zt.actions.length;rn++){const on=zt.actions[rn],ln=Xt[rn],Qt=pointInRect(ln,Zt+Nt,nn);Qt&&(yt.globalAlpha=1),Ct.drawSprite(on.icon,"normal",yt,ln.x+ln.width/2-10,ln.y+ln.height/2-10,20,Ht),Qt&&(yt.globalAlpha=.6)}yt.globalAlpha=1}}Nt!==0&&St(Mt[0])&&(yt.beginPath(),yt.moveTo(Nt+.5,0),yt.lineTo(Nt+.5,bt),yt.strokeStyle=Ft.borderColor,yt.lineWidth=1,yt.stroke()),yt.restore(),Ot=Nt+jt}),yt.beginPath(),yt.moveTo(Ot+.5,0),yt.lineTo(Ot+.5,bt),yt.moveTo(0,bt+.5),yt.lineTo(xt,bt+.5),yt.strokeStyle=Ft.borderColor,yt.lineWidth=1,yt.stroke()}const menuButtonSize=30;function getHeaderMenuBounds(yt,Et,xt,vt,bt){return{x:yt+xt-menuButtonSize,y:Math.max(Et,Et+vt/2-menuButtonSize/2),width:menuButtonSize,height:Math.min(menuButtonSize,vt)}}function getActionBoundsForGroup(yt,Et){const xt=[];let vt=yt.x+yt.width-26*Et.length;const bt=yt.y+yt.height/2-13,At=26,Ft=26;for(let Ct=0;Ct<Et.length;Ct++)xt.push({x:vt,y:bt,width:Ft,height:At}),vt+=26;return xt}function flipHorizontal(yt,Et,xt){return!xt||yt===void 0||(yt.x=Et-(yt.x-Et)-yt.width),yt}function computeHeaderLayout(yt,Et,xt,vt,bt,At,Ft,Ct){const wt=Ft.cellHorizontalPadding,St=Ft.headerIconSize,Tt=getHeaderMenuBounds(xt,vt,bt,At);let Rt=xt+wt;const Pt=Et.icon===void 0?void 0:{x:Rt,y:vt+(At-St)/2,width:St,height:St},Lt=Pt===void 0||Et.overlayIcon===void 0?void 0:{x:Pt.x+9,y:Pt.y+6,width:18,height:18};Pt!==void 0&&(Rt+=Math.ceil(St*1.3));const kt={x:Rt,y:vt,width:bt-Rt,height:At};let Ot;if(Et.indicatorIcon!==void 0){const It=yt===void 0?getMeasuredTextCache(Et.title,Ft.headerFontFull)?.width??0:measureTextCached(Et.title,yt,Ft.headerFontFull).width;kt.width=It,Rt+=It+wt,Ot={x:Rt,y:vt+(At-St)/2,width:St,height:St}}const Mt=xt+bt/2;return{menuBounds:flipHorizontal(Tt,Mt,Ct),iconBounds:flipHorizontal(Pt,Mt,Ct),iconOverlayBounds:flipHorizontal(Lt,Mt,Ct),textBounds:flipHorizontal(kt,Mt,Ct),indicatorIconBounds:flipHorizontal(Ot,Mt,Ct)}}function drawHeaderInner(yt,Et,xt,vt,bt,At,Ft,Ct,wt,St,Tt,Rt,Pt,Lt,kt,Ot){if(At.rowMarker!==void 0&&At.headerRowMarkerDisabled!==!0){const Nt=At.rowMarkerChecked;Nt!==!0&&At.headerRowMarkerAlwaysVisible!==!0&&(yt.globalAlpha=Rt);const Ut=At.headerRowMarkerTheme!==void 0?mergeAndRealizeTheme(Ct,At.headerRowMarkerTheme):Ct;drawCheckbox(yt,Ut,Nt,Et,xt,vt,bt,!1,void 0,void 0,Ct.checkboxMaxSize,"center",At.rowMarker),Nt!==!0&&At.headerRowMarkerAlwaysVisible!==!0&&(yt.globalAlpha=1);return}const Mt=Ft?Ct.textHeaderSelected:Ct.textHeader,It=At.hasMenu===!0&&(wt||Lt&&Ft)&&Ot.menuBounds!==void 0;if(At.icon!==void 0&&Ot.iconBounds!==void 0){let Nt=Ft?"selected":"normal";At.style==="highlight"&&(Nt=Ft?"selected":"special"),Pt.drawSprite(At.icon,Nt,yt,Ot.iconBounds.x,Ot.iconBounds.y,Ot.iconBounds.width,Ct),At.overlayIcon!==void 0&&Ot.iconOverlayBounds!==void 0&&Pt.drawSprite(At.overlayIcon,Ft?"selected":"special",yt,Ot.iconOverlayBounds.x,Ot.iconOverlayBounds.y,Ot.iconOverlayBounds.width,Ct)}if(It&&vt>35){const Ut=kt?35:vt-35,jt=kt?35*.7:vt-35*.7,Vt=Ut/vt,zt=jt/vt,Ht=yt.createLinearGradient(Et,0,Et+vt,0),Wt=withAlpha(Mt,0);Ht.addColorStop(kt?1:0,Mt),Ht.addColorStop(Vt,Mt),Ht.addColorStop(zt,Wt),Ht.addColorStop(kt?0:1,Wt),yt.fillStyle=Ht}else yt.fillStyle=Mt;if(kt&&(yt.textAlign="right"),Ot.textBounds!==void 0&&yt.fillText(At.title,kt?Ot.textBounds.x+Ot.textBounds.width:Ot.textBounds.x,xt+bt/2+getMiddleCenterBias(yt,Ct.headerFontFull)),kt&&(yt.textAlign="left"),At.indicatorIcon!==void 0&&Ot.indicatorIconBounds!==void 0&&(!It||!intersectRect(Ot.menuBounds.x,Ot.menuBounds.y,Ot.menuBounds.width,Ot.menuBounds.height,Ot.indicatorIconBounds.x,Ot.indicatorIconBounds.y,Ot.indicatorIconBounds.width,Ot.indicatorIconBounds.height))){let Nt=Ft?"selected":"normal";At.style==="highlight"&&(Nt=Ft?"selected":"special"),Pt.drawSprite(At.indicatorIcon,Nt,yt,Ot.indicatorIconBounds.x,Ot.indicatorIconBounds.y,Ot.indicatorIconBounds.width,Ct)}if(It&&Ot.menuBounds!==void 0){const Nt=Ot.menuBounds,Ut=St!==void 0&&Tt!==void 0&&pointInRect(Nt,St+Et,Tt+xt);if(Ut||(yt.globalAlpha=.7),At.menuIcon===void 0||At.menuIcon===GridColumnMenuIcon.Triangle){yt.beginPath();const jt=Nt.x+Nt.width/2-5.5,Vt=Nt.y+Nt.height/2-3;roundedPoly(yt,[{x:jt,y:Vt},{x:jt+11,y:Vt},{x:jt+5.5,y:Vt+6}],1),yt.fillStyle=Mt,yt.fill()}else if(At.menuIcon===GridColumnMenuIcon.Dots){yt.beginPath();const jt=Nt.x+Nt.width/2,Vt=Nt.y+Nt.height/2;drawMenuDots(yt,jt,Vt),yt.fillStyle=Mt,yt.fill()}else{const jt=Nt.x+(Nt.width-Ct.headerIconSize)/2,Vt=Nt.y+(Nt.height-Ct.headerIconSize)/2;Pt.drawSprite(At.menuIcon,"normal",yt,jt,Vt,Ct.headerIconSize,Ct)}Ut||(yt.globalAlpha=1)}}function drawHeader(yt,Et,xt,vt,bt,At,Ft,Ct,wt,St,Tt,Rt,Pt,Lt,kt,Ot){const Mt=direction(At.title)==="rtl",It=computeHeaderLayout(yt,At,Et,xt,vt,bt,Ct,Mt);kt!==void 0?kt({ctx:yt,theme:Ct,rect:{x:Et,y:xt,width:vt,height:bt},column:At,columnIndex:At.sourceIndex,isSelected:Ft,hoverAmount:Pt,isHovered:wt,hasSelectedCell:Rt,spriteManager:Lt,menuBounds:It?.menuBounds??{x:0,y:0,height:0,width:0},hoverX:St,hoverY:Tt},()=>drawHeaderInner(yt,Et,xt,vt,bt,At,Ft,Ct,wt,St,Tt,Pt,Lt,Ot,Mt,It)):drawHeaderInner(yt,Et,xt,vt,bt,At,Ft,Ct,wt,St,Tt,Pt,Lt,Ot,Mt,It)}var _defineProperty,hasRequired_defineProperty;function require_defineProperty(){if(hasRequired_defineProperty)return _defineProperty;hasRequired_defineProperty=1;var yt=require_getNative(),Et=(function(){try{var xt=yt(Object,"defineProperty");return xt({},"",{}),xt}catch{}})();return _defineProperty=Et,_defineProperty}var _baseAssignValue,hasRequired_baseAssignValue;function require_baseAssignValue(){if(hasRequired_baseAssignValue)return _baseAssignValue;hasRequired_baseAssignValue=1;var yt=require_defineProperty();function Et(xt,vt,bt){vt=="__proto__"&&yt?yt(xt,vt,{configurable:!0,enumerable:!0,value:bt,writable:!0}):xt[vt]=bt}return _baseAssignValue=Et,_baseAssignValue}var _arrayAggregator,hasRequired_arrayAggregator;function require_arrayAggregator(){if(hasRequired_arrayAggregator)return _arrayAggregator;hasRequired_arrayAggregator=1;function yt(Et,xt,vt,bt){for(var At=-1,Ft=Et==null?0:Et.length;++At<Ft;){var Ct=Et[At];xt(bt,Ct,vt(Ct),Et)}return bt}return _arrayAggregator=yt,_arrayAggregator}var _createBaseFor,hasRequired_createBaseFor;function require_createBaseFor(){if(hasRequired_createBaseFor)return _createBaseFor;hasRequired_createBaseFor=1;function yt(Et){return function(xt,vt,bt){for(var At=-1,Ft=Object(xt),Ct=bt(xt),wt=Ct.length;wt--;){var St=Ct[Et?wt:++At];if(vt(Ft[St],St,Ft)===!1)break}return xt}}return _createBaseFor=yt,_createBaseFor}var _baseFor,hasRequired_baseFor;function require_baseFor(){if(hasRequired_baseFor)return _baseFor;hasRequired_baseFor=1;var yt=require_createBaseFor(),Et=yt();return _baseFor=Et,_baseFor}var _baseTimes,hasRequired_baseTimes;function require_baseTimes(){if(hasRequired_baseTimes)return _baseTimes;hasRequired_baseTimes=1;function yt(Et,xt){for(var vt=-1,bt=Array(Et);++vt<Et;)bt[vt]=xt(vt);return bt}return _baseTimes=yt,_baseTimes}var isBuffer={exports:{}},stubFalse_1,hasRequiredStubFalse;function requireStubFalse(){if(hasRequiredStubFalse)return stubFalse_1;hasRequiredStubFalse=1;function yt(){return!1}return stubFalse_1=yt,stubFalse_1}isBuffer.exports;var hasRequiredIsBuffer;function requireIsBuffer(){return hasRequiredIsBuffer||(hasRequiredIsBuffer=1,(function(yt,Et){var xt=require_root(),vt=requireStubFalse(),bt=Et&&!Et.nodeType&&Et,At=bt&&!0&&yt&&!yt.nodeType&&yt,Ft=At&&At.exports===bt,Ct=Ft?xt.Buffer:void 0,wt=Ct?Ct.isBuffer:void 0,St=wt||vt;yt.exports=St})(isBuffer,isBuffer.exports)),isBuffer.exports}var _baseIsTypedArray,hasRequired_baseIsTypedArray;function require_baseIsTypedArray(){if(hasRequired_baseIsTypedArray)return _baseIsTypedArray;hasRequired_baseIsTypedArray=1;var yt=require_baseGetTag(),Et=requireIsLength(),xt=requireIsObjectLike(),vt="[object Arguments]",bt="[object Array]",At="[object Boolean]",Ft="[object Date]",Ct="[object Error]",wt="[object Function]",St="[object Map]",Tt="[object Number]",Rt="[object Object]",Pt="[object RegExp]",Lt="[object Set]",kt="[object String]",Ot="[object WeakMap]",Mt="[object ArrayBuffer]",It="[object DataView]",Nt="[object Float32Array]",Ut="[object Float64Array]",jt="[object Int8Array]",Vt="[object Int16Array]",zt="[object Int32Array]",Ht="[object Uint8Array]",Wt="[object Uint8ClampedArray]",Gt="[object Uint16Array]",qt="[object Uint32Array]",Xt={};Xt[Nt]=Xt[Ut]=Xt[jt]=Xt[Vt]=Xt[zt]=Xt[Ht]=Xt[Wt]=Xt[Gt]=Xt[qt]=!0,Xt[vt]=Xt[bt]=Xt[Mt]=Xt[At]=Xt[It]=Xt[Ft]=Xt[Ct]=Xt[wt]=Xt[St]=Xt[Tt]=Xt[Rt]=Xt[Pt]=Xt[Lt]=Xt[kt]=Xt[Ot]=!1;function Kt(Jt){return xt(Jt)&&Et(Jt.length)&&!!Xt[yt(Jt)]}return _baseIsTypedArray=Kt,_baseIsTypedArray}var _baseUnary,hasRequired_baseUnary;function require_baseUnary(){if(hasRequired_baseUnary)return _baseUnary;hasRequired_baseUnary=1;function yt(Et){return function(xt){return Et(xt)}}return _baseUnary=yt,_baseUnary}var _nodeUtil={exports:{}};_nodeUtil.exports;var hasRequired_nodeUtil;function require_nodeUtil(){return hasRequired_nodeUtil||(hasRequired_nodeUtil=1,(function(yt,Et){var xt=require_freeGlobal(),vt=Et&&!Et.nodeType&&Et,bt=vt&&!0&&yt&&!yt.nodeType&&yt,At=bt&&bt.exports===vt,Ft=At&&xt.process,Ct=(function(){try{var wt=bt&&bt.require&&bt.require("util").types;return wt||Ft&&Ft.binding&&Ft.binding("util")}catch{}})();yt.exports=Ct})(_nodeUtil,_nodeUtil.exports)),_nodeUtil.exports}var isTypedArray_1,hasRequiredIsTypedArray;function requireIsTypedArray(){if(hasRequiredIsTypedArray)return isTypedArray_1;hasRequiredIsTypedArray=1;var yt=require_baseIsTypedArray(),Et=require_baseUnary(),xt=require_nodeUtil(),vt=xt&&xt.isTypedArray,bt=vt?Et(vt):yt;return isTypedArray_1=bt,isTypedArray_1}var _arrayLikeKeys,hasRequired_arrayLikeKeys;function require_arrayLikeKeys(){if(hasRequired_arrayLikeKeys)return _arrayLikeKeys;hasRequired_arrayLikeKeys=1;var yt=require_baseTimes(),Et=requireIsArguments(),xt=requireIsArray(),vt=requireIsBuffer(),bt=require_isIndex(),At=requireIsTypedArray(),Ft=Object.prototype,Ct=Ft.hasOwnProperty;function wt(St,Tt){var Rt=xt(St),Pt=!Rt&&Et(St),Lt=!Rt&&!Pt&&vt(St),kt=!Rt&&!Pt&&!Lt&&At(St),Ot=Rt||Pt||Lt||kt,Mt=Ot?yt(St.length,String):[],It=Mt.length;for(var Nt in St)(Tt||Ct.call(St,Nt))&&!(Ot&&(Nt=="length"||Lt&&(Nt=="offset"||Nt=="parent")||kt&&(Nt=="buffer"||Nt=="byteLength"||Nt=="byteOffset")||bt(Nt,It)))&&Mt.push(Nt);return Mt}return _arrayLikeKeys=wt,_arrayLikeKeys}var _isPrototype,hasRequired_isPrototype;function require_isPrototype(){if(hasRequired_isPrototype)return _isPrototype;hasRequired_isPrototype=1;var yt=Object.prototype;function Et(xt){var vt=xt&&xt.constructor,bt=typeof vt=="function"&&vt.prototype||yt;return xt===bt}return _isPrototype=Et,_isPrototype}var _overArg,hasRequired_overArg;function require_overArg(){if(hasRequired_overArg)return _overArg;hasRequired_overArg=1;function yt(Et,xt){return function(vt){return Et(xt(vt))}}return _overArg=yt,_overArg}var _nativeKeys,hasRequired_nativeKeys;function require_nativeKeys(){if(hasRequired_nativeKeys)return _nativeKeys;hasRequired_nativeKeys=1;var yt=require_overArg(),Et=yt(Object.keys,Object);return _nativeKeys=Et,_nativeKeys}var _baseKeys,hasRequired_baseKeys;function require_baseKeys(){if(hasRequired_baseKeys)return _baseKeys;hasRequired_baseKeys=1;var yt=require_isPrototype(),Et=require_nativeKeys(),xt=Object.prototype,vt=xt.hasOwnProperty;function bt(At){if(!yt(At))return Et(At);var Ft=[];for(var Ct in Object(At))vt.call(At,Ct)&&Ct!="constructor"&&Ft.push(Ct);return Ft}return _baseKeys=bt,_baseKeys}var keys_1,hasRequiredKeys;function requireKeys(){if(hasRequiredKeys)return keys_1;hasRequiredKeys=1;var yt=require_arrayLikeKeys(),Et=require_baseKeys(),xt=requireIsArrayLike();function vt(bt){return xt(bt)?yt(bt):Et(bt)}return keys_1=vt,keys_1}var _baseForOwn,hasRequired_baseForOwn;function require_baseForOwn(){if(hasRequired_baseForOwn)return _baseForOwn;hasRequired_baseForOwn=1;var yt=require_baseFor(),Et=requireKeys();function xt(vt,bt){return vt&&yt(vt,bt,Et)}return _baseForOwn=xt,_baseForOwn}var _createBaseEach,hasRequired_createBaseEach;function require_createBaseEach(){if(hasRequired_createBaseEach)return _createBaseEach;hasRequired_createBaseEach=1;var yt=requireIsArrayLike();function Et(xt,vt){return function(bt,At){if(bt==null)return bt;if(!yt(bt))return xt(bt,At);for(var Ft=bt.length,Ct=vt?Ft:-1,wt=Object(bt);(vt?Ct--:++Ct<Ft)&&At(wt[Ct],Ct,wt)!==!1;);return bt}}return _createBaseEach=Et,_createBaseEach}var _baseEach,hasRequired_baseEach;function require_baseEach(){if(hasRequired_baseEach)return _baseEach;hasRequired_baseEach=1;var yt=require_baseForOwn(),Et=require_createBaseEach(),xt=Et(yt);return _baseEach=xt,_baseEach}var _baseAggregator,hasRequired_baseAggregator;function require_baseAggregator(){if(hasRequired_baseAggregator)return _baseAggregator;hasRequired_baseAggregator=1;var yt=require_baseEach();function Et(xt,vt,bt,At){return yt(xt,function(Ft,Ct,wt){vt(At,Ft,bt(Ft),wt)}),At}return _baseAggregator=Et,_baseAggregator}var _stackClear,hasRequired_stackClear;function require_stackClear(){if(hasRequired_stackClear)return _stackClear;hasRequired_stackClear=1;var yt=require_ListCache();function Et(){this.__data__=new yt,this.size=0}return _stackClear=Et,_stackClear}var _stackDelete,hasRequired_stackDelete;function require_stackDelete(){if(hasRequired_stackDelete)return _stackDelete;hasRequired_stackDelete=1;function yt(Et){var xt=this.__data__,vt=xt.delete(Et);return this.size=xt.size,vt}return _stackDelete=yt,_stackDelete}var _stackGet,hasRequired_stackGet;function require_stackGet(){if(hasRequired_stackGet)return _stackGet;hasRequired_stackGet=1;function yt(Et){return this.__data__.get(Et)}return _stackGet=yt,_stackGet}var _stackHas,hasRequired_stackHas;function require_stackHas(){if(hasRequired_stackHas)return _stackHas;hasRequired_stackHas=1;function yt(Et){return this.__data__.has(Et)}return _stackHas=yt,_stackHas}var _stackSet,hasRequired_stackSet;function require_stackSet(){if(hasRequired_stackSet)return _stackSet;hasRequired_stackSet=1;var yt=require_ListCache(),Et=require_Map(),xt=require_MapCache(),vt=200;function bt(At,Ft){var Ct=this.__data__;if(Ct instanceof yt){var wt=Ct.__data__;if(!Et||wt.length<vt-1)return wt.push([At,Ft]),this.size=++Ct.size,this;Ct=this.__data__=new xt(wt)}return Ct.set(At,Ft),this.size=Ct.size,this}return _stackSet=bt,_stackSet}var _Stack,hasRequired_Stack;function require_Stack(){if(hasRequired_Stack)return _Stack;hasRequired_Stack=1;var yt=require_ListCache(),Et=require_stackClear(),xt=require_stackDelete(),vt=require_stackGet(),bt=require_stackHas(),At=require_stackSet();function Ft(Ct){var wt=this.__data__=new yt(Ct);this.size=wt.size}return Ft.prototype.clear=Et,Ft.prototype.delete=xt,Ft.prototype.get=vt,Ft.prototype.has=bt,Ft.prototype.set=At,_Stack=Ft,_Stack}var _arraySome,hasRequired_arraySome;function require_arraySome(){if(hasRequired_arraySome)return _arraySome;hasRequired_arraySome=1;function yt(Et,xt){for(var vt=-1,bt=Et==null?0:Et.length;++vt<bt;)if(xt(Et[vt],vt,Et))return!0;return!1}return _arraySome=yt,_arraySome}var _equalArrays,hasRequired_equalArrays;function require_equalArrays(){if(hasRequired_equalArrays)return _equalArrays;hasRequired_equalArrays=1;var yt=require_SetCache(),Et=require_arraySome(),xt=require_cacheHas(),vt=1,bt=2;function At(Ft,Ct,wt,St,Tt,Rt){var Pt=wt&vt,Lt=Ft.length,kt=Ct.length;if(Lt!=kt&&!(Pt&&kt>Lt))return!1;var Ot=Rt.get(Ft),Mt=Rt.get(Ct);if(Ot&&Mt)return Ot==Ct&&Mt==Ft;var It=-1,Nt=!0,Ut=wt&bt?new yt:void 0;for(Rt.set(Ft,Ct),Rt.set(Ct,Ft);++It<Lt;){var jt=Ft[It],Vt=Ct[It];if(St)var zt=Pt?St(Vt,jt,It,Ct,Ft,Rt):St(jt,Vt,It,Ft,Ct,Rt);if(zt!==void 0){if(zt)continue;Nt=!1;break}if(Ut){if(!Et(Ct,function(Ht,Wt){if(!xt(Ut,Wt)&&(jt===Ht||Tt(jt,Ht,wt,St,Rt)))return Ut.push(Wt)})){Nt=!1;break}}else if(!(jt===Vt||Tt(jt,Vt,wt,St,Rt))){Nt=!1;break}}return Rt.delete(Ft),Rt.delete(Ct),Nt}return _equalArrays=At,_equalArrays}var _Uint8Array,hasRequired_Uint8Array;function require_Uint8Array(){if(hasRequired_Uint8Array)return _Uint8Array;hasRequired_Uint8Array=1;var yt=require_root(),Et=yt.Uint8Array;return _Uint8Array=Et,_Uint8Array}var _mapToArray,hasRequired_mapToArray;function require_mapToArray(){if(hasRequired_mapToArray)return _mapToArray;hasRequired_mapToArray=1;function yt(Et){var xt=-1,vt=Array(Et.size);return Et.forEach(function(bt,At){vt[++xt]=[At,bt]}),vt}return _mapToArray=yt,_mapToArray}var _equalByTag,hasRequired_equalByTag;function require_equalByTag(){if(hasRequired_equalByTag)return _equalByTag;hasRequired_equalByTag=1;var yt=require_Symbol(),Et=require_Uint8Array(),xt=requireEq(),vt=require_equalArrays(),bt=require_mapToArray(),At=require_setToArray(),Ft=1,Ct=2,wt="[object Boolean]",St="[object Date]",Tt="[object Error]",Rt="[object Map]",Pt="[object Number]",Lt="[object RegExp]",kt="[object Set]",Ot="[object String]",Mt="[object Symbol]",It="[object ArrayBuffer]",Nt="[object DataView]",Ut=yt?yt.prototype:void 0,jt=Ut?Ut.valueOf:void 0;function Vt(zt,Ht,Wt,Gt,qt,Xt,Kt){switch(Wt){case Nt:if(zt.byteLength!=Ht.byteLength||zt.byteOffset!=Ht.byteOffset)return!1;zt=zt.buffer,Ht=Ht.buffer;case It:return!(zt.byteLength!=Ht.byteLength||!Xt(new Et(zt),new Et(Ht)));case wt:case St:case Pt:return xt(+zt,+Ht);case Tt:return zt.name==Ht.name&&zt.message==Ht.message;case Lt:case Ot:return zt==Ht+"";case Rt:var Jt=bt;case kt:var tn=Gt&Ft;if(Jt||(Jt=At),zt.size!=Ht.size&&!tn)return!1;var sn=Kt.get(zt);if(sn)return sn==Ht;Gt|=Ct,Kt.set(zt,Ht);var Zt=vt(Jt(zt),Jt(Ht),Gt,qt,Xt,Kt);return Kt.delete(zt),Zt;case Mt:if(jt)return jt.call(zt)==jt.call(Ht)}return!1}return _equalByTag=Vt,_equalByTag}var _baseGetAllKeys,hasRequired_baseGetAllKeys;function require_baseGetAllKeys(){if(hasRequired_baseGetAllKeys)return _baseGetAllKeys;hasRequired_baseGetAllKeys=1;var yt=require_arrayPush(),Et=requireIsArray();function xt(vt,bt,At){var Ft=bt(vt);return Et(vt)?Ft:yt(Ft,At(vt))}return _baseGetAllKeys=xt,_baseGetAllKeys}var _arrayFilter,hasRequired_arrayFilter;function require_arrayFilter(){if(hasRequired_arrayFilter)return _arrayFilter;hasRequired_arrayFilter=1;function yt(Et,xt){for(var vt=-1,bt=Et==null?0:Et.length,At=0,Ft=[];++vt<bt;){var Ct=Et[vt];xt(Ct,vt,Et)&&(Ft[At++]=Ct)}return Ft}return _arrayFilter=yt,_arrayFilter}var stubArray_1,hasRequiredStubArray;function requireStubArray(){if(hasRequiredStubArray)return stubArray_1;hasRequiredStubArray=1;function yt(){return[]}return stubArray_1=yt,stubArray_1}var _getSymbols,hasRequired_getSymbols;function require_getSymbols(){if(hasRequired_getSymbols)return _getSymbols;hasRequired_getSymbols=1;var yt=require_arrayFilter(),Et=requireStubArray(),xt=Object.prototype,vt=xt.propertyIsEnumerable,bt=Object.getOwnPropertySymbols,At=bt?function(Ft){return Ft==null?[]:(Ft=Object(Ft),yt(bt(Ft),function(Ct){return vt.call(Ft,Ct)}))}:Et;return _getSymbols=At,_getSymbols}var _getAllKeys,hasRequired_getAllKeys;function require_getAllKeys(){if(hasRequired_getAllKeys)return _getAllKeys;hasRequired_getAllKeys=1;var yt=require_baseGetAllKeys(),Et=require_getSymbols(),xt=requireKeys();function vt(bt){return yt(bt,xt,Et)}return _getAllKeys=vt,_getAllKeys}var _equalObjects,hasRequired_equalObjects;function require_equalObjects(){if(hasRequired_equalObjects)return _equalObjects;hasRequired_equalObjects=1;var yt=require_getAllKeys(),Et=1,xt=Object.prototype,vt=xt.hasOwnProperty;function bt(At,Ft,Ct,wt,St,Tt){var Rt=Ct&Et,Pt=yt(At),Lt=Pt.length,kt=yt(Ft),Ot=kt.length;if(Lt!=Ot&&!Rt)return!1;for(var Mt=Lt;Mt--;){var It=Pt[Mt];if(!(Rt?It in Ft:vt.call(Ft,It)))return!1}var Nt=Tt.get(At),Ut=Tt.get(Ft);if(Nt&&Ut)return Nt==Ft&&Ut==At;var jt=!0;Tt.set(At,Ft),Tt.set(Ft,At);for(var Vt=Rt;++Mt<Lt;){It=Pt[Mt];var zt=At[It],Ht=Ft[It];if(wt)var Wt=Rt?wt(Ht,zt,It,Ft,At,Tt):wt(zt,Ht,It,At,Ft,Tt);if(!(Wt===void 0?zt===Ht||St(zt,Ht,Ct,wt,Tt):Wt)){jt=!1;break}Vt||(Vt=It=="constructor")}if(jt&&!Vt){var Gt=At.constructor,qt=Ft.constructor;Gt!=qt&&"constructor"in At&&"constructor"in Ft&&!(typeof Gt=="function"&&Gt instanceof Gt&&typeof qt=="function"&&qt instanceof qt)&&(jt=!1)}return Tt.delete(At),Tt.delete(Ft),jt}return _equalObjects=bt,_equalObjects}var _DataView,hasRequired_DataView;function require_DataView(){if(hasRequired_DataView)return _DataView;hasRequired_DataView=1;var yt=require_getNative(),Et=require_root(),xt=yt(Et,"DataView");return _DataView=xt,_DataView}var _Promise,hasRequired_Promise;function require_Promise(){if(hasRequired_Promise)return _Promise;hasRequired_Promise=1;var yt=require_getNative(),Et=require_root(),xt=yt(Et,"Promise");return _Promise=xt,_Promise}var _WeakMap,hasRequired_WeakMap;function require_WeakMap(){if(hasRequired_WeakMap)return _WeakMap;hasRequired_WeakMap=1;var yt=require_getNative(),Et=require_root(),xt=yt(Et,"WeakMap");return _WeakMap=xt,_WeakMap}var _getTag,hasRequired_getTag;function require_getTag(){if(hasRequired_getTag)return _getTag;hasRequired_getTag=1;var yt=require_DataView(),Et=require_Map(),xt=require_Promise(),vt=require_Set(),bt=require_WeakMap(),At=require_baseGetTag(),Ft=require_toSource(),Ct="[object Map]",wt="[object Object]",St="[object Promise]",Tt="[object Set]",Rt="[object WeakMap]",Pt="[object DataView]",Lt=Ft(yt),kt=Ft(Et),Ot=Ft(xt),Mt=Ft(vt),It=Ft(bt),Nt=At;return(yt&&Nt(new yt(new ArrayBuffer(1)))!=Pt||Et&&Nt(new Et)!=Ct||xt&&Nt(xt.resolve())!=St||vt&&Nt(new vt)!=Tt||bt&&Nt(new bt)!=Rt)&&(Nt=function(Ut){var jt=At(Ut),Vt=jt==wt?Ut.constructor:void 0,zt=Vt?Ft(Vt):"";if(zt)switch(zt){case Lt:return Pt;case kt:return Ct;case Ot:return St;case Mt:return Tt;case It:return Rt}return jt}),_getTag=Nt,_getTag}var _baseIsEqualDeep,hasRequired_baseIsEqualDeep;function require_baseIsEqualDeep(){if(hasRequired_baseIsEqualDeep)return _baseIsEqualDeep;hasRequired_baseIsEqualDeep=1;var yt=require_Stack(),Et=require_equalArrays(),xt=require_equalByTag(),vt=require_equalObjects(),bt=require_getTag(),At=requireIsArray(),Ft=requireIsBuffer(),Ct=requireIsTypedArray(),wt=1,St="[object Arguments]",Tt="[object Array]",Rt="[object Object]",Pt=Object.prototype,Lt=Pt.hasOwnProperty;function kt(Ot,Mt,It,Nt,Ut,jt){var Vt=At(Ot),zt=At(Mt),Ht=Vt?Tt:bt(Ot),Wt=zt?Tt:bt(Mt);Ht=Ht==St?Rt:Ht,Wt=Wt==St?Rt:Wt;var Gt=Ht==Rt,qt=Wt==Rt,Xt=Ht==Wt;if(Xt&&Ft(Ot)){if(!Ft(Mt))return!1;Vt=!0,Gt=!1}if(Xt&&!Gt)return jt||(jt=new yt),Vt||Ct(Ot)?Et(Ot,Mt,It,Nt,Ut,jt):xt(Ot,Mt,Ht,It,Nt,Ut,jt);if(!(It&wt)){var Kt=Gt&&Lt.call(Ot,"__wrapped__"),Jt=qt&&Lt.call(Mt,"__wrapped__");if(Kt||Jt){var tn=Kt?Ot.value():Ot,sn=Jt?Mt.value():Mt;return jt||(jt=new yt),Ut(tn,sn,It,Nt,jt)}}return Xt?(jt||(jt=new yt),vt(Ot,Mt,It,Nt,Ut,jt)):!1}return _baseIsEqualDeep=kt,_baseIsEqualDeep}var _baseIsEqual,hasRequired_baseIsEqual;function require_baseIsEqual(){if(hasRequired_baseIsEqual)return _baseIsEqual;hasRequired_baseIsEqual=1;var yt=require_baseIsEqualDeep(),Et=requireIsObjectLike();function xt(vt,bt,At,Ft,Ct){return vt===bt?!0:vt==null||bt==null||!Et(vt)&&!Et(bt)?vt!==vt&&bt!==bt:yt(vt,bt,At,Ft,xt,Ct)}return _baseIsEqual=xt,_baseIsEqual}var _baseIsMatch,hasRequired_baseIsMatch;function require_baseIsMatch(){if(hasRequired_baseIsMatch)return _baseIsMatch;hasRequired_baseIsMatch=1;var yt=require_Stack(),Et=require_baseIsEqual(),xt=1,vt=2;function bt(At,Ft,Ct,wt){var St=Ct.length,Tt=St,Rt=!wt;if(At==null)return!Tt;for(At=Object(At);St--;){var Pt=Ct[St];if(Rt&&Pt[2]?Pt[1]!==At[Pt[0]]:!(Pt[0]in At))return!1}for(;++St<Tt;){Pt=Ct[St];var Lt=Pt[0],kt=At[Lt],Ot=Pt[1];if(Rt&&Pt[2]){if(kt===void 0&&!(Lt in At))return!1}else{var Mt=new yt;if(wt)var It=wt(kt,Ot,Lt,At,Ft,Mt);if(!(It===void 0?Et(Ot,kt,xt|vt,wt,Mt):It))return!1}}return!0}return _baseIsMatch=bt,_baseIsMatch}var _isStrictComparable,hasRequired_isStrictComparable;function require_isStrictComparable(){if(hasRequired_isStrictComparable)return _isStrictComparable;hasRequired_isStrictComparable=1;var yt=requireIsObject();function Et(xt){return xt===xt&&!yt(xt)}return _isStrictComparable=Et,_isStrictComparable}var _getMatchData,hasRequired_getMatchData;function require_getMatchData(){if(hasRequired_getMatchData)return _getMatchData;hasRequired_getMatchData=1;var yt=require_isStrictComparable(),Et=requireKeys();function xt(vt){for(var bt=Et(vt),At=bt.length;At--;){var Ft=bt[At],Ct=vt[Ft];bt[At]=[Ft,Ct,yt(Ct)]}return bt}return _getMatchData=xt,_getMatchData}var _matchesStrictComparable,hasRequired_matchesStrictComparable;function require_matchesStrictComparable(){if(hasRequired_matchesStrictComparable)return _matchesStrictComparable;hasRequired_matchesStrictComparable=1;function yt(Et,xt){return function(vt){return vt==null?!1:vt[Et]===xt&&(xt!==void 0||Et in Object(vt))}}return _matchesStrictComparable=yt,_matchesStrictComparable}var _baseMatches,hasRequired_baseMatches;function require_baseMatches(){if(hasRequired_baseMatches)return _baseMatches;hasRequired_baseMatches=1;var yt=require_baseIsMatch(),Et=require_getMatchData(),xt=require_matchesStrictComparable();function vt(bt){var At=Et(bt);return At.length==1&&At[0][2]?xt(At[0][0],At[0][1]):function(Ft){return Ft===bt||yt(Ft,bt,At)}}return _baseMatches=vt,_baseMatches}var _baseGet,hasRequired_baseGet;function require_baseGet(){if(hasRequired_baseGet)return _baseGet;hasRequired_baseGet=1;var yt=require_castPath(),Et=require_toKey();function xt(vt,bt){bt=yt(bt,vt);for(var At=0,Ft=bt.length;vt!=null&&At<Ft;)vt=vt[Et(bt[At++])];return At&&At==Ft?vt:void 0}return _baseGet=xt,_baseGet}var get_1,hasRequiredGet;function requireGet(){if(hasRequiredGet)return get_1;hasRequiredGet=1;var yt=require_baseGet();function Et(xt,vt,bt){var At=xt==null?void 0:yt(xt,vt);return At===void 0?bt:At}return get_1=Et,get_1}var _baseHasIn,hasRequired_baseHasIn;function require_baseHasIn(){if(hasRequired_baseHasIn)return _baseHasIn;hasRequired_baseHasIn=1;function yt(Et,xt){return Et!=null&&xt in Object(Et)}return _baseHasIn=yt,_baseHasIn}var hasIn_1,hasRequiredHasIn;function requireHasIn(){if(hasRequiredHasIn)return hasIn_1;hasRequiredHasIn=1;var yt=require_baseHasIn(),Et=require_hasPath();function xt(vt,bt){return vt!=null&&Et(vt,bt,yt)}return hasIn_1=xt,hasIn_1}var _baseMatchesProperty,hasRequired_baseMatchesProperty;function require_baseMatchesProperty(){if(hasRequired_baseMatchesProperty)return _baseMatchesProperty;hasRequired_baseMatchesProperty=1;var yt=require_baseIsEqual(),Et=requireGet(),xt=requireHasIn(),vt=require_isKey(),bt=require_isStrictComparable(),At=require_matchesStrictComparable(),Ft=require_toKey(),Ct=1,wt=2;function St(Tt,Rt){return vt(Tt)&&bt(Rt)?At(Ft(Tt),Rt):function(Pt){var Lt=Et(Pt,Tt);return Lt===void 0&&Lt===Rt?xt(Pt,Tt):yt(Rt,Lt,Ct|wt)}}return _baseMatchesProperty=St,_baseMatchesProperty}var identity_1,hasRequiredIdentity;function requireIdentity(){if(hasRequiredIdentity)return identity_1;hasRequiredIdentity=1;function yt(Et){return Et}return identity_1=yt,identity_1}var _baseProperty,hasRequired_baseProperty;function require_baseProperty(){if(hasRequired_baseProperty)return _baseProperty;hasRequired_baseProperty=1;function yt(Et){return function(xt){return xt?.[Et]}}return _baseProperty=yt,_baseProperty}var _basePropertyDeep,hasRequired_basePropertyDeep;function require_basePropertyDeep(){if(hasRequired_basePropertyDeep)return _basePropertyDeep;hasRequired_basePropertyDeep=1;var yt=require_baseGet();function Et(xt){return function(vt){return yt(vt,xt)}}return _basePropertyDeep=Et,_basePropertyDeep}var property_1,hasRequiredProperty;function requireProperty(){if(hasRequiredProperty)return property_1;hasRequiredProperty=1;var yt=require_baseProperty(),Et=require_basePropertyDeep(),xt=require_isKey(),vt=require_toKey();function bt(At){return xt(At)?yt(vt(At)):Et(At)}return property_1=bt,property_1}var _baseIteratee,hasRequired_baseIteratee;function require_baseIteratee(){if(hasRequired_baseIteratee)return _baseIteratee;hasRequired_baseIteratee=1;var yt=require_baseMatches(),Et=require_baseMatchesProperty(),xt=requireIdentity(),vt=requireIsArray(),bt=requireProperty();function At(Ft){return typeof Ft=="function"?Ft:Ft==null?xt:typeof Ft=="object"?vt(Ft)?Et(Ft[0],Ft[1]):yt(Ft):bt(Ft)}return _baseIteratee=At,_baseIteratee}var _createAggregator,hasRequired_createAggregator;function require_createAggregator(){if(hasRequired_createAggregator)return _createAggregator;hasRequired_createAggregator=1;var yt=require_arrayAggregator(),Et=require_baseAggregator(),xt=require_baseIteratee(),vt=requireIsArray();function bt(At,Ft){return function(Ct,wt){var St=vt(Ct)?yt:Et,Tt=Ft?Ft():{};return St(Ct,At,xt(wt,2),Tt)}}return _createAggregator=bt,_createAggregator}var groupBy_1,hasRequiredGroupBy;function requireGroupBy(){if(hasRequiredGroupBy)return groupBy_1;hasRequiredGroupBy=1;var yt=require_baseAssignValue(),Et=require_createAggregator(),xt=Object.prototype,vt=xt.hasOwnProperty,bt=Et(function(At,Ft,Ct){vt.call(At,Ct)?At[Ct].push(Ft):yt(At,Ct,[Ft])});return groupBy_1=bt,groupBy_1}var groupByExports=requireGroupBy();const groupBy=getDefaultExportFromCjs(groupByExports);function drawBlanks(yt,Et,xt,vt,bt,At,Ft,Ct,wt,St,Tt,Rt,Pt,Lt,kt,Ot,Mt,It,Nt){if(It!==void 0||Et[Et.length-1]!==xt[Et.length-1])return;const Ut=getSkipPoint(Mt);walkColumns(Et,wt,Ft,Ct,At,(jt,Vt,zt,Ht,Wt)=>{if(jt!==Et[Et.length-1])return;Vt+=jt.width;const Gt=Math.max(Vt,Ht);Gt>vt||(yt.save(),yt.beginPath(),yt.rect(Gt,At+1,1e4,bt-At-1),yt.clip(),walkRowsInCol(Wt,zt,bt,St,Tt,kt,Ot,Ut,(qt,Xt,Kt,Jt)=>{if(!Jt&&Mt.length>0&&!Mt.some(rn=>intersectRect(Vt,qt,1e4,Kt,rn.x,rn.y,rn.width,rn.height)))return;const tn=Pt.hasIndex(Xt),sn=Lt.hasIndex(Xt);yt.beginPath();const Zt=Rt?.(Xt),nn=Zt===void 0?Nt:mergeAndRealizeTheme(Nt,Zt);nn.bgCell!==Nt.bgCell&&(yt.fillStyle=nn.bgCell,yt.fillRect(Vt,qt,1e4,Kt)),sn&&(yt.fillStyle=nn.bgHeader,yt.fillRect(Vt,qt,1e4,Kt)),tn&&(yt.fillStyle=nn.accentLight,yt.fillRect(Vt,qt,1e4,Kt))}),yt.restore())})}function overdrawStickyBoundaries(yt,Et,xt,vt,bt,At,Ft,Ct,wt){let St=!1;for(const kt of Et)if(!kt.sticky){St=Ft(kt.sourceIndex);break}const Tt=wt.horizontalBorderColor??wt.borderColor,Rt=wt.borderColor,Pt=St?getStickyWidth(Et):0;let Lt;if(Pt!==0&&(Lt=blendCache(Rt,wt.bgCell),yt.beginPath(),yt.moveTo(Pt+.5,0),yt.lineTo(Pt+.5,vt),yt.strokeStyle=Lt,yt.stroke()),bt>0){const kt=Rt===Tt&&Lt!==void 0?Lt:blendCache(Tt,wt.bgCell),Ot=getFreezeTrailingHeight(At,bt,Ct);yt.beginPath(),yt.moveTo(0,vt-Ot+.5),yt.lineTo(xt,vt-Ot+.5),yt.strokeStyle=kt,yt.stroke()}}const getMinMaxXY=(yt,Et,xt)=>{let vt=0,bt=Et,At=0,Ft=xt;if(yt!==void 0&&yt.length>0){vt=Number.MAX_SAFE_INTEGER,At=Number.MAX_SAFE_INTEGER,bt=Number.MIN_SAFE_INTEGER,Ft=Number.MIN_SAFE_INTEGER;for(const Ct of yt)vt=Math.min(vt,Ct.x-1),bt=Math.max(bt,Ct.x+Ct.width+1),At=Math.min(At,Ct.y-1),Ft=Math.max(Ft,Ct.y+Ct.height+1)}return{minX:vt,maxX:bt,minY:At,maxY:Ft}};function drawExtraRowThemes(yt,Et,xt,vt,bt,At,Ft,Ct,wt,St,Tt,Rt,Pt,Lt,kt){const Ot=kt.bgCell,{minX:Mt,maxX:It,minY:Nt,maxY:Ut}=getMinMaxXY(Ct,At,Ft),jt=[],Vt=Ft-getFreezeTrailingHeight(Lt,Pt,St);let zt=wt,Ht=xt,Wt=0;for(;zt+bt<Vt;){const Kt=zt+bt,Jt=St(Ht);if(Kt>=Nt&&Kt<=Ut-1){const sn=Tt?.(Ht)?.bgCell;sn!==void 0&&sn!==Ot&&Ht>=Lt-Pt&&jt.push({x:Mt,y:Kt,w:It-Mt,h:Jt,color:sn})}zt+=Jt,Ht<Lt-Pt&&(Wt=zt),Ht++}let Gt=0;const qt=Math.min(Vt,Ut)-Wt;if(qt>0)for(let Kt=0;Kt<Et.length;Kt++){const Jt=Et[Kt];if(Jt.width===0)continue;const tn=Jt.sticky?Gt:Gt+vt,sn=Jt.themeOverride?.bgCell;sn!==void 0&&sn!==Ot&&tn>=Mt&&tn<=It&&Rt(Kt+1)&&jt.push({x:tn,y:Wt,w:Jt.width,h:qt,color:sn}),Gt+=Jt.width}if(jt.length===0)return;let Xt;yt.beginPath();for(let Kt=jt.length-1;Kt>=0;Kt--){const Jt=jt[Kt];Xt===void 0?Xt=Jt.color:Jt.color!==Xt&&(yt.fillStyle=Xt,yt.fill(),yt.beginPath(),Xt=Jt.color),yt.rect(Jt.x,Jt.y,Jt.w,Jt.h)}Xt!==void 0&&(yt.fillStyle=Xt,yt.fill()),yt.beginPath()}function drawGridLines(yt,Et,xt,vt,bt,At,Ft,Ct,wt,St,Tt,Rt,Pt,Lt,kt,Ot,Mt,It=!1){if(wt!==void 0){yt.beginPath(),yt.save(),yt.rect(0,0,At,Ft);for(const Kt of wt)yt.rect(Kt.x+1,Kt.y+1,Kt.width-1,Kt.height-1);yt.clip("evenodd")}const Nt=Mt.horizontalBorderColor??Mt.borderColor,Ut=Mt.borderColor,{minX:jt,maxX:Vt,minY:zt,maxY:Ht}=getMinMaxXY(Ct,At,Ft),Wt=[];yt.beginPath();let Gt=.5;for(let Kt=0;Kt<Et.length;Kt++){const Jt=Et[Kt];if(Jt.width===0)continue;Gt+=Jt.width;const tn=Jt.sticky?Gt:Gt+vt;tn>=jt&&tn<=Vt&&Lt(Kt+1)&&Wt.push({x1:tn,y1:Math.max(St,zt),x2:tn,y2:Math.min(Ft,Ht),color:Ut})}let qt=Ft+.5;for(let Kt=Ot-kt;Kt<Ot;Kt++){const Jt=Rt(Kt);qt-=Jt,Wt.push({x1:jt,y1:qt,x2:Vt,y2:qt,color:Nt})}if(It!==!0){let Kt=Tt+.5,Jt=xt;const tn=qt;for(;Kt+bt<tn;){const sn=Kt+bt;if(sn>=zt&&sn<=Ht-1){const Zt=Pt?.(Jt);Wt.push({x1:jt,y1:sn,x2:Vt,y2:sn,color:Zt?.horizontalBorderColor??Zt?.borderColor??Nt})}Kt+=Rt(Jt),Jt++}}const Xt=groupBy(Wt,Kt=>Kt.color);for(const Kt of Object.keys(Xt)){yt.strokeStyle=Kt;for(const Jt of Xt[Kt])yt.moveTo(Jt.x1,Jt.y1),yt.lineTo(Jt.x2,Jt.y2);yt.stroke(),yt.beginPath()}wt!==void 0&&yt.restore()}function blitLastFrame(yt,Et,xt,vt,bt,At,Ft,Ct,wt,St,Tt,Rt,Pt,Lt,kt,Ot,Mt,It,Nt){const Ut=[];yt.imageSmoothingEnabled=!1;const jt=Math.min(bt.cellYOffset,Ft),Vt=Math.max(bt.cellYOffset,Ft);let zt=0;if(typeof It=="number")zt+=(Vt-jt)*It;else for(let tn=jt;tn<Vt;tn++)zt+=It(tn);Ft>bt.cellYOffset&&(zt=-zt),zt+=wt-bt.translateY;const Ht=Math.min(bt.cellXOffset,At),Wt=Math.max(bt.cellXOffset,At);let Gt=0;for(let tn=Ht;tn<Wt;tn++)Gt+=Ot[tn].width;At>bt.cellXOffset&&(Gt=-Gt),Gt+=Ct-bt.translateX;const qt=getStickyWidth(Mt);if(Gt!==0&&zt!==0)return{regions:[]};const Xt=St>0?getFreezeTrailingHeight(Pt,St,It):0,Kt=Tt-qt-Math.abs(Gt),Jt=Rt-Lt-Xt-Math.abs(zt)-1;if(Kt>150&&Jt>150){const tn={sx:0,sy:0,sw:Tt*kt,sh:Rt*kt,dx:0,dy:0,dw:Tt*kt,dh:Rt*kt};if(zt>0?(tn.sy=(Lt+1)*kt,tn.sh=Jt*kt,tn.dy=(zt+Lt+1)*kt,tn.dh=Jt*kt,Ut.push({x:0,y:Lt,width:Tt,height:zt+1})):zt<0&&(tn.sy=(-zt+Lt+1)*kt,tn.sh=Jt*kt,tn.dy=(Lt+1)*kt,tn.dh=Jt*kt,Ut.push({x:0,y:Rt+zt-Xt,width:Tt,height:-zt+Xt})),Gt>0?(tn.sx=qt*kt,tn.sw=Kt*kt,tn.dx=(Gt+qt)*kt,tn.dw=Kt*kt,Ut.push({x:qt-1,y:0,width:Gt+2,height:Rt})):Gt<0&&(tn.sx=(qt-Gt)*kt,tn.sw=Kt*kt,tn.dx=qt*kt,tn.dw=Kt*kt,Ut.push({x:Tt+Gt,y:0,width:-Gt,height:Rt})),yt.setTransform(1,0,0,1,0,0),Nt){if(qt>0&&Gt!==0&&zt===0&&(vt===void 0||xt?.[1]!==!1)){const sn=qt*kt,Zt=Rt*kt;yt.drawImage(Et,0,0,sn,Zt,0,0,sn,Zt)}if(Xt>0&&Gt===0&&zt!==0&&(vt===void 0||xt?.[0]!==!1)){const sn=(Rt-Xt)*kt,Zt=Tt*kt,nn=Xt*kt;yt.drawImage(Et,0,sn,Zt,nn,0,sn,Zt,nn)}}yt.drawImage(Et,tn.sx,tn.sy,tn.sw,tn.sh,tn.dx,tn.dy,tn.dw,tn.dh),yt.scale(kt,kt)}return yt.imageSmoothingEnabled=!0,{regions:Ut}}function blitResizedCol(yt,Et,xt,vt,bt,At,Ft,Ct,wt,St){const Tt=[];return Et!==yt.cellXOffset||xt!==yt.cellYOffset||vt!==yt.translateX||bt!==yt.translateY||walkColumns(wt,xt,vt,bt,Ct,(Rt,Pt,Lt,kt)=>{if(Rt.sourceIndex===St){const Ot=Math.max(Pt,kt)+1;return Tt.push({x:Ot,y:0,width:At-Ot,height:Ft}),!0}}),Tt}function computeCanBlit(yt,Et){if(Et===void 0||yt.width!==Et.width||yt.height!==Et.height||yt.theme!==Et.theme||yt.headerHeight!==Et.headerHeight||yt.rowHeight!==Et.rowHeight||yt.rows!==Et.rows||yt.freezeColumns!==Et.freezeColumns||yt.getRowThemeOverride!==Et.getRowThemeOverride||yt.isFocused!==Et.isFocused||yt.isResizing!==Et.isResizing||yt.verticalBorder!==Et.verticalBorder||yt.getCellContent!==Et.getCellContent||yt.highlightRegions!==Et.highlightRegions||yt.selection!==Et.selection||yt.dragAndDropState!==Et.dragAndDropState||yt.prelightCells!==Et.prelightCells||yt.touchMode!==Et.touchMode||yt.maxScaleFactor!==Et.maxScaleFactor)return!1;if(yt.mappedColumns!==Et.mappedColumns){if(yt.mappedColumns.length>100||yt.mappedColumns.length!==Et.mappedColumns.length)return!1;let xt;for(let vt=0;vt<yt.mappedColumns.length;vt++){const bt=yt.mappedColumns[vt],At=Et.mappedColumns[vt];if(deepEqual(bt,At))continue;if(xt!==void 0||bt.width===At.width)return!1;const{width:Ft,...Ct}=bt,{width:wt,...St}=At;if(!deepEqual(Ct,St))return!1;xt=vt}return xt===void 0?!0:xt}return!0}function drawHighlightRings(yt,Et,xt,vt,bt,At,Ft,Ct,wt,St,Tt,Rt,Pt,Lt,kt,Ot){const Mt=kt?.filter(Ht=>Ht.style!=="no-outline");if(Mt===void 0||Mt.length===0)return;const It=getStickyWidth(Ct),Nt=getFreezeTrailingHeight(Lt,Pt,Rt),Ut=[wt,0,Ct.length,Lt-Pt],jt=[It,0,Et,xt-Nt],Vt=Mt.map(Ht=>{const Wt=Ht.range,Gt=Ht.style??"dashed";return splitRectIntoRegions(Wt,Ut,Et,xt,jt).map(qt=>{const Xt=qt.rect,Kt=computeBounds(Xt.x,Xt.y,Et,xt,Tt,St+Tt,vt,bt,At,Ft,Lt,wt,Pt,Ct,Rt),Jt=Xt.width===1&&Xt.height===1?Kt:computeBounds(Xt.x+Xt.width-1,Xt.y+Xt.height-1,Et,xt,Tt,St+Tt,vt,bt,At,Ft,Lt,wt,Pt,Ct,Rt);return Xt.x+Xt.width>=Ct.length&&(Jt.width-=1),Xt.y+Xt.height>=Lt&&(Jt.height-=1),{color:Ht.color,style:Gt,clip:qt.clip,rect:hugRectToTarget({x:Kt.x,y:Kt.y,width:Jt.x+Jt.width-Kt.x,height:Jt.y+Jt.height-Kt.y},Et,xt,8)}})}),zt=()=>{yt.lineWidth=1;let Ht=!1;for(const Wt of Vt)for(const Gt of Wt)if(Gt?.rect!==void 0&&intersectRect(0,0,Et,xt,Gt.rect.x,Gt.rect.y,Gt.rect.width,Gt.rect.height)){const qt=Ht,Xt=!rectContains(Gt.clip,Gt.rect);yt.beginPath(),Xt&&(yt.save(),yt.rect(Gt.clip.x,Gt.clip.y,Gt.clip.width,Gt.clip.height),yt.clip()),Gt.style==="dashed"&&!Ht?(yt.setLineDash([5,3]),Ht=!0):(Gt.style==="solid"||Gt.style==="solid-outline")&&Ht&&(yt.setLineDash([]),Ht=!1),yt.strokeStyle=Gt.style==="solid-outline"?blend(blend(Gt.color,Ot.borderColor),Ot.bgCell):withAlpha(Gt.color,1),yt.closePath(),yt.strokeRect(Gt.rect.x+.5,Gt.rect.y+.5,Gt.rect.width-1,Gt.rect.height-1),Xt&&(yt.restore(),Ht=qt)}Ht&&yt.setLineDash([])};return zt(),zt}function drawColumnResizeOutline(yt,Et,xt,vt,bt){yt.beginPath(),yt.moveTo(Et,xt),yt.lineTo(Et,vt),yt.lineWidth=2,yt.strokeStyle=bt,yt.stroke(),yt.globalAlpha=1}function drawFillHandle(yt,Et,xt,vt,bt,At,Ft,Ct,wt,St,Tt,Rt,Pt,Lt,kt,Ot,Mt){if(Tt.current===void 0)return;const It=Ot!==!1&&Ot!==void 0;if(!It)return;const Nt=typeof Ot=="object"?{...DEFAULT_FILL_HANDLE,...Ot}:DEFAULT_FILL_HANDLE,Ut=Tt.current.range,jt=Tt.current.cell,Vt=[Ut.x+Ut.width-1,Ut.y+Ut.height-1];if(jt[1]>=Mt&&Vt[1]>=Mt||!Ft.some(Zt=>Zt.sourceIndex===jt[0]||Zt.sourceIndex===Vt[0]))return;const[Ht,Wt]=Tt.current.cell,Gt=Pt(Tt.current.cell),qt=Gt.span??[Ht,Ht],Xt=Wt>=Mt-Lt,Kt=Lt>0&&!Xt?getFreezeTrailingHeight(Mt,Lt,Rt)-1:0,Jt=Vt[1];let tn;if(walkColumns(Ft,vt,bt,At,St,(Zt,nn,rn,on,ln)=>{if(Zt.sticky&&Ht>Zt.sourceIndex)return;const Qt=Zt.sourceIndex<qt[0],fn=Zt.sourceIndex>qt[1],pn=Zt.sourceIndex===Vt[0];if(!(!pn&&(Qt||fn)))return walkRowsInCol(ln,rn,xt,Mt,Rt,Lt,kt,void 0,(mn,vn,yn)=>{if(vn!==Wt&&vn!==Jt)return;let xn=nn,Mn=Zt.width;if(Gt.span!==void 0){const Rn=getSpanBounds(Gt.span,nn,mn,Zt.width,yn,Zt,Ct),Tn=Zt.sticky?Rn[0]:Rn[1];Tn!==void 0&&(xn=Tn.x,Mn=Tn.width)}return vn===Jt&&pn&&It&&(tn=()=>{on>xn&&!Zt.sticky&&(yt.beginPath(),yt.rect(on,0,Et-on,xt),yt.clip());const Rn=Nt.size,Tn=Rn/2,ir=xn+Mn+Nt.offsetX-Tn+.5,Jn=mn+yn+Nt.offsetY-Tn+.5;yt.beginPath(),Nt.shape==="circle"?yt.arc(ir+Tn,Jn+Tn,Tn,0,Math.PI*2):yt.rect(ir,Jn,Rn,Rn),yt.fillStyle=Zt.themeOverride?.accentColor??wt.accentColor,yt.fill(),Nt.outline>0&&(yt.lineWidth=Nt.outline,yt.strokeStyle=wt.bgCell,Nt.shape==="circle"?(yt.beginPath(),yt.arc(ir+Tn,Jn+Tn,Tn+Nt.outline/2,0,Math.PI*2),yt.stroke()):yt.strokeRect(ir-Nt.outline/2,Jn-Nt.outline/2,Rn+Nt.outline,Rn+Nt.outline))}),tn!==void 0}),tn!==void 0}),tn===void 0)return;const sn=()=>{yt.save(),yt.beginPath(),yt.rect(0,St,Et,xt-St-Kt),yt.clip(),tn?.(),yt.restore()};return sn(),sn}function clipHeaderDamage(yt,Et,xt,vt,bt,At,Ft,Ct,wt){wt===void 0||wt.size===0||(yt.beginPath(),walkGroups(Et,xt,At,vt,(St,Tt,Rt,Pt,Lt,kt)=>{wt.hasItemInRectangle({x:St[0],y:-2,width:St[1]-St[0]+1,height:1})&&yt.rect(Rt,Pt,Lt,kt)}),walkColumns(Et,Ct,At,Ft,bt,(St,Tt,Rt,Pt)=>{const Lt=Math.max(0,Pt-Tt),kt=Tt+Lt+1,Ot=St.width-Lt-1;wt.has([St.sourceIndex,-1])&&yt.rect(kt,vt,Ot,bt-vt)}),yt.clip())}function getLastRow(yt,Et,xt,vt,bt,At,Ft,Ct,wt,St){let Tt=0;return walkColumns(yt,At,vt,bt,xt,(Rt,Pt,Lt,kt,Ot)=>(walkRowsInCol(Ot,Lt,Et,Ft,Ct,wt,St,void 0,(Mt,It,Nt,Ut)=>{Ut||(Tt=Math.max(It,Tt))}),!0)),Tt}function drawGrid(yt,Et){const{canvasCtx:xt,headerCanvasCtx:vt,width:bt,height:At,cellXOffset:Ft,cellYOffset:Ct,translateX:wt,translateY:St,mappedColumns:Tt,enableGroups:Rt,freezeColumns:Pt,dragAndDropState:Lt,theme:kt,drawFocus:Ot,headerHeight:Mt,groupHeaderHeight:It,disabledRows:Nt,rowHeight:Ut,verticalBorder:jt,overrideCursor:Vt,isResizing:zt,selection:Ht,fillHandle:Wt,freezeTrailingRows:Gt,rows:qt,getCellContent:Xt,getGroupDetails:Kt,getRowThemeOverride:Jt,isFocused:tn,drawHeaderCallback:sn,prelightCells:Zt,drawCellCallback:nn,highlightRegions:rn,resizeCol:on,imageLoader:ln,lastBlitData:Qt,hoverValues:fn,hyperWrapping:pn,hoverInfo:mn,spriteManager:vn,maxScaleFactor:yn,hasAppendRow:xn,touchMode:Mn,enqueue:$n,renderStateProvider:Rn,getCellRenderer:Tn,renderStrategy:ir,bufferACtx:Jn,bufferBCtx:jn,damage:Wn,minimumCellWidth:br,resizeIndicator:Fr}=yt;if(bt===0||At===0)return;const Cr=ir==="double-buffer",dr=Math.min(yn,Math.ceil(window.devicePixelRatio??1)),_r=ir!=="direct"&&computeCanBlit(yt,Et),pr=xt.canvas;(pr.width!==bt*dr||pr.height!==At*dr)&&(pr.width=bt*dr,pr.height=At*dr,pr.style.width=bt+"px",pr.style.height=At+"px");const wr=vt.canvas,xr=Rt?It+Mt:Mt,Dr=xr+1;(wr.width!==bt*dr||wr.height!==Dr*dr)&&(wr.width=bt*dr,wr.height=Dr*dr,wr.style.width=bt+"px",wr.style.height=Dr+"px");const ar=Jn.canvas,Qn=jn.canvas;Cr&&(ar.width!==bt*dr||ar.height!==At*dr)&&(ar.width=bt*dr,ar.height=At*dr,Qt.current!==void 0&&(Qt.current.aBufferScroll=void 0)),Cr&&(Qn.width!==bt*dr||Qn.height!==At*dr)&&(Qn.width=bt*dr,Qn.height=At*dr,Qt.current!==void 0&&(Qt.current.bBufferScroll=void 0));const Cn=Qt.current;if(_r===!0&&Ft===Cn?.cellXOffset&&Ct===Cn?.cellYOffset&&wt===Cn?.translateX&&St===Cn?.translateY)return;let Bn=null;Cr&&(Bn=xt);const In=vt;let or;Cr?Wn!==void 0?or=Cn?.lastBuffer==="b"?jn:Jn:or=Cn?.lastBuffer==="b"?Jn:jn:or=xt;const rr=or.canvas,vr=Cr?rr===ar?Qn:ar:pr,cr=typeof Ut=="number"?()=>Ut:Ut;In.save(),or.save(),In.beginPath(),or.beginPath(),In.textBaseline="middle",or.textBaseline="middle",dr!==1&&(In.scale(dr,dr),or.scale(dr,dr));const gn=getEffectiveColumns(Tt,Ft,bt,Lt,wt);let wn=[];const Xn=Ot&&Ht.current?.cell[1]===Ct&&St===0;let tr=!1;if(rn!==void 0){for(const hr of rn)if(hr.style!=="no-outline"&&hr.range.y===Ct&&St===0){tr=!0;break}}const Hn=()=>{drawGridHeaders(In,gn,Rt,mn,bt,wt,Mt,It,Lt,zt,Ht,kt,vn,fn,jt,Kt,Wn,sn,Mn),drawGridLines(In,gn,Ct,wt,St,bt,At,void 0,void 0,It,xr,cr,Jt,jt,Gt,qt,kt,!0),In.beginPath(),In.moveTo(0,Dr-.5),In.lineTo(bt,Dr-.5),In.strokeStyle=blend(kt.headerBottomBorderColor??kt.horizontalBorderColor??kt.borderColor,kt.bgHeader),In.stroke(),tr&&drawHighlightRings(In,bt,At,Ft,Ct,wt,St,Tt,Pt,Mt,It,Ut,Gt,qt,rn,kt),Xn&&drawFillHandle(In,bt,At,Ct,wt,St,gn,Tt,kt,xr,Ht,cr,Xt,Gt,xn,Wt,qt)};if(Wn!==void 0){const hr=gn[gn.length-1].sourceIndex+1,An=Wn.hasItemInRegion([{x:Ft,y:-2,width:hr,height:2},{x:Ft,y:Ct,width:hr,height:300},{x:0,y:Ct,width:Pt,height:300},{x:0,y:-2,width:Pt,height:2},{x:Ft,y:qt-Gt,width:hr,height:Gt,when:Gt>0}]),nr=gr=>{drawCells(gr,gn,Tt,At,xr,wt,St,Ct,qt,cr,Xt,Kt,Jt,Nt,tn,Ot,Gt,xn,wn,Wn,Ht,Zt,rn,ln,vn,fn,mn,nn,pn,kt,$n,Rn,Tn,Vt,br);const ii=Ht.current;Wt!==!1&&Wt!==void 0&&Ot&&ii!==void 0&&Wn.has(rectBottomRight(ii.range))&&drawFillHandle(gr,bt,At,Ct,wt,St,gn,Tt,kt,xr,Ht,cr,Xt,Gt,xn,Wt,qt)};An&&(nr(or),Bn!==null&&(Bn.save(),Bn.scale(dr,dr),Bn.textBaseline="middle",nr(Bn),Bn.restore()),Wn.hasHeader()&&(clipHeaderDamage(In,gn,bt,It,xr,wt,St,Ct,Wn),Hn())),or.restore(),In.restore();return}if((_r!==!0||Ft!==Cn?.cellXOffset||wt!==Cn?.translateX||Xn!==Cn?.mustDrawFocusOnHeader||tr!==Cn?.mustDrawHighlightRingsOnHeader)&&Hn(),_r===!0){assert(vr!==void 0&&Cn!==void 0);const{regions:hr}=blitLastFrame(or,vr,vr===ar?Cn.aBufferScroll:Cn.bBufferScroll,vr===ar?Cn.bBufferScroll:Cn.aBufferScroll,Cn,Ft,Ct,wt,St,Gt,bt,At,qt,xr,dr,Tt,gn,Ut,Cr);wn=hr}else _r!==!1&&(assert(Cn!==void 0),wn=blitResizedCol(Cn,Ft,Ct,wt,St,bt,At,xr,gn,_r));overdrawStickyBoundaries(or,gn,bt,At,Gt,qt,jt,cr,kt);const Kn=drawHighlightRings(or,bt,At,Ft,Ct,wt,St,Tt,Pt,Mt,It,Ut,Gt,qt,rn,kt),_n=Ot?drawFillHandle(or,bt,At,Ct,wt,St,gn,Tt,kt,xr,Ht,cr,Xt,Gt,xn,Wt,qt):void 0;if(or.fillStyle=kt.bgCell,wn.length>0){or.beginPath();for(const hr of wn)or.rect(hr.x,hr.y,hr.width,hr.height);or.clip(),or.fill(),or.beginPath()}else or.fillRect(0,0,bt,At);const yr=drawCells(or,gn,Tt,At,xr,wt,St,Ct,qt,cr,Xt,Kt,Jt,Nt,tn,Ot,Gt,xn,wn,Wn,Ht,Zt,rn,ln,vn,fn,mn,nn,pn,kt,$n,Rn,Tn,Vt,br);drawBlanks(or,gn,Tt,bt,At,xr,wt,St,Ct,qt,cr,Jt,Ht.rows,Nt,Gt,xn,wn,Wn,kt),drawExtraRowThemes(or,gn,Ct,wt,St,bt,At,wn,xr,cr,Jt,jt,Gt,qt,kt),drawGridLines(or,gn,Ct,wt,St,bt,At,wn,yr,It,xr,cr,Jt,jt,Gt,qt,kt),Kn?.(),_n?.(),zt&&Fr!=="none"&&walkColumns(gn,0,wt,0,xr,(hr,An)=>hr.sourceIndex===on?(drawColumnResizeOutline(In,An+hr.width,0,xr+1,blend(kt.resizeIndicatorColor??kt.accentLight,kt.bgHeader)),Fr==="full"&&drawColumnResizeOutline(or,An+hr.width,xr,At,blend(kt.resizeIndicatorColor??kt.accentLight,kt.bgCell)),!0):!1),Bn!==null&&(Bn.fillStyle=kt.bgCell,Bn.fillRect(0,0,bt,At),Bn.drawImage(or.canvas,0,0));const Or=getLastRow(gn,At,xr,wt,St,Ct,qt,cr,Gt,xn);ln?.setWindow({x:Ft,y:Ct,width:gn.length,height:Or-Ct},Pt,Array.from({length:Gt},(hr,An)=>qt-1-An));const hn=Cn!==void 0&&(Ft!==Cn.cellXOffset||wt!==Cn.translateX),Ar=Cn!==void 0&&(Ct!==Cn.cellYOffset||St!==Cn.translateY);Qt.current={cellXOffset:Ft,cellYOffset:Ct,translateX:wt,translateY:St,mustDrawFocusOnHeader:Xn,mustDrawHighlightRingsOnHeader:tr,lastBuffer:Cr?rr===ar?"a":"b":void 0,aBufferScroll:rr===ar?[hn,Ar]:Cn?.aBufferScroll,bBufferScroll:rr===Qn?[hn,Ar]:Cn?.bBufferScroll},or.restore(),In.restore()}const hoverTime=80;function easeOutCubic(yt){const Et=yt-1;return Et*Et*Et+1}class AnimationManager{callback;constructor(Et){this.callback=Et}currentHoveredItem=void 0;leavingItems=[];lastAnimationTime;addToLeavingItems=Et=>{this.leavingItems.some(vt=>itemsAreEqual(vt.item,Et.item))||this.leavingItems.push(Et)};removeFromLeavingItems=Et=>{const xt=this.leavingItems.find(vt=>itemsAreEqual(vt.item,Et));return this.leavingItems=this.leavingItems.filter(vt=>vt!==xt),xt?.hoverAmount??0};cleanUpLeavingElements=()=>{this.leavingItems=this.leavingItems.filter(Et=>Et.hoverAmount>0)};shouldStep=()=>{const Et=this.leavingItems.length>0,xt=this.currentHoveredItem!==void 0&&this.currentHoveredItem.hoverAmount<1;return Et||xt};getAnimatingItems=()=>this.currentHoveredItem!==void 0?[...this.leavingItems,this.currentHoveredItem]:this.leavingItems.map(Et=>({...Et,hoverAmount:easeOutCubic(Et.hoverAmount)}));step=Et=>{if(this.lastAnimationTime===void 0)this.lastAnimationTime=Et;else{const vt=(Et-this.lastAnimationTime)/hoverTime;for(const At of this.leavingItems)At.hoverAmount=clamp$1(At.hoverAmount-vt,0,1);this.currentHoveredItem!==void 0&&(this.currentHoveredItem.hoverAmount=clamp$1(this.currentHoveredItem.hoverAmount+vt,0,1));const bt=this.getAnimatingItems();this.callback(bt),this.cleanUpLeavingElements()}this.shouldStep()?(this.lastAnimationTime=Et,window.requestAnimationFrame(this.step)):this.lastAnimationTime=void 0};setHovered=Et=>{if(!itemsAreEqual(this.currentHoveredItem?.item,Et)){if(this.currentHoveredItem!==void 0&&this.addToLeavingItems(this.currentHoveredItem),Et!==void 0){const xt=this.removeFromLeavingItems(Et);this.currentHoveredItem={item:Et,hoverAmount:xt}}else this.currentHoveredItem=void 0;this.lastAnimationTime===void 0&&window.requestAnimationFrame(this.step)}}}class Lazy{fn;val;constructor(Et){this.fn=Et}get value(){return this.val??(this.val=this.fn())}}function lazy(yt){return new Lazy(yt)}const browserIsFirefox=lazy(()=>window.navigator.userAgent.includes("Firefox")),browserIsSafari=lazy(()=>window.navigator.userAgent.includes("Mac OS")&&window.navigator.userAgent.includes("Safari")&&!window.navigator.userAgent.includes("Chrome")),browserIsOSX=lazy(()=>window.navigator.platform.toLowerCase().startsWith("mac"));function useAnimationQueue(yt){const Et=reactExports.useRef([]),xt=reactExports.useRef(0),vt=reactExports.useRef(yt);vt.current=yt;const bt=reactExports.useCallback(()=>{const At=()=>window.requestAnimationFrame(Ft),Ft=()=>{const Ct=Et.current.map(unpackNumberToColRow);Et.current=[],vt.current(new CellSet(Ct)),Et.current.length>0?xt.current++:xt.current=0};window.requestAnimationFrame(xt.current>600?At:Ft)},[]);return reactExports.useCallback(At=>{Et.current.length===0&&bt();const Ft=packColRowToNumber(At[0],At[1]);Et.current.includes(Ft)||Et.current.push(Ft)},[bt])}const headerKind="header",groupHeaderKind="group-header",outOfBoundsKind="out-of-bounds";var OutOfBoundsRegionAxis;(function(yt){yt[yt.Start=-2]="Start",yt[yt.StartPadding=-1]="StartPadding",yt[yt.Center=0]="Center",yt[yt.EndPadding=1]="EndPadding",yt[yt.End=2]="End"})(OutOfBoundsRegionAxis||(OutOfBoundsRegionAxis={}));function mouseEventArgsAreEqual(yt,Et){return yt===Et?!0:yt?.kind==="out-of-bounds"?yt?.kind===Et?.kind&&yt?.location[0]===Et?.location[0]&&yt?.location[1]===Et?.location[1]&&yt?.region[0]===Et?.region[0]&&yt?.region[1]===Et?.region[1]:yt?.kind===Et?.kind&&yt?.location[0]===Et?.location[0]&&yt?.location[1]===Et?.location[1]}const getRowData=(yt,Et)=>yt.kind===GridCellKind.Custom?yt.copyData:Et?.(yt)?.getAccessibilityString(yt)??"",DataGrid=(yt,Et)=>{const{width:xt,height:vt,accessibilityHeight:bt,columns:At,cellXOffset:Ft,cellYOffset:Ct,headerHeight:wt,fillHandle:St=!1,groupHeaderHeight:Tt,rowHeight:Rt,rows:Pt,getCellContent:Lt,getRowThemeOverride:kt,onHeaderMenuClick:Ot,onHeaderIndicatorClick:Mt,enableGroups:It,isFilling:Nt,onCanvasFocused:Ut,onCanvasBlur:jt,isFocused:Vt,selection:zt,freezeColumns:Ht,onContextMenu:Wt,freezeTrailingRows:Gt,fixedShadowX:qt=!0,fixedShadowY:Xt=!0,drawFocusRing:Kt,onMouseDown:Jt,onMouseUp:tn,onMouseMoveRaw:sn,onMouseMove:Zt,onItemHovered:nn,dragAndDropState:rn,firstColAccessible:on,onKeyDown:ln,onKeyUp:Qt,highlightRegions:fn,canvasRef:pn,onDragStart:mn,onDragEnd:vn,eventTargetRef:yn,isResizing:xn,resizeColumn:Mn,isDragging:$n,isDraggable:Rn=!1,allowResize:Tn,disabledRows:ir,hasAppendRow:Jn,getGroupDetails:jn,theme:Wn,prelightCells:br,headerIcons:Fr,verticalBorder:Cr,drawCell:dr,drawHeader:_r,onCellFocused:pr,onDragOverCell:wr,onDrop:xr,onDragLeave:Dr,imageWindowLoader:ar,smoothScrollX:Qn=!1,smoothScrollY:Cn=!1,experimental:Bn,getCellRenderer:In,resizeIndicator:or="full"}=yt,rr=yt.translateX??0,vr=yt.translateY??0,cr=Math.max(Ht,Math.min(At.length-1,Ft)),gn=reactExports.useRef(null),wn=reactExports.useRef(Bn?.eventTarget??window),Xn=wn.current,tr=ar,Hn=reactExports.useRef(),[Kn,_n]=reactExports.useState(!1),yr=reactExports.useRef([]),Or=reactExports.useRef(),[hn,Ar]=reactExports.useState(),[hr,An]=reactExports.useState(),nr=reactExports.useRef(null),[gr,ii]=reactExports.useState(),[ti,di]=reactExports.useState(!1),Bi=reactExports.useRef(ti);Bi.current=ti;const as=reactExports.useMemo(()=>new SpriteManager(Fr,()=>{ws.current=void 0,Ja.current()}),[Fr]),ki=It?Tt+wt:wt,Xi=reactExports.useRef(-1),_i=(Bn?.enableFirefoxRescaling??!1)&&browserIsFirefox.value,ci=(Bn?.enableSafariRescaling??!1)&&browserIsSafari.value;reactExports.useLayoutEffect(()=>{window.devicePixelRatio===1||!_i&&!ci||(Xi.current!==-1&&_n(!0),window.clearTimeout(Xi.current),Xi.current=window.setTimeout(()=>{_n(!1),Xi.current=-1},200))},[Ct,cr,rr,vr,_i,ci]);const xi=useMappedColumns(At,Ht),mi=reactExports.useMemo(()=>qt?getStickyWidth(xi,rn):0,[xi,rn,qt]),wi=reactExports.useCallback((Un,pi,zi)=>{const Zi=Un.getBoundingClientRect();if(pi>=xi.length||zi>=Pt)return;const bi=Zi.width/xt,Fi=computeBounds(pi,zi,xt,vt,Tt,ki,cr,Ct,rr,vr,Pt,Ht,Gt,xi,Rt);return bi!==1&&(Fi.x*=bi,Fi.y*=bi,Fi.width*=bi,Fi.height*=bi),Fi.x+=Zi.x,Fi.y+=Zi.y,Fi},[xt,vt,Tt,ki,cr,Ct,rr,vr,Pt,Ht,Gt,xi,Rt]),vi=reactExports.useCallback((Un,pi,zi,Zi)=>{const bi=Un.getBoundingClientRect(),Fi=bi.width/xt,ts=(pi-bi.left)/Fi,Gi=(zi-bi.top)/Fi,hs=5,Rs=getEffectiveColumns(xi,cr,xt,void 0,rr);let vo=0,go=0;const ms=typeof PointerEvent<"u"&&Zi instanceof PointerEvent&&Zi.pointerType==="mouse"||typeof MouseEvent<"u"&&Zi instanceof MouseEvent,Ii=typeof PointerEvent<"u"&&Zi instanceof PointerEvent&&Zi.pointerType==="touch"||typeof TouchEvent<"u"&&Zi instanceof TouchEvent;ms&&(vo=Zi.button,go=Zi.buttons);const Ui=getColumnIndexForX(ts,Rs,rr),Fs=getRowIndexForY(Gi,vt,It,wt,Tt,Pt,Rt,Ct,vr,Gt),Ws=Zi?.shiftKey===!0,Ba=Zi?.ctrlKey===!0,ua=Zi?.metaKey===!0,Oo=[ts<0?-1:xt<ts?1:0,Gi<ki?-1:vt<Gi?1:0];let jo;if(Ui===-1||Gi<0||ts<0||Fs===void 0||ts>xt||Gi>vt){const qs=ts>xt?1:ts<0?-1:0,Ya=Gi>vt?1:Gi<0?-1:0;let Yo=qs*2,wl=Ya*2;qs===0&&(Yo=Ui===-1?OutOfBoundsRegionAxis.EndPadding:OutOfBoundsRegionAxis.Center),Ya===0&&(wl=Fs===void 0?OutOfBoundsRegionAxis.EndPadding:OutOfBoundsRegionAxis.Center);let cl=!1;if(Ui===-1&&Fs===-1){const Po=wi(Un,xi.length-1,-1);assert(Po!==void 0),cl=pi<Po.x+Po.width+hs}const As=ts>xt&&ts<xt+getScrollBarWidth()||Gi>vt&&Gi<vt+getScrollBarWidth();jo={kind:outOfBoundsKind,location:[Ui!==-1?Ui:ts<0?0:xi.length-1,Fs??Pt-1],region:[Yo,wl],shiftKey:Ws,ctrlKey:Ba,metaKey:ua,isEdge:cl,isTouch:Ii,button:vo,buttons:go,scrollEdge:Oo,isMaybeScrollbar:As}}else if(Fs<=-1){let qs=wi(Un,Ui,Fs);assert(qs!==void 0);let Ya=qs!==void 0&&qs.x+qs.width-pi<=hs;const Yo=Ui-1;pi-qs.x<=hs&&Yo>=0?(Ya=!0,qs=wi(Un,Yo,Fs),assert(qs!==void 0),jo={kind:It&&Fs===-2?groupHeaderKind:headerKind,location:[Yo,Fs],bounds:qs,group:xi[Yo].group??"",isEdge:Ya,shiftKey:Ws,ctrlKey:Ba,metaKey:ua,isTouch:Ii,localEventX:pi-qs.x,localEventY:zi-qs.y,button:vo,buttons:go,scrollEdge:Oo}):jo={kind:It&&Fs===-2?groupHeaderKind:headerKind,group:xi[Ui].group??"",location:[Ui,Fs],bounds:qs,isEdge:Ya,shiftKey:Ws,ctrlKey:Ba,metaKey:ua,isTouch:Ii,localEventX:pi-qs.x,localEventY:zi-qs.y,button:vo,buttons:go,scrollEdge:Oo}}else{const qs=wi(Un,Ui,Fs);assert(qs!==void 0);const Ya=qs!==void 0&&qs.x+qs.width-pi<hs;let Yo=!1;if(St!==!1&&St!==void 0&&zt.current!==void 0){const cl=typeof St=="object"?{...DEFAULT_FILL_HANDLE,...St}:DEFAULT_FILL_HANDLE,As=cl.size,Po=As/2,da=rectBottomRight(zt.current.range),nl=wi(Un,da[0],da[1]);if(nl!==void 0){const uo=nl.x+nl.width+cl.offsetX-Po+.5,Ls=nl.y+nl.height+cl.offsetY-Po+.5;Yo=Math.abs(uo-pi)<As&&Math.abs(Ls-zi)<As}}jo={kind:"cell",location:[Ui,Fs],bounds:qs,isEdge:Ya,shiftKey:Ws,ctrlKey:Ba,isFillHandle:Yo,metaKey:ua,isTouch:Ii,localEventX:pi-qs.x,localEventY:zi-qs.y,button:vo,buttons:go,scrollEdge:Oo}}return jo},[xt,xi,cr,rr,vt,It,wt,Tt,Pt,Rt,Ct,vr,Gt,wi,St,zt,ki]),[qi]=hn??[],ji=reactExports.useRef(()=>{}),Ni=reactExports.useRef(hn);Ni.current=hn;const[ls,xs]=reactExports.useMemo(()=>{const Un=document.createElement("canvas"),pi=document.createElement("canvas");return Un.style.display="none",Un.style.opacity="0",Un.style.position="fixed",pi.style.display="none",pi.style.opacity="0",pi.style.position="fixed",[Un.getContext("2d",{alpha:!1}),pi.getContext("2d",{alpha:!1})]},[]);reactExports.useLayoutEffect(()=>{if(!(ls===null||xs===null))return document.documentElement.append(ls.canvas),document.documentElement.append(xs.canvas),()=>{ls.canvas.remove(),xs.canvas.remove()}},[ls,xs]);const $s=reactExports.useMemo(()=>new RenderStateProvider,[]),Is=_i&&Kn?1:ci&&Kn?2:5,Hs=Bn?.disableMinimumCellWidth===!0?1:10,ws=reactExports.useRef(),Es=reactExports.useRef(null),Ds=reactExports.useRef(null),Fa=reactExports.useCallback(()=>{const Un=gn.current,pi=nr.current;if(Un===null||pi===null||(Es.current===null&&(Es.current=Un.getContext("2d",{alpha:!1}),Un.width=0,Un.height=0),Ds.current===null&&(Ds.current=pi.getContext("2d",{alpha:!1}),pi.width=0,pi.height=0),Es.current===null||Ds.current===null||ls===null||xs===null))return;let zi=!1;const Zi=ts=>{zi=!0,ii(ts)},bi=ws.current,Fi={headerCanvasCtx:Ds.current,canvasCtx:Es.current,bufferACtx:ls,bufferBCtx:xs,width:xt,height:vt,cellXOffset:cr,cellYOffset:Ct,translateX:Math.round(rr),translateY:Math.round(vr),mappedColumns:xi,enableGroups:It,freezeColumns:Ht,dragAndDropState:rn,theme:Wn,headerHeight:wt,groupHeaderHeight:Tt,disabledRows:ir??CompactSelection.empty(),rowHeight:Rt,verticalBorder:Cr,isResizing:xn,resizeCol:Mn,isFocused:Vt,selection:zt,fillHandle:St,drawCellCallback:dr,hasAppendRow:Jn,overrideCursor:Zi,maxScaleFactor:Is,freezeTrailingRows:Gt,rows:Pt,drawFocus:Kt,getCellContent:Lt,getGroupDetails:jn??(ts=>({name:ts})),getRowThemeOverride:kt,drawHeaderCallback:_r,prelightCells:br,highlightRegions:fn,imageLoader:tr,lastBlitData:Or,damage:Hn.current,hoverValues:yr.current,hoverInfo:Ni.current,spriteManager:as,scrolling:Kn,hyperWrapping:Bn?.hyperWrapping??!1,touchMode:ti,enqueue:ji.current,renderStateProvider:$s,renderStrategy:Bn?.renderStrategy??(browserIsSafari.value?"double-buffer":"single-buffer"),getCellRenderer:In,minimumCellWidth:Hs,resizeIndicator:or};Fi.damage===void 0?(ws.current=Fi,drawGrid(Fi,bi)):drawGrid(Fi,void 0),!zi&&(Fi.damage===void 0||Fi.damage.has(Ni?.current?.[0]))&&ii(void 0)},[ls,xs,xt,vt,cr,Ct,rr,vr,xi,It,Ht,rn,Wn,wt,Tt,ir,Rt,Cr,xn,Jn,Mn,Vt,zt,St,Gt,Pt,Kt,Is,Lt,jn,kt,dr,_r,br,fn,tr,as,Kn,Bn?.hyperWrapping,Bn?.renderStrategy,ti,$s,In,Hs,or]),Ja=reactExports.useRef(Fa);reactExports.useLayoutEffect(()=>{Fa(),Ja.current=Fa},[Fa]),reactExports.useLayoutEffect(()=>{(async()=>document?.fonts?.ready!==void 0&&(await document.fonts.ready,ws.current=void 0,Ja.current()))()},[]);const oa=reactExports.useCallback(Un=>{Hn.current=Un,Ja.current(),Hn.current=void 0},[]),aa=useAnimationQueue(oa);ji.current=aa;const Mi=reactExports.useCallback(Un=>{oa(new CellSet(Un.map(pi=>pi.cell)))},[oa]);tr.setCallback(oa);const[Wa,Wi]=reactExports.useState(!1),[Mo,ys]=qi??[],Va=Mo!==void 0&&ys===-1&&Mo>=0&&Mo<xi.length&&xi[Mo].headerRowMarkerDisabled!==!0,io=Mo!==void 0&&ys===-2;let Fo=!1,_o=!1,lo=gr;if(lo===void 0&&Mo!==void 0&&ys!==void 0&&ys>-1&&ys<Pt){const Un=Lt([Mo,ys],!0);Fo=Un.kind===InnerGridCellKind.NewRow||Un.kind===InnerGridCellKind.Marker&&Un.markerKind!=="number",_o=Un.kind===GridCellKind.Boolean&&booleanCellIsEditable(Un),lo=Un.cursor}const Cl=$n?"grabbing":(hr??!1)||xn?"col-resize":Wa||Nt?"crosshair":lo!==void 0?lo:Va||Fo||_o||io?"pointer":"default",ea=reactExports.useMemo(()=>({contain:"strict",display:"block",cursor:Cl}),[Cl]),ma=reactExports.useRef("default"),cs=yn?.current;cs!=null&&ma.current!==ea.cursor&&(cs.style.cursor=ma.current=ea.cursor);const wa=reactExports.useCallback((Un,pi,zi,Zi)=>{if(jn===void 0)return;const bi=jn(Un);if(bi.actions!==void 0){const Fi=getActionBoundsForGroup(pi,bi.actions);for(const[ts,Gi]of Fi.entries())if(pointInRect(Gi,zi+pi.x,Zi+Gi.y))return bi.actions[ts]}},[jn]),la=reactExports.useCallback((Un,pi,zi,Zi)=>{const bi=xi[pi];if(!$n&&!xn&&!(hr??!1)){const Fi=wi(Un,pi,-1);assert(Fi!==void 0);const ts=computeHeaderLayout(void 0,bi,Fi.x,Fi.y,Fi.width,Fi.height,Wn,direction(bi.title)==="rtl");if(bi.hasMenu===!0&&ts.menuBounds!==void 0&&pointInRect(ts.menuBounds,zi,Zi))return{area:"menu",bounds:ts.menuBounds};if(bi.indicatorIcon!==void 0&&ts.indicatorIconBounds!==void 0&&pointInRect(ts.indicatorIconBounds,zi,Zi))return{area:"indicator",bounds:ts.indicatorIconBounds}}},[xi,wi,hr,$n,xn,Wn]),Sa=reactExports.useRef(0),Io=reactExports.useRef(),xo=reactExports.useRef(!1),Ga=reactExports.useCallback(Un=>{const pi=gn.current,zi=yn?.current;if(pi===null||Un.target!==pi&&Un.target!==zi)return;xo.current=!0;const Zi=Un.clientX,bi=Un.clientY;if(Un.target===zi&&zi!==null){const ts=zi.getBoundingClientRect();if(Zi>ts.right||bi>ts.bottom)return}const Fi=vi(pi,Zi,bi,Un);Io.current=Fi.location,Fi.isTouch&&(Sa.current=Date.now()),Bi.current!==Fi.isTouch&&di(Fi.isTouch),!(Fi.kind===headerKind&&la(pi,Fi.location[0],Zi,bi)!==void 0)&&(Fi.kind===groupHeaderKind&&wa(Fi.group,Fi.bounds,Fi.localEventX,Fi.localEventY)!==void 0||(Jt?.(Fi),!Fi.isTouch&&Rn!==!0&&Rn!==Fi.kind&&Fi.button<3&&Fi.button!==1&&Un.preventDefault()))},[yn,Rn,vi,wa,la,Jt]);useEventListener("pointerdown",Ga,Xn,!1);const wo=reactExports.useRef(0),Fl=reactExports.useCallback(Un=>{const pi=wo.current;wo.current=Date.now();const zi=gn.current;if(xo.current=!1,tn===void 0||zi===null)return;const Zi=yn?.current,bi=Un.target!==zi&&Un.target!==Zi,Fi=Un.clientX,ts=Un.clientY,Gi=Un.pointerType==="mouse"?Un.button<3:!0;let hs=vi(zi,Fi,ts,Un);hs.isTouch&&Sa.current!==0&&Date.now()-Sa.current>500&&(hs={...hs,isLongTouch:!0}),pi!==0&&Date.now()-pi<(hs.isTouch?1e3:500)&&(hs={...hs,isDoubleClick:!0}),Bi.current!==hs.isTouch&&di(hs.isTouch),!bi&&Un.cancelable&&Gi&&Un.preventDefault();const[Rs]=hs.location,vo=la(zi,Rs,Fi,ts);if(hs.kind===headerKind&&vo!==void 0){(hs.button!==0||Io.current?.[0]!==Rs||Io.current?.[1]!==-1)&&tn(hs,!0);return}else if(hs.kind===groupHeaderKind){const go=wa(hs.group,hs.bounds,hs.localEventX,hs.localEventY);if(go!==void 0){hs.button===0&&go.onClick(hs);return}}tn(hs,bi)},[tn,yn,vi,la,wa]);useEventListener("pointerup",Fl,Xn,!1);const ca=reactExports.useCallback(Un=>{const pi=gn.current;if(pi===null)return;const zi=yn?.current,Zi=Un.target!==pi&&Un.target!==zi;let bi,Fi,ts=!0;Un instanceof MouseEvent?(bi=Un.clientX,Fi=Un.clientY,ts=Un.button<3):(bi=Un.changedTouches[0].clientX,Fi=Un.changedTouches[0].clientY);const Gi=vi(pi,bi,Fi,Un);Bi.current!==Gi.isTouch&&di(Gi.isTouch),!Zi&&Un.cancelable&&ts&&Un.preventDefault();const[hs]=Gi.location;if(Gi.kind===headerKind){const Rs=la(pi,hs,bi,Fi);Rs!==void 0&&Gi.button===0&&Io.current?.[0]===hs&&Io.current?.[1]===-1&&(Rs.area==="menu"?Ot?.(hs,Rs.bounds):Rs.area==="indicator"&&Mt?.(hs,Rs.bounds))}},[yn,vi,la,Ot,Mt]);useEventListener("click",ca,Xn,!1);const za=reactExports.useCallback(Un=>{const pi=gn.current,zi=yn?.current;if(pi===null||Un.target!==pi&&Un.target!==zi||Wt===void 0)return;const Zi=vi(pi,Un.clientX,Un.clientY,Un);Wt(Zi,()=>{Un.cancelable&&Un.preventDefault()})},[yn,vi,Wt]);useEventListener("contextmenu",za,yn?.current??null,!1);const Uo=reactExports.useCallback(Un=>{Hn.current=new CellSet(Un.map(pi=>pi.item)),yr.current=Un,Ja.current(),Hn.current=void 0},[]),Vi=reactExports.useMemo(()=>new AnimationManager(Uo),[Uo]),Os=reactExports.useRef(Vi);Os.current=Vi,reactExports.useLayoutEffect(()=>{const Un=Os.current;if(qi===void 0||qi[1]<0){Un.setHovered(qi);return}const pi=Lt(qi,!0),zi=In(pi),Zi=zi===void 0&&pi.kind===GridCellKind.Custom||zi?.needsHover!==void 0&&(typeof zi.needsHover=="boolean"?zi.needsHover:zi.needsHover(pi));Un.setHovered(Zi?qi:void 0)},[Lt,In,qi]);const bs=reactExports.useRef(),$o=reactExports.useCallback(Un=>{const pi=gn.current;if(pi===null)return;const zi=yn?.current,Zi=Un.target!==pi&&Un.target!==zi,bi=vi(pi,Un.clientX,Un.clientY,Un);if(bi.kind!=="out-of-bounds"&&Zi&&!xo.current&&!bi.isTouch)return;const Fi=(Gi,hs)=>{Ar(Rs=>Rs===Gi||Rs?.[0][0]===Gi?.[0][0]&&Rs?.[0][1]===Gi?.[0][1]&&(Rs?.[1][0]===Gi?.[1][0]&&Rs?.[1][1]===Gi?.[1][1]||!hs)?Rs:Gi)};if(!mouseEventArgsAreEqual(bi,bs.current))ii(void 0),nn?.(bi),Fi(bi.kind===outOfBoundsKind?void 0:[bi.location,[bi.localEventX,bi.localEventY]],!0),bs.current=bi;else if(bi.kind==="cell"||bi.kind===headerKind||bi.kind===groupHeaderKind){let Gi=!1,hs=!0;if(bi.kind==="cell"){const vo=Lt(bi.location);hs=In(vo)?.needsHoverPosition??vo.kind===GridCellKind.Custom,Gi=hs}else Gi=!0;const Rs=[bi.location,[bi.localEventX,bi.localEventY]];Fi(Rs,hs),Ni.current=Rs,Gi&&oa(new CellSet([bi.location]))}const ts=bi.location[0]>=(on?0:1);An(bi.kind===headerKind&&bi.isEdge&&ts&&Tn===!0),Wi(bi.kind==="cell"&&bi.isFillHandle),sn?.(Un),Zt(bi)},[yn,vi,on,Tn,sn,Zt,nn,Lt,In,oa]);useEventListener("pointermove",$o,Xn,!0);const al=reactExports.useCallback(Un=>{const pi=gn.current;if(pi===null)return;let zi,Zi;zt.current!==void 0&&(zi=wi(pi,zt.current.cell[0],zt.current.cell[1]),Zi=zt.current.cell),ln?.({bounds:zi,stopPropagation:()=>Un.stopPropagation(),preventDefault:()=>Un.preventDefault(),cancel:()=>{},ctrlKey:Un.ctrlKey,metaKey:Un.metaKey,shiftKey:Un.shiftKey,altKey:Un.altKey,key:Un.key,keyCode:Un.keyCode,rawEvent:Un,location:Zi})},[ln,zt,wi]),qo=reactExports.useCallback(Un=>{const pi=gn.current;if(pi===null)return;let zi,Zi;zt.current!==void 0&&(zi=wi(pi,zt.current.cell[0],zt.current.cell[1]),Zi=zt.current.cell),Qt?.({bounds:zi,stopPropagation:()=>Un.stopPropagation(),preventDefault:()=>Un.preventDefault(),cancel:()=>{},ctrlKey:Un.ctrlKey,metaKey:Un.metaKey,shiftKey:Un.shiftKey,altKey:Un.altKey,key:Un.key,keyCode:Un.keyCode,rawEvent:Un,location:Zi})},[Qt,zt,wi]),Da=reactExports.useCallback(Un=>{if(gn.current=Un,pn!==void 0&&(pn.current=Un),Bn?.eventTarget)wn.current=Bn.eventTarget;else if(Un===null)wn.current=window;else{const pi=Un.getRootNode();pi===document&&(wn.current=window),wn.current=pi}},[pn,Bn?.eventTarget]),qa=reactExports.useCallback(Un=>{const pi=gn.current;if(pi===null||Rn===!1||xn){Un.preventDefault();return}let zi,Zi;const bi=vi(pi,Un.clientX,Un.clientY);if(Rn!==!0&&bi.kind!==Rn){Un.preventDefault();return}const Fi=(go,ms)=>{zi=go,Zi=ms};let ts,Gi,hs;const Rs=(go,ms,Ii)=>{ts=go,Gi=ms,hs=Ii};let vo=!1;if(mn?.({...bi,setData:Fi,setDragImage:Rs,preventDefault:()=>vo=!0,defaultPrevented:()=>vo}),!vo&&zi!==void 0&&Zi!==void 0&&Un.dataTransfer!==null)if(Un.dataTransfer.setData(zi,Zi),Un.dataTransfer.effectAllowed="copyLink",ts!==void 0&&Gi!==void 0&&hs!==void 0)Un.dataTransfer.setDragImage(ts,Gi,hs);else{const[go,ms]=bi.location;if(ms!==void 0){const Ii=document.createElement("canvas"),Ui=wi(pi,go,ms);assert(Ui!==void 0);const Fs=Math.ceil(window.devicePixelRatio??1);Ii.width=Ui.width*Fs,Ii.height=Ui.height*Fs;const Ws=Ii.getContext("2d");Ws!==null&&(Ws.scale(Fs,Fs),Ws.textBaseline="middle",ms===-1?(Ws.font=Wn.headerFontFull,Ws.fillStyle=Wn.bgHeader,Ws.fillRect(0,0,Ii.width,Ii.height),drawHeader(Ws,0,0,Ui.width,Ui.height,xi[go],!1,Wn,!1,void 0,void 0,!1,0,as,_r,!1)):(Ws.font=Wn.baseFontFull,Ws.fillStyle=Wn.bgCell,Ws.fillRect(0,0,Ii.width,Ii.height),drawCell(Ws,Lt([go,ms]),0,ms,!1,!1,0,0,Ui.width,Ui.height,!1,Wn,Wn.bgCell,tr,as,1,void 0,!1,0,void 0,void 0,void 0,$s,In,()=>{}))),Ii.style.left="-100%",Ii.style.position="absolute",Ii.style.width=`${Ui.width}px`,Ii.style.height=`${Ui.height}px`,document.body.append(Ii),Un.dataTransfer.setDragImage(Ii,Ui.width/2,Ui.height/2),window.setTimeout(()=>{Ii.remove()},0)}}else Un.preventDefault()},[Rn,xn,vi,mn,wi,Wn,xi,as,_r,Lt,tr,$s,In]);useEventListener("dragstart",qa,yn?.current??null,!1,!1);const Ta=reactExports.useRef(),Zl=reactExports.useCallback(Un=>{const pi=gn.current;if(xr!==void 0&&Un.preventDefault(),pi===null||wr===void 0)return;const zi=vi(pi,Un.clientX,Un.clientY),[Zi,bi]=zi.location,Fi=Zi-(on?0:1),[ts,Gi]=Ta.current??[];(ts!==Fi||Gi!==bi)&&(Ta.current=[Fi,bi],wr([Fi,bi],Un.dataTransfer))},[on,vi,wr,xr]);useEventListener("dragover",Zl,yn?.current??null,!1,!1);const $l=reactExports.useCallback(()=>{Ta.current=void 0,vn?.()},[vn]);useEventListener("dragend",$l,yn?.current??null,!1,!1);const Ts=reactExports.useCallback(Un=>{const pi=gn.current;if(pi===null||xr===void 0)return;Un.preventDefault();const zi=vi(pi,Un.clientX,Un.clientY),[Zi,bi]=zi.location,Fi=Zi-(on?0:1);xr([Fi,bi],Un.dataTransfer)},[on,vi,xr]);useEventListener("drop",Ts,yn?.current??null,!1,!1);const To=reactExports.useCallback(()=>{Dr?.()},[Dr]);useEventListener("dragleave",To,yn?.current??null,!1,!1);const Ea=reactExports.useRef(zt);Ea.current=zt;const Kr=reactExports.useRef(null),gs=reactExports.useCallback(Un=>{gn.current===null||!gn.current.contains(document.activeElement)||(Un===null&&Ea.current.current!==void 0?pn?.current?.focus({preventScroll:!0}):Un!==null&&Un.focus({preventScroll:!0}),Kr.current=Un)},[pn]);reactExports.useImperativeHandle(Et,()=>({focus:()=>{const Un=Kr.current;Un===null||!document.contains(Un)?pn?.current?.focus({preventScroll:!0}):Un.focus({preventScroll:!0})},getBounds:(Un,pi)=>{if(!(pn===void 0||pn.current===null))return wi(pn.current,Un??0,pi??-1)},damage:Mi,getMouseArgsForPosition:(Un,pi,zi)=>{if(!(pn===void 0||pn.current===null))return vi(pn.current,Un,pi,zi)}}),[pn,Mi,wi,vi]);const Ra=reactExports.useRef(),po=useDebouncedMemo(()=>{if(xt<50||Bn?.disableAccessibilityTree===!0)return null;let Un=getEffectiveColumns(xi,cr,xt,rn,rr);const pi=on?0:-1;!on&&Un[0]?.sourceIndex===0&&(Un=Un.slice(1));const[zi,Zi]=zt.current?.cell??[],bi=zt.current?.range,Fi=Un.map(Gi=>Gi.sourceIndex),ts=range(Ct,Math.min(Pt,Ct+bt));return zi!==void 0&&Zi!==void 0&&!(Fi.includes(zi)&&ts.includes(Zi))&&gs(null),reactExports.createElement("table",{key:"access-tree",role:"grid","aria-rowcount":Pt+1,"aria-multiselectable":"true","aria-colcount":xi.length+pi},reactExports.createElement("thead",{role:"rowgroup"},reactExports.createElement("tr",{role:"row","aria-rowindex":1},Un.map(Gi=>reactExports.createElement("th",{role:"columnheader","aria-selected":zt.columns.hasIndex(Gi.sourceIndex),"aria-colindex":Gi.sourceIndex+1+pi,tabIndex:-1,onFocus:hs=>{if(hs.target!==Kr.current)return pr?.([Gi.sourceIndex,-1])},key:Gi.sourceIndex},Gi.title)))),reactExports.createElement("tbody",{role:"rowgroup"},ts.map(Gi=>reactExports.createElement("tr",{role:"row","aria-selected":zt.rows.hasIndex(Gi),key:Gi,"aria-rowindex":Gi+2},Un.map(hs=>{const Rs=hs.sourceIndex,vo=packColRowToNumber(Rs,Gi),go=zi===Rs&&Zi===Gi,ms=bi!==void 0&&Rs>=bi.x&&Rs<bi.x+bi.width&&Gi>=bi.y&&Gi<bi.y+bi.height,Ii=`glide-cell-${Rs}-${Gi}`,Ui=[Rs,Gi],Fs=Lt(Ui,!0);return reactExports.createElement("td",{key:vo,role:"gridcell","aria-colindex":Rs+1+pi,"aria-selected":ms,"aria-readonly":isInnerOnlyCell(Fs)||!isReadWriteCell(Fs),id:Ii,"data-testid":Ii,onClick:()=>{const Ws=pn?.current;if(Ws!=null)return ln?.({bounds:wi(Ws,Rs,Gi),cancel:()=>{},preventDefault:()=>{},stopPropagation:()=>{},ctrlKey:!1,key:"Enter",keyCode:13,metaKey:!1,shiftKey:!1,altKey:!1,rawEvent:void 0,location:Ui})},onFocusCapture:Ws=>{if(!(Ws.target===Kr.current||Ra.current?.[0]===Rs&&Ra.current?.[1]===Gi))return Ra.current=Ui,pr?.(Ui)},ref:go?gs:void 0,tabIndex:-1},getRowData(Fs,In))})))))},[xt,xi,cr,rn,rr,Pt,Ct,bt,zt,gs,Lt,pn,ln,wi,pr],200),el=Ht===0||!qt?0:cr>Ht?1:clamp$1(-rr/100,0,1),tl=-Ct*32+vr,ll=Xt?clamp$1(-tl/100,0,1):0,us=reactExports.useMemo(()=>{if(!el&&!ll)return null;const Un={position:"absolute",top:0,left:mi,width:xt-mi,height:vt,opacity:el,pointerEvents:"none",transition:Qn?void 0:"opacity 0.2s",boxShadow:"inset 13px 0 10px -13px rgba(0, 0, 0, 0.2)"},pi={position:"absolute",top:ki,left:0,width:xt,height:vt,opacity:ll,pointerEvents:"none",transition:Cn?void 0:"opacity 0.2s",boxShadow:"inset 0 13px 10px -13px rgba(0, 0, 0, 0.2)"};return reactExports.createElement(reactExports.Fragment,null,el>0&&reactExports.createElement("div",{id:"shadow-x",style:Un}),ll>0&&reactExports.createElement("div",{id:"shadow-y",style:pi}))},[el,ll,mi,xt,Qn,ki,vt,Cn]),si=reactExports.useMemo(()=>({position:"absolute",top:0,left:0}),[]);return reactExports.createElement(reactExports.Fragment,null,reactExports.createElement("canvas",{"data-testid":"data-grid-canvas",tabIndex:0,onKeyDown:al,onKeyUp:qo,onFocus:Ut,onBlur:jt,ref:Da,style:ea},po),reactExports.createElement("canvas",{ref:nr,style:si}),us)},DataGrid$1=reactExports.memo(reactExports.forwardRef(DataGrid));function offsetColumnSize(yt,Et,xt,vt){return clamp$1(Math.round(Et-(yt.growOffset??0)),Math.ceil(xt),Math.floor(vt))}const DataGridDnd=yt=>{const[Et,xt]=reactExports.useState(),[vt,bt]=reactExports.useState(),[At,Ft]=reactExports.useState(),[Ct,wt]=reactExports.useState(),[St,Tt]=reactExports.useState(!1),[Rt,Pt]=reactExports.useState(),[Lt,kt]=reactExports.useState(),[Ot,Mt]=reactExports.useState(),[It,Nt]=reactExports.useState(!1),[Ut,jt]=reactExports.useState(),{onHeaderMenuClick:Vt,onHeaderIndicatorClick:zt,getCellContent:Ht,onColumnMoved:Wt,onColumnResize:Gt,onColumnResizeStart:qt,onColumnResizeEnd:Xt,gridRef:Kt,maxColumnWidth:Jt,minColumnWidth:tn,onRowMoved:sn,lockColumns:Zt,onColumnProposeMove:nn,onMouseDown:rn,onMouseUp:on,onItemHovered:ln,onDragStart:Qt,canvasRef:fn}=yt,pn=(Gt??Xt??qt)!==void 0,{columns:mn,selection:vn}=yt,yn=vn.columns,xn=reactExports.useCallback(dr=>{const[_r,pr]=dr.location;At!==void 0&&Ct!==_r&&_r>=Zt?(Tt(!0),wt(_r)):Lt!==void 0&&pr!==void 0?(Nt(!0),Mt(Math.max(0,pr))):vt===void 0&&!St&&!It&&ln?.(dr)},[At,Lt,Ct,ln,Zt,vt,St,It]),Mn=Wt!==void 0,$n=reactExports.useCallback(dr=>{if(dr.button===0){const[_r,pr]=dr.location;if(dr.kind==="out-of-bounds"&&dr.isEdge&&pn){const wr=Kt?.current?.getBounds(mn.length-1,-1);wr!==void 0&&(xt(wr.x),bt(mn.length-1))}else if(dr.kind==="header"&&_r>=Zt){const wr=fn?.current;if(dr.isEdge&&pn&&wr){xt(dr.bounds.x),bt(_r);const Dr=wr.getBoundingClientRect().width/wr.offsetWidth,ar=dr.bounds.width/Dr;qt?.(mn[_r],ar,_r,ar+(mn[_r].growOffset??0))}else dr.kind==="header"&&Mn&&(Pt(dr.bounds.x),Ft(_r))}else dr.kind==="cell"&&Zt>0&&_r===0&&pr!==void 0&&sn!==void 0&&(jt(dr.bounds.y),kt(pr))}rn?.(dr)},[rn,pn,Zt,sn,Kt,mn,Mn,qt,fn]),Rn=reactExports.useCallback((dr,_r)=>{St||It||Vt?.(dr,_r)},[St,It,Vt]),Tn=reactExports.useCallback((dr,_r)=>{St||It||zt?.(dr,_r)},[St,It,zt]),ir=reactExports.useRef(-1),Jn=reactExports.useCallback(()=>{ir.current=-1,kt(void 0),Mt(void 0),jt(void 0),Nt(!1),Ft(void 0),wt(void 0),Pt(void 0),Tt(!1),bt(void 0),xt(void 0)},[]),jn=reactExports.useCallback((dr,_r)=>{if(dr.button===0){if(vt!==void 0){if(yn?.hasIndex(vt)===!0)for(const wr of yn){if(wr===vt)continue;const xr=mn[wr],Dr=offsetColumnSize(xr,ir.current,tn,Jt);Gt?.(xr,Dr,wr,Dr+(xr.growOffset??0))}const pr=offsetColumnSize(mn[vt],ir.current,tn,Jt);if(Xt?.(mn[vt],pr,vt,pr+(mn[vt].growOffset??0)),yn.hasIndex(vt))for(const wr of yn){if(wr===vt)continue;const xr=mn[wr],Dr=offsetColumnSize(xr,ir.current,tn,Jt);Xt?.(xr,Dr,wr,Dr+(xr.growOffset??0))}}Jn(),At!==void 0&&Ct!==void 0&&nn?.(At,Ct)!==!1&&Wt?.(At,Ct),Lt!==void 0&&Ot!==void 0&&sn?.(Lt,Ot)}on?.(dr,_r)},[on,vt,At,Ct,Lt,Ot,yn,Xt,mn,tn,Jt,Gt,Wt,sn,Jn,nn]),Wn=reactExports.useMemo(()=>{if(!(At===void 0||Ct===void 0)&&At!==Ct&&nn?.(At,Ct)!==!1)return{src:At,dest:Ct}},[At,Ct,nn]),br=reactExports.useCallback(dr=>{const _r=fn?.current;if(At!==void 0&&Rt!==void 0)Math.abs(dr.clientX-Rt)>20&&Tt(!0);else if(Lt!==void 0&&Ut!==void 0)Math.abs(dr.clientY-Ut)>20&&Nt(!0);else if(vt!==void 0&&Et!==void 0&&_r){const wr=_r.getBoundingClientRect().width/_r.offsetWidth,xr=(dr.clientX-Et)/wr,Dr=mn[vt],ar=offsetColumnSize(Dr,xr,tn,Jt);if(Gt?.(Dr,ar,vt,ar+(Dr.growOffset??0)),ir.current=xr,yn?.first()===vt)for(const Qn of yn){if(Qn===vt)continue;const Cn=mn[Qn],Bn=offsetColumnSize(Cn,ir.current,tn,Jt);Gt?.(Cn,Bn,Qn,Bn+(Cn.growOffset??0))}}},[At,Rt,Lt,Ut,vt,Et,mn,tn,Jt,Gt,yn,fn]),Fr=reactExports.useCallback((dr,_r)=>{if(Lt===void 0||Ot===void 0)return Ht(dr,_r);let[pr,wr]=dr;return wr===Ot?wr=Lt:(wr>Ot&&(wr-=1),wr>=Lt&&(wr+=1)),Ht([pr,wr],_r)},[Lt,Ot,Ht]),Cr=reactExports.useCallback(dr=>{Qt?.(dr),dr.defaultPrevented()||Jn()},[Jn,Qt]);return reactExports.createElement(DataGrid$1,{accessibilityHeight:yt.accessibilityHeight,canvasRef:yt.canvasRef,cellXOffset:yt.cellXOffset,cellYOffset:yt.cellYOffset,columns:yt.columns,disabledRows:yt.disabledRows,drawFocusRing:yt.drawFocusRing,drawHeader:yt.drawHeader,drawCell:yt.drawCell,enableGroups:yt.enableGroups,eventTargetRef:yt.eventTargetRef,experimental:yt.experimental,fillHandle:yt.fillHandle,firstColAccessible:yt.firstColAccessible,fixedShadowX:yt.fixedShadowX,fixedShadowY:yt.fixedShadowY,freezeColumns:yt.freezeColumns,getCellRenderer:yt.getCellRenderer,getGroupDetails:yt.getGroupDetails,getRowThemeOverride:yt.getRowThemeOverride,groupHeaderHeight:yt.groupHeaderHeight,headerHeight:yt.headerHeight,headerIcons:yt.headerIcons,height:yt.height,highlightRegions:yt.highlightRegions,imageWindowLoader:yt.imageWindowLoader,resizeColumn:vt,isDraggable:yt.isDraggable,isFilling:yt.isFilling,isFocused:yt.isFocused,onCanvasBlur:yt.onCanvasBlur,onCanvasFocused:yt.onCanvasFocused,onCellFocused:yt.onCellFocused,onContextMenu:yt.onContextMenu,onDragEnd:yt.onDragEnd,onDragLeave:yt.onDragLeave,onDragOverCell:yt.onDragOverCell,onDrop:yt.onDrop,onKeyDown:yt.onKeyDown,onKeyUp:yt.onKeyUp,onMouseMove:yt.onMouseMove,prelightCells:yt.prelightCells,rowHeight:yt.rowHeight,rows:yt.rows,selection:yt.selection,smoothScrollX:yt.smoothScrollX,smoothScrollY:yt.smoothScrollY,theme:yt.theme,freezeTrailingRows:yt.freezeTrailingRows,hasAppendRow:yt.hasAppendRow,translateX:yt.translateX,translateY:yt.translateY,resizeIndicator:yt.resizeIndicator,verticalBorder:yt.verticalBorder,width:yt.width,getCellContent:Fr,isResizing:vt!==void 0,onHeaderMenuClick:Rn,onHeaderIndicatorClick:Tn,isDragging:St,onItemHovered:xn,onDragStart:Cr,onMouseDown:$n,allowResize:pn,onMouseUp:jn,dragAndDropState:Wn,onMouseMoveRaw:br,ref:Kt})};function useResizeDetector(yt){const Et=reactExports.useRef(null),[xt,vt]=reactExports.useState({width:yt?.[0],height:yt?.[1]});return reactExports.useLayoutEffect(()=>{const bt=Ft=>{for(const Ct of Ft){const{width:wt,height:St}=Ct&&Ct.contentRect||{};vt(Tt=>Tt.width===wt&&Tt.height===St?Tt:{width:wt,height:St})}},At=new window.ResizeObserver(bt);return Et.current&&At.observe(Et.current,void 0),()=>{At.disconnect()}},[Et.current]),{ref:Et,...xt}}const useKineticScroll=(yt,Et,xt)=>{const vt=reactExports.useRef(null),bt=reactExports.useRef(null),At=reactExports.useRef(null),Ft=reactExports.useRef(0),Ct=reactExports.useRef(Et);Ct.current=Et;const wt=xt.current;reactExports.useEffect(()=>{const St=()=>{if(bt.current===!1&&wt!==null){const Pt=[wt.scrollLeft,wt.scrollTop];if(At.current?.[0]===Pt[0]&&At.current?.[1]===Pt[1])if(Ft.current>10){At.current=null,bt.current=null;return}else Ft.current++;else Ft.current=0,Ct.current(Pt[0],Pt[1]),At.current=Pt;vt.current=window.setTimeout(St,8.333333333333334)}},Tt=()=>{bt.current=!0,At.current=null,vt.current!==null&&(window.clearTimeout(vt.current),vt.current=null)},Rt=Pt=>{Pt.touches.length===0&&(bt.current=!1,Ft.current=0,vt.current=window.setTimeout(St,8.333333333333334))};if(yt&&wt!==null){const Pt=wt;return Pt.addEventListener("touchstart",Tt),Pt.addEventListener("touchend",Rt),()=>{Pt.removeEventListener("touchstart",Tt),Pt.removeEventListener("touchend",Rt),vt.current!==null&&window.clearTimeout(vt.current)}}},[yt,wt])},_exp$3=()=>yt=>yt.isSafari?"scroll":"auto",ScrollRegionStyle=styled_default("div")({name:"ScrollRegionStyle",class:"gdg-s1dgczr6",propsAsIs:!1,vars:{"s1dgczr6-0":[_exp$3()]}}),BROWSER_MAX_DIV_HEIGHT=33554400,MAX_PADDER_SEGMENT_HEIGHT=5e6;function useTouchUpDelayed(yt){const[Et,xt]=reactExports.useState(!1),vt=typeof window>"u"?null:window,bt=reactExports.useRef(0);return useEventListener("touchstart",reactExports.useCallback(()=>{window.clearTimeout(bt.current),xt(!0)},[]),vt,!0,!1),useEventListener("touchend",reactExports.useCallback(At=>{At.touches.length===0&&(bt.current=window.setTimeout(()=>xt(!1),yt))},[yt]),vt,!0,!1),Et}const InfiniteScroller=yt=>{const{children:Et,clientHeight:xt,scrollHeight:vt,scrollWidth:bt,update:At,draggable:Ft,className:Ct,preventDiagonalScrolling:wt=!1,paddingBottom:St=0,paddingRight:Tt=0,rightElement:Rt,rightElementProps:Pt,kineticScrollPerfHack:Lt=!1,scrollRef:kt,initialSize:Ot}=yt,Mt=[],It=Pt?.sticky??!1,Nt=Pt?.fill??!1,Ut=reactExports.useRef(0),jt=reactExports.useRef(0),Vt=reactExports.useRef(null),zt=typeof window>"u"?1:window.devicePixelRatio,Ht=reactExports.useRef(zt);reactExports.useEffect(()=>{if(Ht.current!==zt){Ut.current=0,jt.current=0,Ht.current=zt;const vn=Vt.current;vn!==null&&sn.current(vn.scrollLeft,vn.scrollTop)}},[zt]);const Wt=reactExports.useRef({scrollLeft:0,scrollTop:0,lockDirection:void 0}),Gt=reactExports.useRef(null),qt=useTouchUpDelayed(200),[Xt,Kt]=reactExports.useState(!0),Jt=reactExports.useRef(0);reactExports.useLayoutEffect(()=>{if(!Xt||qt||Wt.current.lockDirection===void 0)return;const vn=Vt.current;if(vn===null)return;const[yn,xn]=Wt.current.lockDirection;yn!==void 0?vn.scrollLeft=yn:xn!==void 0&&(vn.scrollTop=xn),Wt.current.lockDirection=void 0},[qt,Xt]);const tn=reactExports.useCallback((vn,yn)=>{const xn=Vt.current;if(xn===null)return;yn=yn??xn.scrollTop,vn=vn??xn.scrollLeft;const Mn=Wt.current.scrollTop,$n=Wt.current.scrollLeft,Rn=vn-$n,Tn=yn-Mn;qt&&Rn!==0&&Tn!==0&&(Math.abs(Rn)>3||Math.abs(Tn)>3)&&wt&&Wt.current.lockDirection===void 0&&(Wt.current.lockDirection=Math.abs(Rn)<Math.abs(Tn)?[$n,void 0]:[void 0,Mn]);const ir=Wt.current.lockDirection;vn=ir?.[0]??vn,yn=ir?.[1]??yn,Wt.current.scrollLeft=vn,Wt.current.scrollTop=yn;const Jn=xn.clientWidth,jn=xn.clientHeight,Wn=yn,br=jt.current-Wn,Fr=xn.scrollHeight-jn;jt.current=Wn;let Cr;if(Fr>0&&vt>xn.scrollHeight+5)if(Math.abs(br)>2e3||Wn===0||Wn===Fr){const dr=Math.max(0,Math.min(1,Wn/Fr)),_r=vt-jn;Cr=dr*_r,Ut.current=Cr}else Ut.current-=br,Cr=Ut.current;else Cr=Wn,Ut.current=Cr;Cr=Math.max(0,Math.min(Cr,vt-jn)),Ut.current=Cr,ir!==void 0&&(window.clearTimeout(Jt.current),Kt(!1),Jt.current=window.setTimeout(()=>Kt(!0),200)),At({x:vn,y:Cr,width:Jn-Tt,height:jn-St,paddingRight:Gt.current?.clientWidth??0})},[St,Tt,vt,At,wt,qt]);useKineticScroll(Lt&&browserIsSafari.value,tn,Vt);const sn=reactExports.useRef(tn);sn.current=tn;const Zt=reactExports.useRef(),nn=reactExports.useRef(!1);reactExports.useLayoutEffect(()=>{nn.current?tn():nn.current=!0},[tn,St,Tt]);const rn=reactExports.useCallback(vn=>{Vt.current=vn,kt!==void 0&&(kt.current=vn)},[kt]);let on=0,ln=0;const Qt=Math.min(vt,BROWSER_MAX_DIV_HEIGHT);for(Mt.push(reactExports.createElement("div",{key:on++,style:{width:bt,height:0}}));ln<Qt;){const vn=Math.min(MAX_PADDER_SEGMENT_HEIGHT,Qt-ln);Mt.push(reactExports.createElement("div",{key:on++,style:{width:0,height:vn}})),ln+=vn}const{ref:fn,width:pn,height:mn}=useResizeDetector(Ot);return typeof window<"u"&&(Zt.current?.height!==mn||Zt.current?.width!==pn)&&(window.setTimeout(()=>sn.current(),0),Zt.current={width:pn,height:mn}),(pn??0)===0||(mn??0)===0?reactExports.createElement("div",{ref:fn}):reactExports.createElement("div",{ref:fn},reactExports.createElement(ScrollRegionStyle,{isSafari:browserIsSafari.value},reactExports.createElement("div",{className:"dvn-underlay"},Et),reactExports.createElement("div",{ref:rn,style:Zt.current,draggable:Ft,onDragStart:vn=>{Ft||(vn.stopPropagation(),vn.preventDefault())},className:"dvn-scroller "+(Ct??""),onScroll:()=>tn()},reactExports.createElement("div",{className:"dvn-scroll-inner"+(Rt===void 0?" dvn-hidden":"")},reactExports.createElement("div",{className:"dvn-stack"},Mt),Rt!==void 0&&reactExports.createElement(reactExports.Fragment,null,!Nt&&reactExports.createElement("div",{className:"dvn-spacer"}),reactExports.createElement("div",{ref:Gt,style:{height:mn,maxHeight:xt-Math.ceil(zt%1),position:"sticky",top:0,paddingLeft:1,marginBottom:-40,marginRight:Tt,flexGrow:Nt?1:void 0,right:It?Tt??0:void 0,pointerEvents:"auto"}},Rt))))))},GridScroller=yt=>{const{columns:Et,rows:xt,rowHeight:vt,headerHeight:bt,groupHeaderHeight:At,enableGroups:Ft,freezeColumns:Ct,experimental:wt,nonGrowWidth:St,clientSize:Tt,className:Rt,onVisibleRegionChanged:Pt,scrollRef:Lt,preventDiagonalScrolling:kt,rightElement:Ot,rightElementProps:Mt,overscrollX:It,overscrollY:Nt,initialSize:Ut,smoothScrollX:jt=!1,smoothScrollY:Vt=!1,isDraggable:zt}=yt,{paddingRight:Ht,paddingBottom:Wt}=wt??{},[Gt,qt]=Tt,Xt=reactExports.useRef(),Kt=reactExports.useRef(),Jt=reactExports.useRef(),tn=reactExports.useRef(),sn=St+Math.max(0,It??0);let Zt=Ft?bt+At:bt;if(typeof vt=="number")Zt+=xt*vt;else for(let ln=0;ln<xt;ln++)Zt+=vt(ln);Nt!==void 0&&(Zt+=Nt);const nn=reactExports.useRef(),rn=reactExports.useCallback(()=>{if(nn.current===void 0)return;const ln={...nn.current};let Qt=0,fn=ln.x<0?-ln.x:0,pn=0,mn=0;ln.x=ln.x<0?0:ln.x;let vn=0;for(let Tn=0;Tn<Ct;Tn++)vn+=Et[Tn].width;for(const Tn of Et){const ir=Qt-vn;if(ln.x>=ir+Tn.width)Qt+=Tn.width,mn++,pn++;else if(ln.x>ir)Qt+=Tn.width,jt?fn+=ir-ln.x:mn++,pn++;else if(ln.x+ln.width>ir)Qt+=Tn.width,pn++;else break}let yn=0,xn=0,Mn=0;if(typeof vt=="number")Vt?(xn=Math.floor(ln.y/vt),yn=xn*vt-ln.y):xn=Math.ceil(ln.y/vt),Mn=Math.ceil(ln.height/vt)+xn,yn<0&&Mn++;else{let Tn=0;for(let ir=0;ir<xt;ir++){const Jn=vt(ir),jn=Tn+(Vt?0:Jn/2);if(ln.y>=Tn+Jn)Tn+=Jn,xn++,Mn++;else if(ln.y>jn)Tn+=Jn,Vt?yn+=jn-ln.y:xn++,Mn++;else if(ln.y+ln.height>Jn/2+Tn)Tn+=Jn,Mn++;else break}}xn=Math.max(0,Math.min(xn,xt-1)),Mn=Math.max(xn,Math.min(Mn,xt));const $n={x:mn,y:xn,width:pn-mn,height:Mn-xn},Rn=Xt.current;(Rn===void 0||Rn.y!==$n.y||Rn.x!==$n.x||Rn.height!==$n.height||Rn.width!==$n.width||Kt.current!==fn||Jt.current!==yn||ln.width!==tn.current?.[0]||ln.height!==tn.current?.[1])&&(Pt?.({x:mn,y:xn,width:pn-mn,height:Mn-xn},ln.width,ln.height,ln.paddingRight??0,fn,yn),Xt.current=$n,Kt.current=fn,Jt.current=yn,tn.current=[ln.width,ln.height])},[Et,vt,xt,Pt,Ct,jt,Vt]),on=reactExports.useCallback(ln=>{nn.current=ln,rn()},[rn]);return reactExports.useEffect(()=>{rn()},[rn]),reactExports.createElement(InfiniteScroller,{scrollRef:Lt,className:Rt,kineticScrollPerfHack:wt?.kineticScrollPerfHack,preventDiagonalScrolling:kt,draggable:zt===!0||typeof zt=="string",scrollWidth:sn+(Ht??0),scrollHeight:Zt+(Wt??0),clientHeight:qt,rightElement:Ot,paddingBottom:Wt,paddingRight:Ht,rightElementProps:Mt,update:on,initialSize:Ut},reactExports.createElement(DataGridDnd,{eventTargetRef:Lt,width:Gt,height:qt,accessibilityHeight:yt.accessibilityHeight,canvasRef:yt.canvasRef,cellXOffset:yt.cellXOffset,cellYOffset:yt.cellYOffset,columns:yt.columns,disabledRows:yt.disabledRows,enableGroups:yt.enableGroups,fillHandle:yt.fillHandle,firstColAccessible:yt.firstColAccessible,fixedShadowX:yt.fixedShadowX,fixedShadowY:yt.fixedShadowY,freezeColumns:yt.freezeColumns,getCellContent:yt.getCellContent,getCellRenderer:yt.getCellRenderer,getGroupDetails:yt.getGroupDetails,getRowThemeOverride:yt.getRowThemeOverride,groupHeaderHeight:yt.groupHeaderHeight,headerHeight:yt.headerHeight,highlightRegions:yt.highlightRegions,imageWindowLoader:yt.imageWindowLoader,isFilling:yt.isFilling,isFocused:yt.isFocused,lockColumns:yt.lockColumns,maxColumnWidth:yt.maxColumnWidth,minColumnWidth:yt.minColumnWidth,onHeaderMenuClick:yt.onHeaderMenuClick,onHeaderIndicatorClick:yt.onHeaderIndicatorClick,onMouseMove:yt.onMouseMove,prelightCells:yt.prelightCells,rowHeight:yt.rowHeight,rows:yt.rows,selection:yt.selection,theme:yt.theme,freezeTrailingRows:yt.freezeTrailingRows,hasAppendRow:yt.hasAppendRow,translateX:yt.translateX,translateY:yt.translateY,onColumnProposeMove:yt.onColumnProposeMove,verticalBorder:yt.verticalBorder,drawFocusRing:yt.drawFocusRing,drawHeader:yt.drawHeader,drawCell:yt.drawCell,experimental:yt.experimental,gridRef:yt.gridRef,headerIcons:yt.headerIcons,isDraggable:yt.isDraggable,onCanvasBlur:yt.onCanvasBlur,onCanvasFocused:yt.onCanvasFocused,onCellFocused:yt.onCellFocused,onColumnMoved:yt.onColumnMoved,onColumnResize:yt.onColumnResize,onColumnResizeEnd:yt.onColumnResizeEnd,onColumnResizeStart:yt.onColumnResizeStart,onContextMenu:yt.onContextMenu,onDragEnd:yt.onDragEnd,onDragLeave:yt.onDragLeave,onDragOverCell:yt.onDragOverCell,onDragStart:yt.onDragStart,onDrop:yt.onDrop,onItemHovered:yt.onItemHovered,onKeyDown:yt.onKeyDown,onKeyUp:yt.onKeyUp,onMouseDown:yt.onMouseDown,onMouseUp:yt.onMouseUp,onRowMoved:yt.onRowMoved,smoothScrollX:yt.smoothScrollX,smoothScrollY:yt.smoothScrollY,resizeIndicator:yt.resizeIndicator}))},SearchWrapper=styled_default("div")({name:"SearchWrapper",class:"gdg-seveqep",propsAsIs:!1}),upArrow=reactExports.createElement("svg",{className:"button-icon",viewBox:"0 0 512 512"},reactExports.createElement("path",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"48",d:"M112 244l144-144 144 144M256 120v292"})),downArrow=reactExports.createElement("svg",{className:"button-icon",viewBox:"0 0 512 512"},reactExports.createElement("path",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"48",d:"M112 268l144 144 144-144M256 392V100"})),closeX=reactExports.createElement("svg",{className:"button-icon",viewBox:"0 0 512 512"},reactExports.createElement("path",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",d:"M368 368L144 144M368 144L144 368"})),targetSearchTimeMS=10,DataGridSearch=yt=>{const{canvasRef:Et,cellYOffset:xt,rows:vt,columns:bt,searchInputRef:At,searchValue:Ft,searchResults:Ct,onSearchValueChange:wt,getCellsForSelection:St,onSearchResultsChanged:Tt,showSearch:Rt=!1,onSearchClose:Pt}=yt,[Lt]=reactExports.useState(()=>"search-box-"+Math.round(Math.random()*1e3)),[kt,Ot]=reactExports.useState(""),Mt=Ft??kt,It=reactExports.useCallback(Qt=>{Ot(Qt),wt?.(Qt)},[wt]),[Nt,Ut]=reactExports.useState(),jt=reactExports.useRef(Nt);jt.current=Nt,reactExports.useEffect(()=>{Ct!==void 0&&(Ct.length>0?Ut(Qt=>({rowsSearched:vt,results:Ct.length,selectedIndex:Qt?.selectedIndex??-1})):Ut(void 0))},[vt,Ct]);const Vt=reactExports.useRef();Vt.current===void 0&&(Vt.current=new AbortController);const zt=reactExports.useRef(),[Ht,Wt]=reactExports.useState([]),Gt=Ct??Ht,qt=reactExports.useCallback(()=>{zt.current!==void 0&&(window.cancelAnimationFrame(zt.current),zt.current=void 0),Vt.current!==void 0&&Vt.current.abort(),Vt.current=new AbortController},[]),Xt=reactExports.useRef(xt);Xt.current=xt;const Kt=reactExports.useCallback(Qt=>{const fn=new RegExp(Qt.replace(/([$()*+.?[\\\]^{|}-])/g,"\\$1"),"i");let pn=Xt.current,mn=Math.min(10,vt),vn=0;Ut(void 0),Wt([]);const yn=[],xn=async()=>{if(St===void 0)return;const Mn=performance.now(),$n=vt-vn;let Rn=St({x:0,y:pn,width:bt.length,height:Math.min(mn,$n,vt-pn)},Vt.current.signal);typeof Rn=="function"&&(Rn=await Rn());let Tn=!1;for(const[Fr,Cr]of Rn.entries())for(const[dr,_r]of Cr.entries()){let pr;switch(_r.kind){case GridCellKind.Text:case GridCellKind.Number:pr=_r.displayData;break;case GridCellKind.Uri:case GridCellKind.Markdown:pr=_r.data;break;case GridCellKind.Boolean:pr=typeof _r.data=="boolean"?_r.data.toString():void 0;break;case GridCellKind.Image:case GridCellKind.Bubble:pr=_r.data.join("🐳");break;case GridCellKind.Custom:pr=_r.copyData;break}pr!==void 0&&fn.test(pr)&&(yn.push([dr,Fr+pn]),Tn=!0)}const ir=performance.now();Tn&&Wt([...yn]),vn+=Rn.length,assert(vn<=vt);const Jn=jt.current?.selectedIndex??-1;Ut({results:yn.length,rowsSearched:vn,selectedIndex:Jn}),Tt?.(yn,Jn),pn+mn>=vt?pn=0:pn+=mn;const jn=ir-Mn,Wn=Math.max(jn,1),br=targetSearchTimeMS/Wn;mn=Math.ceil(mn*br),vn<vt&&yn.length<1e3&&(zt.current=window.requestAnimationFrame(xn))};qt(),zt.current=window.requestAnimationFrame(xn)},[qt,bt.length,St,Tt,vt]),Jt=reactExports.useCallback(()=>{Pt?.(),Ut(void 0),Wt([]),Tt?.([],-1),qt(),Et?.current?.focus()},[qt,Et,Pt,Tt]),tn=reactExports.useCallback(Qt=>{It(Qt.target.value),Ct===void 0&&(Qt.target.value===""?(Ut(void 0),Wt([]),qt()):Kt(Qt.target.value))},[Kt,qt,It,Ct]);reactExports.useEffect(()=>{At.current!==null&&(It(""),Ut(void 0),Ht.length>0&&(Wt([]),Tt?.([],-1)),Rt?At.current.focus({preventScroll:!0}):qt())},[Rt,At]);const sn=reactExports.useCallback(Qt=>{if(Qt?.stopPropagation?.(),Nt===void 0||Nt.results===0)return;const fn=(Nt.selectedIndex+1)%Nt.results;Ut({...Nt,selectedIndex:fn}),Tt?.(Gt,fn)},[Nt,Tt,Gt]),Zt=reactExports.useCallback(Qt=>{if(Qt?.stopPropagation?.(),Nt===void 0||Nt.results===0)return;let fn=(Nt.selectedIndex-1)%Nt.results;fn<0&&(fn+=Nt.results),Ut({...Nt,selectedIndex:fn}),Tt?.(Gt,fn)},[Tt,Gt,Nt]),nn=reactExports.useCallback(Qt=>{(Qt.ctrlKey||Qt.metaKey)&&Qt.nativeEvent.code==="KeyF"||Qt.key==="Escape"?(Jt(),Qt.stopPropagation(),Qt.preventDefault()):Qt.key==="Enter"&&(Qt.shiftKey?Zt():sn())},[Jt,sn,Zt]);reactExports.useEffect(()=>()=>{qt()},[qt]);const[rn,on]=reactExports.useState(!1);reactExports.useEffect(()=>{if(Rt)on(!0);else{const Qt=setTimeout(()=>on(!1),150);return()=>clearTimeout(Qt)}},[Rt]);const ln=reactExports.useMemo(()=>{if(!Rt&&!rn)return null;let Qt;Nt!==void 0&&(Qt=Nt.results>=1e3?"over 1000":`${Nt.results} result${Nt.results!==1?"s":""}`,Nt.selectedIndex>=0&&(Qt=`${Nt.selectedIndex+1} of ${Qt}`));const fn=vn=>{vn.stopPropagation()},mn={width:`${vt>0?Math.floor((Nt?.rowsSearched??0)/vt*100):0}%`};return reactExports.createElement(SearchWrapper,{className:"gdg-search-bar"+(Rt?"":" out"),onMouseDown:fn,onMouseMove:fn,onMouseUp:fn,onClick:fn},reactExports.createElement("div",{className:"gdg-search-bar-inner"},reactExports.createElement("input",{id:Lt,"aria-hidden":!Rt,"data-testid":"search-input",ref:At,onChange:tn,value:Mt,tabIndex:Rt?void 0:-1,onKeyDownCapture:nn}),reactExports.createElement("button",{type:"button","aria-label":"Previous Result","aria-hidden":!Rt,tabIndex:Rt?void 0:-1,onClick:Zt,disabled:(Nt?.results??0)===0},upArrow),reactExports.createElement("button",{type:"button","aria-label":"Next Result","aria-hidden":!Rt,tabIndex:Rt?void 0:-1,onClick:sn,disabled:(Nt?.results??0)===0},downArrow),Pt!==void 0&&reactExports.createElement("button",{type:"button","aria-label":"Close Search","aria-hidden":!Rt,"data-testid":"search-close-button",tabIndex:Rt?void 0:-1,onClick:Jt},closeX)),Nt!==void 0?reactExports.createElement(reactExports.Fragment,null,reactExports.createElement("div",{className:"gdg-search-status"},reactExports.createElement("div",{"data-testid":"search-result-area"},Qt)),reactExports.createElement("div",{className:"gdg-search-progress",style:mn})):reactExports.createElement("div",{className:"gdg-search-status"},reactExports.createElement("label",{htmlFor:Lt},"Type to search")))},[Rt,rn,Nt,vt,Lt,At,tn,Mt,nn,Zt,sn,Pt,Jt]);return reactExports.createElement(reactExports.Fragment,null,reactExports.createElement(GridScroller,{prelightCells:Gt,accessibilityHeight:yt.accessibilityHeight,canvasRef:yt.canvasRef,cellXOffset:yt.cellXOffset,cellYOffset:yt.cellYOffset,className:yt.className,clientSize:yt.clientSize,columns:yt.columns,disabledRows:yt.disabledRows,enableGroups:yt.enableGroups,fillHandle:yt.fillHandle,firstColAccessible:yt.firstColAccessible,nonGrowWidth:yt.nonGrowWidth,fixedShadowX:yt.fixedShadowX,fixedShadowY:yt.fixedShadowY,freezeColumns:yt.freezeColumns,getCellContent:yt.getCellContent,getCellRenderer:yt.getCellRenderer,getGroupDetails:yt.getGroupDetails,getRowThemeOverride:yt.getRowThemeOverride,groupHeaderHeight:yt.groupHeaderHeight,headerHeight:yt.headerHeight,highlightRegions:yt.highlightRegions,imageWindowLoader:yt.imageWindowLoader,initialSize:yt.initialSize,isFilling:yt.isFilling,isFocused:yt.isFocused,lockColumns:yt.lockColumns,maxColumnWidth:yt.maxColumnWidth,minColumnWidth:yt.minColumnWidth,onHeaderMenuClick:yt.onHeaderMenuClick,onHeaderIndicatorClick:yt.onHeaderIndicatorClick,onMouseMove:yt.onMouseMove,onVisibleRegionChanged:yt.onVisibleRegionChanged,overscrollX:yt.overscrollX,overscrollY:yt.overscrollY,preventDiagonalScrolling:yt.preventDiagonalScrolling,rightElement:yt.rightElement,rightElementProps:yt.rightElementProps,rowHeight:yt.rowHeight,rows:yt.rows,scrollRef:yt.scrollRef,selection:yt.selection,theme:yt.theme,freezeTrailingRows:yt.freezeTrailingRows,hasAppendRow:yt.hasAppendRow,translateX:yt.translateX,translateY:yt.translateY,verticalBorder:yt.verticalBorder,onColumnProposeMove:yt.onColumnProposeMove,drawFocusRing:yt.drawFocusRing,drawCell:yt.drawCell,drawHeader:yt.drawHeader,experimental:yt.experimental,gridRef:yt.gridRef,headerIcons:yt.headerIcons,isDraggable:yt.isDraggable,onCanvasBlur:yt.onCanvasBlur,onCanvasFocused:yt.onCanvasFocused,onCellFocused:yt.onCellFocused,onColumnMoved:yt.onColumnMoved,onColumnResize:yt.onColumnResize,onColumnResizeEnd:yt.onColumnResizeEnd,onColumnResizeStart:yt.onColumnResizeStart,onContextMenu:yt.onContextMenu,onDragEnd:yt.onDragEnd,onDragLeave:yt.onDragLeave,onDragOverCell:yt.onDragOverCell,onDragStart:yt.onDragStart,onDrop:yt.onDrop,onItemHovered:yt.onItemHovered,onKeyDown:yt.onKeyDown,onKeyUp:yt.onKeyUp,onMouseDown:yt.onMouseDown,onMouseUp:yt.onMouseUp,onRowMoved:yt.onRowMoved,smoothScrollX:yt.smoothScrollX,smoothScrollY:yt.smoothScrollY,resizeIndicator:yt.resizeIndicator}),ln)};class ClickOutsideContainer extends reactExports.PureComponent{wrapperRef=reactExports.createRef();componentDidMount(){const Et=this.props.customEventTarget??document;Et.addEventListener("pointerdown",this.clickOutside,!0),Et.addEventListener("contextmenu",this.clickOutside,!0)}componentWillUnmount(){const Et=this.props.customEventTarget??document;Et.removeEventListener("pointerdown",this.clickOutside,!0),Et.removeEventListener("contextmenu",this.clickOutside,!0)}clickOutside=Et=>{if(!(this.props.isOutsideClick&&!this.props.isOutsideClick(Et))&&this.wrapperRef.current!==null&&!this.wrapperRef.current.contains(Et.target)){let xt=Et.target;for(;xt!==null;){if(xt.classList.contains("click-outside-ignore"))return;xt=xt.parentElement}this.props.onClickOutside()}};render(){const{onClickOutside:Et,isOutsideClick:xt,customEventTarget:vt,...bt}=this.props;return reactExports.createElement("div",{...bt,ref:this.wrapperRef},this.props.children)}}const _exp$2=()=>yt=>Math.max(16,yt.targetHeight-10),RenameInput=styled_default("input")({name:"RenameInput",class:"gdg-r17m35ur",propsAsIs:!1,vars:{"r17m35ur-0":[_exp$2(),"px"]}}),GroupRename=yt=>{const{bounds:Et,group:xt,onClose:vt,canvasBounds:bt,onFinish:At}=yt,[Ft,Ct]=React.useState(xt);return React.createElement(ClickOutsideContainer,{style:{position:"absolute",left:Et.x-bt.left+1,top:Et.y-bt.top,width:Et.width-2,height:Et.height},className:"gdg-c1tqibwd",onClickOutside:vt},React.createElement(RenameInput,{targetHeight:Et.height,"data-testid":"group-rename-input",value:Ft,onBlur:vt,onFocus:wt=>wt.target.setSelectionRange(0,Ft.length),onChange:wt=>Ct(wt.target.value),onKeyDown:wt=>{wt.key==="Enter"?At(Ft):wt.key==="Escape"&&vt()},autoFocus:!0}))};function checkKey(yt,Et){return yt===void 0?!1:yt.length>1&&yt.startsWith("_")?Number.parseInt(yt.slice(1))===Et.keyCode:yt.length===1&&yt>="a"&&yt<="z"?yt.toUpperCase().codePointAt(0)===Et.keyCode:yt===Et.key}function isHotkey(yt,Et,xt){const vt=isHotkeyInner(yt,Et);return vt&&(xt.didMatch=!0),vt}function isHotkeyInner(yt,Et){if(yt.length===0)return!1;if(yt.includes("|")){const wt=yt.split("|");for(const St of wt)if(isHotkeyInner(St,Et))return!0;return!1}let xt=!1,vt=!1,bt=!1,At=!1;const Ft=yt.split("+"),Ct=Ft.pop();if(!checkKey(Ct,Et))return!1;if(Ft[0]==="any")return!0;for(const wt of Ft)switch(wt){case"ctrl":xt=!0;break;case"shift":vt=!0;break;case"alt":bt=!0;break;case"meta":At=!0;break;case"primary":browserIsOSX.value?At=!0:xt=!0;break}return Et.altKey===bt&&Et.ctrlKey===xt&&Et.shiftKey===vt&&Et.metaKey===At}function useSelectionBehavior(yt,Et,xt,vt,bt,At,Ft){const Ct=React.useCallback((Tt,Rt,Pt,Lt)=>{(At==="cell"||At==="multi-cell")&&Tt!==void 0&&(Tt={...Tt,range:{x:Tt.cell[0],y:Tt.cell[1],width:1,height:1}}),!Ft&&Tt!==void 0&&Tt.range.width>1&&(Tt={...Tt,range:{...Tt.range,width:1,x:Tt.cell[0]}});const kt=xt==="mixed"&&(Pt||Lt==="drag")||xt==="additive",Ot=(vt==="mixed"||vt==="additive")&&kt,Mt=(bt==="mixed"||bt==="additive")&&kt;let It={current:Tt===void 0?void 0:{...Tt,rangeStack:Lt==="drag"?yt.current?.rangeStack??[]:[]},columns:Ot?yt.columns:CompactSelection.empty(),rows:Mt?yt.rows:CompactSelection.empty()};Pt&&(At==="multi-rect"||At==="multi-cell")&&It.current!==void 0&&yt.current!==void 0&&(It={...It,current:{...It.current,rangeStack:[...yt.current.rangeStack,yt.current.range]}}),Et(It,Rt)},[vt,yt,xt,At,Ft,bt,Et]),wt=React.useCallback((Tt,Rt,Pt)=>{Tt=Tt??yt.rows,Rt!==void 0&&(Tt=Tt.add(Rt));let Lt;if(bt==="exclusive"&&Tt.length>0)Lt={current:void 0,columns:CompactSelection.empty(),rows:Tt};else{const kt=Pt&&xt==="mixed"||xt==="additive",Ot=Pt&&vt==="mixed"||vt==="additive";Lt={current:kt?yt.current:void 0,columns:Ot?yt.columns:CompactSelection.empty(),rows:Tt}}Et(Lt,!1)},[vt,yt,xt,bt,Et]),St=React.useCallback((Tt,Rt,Pt)=>{Tt=Tt??yt.columns,Rt!==void 0&&(Tt=Tt.add(Rt));let Lt;if(vt==="exclusive"&&Tt.length>0)Lt={current:void 0,rows:CompactSelection.empty(),columns:Tt};else{const kt=Pt&&xt==="mixed"||xt==="additive",Ot=Pt&&bt==="mixed"||bt==="additive";Lt={current:kt?yt.current:void 0,rows:Ot?yt.rows:CompactSelection.empty(),columns:Tt}}Et(Lt,!1)},[vt,yt,xt,bt,Et]);return[Ct,wt,St]}function useCellsForSelection(yt,Et,xt,vt,bt){const At=reactExports.useCallback(St=>{if(yt===!0){const Tt=[];for(let Rt=St.y;Rt<St.y+St.height;Rt++){const Pt=[];for(let Lt=St.x;Lt<St.x+St.width;Lt++)Lt<0||Rt>=bt?Pt.push({kind:GridCellKind.Loading,allowOverlay:!1}):Pt.push(Et([Lt,Rt]));Tt.push(Pt)}return Tt}return yt?.(St,vt.signal)??[]},[vt.signal,Et,yt,bt]),Ft=yt!==void 0?At:void 0,Ct=reactExports.useCallback(St=>{if(Ft===void 0)return[];const Tt={...St,x:St.x-xt};if(Tt.x<0){Tt.x=0,Tt.width--;const Rt=Ft(Tt,vt.signal);return typeof Rt=="function"?async()=>(await Rt()).map(Pt=>[{kind:GridCellKind.Loading,allowOverlay:!1},...Pt]):Rt.map(Pt=>[{kind:GridCellKind.Loading,allowOverlay:!1},...Pt])}return Ft(Tt,vt.signal)},[vt.signal,Ft,xt]);return[yt!==void 0?Ct:void 0,Ft]}function convertCellToBuffer(yt){if(yt.copyData!==void 0)return{formatted:yt.copyData,rawValue:yt.copyData,format:"string",doNotEscape:!0};switch(yt.kind){case GridCellKind.Boolean:return{formatted:yt.data===!0?"TRUE":yt.data===!1?"FALSE":yt.data===BooleanIndeterminate?"INDETERMINATE":"",rawValue:yt.data,format:"boolean"};case GridCellKind.Custom:return{formatted:yt.copyData,rawValue:yt.copyData,format:"string"};case GridCellKind.Image:case GridCellKind.Bubble:return{formatted:yt.data,rawValue:yt.data,format:"string-array"};case GridCellKind.Drilldown:return{formatted:yt.data.map(Et=>Et.text),rawValue:yt.data.map(Et=>Et.text),format:"string-array"};case GridCellKind.Text:return{formatted:yt.displayData??yt.data,rawValue:yt.data,format:"string"};case GridCellKind.Uri:return{formatted:yt.displayData??yt.data,rawValue:yt.data,format:"url"};case GridCellKind.Markdown:case GridCellKind.RowID:return{formatted:yt.data,rawValue:yt.data,format:"string"};case GridCellKind.Number:return{formatted:yt.displayData,rawValue:yt.data,format:"number"};case GridCellKind.Loading:return{formatted:"#LOADING",rawValue:"",format:"string"};case GridCellKind.Protected:return{formatted:"************",rawValue:"",format:"string"};default:assertNever()}}function createBufferFromGridCells(yt,Et){return yt.map((vt,bt)=>{const At=Et[bt];return vt.map(Ft=>Ft.span!==void 0&&Ft.span[0]!==At?{formatted:"",rawValue:"",format:"string"}:convertCellToBuffer(Ft))})}function escapeIfNeeded(yt,Et){return(Et?/[\t\n",]/:/[\t\n"]/).test(yt)&&(yt=`"${yt.replace(/"/g,'""')}"`),yt}function createTextBuffer(yt){const Et=[];for(const xt of yt){const vt=[];for(const bt of xt)bt.format==="url"?vt.push(bt.rawValue?.toString()??""):bt.format==="string-array"?vt.push(bt.formatted.map(At=>escapeIfNeeded(At,!0)).join(",")):vt.push(bt.doNotEscape===!0?bt.formatted:escapeIfNeeded(bt.formatted,!1));Et.push(vt.join(" "))}return Et.join(`
|
|
2971
2971
|
`)}function formatHtmlTextContent(yt){return yt.replace(/\t/g," ").replace(/ {2,}/g,Et=>"<span> </span>".repeat(Et.length))}function formatHtmlAttributeContent(yt){return'"'+yt.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")+'"'}function restoreHtmlEntities(yt){return yt.replace(/"/g,'"').replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&")}function createHtmlBuffer(yt){const Et=[];Et.push('<style type="text/css"><!--br {mso-data-placement:same-cell;}--></style>',"<table><tbody>");for(const xt of yt){Et.push("<tr>");for(const vt of xt){const bt=`gdg-format="${vt.format}"`;vt.format==="url"?Et.push(`<td ${bt}><a href="${vt.rawValue}">${formatHtmlTextContent(vt.formatted)}</a></td>`):vt.format==="string-array"?Et.push(`<td ${bt}><ol>${vt.formatted.map((At,Ft)=>`<li gdg-raw-value=${formatHtmlAttributeContent(vt.rawValue[Ft])}>`+formatHtmlTextContent(At)+"</li>").join("")}</ol></td>`):Et.push(`<td gdg-raw-value=${formatHtmlAttributeContent(vt.rawValue?.toString()??"")} ${bt}>${formatHtmlTextContent(vt.formatted)}</td>`)}Et.push("</tr>")}return Et.push("</tbody></table>"),Et.join("")}function getCopyBufferContents(yt,Et){const xt=createBufferFromGridCells(yt,Et),vt=createTextBuffer(xt),bt=createHtmlBuffer(xt);return{textPlain:vt,textHtml:bt}}function decodeHTML(yt){const Et=document.createElement("html");Et.innerHTML=yt.replace(/ /g," ");const xt=Et.querySelector("table");if(xt===null)return;const vt=[xt],bt=[];let At;for(;vt.length>0;){const Ft=vt.pop();if(Ft===void 0)break;if(Ft instanceof HTMLTableElement||Ft.nodeName==="TBODY")vt.push(...[...Ft.children].reverse());else if(Ft instanceof HTMLTableRowElement)At!==void 0&&bt.push(At),At=[],vt.push(...[...Ft.children].reverse());else if(Ft instanceof HTMLTableCellElement){const Ct=Ft.cloneNode(!0),St=Ct.children.length===1&&Ct.children[0].nodeName==="P"?Ct.children[0]:null,Tt=St?.children.length===1&&St.children[0].nodeName==="FONT",Rt=Ct.querySelectorAll("br");for(const kt of Rt)kt.replaceWith(`
|
|
2972
2972
|
`);const Pt=Ct.getAttribute("gdg-raw-value"),Lt=Ct.getAttribute("gdg-format")??"string";if(Ct.querySelector("a")!==null)At?.push({rawValue:Ct.querySelector("a")?.getAttribute("href")??"",formatted:Ct.textContent??"",format:Lt});else if(Ct.querySelector("ol")!==null){const kt=Ct.querySelectorAll("li");At?.push({rawValue:[...kt].map(Ot=>Ot.getAttribute("gdg-raw-value")??""),formatted:[...kt].map(Ot=>Ot.textContent??""),format:"string-array"})}else if(Pt!==null)At?.push({rawValue:restoreHtmlEntities(Pt),formatted:Ct.textContent??"",format:Lt});else{let kt=Ct.textContent??"";Tt&&(kt=kt.replace(/\n(?!\n)/g,"")),At?.push({rawValue:kt??"",formatted:kt??"",format:Lt})}}}return At!==void 0&&bt.push(At),bt}function expandSelection(yt,Et,xt,vt,bt){const At=yt;if(vt==="allowPartial"||yt.current===void 0||Et===void 0)return yt;let Ft=!1;do{if(yt?.current===void 0)break;const Ct=yt.current?.range,wt=[];if(Ct.width>2){const Rt=Et({x:Ct.x,y:Ct.y,width:1,height:Ct.height},bt.signal);if(typeof Rt=="function")return At;wt.push(...Rt);const Pt=Et({x:Ct.x+Ct.width-1,y:Ct.y,width:1,height:Ct.height},bt.signal);if(typeof Pt=="function")return At;wt.push(...Pt)}else{const Rt=Et({x:Ct.x,y:Ct.y,width:Ct.width,height:Ct.height},bt.signal);if(typeof Rt=="function")return At;wt.push(...Rt)}let St=Ct.x-xt,Tt=Ct.x+Ct.width-1-xt;for(const Rt of wt)for(const Pt of Rt)Pt.span!==void 0&&(St=Math.min(Pt.span[0],St),Tt=Math.max(Pt.span[1],Tt));St===Ct.x-xt&&Tt===Ct.x+Ct.width-1-xt?Ft=!0:yt={current:{cell:yt.current.cell??[0,0],range:{x:St+xt,y:Ct.y,width:Tt-St+1,height:Ct.height},rangeStack:yt.current.rangeStack},columns:yt.columns,rows:yt.rows}}while(!Ft);return yt}function descape(yt){return yt.startsWith('"')&&yt.endsWith('"')&&(yt=yt.slice(1,-1).replace(/""/g,'"')),yt}function unquote(yt){let Et;(function(Ct){Ct[Ct.None=0]="None",Ct[Ct.inString=1]="inString",Ct[Ct.inStringPostQuote=2]="inStringPostQuote"})(Et||(Et={}));const xt=[];let vt=[],bt=0,At=Et.None;yt=yt.replace(/\r\n/g,`
|
|
2973
2973
|
`);let Ft=0;for(const Ct of yt){switch(At){case Et.None:Ct===" "||Ct===`
|