UNPKG

@hoosei/voxweave-react

Version:

A customizable and interactive voice UI component for React applications

6 lines (5 loc) 3.99 kB
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const O=require("./index50.js"),_=require("react"),q=require("./index82.js"),j=require("./index83.js"),v=require("./index84.js"),P=require("./index85.js");function A(e){if(e&&e.__esModule)return 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=A(_);var g=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},E=function(e){return[e.deltaX,e.deltaY]},Y=function(e){return e&&"current"in e?e.current:e},x=function(e,a){return e[0]===a[0]&&e[1]===a[1]},p=function(e){return` .block-interactivity-`.concat(e,` {pointer-events: none;} .allow-interactivity-`).concat(e,` {pointer-events: all;} `)},I=0,d=[];function W(e){var a=n.useRef([]),l=n.useRef([0,0]),i=n.useRef(),h=n.useState(I++)[0],S=n.useState(j.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(Y),!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 R=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),o=l.current,u="deltaX"in t?t.deltaX:o[0]-s[0],f="deltaY"in t?t.deltaY:o[1]-s[1],c,k=t.target,m=Math.abs(u)>Math.abs(f)?"h":"v";if("touches"in t&&m==="h"&&k.type==="range")return!1;var C=P.locationCouldBeScrolled(m,k);if(!C)return!0;if(C?c=m:(c=m==="v"?"h":"v",C=P.locationCouldBeScrolled(m,k)),!C)return!1;if(!i.current&&"changedTouches"in t&&(u||f)&&(i.current=c),!c)return!0;var M=i.current||c;return P.handleScroll(M,r,t,M==="h"?u:f)},[]),y=n.useCallback(function(t){var r=t;if(!(!d.length||d[d.length-1]!==S)){var s="deltaY"in r?E(r):g(r),o=a.current.filter(function(c){return c.name===r.type&&(c.target===r.target||r.target===c.shadowParent)&&x(c.delta,s)})[0];if(o&&o.should){r.cancelable&&r.preventDefault();return}if(!o){var u=(b.current.shards||[]).map(Y).filter(Boolean).filter(function(c){return c.contains(r.target)}),f=u.length>0?R(r,u[0]):!b.current.noIsolation;f&&r.cancelable&&r.preventDefault()}}},[]),w=n.useCallback(function(t,r,s,o){var u={name:t,delta:r,target:s,should:o,shadowParent:z(s)};a.current.push(u),setTimeout(function(){a.current=a.current.filter(function(f){return f!==u})},1)},[]),T=n.useCallback(function(t){l.current=g(t),i.current=void 0},[]),L=n.useCallback(function(t){w(t.type,E(t),t.target,R(t,e.lockRef.current))},[]),X=n.useCallback(function(t){w(t.type,g(t),t.target,R(t,e.lockRef.current))},[]);n.useEffect(function(){return d.push(S),e.setCallbacks({onScrollCapture:L,onWheelCapture:L,onTouchMoveCapture:X}),document.addEventListener("wheel",y,v.nonPassive),document.addEventListener("touchmove",y,v.nonPassive),document.addEventListener("touchstart",T,v.nonPassive),function(){d=d.filter(function(t){return t!==S}),document.removeEventListener("wheel",y,v.nonPassive),document.removeEventListener("touchmove",y,v.nonPassive),document.removeEventListener("touchstart",T,v.nonPassive)}},[]);var B=e.removeScrollBar,D=e.inert;return n.createElement(n.Fragment,null,D?n.createElement(S,{styles:p(h)}):null,B?n.createElement(q.RemoveScrollBar,{noRelative:e.noRelative,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=E;exports.getTouchXY=g; //# sourceMappingURL=index70.js.map