@ehfuse/overlay-scrollbar 1.5.11 → 1.5.13
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/README.md +1 -0
- package/dist/OverlayScrollbar.d.ts +86 -0
- package/dist/OverlayScrollbar.d.ts.map +1 -0
- package/dist/components/ScrollbarArrows.d.ts +29 -0
- package/dist/components/ScrollbarArrows.d.ts.map +1 -0
- package/dist/components/ScrollbarThumb.d.ts +35 -0
- package/dist/components/ScrollbarThumb.d.ts.map +1 -0
- package/dist/components/ScrollbarTrack.d.ts +32 -0
- package/dist/components/ScrollbarTrack.d.ts.map +1 -0
- package/dist/hooks/useArrowNavigation.d.ts +27 -0
- package/dist/hooks/useArrowNavigation.d.ts.map +1 -0
- package/dist/hooks/useAutoHide.d.ts +19 -0
- package/dist/hooks/useAutoHide.d.ts.map +1 -0
- package/dist/hooks/useDragScroll.d.ts +23 -0
- package/dist/hooks/useDragScroll.d.ts.map +1 -0
- package/dist/hooks/useKeyboardNavigation.d.ts +18 -0
- package/dist/hooks/useKeyboardNavigation.d.ts.map +1 -0
- package/dist/hooks/useScrollEvents.d.ts +20 -0
- package/dist/hooks/useScrollEvents.d.ts.map +1 -0
- package/dist/hooks/useScrollbarConfig.d.ts +53 -0
- package/dist/hooks/useScrollbarConfig.d.ts.map +1 -0
- package/dist/hooks/useScrollbarInitialization.d.ts +21 -0
- package/dist/hooks/useScrollbarInitialization.d.ts.map +1 -0
- package/dist/hooks/useScrollbarUpdate.d.ts +27 -0
- package/dist/hooks/useScrollbarUpdate.d.ts.map +1 -0
- package/dist/hooks/useThumbDrag.d.ts +25 -0
- package/dist/hooks/useThumbDrag.d.ts.map +1 -0
- package/dist/hooks/useTrackClick.d.ts +20 -0
- package/dist/hooks/useTrackClick.d.ts.map +1 -0
- package/dist/index.d.ts +8 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.esm.js +14 -2
- package/dist/index.esm.js.map +2 -2
- package/dist/index.js +14 -2
- package/dist/index.js.map +3 -3
- package/dist/types.d.ts +70 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/utils/dragScrollUtils.d.ts +40 -0
- package/dist/utils/dragScrollUtils.d.ts.map +1 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var pe=Object.defineProperty;var Ye=Object.getOwnPropertyDescriptor;var Ge=Object.getOwnPropertyNames;var Je=Object.prototype.hasOwnProperty;var Xe=(m,f)=>{for(var S in f)pe(m,S,{get:f[S],enumerable:!0})},Ke=(m,f,S,M)=>{if(f&&typeof f=="object"||typeof f=="function")for(let b of Ge(f))!Je.call(m,b)&&b!==S&&pe(m,b,{get:()=>f[b],enumerable:!(M=Ye(f,b))||M.enumerable});return m};var Ze=m=>Ke(pe({},"__esModule",{value:!0}),m);var lt={};Xe(lt,{OverlayScrollbar:()=>fe,default:()=>fe});module.exports=Ze(lt);var e=require("react");var je=["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"],me=(m,f)=>{let S=m.tagName.toLowerCase(),M=["text","password","email","number","search","tel","url","checkbox","radio"];if(S==="input"){let b=m.type;return M.includes(b)}if(["textarea","select","button"].includes(S)||["svg","path","circle","rect","line","polygon","polyline"].includes(S)||m.getAttribute("contenteditable")==="true")return!0;if(f?.excludeSelectors){for(let b of f.excludeSelectors)if(m.matches(b))return!0}return Ve(m,f)},Ve=(m,f)=>{let S=[...je,...f?.excludeClasses||[]],M=m,b=0,I=5;for(;M&&b<=I;){if(S.some(E=>M.classList.contains(E)))return!0;if(M.classList.contains("MuiDialogContent-root"))break;M=M.parentElement,b++}return!1};var D=require("react/jsx-runtime"),Qe={},et={},tt={},rt={},ot={},nt=(0,e.forwardRef)(({className:m="",style:f={},containerStyle:S={},contentStyle:M={},children:b,onScroll:I,thumb:E=Qe,track:R=et,arrows:A=tt,dragScroll:W=rt,autoHide:N=ot,showScrollbar:X=!0,detectInnerScroll:He=!1},De)=>{let ke=(0,e.useRef)({});(0,e.useEffect)(()=>{ke.current={children:b,onScroll:I,showScrollbar:X,thumb:E,track:R,arrows:A,dragScroll:W,autoHide:N}});let te=(0,e.useRef)(null),n=(0,e.useRef)(null),$=(0,e.useRef)(null),K=(0,e.useRef)(null),Le=(0,e.useRef)(null),k=(0,e.useRef)(null),[re,T]=(0,e.useState)(!1),[P,he]=(0,e.useState)(!1),[ge,be]=(0,e.useState)(!1),[oe,Ie]=(0,e.useState)({y:0,scrollTop:0}),[q,Re]=(0,e.useState)(0),[Ae,ve]=(0,e.useState)(0),[ne,ye]=(0,e.useState)(!1),[U,Te]=(0,e.useState)(!1),[Z,Oe]=(0,e.useState)({x:0,y:0,scrollTop:0,scrollLeft:0}),[it,at]=(0,e.useState)(null),[j,V]=(0,e.useState)(null),[ct,Ne]=(0,e.useState)(!1),z=(0,e.useRef)(null),[xe,we]=(0,e.useState)(!1),B=(0,e.useRef)(null),Y=(0,e.useRef)(null),F=(0,e.useRef)(null),x=(0,e.useMemo)(()=>{let t=E.color??"#606060";return{width:E.width??8,minHeight:E.minHeight??50,radius:E.radius??(E.width??8)/2,color:t,opacity:E.opacity??.6,hoverColor:E.hoverColor??t,hoverOpacity:E.hoverOpacity??1}},[E]),s=(0,e.useMemo)(()=>({width:R.width??16,color:R.color??"rgba(128, 128, 128, 0.1)",visible:R.visible??!0,alignment:R.alignment??"center",radius:R.radius??x.radius??4,margin:R.margin??4}),[R,x.radius]),H=(0,e.useMemo)(()=>{let t=A.color??"#808080";return{visible:A.visible??!1,step:A.step??50,color:t,opacity:A.opacity??.6,hoverColor:A.hoverColor??t,hoverOpacity:A.hoverOpacity??1}},[A]),le=(0,e.useMemo)(()=>({enabled:W.enabled??!0,excludeClasses:W.excludeClasses??[],excludeSelectors:W.excludeSelectors??[]}),[W]),i=(0,e.useMemo)(()=>({enabled:N.enabled??!0,delay:N.delay??1500,delayOnWheel:N.delayOnWheel??700,initialDelay:N.initialDelay??0}),[N]),[Se,$e]=(0,e.useState)(()=>(N.initialDelay??0)>0),h=x.width,Pe=s.width,ie=x.minHeight,L=H.visible,Q=H.step,O=(0,e.useCallback)(()=>{if(!n.current)return;let t=document.activeElement;t&&n.current.contains(t)&&t!==n.current||n.current.focus()},[]);(0,e.useImperativeHandle)(De,()=>({getScrollContainer:()=>n.current,scrollTo:t=>{n.current&&n.current.scrollTo(t)},get scrollTop(){return n.current?.scrollTop||0},get scrollHeight(){return n.current?.scrollHeight||0},get clientHeight(){return n.current?.clientHeight||0}}),[]);let d=(0,e.useCallback)(()=>{if(k.current){let r=k.current;if(document.contains(r)&&r.scrollHeight>r.clientHeight+2)return r;k.current=null}if(!n.current)return null;if($.current&&$.current.scrollHeight>n.current.clientHeight+2)return k.current=n.current,n.current;if(!He)return null;let t=n.current.querySelectorAll('[data-virtuoso-scroller], [style*="overflow"], .virtuoso-scroller, [style*="overflow: auto"], [style*="overflow:auto"]');for(let r of t){let o=r;if(o!==n.current&&o.classList.contains("overlay-scrollbar-container"))continue;let l=o.parentElement,a=!1;for(;l&&l!==n.current;){if(l.classList.contains("overlay-scrollbar-container")&&l!==n.current){a=!0;break}l=l.parentElement}if(!a&&o.scrollHeight>o.clientHeight+2)return k.current=o,o}return null},[]),_=(0,e.useCallback)(()=>d()!==null,[d]),v=(0,e.useCallback)(()=>{B.current&&(clearTimeout(B.current),B.current=null)},[]),Fe=(0,e.useCallback)(()=>{Y.current&&(clearTimeout(Y.current),Y.current=null)},[]),Me=(0,e.useCallback)(()=>{F.current&&(clearTimeout(F.current),F.current=null)},[]),g=(0,e.useCallback)(t=>{i.enabled&&(v(),B.current=setTimeout(()=>{T(!1),B.current=null},t))},[v,i.enabled]),u=(0,e.useCallback)(()=>{let t=d();if(!t){T(!1),ye(!1),v();return}if(ye(!0),!K.current)return;i.enabled||(T(!0),v());let r=t.clientHeight,o=t.scrollHeight,l=t.scrollTop,a=0;if(te.current){let ee=window.getComputedStyle(te.current),Ee=parseFloat(ee.paddingTop)||0,Ce=parseFloat(ee.paddingBottom)||0;a=Ee+Ce}let c=L?h*2+s.margin*4:s.margin*2,w=r-c+a,y=r/o,p=Math.max(w*y,ie),J=o-r,C=w-p,de=J>0?l/J*C:0;Re(p),ve(de)},[d,v,L,h,ie,i.enabled]),_e=(0,e.useCallback)(t=>{t.preventDefault(),t.stopPropagation();let r=d();r&&(he(!0),Ie({y:t.clientY,scrollTop:r.scrollTop}),v(),T(!0),O())},[d,v,O]),ae=(0,e.useCallback)(t=>{if(!P)return;let r=d();if(!r)return;let o=r.clientHeight,a=r.scrollHeight-o,c=t.clientY-oe.y,w=o-q,y=c/w*a,p=Math.max(0,Math.min(a,oe.scrollTop+y));r.scrollTop=p,u()},[P,oe,q,u,d]),ce=(0,e.useCallback)(()=>{he(!1),_()&&g(i.delay)},[_,g,i.delay]),We=(0,e.useCallback)(t=>{if(!K.current)return;let o=K.current.getBoundingClientRect(),l=t.clientY-o.top,a=d();if(!a)return;let c=a.clientHeight,w=a.scrollHeight,p=l/c*(w-c);a.scrollTop=Math.max(0,Math.min(w-c,p)),u(),T(!0),g(i.delay),O()},[u,g,i.delay,d,O]),qe=(0,e.useCallback)(t=>{if(t.preventDefault(),t.stopPropagation(),!n.current)return;let r=Math.max(0,n.current.scrollTop-Q);n.current.scrollTop=r,u(),T(!0),g(i.delay),O()},[u,g,Q,i.delay,O]),Ue=(0,e.useCallback)(t=>{if(t.preventDefault(),t.stopPropagation(),!n.current||!$.current)return;let r=n.current,l=$.current.scrollHeight-r.clientHeight,a=Math.min(l,r.scrollTop+Q);r.scrollTop=a,u(),T(!0),g(i.delay),O()},[u,g,Q,i.delay,O]),ze=(0,e.useCallback)(t=>{if(!le.enabled)return;let r=t.target;if(me(r,le)||t.button!==0)return;let o=d();o&&(o.scrollHeight<=o.clientHeight||(t.preventDefault(),Te(!0),Oe({x:t.clientX,y:t.clientY,scrollTop:o.scrollTop,scrollLeft:o.scrollLeft||0}),v()))},[le,me,d,v]),se=(0,e.useCallback)(t=>{if(!U)return;let r=d();if(!r)return;let o=Z.x-t.clientX,l=Z.y-t.clientY;if(Math.abs(l)<3&&Math.abs(o)<3)return;T(!0);let a=Math.max(0,Math.min(r.scrollHeight-r.clientHeight,Z.scrollTop+l));r.scrollTop=a,u()},[U,Z,d,u]),ue=(0,e.useCallback)(()=>{Te(!1),_()&&g(i.delay)},[_,g,i.delay]);(0,e.useEffect)(()=>{let t=c=>{if(u(),Se){I&&I(c);return}v(),T(!0),Me();let w=xe?i.delayOnWheel:i.delay;g(w),I&&I(c)},r=()=>{we(!0),z.current&&clearTimeout(z.current),z.current=setTimeout(()=>{we(!1)},300),Me(),F.current=setTimeout(()=>{T(!0),F.current=null,g(i.delayOnWheel)},50)},o=[],l=d();l&&o.push(l);let a=n.current;return a&&!l&&(o.push(a),a.querySelectorAll('[data-virtuoso-scroller], [style*="overflow"], .virtuoso-scroller, [style*="overflow: auto"], [style*="overflow:auto"]').forEach(w=>{let y=w;if(y!==a&&y.classList.contains("overlay-scrollbar-container"))return;let p=y.parentElement;for(;p&&p!==a;){if(p.classList.contains("overlay-scrollbar-container")&&p!==a)return;p=p.parentElement}o.push(y)})),o.forEach(c=>{c.addEventListener("scroll",t,{passive:!0}),c.addEventListener("wheel",r,{passive:!0})}),()=>{o.forEach(c=>{c.removeEventListener("scroll",t),c.removeEventListener("wheel",r)}),z.current&&clearTimeout(z.current),F.current&&clearTimeout(F.current)}},[d,u,I,v,g,i,xe,Se]),(0,e.useEffect)(()=>{let t=o=>{let l=d();if(!l)return;let{key:a}=o,{scrollTop:c,scrollHeight:w,clientHeight:y}=l,p=w-y,J=50,C=null;switch(a){case"ArrowUp":o.preventDefault(),C=Math.max(0,c-J);break;case"ArrowDown":o.preventDefault(),C=Math.min(p,c+J);break;case"PageUp":o.preventDefault(),C=Math.max(0,c-y);break;case"PageDown":o.preventDefault(),C=Math.min(p,c+y);break;case"Home":o.preventDefault(),C=0;break;case"End":o.preventDefault(),C=p;break;default:return}if(C!==null){let de=C/p,ee=L?h*2+s.margin*4:s.margin*2,Be=(y-ee-q)*de;ve(Be),l.scrollTop=C,v(),T(!0),g(i.delay)}},r=n.current;if(r)return r.addEventListener("keydown",t),()=>{r.removeEventListener("keydown",t)}},[d,L,h,s.margin,q,v,g,i.delay]),(0,e.useEffect)(()=>{if(U)return document.addEventListener("mousemove",se),document.addEventListener("mouseup",ue),()=>{document.removeEventListener("mousemove",se),document.removeEventListener("mouseup",ue)}},[U,se,ue]),(0,e.useEffect)(()=>{if(P)return document.addEventListener("mousemove",ae),document.addEventListener("mouseup",ce),()=>{document.removeEventListener("mousemove",ae),document.removeEventListener("mouseup",ce)}},[P,ae,ce]),(0,e.useEffect)(()=>{u();let t=setTimeout(()=>{u()},100);return()=>clearTimeout(t)},[u]),(0,e.useLayoutEffect)(()=>{Ne(!0),u(),!i.enabled&&_()&&T(!0)},[_,u,i.enabled]),(0,e.useEffect)(()=>{if(i.initialDelay>0){let t=setTimeout(()=>{$e(!1)},i.initialDelay);return()=>clearTimeout(t)}},[i.initialDelay]),(0,e.useEffect)(()=>{let t=new ResizeObserver(()=>{u()}),r=[];return n.current&&r.push(n.current),$.current&&r.push($.current),k.current&&document.contains(k.current)&&r.push(k.current),r.forEach(o=>{t.observe(o)}),()=>t.disconnect()},[u]),(0,e.useEffect)(()=>{if(!n.current)return;let t=new MutationObserver(()=>{k.current=null,u()});return t.observe(n.current,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["style"]}),()=>t.disconnect()},[u]);let G=Math.max(Pe,h);return(0,e.useEffect)(()=>{let t="overlay-scrollbar-webkit-hide",r=document.getElementById(t);r&&r.remove();let o=document.createElement("style");return o.id=t,o.textContent=`
|
|
1
|
+
"use strict";var me=Object.defineProperty;var Ye=Object.getOwnPropertyDescriptor;var Ge=Object.getOwnPropertyNames;var Je=Object.prototype.hasOwnProperty;var Xe=(m,f)=>{for(var S in f)me(m,S,{get:f[S],enumerable:!0})},Ke=(m,f,S,M)=>{if(f&&typeof f=="object"||typeof f=="function")for(let b of Ge(f))!Je.call(m,b)&&b!==S&&me(m,b,{get:()=>f[b],enumerable:!(M=Ye(f,b))||M.enumerable});return m};var Ze=m=>Ke(me({},"__esModule",{value:!0}),m);var lt={};Xe(lt,{OverlayScrollbar:()=>he,default:()=>he});module.exports=Ze(lt);var e=require("react");var je=["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"],fe=(m,f)=>{let S=m.tagName.toLowerCase(),M=["text","password","email","number","search","tel","url","checkbox","radio"];if(S==="input"){let b=m.type;return M.includes(b)}if(["textarea","select","button"].includes(S)||["svg","path","circle","rect","line","polygon","polyline"].includes(S)||m.getAttribute("contenteditable")==="true")return!0;if(f?.excludeSelectors){for(let b of f.excludeSelectors)if(m.matches(b))return!0}return Ve(m,f)},Ve=(m,f)=>{let S=[...je,...f?.excludeClasses||[]],M=m,b=0,I=5;for(;M&&b<=I;){if(S.some(E=>M.classList.contains(E)))return!0;if(M.classList.contains("MuiDialogContent-root"))break;M=M.parentElement,b++}return!1};var D=require("react/jsx-runtime"),Qe={},et={},tt={},rt={},ot={},nt=(0,e.forwardRef)(({className:m="",style:f={},containerStyle:S={},contentStyle:M={},children:b,onScroll:I,thumb:E=Qe,track:R=et,arrows:A=tt,dragScroll:q=rt,autoHide:N=ot,showScrollbar:K=!0,detectInnerScroll:He=!1},De)=>{let ke=(0,e.useRef)({});(0,e.useEffect)(()=>{ke.current={children:b,onScroll:I,showScrollbar:K,thumb:E,track:R,arrows:A,dragScroll:q,autoHide:N}});let re=(0,e.useRef)(null),n=(0,e.useRef)(null),$=(0,e.useRef)(null),Z=(0,e.useRef)(null),Le=(0,e.useRef)(null),k=(0,e.useRef)(null),[oe,T]=(0,e.useState)(!1),[P,ge]=(0,e.useState)(!1),[be,ve]=(0,e.useState)(!1),[ne,Ie]=(0,e.useState)({y:0,scrollTop:0}),[U,Re]=(0,e.useState)(0),[Ae,ye]=(0,e.useState)(0),[le,Te]=(0,e.useState)(!1),[z,xe]=(0,e.useState)(!1),[j,Oe]=(0,e.useState)({x:0,y:0,scrollTop:0,scrollLeft:0}),[it,at]=(0,e.useState)(null),[V,Q]=(0,e.useState)(null),[ct,Ne]=(0,e.useState)(!1),B=(0,e.useRef)(null),[we,Se]=(0,e.useState)(!1),Y=(0,e.useRef)(null),G=(0,e.useRef)(null),F=(0,e.useRef)(null),x=(0,e.useMemo)(()=>{let t=E.color??"#606060";return{width:E.width??8,minHeight:E.minHeight??50,radius:E.radius??(E.width??8)/2,color:t,opacity:E.opacity??.6,hoverColor:E.hoverColor??t,hoverOpacity:E.hoverOpacity??1}},[E]),s=(0,e.useMemo)(()=>({width:R.width??16,color:R.color??"rgba(128, 128, 128, 0.1)",visible:R.visible??!0,alignment:R.alignment??"center",radius:R.radius??x.radius??4,margin:R.margin??4}),[R,x.radius]),H=(0,e.useMemo)(()=>{let t=A.color??"#808080";return{visible:A.visible??!1,step:A.step??50,color:t,opacity:A.opacity??.6,hoverColor:A.hoverColor??t,hoverOpacity:A.hoverOpacity??1}},[A]),ie=(0,e.useMemo)(()=>({enabled:q.enabled??!0,excludeClasses:q.excludeClasses??[],excludeSelectors:q.excludeSelectors??[]}),[q]),i=(0,e.useMemo)(()=>({enabled:N.enabled??!0,delay:N.delay??1500,delayOnWheel:N.delayOnWheel??700,initialDelay:N.initialDelay??200}),[N]),[_,$e]=(0,e.useState)(()=>(N.initialDelay??200)>0),h=x.width,Pe=s.width,ae=x.minHeight,L=H.visible,ee=H.step,O=(0,e.useCallback)(()=>{if(!n.current)return;let t=document.activeElement;t&&n.current.contains(t)&&t!==n.current||n.current.focus()},[]);(0,e.useImperativeHandle)(De,()=>({getScrollContainer:()=>n.current,scrollTo:t=>{n.current&&n.current.scrollTo(t)},get scrollTop(){return n.current?.scrollTop||0},get scrollHeight(){return n.current?.scrollHeight||0},get clientHeight(){return n.current?.clientHeight||0}}),[]);let d=(0,e.useCallback)(()=>{if(k.current){let r=k.current;if(document.contains(r)&&r.scrollHeight>r.clientHeight+2)return r;k.current=null}if(!n.current)return null;if($.current&&$.current.scrollHeight>n.current.clientHeight+2)return k.current=n.current,n.current;if(!He)return null;let t=n.current.querySelectorAll('[data-virtuoso-scroller], [style*="overflow"], .virtuoso-scroller, [style*="overflow: auto"], [style*="overflow:auto"]');for(let r of t){let o=r;if(o!==n.current&&o.classList.contains("overlay-scrollbar-container"))continue;let l=o.parentElement,a=!1;for(;l&&l!==n.current;){if(l.classList.contains("overlay-scrollbar-container")&&l!==n.current){a=!0;break}l=l.parentElement}if(!a&&o.scrollHeight>o.clientHeight+2)return k.current=o,o}return null},[]),W=(0,e.useCallback)(()=>d()!==null,[d]),v=(0,e.useCallback)(()=>{Y.current&&(clearTimeout(Y.current),Y.current=null)},[]),Fe=(0,e.useCallback)(()=>{G.current&&(clearTimeout(G.current),G.current=null)},[]),Me=(0,e.useCallback)(()=>{F.current&&(clearTimeout(F.current),F.current=null)},[]),g=(0,e.useCallback)(t=>{i.enabled&&(v(),Y.current=setTimeout(()=>{T(!1),Y.current=null},t))},[v,i.enabled]),u=(0,e.useCallback)(()=>{let t=d();if(!t){T(!1),Te(!1),v();return}if(Te(!0),!Z.current)return;!i.enabled&&!_&&(T(!0),v());let r=t.clientHeight,o=t.scrollHeight,l=t.scrollTop,a=0;if(re.current){let te=window.getComputedStyle(re.current),Ee=parseFloat(te.paddingTop)||0,Ce=parseFloat(te.paddingBottom)||0;a=Ee+Ce}let c=L?h*2+s.margin*4:s.margin*2,w=r-c+a,y=r/o,p=Math.max(w*y,ae),X=o-r,C=w-p,pe=X>0?l/X*C:0;Re(p),ye(pe)},[d,v,L,h,ae,i.enabled,_]),_e=(0,e.useCallback)(t=>{t.preventDefault(),t.stopPropagation();let r=d();r&&(ge(!0),Ie({y:t.clientY,scrollTop:r.scrollTop}),v(),T(!0),O())},[d,v,O]),ce=(0,e.useCallback)(t=>{if(!P)return;let r=d();if(!r)return;let o=r.clientHeight,a=r.scrollHeight-o,c=t.clientY-ne.y,w=o-U,y=c/w*a,p=Math.max(0,Math.min(a,ne.scrollTop+y));r.scrollTop=p,u()},[P,ne,U,u,d]),se=(0,e.useCallback)(()=>{ge(!1),W()&&g(i.delay)},[W,g,i.delay]),We=(0,e.useCallback)(t=>{if(!Z.current)return;let o=Z.current.getBoundingClientRect(),l=t.clientY-o.top,a=d();if(!a)return;let c=a.clientHeight,w=a.scrollHeight,p=l/c*(w-c);a.scrollTop=Math.max(0,Math.min(w-c,p)),u(),T(!0),g(i.delay),O()},[u,g,i.delay,d,O]),qe=(0,e.useCallback)(t=>{if(t.preventDefault(),t.stopPropagation(),!n.current)return;let r=Math.max(0,n.current.scrollTop-ee);n.current.scrollTop=r,u(),T(!0),g(i.delay),O()},[u,g,ee,i.delay,O]),Ue=(0,e.useCallback)(t=>{if(t.preventDefault(),t.stopPropagation(),!n.current||!$.current)return;let r=n.current,l=$.current.scrollHeight-r.clientHeight,a=Math.min(l,r.scrollTop+ee);r.scrollTop=a,u(),T(!0),g(i.delay),O()},[u,g,ee,i.delay,O]),ze=(0,e.useCallback)(t=>{if(!ie.enabled)return;let r=t.target;if(fe(r,ie)||t.button!==0)return;let o=d();o&&(o.scrollHeight<=o.clientHeight||(t.preventDefault(),xe(!0),Oe({x:t.clientX,y:t.clientY,scrollTop:o.scrollTop,scrollLeft:o.scrollLeft||0}),v()))},[ie,fe,d,v]),ue=(0,e.useCallback)(t=>{if(!z)return;let r=d();if(!r)return;let o=j.x-t.clientX,l=j.y-t.clientY;if(Math.abs(l)<3&&Math.abs(o)<3)return;T(!0);let a=Math.max(0,Math.min(r.scrollHeight-r.clientHeight,j.scrollTop+l));r.scrollTop=a,u()},[z,j,d,u]),de=(0,e.useCallback)(()=>{xe(!1),W()&&g(i.delay)},[W,g,i.delay]);(0,e.useEffect)(()=>{let t=c=>{if(u(),_){I&&I(c);return}v(),T(!0),Me();let w=we?i.delayOnWheel:i.delay;g(w),I&&I(c)},r=()=>{Se(!0),B.current&&clearTimeout(B.current),B.current=setTimeout(()=>{Se(!1)},300),Me(),F.current=setTimeout(()=>{T(!0),F.current=null,g(i.delayOnWheel)},50)},o=[],l=d();l&&o.push(l);let a=n.current;return a&&!l&&(o.push(a),a.querySelectorAll('[data-virtuoso-scroller], [style*="overflow"], .virtuoso-scroller, [style*="overflow: auto"], [style*="overflow:auto"]').forEach(w=>{let y=w;if(y!==a&&y.classList.contains("overlay-scrollbar-container"))return;let p=y.parentElement;for(;p&&p!==a;){if(p.classList.contains("overlay-scrollbar-container")&&p!==a)return;p=p.parentElement}o.push(y)})),o.forEach(c=>{c.addEventListener("scroll",t,{passive:!0}),c.addEventListener("wheel",r,{passive:!0})}),()=>{o.forEach(c=>{c.removeEventListener("scroll",t),c.removeEventListener("wheel",r)}),B.current&&clearTimeout(B.current),F.current&&clearTimeout(F.current)}},[d,u,I,v,g,i,we,_]),(0,e.useEffect)(()=>{let t=o=>{let l=d();if(!l)return;let{key:a}=o,{scrollTop:c,scrollHeight:w,clientHeight:y}=l,p=w-y,X=50,C=null;switch(a){case"ArrowUp":o.preventDefault(),C=Math.max(0,c-X);break;case"ArrowDown":o.preventDefault(),C=Math.min(p,c+X);break;case"PageUp":o.preventDefault(),C=Math.max(0,c-y);break;case"PageDown":o.preventDefault(),C=Math.min(p,c+y);break;case"Home":o.preventDefault(),C=0;break;case"End":o.preventDefault(),C=p;break;default:return}if(C!==null){let pe=C/p,te=L?h*2+s.margin*4:s.margin*2,Be=(y-te-U)*pe;ye(Be),l.scrollTop=C,v(),T(!0),g(i.delay)}},r=n.current;if(r)return r.addEventListener("keydown",t),()=>{r.removeEventListener("keydown",t)}},[d,L,h,s.margin,U,v,g,i.delay]),(0,e.useEffect)(()=>{if(z)return document.addEventListener("mousemove",ue),document.addEventListener("mouseup",de),()=>{document.removeEventListener("mousemove",ue),document.removeEventListener("mouseup",de)}},[z,ue,de]),(0,e.useEffect)(()=>{if(P)return document.addEventListener("mousemove",ce),document.addEventListener("mouseup",se),()=>{document.removeEventListener("mousemove",ce),document.removeEventListener("mouseup",se)}},[P,ce,se]),(0,e.useEffect)(()=>{u();let t=setTimeout(()=>{u()},100);return()=>clearTimeout(t)},[u]),(0,e.useLayoutEffect)(()=>{Ne(!0),u(),!i.enabled&&!_&&W()&&T(!0)},[W,u,i.enabled,_]),(0,e.useEffect)(()=>{if(i.initialDelay>0){let t=setTimeout(()=>{$e(!1)},i.initialDelay);return()=>clearTimeout(t)}},[i.initialDelay]),(0,e.useEffect)(()=>{let t=new ResizeObserver(()=>{u()}),r=[];return n.current&&r.push(n.current),$.current&&r.push($.current),k.current&&document.contains(k.current)&&r.push(k.current),r.forEach(o=>{t.observe(o)}),()=>t.disconnect()},[u]),(0,e.useEffect)(()=>{if(!n.current)return;let t=new MutationObserver(()=>{k.current=null,u()});return t.observe(n.current,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["style"]}),()=>t.disconnect()},[u]);let J=Math.max(Pe,h);return(0,e.useEffect)(()=>{let t="overlay-scrollbar-webkit-hide",r=document.getElementById(t);r&&r.remove();let o=document.createElement("style");return o.id=t,o.textContent=`
|
|
2
2
|
.overlay-scrollbar-container::-webkit-scrollbar {
|
|
3
3
|
display: none !important;
|
|
4
4
|
width: 0 !important;
|
|
@@ -10,6 +10,18 @@
|
|
|
10
10
|
.overlay-scrollbar-container::-webkit-scrollbar-thumb {
|
|
11
11
|
display: none !important;
|
|
12
12
|
}
|
|
13
|
+
/* ehfuse-editor \uB0B4\uC758 ehfuse-editor-content\uB294 \uC2A4\uD06C\uB864\uBC14 \uC720\uC9C0 */
|
|
14
|
+
.ehfuse-editor .ehfuse-editor-content::-webkit-scrollbar {
|
|
15
|
+
display: initial !important;
|
|
16
|
+
width: initial !important;
|
|
17
|
+
height: initial !important;
|
|
18
|
+
}
|
|
19
|
+
.ehfuse-editor .ehfuse-editor-content::-webkit-scrollbar-track {
|
|
20
|
+
display: initial !important;
|
|
21
|
+
}
|
|
22
|
+
.ehfuse-editor .ehfuse-editor-content::-webkit-scrollbar-thumb {
|
|
23
|
+
display: initial !important;
|
|
24
|
+
}
|
|
13
25
|
.overlay-scrollbar-container:focus {
|
|
14
26
|
outline: 2px solid rgba(0, 123, 255, 0.3);
|
|
15
27
|
outline-offset: -2px;
|
|
@@ -18,5 +30,5 @@
|
|
|
18
30
|
outline: 2px solid rgba(0, 123, 255, 0.5);
|
|
19
31
|
outline-offset: -2px;
|
|
20
32
|
}
|
|
21
|
-
`,document.head.appendChild(o),()=>{let l=document.getElementById(t);l&&l.remove()}},[]),(0,D.jsxs)("div",{ref:
|
|
33
|
+
`,document.head.appendChild(o),()=>{let l=document.getElementById(t);l&&l.remove()}},[]),(0,D.jsxs)("div",{ref:re,className:`overlay-scrollbar-wrapper ${m}`,style:{display:"flex",flexDirection:"column",position:"relative",minHeight:0,height:"100%",flex:"1 1 0%",...f},children:[(0,D.jsx)("div",{ref:n,className:"overlay-scrollbar-container",tabIndex:-1,onMouseDown:ze,style:{display:"flex",width:"100%",flex:"1 1 auto",minHeight:0,overflow:"auto",scrollbarWidth:"none",msOverflowStyle:"none",outline:"none",userSelect:z?"none":"auto",...S},children:(0,D.jsx)("div",{ref:$,className:"overlay-scrollbar-content",style:{flex:"1 1 0%",minHeight:0,display:"flex",flexDirection:"column",...M},children:b})}),K&&le&&(0,D.jsxs)("div",{ref:Z,className:"overlay-scrollbar-track",onMouseEnter:()=>{v(),G.current=setTimeout(()=>{T(!0),G.current=null},100)},onMouseLeave:()=>{Fe(),P||g(i.delay)},style:{position:"absolute",top:0,right:0,width:`${J}px`,height:"100%",opacity:oe?1:0,transition:"opacity 0.2s ease-in-out",cursor:"pointer",zIndex:1e3,pointerEvents:"auto"},children:[s.visible&&(0,D.jsx)("div",{className:"overlay-scrollbar-track-background",onClick:t=>{t.preventDefault(),t.stopPropagation(),We(t)},style:{position:"absolute",top:L?`${x.width+s.margin*2}px`:`${s.margin}px`,right:s.alignment==="right"?"0px":`${(J-x.width)/2}px`,width:`${x.width}px`,height:L?`calc(100% - ${x.width*2+s.margin*4}px)`:`calc(100% - ${s.margin*2}px)`,backgroundColor:s.color,borderRadius:`${s.radius}px`,cursor:"pointer"}}),(0,D.jsx)("div",{ref:Le,className:"overlay-scrollbar-thumb",onMouseDown:_e,onMouseEnter:()=>ve(!0),onMouseLeave:()=>ve(!1),style:{position:"absolute",top:`${(L?h+s.margin*2:s.margin)+Ae}px`,right:s.alignment==="right"?"0px":`${(J-h)/2}px`,width:`${h}px`,height:`${Math.max(U,ae)}px`,backgroundColor:be||P?x.hoverColor:x.color,opacity:be||P?x.hoverOpacity:x.opacity,borderRadius:`${x.radius}px`,cursor:"pointer",transition:"background-color 0.2s ease-in-out, opacity 0.2s ease-in-out"}})]}),K&&le&&L&&(0,D.jsx)("div",{className:"overlay-scrollbar-up-arrow",onClick:qe,onMouseEnter:()=>Q("up"),onMouseLeave:()=>Q(null),style:{position:"absolute",top:`${s.margin}px`,right:s.alignment==="right"?"0px":`${(J-h)/2}px`,width:`${h}px`,height:`${h}px`,cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",fontSize:`${Math.max(h*.75,8)}px`,color:V==="up"?H.hoverColor:H.color,userSelect:"none",zIndex:1001,opacity:oe?V==="up"?H.hoverOpacity:H.opacity:0,transition:"opacity 0.2s ease-in-out, color 0.15s ease-in-out"},children:"\u25B2"}),K&&le&&L&&(0,D.jsx)("div",{className:"overlay-scrollbar-down-arrow",onClick:Ue,onMouseEnter:()=>Q("down"),onMouseLeave:()=>Q(null),style:{position:"absolute",bottom:`${s.margin}px`,right:s.alignment==="right"?"0px":`${(J-h)/2}px`,width:`${h}px`,height:`${h}px`,cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",fontSize:`${Math.max(h*.75,8)}px`,color:V==="down"?H.hoverColor:H.color,userSelect:"none",zIndex:1001,opacity:oe?V==="down"?H.hoverOpacity:H.opacity:0,transition:"opacity 0.2s ease-in-out, color 0.15s ease-in-out"},children:"\u25BC"})]})}),he=nt;
|
|
22
34
|
//# sourceMappingURL=index.js.map
|