@ehfuse/mui-virtual-data-table 1.5.1 → 1.5.3
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/HeaderMenu.d.ts +2 -2
- package/dist/index.esm.js +2 -2
- package/dist/index.esm.js.map +3 -3
- package/dist/index.js +2 -2
- package/dist/index.js.map +3 -3
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
"use strict";var Cn=Object.create;var ze=Object.defineProperty;var Mn=Object.getOwnPropertyDescriptor;var vn=Object.getOwnPropertyNames;var wn=Object.getPrototypeOf,Sn=Object.prototype.hasOwnProperty;var Tn=(o,d)=>{for(var l in d)ze(o,l,{get:d[l],enumerable:!0})},Pt=(o,d,l,x)=>{if(d&&typeof d=="object"||typeof d=="function")for(let
|
|
1
|
+
"use strict";var Cn=Object.create;var ze=Object.defineProperty;var Mn=Object.getOwnPropertyDescriptor;var vn=Object.getOwnPropertyNames;var wn=Object.getPrototypeOf,Sn=Object.prototype.hasOwnProperty;var Tn=(o,d)=>{for(var l in d)ze(o,l,{get:d[l],enumerable:!0})},Pt=(o,d,l,x)=>{if(d&&typeof d=="object"||typeof d=="function")for(let g of vn(d))!Sn.call(o,g)&&g!==l&&ze(o,g,{get:()=>d[g],enumerable:!(x=Mn(d,g))||x.enumerable});return o};var At=(o,d,l)=>(l=o!=null?Cn(wn(o)):{},Pt(d||!o||!o.__esModule?ze(l,"default",{value:o,enumerable:!0}):l,o)),Rn=o=>Pt(ze({},"__esModule",{value:!0}),o);var In={};Tn(In,{HEADER_MENU_FONT_SIZE:()=>Ve,HEADER_MENU_ICON_PATHS:()=>V,HEADER_MENU_ICON_SIZE:()=>We,HEADER_MENU_ITEM_HEIGHT:()=>$e,HEADER_MENU_ITEM_SX:()=>ct,HeaderFilterIcon:()=>Xe,HeaderMenu:()=>Ye,HeaderMenuDivider:()=>ke,HeaderMenuIcon:()=>ce,HeaderMenuItem:()=>j,VirtualDataTable:()=>Vt,headerMenuAnchor:()=>Ot});module.exports=Rn(In);var a=require("react"),s=require("@mui/material"),_t=require("react-virtuoso");var _e=require("react/jsx-runtime"),se=require("react"),Fe=require("@mui/material"),He=function(){return He=Object.assign||function(d){for(var l,x=1,g=arguments.length;x<g;x++){l=arguments[x];for(var u in l)Object.prototype.hasOwnProperty.call(l,u)&&(d[u]=l[u])}return d},He.apply(this,arguments)};function Nt(o){var d=o.visible,l=o.onComplete,x=o.fadeoutDuration,g=x===void 0?200:x,u=o.exitDelay,P=u===void 0?0:u,K=o.size,ee=K===void 0?40:K,q=o.className,Z=o.style,E=o.sx,A=o.indicator,D=o.background,I=D===void 0?{show:!0,color:"255, 255, 255",opacity:.9}:D,M=(0,se.useRef)(void 0),R=(0,se.useRef)(null),te=(0,se.useState)(d),W=te[0],S=te[1],ge=I.show,f=ge===void 0?!0:ge,T=I.color,H=T===void 0?"255, 255, 255":T,U=I.opacity,ne=U===void 0?.9:U;if((0,se.useEffect)(function(){var Ee=M.current;if(Ee===!0&&d===!1&&R.current){var je=R.current;je.style.opacity="0",setTimeout(function(){S(!1),l?.()},g+P)}else d===!0&&(S(!0),R.current&&(R.current.style.opacity="1"));M.current=d},[d,l,g,P]),!W)return null;var J=function(){return typeof A=="string"?(0,_e.jsx)("img",{src:A,alt:"Loading",style:{width:ee,height:ee}}):A||(0,_e.jsx)(Fe.CircularProgress,{size:ee})},B=function(){return f?H.startsWith("rgba")?{backgroundColor:H}:/^\d+,\s*\d+,\s*\d+$/.test(H)?{backgroundColor:"rgba(".concat(H,", ").concat(ne,")")}:ne!==1?{backgroundColor:H,"&::before":{content:'""',position:"absolute",top:0,left:0,right:0,bottom:0,backgroundColor:H,opacity:ne,zIndex:-1}}:{backgroundColor:H}:{backgroundColor:"transparent"}};return(0,_e.jsx)(Fe.Box,{ref:R,className:q,style:He({},Z),sx:He(He({position:"absolute",top:0,left:0,right:0,bottom:0,display:"flex",alignItems:"center",justifyContent:"center",zIndex:1e3,opacity:d?1:0,transition:"opacity ".concat(g,"ms ease-out")},B()),E),children:J()})}var de=require("react/jsx-runtime"),Hn=`
|
|
2
2
|
.vdt-css-spinner{box-sizing:border-box;border-radius:50%;border:4px solid rgba(28,64,125,0.14);border-top-color:#1c407d;animation:vdt-css-spinner-spin .75s linear infinite}
|
|
3
3
|
@keyframes vdt-css-spinner-spin{to{transform:rotate(360deg)}}
|
|
4
|
-
`;function Bt({size:o=54}){return(0,se.jsxs)(se.Fragment,{children:[(0,se.jsx)("style",{children:Hn}),(0,se.jsx)("span",{className:"vdt-css-spinner",role:"progressbar","aria-label":"loading",style:{display:"inline-block",width:o,height:o}})]})}var ce=At(require("react"),1),k=require("@mui/material"),f=require("react/jsx-runtime"),Ve=14,We=18,$e=34,V={asc:"M4 12l1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8-8 8z",desc:"M20 12l-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z",checked:"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z",unchecked:"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z",radioOn:"M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zm0-5C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z",radioOff:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z",filter:"M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z",search:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"};function de({d:o,size:d=We,color:l}){return(0,f.jsx)(k.SvgIcon,{sx:{fontSize:d,flexShrink:0,color:l},children:(0,f.jsx)("path",{d:o})})}function Xe({size:o=14,active:d,color:l}){let x={stroke:"currentColor",strokeWidth:1.8,strokeMiterlimit:10,strokeLinecap:"round",strokeLinejoin:"round"};return(0,f.jsxs)(k.Box,{component:"svg",viewBox:"0 0 24 24",fill:"none","aria-hidden":!0,sx:{width:o,height:o,flexShrink:0,color:d?"primary.main":l??"currentColor",verticalAlign:"middle"},children:[(0,f.jsx)("path",{d:"M2 17.5H7",...x}),(0,f.jsx)("path",{d:"M22 6.5H17",...x}),(0,f.jsx)("path",{d:"M13 17.5H22",...x}),(0,f.jsx)("path",{d:"M11 6.5H2",...x}),(0,f.jsx)("path",{d:"M10 20.3999C8.34315 20.3999 7 19.0568 7 17.3999C7 15.743 8.34315 14.3999 10 14.3999C11.6569 14.3999 13 15.743 13 17.3999C13 19.0568 11.6569 20.3999 10 20.3999Z",...x}),(0,f.jsx)("path",{d:"M14 9.3999C15.6569 9.3999 17 8.05676 17 6.3999C17 4.74305 15.6569 3.3999 14 3.3999C12.3431 3.3999 11 4.74305 11 6.3999C11 8.05676 12.3431 9.3999 14 9.3999Z",...x})]})}var ct={gap:1,fontSize:Ve,lineHeight:1.43,minHeight:$e,py:.5,px:1.5};function j({icon:o,iconSpace:d,selected:l,disabled:x,muted:h,onClick:u,sx:P,children:K}){return(0,f.jsxs)(k.MenuItem,{selected:l,disabled:x,onClick:u,sx:[ct,h?{color:"text.secondary"}:{},...Array.isArray(P)?P:P?[P]:[]],children:[o??(d?(0,f.jsx)(k.Box,{component:"span",sx:{width:We,flexShrink:0}}):null),K]})}function ke(){return(0,f.jsx)(k.Divider,{sx:{my:"4px !important"}})}function Ot(o,d){let l=o.getBoundingClientRect();return{left:d??l.left,top:l.bottom}}function Ye({open:o,anchorPosition:d,anchorEl:l,onClose:x,sort:h,filter:u,header:P,children:K,minWidth:Q=180,maxHeight:G=420}){let[q,E]=(0,ce.useState)(""),A=u?.multiple!==!1,D=u?.value??[],I=(0,ce.useMemo)(()=>{if(!u)return[];let g=u.options;return u.emptyLabel&&!g.some(R=>R.value==="")?[...g,{value:"",label:u.emptyLabel}]:g},[u]),M=!!u&&(u?.searchable??I.length>10),T=q.trim().toLowerCase(),ee=T?I.filter(g=>g.label.toLowerCase().includes(T)):I,W=()=>{E(""),x()},S=[];if(P&&S.push((0,f.jsx)(ce.default.Fragment,{children:P},"header")),h){let g=R=>{W(),h.onChange(h.active===R&&h.clearable!==!1?null:R)};S.push((0,f.jsx)(j,{selected:h.active==="asc",onClick:()=>g("asc"),icon:(0,f.jsx)(de,{d:V.asc,color:"text.secondary"}),children:"\uC624\uB984\uCC28\uC21C \uC815\uB82C"},"sort-asc"),(0,f.jsx)(j,{selected:h.active==="desc",onClick:()=>g("desc"),icon:(0,f.jsx)(de,{d:V.desc,color:"text.secondary"}),children:"\uB0B4\uB9BC\uCC28\uC21C \uC815\uB82C"},"sort-desc")),h.active&&h.clearable!==!1&&S.push((0,f.jsx)(j,{muted:!0,iconSpace:!0,onClick:()=>{W(),h.onChange(null)},children:"\uC815\uB82C \uD480\uAE30"},"sort-clear"))}return h&&u&&S.push((0,f.jsx)(ke,{},"div-sort")),u&&(M&&S.push((0,f.jsxs)(k.Box,{onKeyDown:g=>g.stopPropagation(),sx:{display:"flex",alignItems:"center",gap:1,px:1.5,pb:.5,minHeight:$e},children:[(0,f.jsx)(de,{d:V.search,color:"text.secondary"}),(0,f.jsx)(k.InputBase,{autoFocus:!0,value:q,onChange:g=>E(g.target.value),placeholder:u.searchPlaceholder??"\uCC3E\uAE30",sx:{flex:1,fontSize:Ve}})]},"search")),!A&&u.allLabel&&S.push((0,f.jsx)(j,{selected:D.length===0,onClick:()=>{W(),u.onChange([])},icon:(0,f.jsx)(de,{d:D.length===0?V.radioOn:V.radioOff,color:D.length===0?"primary.main":"text.disabled"}),children:u.allLabel},"f-all")),I.length===0&&S.push((0,f.jsx)(j,{disabled:!0,iconSpace:!0,children:u.emptyText??"\uACE0\uB97C \uAC12\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."},"f-none")),ee.forEach(g=>{let R=D.includes(g.value),H=()=>{if(A){u.onChange(R?D.filter(te=>te!==g.value):[...D,g.value]);return}W(),u.onChange(R?[]:[g.value])},U=A?R?V.checked:V.unchecked:R?V.radioOn:V.radioOff;S.push((0,f.jsxs)(j,{selected:!A&&R,onClick:H,icon:(0,f.jsx)(de,{d:U,color:R?"primary.main":"text.disabled"}),children:[g.icon,(0,f.jsx)(k.Box,{component:"span",sx:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:g.render??g.label}),typeof g.count=="number"?(0,f.jsx)(k.Box,{component:"span",sx:{color:"text.secondary",ml:1,fontVariantNumeric:"tabular-nums"},children:g.count}):null]},`f:${g.value||"(empty)"}`))}),M&&T&&ee.length===0&&S.push((0,f.jsx)(j,{disabled:!0,iconSpace:!0,children:"\uCC3E\uB294 \uAC12\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."},"f-nohit")),D.length>0&&S.push((0,f.jsx)(ke,{},"div-filter"),(0,f.jsx)(j,{muted:!0,iconSpace:!0,onClick:()=>{W(),u.onChange([])},children:u.clearLabel??"\uAC70\uB974\uAE30 \uD480\uAE30"},"f-clear"))),K&&(S.length>0&&S.push((0,f.jsx)(ke,{},"div-children")),S.push((0,f.jsx)(ce.default.Fragment,{children:K},"children"))),(0,f.jsx)(k.Menu,{open:o&&(!!d||!!l),...!d&&!!l?{anchorEl:l}:{anchorReference:"anchorPosition",anchorPosition:d??void 0},onClose:W,transitionDuration:0,disableAutoFocusItem:M,onContextMenu:g=>g.preventDefault(),onClick:g=>g.stopPropagation(),slotProps:{paper:{sx:{maxHeight:G,minWidth:Q}},list:{sx:{py:.5}}},children:S})}var Ft=At(require("@ehfuse/overlay-scrollbar"),1),r=require("react/jsx-runtime"),kn={alignment:"default",margin:0,radius:0},ut=5,En={bg:"#ffffff",border:"#e6e6e3",borderStrong:"#dedddb",headerColor:"#787774",hoverBg:"#f8f8f7",emptyColor:"#9b9a97",selectedBg:"#dbeafe",selectedBar:"#3b82f6"},zt="12px",Ln={bg:"#1e1e1e",border:"#2c333c",borderStrong:"#3b434e",headerColor:"#a3adbb",hoverBg:"#272d36",emptyColor:"#7d8590",selectedBg:"rgba(59, 130, 246, 0.22)",selectedBar:"#60a5fa"};function pt(o){return!!(o.filterOptions&&o.onFilterChange)}function Dn({data:o,loading:d=!1,columns:l,onRowClick:x,getRowId:h,selectedRowId:u,selectedRowSx:P,rowHeight:K,columnHeight:Q,striped:G,rowDivider:q=!0,onSort:E,onSortClear:A,onHeaderContextMenu:D,onLoadMore:I,sortBy:M,sortDirection:T,showPaper:ee=!0,paddingX:W,paddingTop:S=0,paddingBottom:ge=0,rowHoverColor:g,rowHoverOpacity:R,viewportBuffer:H,overscan:U,scrollbars:te,emptyMessage:Z="NO DATA",autoHeight:B=!1,LoadingComponent:Ee,showFooter:je,footerHeight:be,footerSx:me,variant:Wt="default",framed:ue=!0,headerTopBorder:$t=!1,rowHeightMode:Xt="fixed",tableLayout:Le="fixed",renderFullWidthRow:Ke,fullWidthRowSx:xe,onRowContextMenu:ft,pinnedRows:ye,pinnedRowsMaxHeight:Ue,pinnedRowsSx:Ce,resetScrollOnDataChange:ht=!0,rowKeyFromId:Yt=!1,onEndReached:gt,colorMode:jt}){let y=Wt==="notion",Ge=(0,s.useTheme)(),C=(jt??Ge.palette.mode)==="dark"?Ln:En,bt=(ye?.length??0)>0,ne=Q??(y?40:56),$=K??(y?48:50),De=ue?W??(y?"12px":"1rem"):0,qe=Xt==="auto",Ze=g??(y?C.hoverBg:void 0),mt=R??(y?1:void 0),Kt=Math.max($*12,480),Ut=Math.max($*12,480),Gt=typeof H=="number"?H:H?.top??Kt,qt=typeof H=="number"?H:H?.bottom??Ut,Zt=Math.max($*8,420),Jt=Math.max($*10,520),Qt=typeof U=="number"?U:{main:U?.main??Zt,reverse:U?.reverse??Jt},Me=$+(q?1:0),en=(0,a.useMemo)(()=>y?{backgroundColor:C.selectedBg,"& > td:first-of-type":{boxShadow:`inset 3px 0 0 ${C.selectedBar}`},"& > td[data-vdt-pinned]":{backgroundColor:C.selectedBg}}:void 0,[y,C]),X=P??en,Ie=!X||typeof X!="function",tn=(0,a.useMemo)(()=>!Ie||u===null||u===void 0||!X?null:{[`& tbody tr[data-row-id="${String(u).replace(/["\\]/g,"\\$&")}"]`]:X},[Ie,u,X]),Pn=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),[v]=(0,a.useState)(()=>typeof window>"u"?!1:window.localStorage.getItem("vdt-perf-debug")==="1"),m=(0,a.useRef)({wheelEvents:0,wheelInputPx:0,wheelHandlerMs:0,wheelRafFlushes:0,wheelRafMs:0,rangeChangedCalls:0,rangeChangedMs:0,rowContentCalls:0,rowContentMs:0,rowContentMaxMs:0,cellRenderCalls:0,cellRenderMs:0,cellRenderMaxMs:0}),Je=(0,a.useCallback)(t=>{if(!v)return;let e=m.current;if(!(e.wheelEvents>0||e.rangeChangedCalls>0||e.rowContentCalls>0||e.cellRenderCalls>0))return;let p=e.rowContentCalls>0?e.rowContentMs/e.rowContentCalls:0,b=e.cellRenderCalls>0?e.cellRenderMs/e.cellRenderCalls:0;console.log("[VDT perf]",{reason:t,wheel:{events:e.wheelEvents,inputPx:Math.round(e.wheelInputPx),handlerMs:Number(e.wheelHandlerMs.toFixed(2)),rafFlushes:e.wheelRafFlushes,rafMs:Number(e.wheelRafMs.toFixed(2))},rangeChanged:{calls:e.rangeChangedCalls,totalMs:Number(e.rangeChangedMs.toFixed(2))},rowContent:{calls:e.rowContentCalls,totalMs:Number(e.rowContentMs.toFixed(2)),avgMs:Number(p.toFixed(3)),maxMs:Number(e.rowContentMaxMs.toFixed(3))},cellRender:{calls:e.cellRenderCalls,totalMs:Number(e.cellRenderMs.toFixed(2)),avgMs:Number(b.toFixed(3)),maxMs:Number(e.cellRenderMaxMs.toFixed(3))}}),m.current={wheelEvents:0,wheelInputPx:0,wheelHandlerMs:0,wheelRafFlushes:0,wheelRafMs:0,rangeChangedCalls:0,rangeChangedMs:0,rowContentCalls:0,rowContentMs:0,rowContentMaxMs:0,cellRenderCalls:0,cellRenderMs:0,cellRenderMaxMs:0}},[v]);(0,a.useEffect)(()=>{if(!v||typeof window>"u")return;console.log("[VDT perf] enabled (localStorage vdt-perf-debug=1)");let t=window.setInterval(()=>{Je("interval")},1500);return()=>{window.clearInterval(t),Je("cleanup")}},[Je,v]);let xt=(0,a.useMemo)(()=>(0,a.forwardRef)((t,e)=>{let i=(0,a.useRef)(null),p=(0,a.useRef)(0),b=(0,a.useRef)(null);return(0,a.useEffect)(()=>{let n=i.current;if(!n)return;let c=L=>{let z=v?performance.now():0;if(L.shiftKey||Math.abs(L.deltaX)>Math.abs(L.deltaY))return;let N=L.target?.closest?.("[data-vdt-inner-scroll]");if(N&&n.contains(N)&&(L.deltaY<0?N.scrollTop>0:N.scrollTop+N.clientHeight<N.scrollHeight-1))return;L.preventDefault();let J=L.deltaY;L.deltaMode===1?J*=40:L.deltaMode===2&&(J*=n.clientHeight),v&&(m.current.wheelEvents+=1,m.current.wheelInputPx+=J),p.current+=J,b.current===null&&(b.current=requestAnimationFrame(()=>{let fe=v?performance.now():0,w=Math.max(n.clientHeight*.4,160),_=Math.max(-w,Math.min(w,p.current));p.current=0,b.current=null,_!==0&&(n.scrollTop+=_),v&&(m.current.wheelRafFlushes+=1,m.current.wheelRafMs+=performance.now()-fe)}),v&&(m.current.wheelHandlerMs+=performance.now()-z))};return n.addEventListener("wheel",c,{passive:!1}),()=>{n.removeEventListener("wheel",c),b.current!==null&&(cancelAnimationFrame(b.current),b.current=null),p.current=0}},[]),(0,r.jsx)(Ft.default,{detectInnerScroll:!0,track:kn,...te,children:(0,r.jsx)(s.TableContainer,{component:s.Box,...t,ref:n=>{i.current=n,typeof e=="function"?e(n):e&&(e.current=n)},sx:{userSelect:"auto",WebkitUserSelect:"auto",position:"relative",width:"100%",height:"100%",overflow:"auto",display:"flex",flexDirection:"column",scrollbarWidth:"none",msOverflowStyle:"none",transform:"translateZ(0)",backfaceVisibility:"hidden",willChange:"scroll-position","&::-webkit-scrollbar":{display:"none"},"& .MuiTable-root":{paddingRight:y?0:De,paddingTop:S,paddingBottom:ge}}})})}),[]),Qe=(0,a.useMemo)(()=>{if(G===!0)return"#f5f5f5";if(typeof G=="string")return G},[G]),[nn,yt]=(0,a.useState)(d),[rn,on]=(0,a.useState)(0);(0,a.useEffect)(()=>{d&&yt(!0)},[d]);let Ct=(0,a.useCallback)(()=>{yt(!1)},[]),an=nn,An=d&&o.length>0,et=(0,a.useRef)(!1),tt=(0,a.useRef)(-1),nt=(0,a.useRef)(null),rt=(0,a.useRef)(null),[ln,sn]=(0,a.useState)(!1),Pe=(0,a.useCallback)(()=>{let t=rt.current;t&&sn(t.scrollHeight>t.clientHeight+1)},[]);(0,a.useEffect)(()=>{let t=rt.current;if(!t||typeof ResizeObserver>"u")return;let e=new ResizeObserver(()=>Pe());return e.observe(t),()=>e.disconnect()},[Pe,B]);let ot=(0,a.useRef)(x);ot.current=x;let ve=(0,a.useRef)(h);ve.current=h;let at=(0,a.useRef)(ft);at.current=ft;let Mt=(0,a.useRef)(gt);Mt.current=gt;let vt=(0,a.useRef)(null),Ae=(0,a.useMemo)(()=>{let t=new Map,e=0;return l.forEach(i=>{i.pinned==="left"&&(t.set(String(i.id),e),e+=typeof i.width=="number"?i.width:0)}),t},[l]),it=(0,a.useMemo)(()=>{if(l.some(t=>typeof t.minWidth=="number"))return l.reduce((t,e)=>t+(typeof e.width=="number"?e.width:typeof e.minWidth=="number"?e.minWidth:0),0)},[l]),pe=(0,a.useCallback)((t,e)=>{let i=Ae.get(String(t.id));return i===void 0?{}:{position:"sticky",left:i,zIndex:e?3:1}},[Ae]),Ne=!!x,we=(0,a.useRef)(!1),re=(0,a.useRef)({x:0,y:0});(0,a.useEffect)(()=>{let t=e=>{let i=e.clientX-re.current.x,p=e.clientY-re.current.y;Math.sqrt(i*i+p*p)>ut&&(we.current=!0)};return document.addEventListener("mousemove",t),()=>{document.removeEventListener("mousemove",t)}},[]),(0,a.useEffect)(()=>{let t=document.querySelector('[data-testid="virtuoso-scroller"]');t&&t.querySelectorAll(".MuiTableSortLabel-root").forEach(i=>{let p=new MouseEvent("mouseleave",{bubbles:!0,cancelable:!0});i.dispatchEvent(p)})},[M]);let Be=(0,a.useCallback)(t=>{if(!E)return;E(t,M===t&&T==="asc"?"desc":"asc")},[E,M,T]),[Se,wt]=(0,a.useState)(null),St=(0,a.useRef)(D);St.current=D;let Tt=(0,a.useRef)(E);Tt.current=E;let Te=(0,a.useCallback)((t,e)=>{if(!t){e.preventDefault();return}t.headerProps?.onContextMenu?.(e);let i=e.defaultPrevented;if(i||(i=St.current?.(t,e)===!0||e.defaultPrevented),e.preventDefault(),i||t.headerMenu===!1||!!!((t.sortMenu??t.sortable)&&Tt.current)&&!pt(t))return;let b=e.currentTarget.getBoundingClientRect();wt({colId:String(t.id),x:e.clientX,y:b.bottom})},[]),oe=(0,a.useCallback)(t=>{if(!pt(t))return t.text;let e=!!(t.filterValues&&t.filterValues.length>0);return(0,r.jsxs)(s.Box,{component:"span",sx:{display:"inline-flex",alignItems:"center",gap:.5,maxWidth:"100%",color:e?"primary.main":void 0,fontWeight:e?600:void 0,verticalAlign:"middle"},children:[(0,r.jsx)(s.Box,{component:"span",sx:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:t.text}),(0,r.jsx)(Xe,{active:e})]})},[]),dn=(0,a.useCallback)(t=>{let e=v?performance.now():0;if(Mt.current?.(),!I){v&&(m.current.rangeChangedCalls+=1,m.current.rangeChangedMs+=performance.now()-e);return}if(d&&o.length===0){v&&(m.current.rangeChangedCalls+=1,m.current.rangeChangedMs+=performance.now()-e);return}let i=o.length>=30,p=t>=o.length-1,b=tt.current===o.length;if(p&&i&&!et.current&&!b){et.current=!0,tt.current=o.length;let n=o.length;I(n,50)}v&&(m.current.rangeChangedCalls+=1,m.current.rangeChangedMs+=performance.now()-e)},[o.length,d,I,v]);(0,a.useEffect)(()=>{d||(et.current=!1)},[d]),(0,a.useEffect)(()=>{o.length===0&&on(t=>t+1)},[o.length]);let Rt=(0,a.useRef)(ht);Rt.current=ht;let lt=(0,a.useRef)(o.length),st=(0,a.useRef)(void 0);(0,a.useEffect)(()=>{let t=lt.current,e=o.length,i=e>0?ve.current?ve.current(o[0],0):o[0]:void 0,p=st.current;if(e>t&&t>0){lt.current=e,st.current=i;return}let b=e<t||t>0&&i!==p;b&&(tt.current=-1),nt.current&&e>0&&b&&Rt.current&&nt.current.scrollToIndex({index:0,align:"start",behavior:"auto"}),lt.current=e,st.current=i},[o]);let Ht=(0,a.useCallback)(()=>{let t={},e=[];if(l.forEach(n=>{n.group?(t[n.group]||(t[n.group]=[]),t[n.group].push(n)):e.push(n)}),!(Object.keys(t).length>0))return(0,r.jsx)(s.TableRow,{children:l.map(n=>(0,r.jsx)(s.TableCell,{align:n.align||"left",title:typeof n.text=="string"?n.text:void 0,...n.headerProps,onContextMenu:c=>Te(n,c),style:{width:n.width,minWidth:n.width??n.minWidth,...n.style,fontWeight:"bold",position:"sticky",top:0,zIndex:2,padding:"16px",...pe(n,!0),...n.headerProps?.style},children:n.sortable?(0,r.jsx)("div",{style:{display:"flex",alignItems:"center",justifyContent:n.align==="center"?"center":n.align==="right"?"flex-end":"flex-start",position:"relative",width:"100%"},children:(0,r.jsxs)(s.Box,{sx:{position:"relative",cursor:"default","&:hover .MuiTableSortLabel-root":{opacity:"1 !important","& .MuiSvgIcon-root":{color:"#000",opacity:"1 !important"}}},onClick:()=>Be(String(n.id)),children:[oe(n),(0,r.jsx)(s.TableSortLabel,{active:M===n.id,direction:M===n.id?T:"desc",sx:{position:"absolute",left:"100%",top:"50%",transform:"translateY(-50%)",marginLeft:"4px",minWidth:"auto",width:"16px",height:"16px",cursor:"default",opacity:M===n.id?1:0,transition:"opacity 0.2s ease","& .MuiTableSortLabel-icon":{position:"relative",marginLeft:0,marginRight:0,opacity:1,transition:"color 0.2s ease"},"& .MuiTableSortLabel-iconDirectionAsc":{transform:"rotate(180deg)"},"& .MuiTableSortLabel-iconDirectionDesc":{transform:"rotate(0deg)"}}})]})}):oe(n)},String(n.id)))});let p=[...e.map(n=>(0,r.jsx)(s.TableCell,{rowSpan:2,align:n.align||"left",title:typeof n.text=="string"?n.text:void 0,...n.headerProps,onContextMenu:c=>Te(n,c),style:{width:n.width,minWidth:n.width,...n.style,fontWeight:"bold",position:"sticky",top:0,zIndex:2,padding:"16px",...pe(n,!0),...n.headerProps?.style},children:n.sortable&&E?(0,r.jsx)("div",{style:{display:"flex",alignItems:"center",justifyContent:n.align==="center"?"center":n.align==="right"?"flex-end":"flex-start",position:"relative",width:"100%"},children:(0,r.jsxs)(s.Box,{sx:{position:"relative",cursor:"default","&:hover .MuiTableSortLabel-root":{opacity:"1 !important","& .MuiSvgIcon-root":{color:"#000",opacity:"1 !important"}}},onClick:()=>Be(String(n.id)),children:[oe(n),(0,r.jsx)(s.TableSortLabel,{active:M===n.id,direction:M===n.id?T:"desc",sx:{position:"absolute",left:"100%",top:"50%",transform:"translateY(-50%)",marginLeft:"4px",minWidth:"auto",width:"16px",height:"16px",cursor:"default",opacity:M===n.id?1:0,transition:"opacity 0.2s ease","&:hover":{opacity:"1 !important","& .MuiSvgIcon-root":{color:"#000",opacity:"1 !important"}},"& .MuiTableSortLabel-icon":{position:"relative",marginLeft:0,marginRight:0,opacity:1,transition:"color 0.2s ease"},"& .MuiTableSortLabel-iconDirectionAsc":{transform:"rotate(180deg)"},"& .MuiTableSortLabel-iconDirectionDesc":{transform:"rotate(0deg)"}}})]})}):oe(n)},String(n.id))),...Object.entries(t).map(([n,c])=>(0,r.jsx)(s.TableCell,{align:"center",colSpan:c.length,onContextMenu:L=>Te(null,L),style:{fontWeight:"bold",position:"sticky",top:0,zIndex:2,padding:"16px"},children:n},n))],b=[...Object.values(t).flat().map(n=>(0,r.jsx)(s.TableCell,{align:n.align||"left",title:typeof n.text=="string"?n.text:void 0,...n.headerProps,onContextMenu:c=>Te(n,c),style:{width:n.width,minWidth:n.width,...n.style,fontWeight:"bold",position:"sticky",top:0,zIndex:2,padding:"16px",...pe(n,!0),...n.headerProps?.style},children:n.sortable&&E?(0,r.jsx)("div",{style:{display:"flex",alignItems:"center",justifyContent:n.align==="center"?"center":n.align==="right"?"flex-end":"flex-start",position:"relative",width:"100%"},children:(0,r.jsxs)(s.Box,{sx:{position:"relative",cursor:"default","&:hover .MuiTableSortLabel-root":{opacity:"1 !important","& .MuiSvgIcon-root":{color:"#000",opacity:"1 !important"}}},onClick:()=>Be(String(n.id)),children:[oe(n),(0,r.jsx)(s.TableSortLabel,{active:M===n.id,direction:M===n.id?T:"desc",sx:{position:"absolute",left:"100%",top:"50%",transform:"translateY(-50%)",marginLeft:"4px",minWidth:"auto",width:"16px",height:"16px",cursor:"default",opacity:M===n.id?1:0,transition:"opacity 0.2s ease","&:hover":{opacity:"1 !important","& .MuiSvgIcon-root":{color:"#000",opacity:"1 !important"}},"& .MuiTableSortLabel-icon":{position:"relative",marginLeft:0,marginRight:0,opacity:1,transition:"color 0.2s ease"},"& .MuiTableSortLabel-iconDirectionAsc":{transform:"rotate(0deg)"},"& .MuiTableSortLabel-iconDirectionDesc":{transform:"rotate(180deg)"}}})]})}):oe(n)},String(n.id)))];return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.TableRow,{children:p}),(0,r.jsx)(s.TableRow,{children:b})]})},[l,M,T,Be,E,ne,pe,Te,oe]),Oe=(0,a.useCallback)((t,e)=>{let i=v?performance.now():0;if(!e){if(v){m.current.rowContentCalls+=1;let c=performance.now()-i;m.current.rowContentMs+=c,m.current.rowContentMaxMs=Math.max(m.current.rowContentMaxMs,c)}return null}let p=Ke?Ke(e,t):null;if(p!=null)return(0,r.jsx)(s.TableCell,{colSpan:l.length,"data-vdt-pad":"",sx:[{padding:y?"0 14px":"8px 16px"},...Array.isArray(xe)?xe:xe?[xe]:[]],children:p});let b=0,n=l.map((c,L)=>{if(b>0)return b-=1,null;let z=c.colSpan?Math.max(1,Math.min(c.colSpan(e,t),l.length-L)):1;b=z-1;let N=v?performance.now():0,J=c.render?c.render(e,t):String(e[c.id]||"");if(v){let F=performance.now()-N;m.current.cellRenderCalls+=1,m.current.cellRenderMs+=F,m.current.cellRenderMaxMs=Math.max(m.current.cellRenderMaxMs,F)}let fe=Ae.has(String(c.id)),w=c.cellPadding!==void 0,_=c.rowSpan?c.rowSpan(e,t):1;if(_<=0)return null;let ae=c.onCellClick;return(0,r.jsx)(s.TableCell,{align:c.align||"left",rowSpan:_>1?_:void 0,colSpan:z>1?z:void 0,"data-vdt-pad":w?"":void 0,"data-vdt-pinned":fe?"":void 0,"data-vdt-cell-click":ae?"":void 0,onClick:ae?F=>{let he=F.clientX-re.current.x,ie=F.clientY-re.current.y;F.stopPropagation(),!(Math.sqrt(he*he+ie*ie)>ut)&&ae(e,t,F)}:void 0,style:{...z>1?{}:{width:c.width,minWidth:c.width??c.minWidth},...c.primary?{fontSize:15}:{},...c.style,...c.cellStyle?c.cellStyle(e,t):{},padding:w?c.cellPadding:"8px 16px",...pe(c,!1)},children:J},String(c.id))});if(v){m.current.rowContentCalls+=1;let c=performance.now()-i;m.current.rowContentMs+=c,m.current.rowContentMaxMs=Math.max(m.current.rowContentMaxMs,c)}return(0,r.jsx)(r.Fragment,{children:n})},[l,v,Ke,xe,y,Ae,pe]),kt=(0,a.useCallback)(()=>{let t=Ht();if(!ye||ye.length===0)return t;let e=vt.current;return(0,r.jsxs)(r.Fragment,{children:[t,(0,r.jsx)("tr",{"data-vdt-pinned-area":"",children:(0,r.jsx)("td",{colSpan:l.length,style:{padding:0,border:0},children:(0,r.jsx)(s.Box,{"data-vdt-inner-scroll":"",sx:[{maxHeight:Ue,overflowY:Ue?"auto":"visible",overflowX:"hidden",scrollbarWidth:"thin",borderBottom:`1px solid ${y?C.borderStrong:"rgba(224, 224, 224, 1)"}`,"& tbody tr:last-of-type > td":{borderBottom:"none"}},...Array.isArray(Ce)?Ce:Ce?[Ce]:[]],children:(0,r.jsxs)("table",{style:{width:"100%",tableLayout:Le,borderCollapse:"separate",borderSpacing:0},children:[(0,r.jsx)("colgroup",{children:l.map(i=>(0,r.jsx)("col",{style:{width:i.width,minWidth:i.width??i.minWidth}},String(i.id)))}),(0,r.jsx)(s.TableBody,{children:ye.map((i,p)=>e?(0,r.jsx)(e,{item:i,"data-index":p,"data-vdt-pinned-row":"",children:Oe(p,i)},h?String(h(i,p)):`p${p}`):null)})]})})})})]})},[Ht,ye,Ue,Ce,l,Oe,Le,h,y,C]),Y=je??l.some(t=>typeof t.footer=="function"),Et=(0,a.useCallback)(()=>{if(!Y)return null;let t=[];for(let e=0;e<l.length;e+=1){let i=l[e],p=i.footerColSpan&&i.footerColSpan>1?Math.min(i.footerColSpan,l.length-e):1;t.push((0,r.jsx)(s.TableCell,{align:i.align||"left",colSpan:p>1?p:void 0,style:{...p>1?{}:{width:i.width,minWidth:i.width},...i.style,fontWeight:"bold",padding:y?"0 14px":"16px"},children:i.footer?i.footer(o):null},String(i.id))),e+=p-1}return(0,r.jsx)(s.TableRow,{children:t})},[Y,l,o,y]),dt=(0,a.useMemo)(()=>({Scroller:xt,Table:t=>(0,r.jsx)(s.Table,{...t,sx:{borderCollapse:"separate",tableLayout:Le,...it?{minWidth:it}:{},marginRight:ue?"16px":0,...Y?{height:"100%"}:{}}}),TableHead:(0,a.forwardRef)((t,e)=>(0,r.jsx)(s.TableHead,{...t,ref:e,sx:{userSelect:"none","& > tr":{height:ne,"& > th":{padding:"16px",position:"sticky",top:0,zIndex:2,fontWeight:"bold"}}}})),TableRow:t=>{let{item:e,selected:i,"aria-selected":p,className:b,...n}=t,c=n["data-index"]??0,L=c%2===1,z=e&&ve.current?ve.current(e,c):c,N=!Ie&&u!==null&&u!==void 0&&z===u,J=N&&X?typeof X=="function"?X(e,c):X:void 0,fe=String(b??"").split(/\s+/).filter(w=>w!=="Mui-selected"&&w!=="Mui-focusVisible").join(" ");return(0,r.jsx)(s.TableRow,{...n,"data-row-id":z!=null?String(z):void 0,className:fe||void 0,selected:N,onMouseDown:w=>{we.current=!1,re.current={x:w.clientX,y:w.clientY}},onContextMenu:w=>{e&&at.current&&at.current(e,c,w)},onClick:w=>{let _=w.clientX-re.current.x,ae=w.clientY-re.current.y;if(Math.sqrt(_*_+ae*ae)>ut||we.current){w.preventDefault(),w.stopPropagation(),we.current=!1;return}e&&ot.current&&ot.current(e,c),we.current=!1},sx:[{userSelect:"none",...qe?{"& > td":{height:Me}}:{height:Me,maxHeight:Me},boxSizing:"border-box",backgroundColor:L&&Qe?Qe:"transparent","& td:not([data-vdt-pad])":{padding:"8px 16px"},"& td":{boxSizing:"border-box",borderBottom:q?"1px solid rgba(224, 224, 224, 1)":"none"},"& th":{padding:"8px 16px",borderBottom:"none"},"&:hover":Ne&&!N?{backgroundColor:w=>{let _=w.palette.mode==="dark",F=Ze??"#000000",he=mt??.06;if(!Ze)return _?`rgba(255, 255, 255, ${he})`:`rgba(0, 0, 0, ${he})`;let ie=F.replace("#","").trim();if(ie.length!==6)return F;let mn=parseInt(ie.substring(0,2),16),xn=parseInt(ie.substring(2,4),16),yn=parseInt(ie.substring(4,6),16);return`rgba(${mn}, ${xn}, ${yn}, ${he})`}}:void 0,cursor:Ne?"pointer":void 0},J]})},TableBody:(0,a.forwardRef)((t,e)=>{let{children:i,...p}=t;return(0,r.jsxs)(s.TableBody,{...p,ref:e,sx:Y?{height:"100%"}:void 0,children:[i,Y&&(0,r.jsx)("tr",{"aria-hidden":!0,style:{height:"100%"},children:(0,r.jsx)("td",{colSpan:l.length,style:{padding:0,border:0}})})]})}),TableFoot:(0,a.forwardRef)((t,e)=>(0,r.jsx)(s.TableFooter,{...t,ref:e,sx:[{"& tr":{height:be??$,maxHeight:be??$,boxSizing:"border-box"},"& td":{height:be??$,boxSizing:"border-box",backgroundColor:i=>i.palette.mode==="dark"?"#1e1e1e":"#ffffff",padding:"0 16px",color:"inherit",fontSize:"0.875rem",border:"none",boxShadow:`inset 0 1px 0 0 ${y?C.borderStrong:"#000000"}`}},...Array.isArray(me)?me:me?[me]:[]]}))}),[Ne,Ie?null:u,X,$,Qe,q,ne,Ze,mt,xt,be,me,Y,y,C,l,Le,ue,qe,it]);vt.current=dt.TableRow;let cn=dt,Re=dt,un=Re.Table,pn=Re.TableHead,fn=Re.TableBody,hn=Re.TableRow,gn=Re.TableFoot,O=Se?l.find(t=>String(t.id)===Se.colId):void 0,bn=()=>wt(null),Lt=null;if(Se&&O){let t=String(O.id),e=!!((O.sortMenu??O.sortable)&&E),i=pt(O),p=M===t?T:void 0;Lt=(0,r.jsx)(Ye,{open:!0,anchorPosition:{left:Se.x,top:Se.y},onClose:bn,sort:e?{active:p??null,clearable:!!A,onChange:b=>{b?E?.(t,b):A?.()}}:void 0,filter:i?{options:O.filterOptions??[],value:O.filterValues??[],onChange:b=>O.onFilterChange?.(b),multiple:O.filterMultiple!==!1,emptyLabel:O.filterEmptyLabel,searchable:O.filterSearchable}:void 0})}let Dt=(0,r.jsxs)(s.Box,{sx:{position:"relative",height:B?"auto":"100%",width:"100%","& .MuiTableHead-root":{backgroundColor:t=>y?`${C.bg} !important`:t.palette.mode==="dark"?"#1e1e1e !important":"#ffffff !important"},...tn??{},"& tbody td[data-vdt-pinned]":{backgroundColor:y?C.bg:Ge.palette.background.paper},"& tbody td[data-vdt-cell-click]":{cursor:"pointer"},"& tbody td[data-vdt-cell-click]:hover":{backgroundColor:y?C.hoverBg:Ge.palette.mode==="dark"?"rgba(255, 255, 255, 0.06)":"rgba(0, 0, 0, 0.04)"},...y&&Ne?{"& tbody tr:hover td[data-vdt-pinned]":{backgroundColor:C.hoverBg}}:{},...y?{...ue?{border:`1px solid ${C.borderStrong}`,borderRadius:"4px"}:{"& table":{backgroundColor:C.bg}},overflow:"hidden","& thead tr th > *":{verticalAlign:"middle"},"& thead > tr > th":{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},"& thead > tr > th > *":{maxWidth:"100%"},"& thead tr th":{height:ne,boxSizing:"border-box",padding:"0 14px !important",fontSize:13,fontWeight:"500 !important",color:C.headerColor,backgroundColor:`${C.bg} !important`,borderTop:!ue&&$t?`1px solid ${C.borderStrong}`:"none",borderBottom:`1px solid ${C.borderStrong}`,borderRight:`1px solid ${C.border}`,"&:last-of-type":{borderRight:"none"}},"& tbody tr td:not([data-vdt-pad])":{padding:"0 14px !important"},"& tbody tr td":{fontSize:14,borderBottom:`1px solid ${C.border}`},...o.length>0&&(B||ln||Y)?{[`& tbody tr[data-index="${o.length-1}"]:not([data-vdt-pinned-row]) td`]:{borderBottom:"none"}}:{}}:{}},children:[B?(0,r.jsx)(s.Box,{sx:{overflowX:"auto",width:"100%"},children:(0,r.jsxs)(un,{children:[(0,r.jsx)(pn,{children:kt()}),(0,r.jsx)(fn,{children:o.map((t,e)=>(0,r.jsx)(hn,{item:t,"data-index":e,children:Oe(e,t)},h?String(h(t,e)):e))}),Y?(0,r.jsx)(gn,{children:Et()}):null]})}):(0,r.jsx)(_t.TableVirtuoso,{ref:nt,data:o,totalCount:I?o.length+1:o.length,defaultItemHeight:Me,fixedItemHeight:qe?void 0:Me,fixedHeaderContent:kt,fixedFooterContent:Y?Et:void 0,itemContent:Oe,...Yt&&h?{computeItemKey:(t,e)=>e?h(e,t):`vdt-${t}`}:{},endReached:dn,scrollerRef:t=>{rt.current=t instanceof HTMLElement?t:null,Pe()},totalListHeightChanged:Pe,style:{height:"100%"},increaseViewportBy:{top:Gt,bottom:qt},overscan:Qt,followOutput:!1,components:cn},rn),o.length===0&&!d&&!bt&&y&&typeof Z=="string"&&(0,r.jsx)(s.Box,{sx:{position:B?"static":"absolute",top:ne,left:0,right:0,py:6,textAlign:"center",fontSize:14,color:C.emptyColor,pointerEvents:"none"},children:Z}),o.length===0&&!d&&!bt&&!(y&&typeof Z=="string")&&(0,r.jsx)(s.Box,{sx:{position:"absolute",top:0,left:0,right:0,bottom:0,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:2,pointerEvents:"none","& > *":{pointerEvents:"auto"}},children:typeof Z=="string"?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.Box,{sx:{width:48,height:48,display:"flex",alignItems:"center",justifyContent:"center",borderRadius:"50%",backgroundColor:"#f5f5f5",color:"#999"},children:"\u{1F4C4}"}),(0,r.jsx)(s.Typography,{variant:"body1",sx:{color:"text.secondary"},children:Z})]}):Z}),Lt,an&&(0,r.jsx)(r.Fragment,{children:Ee?(0,r.jsx)(Ee,{visible:d,onComplete:Ct}):(0,r.jsx)(Nt,{visible:d,onComplete:Ct,size:40,indicator:(0,r.jsx)(Bt,{}),sx:{top:`${l.some(t=>t.group)?ne*2:ne}px`,bottom:`${Y?be??$:0}px`},background:{show:o.length===0,opacity:.8}})})]}),It=y&&ue?{paddingRight:De,paddingTop:zt,paddingBottom:zt}:{};return ee?(0,r.jsx)(s.Paper,{className:"grow",elevation:1,sx:{padding:0,paddingLeft:De,...It,boxSizing:"border-box",height:B?"auto":"100%",minHeight:0,flex:B?"none":1,display:"flex",flexDirection:"column"},children:Dt}):(0,r.jsx)(s.Box,{className:"grow",style:{padding:0,paddingLeft:De,...It,boxSizing:"border-box",height:B?"auto":"100%",minHeight:0,flex:B?"none":1,display:"flex",flexDirection:"column"},children:Dt})}var Vt=(0,a.memo)(Dn);
|
|
4
|
+
`;function Bt({size:o=54}){return(0,de.jsxs)(de.Fragment,{children:[(0,de.jsx)("style",{children:Hn}),(0,de.jsx)("span",{className:"vdt-css-spinner",role:"progressbar","aria-label":"loading",style:{display:"inline-block",width:o,height:o}})]})}var G=At(require("react"),1),k=require("@mui/material"),h=require("react/jsx-runtime"),Ve=14,We=18,$e=34,V={asc:"M4 12l1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8-8 8z",desc:"M20 12l-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z",checked:"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z",unchecked:"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z",radioOn:"M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zm0-5C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z",radioOff:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z",filter:"M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z",search:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"};function ce({d:o,size:d=We,color:l}){return(0,h.jsx)(k.SvgIcon,{sx:{fontSize:d,flexShrink:0,color:l},children:(0,h.jsx)("path",{d:o})})}function Xe({size:o=14,active:d,color:l}){let x={stroke:"currentColor",strokeWidth:1.8,strokeMiterlimit:10,strokeLinecap:"round",strokeLinejoin:"round"};return(0,h.jsxs)(k.Box,{component:"svg",viewBox:"0 0 24 24",fill:"none","aria-hidden":!0,sx:{width:o,height:o,flexShrink:0,color:d?"primary.main":l??"currentColor",verticalAlign:"middle"},children:[(0,h.jsx)("path",{d:"M2 17.5H7",...x}),(0,h.jsx)("path",{d:"M22 6.5H17",...x}),(0,h.jsx)("path",{d:"M13 17.5H22",...x}),(0,h.jsx)("path",{d:"M11 6.5H2",...x}),(0,h.jsx)("path",{d:"M10 20.3999C8.34315 20.3999 7 19.0568 7 17.3999C7 15.743 8.34315 14.3999 10 14.3999C11.6569 14.3999 13 15.743 13 17.3999C13 19.0568 11.6569 20.3999 10 20.3999Z",...x}),(0,h.jsx)("path",{d:"M14 9.3999C15.6569 9.3999 17 8.05676 17 6.3999C17 4.74305 15.6569 3.3999 14 3.3999C12.3431 3.3999 11 4.74305 11 6.3999C11 8.05676 12.3431 9.3999 14 9.3999Z",...x})]})}var ct={gap:1,fontSize:Ve,lineHeight:"20px",minHeight:$e,py:"7px",px:1.5};function j({icon:o,iconSpace:d,selected:l,disabled:x,muted:g,onClick:u,sx:P,children:K}){return(0,h.jsxs)(k.MenuItem,{selected:l,disabled:x,onClick:u,sx:[ct,g?{color:"text.secondary"}:{},...Array.isArray(P)?P:P?[P]:[]],children:[o??(d?(0,h.jsx)(k.Box,{component:"span",sx:{width:We,flexShrink:0}}):null),K]})}function ke(){return(0,h.jsx)(k.Divider,{sx:{my:"4px !important"}})}function Ot(o,d){let l=o.getBoundingClientRect();return{left:d??l.left,top:l.bottom}}function Ye({open:o,anchorPosition:d,anchorEl:l,onClose:x,sort:g,filter:u,header:P,children:K,minWidth:ee=180,maxHeight:q=420}){let[Z,E]=(0,G.useState)(""),A=u?.multiple!==!1,D=u?.value??[],I=(0,G.useMemo)(()=>{if(!u)return[];let f=u.options;return u.emptyLabel&&!f.some(T=>T.value==="")?[...f,{value:"",label:u.emptyLabel}]:f},[u]),M=!!u&&(u?.searchable??I.length>10),R=Z.trim().toLowerCase(),te=R?I.filter(f=>f.label.toLowerCase().includes(R)):I,W=()=>{E(""),x()},S=[];if(P&&S.push(...G.default.Children.toArray(P).map((f,T)=>G.default.isValidElement(f)?G.default.cloneElement(f,{key:`h${T}`}):f)),g){let f=T=>{W(),g.onChange(g.active===T&&g.clearable!==!1?null:T)};S.push((0,h.jsx)(j,{selected:g.active==="asc",onClick:()=>f("asc"),icon:(0,h.jsx)(ce,{d:V.asc,color:"text.secondary"}),children:"\uC624\uB984\uCC28\uC21C \uC815\uB82C"},"sort-asc"),(0,h.jsx)(j,{selected:g.active==="desc",onClick:()=>f("desc"),icon:(0,h.jsx)(ce,{d:V.desc,color:"text.secondary"}),children:"\uB0B4\uB9BC\uCC28\uC21C \uC815\uB82C"},"sort-desc")),g.active&&g.clearable!==!1&&S.push((0,h.jsx)(j,{muted:!0,iconSpace:!0,onClick:()=>{W(),g.onChange(null)},children:"\uC815\uB82C \uD480\uAE30"},"sort-clear"))}return g&&u&&S.push((0,h.jsx)(ke,{},"div-sort")),u&&(M&&S.push((0,h.jsxs)(k.Box,{onKeyDown:f=>f.stopPropagation(),sx:{display:"flex",alignItems:"center",gap:1,px:1.5,pb:.5,minHeight:$e},children:[(0,h.jsx)(ce,{d:V.search,color:"text.secondary"}),(0,h.jsx)(k.InputBase,{autoFocus:!0,value:Z,onChange:f=>E(f.target.value),placeholder:u.searchPlaceholder??"\uCC3E\uAE30",sx:{flex:1,fontSize:Ve}})]},"search")),!A&&u.allLabel&&S.push((0,h.jsx)(j,{selected:D.length===0,onClick:()=>{W(),u.onChange([])},icon:(0,h.jsx)(ce,{d:D.length===0?V.radioOn:V.radioOff,color:D.length===0?"primary.main":"text.disabled"}),children:u.allLabel},"f-all")),I.length===0&&S.push((0,h.jsx)(j,{disabled:!0,iconSpace:!0,children:u.emptyText??"\uACE0\uB97C \uAC12\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."},"f-none")),te.forEach(f=>{let T=D.includes(f.value),H=()=>{if(A){u.onChange(T?D.filter(ne=>ne!==f.value):[...D,f.value]);return}W(),u.onChange(T?[]:[f.value])},U=A?T?V.checked:V.unchecked:T?V.radioOn:V.radioOff;S.push((0,h.jsxs)(j,{selected:!A&&T,onClick:H,icon:(0,h.jsx)(ce,{d:U,color:T?"primary.main":"text.disabled"}),children:[f.icon,(0,h.jsx)(k.Box,{component:"span",sx:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:f.render??f.label}),typeof f.count=="number"?(0,h.jsx)(k.Box,{component:"span",sx:{color:"text.secondary",ml:1,fontVariantNumeric:"tabular-nums"},children:f.count}):null]},`f:${f.value||"(empty)"}`))}),M&&R&&te.length===0&&S.push((0,h.jsx)(j,{disabled:!0,iconSpace:!0,children:"\uCC3E\uB294 \uAC12\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."},"f-nohit")),D.length>0&&S.push((0,h.jsx)(ke,{},"div-filter"),(0,h.jsx)(j,{muted:!0,iconSpace:!0,onClick:()=>{W(),u.onChange([])},children:u.clearLabel??"\uAC70\uB974\uAE30 \uD480\uAE30"},"f-clear"))),K&&(S.length>0&&S.push((0,h.jsx)(ke,{},"div-children")),S.push(...G.default.Children.toArray(K))),(0,h.jsx)(k.Menu,{open:o&&(!!d||!!l),...!d&&!!l?{anchorEl:l}:{anchorReference:"anchorPosition",anchorPosition:d??void 0},onClose:W,transitionDuration:0,disableAutoFocusItem:M,onContextMenu:f=>f.preventDefault(),onClick:f=>f.stopPropagation(),slotProps:{paper:{sx:{maxHeight:q,minWidth:ee}},list:{sx:{py:.5}}},children:S})}var Ft=At(require("@ehfuse/overlay-scrollbar"),1),r=require("react/jsx-runtime"),kn={alignment:"default",margin:0,radius:0},ut=5,En={bg:"#ffffff",border:"#e6e6e3",borderStrong:"#dedddb",headerColor:"#787774",hoverBg:"#f8f8f7",emptyColor:"#9b9a97",selectedBg:"#dbeafe",selectedBar:"#3b82f6"},zt="12px",Ln={bg:"#1e1e1e",border:"#2c333c",borderStrong:"#3b434e",headerColor:"#a3adbb",hoverBg:"#272d36",emptyColor:"#7d8590",selectedBg:"rgba(59, 130, 246, 0.22)",selectedBar:"#60a5fa"};function pt(o){return!!(o.filterOptions&&o.onFilterChange)}function Dn({data:o,loading:d=!1,columns:l,onRowClick:x,getRowId:g,selectedRowId:u,selectedRowSx:P,rowHeight:K,columnHeight:ee,striped:q,rowDivider:Z=!0,onSort:E,onSortClear:A,onHeaderContextMenu:D,onLoadMore:I,sortBy:M,sortDirection:R,showPaper:te=!0,paddingX:W,paddingTop:S=0,paddingBottom:ge=0,rowHoverColor:f,rowHoverOpacity:T,viewportBuffer:H,overscan:U,scrollbars:ne,emptyMessage:J="NO DATA",autoHeight:B=!1,LoadingComponent:Ee,showFooter:je,footerHeight:be,footerSx:me,variant:Wt="default",framed:ue=!0,headerTopBorder:$t=!1,rowHeightMode:Xt="fixed",tableLayout:Le="fixed",renderFullWidthRow:Ke,fullWidthRowSx:xe,onRowContextMenu:ft,pinnedRows:ye,pinnedRowsMaxHeight:Ue,pinnedRowsSx:Ce,resetScrollOnDataChange:ht=!0,rowKeyFromId:Yt=!1,onEndReached:gt,colorMode:jt}){let y=Wt==="notion",Ge=(0,s.useTheme)(),C=(jt??Ge.palette.mode)==="dark"?Ln:En,bt=(ye?.length??0)>0,re=ee??(y?40:56),$=K??(y?48:50),De=ue?W??(y?"12px":"1rem"):0,qe=Xt==="auto",Ze=f??(y?C.hoverBg:void 0),mt=T??(y?1:void 0),Kt=Math.max($*12,480),Ut=Math.max($*12,480),Gt=typeof H=="number"?H:H?.top??Kt,qt=typeof H=="number"?H:H?.bottom??Ut,Zt=Math.max($*8,420),Jt=Math.max($*10,520),Qt=typeof U=="number"?U:{main:U?.main??Zt,reverse:U?.reverse??Jt},Me=$+(Z?1:0),en=(0,a.useMemo)(()=>y?{backgroundColor:C.selectedBg,"& > td:first-of-type":{boxShadow:`inset 3px 0 0 ${C.selectedBar}`},"& > td[data-vdt-pinned]":{backgroundColor:C.selectedBg}}:void 0,[y,C]),X=P??en,Ie=!X||typeof X!="function",tn=(0,a.useMemo)(()=>!Ie||u===null||u===void 0||!X?null:{[`& tbody tr[data-row-id="${String(u).replace(/["\\]/g,"\\$&")}"]`]:X},[Ie,u,X]),Pn=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),[v]=(0,a.useState)(()=>typeof window>"u"?!1:window.localStorage.getItem("vdt-perf-debug")==="1"),m=(0,a.useRef)({wheelEvents:0,wheelInputPx:0,wheelHandlerMs:0,wheelRafFlushes:0,wheelRafMs:0,rangeChangedCalls:0,rangeChangedMs:0,rowContentCalls:0,rowContentMs:0,rowContentMaxMs:0,cellRenderCalls:0,cellRenderMs:0,cellRenderMaxMs:0}),Je=(0,a.useCallback)(t=>{if(!v)return;let e=m.current;if(!(e.wheelEvents>0||e.rangeChangedCalls>0||e.rowContentCalls>0||e.cellRenderCalls>0))return;let p=e.rowContentCalls>0?e.rowContentMs/e.rowContentCalls:0,b=e.cellRenderCalls>0?e.cellRenderMs/e.cellRenderCalls:0;console.log("[VDT perf]",{reason:t,wheel:{events:e.wheelEvents,inputPx:Math.round(e.wheelInputPx),handlerMs:Number(e.wheelHandlerMs.toFixed(2)),rafFlushes:e.wheelRafFlushes,rafMs:Number(e.wheelRafMs.toFixed(2))},rangeChanged:{calls:e.rangeChangedCalls,totalMs:Number(e.rangeChangedMs.toFixed(2))},rowContent:{calls:e.rowContentCalls,totalMs:Number(e.rowContentMs.toFixed(2)),avgMs:Number(p.toFixed(3)),maxMs:Number(e.rowContentMaxMs.toFixed(3))},cellRender:{calls:e.cellRenderCalls,totalMs:Number(e.cellRenderMs.toFixed(2)),avgMs:Number(b.toFixed(3)),maxMs:Number(e.cellRenderMaxMs.toFixed(3))}}),m.current={wheelEvents:0,wheelInputPx:0,wheelHandlerMs:0,wheelRafFlushes:0,wheelRafMs:0,rangeChangedCalls:0,rangeChangedMs:0,rowContentCalls:0,rowContentMs:0,rowContentMaxMs:0,cellRenderCalls:0,cellRenderMs:0,cellRenderMaxMs:0}},[v]);(0,a.useEffect)(()=>{if(!v||typeof window>"u")return;console.log("[VDT perf] enabled (localStorage vdt-perf-debug=1)");let t=window.setInterval(()=>{Je("interval")},1500);return()=>{window.clearInterval(t),Je("cleanup")}},[Je,v]);let xt=(0,a.useMemo)(()=>(0,a.forwardRef)((t,e)=>{let i=(0,a.useRef)(null),p=(0,a.useRef)(0),b=(0,a.useRef)(null);return(0,a.useEffect)(()=>{let n=i.current;if(!n)return;let c=L=>{let z=v?performance.now():0;if(L.shiftKey||Math.abs(L.deltaX)>Math.abs(L.deltaY))return;let N=L.target?.closest?.("[data-vdt-inner-scroll]");if(N&&n.contains(N)&&(L.deltaY<0?N.scrollTop>0:N.scrollTop+N.clientHeight<N.scrollHeight-1))return;L.preventDefault();let Q=L.deltaY;L.deltaMode===1?Q*=40:L.deltaMode===2&&(Q*=n.clientHeight),v&&(m.current.wheelEvents+=1,m.current.wheelInputPx+=Q),p.current+=Q,b.current===null&&(b.current=requestAnimationFrame(()=>{let fe=v?performance.now():0,w=Math.max(n.clientHeight*.4,160),_=Math.max(-w,Math.min(w,p.current));p.current=0,b.current=null,_!==0&&(n.scrollTop+=_),v&&(m.current.wheelRafFlushes+=1,m.current.wheelRafMs+=performance.now()-fe)}),v&&(m.current.wheelHandlerMs+=performance.now()-z))};return n.addEventListener("wheel",c,{passive:!1}),()=>{n.removeEventListener("wheel",c),b.current!==null&&(cancelAnimationFrame(b.current),b.current=null),p.current=0}},[]),(0,r.jsx)(Ft.default,{detectInnerScroll:!0,track:kn,...ne,children:(0,r.jsx)(s.TableContainer,{component:s.Box,...t,ref:n=>{i.current=n,typeof e=="function"?e(n):e&&(e.current=n)},sx:{userSelect:"auto",WebkitUserSelect:"auto",position:"relative",width:"100%",height:"100%",overflow:"auto",display:"flex",flexDirection:"column",scrollbarWidth:"none",msOverflowStyle:"none",transform:"translateZ(0)",backfaceVisibility:"hidden",willChange:"scroll-position","&::-webkit-scrollbar":{display:"none"},"& .MuiTable-root":{paddingRight:y?0:De,paddingTop:S,paddingBottom:ge}}})})}),[]),Qe=(0,a.useMemo)(()=>{if(q===!0)return"#f5f5f5";if(typeof q=="string")return q},[q]),[nn,yt]=(0,a.useState)(d),[rn,on]=(0,a.useState)(0);(0,a.useEffect)(()=>{d&&yt(!0)},[d]);let Ct=(0,a.useCallback)(()=>{yt(!1)},[]),an=nn,An=d&&o.length>0,et=(0,a.useRef)(!1),tt=(0,a.useRef)(-1),nt=(0,a.useRef)(null),rt=(0,a.useRef)(null),[ln,sn]=(0,a.useState)(!1),Pe=(0,a.useCallback)(()=>{let t=rt.current;t&&sn(t.scrollHeight>t.clientHeight+1)},[]);(0,a.useEffect)(()=>{let t=rt.current;if(!t||typeof ResizeObserver>"u")return;let e=new ResizeObserver(()=>Pe());return e.observe(t),()=>e.disconnect()},[Pe,B]);let ot=(0,a.useRef)(x);ot.current=x;let ve=(0,a.useRef)(g);ve.current=g;let at=(0,a.useRef)(ft);at.current=ft;let Mt=(0,a.useRef)(gt);Mt.current=gt;let vt=(0,a.useRef)(null),Ae=(0,a.useMemo)(()=>{let t=new Map,e=0;return l.forEach(i=>{i.pinned==="left"&&(t.set(String(i.id),e),e+=typeof i.width=="number"?i.width:0)}),t},[l]),it=(0,a.useMemo)(()=>{if(l.some(t=>typeof t.minWidth=="number"))return l.reduce((t,e)=>t+(typeof e.width=="number"?e.width:typeof e.minWidth=="number"?e.minWidth:0),0)},[l]),pe=(0,a.useCallback)((t,e)=>{let i=Ae.get(String(t.id));return i===void 0?{}:{position:"sticky",left:i,zIndex:e?3:1}},[Ae]),Ne=!!x,we=(0,a.useRef)(!1),oe=(0,a.useRef)({x:0,y:0});(0,a.useEffect)(()=>{let t=e=>{let i=e.clientX-oe.current.x,p=e.clientY-oe.current.y;Math.sqrt(i*i+p*p)>ut&&(we.current=!0)};return document.addEventListener("mousemove",t),()=>{document.removeEventListener("mousemove",t)}},[]),(0,a.useEffect)(()=>{let t=document.querySelector('[data-testid="virtuoso-scroller"]');t&&t.querySelectorAll(".MuiTableSortLabel-root").forEach(i=>{let p=new MouseEvent("mouseleave",{bubbles:!0,cancelable:!0});i.dispatchEvent(p)})},[M]);let Be=(0,a.useCallback)(t=>{if(!E)return;E(t,M===t&&R==="asc"?"desc":"asc")},[E,M,R]),[Se,wt]=(0,a.useState)(null),St=(0,a.useRef)(D);St.current=D;let Tt=(0,a.useRef)(E);Tt.current=E;let Te=(0,a.useCallback)((t,e)=>{if(!t){e.preventDefault();return}t.headerProps?.onContextMenu?.(e);let i=e.defaultPrevented;if(i||(i=St.current?.(t,e)===!0||e.defaultPrevented),e.preventDefault(),i||t.headerMenu===!1||!!!((t.sortMenu??t.sortable)&&Tt.current)&&!pt(t))return;let b=e.currentTarget.getBoundingClientRect();wt({colId:String(t.id),x:e.clientX,y:b.bottom})},[]),ae=(0,a.useCallback)(t=>{if(!pt(t))return t.text;let e=!!(t.filterValues&&t.filterValues.length>0);return(0,r.jsxs)(s.Box,{component:"span",sx:{display:"inline-flex",alignItems:"center",gap:.5,maxWidth:"100%",color:e?"primary.main":void 0,fontWeight:e?600:void 0,verticalAlign:"middle"},children:[(0,r.jsx)(s.Box,{component:"span",sx:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:t.text}),(0,r.jsx)(Xe,{active:e})]})},[]),dn=(0,a.useCallback)(t=>{let e=v?performance.now():0;if(Mt.current?.(),!I){v&&(m.current.rangeChangedCalls+=1,m.current.rangeChangedMs+=performance.now()-e);return}if(d&&o.length===0){v&&(m.current.rangeChangedCalls+=1,m.current.rangeChangedMs+=performance.now()-e);return}let i=o.length>=30,p=t>=o.length-1,b=tt.current===o.length;if(p&&i&&!et.current&&!b){et.current=!0,tt.current=o.length;let n=o.length;I(n,50)}v&&(m.current.rangeChangedCalls+=1,m.current.rangeChangedMs+=performance.now()-e)},[o.length,d,I,v]);(0,a.useEffect)(()=>{d||(et.current=!1)},[d]),(0,a.useEffect)(()=>{o.length===0&&on(t=>t+1)},[o.length]);let Rt=(0,a.useRef)(ht);Rt.current=ht;let lt=(0,a.useRef)(o.length),st=(0,a.useRef)(void 0);(0,a.useEffect)(()=>{let t=lt.current,e=o.length,i=e>0?ve.current?ve.current(o[0],0):o[0]:void 0,p=st.current;if(e>t&&t>0){lt.current=e,st.current=i;return}let b=e<t||t>0&&i!==p;b&&(tt.current=-1),nt.current&&e>0&&b&&Rt.current&&nt.current.scrollToIndex({index:0,align:"start",behavior:"auto"}),lt.current=e,st.current=i},[o]);let Ht=(0,a.useCallback)(()=>{let t={},e=[];if(l.forEach(n=>{n.group?(t[n.group]||(t[n.group]=[]),t[n.group].push(n)):e.push(n)}),!(Object.keys(t).length>0))return(0,r.jsx)(s.TableRow,{children:l.map(n=>(0,r.jsx)(s.TableCell,{align:n.align||"left",title:typeof n.text=="string"?n.text:void 0,...n.headerProps,onContextMenu:c=>Te(n,c),style:{width:n.width,minWidth:n.width??n.minWidth,...n.style,fontWeight:"bold",position:"sticky",top:0,zIndex:2,padding:"16px",...pe(n,!0),...n.headerProps?.style},children:n.sortable?(0,r.jsx)("div",{style:{display:"flex",alignItems:"center",justifyContent:n.align==="center"?"center":n.align==="right"?"flex-end":"flex-start",position:"relative",width:"100%"},children:(0,r.jsxs)(s.Box,{className:"vdt-sort-box",sx:{position:"relative",cursor:"default","&:hover .MuiTableSortLabel-root":{opacity:"1 !important","& .MuiSvgIcon-root":{color:"#000",opacity:"1 !important"}}},onClick:()=>Be(String(n.id)),children:[ae(n),(0,r.jsx)(s.TableSortLabel,{active:M===n.id,direction:M===n.id?R:"desc",sx:{position:"absolute",left:"100%",top:"50%",transform:"translateY(-50%)",marginLeft:"4px",minWidth:"auto",width:"16px",height:"16px",cursor:"default",opacity:M===n.id?1:0,transition:"opacity 0.2s ease","& .MuiTableSortLabel-icon":{position:"relative",marginLeft:0,marginRight:0,opacity:1,transition:"color 0.2s ease"},"& .MuiTableSortLabel-iconDirectionAsc":{transform:"rotate(180deg)"},"& .MuiTableSortLabel-iconDirectionDesc":{transform:"rotate(0deg)"}}})]})}):ae(n)},String(n.id)))});let p=[...e.map(n=>(0,r.jsx)(s.TableCell,{rowSpan:2,align:n.align||"left",title:typeof n.text=="string"?n.text:void 0,...n.headerProps,onContextMenu:c=>Te(n,c),style:{width:n.width,minWidth:n.width,...n.style,fontWeight:"bold",position:"sticky",top:0,zIndex:2,padding:"16px",...pe(n,!0),...n.headerProps?.style},children:n.sortable&&E?(0,r.jsx)("div",{style:{display:"flex",alignItems:"center",justifyContent:n.align==="center"?"center":n.align==="right"?"flex-end":"flex-start",position:"relative",width:"100%"},children:(0,r.jsxs)(s.Box,{className:"vdt-sort-box",sx:{position:"relative",cursor:"default","&:hover .MuiTableSortLabel-root":{opacity:"1 !important","& .MuiSvgIcon-root":{color:"#000",opacity:"1 !important"}}},onClick:()=>Be(String(n.id)),children:[ae(n),(0,r.jsx)(s.TableSortLabel,{active:M===n.id,direction:M===n.id?R:"desc",sx:{position:"absolute",left:"100%",top:"50%",transform:"translateY(-50%)",marginLeft:"4px",minWidth:"auto",width:"16px",height:"16px",cursor:"default",opacity:M===n.id?1:0,transition:"opacity 0.2s ease","&:hover":{opacity:"1 !important","& .MuiSvgIcon-root":{color:"#000",opacity:"1 !important"}},"& .MuiTableSortLabel-icon":{position:"relative",marginLeft:0,marginRight:0,opacity:1,transition:"color 0.2s ease"},"& .MuiTableSortLabel-iconDirectionAsc":{transform:"rotate(180deg)"},"& .MuiTableSortLabel-iconDirectionDesc":{transform:"rotate(0deg)"}}})]})}):ae(n)},String(n.id))),...Object.entries(t).map(([n,c])=>(0,r.jsx)(s.TableCell,{align:"center",colSpan:c.length,onContextMenu:L=>Te(null,L),style:{fontWeight:"bold",position:"sticky",top:0,zIndex:2,padding:"16px"},children:n},n))],b=[...Object.values(t).flat().map(n=>(0,r.jsx)(s.TableCell,{align:n.align||"left",title:typeof n.text=="string"?n.text:void 0,...n.headerProps,onContextMenu:c=>Te(n,c),style:{width:n.width,minWidth:n.width,...n.style,fontWeight:"bold",position:"sticky",top:0,zIndex:2,padding:"16px",...pe(n,!0),...n.headerProps?.style},children:n.sortable&&E?(0,r.jsx)("div",{style:{display:"flex",alignItems:"center",justifyContent:n.align==="center"?"center":n.align==="right"?"flex-end":"flex-start",position:"relative",width:"100%"},children:(0,r.jsxs)(s.Box,{className:"vdt-sort-box",sx:{position:"relative",cursor:"default","&:hover .MuiTableSortLabel-root":{opacity:"1 !important","& .MuiSvgIcon-root":{color:"#000",opacity:"1 !important"}}},onClick:()=>Be(String(n.id)),children:[ae(n),(0,r.jsx)(s.TableSortLabel,{active:M===n.id,direction:M===n.id?R:"desc",sx:{position:"absolute",left:"100%",top:"50%",transform:"translateY(-50%)",marginLeft:"4px",minWidth:"auto",width:"16px",height:"16px",cursor:"default",opacity:M===n.id?1:0,transition:"opacity 0.2s ease","&:hover":{opacity:"1 !important","& .MuiSvgIcon-root":{color:"#000",opacity:"1 !important"}},"& .MuiTableSortLabel-icon":{position:"relative",marginLeft:0,marginRight:0,opacity:1,transition:"color 0.2s ease"},"& .MuiTableSortLabel-iconDirectionAsc":{transform:"rotate(0deg)"},"& .MuiTableSortLabel-iconDirectionDesc":{transform:"rotate(180deg)"}}})]})}):ae(n)},String(n.id)))];return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.TableRow,{children:p}),(0,r.jsx)(s.TableRow,{children:b})]})},[l,M,R,Be,E,re,pe,Te,ae]),Oe=(0,a.useCallback)((t,e)=>{let i=v?performance.now():0;if(!e){if(v){m.current.rowContentCalls+=1;let c=performance.now()-i;m.current.rowContentMs+=c,m.current.rowContentMaxMs=Math.max(m.current.rowContentMaxMs,c)}return null}let p=Ke?Ke(e,t):null;if(p!=null)return(0,r.jsx)(s.TableCell,{colSpan:l.length,"data-vdt-pad":"",sx:[{padding:y?"0 14px":"8px 16px"},...Array.isArray(xe)?xe:xe?[xe]:[]],children:p});let b=0,n=l.map((c,L)=>{if(b>0)return b-=1,null;let z=c.colSpan?Math.max(1,Math.min(c.colSpan(e,t),l.length-L)):1;b=z-1;let N=v?performance.now():0,Q=c.render?c.render(e,t):String(e[c.id]||"");if(v){let F=performance.now()-N;m.current.cellRenderCalls+=1,m.current.cellRenderMs+=F,m.current.cellRenderMaxMs=Math.max(m.current.cellRenderMaxMs,F)}let fe=Ae.has(String(c.id)),w=c.cellPadding!==void 0,_=c.rowSpan?c.rowSpan(e,t):1;if(_<=0)return null;let ie=c.onCellClick;return(0,r.jsx)(s.TableCell,{align:c.align||"left",rowSpan:_>1?_:void 0,colSpan:z>1?z:void 0,"data-vdt-pad":w?"":void 0,"data-vdt-pinned":fe?"":void 0,"data-vdt-cell-click":ie?"":void 0,onClick:ie?F=>{let he=F.clientX-oe.current.x,le=F.clientY-oe.current.y;F.stopPropagation(),!(Math.sqrt(he*he+le*le)>ut)&&ie(e,t,F)}:void 0,style:{...z>1?{}:{width:c.width,minWidth:c.width??c.minWidth},...c.primary?{fontSize:15}:{},...c.style,...c.cellStyle?c.cellStyle(e,t):{},padding:w?c.cellPadding:"8px 16px",...pe(c,!1)},children:Q},String(c.id))});if(v){m.current.rowContentCalls+=1;let c=performance.now()-i;m.current.rowContentMs+=c,m.current.rowContentMaxMs=Math.max(m.current.rowContentMaxMs,c)}return(0,r.jsx)(r.Fragment,{children:n})},[l,v,Ke,xe,y,Ae,pe]),kt=(0,a.useCallback)(()=>{let t=Ht();if(!ye||ye.length===0)return t;let e=vt.current;return(0,r.jsxs)(r.Fragment,{children:[t,(0,r.jsx)("tr",{"data-vdt-pinned-area":"",children:(0,r.jsx)("td",{colSpan:l.length,style:{padding:0,border:0},children:(0,r.jsx)(s.Box,{"data-vdt-inner-scroll":"",sx:[{maxHeight:Ue,overflowY:Ue?"auto":"visible",overflowX:"hidden",scrollbarWidth:"thin",borderBottom:`1px solid ${y?C.borderStrong:"rgba(224, 224, 224, 1)"}`,"& tbody tr:last-of-type > td":{borderBottom:"none"}},...Array.isArray(Ce)?Ce:Ce?[Ce]:[]],children:(0,r.jsxs)("table",{style:{width:"100%",tableLayout:Le,borderCollapse:"separate",borderSpacing:0},children:[(0,r.jsx)("colgroup",{children:l.map(i=>(0,r.jsx)("col",{style:{width:i.width,minWidth:i.width??i.minWidth}},String(i.id)))}),(0,r.jsx)(s.TableBody,{children:ye.map((i,p)=>e?(0,r.jsx)(e,{item:i,"data-index":p,"data-vdt-pinned-row":"",children:Oe(p,i)},g?String(g(i,p)):`p${p}`):null)})]})})})})]})},[Ht,ye,Ue,Ce,l,Oe,Le,g,y,C]),Y=je??l.some(t=>typeof t.footer=="function"),Et=(0,a.useCallback)(()=>{if(!Y)return null;let t=[];for(let e=0;e<l.length;e+=1){let i=l[e],p=i.footerColSpan&&i.footerColSpan>1?Math.min(i.footerColSpan,l.length-e):1;t.push((0,r.jsx)(s.TableCell,{align:i.align||"left",colSpan:p>1?p:void 0,style:{...p>1?{}:{width:i.width,minWidth:i.width},...i.style,fontWeight:"bold",padding:y?"0 14px":"16px"},children:i.footer?i.footer(o):null},String(i.id))),e+=p-1}return(0,r.jsx)(s.TableRow,{children:t})},[Y,l,o,y]),dt=(0,a.useMemo)(()=>({Scroller:xt,Table:t=>(0,r.jsx)(s.Table,{...t,sx:{borderCollapse:"separate",tableLayout:Le,...it?{minWidth:it}:{},marginRight:ue?"16px":0,...Y?{height:"100%"}:{}}}),TableHead:(0,a.forwardRef)((t,e)=>(0,r.jsx)(s.TableHead,{...t,ref:e,sx:{userSelect:"none","& > tr":{height:re,"& > th":{padding:"16px",position:"sticky",top:0,zIndex:2,fontWeight:"bold"}}}})),TableRow:t=>{let{item:e,selected:i,"aria-selected":p,className:b,...n}=t,c=n["data-index"]??0,L=c%2===1,z=e&&ve.current?ve.current(e,c):c,N=!Ie&&u!==null&&u!==void 0&&z===u,Q=N&&X?typeof X=="function"?X(e,c):X:void 0,fe=String(b??"").split(/\s+/).filter(w=>w!=="Mui-selected"&&w!=="Mui-focusVisible").join(" ");return(0,r.jsx)(s.TableRow,{...n,"data-row-id":z!=null?String(z):void 0,className:fe||void 0,selected:N,onMouseDown:w=>{we.current=!1,oe.current={x:w.clientX,y:w.clientY}},onContextMenu:w=>{e&&at.current&&at.current(e,c,w)},onClick:w=>{let _=w.clientX-oe.current.x,ie=w.clientY-oe.current.y;if(Math.sqrt(_*_+ie*ie)>ut||we.current){w.preventDefault(),w.stopPropagation(),we.current=!1;return}e&&ot.current&&ot.current(e,c),we.current=!1},sx:[{userSelect:"none",...qe?{"& > td":{height:Me}}:{height:Me,maxHeight:Me},boxSizing:"border-box",backgroundColor:L&&Qe?Qe:"transparent","& td:not([data-vdt-pad])":{padding:"8px 16px"},"& td":{boxSizing:"border-box",borderBottom:Z?"1px solid rgba(224, 224, 224, 1)":"none"},"& th":{padding:"8px 16px",borderBottom:"none"},"&:hover":Ne&&!N?{backgroundColor:w=>{let _=w.palette.mode==="dark",F=Ze??"#000000",he=mt??.06;if(!Ze)return _?`rgba(255, 255, 255, ${he})`:`rgba(0, 0, 0, ${he})`;let le=F.replace("#","").trim();if(le.length!==6)return F;let mn=parseInt(le.substring(0,2),16),xn=parseInt(le.substring(2,4),16),yn=parseInt(le.substring(4,6),16);return`rgba(${mn}, ${xn}, ${yn}, ${he})`}}:void 0,cursor:Ne?"pointer":void 0},Q]})},TableBody:(0,a.forwardRef)((t,e)=>{let{children:i,...p}=t;return(0,r.jsxs)(s.TableBody,{...p,ref:e,sx:Y?{height:"100%"}:void 0,children:[i,Y&&(0,r.jsx)("tr",{"aria-hidden":!0,style:{height:"100%"},children:(0,r.jsx)("td",{colSpan:l.length,style:{padding:0,border:0}})})]})}),TableFoot:(0,a.forwardRef)((t,e)=>(0,r.jsx)(s.TableFooter,{...t,ref:e,sx:[{"& tr":{height:be??$,maxHeight:be??$,boxSizing:"border-box"},"& td":{height:be??$,boxSizing:"border-box",backgroundColor:i=>i.palette.mode==="dark"?"#1e1e1e":"#ffffff",padding:"0 16px",color:"inherit",fontSize:"0.875rem",border:"none",boxShadow:`inset 0 1px 0 0 ${y?C.borderStrong:"#000000"}`}},...Array.isArray(me)?me:me?[me]:[]]}))}),[Ne,Ie?null:u,X,$,Qe,Z,re,Ze,mt,xt,be,me,Y,y,C,l,Le,ue,qe,it]);vt.current=dt.TableRow;let cn=dt,Re=dt,un=Re.Table,pn=Re.TableHead,fn=Re.TableBody,hn=Re.TableRow,gn=Re.TableFoot,O=Se?l.find(t=>String(t.id)===Se.colId):void 0,bn=()=>wt(null),Lt=null;if(Se&&O){let t=String(O.id),e=!!((O.sortMenu??O.sortable)&&E),i=pt(O),p=M===t?R:void 0;Lt=(0,r.jsx)(Ye,{open:!0,anchorPosition:{left:Se.x,top:Se.y},onClose:bn,sort:e?{active:p??null,clearable:!!A,onChange:b=>{b?E?.(t,b):A?.()}}:void 0,filter:i?{options:O.filterOptions??[],value:O.filterValues??[],onChange:b=>O.onFilterChange?.(b),multiple:O.filterMultiple!==!1,emptyLabel:O.filterEmptyLabel,searchable:O.filterSearchable}:void 0})}let Dt=(0,r.jsxs)(s.Box,{sx:{position:"relative",height:B?"auto":"100%",width:"100%","& .MuiTableHead-root":{backgroundColor:t=>y?`${C.bg} !important`:t.palette.mode==="dark"?"#1e1e1e !important":"#ffffff !important"},...tn??{},"& tbody td[data-vdt-pinned]":{backgroundColor:y?C.bg:Ge.palette.background.paper},"& tbody td[data-vdt-cell-click]":{cursor:"pointer"},"& tbody td[data-vdt-cell-click]:hover":{backgroundColor:y?C.hoverBg:Ge.palette.mode==="dark"?"rgba(255, 255, 255, 0.06)":"rgba(0, 0, 0, 0.04)"},...y&&Ne?{"& tbody tr:hover td[data-vdt-pinned]":{backgroundColor:C.hoverBg}}:{},...y?{...ue?{border:`1px solid ${C.borderStrong}`,borderRadius:"4px"}:{"& table":{backgroundColor:C.bg}},overflow:"hidden","& thead tr th > *":{verticalAlign:"middle"},"& thead > tr > th":{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},"& thead > tr > th > *":{maxWidth:"100%"},"& thead .vdt-sort-box":{paddingRight:"20px"},"& thead .vdt-sort-box > .MuiTableSortLabel-root":{left:"auto !important",right:0,marginLeft:"0 !important"},"& thead tr th":{height:re,boxSizing:"border-box",padding:"0 14px !important",fontSize:13,fontWeight:"500 !important",color:C.headerColor,backgroundColor:`${C.bg} !important`,borderTop:!ue&&$t?`1px solid ${C.borderStrong}`:"none",borderBottom:`1px solid ${C.borderStrong}`,borderRight:`1px solid ${C.border}`,"&:last-of-type":{borderRight:"none"}},"& tbody tr td:not([data-vdt-pad])":{padding:"0 14px !important"},"& tbody tr td":{fontSize:14,borderBottom:`1px solid ${C.border}`},...o.length>0&&(B||ln||Y)?{[`& tbody tr[data-index="${o.length-1}"]:not([data-vdt-pinned-row]) td`]:{borderBottom:"none"}}:{}}:{}},children:[B?(0,r.jsx)(s.Box,{sx:{overflowX:"auto",width:"100%"},children:(0,r.jsxs)(un,{children:[(0,r.jsx)(pn,{children:kt()}),(0,r.jsx)(fn,{children:o.map((t,e)=>(0,r.jsx)(hn,{item:t,"data-index":e,children:Oe(e,t)},g?String(g(t,e)):e))}),Y?(0,r.jsx)(gn,{children:Et()}):null]})}):(0,r.jsx)(_t.TableVirtuoso,{ref:nt,data:o,totalCount:I?o.length+1:o.length,defaultItemHeight:Me,fixedItemHeight:qe?void 0:Me,fixedHeaderContent:kt,fixedFooterContent:Y?Et:void 0,itemContent:Oe,...Yt&&g?{computeItemKey:(t,e)=>e?g(e,t):`vdt-${t}`}:{},endReached:dn,scrollerRef:t=>{rt.current=t instanceof HTMLElement?t:null,Pe()},totalListHeightChanged:Pe,style:{height:"100%"},increaseViewportBy:{top:Gt,bottom:qt},overscan:Qt,followOutput:!1,components:cn},rn),o.length===0&&!d&&!bt&&y&&typeof J=="string"&&(0,r.jsx)(s.Box,{sx:{position:B?"static":"absolute",top:re,left:0,right:0,py:6,textAlign:"center",fontSize:14,color:C.emptyColor,pointerEvents:"none"},children:J}),o.length===0&&!d&&!bt&&!(y&&typeof J=="string")&&(0,r.jsx)(s.Box,{sx:{position:"absolute",top:0,left:0,right:0,bottom:0,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:2,pointerEvents:"none","& > *":{pointerEvents:"auto"}},children:typeof J=="string"?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.Box,{sx:{width:48,height:48,display:"flex",alignItems:"center",justifyContent:"center",borderRadius:"50%",backgroundColor:"#f5f5f5",color:"#999"},children:"\u{1F4C4}"}),(0,r.jsx)(s.Typography,{variant:"body1",sx:{color:"text.secondary"},children:J})]}):J}),Lt,an&&(0,r.jsx)(r.Fragment,{children:Ee?(0,r.jsx)(Ee,{visible:d,onComplete:Ct}):(0,r.jsx)(Nt,{visible:d,onComplete:Ct,size:40,indicator:(0,r.jsx)(Bt,{}),sx:{top:`${l.some(t=>t.group)?re*2:re}px`,bottom:`${Y?be??$:0}px`},background:{show:o.length===0,opacity:.8}})})]}),It=y&&ue?{paddingRight:De,paddingTop:zt,paddingBottom:zt}:{};return te?(0,r.jsx)(s.Paper,{className:"grow",elevation:1,sx:{padding:0,paddingLeft:De,...It,boxSizing:"border-box",height:B?"auto":"100%",minHeight:0,flex:B?"none":1,display:"flex",flexDirection:"column"},children:Dt}):(0,r.jsx)(s.Box,{className:"grow",style:{padding:0,paddingLeft:De,...It,boxSizing:"border-box",height:B?"auto":"100%",minHeight:0,flex:B?"none":1,display:"flex",flexDirection:"column"},children:Dt})}var Vt=(0,a.memo)(Dn);
|
|
5
5
|
/**
|
|
6
6
|
* Virtual Data Table - A high-performance virtual data table component for React
|
|
7
7
|
*
|