@ehfuse/mui-virtual-data-table 1.1.22 → 1.1.24
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/CssSpinner.d.ts +12 -0
- package/dist/index.esm.js +5 -2
- package/dist/index.esm.js.map +4 -4
- package/dist/index.js +5 -2
- package/dist/index.js.map +4 -4
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
"use strict";var Ge=Object.defineProperty;var rt=Object.getOwnPropertyDescriptor;var nt=Object.getOwnPropertyNames;var ot=Object.prototype.hasOwnProperty;var it=(a,p)=>{for(var h in p)Ge(a,h,{get:p[h],enumerable:!0})},lt=(a,p,h,S)=>{if(p&&typeof p=="object"||typeof p=="function")for(let T of nt(p))!ot.call(a,T)&&T!==h&&Ge(a,T,{get:()=>p[T],enumerable:!(S=rt(p,T))||S.enumerable});return a};var at=a=>lt(Ge({},"__esModule",{value:!0}),a);var xt={};it(xt,{VirtualDataTable:()=>et});module.exports=at(xt);var c=require("react"),d=require("@mui/material"),Qe=require("react-virtuoso");var Ve=require("react/jsx-runtime"),ve=require("react"),We=require("@mui/material"),He=function(){return He=Object.assign||function(p){for(var h,S=1,T=arguments.length;S<T;S++){h=arguments[S];for(var I in h)Object.prototype.hasOwnProperty.call(h,I)&&(p[I]=h[I])}return p},He.apply(this,arguments)};function Ke(a){var p=a.visible,h=a.onComplete,S=a.fadeoutDuration,T=S===void 0?200:S,I=a.exitDelay,D=I===void 0?0:I,E=a.size,H=E===void 0?40:E,z=a.className,K=a.style,q=a.sx,U=a.indicator,O=a.background,Y=O===void 0?{show:!0,color:"255, 255, 255",opacity:.9}:O,se=(0,ve.useRef)(void 0),u=(0,ve.useRef)(null),_=(0,ve.useState)(p),ce=_[0],ue=_[1],B=Y.show,G=B===void 0?!0:B,R=Y.color,$=R===void 0?"255, 255, 255":R,ne=Y.opacity,oe=ne===void 0?.9:ne;if((0,ve.useEffect)(function(){var ie=se.current;if(ie===!0&&p===!1&&u.current){var le=u.current;le.style.opacity="0",setTimeout(function(){ue(!1),h?.()},T+D)}else p===!0&&(ue(!0),u.current&&(u.current.style.opacity="1"));se.current=p},[p,h,T,D]),!ce)return null;var we=function(){return typeof U=="string"?(0,Ve.jsx)("img",{src:U,alt:"Loading",style:{width:H,height:H}}):U||(0,Ve.jsx)(We.CircularProgress,{size:H})},de=function(){return G?$.startsWith("rgba")?{backgroundColor:$}:/^\d+,\s*\d+,\s*\d+$/.test($)?{backgroundColor:"rgba(".concat($,", ").concat(oe,")")}:oe!==1?{backgroundColor:$,"&::before":{content:'""',position:"absolute",top:0,left:0,right:0,bottom:0,backgroundColor:$,opacity:oe,zIndex:-1}}:{backgroundColor:$}:{backgroundColor:"transparent"}};return(0,Ve.jsx)(We.Box,{ref:u,className:z,style:He({},K),sx:He(He({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(T,"ms ease-out")},de()),q),children:we()})}var o=require("react"),re=require("react/jsx-runtime"),st=["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"],Ue=(a,p)=>{let h=a.tagName.toLowerCase(),S=["text","password","email","number","search","tel","url","checkbox","radio"];if(h==="input"){let T=a.type;return S.includes(T)}if(["textarea","select","button"].includes(h)||["svg","path","circle","rect","line","polygon","polyline"].includes(h)||a.getAttribute("contenteditable")==="true")return!0;if(p?.excludeSelectors){for(let T of p.excludeSelectors)if(a.matches(T))return!0}return ct(a,p)},ct=(a,p)=>{let h=[...st,...p?.excludeClasses||[]],S=a,T=0,I=5;for(;S&&T<=I;){if(h.some(D=>S.classList.contains(D)))return!0;if(S.classList.contains("MuiDialogContent-root"))break;S=S.parentElement,T++}return!1},ut={},dt={},pt={},ft={},ht={},mt=(0,o.forwardRef)(({className:a="",style:p={},containerStyle:h={},contentStyle:S={},children:T,onScroll:I,thumb:D=ut,track:E=dt,arrows:H=pt,dragScroll:z=ft,autoHide:K=ht,showScrollbar:q=!0,detectInnerScroll:U=!1},O)=>{let Y=(0,o.useRef)({});(0,o.useEffect)(()=>{Y.current={children:T,onScroll:I,showScrollbar:q,thumb:D,track:E,arrows:H,dragScroll:z,autoHide:K}});let se=(0,o.useRef)(null),u=(0,o.useRef)(null),_=(0,o.useRef)(null),ce=(0,o.useRef)(null),ue=(0,o.useRef)(null),B=(0,o.useRef)(null),[G,R]=(0,o.useState)(!1),[$,ne]=(0,o.useState)(!1),[oe,we]=(0,o.useState)(!1),[de,ie]=(0,o.useState)({y:0,scrollTop:0}),[le,qe]=(0,o.useState)(0),[je,Oe]=(0,o.useState)(0),[Se,$e]=(0,o.useState)(!1),[he,ke]=(0,o.useState)(!1),[Le,k]=(0,o.useState)({x:0,y:0,scrollTop:0,scrollLeft:0}),[x,Fe]=(0,o.useState)(null),[me,pe]=(0,o.useState)(null),[Xe,Ne]=(0,o.useState)(!1),ge=(0,o.useRef)(null),[Pe,De]=(0,o.useState)(!1),be=(0,o.useRef)(null),Me=(0,o.useRef)(null),Z=(0,o.useRef)(null),F=(0,o.useMemo)(()=>{let t=D.color??"#606060";return{width:D.width??8,minHeight:D.minHeight??50,radius:D.radius??(D.width??8)/2,color:t,opacity:D.opacity??.6,hoverColor:D.hoverColor??t,hoverOpacity:D.hoverOpacity??1}},[D]),M=(0,o.useMemo)(()=>({width:E.width??16,color:E.color??"rgba(128, 128, 128, 0.1)",visible:E.visible??!0,alignment:E.alignment??"center",radius:E.radius??F.radius??4,margin:E.margin??4}),[E,F.radius]),V=(0,o.useMemo)(()=>{let t=H.color??"#808080";return{visible:H.visible??!1,step:H.step??50,color:t,opacity:H.opacity??.6,hoverColor:H.hoverColor??t,hoverOpacity:H.hoverOpacity??1}},[H]),xe=(0,o.useMemo)(()=>({enabled:z.enabled??!0,excludeClasses:z.excludeClasses??[],excludeSelectors:z.excludeSelectors??[]}),[z]),b=(0,o.useMemo)(()=>({enabled:K.enabled??!0,delay:K.delay??1500,delayOnWheel:K.delayOnWheel??700}),[K]),L=F.width,Ce=M.width,Re=F.minHeight,j=V.visible,Te=V.step,ee=(0,o.useCallback)(()=>{if(!u.current)return;let t=document.activeElement;t&&u.current.contains(t)&&t!==u.current||u.current.focus()},[]);(0,o.useImperativeHandle)(O,()=>({getScrollContainer:()=>u.current,scrollTo:t=>{u.current&&u.current.scrollTo(t)},get scrollTop(){return u.current?.scrollTop||0},get scrollHeight(){return u.current?.scrollHeight||0},get clientHeight(){return u.current?.clientHeight||0}}),[]);let C=(0,o.useCallback)(()=>{if(B.current){let i=B.current;if(document.contains(i)&&i.scrollHeight>i.clientHeight+2)return i;B.current=null}if(!u.current)return null;if(_.current&&_.current.scrollHeight>u.current.clientHeight+2)return B.current=u.current,u.current;if(!U)return null;let t=u.current.querySelectorAll('[data-virtuoso-scroller], [style*="overflow"], .virtuoso-scroller, [style*="overflow: auto"], [style*="overflow:auto"]');for(let i of t){let l=i;if(l!==u.current&&l.classList.contains("overlay-scrollbar-container"))continue;let f=l.parentElement,v=!1;for(;f&&f!==u.current;){if(f.classList.contains("overlay-scrollbar-container")&&f!==u.current){v=!0;break}f=f.parentElement}if(!v&&l.scrollHeight>l.clientHeight+2)return B.current=l,l}return null},[]),fe=(0,o.useCallback)(()=>C()!==null,[C]),A=(0,o.useCallback)(()=>{be.current&&(clearTimeout(be.current),be.current=null)},[]),ze=(0,o.useCallback)(()=>{Me.current&&(clearTimeout(Me.current),Me.current=null)},[]),Ae=(0,o.useCallback)(()=>{Z.current&&(clearTimeout(Z.current),Z.current=null)},[]),n=(0,o.useCallback)(t=>{b.enabled&&(A(),be.current=setTimeout(()=>{R(!1),be.current=null},t))},[A,b.enabled]),e=(0,o.useCallback)(()=>{let t=C();if(!t){R(!1),$e(!1),A();return}if($e(!0),!ce.current)return;b.enabled||(R(!0),A());let i=t.clientHeight,l=t.scrollHeight,f=t.scrollTop,v=0;if(se.current){let Be=window.getComputedStyle(se.current),_e=parseFloat(Be.paddingTop)||0,tt=parseFloat(Be.paddingBottom)||0;v=_e+tt}let w=j?L*2+M.margin*4:M.margin*2,N=i-w+v,P=i/l,ae=Math.max(N*P,Re),Ie=l-i,Q=N-ae,Ye=Ie>0?f/Ie*Q:0;qe(ae),Oe(Ye)},[C,A,j,L,Re,b.enabled]),g=(0,o.useCallback)(t=>{t.preventDefault(),t.stopPropagation();let i=C();i&&(ne(!0),ie({y:t.clientY,scrollTop:i.scrollTop}),A(),R(!0),ee())},[C,A,ee]),y=(0,o.useCallback)(t=>{if(!$)return;let i=C();if(!i)return;let l=i.clientHeight,f=i.scrollHeight-l,v=t.clientY-de.y,w=l-le,N=v/w*f,P=Math.max(0,Math.min(f,de.scrollTop+N));i.scrollTop=P,e()},[$,de,le,e,C]),m=(0,o.useCallback)(()=>{ne(!1),fe()&&n(b.delay)},[fe,n,b.delay]),r=(0,o.useCallback)(t=>{if(!ce.current)return;let i=ce.current.getBoundingClientRect(),l=t.clientY-i.top,f=C();if(!f)return;let v=f.clientHeight,w=f.scrollHeight,N=l/v*(w-v);f.scrollTop=Math.max(0,Math.min(w-v,N)),e(),R(!0),n(b.delay),ee()},[e,n,b.delay,C,ee]),W=(0,o.useCallback)(t=>{if(t.preventDefault(),t.stopPropagation(),!u.current)return;let i=Math.max(0,u.current.scrollTop-Te);u.current.scrollTop=i,e(),R(!0),n(b.delay),ee()},[e,n,Te,b.delay,ee]),J=(0,o.useCallback)(t=>{if(t.preventDefault(),t.stopPropagation(),!u.current||!_.current)return;let i=u.current,l=_.current.scrollHeight-i.clientHeight,f=Math.min(l,i.scrollTop+Te);i.scrollTop=f,e(),R(!0),n(b.delay),ee()},[e,n,Te,b.delay,ee]),Ee=(0,o.useCallback)(t=>{if(!xe.enabled)return;let i=t.target;if(Ue(i,xe)||t.button!==0)return;let l=C();l&&(l.scrollHeight<=l.clientHeight||(t.preventDefault(),ke(!0),k({x:t.clientX,y:t.clientY,scrollTop:l.scrollTop,scrollLeft:l.scrollLeft||0}),A()))},[xe,Ue,C,A]),X=(0,o.useCallback)(t=>{if(!he)return;let i=C();if(!i)return;let l=Le.x-t.clientX,f=Le.y-t.clientY;if(Math.abs(f)<3&&Math.abs(l)<3)return;R(!0);let v=Math.max(0,Math.min(i.scrollHeight-i.clientHeight,Le.scrollTop+f));i.scrollTop=v,e()},[he,Le,C,e]),ye=(0,o.useCallback)(()=>{ke(!1),fe()&&n(b.delay)},[fe,n,b.delay]);(0,o.useEffect)(()=>{let t=w=>{e(),A(),R(!0);let N=Pe?b.delayOnWheel:b.delay;n(N),I&&I(w)},i=()=>{De(!0),ge.current&&clearTimeout(ge.current),ge.current=setTimeout(()=>{De(!1)},300),A(),Ae(),Z.current=setTimeout(()=>{R(!0),Z.current=null},50)},l=[],f=C();f&&l.push(f);let v=u.current;return v&&!f&&(l.push(v),v.querySelectorAll('[data-virtuoso-scroller], [style*="overflow"], .virtuoso-scroller, [style*="overflow: auto"], [style*="overflow:auto"]').forEach(w=>{let N=w;if(N!==v&&N.classList.contains("overlay-scrollbar-container"))return;let P=N.parentElement;for(;P&&P!==v;){if(P.classList.contains("overlay-scrollbar-container")&&P!==v)return;P=P.parentElement}l.push(N)})),l.forEach(w=>{w.addEventListener("scroll",t,{passive:!0}),w.addEventListener("wheel",i,{passive:!0})}),()=>{l.forEach(w=>{w.removeEventListener("scroll",t),w.removeEventListener("wheel",i)}),ge.current&&clearTimeout(ge.current),Z.current&&clearTimeout(Z.current)}},[C,e,I,A,n,b,Pe]),(0,o.useEffect)(()=>{let t=l=>{let f=C();if(!f)return;let{key:v}=l,{scrollTop:w,scrollHeight:N,clientHeight:P}=f,ae=N-P,Ie=50,Q=null;switch(v){case"ArrowUp":l.preventDefault(),Q=Math.max(0,w-Ie);break;case"ArrowDown":l.preventDefault(),Q=Math.min(ae,w+Ie);break;case"PageUp":l.preventDefault(),Q=Math.max(0,w-P);break;case"PageDown":l.preventDefault(),Q=Math.min(ae,w+P);break;case"Home":l.preventDefault(),Q=0;break;case"End":l.preventDefault(),Q=ae;break;default:return}if(Q!==null){let Ye=Q/ae,Be=j?L*2+M.margin*4:M.margin*2,_e=(P-Be-le)*Ye;Oe(_e),f.scrollTop=Q,A(),R(!0),n(b.delay)}},i=u.current;if(i)return i.addEventListener("keydown",t),()=>{i.removeEventListener("keydown",t)}},[C,j,L,M.margin,le,A,n,b.delay]),(0,o.useEffect)(()=>{if(he)return document.addEventListener("mousemove",X),document.addEventListener("mouseup",ye),()=>{document.removeEventListener("mousemove",X),document.removeEventListener("mouseup",ye)}},[he,X,ye]),(0,o.useEffect)(()=>{if($)return document.addEventListener("mousemove",y),document.addEventListener("mouseup",m),()=>{document.removeEventListener("mousemove",y),document.removeEventListener("mouseup",m)}},[$,y,m]),(0,o.useEffect)(()=>{e();let t=setTimeout(()=>{e()},100);return()=>clearTimeout(t)},[e]),(0,o.useLayoutEffect)(()=>{Ne(!0),e(),!b.enabled&&fe()&&R(!0)},[fe,e,b.enabled]),(0,o.useEffect)(()=>{let t=new ResizeObserver(()=>{e()}),i=[];return u.current&&i.push(u.current),_.current&&i.push(_.current),B.current&&document.contains(B.current)&&i.push(B.current),i.forEach(l=>{t.observe(l)}),()=>t.disconnect()},[e]),(0,o.useEffect)(()=>{if(!u.current)return;let t=new MutationObserver(()=>{B.current=null,e()});return t.observe(u.current,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["style"]}),()=>t.disconnect()},[e]);let te=Math.max(Ce,L);return(0,o.useEffect)(()=>{let t="overlay-scrollbar-webkit-hide",i=document.getElementById(t);i&&i.remove();let l=document.createElement("style");return l.id=t,l.textContent=`
|
|
1
|
+
"use strict";var Xe=Object.defineProperty;var ot=Object.getOwnPropertyDescriptor;var it=Object.getOwnPropertyNames;var lt=Object.prototype.hasOwnProperty;var at=(l,p)=>{for(var h in p)Xe(l,h,{get:p[h],enumerable:!0})},st=(l,p,h,T)=>{if(p&&typeof p=="object"||typeof p=="function")for(let S of it(p))!lt.call(l,S)&&S!==h&&Xe(l,S,{get:()=>p[S],enumerable:!(T=ot(p,S))||T.enumerable});return l};var ct=l=>st(Xe({},"__esModule",{value:!0}),l);var wt={};at(wt,{VirtualDataTable:()=>rt});module.exports=ct(wt);var c=require("react"),d=require("@mui/material"),tt=require("react-virtuoso");var We=require("react/jsx-runtime"),ve=require("react"),qe=require("@mui/material"),Ne=function(){return Ne=Object.assign||function(p){for(var h,T=1,S=arguments.length;T<S;T++){h=arguments[T];for(var I in h)Object.prototype.hasOwnProperty.call(h,I)&&(p[I]=h[I])}return p},Ne.apply(this,arguments)};function Ue(l){var p=l.visible,h=l.onComplete,T=l.fadeoutDuration,S=T===void 0?200:T,I=l.exitDelay,D=I===void 0?0:I,E=l.size,H=E===void 0?40:E,j=l.className,K=l.style,q=l.sx,U=l.indicator,N=l.background,_=N===void 0?{show:!0,color:"255, 255, 255",opacity:.9}:N,se=(0,ve.useRef)(void 0),u=(0,ve.useRef)(null),Y=(0,ve.useState)(p),ce=Y[0],ue=Y[1],B=_.show,G=B===void 0?!0:B,R=_.color,O=R===void 0?"255, 255, 255":R,ne=_.opacity,oe=ne===void 0?.9:ne;if((0,ve.useEffect)(function(){var ie=se.current;if(ie===!0&&p===!1&&u.current){var le=u.current;le.style.opacity="0",setTimeout(function(){ue(!1),h?.()},S+D)}else p===!0&&(ue(!0),u.current&&(u.current.style.opacity="1"));se.current=p},[p,h,S,D]),!ce)return null;var Me=function(){return typeof U=="string"?(0,We.jsx)("img",{src:U,alt:"Loading",style:{width:H,height:H}}):U||(0,We.jsx)(qe.CircularProgress,{size:H})},de=function(){return G?O.startsWith("rgba")?{backgroundColor:O}:/^\d+,\s*\d+,\s*\d+$/.test(O)?{backgroundColor:"rgba(".concat(O,", ").concat(oe,")")}:oe!==1?{backgroundColor:O,"&::before":{content:'""',position:"absolute",top:0,left:0,right:0,bottom:0,backgroundColor:O,opacity:oe,zIndex:-1}}:{backgroundColor:O}:{backgroundColor:"transparent"}};return(0,We.jsx)(qe.Box,{ref:u,className:j,style:Ne({},K),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(S,"ms ease-out")},de()),q),children:Me()})}var we=require("react/jsx-runtime"),ut=`
|
|
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
|
+
@keyframes vdt-css-spinner-spin{to{transform:rotate(360deg)}}
|
|
4
|
+
`;function Ze({size:l=54}){return(0,we.jsxs)(we.Fragment,{children:[(0,we.jsx)("style",{children:ut}),(0,we.jsx)("span",{className:"vdt-css-spinner",role:"progressbar","aria-label":"loading",style:{display:"inline-block",width:l,height:l}})]})}var o=require("react"),re=require("react/jsx-runtime"),dt=["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"],Je=(l,p)=>{let h=l.tagName.toLowerCase(),T=["text","password","email","number","search","tel","url","checkbox","radio"];if(h==="input"){let S=l.type;return T.includes(S)}if(["textarea","select","button"].includes(h)||["svg","path","circle","rect","line","polygon","polyline"].includes(h)||l.getAttribute("contenteditable")==="true")return!0;if(p?.excludeSelectors){for(let S of p.excludeSelectors)if(l.matches(S))return!0}return pt(l,p)},pt=(l,p)=>{let h=[...dt,...p?.excludeClasses||[]],T=l,S=0,I=5;for(;T&&S<=I;){if(h.some(D=>T.classList.contains(D)))return!0;if(T.classList.contains("MuiDialogContent-root"))break;T=T.parentElement,S++}return!1},ft={},ht={},mt={},gt={},bt={},xt=(0,o.forwardRef)(({className:l="",style:p={},containerStyle:h={},contentStyle:T={},children:S,onScroll:I,thumb:D=ft,track:E=ht,arrows:H=mt,dragScroll:j=gt,autoHide:K=bt,showScrollbar:q=!0,detectInnerScroll:U=!1},N)=>{let _=(0,o.useRef)({});(0,o.useEffect)(()=>{_.current={children:S,onScroll:I,showScrollbar:q,thumb:D,track:E,arrows:H,dragScroll:j,autoHide:K}});let se=(0,o.useRef)(null),u=(0,o.useRef)(null),Y=(0,o.useRef)(null),ce=(0,o.useRef)(null),ue=(0,o.useRef)(null),B=(0,o.useRef)(null),[G,R]=(0,o.useState)(!1),[O,ne]=(0,o.useState)(!1),[oe,Me]=(0,o.useState)(!1),[de,ie]=(0,o.useState)({y:0,scrollTop:0}),[le,ze]=(0,o.useState)(0),[je,Oe]=(0,o.useState)(0),[ke,$e]=(0,o.useState)(!1),[he,Le]=(0,o.useState)(!1),[De,k]=(0,o.useState)({x:0,y:0,scrollTop:0,scrollLeft:0}),[x,Fe]=(0,o.useState)(null),[me,pe]=(0,o.useState)(null),[Ke,Pe]=(0,o.useState)(!1),ge=(0,o.useRef)(null),[Ae,Re]=(0,o.useState)(!1),be=(0,o.useRef)(null),Ce=(0,o.useRef)(null),Z=(0,o.useRef)(null),$=(0,o.useMemo)(()=>{let t=D.color??"#606060";return{width:D.width??8,minHeight:D.minHeight??50,radius:D.radius??(D.width??8)/2,color:t,opacity:D.opacity??.6,hoverColor:D.hoverColor??t,hoverOpacity:D.hoverOpacity??1}},[D]),M=(0,o.useMemo)(()=>({width:E.width??16,color:E.color??"rgba(128, 128, 128, 0.1)",visible:E.visible??!0,alignment:E.alignment??"center",radius:E.radius??$.radius??4,margin:E.margin??4}),[E,$.radius]),V=(0,o.useMemo)(()=>{let t=H.color??"#808080";return{visible:H.visible??!1,step:H.step??50,color:t,opacity:H.opacity??.6,hoverColor:H.hoverColor??t,hoverOpacity:H.hoverOpacity??1}},[H]),xe=(0,o.useMemo)(()=>({enabled:j.enabled??!0,excludeClasses:j.excludeClasses??[],excludeSelectors:j.excludeSelectors??[]}),[j]),b=(0,o.useMemo)(()=>({enabled:K.enabled??!0,delay:K.delay??1500,delayOnWheel:K.delayOnWheel??700}),[K]),L=$.width,Se=M.width,Ee=$.minHeight,z=V.visible,Te=V.step,ee=(0,o.useCallback)(()=>{if(!u.current)return;let t=document.activeElement;t&&u.current.contains(t)&&t!==u.current||u.current.focus()},[]);(0,o.useImperativeHandle)(N,()=>({getScrollContainer:()=>u.current,scrollTo:t=>{u.current&&u.current.scrollTo(t)},get scrollTop(){return u.current?.scrollTop||0},get scrollHeight(){return u.current?.scrollHeight||0},get clientHeight(){return u.current?.clientHeight||0}}),[]);let C=(0,o.useCallback)(()=>{if(B.current){let i=B.current;if(document.contains(i)&&i.scrollHeight>i.clientHeight+2)return i;B.current=null}if(!u.current)return null;if(Y.current&&Y.current.scrollHeight>u.current.clientHeight+2)return B.current=u.current,u.current;if(!U)return null;let t=u.current.querySelectorAll('[data-virtuoso-scroller], [style*="overflow"], .virtuoso-scroller, [style*="overflow: auto"], [style*="overflow:auto"]');for(let i of t){let a=i;if(a!==u.current&&a.classList.contains("overlay-scrollbar-container"))continue;let f=a.parentElement,v=!1;for(;f&&f!==u.current;){if(f.classList.contains("overlay-scrollbar-container")&&f!==u.current){v=!0;break}f=f.parentElement}if(!v&&a.scrollHeight>a.clientHeight+2)return B.current=a,a}return null},[]),fe=(0,o.useCallback)(()=>C()!==null,[C]),A=(0,o.useCallback)(()=>{be.current&&(clearTimeout(be.current),be.current=null)},[]),_e=(0,o.useCallback)(()=>{Ce.current&&(clearTimeout(Ce.current),Ce.current=null)},[]),Be=(0,o.useCallback)(()=>{Z.current&&(clearTimeout(Z.current),Z.current=null)},[]),n=(0,o.useCallback)(t=>{b.enabled&&(A(),be.current=setTimeout(()=>{R(!1),be.current=null},t))},[A,b.enabled]),e=(0,o.useCallback)(()=>{let t=C();if(!t){R(!1),$e(!1),A();return}if($e(!0),!ce.current)return;b.enabled||(R(!0),A());let i=t.clientHeight,a=t.scrollHeight,f=t.scrollTop,v=0;if(se.current){let Ve=window.getComputedStyle(se.current),Ge=parseFloat(Ve.paddingTop)||0,nt=parseFloat(Ve.paddingBottom)||0;v=Ge+nt}let w=z?L*2+M.margin*4:M.margin*2,F=i-w+v,P=i/a,ae=Math.max(F*P,Ee),He=a-i,Q=F-ae,Ye=He>0?f/He*Q:0;ze(ae),Oe(Ye)},[C,A,z,L,Ee,b.enabled]),g=(0,o.useCallback)(t=>{t.preventDefault(),t.stopPropagation();let i=C();i&&(ne(!0),ie({y:t.clientY,scrollTop:i.scrollTop}),A(),R(!0),ee())},[C,A,ee]),y=(0,o.useCallback)(t=>{if(!O)return;let i=C();if(!i)return;let a=i.clientHeight,f=i.scrollHeight-a,v=t.clientY-de.y,w=a-le,F=v/w*f,P=Math.max(0,Math.min(f,de.scrollTop+F));i.scrollTop=P,e()},[O,de,le,e,C]),m=(0,o.useCallback)(()=>{ne(!1),fe()&&n(b.delay)},[fe,n,b.delay]),r=(0,o.useCallback)(t=>{if(!ce.current)return;let i=ce.current.getBoundingClientRect(),a=t.clientY-i.top,f=C();if(!f)return;let v=f.clientHeight,w=f.scrollHeight,F=a/v*(w-v);f.scrollTop=Math.max(0,Math.min(w-v,F)),e(),R(!0),n(b.delay),ee()},[e,n,b.delay,C,ee]),W=(0,o.useCallback)(t=>{if(t.preventDefault(),t.stopPropagation(),!u.current)return;let i=Math.max(0,u.current.scrollTop-Te);u.current.scrollTop=i,e(),R(!0),n(b.delay),ee()},[e,n,Te,b.delay,ee]),J=(0,o.useCallback)(t=>{if(t.preventDefault(),t.stopPropagation(),!u.current||!Y.current)return;let i=u.current,a=Y.current.scrollHeight-i.clientHeight,f=Math.min(a,i.scrollTop+Te);i.scrollTop=f,e(),R(!0),n(b.delay),ee()},[e,n,Te,b.delay,ee]),Ie=(0,o.useCallback)(t=>{if(!xe.enabled)return;let i=t.target;if(Je(i,xe)||t.button!==0)return;let a=C();a&&(a.scrollHeight<=a.clientHeight||(t.preventDefault(),Le(!0),k({x:t.clientX,y:t.clientY,scrollTop:a.scrollTop,scrollLeft:a.scrollLeft||0}),A()))},[xe,Je,C,A]),X=(0,o.useCallback)(t=>{if(!he)return;let i=C();if(!i)return;let a=De.x-t.clientX,f=De.y-t.clientY;if(Math.abs(f)<3&&Math.abs(a)<3)return;R(!0);let v=Math.max(0,Math.min(i.scrollHeight-i.clientHeight,De.scrollTop+f));i.scrollTop=v,e()},[he,De,C,e]),ye=(0,o.useCallback)(()=>{Le(!1),fe()&&n(b.delay)},[fe,n,b.delay]);(0,o.useEffect)(()=>{let t=w=>{e(),A(),R(!0);let F=Ae?b.delayOnWheel:b.delay;n(F),I&&I(w)},i=()=>{Re(!0),ge.current&&clearTimeout(ge.current),ge.current=setTimeout(()=>{Re(!1)},300),A(),Be(),Z.current=setTimeout(()=>{R(!0),Z.current=null},50)},a=[],f=C();f&&a.push(f);let v=u.current;return v&&!f&&(a.push(v),v.querySelectorAll('[data-virtuoso-scroller], [style*="overflow"], .virtuoso-scroller, [style*="overflow: auto"], [style*="overflow:auto"]').forEach(w=>{let F=w;if(F!==v&&F.classList.contains("overlay-scrollbar-container"))return;let P=F.parentElement;for(;P&&P!==v;){if(P.classList.contains("overlay-scrollbar-container")&&P!==v)return;P=P.parentElement}a.push(F)})),a.forEach(w=>{w.addEventListener("scroll",t,{passive:!0}),w.addEventListener("wheel",i,{passive:!0})}),()=>{a.forEach(w=>{w.removeEventListener("scroll",t),w.removeEventListener("wheel",i)}),ge.current&&clearTimeout(ge.current),Z.current&&clearTimeout(Z.current)}},[C,e,I,A,n,b,Ae]),(0,o.useEffect)(()=>{let t=a=>{let f=C();if(!f)return;let{key:v}=a,{scrollTop:w,scrollHeight:F,clientHeight:P}=f,ae=F-P,He=50,Q=null;switch(v){case"ArrowUp":a.preventDefault(),Q=Math.max(0,w-He);break;case"ArrowDown":a.preventDefault(),Q=Math.min(ae,w+He);break;case"PageUp":a.preventDefault(),Q=Math.max(0,w-P);break;case"PageDown":a.preventDefault(),Q=Math.min(ae,w+P);break;case"Home":a.preventDefault(),Q=0;break;case"End":a.preventDefault(),Q=ae;break;default:return}if(Q!==null){let Ye=Q/ae,Ve=z?L*2+M.margin*4:M.margin*2,Ge=(P-Ve-le)*Ye;Oe(Ge),f.scrollTop=Q,A(),R(!0),n(b.delay)}},i=u.current;if(i)return i.addEventListener("keydown",t),()=>{i.removeEventListener("keydown",t)}},[C,z,L,M.margin,le,A,n,b.delay]),(0,o.useEffect)(()=>{if(he)return document.addEventListener("mousemove",X),document.addEventListener("mouseup",ye),()=>{document.removeEventListener("mousemove",X),document.removeEventListener("mouseup",ye)}},[he,X,ye]),(0,o.useEffect)(()=>{if(O)return document.addEventListener("mousemove",y),document.addEventListener("mouseup",m),()=>{document.removeEventListener("mousemove",y),document.removeEventListener("mouseup",m)}},[O,y,m]),(0,o.useEffect)(()=>{e();let t=setTimeout(()=>{e()},100);return()=>clearTimeout(t)},[e]),(0,o.useLayoutEffect)(()=>{Pe(!0),e(),!b.enabled&&fe()&&R(!0)},[fe,e,b.enabled]),(0,o.useEffect)(()=>{let t=new ResizeObserver(()=>{e()}),i=[];return u.current&&i.push(u.current),Y.current&&i.push(Y.current),B.current&&document.contains(B.current)&&i.push(B.current),i.forEach(a=>{t.observe(a)}),()=>t.disconnect()},[e]),(0,o.useEffect)(()=>{if(!u.current)return;let t=new MutationObserver(()=>{B.current=null,e()});return t.observe(u.current,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["style"]}),()=>t.disconnect()},[e]);let te=Math.max(Se,L);return(0,o.useEffect)(()=>{let t="overlay-scrollbar-webkit-hide",i=document.getElementById(t);i&&i.remove();let a=document.createElement("style");return a.id=t,a.textContent=`
|
|
2
5
|
.overlay-scrollbar-container::-webkit-scrollbar {
|
|
3
6
|
display: none !important;
|
|
4
7
|
width: 0 !important;
|
|
@@ -18,7 +21,7 @@
|
|
|
18
21
|
outline: 2px solid rgba(0, 123, 255, 0.5);
|
|
19
22
|
outline-offset: -2px;
|
|
20
23
|
}
|
|
21
|
-
`,document.head.appendChild(l),()=>{let f=document.getElementById(t);f&&f.remove()}},[]),(0,re.jsxs)("div",{ref:se,className:`overlay-scrollbar-wrapper ${a}`,style:{display:"flex",flexDirection:"column",position:"relative",minHeight:0,height:"100%",flex:"1 1 0%",...p},children:[(0,re.jsx)("div",{ref:u,className:"overlay-scrollbar-container",tabIndex:-1,onMouseDown:Ee,style:{display:"flex",width:"100%",flex:"1 1 auto",minHeight:0,overflow:"auto",scrollbarWidth:"none",msOverflowStyle:"none",outline:"none",userSelect:he?"none":"auto",...h},children:(0,re.jsx)("div",{ref:_,className:"overlay-scrollbar-content",style:{flex:"1 1 0%",minHeight:0,display:"flex",flexDirection:"column",...S},children:T})}),q&&Se&&(0,re.jsxs)("div",{ref:ce,className:"overlay-scrollbar-track",onMouseEnter:()=>{A(),Me.current=setTimeout(()=>{R(!0),Me.current=null},100)},onMouseLeave:()=>{ze(),$||n(b.delay)},style:{position:"absolute",top:0,right:0,width:`${te}px`,height:"100%",opacity:G?1:0,transition:"opacity 0.2s ease-in-out",cursor:"pointer",zIndex:1e3,pointerEvents:"auto"},children:[M.visible&&(0,re.jsx)("div",{className:"overlay-scrollbar-track-background",onClick:t=>{t.preventDefault(),t.stopPropagation(),r(t)},style:{position:"absolute",top:j?`${F.width+M.margin*2}px`:`${M.margin}px`,right:M.alignment==="right"?"0px":`${(te-F.width)/2}px`,width:`${F.width}px`,height:j?`calc(100% - ${F.width*2+M.margin*4}px)`:`calc(100% - ${M.margin*2}px)`,backgroundColor:M.color,borderRadius:`${M.radius}px`,cursor:"pointer"}}),(0,re.jsx)("div",{ref:ue,className:"overlay-scrollbar-thumb",onMouseDown:g,onMouseEnter:()=>we(!0),onMouseLeave:()=>we(!1),style:{position:"absolute",top:`${(j?L+M.margin*2:M.margin)+je}px`,right:M.alignment==="right"?"0px":`${(te-L)/2}px`,width:`${L}px`,height:`${Math.max(le,Re)}px`,backgroundColor:oe||$?F.hoverColor:F.color,opacity:oe||$?F.hoverOpacity:F.opacity,borderRadius:`${F.radius}px`,cursor:"pointer",transition:"background-color 0.2s ease-in-out, opacity 0.2s ease-in-out"}})]}),q&&Se&&j&&(0,re.jsx)("div",{className:"overlay-scrollbar-up-arrow",onClick:W,onMouseEnter:()=>pe("up"),onMouseLeave:()=>pe(null),style:{position:"absolute",top:`${M.margin}px`,right:M.alignment==="right"?"0px":`${(te-L)/2}px`,width:`${L}px`,height:`${L}px`,cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",fontSize:`${Math.max(L*.75,8)}px`,color:me==="up"?V.hoverColor:V.color,userSelect:"none",zIndex:1001,opacity:G?me==="up"?V.hoverOpacity:V.opacity:0,transition:"opacity 0.2s ease-in-out, color 0.15s ease-in-out"},children:"\u25B2"}),q&&Se&&j&&(0,re.jsx)("div",{className:"overlay-scrollbar-down-arrow",onClick:J,onMouseEnter:()=>pe("down"),onMouseLeave:()=>pe(null),style:{position:"absolute",bottom:`${M.margin}px`,right:M.alignment==="right"?"0px":`${(te-L)/2}px`,width:`${L}px`,height:`${L}px`,cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",fontSize:`${Math.max(L*.75,8)}px`,color:me==="down"?V.hoverColor:V.color,userSelect:"none",zIndex:1001,opacity:G?me==="down"?V.hoverOpacity:V.opacity:0,transition:"opacity 0.2s ease-in-out, color 0.15s ease-in-out"},children:"\u25BC"})]})}),Ze=mt;var s=require("react/jsx-runtime"),gt={alignment:"right",margin:0,radius:0},Je=5;function bt({data:a,loading:p=!1,columns:h,onRowClick:S,getRowId:T,selectedRowId:I,selectedRowSx:D,rowHeight:E=50,columnHeight:H=56,striped:z,rowDivider:K=!0,onSort:q,onLoadMore:U,sortBy:O,sortDirection:Y,showPaper:se=!0,paddingX:u="1rem",paddingTop:_=0,paddingBottom:ce=0,rowHoverColor:ue,rowHoverOpacity:B,viewportBuffer:G,overscan:R,scrollbars:$,emptyMessage:ne="NO DATA",LoadingComponent:oe,showFooter:we,footerHeight:de,footerSx:ie}){let le=Math.max(E*12,480),qe=Math.max(E*12,480),je=typeof G=="number"?G:G?.top??le,Oe=typeof G=="number"?G:G?.bottom??qe,Se=Math.max(E*8,420),$e=Math.max(E*10,520),he=typeof R=="number"?R:{main:R?.main??Se,reverse:R?.reverse??$e},ke=E+(K?1:0),Le=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),[k]=(0,c.useState)(()=>typeof window>"u"?!1:window.localStorage.getItem("vdt-perf-debug")==="1"),x=(0,c.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}),Fe=(0,c.useCallback)(n=>{if(!k)return;let e=x.current;if(!(e.wheelEvents>0||e.rangeChangedCalls>0||e.rowContentCalls>0||e.cellRenderCalls>0))return;let y=e.rowContentCalls>0?e.rowContentMs/e.rowContentCalls:0,m=e.cellRenderCalls>0?e.cellRenderMs/e.cellRenderCalls:0;console.log("[VDT perf]",{reason:n,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(y.toFixed(3)),maxMs:Number(e.rowContentMaxMs.toFixed(3))},cellRender:{calls:e.cellRenderCalls,totalMs:Number(e.cellRenderMs.toFixed(2)),avgMs:Number(m.toFixed(3)),maxMs:Number(e.cellRenderMaxMs.toFixed(3))}}),x.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}},[k]);(0,c.useEffect)(()=>{if(!k||typeof window>"u")return;console.log("[VDT perf] enabled (localStorage vdt-perf-debug=1)");let n=window.setInterval(()=>{Fe("interval")},1500);return()=>{window.clearInterval(n),Fe("cleanup")}},[Fe,k]);let me=(0,c.useMemo)(()=>(0,c.forwardRef)((n,e)=>{let g=(0,c.useRef)(null),y=(0,c.useRef)(0),m=(0,c.useRef)(null);return(0,c.useEffect)(()=>{let r=g.current;if(!r)return;let W=J=>{let Ee=k?performance.now():0;J.preventDefault();let X=J.deltaY;J.deltaMode===1?X*=40:J.deltaMode===2&&(X*=r.clientHeight),k&&(x.current.wheelEvents+=1,x.current.wheelInputPx+=X),y.current+=X,m.current===null&&(m.current=requestAnimationFrame(()=>{let ye=k?performance.now():0,te=Math.max(r.clientHeight*.4,160),t=Math.max(-te,Math.min(te,y.current));y.current=0,m.current=null,t!==0&&(r.scrollTop+=t),k&&(x.current.wheelRafFlushes+=1,x.current.wheelRafMs+=performance.now()-ye)}),k&&(x.current.wheelHandlerMs+=performance.now()-Ee))};return r.addEventListener("wheel",W,{passive:!1}),()=>{r.removeEventListener("wheel",W),m.current!==null&&(cancelAnimationFrame(m.current),m.current=null),y.current=0}},[]),(0,s.jsx)(Ze,{detectInnerScroll:!0,track:gt,...$,children:(0,s.jsx)(d.TableContainer,{component:d.Box,...n,ref:r=>{g.current=r,typeof e=="function"?e(r):e&&(e.current=r)},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:u,paddingTop:_,paddingBottom:ce}}})})}),[]),pe=(0,c.useMemo)(()=>{if(z===!0)return"#f5f5f5";if(typeof z=="string")return z},[z]),[Xe,Ne]=(0,c.useState)(p),[ge,Pe]=(0,c.useState)(0);(0,c.useEffect)(()=>{p&&Ne(!0)},[p]);let De=(0,c.useCallback)(()=>{Ne(!1)},[]),be=Xe,Me=p&&a.length>0,Z=(0,c.useRef)(!1),F=(0,c.useRef)(null),M=(0,c.useRef)(S);M.current=S;let V=(0,c.useRef)(T);V.current=T;let xe=!!S,b=(0,c.useRef)(!1),L=(0,c.useRef)({x:0,y:0});(0,c.useEffect)(()=>{let n=e=>{let g=e.clientX-L.current.x,y=e.clientY-L.current.y;Math.sqrt(g*g+y*y)>Je&&(b.current=!0)};return document.addEventListener("mousemove",n),()=>{document.removeEventListener("mousemove",n)}},[]),(0,c.useEffect)(()=>{let n=document.querySelector('[data-testid="virtuoso-scroller"]');n&&n.querySelectorAll(".MuiTableSortLabel-root").forEach(g=>{let y=new MouseEvent("mouseleave",{bubbles:!0,cancelable:!0});g.dispatchEvent(y)})},[O]);let Ce=(0,c.useCallback)(n=>{if(!q)return;q(n,O===n&&Y==="asc"?"desc":"asc")},[q,O,Y]),Re=(0,c.useCallback)(n=>{let e=k?performance.now():0;if(!U){k&&(x.current.rangeChangedCalls+=1,x.current.rangeChangedMs+=performance.now()-e);return}if(p&&a.length===0){k&&(x.current.rangeChangedCalls+=1,x.current.rangeChangedMs+=performance.now()-e);return}let g=a.length>=30;if(n>=a.length-1&&g&&!Z.current){Z.current=!0;let m=a.length;U(m,50)}k&&(x.current.rangeChangedCalls+=1,x.current.rangeChangedMs+=performance.now()-e)},[a.length,p,U,k]);(0,c.useEffect)(()=>{p||(Z.current=!1)},[p]),(0,c.useEffect)(()=>{a.length===0&&Pe(n=>n+1)},[a.length]);let j=(0,c.useRef)(a.length);(0,c.useEffect)(()=>{let n=j.current,e=a.length;if(e>n&&n>0){j.current=e;return}F.current&&e>0&&e<=n&&F.current.scrollToIndex({index:0,align:"start",behavior:"auto"}),j.current=e},[a]);let Te=(0,c.useCallback)(()=>{let n={},e=[];if(h.forEach(r=>{r.group?(n[r.group]||(n[r.group]=[]),n[r.group].push(r)):e.push(r)}),!(Object.keys(n).length>0))return(0,s.jsx)(d.TableRow,{children:h.map(r=>(0,s.jsx)(d.TableCell,{align:r.align||"left",style:{width:r.width,minWidth:r.width,...r.style,fontWeight:"bold",position:"sticky",top:0,zIndex:2,padding:"16px"},children:r.sortable?(0,s.jsx)("div",{style:{display:"flex",alignItems:"center",justifyContent:r.align==="center"?"center":r.align==="right"?"flex-end":"flex-start",position:"relative",width:"100%"},children:(0,s.jsxs)(d.Box,{sx:{position:"relative",cursor:"default","&:hover .MuiTableSortLabel-root":{opacity:"1 !important","& .MuiSvgIcon-root":{color:"#000",opacity:"1 !important"}}},onClick:()=>Ce(String(r.id)),children:[r.text,(0,s.jsx)(d.TableSortLabel,{active:O===r.id,direction:O===r.id?Y:"desc",sx:{position:"absolute",left:"100%",top:"50%",transform:"translateY(-50%)",marginLeft:"4px",minWidth:"auto",width:"16px",height:"16px",cursor:"default",opacity:O===r.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)"}}})]})}):r.text},String(r.id)))});let y=[...e.map(r=>(0,s.jsx)(d.TableCell,{rowSpan:2,align:r.align||"left",style:{width:r.width,minWidth:r.width,...r.style,fontWeight:"bold",position:"sticky",top:0,zIndex:2,padding:"16px"},children:r.sortable&&q?(0,s.jsx)("div",{style:{display:"flex",alignItems:"center",justifyContent:r.align==="center"?"center":r.align==="right"?"flex-end":"flex-start",position:"relative",width:"100%"},children:(0,s.jsxs)(d.Box,{sx:{position:"relative",cursor:"default","&:hover .MuiTableSortLabel-root":{opacity:"1 !important","& .MuiSvgIcon-root":{color:"#000",opacity:"1 !important"}}},onClick:()=>Ce(String(r.id)),children:[r.text,(0,s.jsx)(d.TableSortLabel,{active:O===r.id,direction:O===r.id?Y:"desc",sx:{position:"absolute",left:"100%",top:"50%",transform:"translateY(-50%)",marginLeft:"4px",minWidth:"auto",width:"16px",height:"16px",cursor:"default",opacity:O===r.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)"}}})]})}):r.text},String(r.id))),...Object.entries(n).map(([r,W])=>(0,s.jsx)(d.TableCell,{align:"center",colSpan:W.length,style:{fontWeight:"bold",position:"sticky",top:0,zIndex:2,padding:"16px"},children:r},r))],m=[...Object.values(n).flat().map(r=>(0,s.jsx)(d.TableCell,{align:r.align||"left",style:{width:r.width,minWidth:r.width,...r.style,fontWeight:"bold",position:"sticky",top:0,zIndex:2,padding:"16px"},children:r.sortable&&q?(0,s.jsx)("div",{style:{display:"flex",alignItems:"center",justifyContent:r.align==="center"?"center":r.align==="right"?"flex-end":"flex-start",position:"relative",width:"100%"},children:(0,s.jsxs)(d.Box,{sx:{position:"relative",cursor:"default","&:hover .MuiTableSortLabel-root":{opacity:"1 !important","& .MuiSvgIcon-root":{color:"#000",opacity:"1 !important"}}},onClick:()=>Ce(String(r.id)),children:[r.text,(0,s.jsx)(d.TableSortLabel,{active:O===r.id,direction:O===r.id?Y:"desc",sx:{position:"absolute",left:"100%",top:"50%",transform:"translateY(-50%)",marginLeft:"4px",minWidth:"auto",width:"16px",height:"16px",cursor:"default",opacity:O===r.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)"}}})]})}):r.text},String(r.id)))];return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(d.TableRow,{children:y}),(0,s.jsx)(d.TableRow,{children:m})]})},[h,O,Y,Ce,q,H]),ee=(0,c.useCallback)((n,e)=>{let g=k?performance.now():0;if(!e){if(k){x.current.rowContentCalls+=1;let m=performance.now()-g;x.current.rowContentMs+=m,x.current.rowContentMaxMs=Math.max(x.current.rowContentMaxMs,m)}return null}let y=h.map(m=>{let r=k?performance.now():0,W=m.render?m.render(e,n):String(e[m.id]||"");if(k){let J=performance.now()-r;x.current.cellRenderCalls+=1,x.current.cellRenderMs+=J,x.current.cellRenderMaxMs=Math.max(x.current.cellRenderMaxMs,J)}return(0,s.jsx)(d.TableCell,{align:m.align||"left",style:{width:m.width,minWidth:m.width,...m.style,padding:"8px 16px"},children:W},String(m.id))});if(k){x.current.rowContentCalls+=1;let m=performance.now()-g;x.current.rowContentMs+=m,x.current.rowContentMaxMs=Math.max(x.current.rowContentMaxMs,m)}return(0,s.jsx)(s.Fragment,{children:y})},[h,k]),C=we??h.some(n=>typeof n.footer=="function"),fe=(0,c.useCallback)(()=>{if(!C)return null;let n=[];for(let e=0;e<h.length;e+=1){let g=h[e],y=g.footerColSpan&&g.footerColSpan>1?Math.min(g.footerColSpan,h.length-e):1;n.push((0,s.jsx)(d.TableCell,{align:g.align||"left",colSpan:y>1?y:void 0,style:{...y>1?{}:{width:g.width,minWidth:g.width},...g.style,fontWeight:"bold",padding:"16px"},children:g.footer?g.footer(a):null},String(g.id))),e+=y-1}return(0,s.jsx)(d.TableRow,{children:n})},[C,h,a]),ze=(0,c.useMemo)(()=>({Scroller:me,Table:n=>(0,s.jsx)(d.Table,{...n,sx:{borderCollapse:"separate",tableLayout:"fixed",marginRight:"16px",...C?{height:"100%"}:{}}}),TableHead:(0,c.forwardRef)((n,e)=>(0,s.jsx)(d.TableHead,{...n,ref:e,sx:{userSelect:"none","& tr":{height:H,"& th":{padding:"16px",position:"sticky",top:0,zIndex:2,fontWeight:"bold"}}}})),TableRow:n=>{let{item:e,selected:g,"aria-selected":y,className:m,...r}=n,W=r["data-index"]??0,J=W%2===1,Ee=e&&V.current?V.current(e,W):W,X=I!=null&&Ee===I,ye=X&&D?typeof D=="function"?D(e,W):D:void 0,te=String(m??"").split(/\s+/).filter(t=>t!=="Mui-selected"&&t!=="Mui-focusVisible").join(" ");return(0,s.jsx)(d.TableRow,{...r,className:te||void 0,selected:X,onMouseDown:t=>{b.current=!1,L.current={x:t.clientX,y:t.clientY}},onClick:t=>{let i=t.clientX-L.current.x,l=t.clientY-L.current.y;if(Math.sqrt(i*i+l*l)>Je||b.current){t.preventDefault(),t.stopPropagation(),b.current=!1;return}e&&M.current&&M.current(e,W),b.current=!1},sx:[{userSelect:"none",height:E,backgroundColor:J&&pe?pe:"transparent","& td":{padding:"8px 16px",borderBottom:K?"1px solid rgba(224, 224, 224, 1)":"none"},"& th":{padding:"8px 16px",borderBottom:"none"},"&:hover":xe&&!X?{backgroundColor:t=>{let i=t.palette.mode==="dark",f=ue??"#000000",v=B??.06;if(!ue)return i?`rgba(255, 255, 255, ${v})`:`rgba(0, 0, 0, ${v})`;let w=f.replace("#","").trim();if(w.length!==6)return f;let N=parseInt(w.substring(0,2),16),P=parseInt(w.substring(2,4),16),ae=parseInt(w.substring(4,6),16);return`rgba(${N}, ${P}, ${ae}, ${v})`}}:void 0,cursor:xe?"pointer":void 0},ye]})},TableBody:(0,c.forwardRef)((n,e)=>(0,s.jsx)(d.TableBody,{...n,ref:e,sx:C?{height:"100%"}:void 0})),TableFoot:(0,c.forwardRef)((n,e)=>(0,s.jsx)(d.TableFooter,{...n,ref:e,sx:[{position:"sticky",bottom:0,zIndex:2,backgroundColor:g=>g.palette.mode==="dark"?"#1e1e1e":"#ffffff","& tr":{height:de??E},"& td":{padding:"16px",color:"inherit",fontSize:"0.875rem",borderTop:"1px solid #000000",borderBottom:"none"}},...Array.isArray(ie)?ie:ie?[ie]:[]]}))}),[xe,I,D,E,pe,K,H,ue,B,me,de,ie,C]),Ae=(0,s.jsxs)(d.Box,{sx:{position:"relative",height:"100%",width:"100%","& .MuiTableHead-root":{backgroundColor:n=>n.palette.mode==="dark"?"#1e1e1e !important":"#ffffff !important"}},children:[(0,s.jsx)(Qe.TableVirtuoso,{ref:F,data:a,totalCount:U?a.length+1:a.length,defaultItemHeight:ke,fixedItemHeight:ke,fixedHeaderContent:Te,fixedFooterContent:C?fe:void 0,itemContent:ee,endReached:Re,style:{height:"100%"},increaseViewportBy:{top:je,bottom:Oe},overscan:he,followOutput:!1,components:ze},ge),a.length===0&&!p&&(0,s.jsx)(d.Box,{sx:{position:"absolute",top:0,left:0,right:0,bottom:0,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:2},children:typeof ne=="string"?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(d.Box,{sx:{width:48,height:48,display:"flex",alignItems:"center",justifyContent:"center",borderRadius:"50%",backgroundColor:"#f5f5f5",color:"#999"},children:"\u{1F4C4}"}),(0,s.jsx)(d.Typography,{variant:"body1",sx:{color:"text.secondary"},children:ne})]}):ne}),be&&(0,s.jsx)(s.Fragment,{children:oe?(0,s.jsx)(oe,{visible:p,onComplete:De}):(0,s.jsx)(Ke,{visible:p,onComplete:De,size:40,sx:{top:`${h.some(n=>n.group)?H*2:H}px`},background:{show:a.length===0,opacity:.8}})})]});return se?(0,s.jsx)(d.Paper,{className:"grow",elevation:1,sx:{padding:0,paddingLeft:u,height:"100%",minHeight:0,flex:1,display:"flex",flexDirection:"column"},children:Ae}):(0,s.jsx)(d.Box,{className:"grow",style:{padding:0,paddingLeft:u,height:"100%",minHeight:0,flex:1,display:"flex",flexDirection:"column"},children:Ae})}var et=(0,c.memo)(bt);
|
|
24
|
+
`,document.head.appendChild(a),()=>{let f=document.getElementById(t);f&&f.remove()}},[]),(0,re.jsxs)("div",{ref:se,className:`overlay-scrollbar-wrapper ${l}`,style:{display:"flex",flexDirection:"column",position:"relative",minHeight:0,height:"100%",flex:"1 1 0%",...p},children:[(0,re.jsx)("div",{ref:u,className:"overlay-scrollbar-container",tabIndex:-1,onMouseDown:Ie,style:{display:"flex",width:"100%",flex:"1 1 auto",minHeight:0,overflow:"auto",scrollbarWidth:"none",msOverflowStyle:"none",outline:"none",userSelect:he?"none":"auto",...h},children:(0,re.jsx)("div",{ref:Y,className:"overlay-scrollbar-content",style:{flex:"1 1 0%",minHeight:0,display:"flex",flexDirection:"column",...T},children:S})}),q&&ke&&(0,re.jsxs)("div",{ref:ce,className:"overlay-scrollbar-track",onMouseEnter:()=>{A(),Ce.current=setTimeout(()=>{R(!0),Ce.current=null},100)},onMouseLeave:()=>{_e(),O||n(b.delay)},style:{position:"absolute",top:0,right:0,width:`${te}px`,height:"100%",opacity:G?1:0,transition:"opacity 0.2s ease-in-out",cursor:"pointer",zIndex:1e3,pointerEvents:"auto"},children:[M.visible&&(0,re.jsx)("div",{className:"overlay-scrollbar-track-background",onClick:t=>{t.preventDefault(),t.stopPropagation(),r(t)},style:{position:"absolute",top:z?`${$.width+M.margin*2}px`:`${M.margin}px`,right:M.alignment==="right"?"0px":`${(te-$.width)/2}px`,width:`${$.width}px`,height:z?`calc(100% - ${$.width*2+M.margin*4}px)`:`calc(100% - ${M.margin*2}px)`,backgroundColor:M.color,borderRadius:`${M.radius}px`,cursor:"pointer"}}),(0,re.jsx)("div",{ref:ue,className:"overlay-scrollbar-thumb",onMouseDown:g,onMouseEnter:()=>Me(!0),onMouseLeave:()=>Me(!1),style:{position:"absolute",top:`${(z?L+M.margin*2:M.margin)+je}px`,right:M.alignment==="right"?"0px":`${(te-L)/2}px`,width:`${L}px`,height:`${Math.max(le,Ee)}px`,backgroundColor:oe||O?$.hoverColor:$.color,opacity:oe||O?$.hoverOpacity:$.opacity,borderRadius:`${$.radius}px`,cursor:"pointer",transition:"background-color 0.2s ease-in-out, opacity 0.2s ease-in-out"}})]}),q&&ke&&z&&(0,re.jsx)("div",{className:"overlay-scrollbar-up-arrow",onClick:W,onMouseEnter:()=>pe("up"),onMouseLeave:()=>pe(null),style:{position:"absolute",top:`${M.margin}px`,right:M.alignment==="right"?"0px":`${(te-L)/2}px`,width:`${L}px`,height:`${L}px`,cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",fontSize:`${Math.max(L*.75,8)}px`,color:me==="up"?V.hoverColor:V.color,userSelect:"none",zIndex:1001,opacity:G?me==="up"?V.hoverOpacity:V.opacity:0,transition:"opacity 0.2s ease-in-out, color 0.15s ease-in-out"},children:"\u25B2"}),q&&ke&&z&&(0,re.jsx)("div",{className:"overlay-scrollbar-down-arrow",onClick:J,onMouseEnter:()=>pe("down"),onMouseLeave:()=>pe(null),style:{position:"absolute",bottom:`${M.margin}px`,right:M.alignment==="right"?"0px":`${(te-L)/2}px`,width:`${L}px`,height:`${L}px`,cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",fontSize:`${Math.max(L*.75,8)}px`,color:me==="down"?V.hoverColor:V.color,userSelect:"none",zIndex:1001,opacity:G?me==="down"?V.hoverOpacity:V.opacity:0,transition:"opacity 0.2s ease-in-out, color 0.15s ease-in-out"},children:"\u25BC"})]})}),Qe=xt;var s=require("react/jsx-runtime"),yt={alignment:"right",margin:0,radius:0},et=5;function vt({data:l,loading:p=!1,columns:h,onRowClick:T,getRowId:S,selectedRowId:I,selectedRowSx:D,rowHeight:E=50,columnHeight:H=56,striped:j,rowDivider:K=!0,onSort:q,onLoadMore:U,sortBy:N,sortDirection:_,showPaper:se=!0,paddingX:u="1rem",paddingTop:Y=0,paddingBottom:ce=0,rowHoverColor:ue,rowHoverOpacity:B,viewportBuffer:G,overscan:R,scrollbars:O,emptyMessage:ne="NO DATA",LoadingComponent:oe,showFooter:Me,footerHeight:de,footerSx:ie}){let le=Math.max(E*12,480),ze=Math.max(E*12,480),je=typeof G=="number"?G:G?.top??le,Oe=typeof G=="number"?G:G?.bottom??ze,ke=Math.max(E*8,420),$e=Math.max(E*10,520),he=typeof R=="number"?R:{main:R?.main??ke,reverse:R?.reverse??$e},Le=E+(K?1:0),De=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),[k]=(0,c.useState)(()=>typeof window>"u"?!1:window.localStorage.getItem("vdt-perf-debug")==="1"),x=(0,c.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}),Fe=(0,c.useCallback)(n=>{if(!k)return;let e=x.current;if(!(e.wheelEvents>0||e.rangeChangedCalls>0||e.rowContentCalls>0||e.cellRenderCalls>0))return;let y=e.rowContentCalls>0?e.rowContentMs/e.rowContentCalls:0,m=e.cellRenderCalls>0?e.cellRenderMs/e.cellRenderCalls:0;console.log("[VDT perf]",{reason:n,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(y.toFixed(3)),maxMs:Number(e.rowContentMaxMs.toFixed(3))},cellRender:{calls:e.cellRenderCalls,totalMs:Number(e.cellRenderMs.toFixed(2)),avgMs:Number(m.toFixed(3)),maxMs:Number(e.cellRenderMaxMs.toFixed(3))}}),x.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}},[k]);(0,c.useEffect)(()=>{if(!k||typeof window>"u")return;console.log("[VDT perf] enabled (localStorage vdt-perf-debug=1)");let n=window.setInterval(()=>{Fe("interval")},1500);return()=>{window.clearInterval(n),Fe("cleanup")}},[Fe,k]);let me=(0,c.useMemo)(()=>(0,c.forwardRef)((n,e)=>{let g=(0,c.useRef)(null),y=(0,c.useRef)(0),m=(0,c.useRef)(null);return(0,c.useEffect)(()=>{let r=g.current;if(!r)return;let W=J=>{let Ie=k?performance.now():0;J.preventDefault();let X=J.deltaY;J.deltaMode===1?X*=40:J.deltaMode===2&&(X*=r.clientHeight),k&&(x.current.wheelEvents+=1,x.current.wheelInputPx+=X),y.current+=X,m.current===null&&(m.current=requestAnimationFrame(()=>{let ye=k?performance.now():0,te=Math.max(r.clientHeight*.4,160),t=Math.max(-te,Math.min(te,y.current));y.current=0,m.current=null,t!==0&&(r.scrollTop+=t),k&&(x.current.wheelRafFlushes+=1,x.current.wheelRafMs+=performance.now()-ye)}),k&&(x.current.wheelHandlerMs+=performance.now()-Ie))};return r.addEventListener("wheel",W,{passive:!1}),()=>{r.removeEventListener("wheel",W),m.current!==null&&(cancelAnimationFrame(m.current),m.current=null),y.current=0}},[]),(0,s.jsx)(Qe,{detectInnerScroll:!0,track:yt,...O,children:(0,s.jsx)(d.TableContainer,{component:d.Box,...n,ref:r=>{g.current=r,typeof e=="function"?e(r):e&&(e.current=r)},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:u,paddingTop:Y,paddingBottom:ce}}})})}),[]),pe=(0,c.useMemo)(()=>{if(j===!0)return"#f5f5f5";if(typeof j=="string")return j},[j]),[Ke,Pe]=(0,c.useState)(p),[ge,Ae]=(0,c.useState)(0);(0,c.useEffect)(()=>{p&&Pe(!0)},[p]);let Re=(0,c.useCallback)(()=>{Pe(!1)},[]),be=Ke,Ce=p&&l.length>0,Z=(0,c.useRef)(!1),$=(0,c.useRef)(null),M=(0,c.useRef)(T);M.current=T;let V=(0,c.useRef)(S);V.current=S;let xe=!!T,b=(0,c.useRef)(!1),L=(0,c.useRef)({x:0,y:0});(0,c.useEffect)(()=>{let n=e=>{let g=e.clientX-L.current.x,y=e.clientY-L.current.y;Math.sqrt(g*g+y*y)>et&&(b.current=!0)};return document.addEventListener("mousemove",n),()=>{document.removeEventListener("mousemove",n)}},[]),(0,c.useEffect)(()=>{let n=document.querySelector('[data-testid="virtuoso-scroller"]');n&&n.querySelectorAll(".MuiTableSortLabel-root").forEach(g=>{let y=new MouseEvent("mouseleave",{bubbles:!0,cancelable:!0});g.dispatchEvent(y)})},[N]);let Se=(0,c.useCallback)(n=>{if(!q)return;q(n,N===n&&_==="asc"?"desc":"asc")},[q,N,_]),Ee=(0,c.useCallback)(n=>{let e=k?performance.now():0;if(!U){k&&(x.current.rangeChangedCalls+=1,x.current.rangeChangedMs+=performance.now()-e);return}if(p&&l.length===0){k&&(x.current.rangeChangedCalls+=1,x.current.rangeChangedMs+=performance.now()-e);return}let g=l.length>=30;if(n>=l.length-1&&g&&!Z.current){Z.current=!0;let m=l.length;U(m,50)}k&&(x.current.rangeChangedCalls+=1,x.current.rangeChangedMs+=performance.now()-e)},[l.length,p,U,k]);(0,c.useEffect)(()=>{p||(Z.current=!1)},[p]),(0,c.useEffect)(()=>{l.length===0&&Ae(n=>n+1)},[l.length]);let z=(0,c.useRef)(l.length);(0,c.useEffect)(()=>{let n=z.current,e=l.length;if(e>n&&n>0){z.current=e;return}$.current&&e>0&&e<=n&&$.current.scrollToIndex({index:0,align:"start",behavior:"auto"}),z.current=e},[l]);let Te=(0,c.useCallback)(()=>{let n={},e=[];if(h.forEach(r=>{r.group?(n[r.group]||(n[r.group]=[]),n[r.group].push(r)):e.push(r)}),!(Object.keys(n).length>0))return(0,s.jsx)(d.TableRow,{children:h.map(r=>(0,s.jsx)(d.TableCell,{align:r.align||"left",style:{width:r.width,minWidth:r.width,...r.style,fontWeight:"bold",position:"sticky",top:0,zIndex:2,padding:"16px"},children:r.sortable?(0,s.jsx)("div",{style:{display:"flex",alignItems:"center",justifyContent:r.align==="center"?"center":r.align==="right"?"flex-end":"flex-start",position:"relative",width:"100%"},children:(0,s.jsxs)(d.Box,{sx:{position:"relative",cursor:"default","&:hover .MuiTableSortLabel-root":{opacity:"1 !important","& .MuiSvgIcon-root":{color:"#000",opacity:"1 !important"}}},onClick:()=>Se(String(r.id)),children:[r.text,(0,s.jsx)(d.TableSortLabel,{active:N===r.id,direction:N===r.id?_:"desc",sx:{position:"absolute",left:"100%",top:"50%",transform:"translateY(-50%)",marginLeft:"4px",minWidth:"auto",width:"16px",height:"16px",cursor:"default",opacity:N===r.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)"}}})]})}):r.text},String(r.id)))});let y=[...e.map(r=>(0,s.jsx)(d.TableCell,{rowSpan:2,align:r.align||"left",style:{width:r.width,minWidth:r.width,...r.style,fontWeight:"bold",position:"sticky",top:0,zIndex:2,padding:"16px"},children:r.sortable&&q?(0,s.jsx)("div",{style:{display:"flex",alignItems:"center",justifyContent:r.align==="center"?"center":r.align==="right"?"flex-end":"flex-start",position:"relative",width:"100%"},children:(0,s.jsxs)(d.Box,{sx:{position:"relative",cursor:"default","&:hover .MuiTableSortLabel-root":{opacity:"1 !important","& .MuiSvgIcon-root":{color:"#000",opacity:"1 !important"}}},onClick:()=>Se(String(r.id)),children:[r.text,(0,s.jsx)(d.TableSortLabel,{active:N===r.id,direction:N===r.id?_:"desc",sx:{position:"absolute",left:"100%",top:"50%",transform:"translateY(-50%)",marginLeft:"4px",minWidth:"auto",width:"16px",height:"16px",cursor:"default",opacity:N===r.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)"}}})]})}):r.text},String(r.id))),...Object.entries(n).map(([r,W])=>(0,s.jsx)(d.TableCell,{align:"center",colSpan:W.length,style:{fontWeight:"bold",position:"sticky",top:0,zIndex:2,padding:"16px"},children:r},r))],m=[...Object.values(n).flat().map(r=>(0,s.jsx)(d.TableCell,{align:r.align||"left",style:{width:r.width,minWidth:r.width,...r.style,fontWeight:"bold",position:"sticky",top:0,zIndex:2,padding:"16px"},children:r.sortable&&q?(0,s.jsx)("div",{style:{display:"flex",alignItems:"center",justifyContent:r.align==="center"?"center":r.align==="right"?"flex-end":"flex-start",position:"relative",width:"100%"},children:(0,s.jsxs)(d.Box,{sx:{position:"relative",cursor:"default","&:hover .MuiTableSortLabel-root":{opacity:"1 !important","& .MuiSvgIcon-root":{color:"#000",opacity:"1 !important"}}},onClick:()=>Se(String(r.id)),children:[r.text,(0,s.jsx)(d.TableSortLabel,{active:N===r.id,direction:N===r.id?_:"desc",sx:{position:"absolute",left:"100%",top:"50%",transform:"translateY(-50%)",marginLeft:"4px",minWidth:"auto",width:"16px",height:"16px",cursor:"default",opacity:N===r.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)"}}})]})}):r.text},String(r.id)))];return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(d.TableRow,{children:y}),(0,s.jsx)(d.TableRow,{children:m})]})},[h,N,_,Se,q,H]),ee=(0,c.useCallback)((n,e)=>{let g=k?performance.now():0;if(!e){if(k){x.current.rowContentCalls+=1;let m=performance.now()-g;x.current.rowContentMs+=m,x.current.rowContentMaxMs=Math.max(x.current.rowContentMaxMs,m)}return null}let y=h.map(m=>{let r=k?performance.now():0,W=m.render?m.render(e,n):String(e[m.id]||"");if(k){let J=performance.now()-r;x.current.cellRenderCalls+=1,x.current.cellRenderMs+=J,x.current.cellRenderMaxMs=Math.max(x.current.cellRenderMaxMs,J)}return(0,s.jsx)(d.TableCell,{align:m.align||"left",style:{width:m.width,minWidth:m.width,...m.style,padding:"8px 16px"},children:W},String(m.id))});if(k){x.current.rowContentCalls+=1;let m=performance.now()-g;x.current.rowContentMs+=m,x.current.rowContentMaxMs=Math.max(x.current.rowContentMaxMs,m)}return(0,s.jsx)(s.Fragment,{children:y})},[h,k]),C=Me??h.some(n=>typeof n.footer=="function"),fe=(0,c.useCallback)(()=>{if(!C)return null;let n=[];for(let e=0;e<h.length;e+=1){let g=h[e],y=g.footerColSpan&&g.footerColSpan>1?Math.min(g.footerColSpan,h.length-e):1;n.push((0,s.jsx)(d.TableCell,{align:g.align||"left",colSpan:y>1?y:void 0,style:{...y>1?{}:{width:g.width,minWidth:g.width},...g.style,fontWeight:"bold",padding:"16px"},children:g.footer?g.footer(l):null},String(g.id))),e+=y-1}return(0,s.jsx)(d.TableRow,{children:n})},[C,h,l]),_e=(0,c.useMemo)(()=>({Scroller:me,Table:n=>(0,s.jsx)(d.Table,{...n,sx:{borderCollapse:"separate",tableLayout:"fixed",marginRight:"16px",...C?{height:"100%"}:{}}}),TableHead:(0,c.forwardRef)((n,e)=>(0,s.jsx)(d.TableHead,{...n,ref:e,sx:{userSelect:"none","& tr":{height:H,"& th":{padding:"16px",position:"sticky",top:0,zIndex:2,fontWeight:"bold"}}}})),TableRow:n=>{let{item:e,selected:g,"aria-selected":y,className:m,...r}=n,W=r["data-index"]??0,J=W%2===1,Ie=e&&V.current?V.current(e,W):W,X=I!=null&&Ie===I,ye=X&&D?typeof D=="function"?D(e,W):D:void 0,te=String(m??"").split(/\s+/).filter(t=>t!=="Mui-selected"&&t!=="Mui-focusVisible").join(" ");return(0,s.jsx)(d.TableRow,{...r,className:te||void 0,selected:X,onMouseDown:t=>{b.current=!1,L.current={x:t.clientX,y:t.clientY}},onClick:t=>{let i=t.clientX-L.current.x,a=t.clientY-L.current.y;if(Math.sqrt(i*i+a*a)>et||b.current){t.preventDefault(),t.stopPropagation(),b.current=!1;return}e&&M.current&&M.current(e,W),b.current=!1},sx:[{userSelect:"none",height:E,backgroundColor:J&&pe?pe:"transparent","& td":{padding:"8px 16px",borderBottom:K?"1px solid rgba(224, 224, 224, 1)":"none"},"& th":{padding:"8px 16px",borderBottom:"none"},"&:hover":xe&&!X?{backgroundColor:t=>{let i=t.palette.mode==="dark",f=ue??"#000000",v=B??.06;if(!ue)return i?`rgba(255, 255, 255, ${v})`:`rgba(0, 0, 0, ${v})`;let w=f.replace("#","").trim();if(w.length!==6)return f;let F=parseInt(w.substring(0,2),16),P=parseInt(w.substring(2,4),16),ae=parseInt(w.substring(4,6),16);return`rgba(${F}, ${P}, ${ae}, ${v})`}}:void 0,cursor:xe?"pointer":void 0},ye]})},TableBody:(0,c.forwardRef)((n,e)=>(0,s.jsx)(d.TableBody,{...n,ref:e,sx:C?{height:"100%"}:void 0})),TableFoot:(0,c.forwardRef)((n,e)=>(0,s.jsx)(d.TableFooter,{...n,ref:e,sx:[{position:"sticky",bottom:0,zIndex:2,backgroundColor:g=>g.palette.mode==="dark"?"#1e1e1e":"#ffffff","& tr":{height:de??E},"& td":{padding:"16px",color:"inherit",fontSize:"0.875rem",borderTop:"1px solid #000000",borderBottom:"none"}},...Array.isArray(ie)?ie:ie?[ie]:[]]}))}),[xe,I,D,E,pe,K,H,ue,B,me,de,ie,C]),Be=(0,s.jsxs)(d.Box,{sx:{position:"relative",height:"100%",width:"100%","& .MuiTableHead-root":{backgroundColor:n=>n.palette.mode==="dark"?"#1e1e1e !important":"#ffffff !important"}},children:[(0,s.jsx)(tt.TableVirtuoso,{ref:$,data:l,totalCount:U?l.length+1:l.length,defaultItemHeight:Le,fixedItemHeight:Le,fixedHeaderContent:Te,fixedFooterContent:C?fe:void 0,itemContent:ee,endReached:Ee,style:{height:"100%"},increaseViewportBy:{top:je,bottom:Oe},overscan:he,followOutput:!1,components:_e},ge),l.length===0&&!p&&(0,s.jsx)(d.Box,{sx:{position:"absolute",top:0,left:0,right:0,bottom:0,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:2},children:typeof ne=="string"?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(d.Box,{sx:{width:48,height:48,display:"flex",alignItems:"center",justifyContent:"center",borderRadius:"50%",backgroundColor:"#f5f5f5",color:"#999"},children:"\u{1F4C4}"}),(0,s.jsx)(d.Typography,{variant:"body1",sx:{color:"text.secondary"},children:ne})]}):ne}),be&&(0,s.jsx)(s.Fragment,{children:oe?(0,s.jsx)(oe,{visible:p,onComplete:Re}):(0,s.jsx)(Ue,{visible:p,onComplete:Re,size:40,indicator:(0,s.jsx)(Ze,{}),sx:{top:`${h.some(n=>n.group)?H*2:H}px`},background:{show:l.length===0,opacity:.8}})})]});return se?(0,s.jsx)(d.Paper,{className:"grow",elevation:1,sx:{padding:0,paddingLeft:u,height:"100%",minHeight:0,flex:1,display:"flex",flexDirection:"column"},children:Be}):(0,s.jsx)(d.Box,{className:"grow",style:{padding:0,paddingLeft:u,height:"100%",minHeight:0,flex:1,display:"flex",flexDirection:"column"},children:Be})}var rt=(0,c.memo)(vt);
|
|
22
25
|
/**
|
|
23
26
|
* Virtual Data Table - A high-performance virtual data table component for React
|
|
24
27
|
*
|