@react-three/drei 9.99.3 → 9.99.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-three/drei",
3
- "version": "9.99.3",
3
+ "version": "9.99.4",
4
4
  "private": false,
5
5
  "description": "useful add-ons for react-three-fiber",
6
6
  "keywords": [
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),r=require("react"),t=require("three"),n=require("@react-three/fiber"),a=require("@use-gesture/react");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function i(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var c=o(e),u=i(r),s=i(t);const l=new s.Vector3,m=new s.Vector2,d=new s.Vector3,f=new s.Vector3,x=new s.Vector3,p=new s.Plane,y=u.forwardRef((({autoTransform:e=!0,matrix:r,axisLock:t,dragLimits:o,onHover:i,onDragStart:y,onDrag:h,onDragEnd:g,children:b,...v},w)=>{const D=n.useThree((e=>e.controls)),{camera:M,size:z,raycaster:P,invalidate:j}=n.useThree(),O=u.useRef(null),V=a.useGesture({onHover:({hovering:e})=>i&&i(null!=e&&e),onDragStart:({event:e})=>{D.enabled=!1;const{point:r}=e;O.current.matrix.decompose(l,new s.Quaternion,new s.Vector3),d.copy(r),f.copy(d).sub(l),y&&y(l),j()},onDrag:({xy:[r,n],intentional:a})=>{if(!a)return;const i=(r-z.left)/z.width*2-1,c=-(n-z.top)/z.height*2+1;if(m.set(i,c),P.setFromCamera(m,M),t)switch(t){case"x":x.set(1,0,0);break;case"y":x.set(0,1,0);break;case"z":x.set(0,0,1)}else M.getWorldDirection(x).negate();p.setFromNormalAndCoplanarPoint(x,d),P.ray.intersectPlane(p,d);const u=O.current.matrix.clone(),l=O.current.matrixWorld.clone(),y=new s.Vector3(d.x-f.x,d.y-f.y,d.z-f.z);if(o&&(y.x=o[0]?Math.max(Math.min(y.x,o[0][1]),o[0][0]):y.x,y.y=o[1]?Math.max(Math.min(y.y,o[1][1]),o[1][0]):y.y,y.z=o[2]?Math.max(Math.min(y.z,o[2][1]),o[2][0]):y.z),e){O.current.matrix.setPosition(y);const e=O.current.matrix.clone().multiply(u.invert()),r=O.current.matrix.clone().multiply(l.invert());h&&h(O.current.matrix,e,O.current.matrixWorld,r)}else{const e=(new s.Matrix4).copy(O.current.matrix);e.setPosition(y);const r=e.clone().multiply(u.invert()),t=e.clone().multiply(l.invert());h&&h(e,r,O.current.matrixWorld,t)}j()},onDragEnd:()=>{D.enabled=!0,g&&g(),j()}},{drag:{filterTaps:!0,threshold:1}});return u.useImperativeHandle(w,(()=>O.current),[]),u.useLayoutEffect((()=>{r&&(O.current.matrix=r)}),[r]),u.createElement("group",c.default({ref:O},V(),{matrix:r,matrixAutoUpdate:!1},v),b)}));exports.DragControls=y;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),r=require("react"),t=require("three"),n=require("@react-three/fiber"),a=require("@use-gesture/react");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function i(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var c=o(e),u=i(r),s=i(t);const l=new s.Vector3,m=new s.Vector2,d=new s.Vector3,f=new s.Vector3,x=new s.Vector3,p=new s.Plane,y=u.forwardRef((({autoTransform:e=!0,matrix:r,axisLock:t,dragLimits:o,onHover:i,onDragStart:y,onDrag:h,onDragEnd:g,children:b,...v},w)=>{const D=n.useThree((e=>e.controls)),{camera:M,size:z,raycaster:P,invalidate:j}=n.useThree(),O=u.useRef(null),V=a.useGesture({onHover:({hovering:e})=>i&&i(null!=e&&e),onDragStart:({event:e})=>{D&&(D.enabled=!1);const{point:r}=e;O.current.matrix.decompose(l,new s.Quaternion,new s.Vector3),d.copy(r),f.copy(d).sub(l),y&&y(l),j()},onDrag:({xy:[r,n],intentional:a})=>{if(!a)return;const i=(r-z.left)/z.width*2-1,c=-(n-z.top)/z.height*2+1;if(m.set(i,c),P.setFromCamera(m,M),t)switch(t){case"x":x.set(1,0,0);break;case"y":x.set(0,1,0);break;case"z":x.set(0,0,1)}else M.getWorldDirection(x).negate();p.setFromNormalAndCoplanarPoint(x,d),P.ray.intersectPlane(p,d);const u=O.current.matrix.clone(),l=O.current.matrixWorld.clone(),y=new s.Vector3(d.x-f.x,d.y-f.y,d.z-f.z);if(o&&(y.x=o[0]?Math.max(Math.min(y.x,o[0][1]),o[0][0]):y.x,y.y=o[1]?Math.max(Math.min(y.y,o[1][1]),o[1][0]):y.y,y.z=o[2]?Math.max(Math.min(y.z,o[2][1]),o[2][0]):y.z),e){O.current.matrix.setPosition(y);const e=O.current.matrix.clone().multiply(u.invert()),r=O.current.matrix.clone().multiply(l.invert());h&&h(O.current.matrix,e,O.current.matrixWorld,r)}else{const e=(new s.Matrix4).copy(O.current.matrix);e.setPosition(y);const r=e.clone().multiply(u.invert()),t=e.clone().multiply(l.invert());h&&h(e,r,O.current.matrixWorld,t)}j()},onDragEnd:()=>{D&&(D.enabled=!0),g&&g(),j()}},{drag:{filterTaps:!0,threshold:1}});return u.useImperativeHandle(w,(()=>O.current),[]),u.useLayoutEffect((()=>{r&&(O.current.matrix=r)}),[r]),u.createElement("group",c.default({ref:O},V(),{matrix:r,matrixAutoUpdate:!1},v),b)}));exports.DragControls=y;
@@ -22,7 +22,6 @@ const DragControls = /*#__PURE__*/React.forwardRef(({
22
22
  children,
23
23
  ...props
24
24
  }, fRef) => {
25
- // @ts-expect-error new in @react-three/fiber@7.0.5
26
25
  const defaultControls = useThree(state => state.controls);
27
26
  const {
28
27
  camera,
@@ -38,7 +37,7 @@ const DragControls = /*#__PURE__*/React.forwardRef(({
38
37
  onDragStart: ({
39
38
  event
40
39
  }) => {
41
- defaultControls.enabled = false;
40
+ if (defaultControls) defaultControls.enabled = false;
42
41
  const {
43
42
  point
44
43
  } = event;
@@ -97,7 +96,7 @@ const DragControls = /*#__PURE__*/React.forwardRef(({
97
96
  invalidate();
98
97
  },
99
98
  onDragEnd: () => {
100
- defaultControls.enabled = true;
99
+ if (defaultControls) defaultControls.enabled = true;
101
100
  onDragEnd && onDragEnd();
102
101
  invalidate();
103
102
  }