@ehfuse/mui-virtual-data-table 1.0.9 → 1.0.10

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/index.esm.js CHANGED
@@ -1,4 +1,4 @@
1
- import{forwardRef as Ze,useCallback as me,useMemo as Qe,useRef as q,useEffect as Ne,memo as Lt,useState as lt}from"react";import{Box as he,Table as Dt,TableBody as Et,TableCell as je,TableContainer as Ht,TableHead as Rt,TableRow as Ve,TableSortLabel as et,Paper as It,Typography as $t}from"@mui/material";import{TableVirtuoso as Ot}from"react-virtuoso";import{jsx as Je}from"react/jsx-runtime";import{useRef as tt,useState as pt,useEffect as ft}from"react";import{Box as mt,CircularProgress as ht}from"@mui/material";var Pe=function(){return Pe=Object.assign||function(p){for(var h,v=1,D=arguments.length;v<D;v++){h=arguments[v];for(var k in h)Object.prototype.hasOwnProperty.call(h,k)&&(p[k]=h[k])}return p},Pe.apply(this,arguments)};function rt(s){var p=s.visible,h=s.onComplete,v=s.fadeoutDuration,D=v===void 0?200:v,k=s.exitDelay,T=k===void 0?0:k,B=s.size,L=B===void 0?40:B,N=s.className,x=s.style,j=s.sx,Z=s.indicator,Q=s.background,ge=Q===void 0?{show:!0,color:"255, 255, 255",opacity:.9}:Q,ee=tt(void 0),a=tt(null),z=pt(p),te=z[0],re=z[1],$=ge.show,oe=$===void 0?!0:$,S=ge.color,E=S===void 0?"255, 255, 255":S,ne=ge.opacity,ie=ne===void 0?.9:ne;if(ft(function(){var Le=ee.current;if(Le===!0&&p===!1&&a.current){var ae=a.current;ae.style.opacity="0",setTimeout(function(){re(!1),h?.()},D+T)}else p===!0&&(re(!0),a.current&&(a.current.style.opacity="1"));ee.current=p},[p,h,D,T]),!te)return null;var we=function(){return typeof Z=="string"?Je("img",{src:Z,alt:"Loading",style:{width:L,height:L}}):Z||Je(ht,{size:L})},le=function(){return oe?E.startsWith("rgba")?{backgroundColor:E}:/^\d+,\s*\d+,\s*\d+$/.test(E)?{backgroundColor:"rgba(".concat(E,", ").concat(ie,")")}:ie!==1?{backgroundColor:E,"&::before":{content:'""',position:"absolute",top:0,left:0,right:0,bottom:0,backgroundColor:E,opacity:ie,zIndex:-1}}:{backgroundColor:E}:{backgroundColor:"transparent"}};return Je(mt,{ref:a,className:N,style:Pe({},x),sx:Pe(Pe({position:"absolute",top:0,left:0,right:0,bottom:0,display:"flex",alignItems:"center",justifyContent:"center",zIndex:1e3,opacity:p?1:0,transition:"opacity ".concat(D,"ms ease-out")},le()),j),children:we()})}import{useRef as U,useEffect as J,useState as A,useCallback as R,useMemo as Be,forwardRef as gt,useImperativeHandle as bt,useLayoutEffect as yt}from"react";import{jsx as Ce,jsxs as nt}from"react/jsx-runtime";var vt=["editor","textarea","input","select","textfield","form-control","contenteditable","MuiInputBase-input","MuiSelect-select","MuiOutlinedInput-input","MuiFilledInput-input","MuiInput-input","MuiFormControl-root","MuiTextField-root","MuiSelect-root","MuiOutlinedInput-root","MuiFilledInput-root","MuiInput-root","MuiAutocomplete-input","MuiDatePicker-input","MuiSlider-thumb","MuiSlider-rail","MuiSlider-track","MuiSlider-mark","MuiSlider-markLabel","MuiSlider-root","MuiSlider-colorPrimary","MuiSlider-sizeMedium","MuiIconButton-root","MuiButton-root","MuiButtonBase-root","MuiTouchRipple-root","MuiCheckbox-root","MuiRadio-root","MuiSwitch-root","PrivateSwitchBase-root","ant-input","ant-input-affix-wrapper","ant-input-group-addon","ant-input-number","ant-input-number-handler","ant-select","ant-select-selector","ant-select-selection-search","ant-select-dropdown","ant-cascader","ant-cascader-input","ant-picker","ant-picker-input","ant-time-picker","ant-calendar-picker","ant-slider","ant-slider-track","ant-slider-handle","ant-switch","ant-checkbox","ant-checkbox-wrapper","ant-radio","ant-radio-wrapper","ant-rate","ant-upload","ant-upload-drag","ant-form-item","ant-form-item-control","ant-btn","ant-dropdown","ant-dropdown-trigger","ant-menu","ant-menu-item","ant-tooltip","ant-popover","ant-modal","ant-drawer","ant-tree-select","ant-auto-complete","ant-mentions","ant-transfer","ui-input","ui-textarea","ui-select","ui-select-trigger","ui-select-content","ui-select-item","ui-button","ui-checkbox","ui-radio-group","ui-switch","ui-slider","ui-range-slider","ui-calendar","ui-date-picker","ui-combobox","ui-command","ui-command-input","ui-popover","ui-dialog","ui-sheet","ui-dropdown-menu","ui-context-menu","ui-menubar","ui-navigation-menu","ui-form","ui-form-control","ui-form-item","ui-form-field","ui-label","radix-ui","radix-select","radix-dropdown","radix-dialog","radix-popover","radix-accordion","radix-tabs","radix-slider","radix-switch","radix-checkbox","radix-radio","ql-editor","ql-container","ql-toolbar","ql-picker","ql-picker-label","ql-picker-options","ql-formats","ql-snow","ql-bubble","quill","quilleditor","monaco-editor","monaco-editor-background","view-lines","decorationsOverviewRuler","monaco-scrollable-element","CodeMirror","CodeMirror-code","CodeMirror-lines","CodeMirror-scroll","CodeMirror-sizer","cm-editor","cm-focused","cm-content","tox-editor-container","tox-editor-header","tox-edit-area","tox-tinymce","mce-content-body","ck-editor","ck-content","ck-toolbar","ck-editor__editable","ck-widget","slate-editor","slate-content","DraftEditor-root","DraftEditor-editorContainer","public-DraftEditor-content","ehfuse-editor","ehfuse-editor-wrapper","ehfuse-editor-content","ehfuse-toolbar","ehfuse-toolbar-group","ehfuse-cursor","text-editor","rich-text-editor","wysiwyg","ace_editor","ace_content"],ot=(s,p)=>{let h=s.tagName.toLowerCase(),v=["text","password","email","number","search","tel","url","checkbox","radio"];if(h==="input"){let D=s.type;return v.includes(D)}if(["textarea","select","button"].includes(h)||["svg","path","circle","rect","line","polygon","polyline"].includes(h)||s.getAttribute("contenteditable")==="true")return!0;if(p?.excludeSelectors){for(let D of p.excludeSelectors)if(s.matches(D))return!0}return xt(s,p)},xt=(s,p)=>{let h=[...vt,...p?.excludeClasses||[]],v=s,D=0,k=5;for(;v&&D<=k;){if(h.some(T=>v.classList.contains(T)))return!0;if(v.classList.contains("MuiDialogContent-root"))break;v=v.parentElement,D++}return!1},wt={},Mt={},Tt={},St={},Ct={},kt=gt(({className:s="",style:p={},containerStyle:h={},contentStyle:v={},children:D,onScroll:k,thumb:T=wt,track:B=Mt,arrows:L=Tt,dragScroll:N=St,autoHide:x=Ct,showScrollbar:j=!0,detectInnerScroll:Z=!1},Q)=>{let ge=U({});J(()=>{ge.current={children:D,onScroll:k,showScrollbar:j,thumb:T,track:B,arrows:L,dragScroll:N,autoHide:x}});let ee=U(null),a=U(null),z=U(null),te=U(null),re=U(null),$=U(null),[oe,S]=A(!1),[E,ne]=A(!1),[ie,we]=A(!1),[le,Le]=A({y:0,scrollTop:0}),[ae,De]=A(0),[_e,Y]=A(0),[X,Ee]=A(!1),[se,He]=A(!1),[K,Me]=A({x:0,y:0,scrollTop:0,scrollLeft:0}),[ze,at]=A(null),[Te,ce]=A(null),[Ae,Se]=A(!1),be=U(null),[Ye,qe]=A(!1),ye=U(null),ue=U(null),r=U(null),n=Be(()=>{let t=T.color??"#606060";return{width:T.width??8,minHeight:T.minHeight??50,radius:T.radius??(T.width??8)/2,color:t,opacity:T.opacity??.6,hoverColor:T.hoverColor??t,hoverOpacity:T.hoverOpacity??1}},[T]),l=Be(()=>({width:B.width??16,color:B.color??"rgba(128, 128, 128, 0.1)",visible:B.visible??!0,alignment:B.alignment??"center",radius:B.radius??n.radius??4,margin:B.margin??4}),[B,n.radius]),m=Be(()=>{let t=L.color??"#808080";return{visible:L.visible??!1,step:L.step??50,color:t,opacity:L.opacity??.6,hoverColor:L.hoverColor??t,hoverOpacity:L.hoverOpacity??1}},[L]),W=Be(()=>({enabled:N.enabled??!0,excludeClasses:N.excludeClasses??[],excludeSelectors:N.excludeSelectors??[]}),[N]),e=Be(()=>({enabled:x.enabled??!0,delay:x.delay??1500,delayOnWheel:x.delayOnWheel??700}),[x]),g=n.width,Re=l.width,de=n.minHeight,V=m.visible,pe=m.step,H=R(()=>{if(!a.current)return;let t=document.activeElement;t&&a.current.contains(t)&&t!==a.current||a.current.focus()},[]);bt(Q,()=>({getScrollContainer:()=>a.current,scrollTo:t=>{a.current&&a.current.scrollTo(t)},get scrollTop(){return a.current?.scrollTop||0},get scrollHeight(){return a.current?.scrollHeight||0},get clientHeight(){return a.current?.clientHeight||0}}),[]);let f=R(()=>{if($.current){let o=$.current;if(document.contains(o)&&o.scrollHeight>o.clientHeight+2)return o;$.current=null}if(!a.current)return null;if(z.current&&z.current.scrollHeight>a.current.clientHeight+2)return $.current=a.current,a.current;if(!Z)return null;let t=a.current.querySelectorAll('[data-virtuoso-scroller], [style*="overflow"], .virtuoso-scroller, [style*="overflow: auto"], [style*="overflow:auto"]');for(let o of t){let i=o;if(i!==a.current&&i.classList.contains("overlay-scrollbar-container"))continue;let c=i.parentElement,y=!1;for(;c&&c!==a.current;){if(c.classList.contains("overlay-scrollbar-container")&&c!==a.current){y=!0;break}c=c.parentElement}if(!y&&i.scrollHeight>i.clientHeight+2)return $.current=i,i}return null},[]),I=R(()=>f()!==null,[f]),b=R(()=>{ye.current&&(clearTimeout(ye.current),ye.current=null)},[]),ve=R(()=>{ue.current&&(clearTimeout(ue.current),ue.current=null)},[]),fe=R(()=>{r.current&&(clearTimeout(r.current),r.current=null)},[]),w=R(t=>{e.enabled&&(b(),ye.current=setTimeout(()=>{S(!1),ye.current=null},t))},[b,e.enabled]),u=R(()=>{let t=f();if(!t){S(!1),Ee(!1),b();return}if(Ee(!0),!te.current)return;e.enabled||(S(!0),b());let o=t.clientHeight,i=t.scrollHeight,c=t.scrollTop,y=0;if(ee.current){let We=window.getComputedStyle(ee.current),Ke=parseFloat(We.paddingTop)||0,dt=parseFloat(We.paddingBottom)||0;y=Ke+dt}let M=V?g*2+l.margin*4:l.margin*2,O=o-M+y,P=o/i,xe=Math.max(O*P,de),Oe=i-o,G=O-xe,Xe=Oe>0?c/Oe*G:0;De(xe),Y(Xe)},[f,b,V,g,de,e.enabled]),Ie=R(t=>{t.preventDefault(),t.stopPropagation();let o=f();o&&(ne(!0),Le({y:t.clientY,scrollTop:o.scrollTop}),b(),S(!0),H())},[f,b,H]),C=R(t=>{if(!E)return;let o=f();if(!o)return;let i=o.clientHeight,c=o.scrollHeight-i,y=t.clientY-le.y,M=i-ae,O=y/M*c,P=Math.max(0,Math.min(c,le.scrollTop+O));o.scrollTop=P,u()},[E,le,ae,u,f]),F=R(()=>{ne(!1),I()&&w(e.delay)},[I,w,e.delay]),_=R(t=>{if(!te.current)return;let o=te.current.getBoundingClientRect(),i=t.clientY-o.top,c=f();if(!c)return;let y=c.clientHeight,M=c.scrollHeight,O=i/y*(M-y);c.scrollTop=Math.max(0,Math.min(M-y,O)),u(),S(!0),w(e.delay),H()},[u,w,e.delay,f,H]),st=R(t=>{if(t.preventDefault(),t.stopPropagation(),!a.current)return;let o=Math.max(0,a.current.scrollTop-pe);a.current.scrollTop=o,u(),S(!0),w(e.delay),H()},[u,w,pe,e.delay,H]),ct=R(t=>{if(t.preventDefault(),t.stopPropagation(),!a.current||!z.current)return;let o=a.current,i=z.current.scrollHeight-o.clientHeight,c=Math.min(i,o.scrollTop+pe);o.scrollTop=c,u(),S(!0),w(e.delay),H()},[u,w,pe,e.delay,H]),ut=R(t=>{if(!W.enabled)return;let o=t.target;if(ot(o,W)||t.button!==0)return;let i=f();i&&(i.scrollHeight<=i.clientHeight||(t.preventDefault(),He(!0),Me({x:t.clientX,y:t.clientY,scrollTop:i.scrollTop,scrollLeft:i.scrollLeft||0}),b()))},[W,ot,f,b]),Ge=R(t=>{if(!se)return;let o=f();if(!o)return;let i=K.x-t.clientX,c=K.y-t.clientY;if(Math.abs(c)<3&&Math.abs(i)<3)return;S(!0);let y=Math.max(0,Math.min(o.scrollHeight-o.clientHeight,K.scrollTop+c));o.scrollTop=y,u()},[se,K,f,u]),Ue=R(()=>{He(!1),I()&&w(e.delay)},[I,w,e.delay]);J(()=>{let t=M=>{u(),b(),S(!0);let O=Ye?e.delayOnWheel:e.delay;w(O),k&&k(M)},o=()=>{qe(!0),be.current&&clearTimeout(be.current),be.current=setTimeout(()=>{qe(!1)},300),b(),fe(),r.current=setTimeout(()=>{S(!0),r.current=null},50)},i=[],c=f();c&&i.push(c);let y=a.current;return y&&!c&&(i.push(y),y.querySelectorAll('[data-virtuoso-scroller], [style*="overflow"], .virtuoso-scroller, [style*="overflow: auto"], [style*="overflow:auto"]').forEach(M=>{let O=M;if(O!==y&&O.classList.contains("overlay-scrollbar-container"))return;let P=O.parentElement;for(;P&&P!==y;){if(P.classList.contains("overlay-scrollbar-container")&&P!==y)return;P=P.parentElement}i.push(O)})),i.forEach(M=>{M.addEventListener("scroll",t,{passive:!0}),M.addEventListener("wheel",o,{passive:!0})}),()=>{i.forEach(M=>{M.removeEventListener("scroll",t),M.removeEventListener("wheel",o)}),be.current&&clearTimeout(be.current),r.current&&clearTimeout(r.current)}},[f,u,k,b,w,e,Ye]),J(()=>{let t=i=>{let c=f();if(!c)return;let{key:y}=i,{scrollTop:M,scrollHeight:O,clientHeight:P}=c,xe=O-P,Oe=50,G=null;switch(y){case"ArrowUp":i.preventDefault(),G=Math.max(0,M-Oe);break;case"ArrowDown":i.preventDefault(),G=Math.min(xe,M+Oe);break;case"PageUp":i.preventDefault(),G=Math.max(0,M-P);break;case"PageDown":i.preventDefault(),G=Math.min(xe,M+P);break;case"Home":i.preventDefault(),G=0;break;case"End":i.preventDefault(),G=xe;break;default:return}if(G!==null){let Xe=G/xe,We=V?g*2+l.margin*4:l.margin*2,Ke=(P-We-ae)*Xe;Y(Ke),c.scrollTop=G,b(),S(!0),w(e.delay)}},o=a.current;if(o)return o.addEventListener("keydown",t),()=>{o.removeEventListener("keydown",t)}},[f,V,g,l.margin,ae,b,w,e.delay]),J(()=>{if(se)return document.addEventListener("mousemove",Ge),document.addEventListener("mouseup",Ue),()=>{document.removeEventListener("mousemove",Ge),document.removeEventListener("mouseup",Ue)}},[se,Ge,Ue]),J(()=>{if(E)return document.addEventListener("mousemove",C),document.addEventListener("mouseup",F),()=>{document.removeEventListener("mousemove",C),document.removeEventListener("mouseup",F)}},[E,C,F]),J(()=>{u();let t=setTimeout(()=>{u()},100);return()=>clearTimeout(t)},[u]),yt(()=>{Se(!0),u(),!e.enabled&&I()&&S(!0)},[I,u,e.enabled]),J(()=>{let t=new ResizeObserver(()=>{u()}),o=[];return a.current&&o.push(a.current),z.current&&o.push(z.current),$.current&&document.contains($.current)&&o.push($.current),o.forEach(i=>{t.observe(i)}),()=>t.disconnect()},[u]),J(()=>{if(!a.current)return;let t=new MutationObserver(()=>{$.current=null,u()});return t.observe(a.current,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["style"]}),()=>t.disconnect()},[u]);let $e=Math.max(Re,g);return J(()=>{let t="overlay-scrollbar-webkit-hide",o=document.getElementById(t);o&&o.remove();let i=document.createElement("style");return i.id=t,i.textContent=`
1
+ import{forwardRef as Ze,useCallback as me,useMemo as Qe,useRef as q,useEffect as ke,memo as Lt,useState as lt}from"react";import{Box as he,Table as Dt,TableBody as Et,TableCell as ze,TableContainer as Ht,TableHead as Rt,TableRow as Fe,TableSortLabel as et,Paper as It,Typography as $t}from"@mui/material";import{TableVirtuoso as Ot}from"react-virtuoso";import{jsx as Je}from"react/jsx-runtime";import{useRef as tt,useState as pt,useEffect as ft}from"react";import{Box as mt,CircularProgress as ht}from"@mui/material";var Ne=function(){return Ne=Object.assign||function(p){for(var h,x=1,D=arguments.length;x<D;x++){h=arguments[x];for(var k in h)Object.prototype.hasOwnProperty.call(h,k)&&(p[k]=h[k])}return p},Ne.apply(this,arguments)};function rt(s){var p=s.visible,h=s.onComplete,x=s.fadeoutDuration,D=x===void 0?200:x,k=s.exitDelay,T=k===void 0?0:k,B=s.size,L=B===void 0?40:B,N=s.className,v=s.style,j=s.sx,Z=s.indicator,Q=s.background,ge=Q===void 0?{show:!0,color:"255, 255, 255",opacity:.9}:Q,ee=tt(void 0),a=tt(null),z=pt(p),te=z[0],re=z[1],$=ge.show,oe=$===void 0?!0:$,S=ge.color,E=S===void 0?"255, 255, 255":S,ne=ge.opacity,ie=ne===void 0?.9:ne;if(ft(function(){var De=ee.current;if(De===!0&&p===!1&&a.current){var ae=a.current;ae.style.opacity="0",setTimeout(function(){re(!1),h?.()},D+T)}else p===!0&&(re(!0),a.current&&(a.current.style.opacity="1"));ee.current=p},[p,h,D,T]),!te)return null;var we=function(){return typeof Z=="string"?Je("img",{src:Z,alt:"Loading",style:{width:L,height:L}}):Z||Je(ht,{size:L})},le=function(){return oe?E.startsWith("rgba")?{backgroundColor:E}:/^\d+,\s*\d+,\s*\d+$/.test(E)?{backgroundColor:"rgba(".concat(E,", ").concat(ie,")")}:ie!==1?{backgroundColor:E,"&::before":{content:'""',position:"absolute",top:0,left:0,right:0,bottom:0,backgroundColor:E,opacity:ie,zIndex:-1}}:{backgroundColor:E}:{backgroundColor:"transparent"}};return Je(mt,{ref:a,className:N,style:Ne({},v),sx:Ne(Ne({position:"absolute",top:0,left:0,right:0,bottom:0,display:"flex",alignItems:"center",justifyContent:"center",zIndex:1e3,opacity:p?1:0,transition:"opacity ".concat(D,"ms ease-out")},le()),j),children:we()})}import{useRef as U,useEffect as J,useState as A,useCallback as R,useMemo as je,forwardRef as gt,useImperativeHandle as bt,useLayoutEffect as yt}from"react";import{jsx as Ce,jsxs as nt}from"react/jsx-runtime";var xt=["editor","textarea","input","select","textfield","form-control","contenteditable","MuiInputBase-input","MuiSelect-select","MuiOutlinedInput-input","MuiFilledInput-input","MuiInput-input","MuiFormControl-root","MuiTextField-root","MuiSelect-root","MuiOutlinedInput-root","MuiFilledInput-root","MuiInput-root","MuiAutocomplete-input","MuiDatePicker-input","MuiSlider-thumb","MuiSlider-rail","MuiSlider-track","MuiSlider-mark","MuiSlider-markLabel","MuiSlider-root","MuiSlider-colorPrimary","MuiSlider-sizeMedium","MuiIconButton-root","MuiButton-root","MuiButtonBase-root","MuiTouchRipple-root","MuiCheckbox-root","MuiRadio-root","MuiSwitch-root","PrivateSwitchBase-root","ant-input","ant-input-affix-wrapper","ant-input-group-addon","ant-input-number","ant-input-number-handler","ant-select","ant-select-selector","ant-select-selection-search","ant-select-dropdown","ant-cascader","ant-cascader-input","ant-picker","ant-picker-input","ant-time-picker","ant-calendar-picker","ant-slider","ant-slider-track","ant-slider-handle","ant-switch","ant-checkbox","ant-checkbox-wrapper","ant-radio","ant-radio-wrapper","ant-rate","ant-upload","ant-upload-drag","ant-form-item","ant-form-item-control","ant-btn","ant-dropdown","ant-dropdown-trigger","ant-menu","ant-menu-item","ant-tooltip","ant-popover","ant-modal","ant-drawer","ant-tree-select","ant-auto-complete","ant-mentions","ant-transfer","ui-input","ui-textarea","ui-select","ui-select-trigger","ui-select-content","ui-select-item","ui-button","ui-checkbox","ui-radio-group","ui-switch","ui-slider","ui-range-slider","ui-calendar","ui-date-picker","ui-combobox","ui-command","ui-command-input","ui-popover","ui-dialog","ui-sheet","ui-dropdown-menu","ui-context-menu","ui-menubar","ui-navigation-menu","ui-form","ui-form-control","ui-form-item","ui-form-field","ui-label","radix-ui","radix-select","radix-dropdown","radix-dialog","radix-popover","radix-accordion","radix-tabs","radix-slider","radix-switch","radix-checkbox","radix-radio","ql-editor","ql-container","ql-toolbar","ql-picker","ql-picker-label","ql-picker-options","ql-formats","ql-snow","ql-bubble","quill","quilleditor","monaco-editor","monaco-editor-background","view-lines","decorationsOverviewRuler","monaco-scrollable-element","CodeMirror","CodeMirror-code","CodeMirror-lines","CodeMirror-scroll","CodeMirror-sizer","cm-editor","cm-focused","cm-content","tox-editor-container","tox-editor-header","tox-edit-area","tox-tinymce","mce-content-body","ck-editor","ck-content","ck-toolbar","ck-editor__editable","ck-widget","slate-editor","slate-content","DraftEditor-root","DraftEditor-editorContainer","public-DraftEditor-content","ehfuse-editor","ehfuse-editor-wrapper","ehfuse-editor-content","ehfuse-toolbar","ehfuse-toolbar-group","ehfuse-cursor","text-editor","rich-text-editor","wysiwyg","ace_editor","ace_content"],ot=(s,p)=>{let h=s.tagName.toLowerCase(),x=["text","password","email","number","search","tel","url","checkbox","radio"];if(h==="input"){let D=s.type;return x.includes(D)}if(["textarea","select","button"].includes(h)||["svg","path","circle","rect","line","polygon","polyline"].includes(h)||s.getAttribute("contenteditable")==="true")return!0;if(p?.excludeSelectors){for(let D of p.excludeSelectors)if(s.matches(D))return!0}return vt(s,p)},vt=(s,p)=>{let h=[...xt,...p?.excludeClasses||[]],x=s,D=0,k=5;for(;x&&D<=k;){if(h.some(T=>x.classList.contains(T)))return!0;if(x.classList.contains("MuiDialogContent-root"))break;x=x.parentElement,D++}return!1},wt={},Mt={},Tt={},St={},Ct={},kt=gt(({className:s="",style:p={},containerStyle:h={},contentStyle:x={},children:D,onScroll:k,thumb:T=wt,track:B=Mt,arrows:L=Tt,dragScroll:N=St,autoHide:v=Ct,showScrollbar:j=!0,detectInnerScroll:Z=!1},Q)=>{let ge=U({});J(()=>{ge.current={children:D,onScroll:k,showScrollbar:j,thumb:T,track:B,arrows:L,dragScroll:N,autoHide:v}});let ee=U(null),a=U(null),z=U(null),te=U(null),re=U(null),$=U(null),[oe,S]=A(!1),[E,ne]=A(!1),[ie,we]=A(!1),[le,De]=A({y:0,scrollTop:0}),[ae,Ee]=A(0),[He,Y]=A(0),[X,Re]=A(!1),[se,Ie]=A(!1),[K,Me]=A({x:0,y:0,scrollTop:0,scrollLeft:0}),[Ae,at]=A(null),[Te,ce]=A(null),[Ye,Se]=A(!1),be=U(null),[qe,We]=A(!1),ye=U(null),ue=U(null),r=U(null),n=je(()=>{let t=T.color??"#606060";return{width:T.width??8,minHeight:T.minHeight??50,radius:T.radius??(T.width??8)/2,color:t,opacity:T.opacity??.6,hoverColor:T.hoverColor??t,hoverOpacity:T.hoverOpacity??1}},[T]),l=je(()=>({width:B.width??16,color:B.color??"rgba(128, 128, 128, 0.1)",visible:B.visible??!0,alignment:B.alignment??"center",radius:B.radius??n.radius??4,margin:B.margin??4}),[B,n.radius]),m=je(()=>{let t=L.color??"#808080";return{visible:L.visible??!1,step:L.step??50,color:t,opacity:L.opacity??.6,hoverColor:L.hoverColor??t,hoverOpacity:L.hoverOpacity??1}},[L]),W=je(()=>({enabled:N.enabled??!0,excludeClasses:N.excludeClasses??[],excludeSelectors:N.excludeSelectors??[]}),[N]),e=je(()=>({enabled:v.enabled??!0,delay:v.delay??1500,delayOnWheel:v.delayOnWheel??700}),[v]),g=n.width,$e=l.width,de=n.minHeight,V=m.visible,pe=m.step,H=R(()=>{if(!a.current)return;let t=document.activeElement;t&&a.current.contains(t)&&t!==a.current||a.current.focus()},[]);bt(Q,()=>({getScrollContainer:()=>a.current,scrollTo:t=>{a.current&&a.current.scrollTo(t)},get scrollTop(){return a.current?.scrollTop||0},get scrollHeight(){return a.current?.scrollHeight||0},get clientHeight(){return a.current?.clientHeight||0}}),[]);let f=R(()=>{if($.current){let o=$.current;if(document.contains(o)&&o.scrollHeight>o.clientHeight+2)return o;$.current=null}if(!a.current)return null;if(z.current&&z.current.scrollHeight>a.current.clientHeight+2)return $.current=a.current,a.current;if(!Z)return null;let t=a.current.querySelectorAll('[data-virtuoso-scroller], [style*="overflow"], .virtuoso-scroller, [style*="overflow: auto"], [style*="overflow:auto"]');for(let o of t){let i=o;if(i!==a.current&&i.classList.contains("overlay-scrollbar-container"))continue;let c=i.parentElement,y=!1;for(;c&&c!==a.current;){if(c.classList.contains("overlay-scrollbar-container")&&c!==a.current){y=!0;break}c=c.parentElement}if(!y&&i.scrollHeight>i.clientHeight+2)return $.current=i,i}return null},[]),I=R(()=>f()!==null,[f]),b=R(()=>{ye.current&&(clearTimeout(ye.current),ye.current=null)},[]),xe=R(()=>{ue.current&&(clearTimeout(ue.current),ue.current=null)},[]),fe=R(()=>{r.current&&(clearTimeout(r.current),r.current=null)},[]),w=R(t=>{e.enabled&&(b(),ye.current=setTimeout(()=>{S(!1),ye.current=null},t))},[b,e.enabled]),u=R(()=>{let t=f();if(!t){S(!1),Re(!1),b();return}if(Re(!0),!te.current)return;e.enabled||(S(!0),b());let o=t.clientHeight,i=t.scrollHeight,c=t.scrollTop,y=0;if(ee.current){let Ve=window.getComputedStyle(ee.current),Ke=parseFloat(Ve.paddingTop)||0,dt=parseFloat(Ve.paddingBottom)||0;y=Ke+dt}let M=V?g*2+l.margin*4:l.margin*2,O=o-M+y,P=o/i,ve=Math.max(O*P,de),Be=i-o,G=O-ve,Xe=Be>0?c/Be*G:0;Ee(ve),Y(Xe)},[f,b,V,g,de,e.enabled]),Oe=R(t=>{t.preventDefault(),t.stopPropagation();let o=f();o&&(ne(!0),De({y:t.clientY,scrollTop:o.scrollTop}),b(),S(!0),H())},[f,b,H]),C=R(t=>{if(!E)return;let o=f();if(!o)return;let i=o.clientHeight,c=o.scrollHeight-i,y=t.clientY-le.y,M=i-ae,O=y/M*c,P=Math.max(0,Math.min(c,le.scrollTop+O));o.scrollTop=P,u()},[E,le,ae,u,f]),F=R(()=>{ne(!1),I()&&w(e.delay)},[I,w,e.delay]),_=R(t=>{if(!te.current)return;let o=te.current.getBoundingClientRect(),i=t.clientY-o.top,c=f();if(!c)return;let y=c.clientHeight,M=c.scrollHeight,O=i/y*(M-y);c.scrollTop=Math.max(0,Math.min(M-y,O)),u(),S(!0),w(e.delay),H()},[u,w,e.delay,f,H]),st=R(t=>{if(t.preventDefault(),t.stopPropagation(),!a.current)return;let o=Math.max(0,a.current.scrollTop-pe);a.current.scrollTop=o,u(),S(!0),w(e.delay),H()},[u,w,pe,e.delay,H]),ct=R(t=>{if(t.preventDefault(),t.stopPropagation(),!a.current||!z.current)return;let o=a.current,i=z.current.scrollHeight-o.clientHeight,c=Math.min(i,o.scrollTop+pe);o.scrollTop=c,u(),S(!0),w(e.delay),H()},[u,w,pe,e.delay,H]),ut=R(t=>{if(!W.enabled)return;let o=t.target;if(ot(o,W)||t.button!==0)return;let i=f();i&&(i.scrollHeight<=i.clientHeight||(t.preventDefault(),Ie(!0),Me({x:t.clientX,y:t.clientY,scrollTop:i.scrollTop,scrollLeft:i.scrollLeft||0}),b()))},[W,ot,f,b]),Ge=R(t=>{if(!se)return;let o=f();if(!o)return;let i=K.x-t.clientX,c=K.y-t.clientY;if(Math.abs(c)<3&&Math.abs(i)<3)return;S(!0);let y=Math.max(0,Math.min(o.scrollHeight-o.clientHeight,K.scrollTop+c));o.scrollTop=y,u()},[se,K,f,u]),Ue=R(()=>{Ie(!1),I()&&w(e.delay)},[I,w,e.delay]);J(()=>{let t=M=>{u(),b(),S(!0);let O=qe?e.delayOnWheel:e.delay;w(O),k&&k(M)},o=()=>{We(!0),be.current&&clearTimeout(be.current),be.current=setTimeout(()=>{We(!1)},300),b(),fe(),r.current=setTimeout(()=>{S(!0),r.current=null},50)},i=[],c=f();c&&i.push(c);let y=a.current;return y&&!c&&(i.push(y),y.querySelectorAll('[data-virtuoso-scroller], [style*="overflow"], .virtuoso-scroller, [style*="overflow: auto"], [style*="overflow:auto"]').forEach(M=>{let O=M;if(O!==y&&O.classList.contains("overlay-scrollbar-container"))return;let P=O.parentElement;for(;P&&P!==y;){if(P.classList.contains("overlay-scrollbar-container")&&P!==y)return;P=P.parentElement}i.push(O)})),i.forEach(M=>{M.addEventListener("scroll",t,{passive:!0}),M.addEventListener("wheel",o,{passive:!0})}),()=>{i.forEach(M=>{M.removeEventListener("scroll",t),M.removeEventListener("wheel",o)}),be.current&&clearTimeout(be.current),r.current&&clearTimeout(r.current)}},[f,u,k,b,w,e,qe]),J(()=>{let t=i=>{let c=f();if(!c)return;let{key:y}=i,{scrollTop:M,scrollHeight:O,clientHeight:P}=c,ve=O-P,Be=50,G=null;switch(y){case"ArrowUp":i.preventDefault(),G=Math.max(0,M-Be);break;case"ArrowDown":i.preventDefault(),G=Math.min(ve,M+Be);break;case"PageUp":i.preventDefault(),G=Math.max(0,M-P);break;case"PageDown":i.preventDefault(),G=Math.min(ve,M+P);break;case"Home":i.preventDefault(),G=0;break;case"End":i.preventDefault(),G=ve;break;default:return}if(G!==null){let Xe=G/ve,Ve=V?g*2+l.margin*4:l.margin*2,Ke=(P-Ve-ae)*Xe;Y(Ke),c.scrollTop=G,b(),S(!0),w(e.delay)}},o=a.current;if(o)return o.addEventListener("keydown",t),()=>{o.removeEventListener("keydown",t)}},[f,V,g,l.margin,ae,b,w,e.delay]),J(()=>{if(se)return document.addEventListener("mousemove",Ge),document.addEventListener("mouseup",Ue),()=>{document.removeEventListener("mousemove",Ge),document.removeEventListener("mouseup",Ue)}},[se,Ge,Ue]),J(()=>{if(E)return document.addEventListener("mousemove",C),document.addEventListener("mouseup",F),()=>{document.removeEventListener("mousemove",C),document.removeEventListener("mouseup",F)}},[E,C,F]),J(()=>{u();let t=setTimeout(()=>{u()},100);return()=>clearTimeout(t)},[u]),yt(()=>{Se(!0),u(),!e.enabled&&I()&&S(!0)},[I,u,e.enabled]),J(()=>{let t=new ResizeObserver(()=>{u()}),o=[];return a.current&&o.push(a.current),z.current&&o.push(z.current),$.current&&document.contains($.current)&&o.push($.current),o.forEach(i=>{t.observe(i)}),()=>t.disconnect()},[u]),J(()=>{if(!a.current)return;let t=new MutationObserver(()=>{$.current=null,u()});return t.observe(a.current,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["style"]}),()=>t.disconnect()},[u]);let Pe=Math.max($e,g);return J(()=>{let t="overlay-scrollbar-webkit-hide",o=document.getElementById(t);o&&o.remove();let i=document.createElement("style");return i.id=t,i.textContent=`
2
2
  .overlay-scrollbar-container::-webkit-scrollbar {
3
3
  display: none !important;
4
4
  width: 0 !important;
@@ -18,7 +18,7 @@ import{forwardRef as Ze,useCallback as me,useMemo as Qe,useRef as q,useEffect as
18
18
  outline: 2px solid rgba(0, 123, 255, 0.5);
19
19
  outline-offset: -2px;
20
20
  }
21
- `,document.head.appendChild(i),()=>{let c=document.getElementById(t);c&&c.remove()}},[]),nt("div",{ref:ee,className:`overlay-scrollbar-wrapper ${s}`,style:{display:"flex",flexDirection:"column",position:"relative",minHeight:0,height:"100%",flex:"1 1 0%",...p},children:[Ce("div",{ref:a,className:"overlay-scrollbar-container",tabIndex:-1,onMouseDown:ut,style:{display:"flex",width:"100%",flex:"1 1 auto",minHeight:0,overflow:"auto",scrollbarWidth:"none",msOverflowStyle:"none",outline:"none",userSelect:se?"none":"auto",...h},children:Ce("div",{ref:z,className:"overlay-scrollbar-content",style:{flex:"1 1 0%",minHeight:0,display:"flex",flexDirection:"column",...v},children:D})}),j&&X&&nt("div",{ref:te,className:"overlay-scrollbar-track",onMouseEnter:()=>{b(),ue.current=setTimeout(()=>{S(!0),ue.current=null},100)},onMouseLeave:()=>{ve(),E||w(e.delay)},style:{position:"absolute",top:0,right:0,width:`${$e}px`,height:"100%",opacity:oe?1:0,transition:"opacity 0.2s ease-in-out",cursor:"pointer",zIndex:1e3,pointerEvents:"auto"},children:[l.visible&&Ce("div",{className:"overlay-scrollbar-track-background",onClick:t=>{t.preventDefault(),t.stopPropagation(),_(t)},style:{position:"absolute",top:V?`${n.width+l.margin*2}px`:`${l.margin}px`,right:l.alignment==="right"?"0px":`${($e-n.width)/2}px`,width:`${n.width}px`,height:V?`calc(100% - ${n.width*2+l.margin*4}px)`:`calc(100% - ${l.margin*2}px)`,backgroundColor:l.color,borderRadius:`${l.radius}px`,cursor:"pointer"}}),Ce("div",{ref:re,className:"overlay-scrollbar-thumb",onMouseDown:Ie,onMouseEnter:()=>we(!0),onMouseLeave:()=>we(!1),style:{position:"absolute",top:`${(V?g+l.margin*2:l.margin)+_e}px`,right:l.alignment==="right"?"0px":`${($e-g)/2}px`,width:`${g}px`,height:`${Math.max(ae,de)}px`,backgroundColor:ie||E?n.hoverColor:n.color,opacity:ie||E?n.hoverOpacity:n.opacity,borderRadius:`${n.radius}px`,cursor:"pointer",transition:"background-color 0.2s ease-in-out, opacity 0.2s ease-in-out"}})]}),j&&X&&V&&Ce("div",{className:"overlay-scrollbar-up-arrow",onClick:st,onMouseEnter:()=>ce("up"),onMouseLeave:()=>ce(null),style:{position:"absolute",top:`${l.margin}px`,right:l.alignment==="right"?"0px":`${($e-g)/2}px`,width:`${g}px`,height:`${g}px`,cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",fontSize:`${Math.max(g*.75,8)}px`,color:Te==="up"?m.hoverColor:m.color,userSelect:"none",zIndex:1001,opacity:oe?Te==="up"?m.hoverOpacity:m.opacity:0,transition:"opacity 0.2s ease-in-out, color 0.15s ease-in-out"},children:"\u25B2"}),j&&X&&V&&Ce("div",{className:"overlay-scrollbar-down-arrow",onClick:ct,onMouseEnter:()=>ce("down"),onMouseLeave:()=>ce(null),style:{position:"absolute",bottom:`${l.margin}px`,right:l.alignment==="right"?"0px":`${($e-g)/2}px`,width:`${g}px`,height:`${g}px`,cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",fontSize:`${Math.max(g*.75,8)}px`,color:Te==="down"?m.hoverColor:m.color,userSelect:"none",zIndex:1001,opacity:oe?Te==="down"?m.hoverOpacity:m.opacity:0,transition:"opacity 0.2s ease-in-out, color 0.15s ease-in-out"},children:"\u25BC"})]})}),it=kt;import{Fragment as Fe,jsx as d,jsxs as ke}from"react/jsx-runtime";var Pt={alignment:"right",margin:0,radius:0};function Bt({data:s,loading:p=!1,columns:h,onRowClick:v,rowHeight:D=50,columnHeight:k=56,striped:T,rowDivider:B=!0,onSort:L,onLoadMore:N,sortBy:x,sortDirection:j,showPaper:Z=!0,paddingX:Q="1rem",paddingTop:ge=0,paddingBottom:ee=0,rowHoverColor:a,rowHoverOpacity:z,scrollbars:te,emptyMessage:re="NO DATA",LoadingComponent:$}){let oe=Qe(()=>Ze((r,n)=>{let l=q(null);return d(it,{detectInnerScroll:!0,track:Pt,...te,children:d(Ht,{component:he,...r,ref:m=>{l.current=m,typeof n=="function"?n(m):n&&(n.current=m)},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:Q,paddingTop:ge,paddingBottom:ee}}})})}),[]),S=Qe(()=>{if(T===!0)return"#f5f5f5";if(typeof T=="string")return T},[T]),[E,ne]=lt(p),[ie,we]=lt(0);Ne(()=>{p&&ne(!0)},[p]);let le=me(()=>{ne(!1)},[]),Le=E,ae=p&&s.length>0,De=q(!1),_e=q(null),Y=q(null),X=q(!1),Ee=q({x:0,y:0,scrollTop:0}),se=q(!1),He=q(0),K=q(0),Me=q(!1),ze=q({x:0,y:0}),at=q(null),Te=me(r=>{},[]),ce=me(r=>{if(!se.current||!Y.current)return;let n=r.clientY-Ee.current.y;if(!X.current&&Math.abs(n)>5&&(X.current=!0,Y.current&&(Y.current.style.userSelect="none")),X.current){let m=n*2;K.current+=-m;let W=Y.current,e=Math.max(0,He.current+K.current);W.scrollTop=e,Ee.current.y=r.clientY,r.preventDefault()}},[]),Ae=me(()=>{if(se.current=!1,X.current&&Y.current){let r=Math.max(0,He.current+K.current),n=()=>{Y.current&&(Y.current.scrollTop=r)};n(),setTimeout(n,1),setTimeout(n,5),setTimeout(n,10)}X.current=!1,K.current=0,Y.current&&(Y.current.style.userSelect="auto")},[]);Ne(()=>{let r=document.querySelector('[data-testid="virtuoso-scroller"]');r&&r.querySelectorAll(".MuiTableSortLabel-root").forEach(l=>{let m=new MouseEvent("mouseleave",{bubbles:!0,cancelable:!0});l.dispatchEvent(m)})},[x]);let Se=me(r=>{if(!L)return;L(r,x===r&&j==="asc"?"desc":"asc")},[L,x,j]),be=me(r=>{if(!N||p&&s.length===0)return;let n=Date.now(),l=window.lastRangeChangeTime||0;if(n-l<100)return;window.lastRangeChangeTime=n;let m=Math.max(10,Math.floor(s.length*.1)),W=r.endIndex>=s.length-m,e=s.length>=30;if(W&&e&&N&&!De.current){De.current=!0;let g=s.length;N(g,50)}},[s.length,p,N]);Ne(()=>{p||(De.current=!1)},[p]),Ne(()=>{s.length===0&&we(r=>r+1)},[s.length]),Ne(()=>(document.addEventListener("mousemove",ce),document.addEventListener("mouseup",Ae),()=>{document.removeEventListener("mousemove",ce),document.removeEventListener("mouseup",Ae)}),[ce,Ae]);let Ye=me(()=>{let r={},n=[];if(h.forEach(e=>{e.group?(r[e.group]||(r[e.group]=[]),r[e.group].push(e)):n.push(e)}),!(Object.keys(r).length>0))return d(Ve,{children:h.map(e=>d(je,{align:e.align||"left",style:{width:e.width,minWidth:e.width,...e.style,fontWeight:"bold",position:"sticky",top:0,zIndex:2,padding:"16px"},children:e.sortable?d("div",{style:{display:"flex",alignItems:"center",justifyContent:e.align==="center"?"center":e.align==="right"?"flex-end":"flex-start",position:"relative",width:"100%"},children:ke(he,{sx:{position:"relative",cursor:"default","&:hover .MuiTableSortLabel-root":{opacity:"1 !important","& .MuiSvgIcon-root":{color:"#000",opacity:"1 !important"}}},onClick:()=>Se(String(e.id)),children:[e.text,d(et,{active:x===e.id,direction:x===e.id?j:"desc",sx:{position:"absolute",left:"100%",top:"50%",transform:"translateY(-50%)",marginLeft:"4px",minWidth:"auto",width:"16px",height:"16px",cursor:"default",opacity:x===e.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)"}}})]})}):e.text},String(e.id)))});let m=[...n.map(e=>d(je,{rowSpan:2,align:e.align||"left",style:{width:e.width,minWidth:e.width,...e.style,fontWeight:"bold",position:"sticky",top:0,zIndex:2,padding:"16px"},children:e.sortable&&L?d("div",{style:{display:"flex",alignItems:"center",justifyContent:e.align==="center"?"center":e.align==="right"?"flex-end":"flex-start",position:"relative",width:"100%"},children:ke(he,{sx:{position:"relative",cursor:"default","&:hover .MuiTableSortLabel-root":{opacity:"1 !important","& .MuiSvgIcon-root":{color:"#000",opacity:"1 !important"}}},onClick:()=>Se(String(e.id)),children:[e.text,d(et,{active:x===e.id,direction:x===e.id?j:"desc",sx:{position:"absolute",left:"100%",top:"50%",transform:"translateY(-50%)",marginLeft:"4px",minWidth:"auto",width:"16px",height:"16px",cursor:"default",opacity:x===e.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)"}}})]})}):e.text},String(e.id))),...Object.entries(r).map(([e,g])=>d(je,{align:"center",colSpan:g.length,style:{fontWeight:"bold",position:"sticky",top:0,zIndex:2,padding:"16px"},children:e},e))],W=[...Object.values(r).flat().map(e=>d(je,{align:e.align||"left",style:{width:e.width,minWidth:e.width,...e.style,fontWeight:"bold",position:"sticky",top:0,zIndex:2,padding:"16px"},children:e.sortable&&L?d("div",{style:{display:"flex",alignItems:"center",justifyContent:e.align==="center"?"center":e.align==="right"?"flex-end":"flex-start",position:"relative",width:"100%"},children:ke(he,{sx:{position:"relative",cursor:"default","&:hover .MuiTableSortLabel-root":{opacity:"1 !important","& .MuiSvgIcon-root":{color:"#000",opacity:"1 !important"}}},onClick:()=>Se(String(e.id)),children:[e.text,d(et,{active:x===e.id,direction:x===e.id?j:"desc",sx:{position:"absolute",left:"100%",top:"50%",transform:"translateY(-50%)",marginLeft:"4px",minWidth:"auto",width:"16px",height:"16px",cursor:"default",opacity:x===e.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)"}}})]})}):e.text},String(e.id)))];return ke(Fe,{children:[d(Ve,{children:m}),d(Ve,{children:W})]})},[h,x,j,Se,L,k]),qe=me((r,n)=>n?d(Fe,{children:h.map(l=>d(je,{align:l.align||"left",style:{width:l.width,minWidth:l.width,...l.style,padding:"8px 16px"},children:l.render?l.render(n,r):String(n[l.id]||"")},String(l.id)))}):(console.log("rowContent - \uC544\uC774\uD15C \uC5C6\uC74C, \uC778\uB371\uC2A4:",r),null),[h]),ye=Qe(()=>({Scroller:oe,Table:r=>d(Dt,{...r,sx:{borderCollapse:"separate",tableLayout:"fixed",marginRight:"16px"}}),TableHead:Ze((r,n)=>d(Rt,{...r,ref:n,sx:{userSelect:"none","& tr":{height:k,"& th":{padding:"16px",position:"sticky",top:0,zIndex:2,fontWeight:"bold"}}}})),TableRow:r=>{let{item:n,...l}=r,m=l["data-index"]??0,W=m%2===1;return d(Ve,{...l,onMouseDown:e=>{Me.current=!1,ze.current={x:e.clientX,y:e.clientY}},onMouseMove:e=>{let g=Math.abs(e.clientX-ze.current.x),Re=Math.abs(e.clientY-ze.current.y),de=5;(g>de||Re>de)&&(Me.current=!0)},onClick:()=>{!Me.current&&!X.current&&n&&v&&v(n,m),Me.current=!1},sx:{userSelect:"none",height:D,backgroundColor:W&&S?S:"transparent","& td":{padding:"8px 16px",borderBottom:B?"1px solid rgba(224, 224, 224, 1)":"none"},"& th":{padding:"8px 16px",borderBottom:"none"},"&:hover":v?{backgroundColor:e=>{let g=e.palette.mode==="dark",de=a??"#000000",V=z??.06,pe=de.replace("#",""),H=parseInt(pe.substring(0,2),16)/255,f=parseInt(pe.substring(2,4),16)/255,I=parseInt(pe.substring(4,6),16)/255;if(g){let b=Math.max(H,f,I),ve=Math.min(H,f,I),fe=0,w=0,u=(b+ve)/2;if(b!==ve){let C=b-ve;switch(w=u>.5?C/(2-b-ve):C/(b+ve),b){case H:fe=((f-I)/C+(f<I?6:0))/6;break;case f:fe=((I-H)/C+2)/6;break;case I:fe=((H-f)/C+4)/6;break}}u=1-u;let Ie=(C,F,_)=>(_<0&&(_+=1),_>1&&(_-=1),_<1/6?C+(F-C)*6*_:_<1/2?F:_<2/3?C+(F-C)*(2/3-_)*6:C);if(w===0)H=f=I=u;else{let C=u<.5?u*(1+w):u+w-u*w,F=2*u-C;H=Ie(F,C,fe+1/3),f=Ie(F,C,fe),I=Ie(F,C,fe-1/3)}}return`rgba(${Math.round(H*255)}, ${Math.round(f*255)}, ${Math.round(I*255)}, ${V})`},transition:"background-color 0.2s ease"}:{}}})},TableBody:Ze((r,n)=>d(Et,{...r,ref:n}))}),[v,D,Te,S,B,k,a,z,oe]),ue=ke(he,{sx:{position:"relative",height:"100%",width:"100%","& .MuiTableHead-root":{backgroundColor:r=>r.palette.mode==="dark"?"#1e1e1e !important":"#ffffff !important"}},children:[d(Ot,{ref:_e,data:s,totalCount:N?s.length+1:s.length,fixedHeaderContent:Ye,itemContent:qe,rangeChanged:be,components:ye,style:{height:"100%"},increaseViewportBy:{top:100,bottom:300},overscan:5,followOutput:!1},ie),s.length===0&&!p&&d(he,{sx:{position:"absolute",top:0,left:0,right:0,bottom:0,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:2},children:typeof re=="string"?ke(Fe,{children:[d(he,{sx:{width:48,height:48,display:"flex",alignItems:"center",justifyContent:"center",borderRadius:"50%",backgroundColor:"#f5f5f5",color:"#999"},children:"\u{1F4C4}"}),d($t,{variant:"body1",sx:{color:"text.secondary"},children:re})]}):re}),Le&&d(Fe,{children:$?d($,{visible:p,onComplete:le}):d(rt,{visible:p,onComplete:le,size:40,sx:{top:`${h.some(r=>r.group)?k*2:k}px`},background:{show:s.length===0,opacity:.8}})})]});return Z?d(It,{className:"grow",elevation:1,sx:{padding:0,paddingLeft:Q,height:"100%",minHeight:0,flex:1,display:"flex",flexDirection:"column"},children:ue}):d(he,{className:"grow",style:{padding:0,paddingLeft:Q,height:"100%",minHeight:0,flex:1,display:"flex",flexDirection:"column"},children:ue})}var Nt=Lt(Bt);export{Nt as VirtualDataTable};
21
+ `,document.head.appendChild(i),()=>{let c=document.getElementById(t);c&&c.remove()}},[]),nt("div",{ref:ee,className:`overlay-scrollbar-wrapper ${s}`,style:{display:"flex",flexDirection:"column",position:"relative",minHeight:0,height:"100%",flex:"1 1 0%",...p},children:[Ce("div",{ref:a,className:"overlay-scrollbar-container",tabIndex:-1,onMouseDown:ut,style:{display:"flex",width:"100%",flex:"1 1 auto",minHeight:0,overflow:"auto",scrollbarWidth:"none",msOverflowStyle:"none",outline:"none",userSelect:se?"none":"auto",...h},children:Ce("div",{ref:z,className:"overlay-scrollbar-content",style:{flex:"1 1 0%",minHeight:0,display:"flex",flexDirection:"column",...x},children:D})}),j&&X&&nt("div",{ref:te,className:"overlay-scrollbar-track",onMouseEnter:()=>{b(),ue.current=setTimeout(()=>{S(!0),ue.current=null},100)},onMouseLeave:()=>{xe(),E||w(e.delay)},style:{position:"absolute",top:0,right:0,width:`${Pe}px`,height:"100%",opacity:oe?1:0,transition:"opacity 0.2s ease-in-out",cursor:"pointer",zIndex:1e3,pointerEvents:"auto"},children:[l.visible&&Ce("div",{className:"overlay-scrollbar-track-background",onClick:t=>{t.preventDefault(),t.stopPropagation(),_(t)},style:{position:"absolute",top:V?`${n.width+l.margin*2}px`:`${l.margin}px`,right:l.alignment==="right"?"0px":`${(Pe-n.width)/2}px`,width:`${n.width}px`,height:V?`calc(100% - ${n.width*2+l.margin*4}px)`:`calc(100% - ${l.margin*2}px)`,backgroundColor:l.color,borderRadius:`${l.radius}px`,cursor:"pointer"}}),Ce("div",{ref:re,className:"overlay-scrollbar-thumb",onMouseDown:Oe,onMouseEnter:()=>we(!0),onMouseLeave:()=>we(!1),style:{position:"absolute",top:`${(V?g+l.margin*2:l.margin)+He}px`,right:l.alignment==="right"?"0px":`${(Pe-g)/2}px`,width:`${g}px`,height:`${Math.max(ae,de)}px`,backgroundColor:ie||E?n.hoverColor:n.color,opacity:ie||E?n.hoverOpacity:n.opacity,borderRadius:`${n.radius}px`,cursor:"pointer",transition:"background-color 0.2s ease-in-out, opacity 0.2s ease-in-out"}})]}),j&&X&&V&&Ce("div",{className:"overlay-scrollbar-up-arrow",onClick:st,onMouseEnter:()=>ce("up"),onMouseLeave:()=>ce(null),style:{position:"absolute",top:`${l.margin}px`,right:l.alignment==="right"?"0px":`${(Pe-g)/2}px`,width:`${g}px`,height:`${g}px`,cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",fontSize:`${Math.max(g*.75,8)}px`,color:Te==="up"?m.hoverColor:m.color,userSelect:"none",zIndex:1001,opacity:oe?Te==="up"?m.hoverOpacity:m.opacity:0,transition:"opacity 0.2s ease-in-out, color 0.15s ease-in-out"},children:"\u25B2"}),j&&X&&V&&Ce("div",{className:"overlay-scrollbar-down-arrow",onClick:ct,onMouseEnter:()=>ce("down"),onMouseLeave:()=>ce(null),style:{position:"absolute",bottom:`${l.margin}px`,right:l.alignment==="right"?"0px":`${(Pe-g)/2}px`,width:`${g}px`,height:`${g}px`,cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",fontSize:`${Math.max(g*.75,8)}px`,color:Te==="down"?m.hoverColor:m.color,userSelect:"none",zIndex:1001,opacity:oe?Te==="down"?m.hoverOpacity:m.opacity:0,transition:"opacity 0.2s ease-in-out, color 0.15s ease-in-out"},children:"\u25BC"})]})}),it=kt;import{Fragment as _e,jsx as d,jsxs as Le}from"react/jsx-runtime";var Pt={alignment:"right",margin:0,radius:0};function Bt({data:s,loading:p=!1,columns:h,onRowClick:x,rowHeight:D=50,columnHeight:k=56,striped:T,rowDivider:B=!0,onSort:L,onLoadMore:N,sortBy:v,sortDirection:j,showPaper:Z=!0,paddingX:Q="1rem",paddingTop:ge=0,paddingBottom:ee=0,rowHoverColor:a,rowHoverOpacity:z,scrollbars:te,emptyMessage:re="NO DATA",LoadingComponent:$}){let oe=Qe(()=>Ze((r,n)=>{let l=q(null);return d(it,{detectInnerScroll:!0,track:Pt,...te,children:d(Ht,{component:he,...r,ref:m=>{l.current=m,typeof n=="function"?n(m):n&&(n.current=m)},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:Q,paddingTop:ge,paddingBottom:ee}}})})}),[]),S=Qe(()=>{if(T===!0)return"#f5f5f5";if(typeof T=="string")return T},[T]),[E,ne]=lt(p),[ie,we]=lt(0);ke(()=>{p&&ne(!0)},[p]);let le=me(()=>{ne(!1)},[]),De=E,ae=p&&s.length>0,Ee=q(!1),He=q(null),Y=q(null),X=q(!1),Re=q({x:0,y:0,scrollTop:0}),se=q(!1),Ie=q(0),K=q(0),Me=q(!1),Ae=q({x:0,y:0}),at=q(null),Te=me(r=>{},[]),ce=me(r=>{if(!se.current||!Y.current)return;let n=r.clientY-Re.current.y;if(!X.current&&Math.abs(n)>5&&(X.current=!0,Y.current&&(Y.current.style.userSelect="none")),X.current){let m=n*2;K.current+=-m;let W=Y.current,e=Math.max(0,Ie.current+K.current);W.scrollTop=e,Re.current.y=r.clientY,r.preventDefault()}},[]),Ye=me(()=>{if(se.current=!1,X.current&&Y.current){let r=Math.max(0,Ie.current+K.current),n=()=>{Y.current&&(Y.current.scrollTop=r)};n(),setTimeout(n,1),setTimeout(n,5),setTimeout(n,10)}X.current=!1,K.current=0,Y.current&&(Y.current.style.userSelect="auto")},[]);ke(()=>{let r=document.querySelector('[data-testid="virtuoso-scroller"]');r&&r.querySelectorAll(".MuiTableSortLabel-root").forEach(l=>{let m=new MouseEvent("mouseleave",{bubbles:!0,cancelable:!0});l.dispatchEvent(m)})},[v]);let Se=me(r=>{if(!L)return;L(r,v===r&&j==="asc"?"desc":"asc")},[L,v,j]),be=me(r=>{if(!N||p&&s.length===0)return;let n=Date.now(),l=window.lastRangeChangeTime||0;if(n-l<100)return;window.lastRangeChangeTime=n;let m=Math.max(10,Math.floor(s.length*.1)),W=r.endIndex>=s.length-m,e=s.length>=30;if(W&&e&&N&&!Ee.current){Ee.current=!0;let g=s.length;N(g,50)}},[s.length,p,N]);ke(()=>{p||(Ee.current=!1)},[p]),ke(()=>{s.length===0&&we(r=>r+1)},[s.length]),ke(()=>{He.current&&s.length>0&&He.current.scrollToIndex({index:0,align:"start",behavior:"auto"})},[s]),ke(()=>(document.addEventListener("mousemove",ce),document.addEventListener("mouseup",Ye),()=>{document.removeEventListener("mousemove",ce),document.removeEventListener("mouseup",Ye)}),[ce,Ye]);let qe=me(()=>{let r={},n=[];if(h.forEach(e=>{e.group?(r[e.group]||(r[e.group]=[]),r[e.group].push(e)):n.push(e)}),!(Object.keys(r).length>0))return d(Fe,{children:h.map(e=>d(ze,{align:e.align||"left",style:{width:e.width,minWidth:e.width,...e.style,fontWeight:"bold",position:"sticky",top:0,zIndex:2,padding:"16px"},children:e.sortable?d("div",{style:{display:"flex",alignItems:"center",justifyContent:e.align==="center"?"center":e.align==="right"?"flex-end":"flex-start",position:"relative",width:"100%"},children:Le(he,{sx:{position:"relative",cursor:"default","&:hover .MuiTableSortLabel-root":{opacity:"1 !important","& .MuiSvgIcon-root":{color:"#000",opacity:"1 !important"}}},onClick:()=>Se(String(e.id)),children:[e.text,d(et,{active:v===e.id,direction:v===e.id?j:"desc",sx:{position:"absolute",left:"100%",top:"50%",transform:"translateY(-50%)",marginLeft:"4px",minWidth:"auto",width:"16px",height:"16px",cursor:"default",opacity:v===e.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)"}}})]})}):e.text},String(e.id)))});let m=[...n.map(e=>d(ze,{rowSpan:2,align:e.align||"left",style:{width:e.width,minWidth:e.width,...e.style,fontWeight:"bold",position:"sticky",top:0,zIndex:2,padding:"16px"},children:e.sortable&&L?d("div",{style:{display:"flex",alignItems:"center",justifyContent:e.align==="center"?"center":e.align==="right"?"flex-end":"flex-start",position:"relative",width:"100%"},children:Le(he,{sx:{position:"relative",cursor:"default","&:hover .MuiTableSortLabel-root":{opacity:"1 !important","& .MuiSvgIcon-root":{color:"#000",opacity:"1 !important"}}},onClick:()=>Se(String(e.id)),children:[e.text,d(et,{active:v===e.id,direction:v===e.id?j:"desc",sx:{position:"absolute",left:"100%",top:"50%",transform:"translateY(-50%)",marginLeft:"4px",minWidth:"auto",width:"16px",height:"16px",cursor:"default",opacity:v===e.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)"}}})]})}):e.text},String(e.id))),...Object.entries(r).map(([e,g])=>d(ze,{align:"center",colSpan:g.length,style:{fontWeight:"bold",position:"sticky",top:0,zIndex:2,padding:"16px"},children:e},e))],W=[...Object.values(r).flat().map(e=>d(ze,{align:e.align||"left",style:{width:e.width,minWidth:e.width,...e.style,fontWeight:"bold",position:"sticky",top:0,zIndex:2,padding:"16px"},children:e.sortable&&L?d("div",{style:{display:"flex",alignItems:"center",justifyContent:e.align==="center"?"center":e.align==="right"?"flex-end":"flex-start",position:"relative",width:"100%"},children:Le(he,{sx:{position:"relative",cursor:"default","&:hover .MuiTableSortLabel-root":{opacity:"1 !important","& .MuiSvgIcon-root":{color:"#000",opacity:"1 !important"}}},onClick:()=>Se(String(e.id)),children:[e.text,d(et,{active:v===e.id,direction:v===e.id?j:"desc",sx:{position:"absolute",left:"100%",top:"50%",transform:"translateY(-50%)",marginLeft:"4px",minWidth:"auto",width:"16px",height:"16px",cursor:"default",opacity:v===e.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)"}}})]})}):e.text},String(e.id)))];return Le(_e,{children:[d(Fe,{children:m}),d(Fe,{children:W})]})},[h,v,j,Se,L,k]),We=me((r,n)=>n?d(_e,{children:h.map(l=>d(ze,{align:l.align||"left",style:{width:l.width,minWidth:l.width,...l.style,padding:"8px 16px"},children:l.render?l.render(n,r):String(n[l.id]||"")},String(l.id)))}):(console.log("rowContent - \uC544\uC774\uD15C \uC5C6\uC74C, \uC778\uB371\uC2A4:",r),null),[h]),ye=Qe(()=>({Scroller:oe,Table:r=>d(Dt,{...r,sx:{borderCollapse:"separate",tableLayout:"fixed",marginRight:"16px"}}),TableHead:Ze((r,n)=>d(Rt,{...r,ref:n,sx:{userSelect:"none","& tr":{height:k,"& th":{padding:"16px",position:"sticky",top:0,zIndex:2,fontWeight:"bold"}}}})),TableRow:r=>{let{item:n,...l}=r,m=l["data-index"]??0,W=m%2===1;return d(Fe,{...l,onMouseDown:e=>{Me.current=!1,Ae.current={x:e.clientX,y:e.clientY}},onMouseMove:e=>{let g=Math.abs(e.clientX-Ae.current.x),$e=Math.abs(e.clientY-Ae.current.y),de=5;(g>de||$e>de)&&(Me.current=!0)},onClick:()=>{!Me.current&&!X.current&&n&&x&&x(n,m),Me.current=!1},sx:{userSelect:"none",height:D,backgroundColor:W&&S?S:"transparent","& td":{padding:"8px 16px",borderBottom:B?"1px solid rgba(224, 224, 224, 1)":"none"},"& th":{padding:"8px 16px",borderBottom:"none"},"&:hover":x?{backgroundColor:e=>{let g=e.palette.mode==="dark",de=a??"#000000",V=z??.06,pe=de.replace("#",""),H=parseInt(pe.substring(0,2),16)/255,f=parseInt(pe.substring(2,4),16)/255,I=parseInt(pe.substring(4,6),16)/255;if(g){let b=Math.max(H,f,I),xe=Math.min(H,f,I),fe=0,w=0,u=(b+xe)/2;if(b!==xe){let C=b-xe;switch(w=u>.5?C/(2-b-xe):C/(b+xe),b){case H:fe=((f-I)/C+(f<I?6:0))/6;break;case f:fe=((I-H)/C+2)/6;break;case I:fe=((H-f)/C+4)/6;break}}u=1-u;let Oe=(C,F,_)=>(_<0&&(_+=1),_>1&&(_-=1),_<1/6?C+(F-C)*6*_:_<1/2?F:_<2/3?C+(F-C)*(2/3-_)*6:C);if(w===0)H=f=I=u;else{let C=u<.5?u*(1+w):u+w-u*w,F=2*u-C;H=Oe(F,C,fe+1/3),f=Oe(F,C,fe),I=Oe(F,C,fe-1/3)}}return`rgba(${Math.round(H*255)}, ${Math.round(f*255)}, ${Math.round(I*255)}, ${V})`},transition:"background-color 0.2s ease"}:{}}})},TableBody:Ze((r,n)=>d(Et,{...r,ref:n}))}),[x,D,Te,S,B,k,a,z,oe]),ue=Le(he,{sx:{position:"relative",height:"100%",width:"100%","& .MuiTableHead-root":{backgroundColor:r=>r.palette.mode==="dark"?"#1e1e1e !important":"#ffffff !important"}},children:[d(Ot,{ref:He,data:s,totalCount:N?s.length+1:s.length,fixedHeaderContent:qe,itemContent:We,rangeChanged:be,components:ye,style:{height:"100%"},increaseViewportBy:{top:100,bottom:300},overscan:5,followOutput:!1},ie),s.length===0&&!p&&d(he,{sx:{position:"absolute",top:0,left:0,right:0,bottom:0,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:2},children:typeof re=="string"?Le(_e,{children:[d(he,{sx:{width:48,height:48,display:"flex",alignItems:"center",justifyContent:"center",borderRadius:"50%",backgroundColor:"#f5f5f5",color:"#999"},children:"\u{1F4C4}"}),d($t,{variant:"body1",sx:{color:"text.secondary"},children:re})]}):re}),De&&d(_e,{children:$?d($,{visible:p,onComplete:le}):d(rt,{visible:p,onComplete:le,size:40,sx:{top:`${h.some(r=>r.group)?k*2:k}px`},background:{show:s.length===0,opacity:.8}})})]});return Z?d(It,{className:"grow",elevation:1,sx:{padding:0,paddingLeft:Q,height:"100%",minHeight:0,flex:1,display:"flex",flexDirection:"column"},children:ue}):d(he,{className:"grow",style:{padding:0,paddingLeft:Q,height:"100%",minHeight:0,flex:1,display:"flex",flexDirection:"column"},children:ue})}var Nt=Lt(Bt);export{Nt as VirtualDataTable};
22
22
  /**
23
23
  * Virtual Data Table - A high-performance virtual data table component for React
24
24
  *