@react-three/drei 7.19.0 → 7.19.4
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/core/Bounds.cjs.js +1 -1
- package/core/Bounds.js +1 -1
- package/core/Instances.cjs.js +1 -1
- package/core/Instances.js +3 -1
- package/index.cjs.js +1 -1
- package/package.json +1 -1
- package/web/ScrollControls.cjs.js +1 -1
- package/web/ScrollControls.js +1 -1
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("three"),r=require("react"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("three"),r=require("react"),o=require("react-dom"),s=require("@react-three/fiber"),n=require("react-merge-refs");function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function i(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var o=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,o.get?o:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var f=l(e),c=i(t),a=i(r),u=i(o),d=l(n);const h=a.createContext(null);function p(){return a.useContext(h)}const m=a.forwardRef((({children:e},t)=>{const r=a.useRef(null),o=p(),{width:n,height:l}=s.useThree((e=>e.viewport));return s.useFrame((()=>{r.current.position.x=o.horizontal?-n*(o.pages-1)*o.offset:0,r.current.position.y=o.horizontal?0:l*(o.pages-1)*o.offset})),a.createElement("group",{ref:d.default([t,r])},e)})),v=a.forwardRef((({children:e,style:t,...r},o)=>{const n=p(),l=a.useRef(null),{width:i,height:c}=s.useThree((e=>e.size)),m=a.useContext(s.context);return s.useFrame((()=>{n.delta>n.eps&&(l.current.style.transform=`translate3d(${n.horizontal?-i*(n.pages-1)*n.offset:0}px,${n.horizontal?0:c*(n.pages-1)*-n.offset}px,0)`)})),u.render(a.createElement("div",f.default({ref:d.default([o,l]),style:{...t,position:"absolute",top:0,left:0,willChange:"transform"}},r),a.createElement(h.Provider,{value:n},a.createElement(s.context.Provider,{value:m},e))),n.fixed),null})),y=a.forwardRef((({html:e,...t},r)=>{const o=e?v:m;return a.createElement(o,f.default({ref:r},t))}));exports.Scroll=y,exports.ScrollControls=function({eps:e=1e-5,enabled:t=!0,infinite:r,horizontal:o,pages:n=1,distance:l=1,damping:i=4,children:f}){const{gl:u,size:d,invalidate:p,events:m,raycaster:v}=s.useThree(),[y]=a.useState((()=>document.createElement("div"))),[g]=a.useState((()=>document.createElement("div"))),[w]=a.useState((()=>document.createElement("div"))),x=u.domElement.parentNode,E=a.useRef(0),b=a.useMemo((()=>({el:y,eps:e,fill:g,fixed:w,horizontal:o,damping:i,offset:0,delta:0,scroll:E,pages:n,range(e,t,r=0){const o=e-r,s=o+t+2*r;return this.offset<o?0:this.offset>s?1:(this.offset-o)/(s-o)},curve(e,t,r=0){return Math.sin(this.range(e,t,r)*Math.PI)},visible(e,t,r=0){const o=e-r,s=o+t+2*r;return this.offset>=o&&this.offset<=s}})),[e,i,o,n]);a.useEffect((()=>{y.style.position="absolute",y.style.width="100%",y.style.height="100%",y.style[o?"overflowX":"overflowY"]="auto",y.style[o?"overflowY":"overflowX"]="hidden",y.style.top="0px",y.style.left="0px",w.style.position="sticky",w.style.top="0px",w.style.left="0px",w.style.width="100%",w.style.height="100%",w.style.overflow="hidden",y.appendChild(w),g.style.height=o?"100%":n*l*100+"%",g.style.width=o?n*l*100+"%":"100%",g.style.pointerEvents="none",y.appendChild(g),x.appendChild(y),y[o?"scrollLeft":"scrollTop"]=1;const e="boolean"!=typeof m.connected?m.connected:u.domElement;requestAnimationFrame((()=>null==m.connect?void 0:m.connect(y)));const t=v.computeOffsets;return v.computeOffsets=({clientX:e,clientY:t})=>({offsetX:e,offsetY:t}),()=>{x.removeChild(y),v.computeOffsets=t,null==m.connect||m.connect(e)}}),[n,l,o,y,g,w,x]),a.useEffect((()=>{const e=d[o?"width":"height"],s=y[o?"scrollWidth":"scrollHeight"],n=s-e;let l=0,i=!0,f=!0;const c=e=>{if(t&&!f&&(p(),l=y[o?"scrollLeft":"scrollTop"],E.current=l/n,r)){if(!i)if(l>=n){const e=1-b.offset;y[o?"scrollLeft":"scrollTop"]=1,E.current=b.offset=-e,i=!0}else if(l<=0){const e=1+b.offset;y[o?"scrollLeft":"scrollTop"]=s,E.current=b.offset=e,i=!0}i&&setTimeout((()=>i=!1),40)}};y.addEventListener("scroll",c,{passive:!0}),requestAnimationFrame((()=>f=!1));const a=e=>y.scrollLeft+=e.deltaY/2;return o&&y.addEventListener("wheel",a,{passive:!0}),()=>{y.removeEventListener("scroll",c),o&&y.removeEventListener("wheel",a)}}),[y,d,r,b,p,o]);let O=0;return s.useFrame(((t,r)=>{b.offset=c.MathUtils.damp(O=b.offset,E.current,i,r),b.delta=c.MathUtils.damp(b.delta,Math.abs(O-b.offset),i,r),b.delta>e&&p()})),a.createElement(h.Provider,{value:b},f)},exports.useScroll=p;
|
package/web/ScrollControls.js
CHANGED
|
@@ -88,7 +88,7 @@ function ScrollControls({
|
|
|
88
88
|
target.appendChild(el); // Init scroll one pixel in to allow upward/leftward scroll
|
|
89
89
|
|
|
90
90
|
el[horizontal ? 'scrollLeft' : 'scrollTop'] = 1;
|
|
91
|
-
const oldTarget = events.connected;
|
|
91
|
+
const oldTarget = typeof events.connected !== 'boolean' ? events.connected : gl.domElement;
|
|
92
92
|
requestAnimationFrame(() => events.connect == null ? void 0 : events.connect(el));
|
|
93
93
|
const oldCompute = raycaster.computeOffsets;
|
|
94
94
|
|