@react-three/fiber 8.0.0-beta.3 → 8.0.0-beta.6

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.
@@ -2,17 +2,17 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var index = require('./index-05ebefd3.cjs.dev.js');
5
+ var index = require('./index-4782ba04.cjs.dev.js');
6
6
  var _extends = require('@babel/runtime/helpers/extends');
7
7
  var React = require('react');
8
8
  var THREE = require('three');
9
9
  var mergeRefs = require('react-merge-refs');
10
10
  var useMeasure = require('react-use-measure');
11
- require('suspend-react');
12
11
  require('react-reconciler/constants');
13
12
  require('zustand');
14
13
  require('react-reconciler');
15
14
  require('scheduler');
15
+ require('suspend-react');
16
16
 
17
17
  function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
18
18
 
@@ -58,7 +58,17 @@ function createPointerEvents(store) {
58
58
  handlePointer
59
59
  } = index.createEvents(store);
60
60
  return {
61
- connected: false,
61
+ priority: 1,
62
+ enabled: true,
63
+
64
+ compute(event, state, previous) {
65
+ // https://github.com/pmndrs/react-three-fiber/pull/782
66
+ // Events trigger outside of canvas when moved, use offsetX/Y by default and allow overrides
67
+ state.pointer.set(event.offsetX / state.size.width * 2 - 1, -(event.offsetY / state.size.height) * 2 + 1);
68
+ state.raycaster.setFromCamera(state.pointer, state.camera);
69
+ },
70
+
71
+ connected: undefined,
62
72
  handlers: Object.keys(DOM_EVENTS).reduce((acc, key) => ({ ...acc,
63
73
  [key]: handlePointer(key)
64
74
  }), {}),
@@ -99,7 +109,7 @@ function createPointerEvents(store) {
99
109
  });
100
110
  set(state => ({
101
111
  events: { ...state.events,
102
- connected: false
112
+ connected: undefined
103
113
  }
104
114
  }));
105
115
  }
