@anoki/fse-ui
Version:
FSE UI components library
6 lines (5 loc) • 3.97 kB
JavaScript
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const O=require("./index.cjs500.js"),q=require("react"),j=require("./index.cjs523.js"),_=require("./index.cjs524.js"),d=require("./index.cjs525.js"),E=require("./index.cjs526.js");function p(e){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const l in e)if(l!=="default"){const i=Object.getOwnPropertyDescriptor(e,l);Object.defineProperty(a,l,i.get?i:{enumerable:!0,get:()=>e[l]})}}return a.default=e,Object.freeze(a)}const n=p(q);var g=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},R=function(e){return[e.deltaX,e.deltaY]},M=function(e){return e&&"current"in e?e.current:e},A=function(e,a){return e[0]===a[0]&&e[1]===a[1]},x=function(e){return`
.block-interactivity-`.concat(e,` {pointer-events: none;}
.allow-interactivity-`).concat(e,` {pointer-events: all;}
`)},I=0,v=[];function W(e){var a=n.useRef([]),l=n.useRef([0,0]),i=n.useRef(),h=n.useState(I++)[0],S=n.useState(_.styleSingleton)[0],b=n.useRef(e);n.useEffect(function(){b.current=e},[e]),n.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(h));var t=O.__spreadArray([e.lockRef.current],(e.shards||[]).map(M),!0).filter(Boolean);return t.forEach(function(r){return r.classList.add("allow-interactivity-".concat(h))}),function(){document.body.classList.remove("block-interactivity-".concat(h)),t.forEach(function(r){return r.classList.remove("allow-interactivity-".concat(h))})}}},[e.inert,e.lockRef.current,e.shards]);var k=n.useCallback(function(t,r){if("touches"in t&&t.touches.length===2||t.type==="wheel"&&t.ctrlKey)return!b.current.allowPinchZoom;var s=g(t),u=l.current,o="deltaX"in t?t.deltaX:u[0]-s[0],f="deltaY"in t?t.deltaY:u[1]-s[1],c,P=t.target,m=Math.abs(o)>Math.abs(f)?"h":"v";if("touches"in t&&m==="h"&&P.type==="range")return!1;var C=E.locationCouldBeScrolled(m,P);if(!C)return!0;if(C?c=m:(c=m==="v"?"h":"v",C=E.locationCouldBeScrolled(m,P)),!C)return!1;if(!i.current&&"changedTouches"in t&&(o||f)&&(i.current=c),!c)return!0;var Y=i.current||c;return E.handleScroll(Y,r,t,Y==="h"?o:f)},[]),y=n.useCallback(function(t){var r=t;if(!(!v.length||v[v.length-1]!==S)){var s="deltaY"in r?R(r):g(r),u=a.current.filter(function(c){return c.name===r.type&&(c.target===r.target||r.target===c.shadowParent)&&A(c.delta,s)})[0];if(u&&u.should){r.cancelable&&r.preventDefault();return}if(!u){var o=(b.current.shards||[]).map(M).filter(Boolean).filter(function(c){return c.contains(r.target)}),f=o.length>0?k(r,o[0]):!b.current.noIsolation;f&&r.cancelable&&r.preventDefault()}}},[]),w=n.useCallback(function(t,r,s,u){var o={name:t,delta:r,target:s,should:u,shadowParent:z(s)};a.current.push(o),setTimeout(function(){a.current=a.current.filter(function(f){return f!==o})},1)},[]),T=n.useCallback(function(t){l.current=g(t),i.current=void 0},[]),L=n.useCallback(function(t){w(t.type,R(t),t.target,k(t,e.lockRef.current))},[]),X=n.useCallback(function(t){w(t.type,g(t),t.target,k(t,e.lockRef.current))},[]);n.useEffect(function(){return v.push(S),e.setCallbacks({onScrollCapture:L,onWheelCapture:L,onTouchMoveCapture:X}),document.addEventListener("wheel",y,d.nonPassive),document.addEventListener("touchmove",y,d.nonPassive),document.addEventListener("touchstart",T,d.nonPassive),function(){v=v.filter(function(t){return t!==S}),document.removeEventListener("wheel",y,d.nonPassive),document.removeEventListener("touchmove",y,d.nonPassive),document.removeEventListener("touchstart",T,d.nonPassive)}},[]);var B=e.removeScrollBar,D=e.inert;return n.createElement(n.Fragment,null,D?n.createElement(S,{styles:x(h)}):null,B?n.createElement(j.RemoveScrollBar,{gapMode:e.gapMode}):null)}function z(e){for(var a=null;e!==null;)e instanceof ShadowRoot&&(a=e.host,e=e.host),e=e.parentNode;return a}exports.RemoveScrollSideCar=W;exports.getDeltaXY=R;exports.getTouchXY=g;
//# sourceMappingURL=index.cjs513.js.map