@ehfuse/mui-virtual-data-table 1.1.23 → 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/index.js CHANGED
@@ -1,7 +1,7 @@
1
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
2
  .vdt-css-spinner{box-sizing:border-box;border-radius:50%;border:4px solid rgba(28,64,125,0.14);border-top-color:#1c407d;animation:vdt-css-spinner-spin .75s linear infinite}
3
3
  @keyframes vdt-css-spinner-spin{to{transform:rotate(360deg)}}
4
- `;function Ze({size:l=44}){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=`
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=`
5
5
  .overlay-scrollbar-container::-webkit-scrollbar {
6
6
  display: none !important;
7
7
  width: 0 !important;