@react-three/drei 9.88.12 → 9.88.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 CHANGED
@@ -2468,7 +2468,7 @@ type Props = {
2468
2468
  /** Event callback when each frame changes */
2469
2469
  onFrame?: Function
2470
2470
  /** @deprecated Control when the animation runs*/
2471
- play?: boolean
2471
+ play?: boolean
2472
2472
  /** Control when the animation pauses */
2473
2473
  pause?: boolean
2474
2474
  /** Whether or not the Sprite should flip sides on the x-axis */
@@ -3234,7 +3234,12 @@ A wrapper around [THREE.LineSegments](https://threejs.org/docs/#api/en/objects/L
3234
3234
  ##### Prop based:
3235
3235
 
3236
3236
  ```jsx
3237
- <Segments limit={1000} lineWidth={1.0}>
3237
+ <Segments
3238
+ limit={1000}
3239
+ lineWidth={1.0}
3240
+ // All THREE.LineMaterial props are valid
3241
+ {...materialProps}
3242
+ >
3238
3243
  <Segment start={[0, 0, 0]} end={[0, 10, 0]} color="red" />
3239
3244
  <Segment start={[0, 0, 0]} end={[0, 10, 10]} color={[1, 0, 1]} />
3240
3245
  </Segments>
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("@react-three/fiber"),r=require("react"),n=require("three-stdlib");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function c(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var s=o(e),i=c(r);const u=i.forwardRef((({domElement:e,selector:r,onChange:o,onLock:c,onUnlock:u,enabled:a=!0,makeDefault:l,...d},f)=>{const{camera:m,...h}=d,v=t.useThree((e=>e.setEvents)),E=t.useThree((e=>e.gl)),b=t.useThree((e=>e.camera)),p=t.useThree((e=>e.invalidate)),k=t.useThree((e=>e.events)),L=t.useThree((e=>e.get)),g=t.useThree((e=>e.set)),j=m||b,y=e||k.connected||E.domElement,O=i.useMemo((()=>new n.PointerLockControls(j)),[j]);return i.useEffect((()=>{if(a){O.connect(y);const e=L().events.compute;return v({compute(e,t){const r=t.size.width/2,n=t.size.height/2;t.pointer.set(r/t.size.width*2-1,-n/t.size.height*2+1),t.raycaster.setFromCamera(t.pointer,t.camera)}}),()=>{O.disconnect(),v({compute:e})}}}),[a,O]),i.useEffect((()=>{const e=e=>{p(),o&&o(e)};O.addEventListener("change",e),c&&O.addEventListener("lock",c),u&&O.addEventListener("unlock",u);const t=()=>O.lock(),n=r?Array.from(document.querySelectorAll(r)):[document];return n.forEach((e=>e&&e.addEventListener("click",t))),()=>{O.removeEventListener("change",e),c&&O.addEventListener("lock",c),u&&O.addEventListener("unlock",u),n.forEach((e=>e?e.removeEventListener("click",t):void 0))}}),[o,c,u,r,O,p]),i.useEffect((()=>{if(l){const e=L().controls;return g({controls:O}),()=>g({controls:e})}}),[l,O]),i.createElement("primitive",s.default({ref:f,object:O},h))}));exports.PointerLockControls=u;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("@react-three/fiber"),r=require("react"),n=require("three-stdlib");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function c(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var s=o(e),i=c(r);const u=i.forwardRef((({domElement:e,selector:r,onChange:o,onLock:c,onUnlock:u,enabled:a=!0,makeDefault:l,...f},d)=>{const{camera:m,...v}=f,h=t.useThree((e=>e.setEvents)),E=t.useThree((e=>e.gl)),b=t.useThree((e=>e.camera)),p=t.useThree((e=>e.invalidate)),k=t.useThree((e=>e.events)),L=t.useThree((e=>e.get)),g=t.useThree((e=>e.set)),j=m||b,y=e||k.connected||E.domElement,O=i.useMemo((()=>new n.PointerLockControls(j)),[j]);return i.useEffect((()=>{if(a){O.connect(y);const e=L().events.compute;return h({compute(e,t){const r=t.size.width/2,n=t.size.height/2;t.pointer.set(r/t.size.width*2-1,-n/t.size.height*2+1),t.raycaster.setFromCamera(t.pointer,t.camera)}}),()=>{O.disconnect(),h({compute:e})}}}),[a,O]),i.useEffect((()=>{const e=e=>{p(),o&&o(e)};O.addEventListener("change",e),c&&O.addEventListener("lock",c),u&&O.addEventListener("unlock",u);const t=()=>O.lock(),n=r?Array.from(document.querySelectorAll(r)):[document];return n.forEach((e=>e&&e.addEventListener("click",t))),()=>{O.removeEventListener("change",e),c&&O.removeEventListener("lock",c),u&&O.removeEventListener("unlock",u),n.forEach((e=>e?e.removeEventListener("click",t):void 0))}}),[o,c,u,r,O,p]),i.useEffect((()=>{if(l){const e=L().controls;return g({controls:O}),()=>g({controls:e})}}),[l,O]),i.createElement("primitive",s.default({ref:d,object:O},v))}));exports.PointerLockControls=u;
@@ -63,8 +63,8 @@ const PointerLockControls = /* @__PURE__ */React.forwardRef(({
63
63
  elements.forEach(element => element && element.addEventListener('click', handler));
64
64
  return () => {
65
65
  controls.removeEventListener('change', callback);
66
- if (onLock) controls.addEventListener('lock', onLock);
67
- if (onUnlock) controls.addEventListener('unlock', onUnlock);
66
+ if (onLock) controls.removeEventListener('lock', onLock);
67
+ if (onUnlock) controls.removeEventListener('unlock', onUnlock);
68
68
  elements.forEach(element => element ? element.removeEventListener('click', handler) : undefined);
69
69
  };
70
70
  }, [onChange, onLock, onUnlock, selector, controls, invalidate]);
@@ -1,9 +1,9 @@
1
1
  import * as THREE from 'three';
2
2
  import * as React from 'react';
3
3
  import { ReactThreeFiber } from '@react-three/fiber';
4
- import { Line2 } from 'three-stdlib';
4
+ import { Line2, LineMaterialParameters } from 'three-stdlib';
5
5
  import { ForwardRefComponent } from '../helpers/ts-utils';
6
- type SegmentsProps = {
6
+ type SegmentsProps = LineMaterialParameters & {
7
7
  limit?: number;
8
8
  lineWidth?: number;
9
9
  children: React.ReactNode;