@@ -153,6 +163,7 @@ const Canvas = /*#__PURE__*/React__namespace.forwardRef(function Canvas({
153
163
  // This will include the entire THREE namespace by default, users can extend
154
164
  // their own elements by using the createRoot API instead
155
165
  React__namespace.useMemo(() => index.extend(THREE__namespace), []);
166
+ const onPointerMissed = index.useMemoizedFn(props.onPointerMissed);
156
167
  const [containerRef, {
157
168
  width,
158
169
  height
@@ -166,8 +177,12 @@ const Canvas = /*#__PURE__*/React__namespace.forwardRef(function Canvas({
166
177
  });
167
178
  const canvasRef = React__namespace.useRef(null);
168
179
  const [canvas, setCanvas] = React__namespace.useState(null);
169
- const canvasProps = index.pick(props, CANVAS_PROPS);
170
- const divProps = index.omit(props, CANVAS_PROPS);
180
+ const canvasProps = index.pick({ ...props,
181
+ onPointerMissed
182
+ }, CANVAS_PROPS);
183
+ const divProps = index.omit({ ...props,
184
+ onPointerMissed
185
+ }, CANVAS_PROPS);
171
186
  const [block, setBlock] = React__namespace.useState(false);
172
187
  const [error, setError] = React__namespace.useState(false); // Suspend this component if block is a promise (2nd run)
173
188
 
@@ -230,6 +245,7 @@ exports.createPortal = index.createPortal;
230
245
  exports.createRoot = index.createRoot;
231
246
  exports.dispose = index.dispose;
232
247
  exports.extend = index.extend;
248
+ exports.getRootState = index.getRootState;
233
249
  exports.invalidate = index.invalidate;
234
250
  exports.reconciler = index.reconciler;
235
251
  exports.render = index.render;
@@ -237,6 +253,7 @@ exports.unmountComponentAtNode = index.unmountComponentAtNode;
237
253
  exports.useFrame = index.useFrame;
238
254
  exports.useGraph = index.useGraph;
239
255
  exports.useLoader = index.useLoader;
256
+ exports.useMemoizedFn = index.useMemoizedFn;
240
257
  exports.useStore = index.useStore;
241
258
  exports.useThree = index.useThree;
242
259
  exports.Canvas = Canvas;
@@ -2,17 +2,17 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var index = require('./index-85b2df17.cjs.prod.js');
5
+ var index = require('./index-45f5b2a2.cjs.prod.js');
6
6
  var _extends = require('@babel/runtime/helpers/extends');
7
7
  var React = require('react');
8
8
  var THREE = require('three');
9
9
  var mergeRefs = require('react-merge-refs');
10
10
  var useMeasure = require('react-use-measure');
11
- require('suspend-react');
12
11
  require('react-reconciler/constants');
13
12
  require('zustand');
14
13
  require('react-reconciler');
15
14
  require('scheduler');
15
+ require('suspend-react');
16
16
 
17
17
  function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
18
18
 
@@ -58,7 +58,17 @@ function createPointerEvents(store) {
58
58
  handlePointer
59
59
  } = index.createEvents(store);
60
60
  return {
61
- connected: false,
61
+ priority: 1,
62
+ enabled: true,
63
+
64
+ compute(event, state, previous) {
65
+ // https://github.com/pmndrs/react-three-fiber/pull/782
66
+ // Events trigger outside of canvas when moved, use offsetX/Y by default and allow overrides
67
+ state.pointer.set(event.offsetX / state.size.width * 2 - 1, -(event.offsetY / state.size.height) * 2 + 1);
68
+ state.raycaster.setFromCamera(state.pointer, state.camera);
69
+ },
70
+
71
+ connected: undefined,
62
72
  handlers: Object.keys(DOM_EVENTS).reduce((acc, key) => ({ ...acc,
63
73
  [key]: handlePointer(key)
64
74
  }), {}),
@@ -99,7 +109,7 @@ function createPointerEvents(store) {
99
109
  });
100
110
  set(state => ({
101
111
  events: { ...state.events,
102
- connected: false
112
+ connected: undefined
103
113
  }
104
114
  }));
105
115
  }
@@ -153,6 +163,7 @@ const Canvas = /*#__PURE__*/React__namespace.forwardRef(function Canvas({
153
163
  // This will include the entire THREE namespace by default, users can extend
154
164
  // their own elements by using the createRoot API instead
155
165
  React__namespace.useMemo(() => index.extend(THREE__namespace), []);
166
+ const onPointerMissed = index.useMemoizedFn(props.onPointerMissed);
156
167
  const [containerRef, {
157
168
  width,
158
169
  height
@@ -166,8 +177,12 @@ const Canvas = /*#__PURE__*/React__namespace.forwardRef(function Canvas({
166
177
  });
167
178
  const canvasRef = React__namespace.useRef(null);
168
179
  const [canvas, setCanvas] = React__namespace.useState(null);
169
- const canvasProps = index.pick(props, CANVAS_PROPS);
170
- const divProps = index.omit(props, CANVAS_PROPS);
180
+ const canvasProps = index.pick({ ...props,
181
+ onPointerMissed
182
+ }, CANVAS_PROPS);
183
+ const divProps = index.omit({ ...props,
184
+ onPointerMissed
185
+ }, CANVAS_PROPS);
171
186
  const [block, setBlock] = React__namespace.useState(false);
172
187
  const [error, setError] = React__namespace.useState(false); // Suspend this component if block is a promise (2nd run)
173
188
 
@@ -230,6 +245,7 @@ exports.createPortal = index.createPortal;
230
245
  exports.createRoot = index.createRoot;
231
246
  exports.dispose = index.dispose;
232
247
  exports.extend = index.extend;
248
+ exports.getRootState = index.getRootState;
233
249
  exports.invalidate = index.invalidate;
234
250
  exports.reconciler = index.reconciler;
235
251
  exports.render = index.render;
@@ -237,6 +253,7 @@ exports.unmountComponentAtNode = index.unmountComponentAtNode;
237
253
  exports.useFrame = index.useFrame;
238
254
  exports.useGraph = index.useGraph;
239
255
  exports.useLoader = index.useLoader;
256
+ exports.useMemoizedFn = index.useMemoizedFn;
240
257
  exports.useStore = index.useStore;
241
258
  exports.useThree = index.useThree;
242
259
  exports.Canvas = Canvas;
@@ -1,15 +1,15 @@
1
- import { c as createEvents, e as extend, p as pick, o as omit, a as createRoot, u as unmountComponentAtNode } from './index-e78dd2f0.esm.js';
2
- export { t as ReactThreeFiber, q as _roots, n as act, l as addAfterEffect, k as addEffect, m as addTail, j as advance, g as applyProps, b as context, d as createPortal, a as createRoot, h as dispose, e as extend, i as invalidate, f as reconciler, r as render, u as unmountComponentAtNode, w as useFrame, x as useGraph, y as useLoader, s as useStore, v as useThree } from './index-e78dd2f0.esm.js';
1
+ import { c as createEvents, e as extend, u as useMemoizedFn, p as pick, o as omit, a as createRoot, b as unmountComponentAtNode } from './index-74b1fd6b.esm.js';
2
+ export { t as ReactThreeFiber, v as _roots, s as act, m as addAfterEffect, l as addEffect, n as addTail, k as advance, h as applyProps, d as context, f as createPortal, a as createRoot, i as dispose, e as extend, q as getRootState, j as invalidate, g as reconciler, r as render, b as unmountComponentAtNode, y as useFrame, z as useGraph, A as useLoader, u as useMemoizedFn, w as useStore, x as useThree } from './index-74b1fd6b.esm.js';
3
3
  import _extends from '@babel/runtime/helpers/esm/extends';
4
4
  import * as React from 'react';
5
5
  import * as THREE from 'three';
6
6
  import mergeRefs from 'react-merge-refs';
7
7
  import useMeasure from 'react-use-measure';
8
- import 'suspend-react';
9
8
  import 'react-reconciler/constants';
10
9
  import 'zustand';
11
10
  import 'react-reconciler';
12
11
  import 'scheduler';
12
+ import 'suspend-react';
13
13
 
14
14
  const DOM_EVENTS = {
15
15
  onClick: ['click', false],
@@ -28,7 +28,17 @@ function createPointerEvents(store) {
28
28
  handlePointer
29
29
  } = createEvents(store);
30
30
  return {
31
- connected: false,
31
+ priority: 1,
32
+ enabled: true,
33
+
34
+ compute(event, state, previous) {
35
+ // https://github.com/pmndrs/react-three-fiber/pull/782
36
+ // Events trigger outside of canvas when moved, use offsetX/Y by default and allow overrides
37
+ state.pointer.set(event.offsetX / state.size.width * 2 - 1, -(event.offsetY / state.size.height) * 2 + 1);
38
+ state.raycaster.setFromCamera(state.pointer, state.camera);
39
+ },
40
+
41
+ connected: undefined,
32
42
  handlers: Object.keys(DOM_EVENTS).reduce((acc, key) => ({ ...acc,
33
43
  [key]: handlePointer(key)
34
44
  }), {}),
@@ -69,7 +79,7 @@ function createPointerEvents(store) {
69
79
  });
70
80
  set(state => ({
71
81
  events: { ...state.events,
72
- connected: false
82
+ connected: undefined
73
83
  }
74
84
  }));
75
85
  }
@@ -123,6 +133,7 @@ const Canvas = /*#__PURE__*/React.forwardRef(function Canvas({
123
133
  // This will include the entire THREE namespace by default, users can extend
124
134
  // their own elements by using the createRoot API instead
125
135
  React.useMemo(() => extend(THREE), []);
136
+ const onPointerMissed = useMemoizedFn(props.onPointerMissed);
126
137
  const [containerRef, {
127
138
  width,
128
139
  height
@@ -136,8 +147,12 @@ const Canvas = /*#__PURE__*/React.forwardRef(function Canvas({
136
147
  });
137
148
  const canvasRef = React.useRef(null);
138
149
  const [canvas, setCanvas] = React.useState(null);
139
- const canvasProps = pick(props, CANVAS_PROPS);
140
- const divProps = omit(props, CANVAS_PROPS);
150
+ const canvasProps = pick({ ...props,
151
+ onPointerMissed
152
+ }, CANVAS_PROPS);
153
+ const divProps = omit({ ...props,
154
+ onPointerMissed
155
+ }, CANVAS_PROPS);
141
156
  const [block, setBlock] = React.useState(false);
142
157
  const [error, setError] = React.useState(false); // Suspend this component if block is a promise (2nd run)
143
158
 
@@ -4,17 +4,17 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var THREE = require('three');
6
6
  var expoAsset = require('expo-asset');
7
- var index = require('../../dist/index-05ebefd3.cjs.dev.js');
7
+ var index = require('../../dist/index-4782ba04.cjs.dev.js');
8
8
  var _extends = require('@babel/runtime/helpers/extends');
9
9
  var React = require('react');
10
10
  var reactNative = require('react-native');
11
11
  var expoGl = require('expo-gl');
12
12
  var Pressability = require('react-native/Libraries/Pressability/Pressability');
13
- require('suspend-react');
14
13
  require('react-reconciler/constants');
15
14
  require('zustand');
16
15
  require('react-reconciler');
17
16
  require('scheduler');
17
+ require('suspend-react');
18
18
 
19
19
  function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
20
20
 
@@ -76,7 +76,17 @@ function createTouchEvents(store) {
76
76
  };
77
77
 
78
78
  return {
79
- connected: false,
79
+ priority: 1,
80
+ enabled: true,
81
+
82
+ compute(event, state, previous) {
83
+ // https://github.com/pmndrs/react-three-fiber/pull/782
84
+ // Events trigger outside of canvas when moved, use offsetX/Y by default and allow overrides
85
+ state.pointer.set(event.offsetX / state.size.width * 2 - 1, -(event.offsetY / state.size.height) * 2 + 1);
86
+ state.raycaster.setFromCamera(state.pointer, state.camera);
87
+ },
88
+
89
+ connected: undefined,
80
90
  handlers: Object.values(EVENTS).reduce((acc, name) => ({ ...acc,
81
91
  [name]: event => handleTouch(event, name)
82
92
  }), {}),
@@ -105,7 +115,7 @@ function createTouchEvents(store) {
105
115
  events.connected.reset();
106
116
  set(state => ({
107
117
  events: { ...state.events,
108
- connected: false
118
+ connected: undefined
109
119
  }
110
120
  }));
111
121
  }
@@ -158,6 +168,7 @@ const Canvas = /*#__PURE__*/React__namespace.forwardRef(({
158
168
  // This will include the entire THREE namespace by default, users can extend
159
169
  // their own elements by using the createRoot API instead
160
170
  React__namespace.useMemo(() => index.extend(THREE__namespace), []);
171
+ const onPointerMissed = index.useMemoizedFn(props.onPointerMissed);
161
172
  const [{
162
173
  width,
163
174
  height
@@ -167,8 +178,12 @@ const Canvas = /*#__PURE__*/React__namespace.forwardRef(({
167
178
  });
168
179
  const [canvas, setCanvas] = React__namespace.useState(null);
169
180
  const [bind, setBind] = React__namespace.useState();
170
- const canvasProps = index.pick(props, CANVAS_PROPS);
171
- const viewProps = index.omit(props, CANVAS_PROPS);
181
+ const canvasProps = index.pick({ ...props,
182
+ onPointerMissed
183
+ }, CANVAS_PROPS);
184
+ const viewProps = index.omit({ ...props,
185
+ onPointerMissed
186
+ }, CANVAS_PROPS);
172
187
  const [block, setBlock] = React__namespace.useState(false);
173
188
  const [error, setError] = React__namespace.useState(false); // Suspend this component if block is a promise (2nd run)
174
189
 
@@ -280,7 +295,7 @@ THREE__namespace.LoaderUtils.extractUrlBase = url => typeof url === 'string' ? e
280
295
 
281
296
 
282
297
  THREE__namespace.TextureLoader.prototype.load = function load(url, onLoad, onProgress, onError) {
283
- const texture = new THREE__namespace.Texture(); // @ts-expect-error
298
+ const texture = new THREE__namespace.Texture(); // @ts-ignore
284
299
 
285
300
  texture.isDataTexture = true;
286
301
  getAsset(url).downloadAsync().then(asset => {
@@ -350,6 +365,7 @@ exports.createPortal = index.createPortal;
350
365
  exports.createRoot = index.createRoot;
351
366
  exports.dispose = index.dispose;
352
367
  exports.extend = index.extend;
368
+ exports.getRootState = index.getRootState;
353
369
  exports.invalidate = index.invalidate;
354
370
  exports.reconciler = index.reconciler;
355
371
  exports.render = index.render;
@@ -357,6 +373,7 @@ exports.unmountComponentAtNode = index.unmountComponentAtNode;
357
373
  exports.useFrame = index.useFrame;
358
374
  exports.useGraph = index.useGraph;
359
375
  exports.useLoader = index.useLoader;
376
+ exports.useMemoizedFn = index.useMemoizedFn;
360
377
  exports.useStore = index.useStore;
361
378
  exports.useThree = index.useThree;
362
379
  exports.Canvas = Canvas;
@@ -4,17 +4,17 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var THREE = require('three');
6
6
  var expoAsset = require('expo-asset');
7
- var index = require('../../dist/index-85b2df17.cjs.prod.js');
7
+ var index = require('../../dist/index-45f5b2a2.cjs.prod.js');
8
8
  var _extends = require('@babel/runtime/helpers/extends');
9
9
  var React = require('react');
10
10
  var reactNative = require('react-native');
11
11
  var expoGl = require('expo-gl');
12
12
  var Pressability = require('react-native/Libraries/Pressability/Pressability');
13
- require('suspend-react');
14
13
  require('react-reconciler/constants');
15
14
  require('zustand');
16
15
  require('react-reconciler');
17
16
  require('scheduler');
17
+ require('suspend-react');
18
18
 
19
19
  function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
20
20
 
@@ -76,7 +76,17 @@ function createTouchEvents(store) {
76
76
  };
77
77
 
78
78
  return {
79
- connected: false,
79
+ priority: 1,
80
+ enabled: true,
81
+
82
+ compute(event, state, previous) {
83
+ // https://github.com/pmndrs/react-three-fiber/pull/782
84
+ // Events trigger outside of canvas when moved, use offsetX/Y by default and allow overrides
85
+ state.pointer.set(event.offsetX / state.size.width * 2 - 1, -(event.offsetY / state.size.height) * 2 + 1);
86
+ state.raycaster.setFromCamera(state.pointer, state.camera);
87
+ },
88
+
89
+ connected: undefined,
80
90
  handlers: Object.values(EVENTS).reduce((acc, name) => ({ ...acc,
81
91
  [name]: event => handleTouch(event, name)
82
92
  }), {}),
@@ -105,7 +115,7 @@ function createTouchEvents(store) {
105
115
  events.connected.reset();
106
116
  set(state => ({
107
117
  events: { ...state.events,
108
- connected: false
118
+ connected: undefined
109
119
  }
110
120
  }));
111
121
  }
@@ -158,6 +168,7 @@ const Canvas = /*#__PURE__*/React__namespace.forwardRef(({
158
168
  // This will include the entire THREE namespace by default, users can extend
159
169
  // their own elements by using the createRoot API instead
160
170
  React__namespace.useMemo(() => index.extend(THREE__namespace), []);
171
+ const onPointerMissed = index.useMemoizedFn(props.onPointerMissed);
161
172
  const [{
162
173
  width,
163
174
  height
@@ -167,8 +178,12 @@ const Canvas = /*#__PURE__*/React__namespace.forwardRef(({
167
178
  });
168
179
  const [canvas, setCanvas] = React__namespace.useState(null);
169
180
  const [bind, setBind] = React__namespace.useState();
170
- const canvasProps = index.pick(props, CANVAS_PROPS);
171
- const viewProps = index.omit(props, CANVAS_PROPS);
181
+ const canvasProps = index.pick({ ...props,
182
+ onPointerMissed
183
+ }, CANVAS_PROPS);
184
+ const viewProps = index.omit({ ...props,
185
+ onPointerMissed
186
+ }, CANVAS_PROPS);
172
187
  const [block, setBlock] = React__namespace.useState(false);
173
188
  const [error, setError] = React__namespace.useState(false); // Suspend this component if block is a promise (2nd run)
174
189
 
@@ -280,7 +295,7 @@ THREE__namespace.LoaderUtils.extractUrlBase = url => typeof url === 'string' ? e
280
295
 
281
296
 
282
297
  THREE__namespace.TextureLoader.prototype.load = function load(url, onLoad, onProgress, onError) {
283
- const texture = new THREE__namespace.Texture(); // @ts-expect-error
298
+ const texture = new THREE__namespace.Texture(); // @ts-ignore
284
299
 
285
300
  texture.isDataTexture = true;
286
301
  getAsset(url).downloadAsync().then(asset => {
@@ -350,6 +365,7 @@ exports.createPortal = index.createPortal;
350
365
  exports.createRoot = index.createRoot;
351
366
  exports.dispose = index.dispose;
352
367
  exports.extend = index.extend;
368
+ exports.getRootState = index.getRootState;
353
369
  exports.invalidate = index.invalidate;
354
370
  exports.reconciler = index.reconciler;
355
371
  exports.render = index.render;
@@ -357,6 +373,7 @@ exports.unmountComponentAtNode = index.unmountComponentAtNode;
357
373
  exports.useFrame = index.useFrame;
358
374
  exports.useGraph = index.useGraph;
359
375
  exports.useLoader = index.useLoader;
376
+ exports.useMemoizedFn = index.useMemoizedFn;
360
377
  exports.useStore = index.useStore;
361
378
  exports.useThree = index.useThree;
362
379
  exports.Canvas = Canvas;
@@ -1,17 +1,17 @@
1
1
  import * as THREE from 'three';
2
2
  import { Asset } from 'expo-asset';
3
- import { c as createEvents, e as extend, p as pick, o as omit, a as createRoot, u as unmountComponentAtNode } from '../../dist/index-e78dd2f0.esm.js';
4
- export { t as ReactThreeFiber, q as _roots, n as act, l as addAfterEffect, k as addEffect, m as addTail, j as advance, g as applyProps, b as context, d as createPortal, a as createRoot, h as dispose, e as extend, i as invalidate, f as reconciler, r as render, u as unmountComponentAtNode, w as useFrame, x as useGraph, y as useLoader, s as useStore, v as useThree } from '../../dist/index-e78dd2f0.esm.js';
3
+ import { c as createEvents, e as extend, u as useMemoizedFn, p as pick, o as omit, a as createRoot, b as unmountComponentAtNode } from '../../dist/index-74b1fd6b.esm.js';
4
+ export { t as ReactThreeFiber, v as _roots, s as act, m as addAfterEffect, l as addEffect, n as addTail, k as advance, h as applyProps, d as context, f as createPortal, a as createRoot, i as dispose, e as extend, q as getRootState, j as invalidate, g as reconciler, r as render, b as unmountComponentAtNode, y as useFrame, z as useGraph, A as useLoader, u as useMemoizedFn, w as useStore, x as useThree } from '../../dist/index-74b1fd6b.esm.js';
5
5
  import _extends from '@babel/runtime/helpers/esm/extends';
6
6
  import * as React from 'react';
7
7
  import { PixelRatio, View, StyleSheet } from 'react-native';
8
8
  import { GLView } from 'expo-gl';
9
9
  import Pressability from 'react-native/Libraries/Pressability/Pressability';
10
- import 'suspend-react';
11
10
  import 'react-reconciler/constants';
12
11
  import 'zustand';
13
12
  import 'react-reconciler';
14
13
  import 'scheduler';
14
+ import 'suspend-react';
15
15
 
16
16
  const EVENTS = {
17
17
  PRESS: 'onPress',
@@ -47,7 +47,17 @@ function createTouchEvents(store) {
47
47
  };
48
48
 
49
49
  return {
50
- connected: false,
50
+ priority: 1,
51
+ enabled: true,
52
+
53
+ compute(event, state, previous) {
54
+ // https://github.com/pmndrs/react-three-fiber/pull/782
55
+ // Events trigger outside of canvas when moved, use offsetX/Y by default and allow overrides
56
+ state.pointer.set(event.offsetX / state.size.width * 2 - 1, -(event.offsetY / state.size.height) * 2 + 1);
57
+ state.raycaster.setFromCamera(state.pointer, state.camera);
58
+ },
59
+
60
+ connected: undefined,
51
61
  handlers: Object.values(EVENTS).reduce((acc, name) => ({ ...acc,
52
62
  [name]: event => handleTouch(event, name)
53
63
  }), {}),
@@ -76,7 +86,7 @@ function createTouchEvents(store) {
76
86
  events.connected.reset();
77
87
  set(state => ({
78
88
  events: { ...state.events,
79
- connected: false
89
+ connected: undefined
80
90
  }
81
91
  }));
82
92
  }
@@ -129,6 +139,7 @@ const Canvas = /*#__PURE__*/React.forwardRef(({
129
139
  // This will include the entire THREE namespace by default, users can extend
130
140
  // their own elements by using the createRoot API instead
131
141
  React.useMemo(() => extend(THREE), []);
142
+ const onPointerMissed = useMemoizedFn(props.onPointerMissed);
132
143
  const [{
133
144
  width,
134
145
  height
@@ -138,8 +149,12 @@ const Canvas = /*#__PURE__*/React.forwardRef(({
138
149
  });
139
150
  const [canvas, setCanvas] = React.useState(null);
140
151
  const [bind, setBind] = React.useState();
141
- const canvasProps = pick(props, CANVAS_PROPS);
142
- const viewProps = omit(props, CANVAS_PROPS);
152
+ const canvasProps = pick({ ...props,
153
+ onPointerMissed
154
+ }, CANVAS_PROPS);
155
+ const viewProps = omit({ ...props,
156
+ onPointerMissed
157
+ }, CANVAS_PROPS);
143
158
  const [block, setBlock] = React.useState(false);
144
159
  const [error, setError] = React.useState(false); // Suspend this component if block is a promise (2nd run)
145
160
 
@@ -251,7 +266,7 @@ THREE.LoaderUtils.extractUrlBase = url => typeof url === 'string' ? extractUrlBa
251
266
 
252
267
 
253
268
  THREE.TextureLoader.prototype.load = function load(url, onLoad, onProgress, onError) {
254
- const texture = new THREE.Texture(); // @ts-expect-error
269
+ const texture = new THREE.Texture(); // @ts-ignore
255
270
 
256
271
  texture.isDataTexture = true;
257
272
  getAsset(url).downloadAsync().then(asset => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-three/fiber",
3
- "version": "8.0.0-beta.3",
3
+ "version": "8.0.0-beta.6",
4
4
  "description": "A React renderer for Threejs",
5
5
  "keywords": [
6
6
  "react",
@@ -43,6 +43,7 @@
43
43
  },
44
44
  "dependencies": {
45
45
  "@babel/runtime": "^7.17.2",
46
+ "@types/react-reconciler": "^0.26.4",
46
47
  "react-merge-refs": "^1.1.0",
47
48
  "react-reconciler": "^0.27.0-rc.2",
48
49
  "react-use-measure": "^2.1.1",
@@ -57,7 +58,7 @@
57
58
  "react": ">=18.0",
58
59
  "react-dom": ">=18.0",
59
60
  "react-native": ">=0.64",
60
- "three": ">=0.133"
61
+ "three": ">=0.139"
61
62
  },
62
63
  "peerDependenciesMeta": {
63
64
  "react-dom": {