@react-three/fiber 8.8.11 → 8.9.1

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/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @react-three/fiber
2
2
 
3
+ ## 8.9.1
4
+
5
+ ### Patch Changes
6
+
7
+ - 0cf11797: fix(events): type spread event props
8
+
9
+ ## 8.9.0
10
+
11
+ ### Minor Changes
12
+
13
+ - a458b4dd: fix(loop): export flush methods and types
14
+
3
15
  ## 8.8.11
4
16
 
5
17
  ### Patch Changes
@@ -1,6 +1,7 @@
1
1
  import * as THREE from 'three';
2
2
  import type { UseBoundStore } from 'zustand';
3
3
  import type { RootState } from './store';
4
+ import type { Properties } from '../three-types';
4
5
  export interface Intersection extends THREE.Intersection {
5
6
  eventObject: THREE.Object3D;
6
7
  }
@@ -17,7 +18,7 @@ export interface IntersectionEvent<TSourceEvent> extends Intersection {
17
18
  stopped: boolean;
18
19
  }
19
20
  export declare type Camera = THREE.OrthographicCamera | THREE.PerspectiveCamera;
20
- export declare type ThreeEvent<TEvent> = IntersectionEvent<TEvent>;
21
+ export declare type ThreeEvent<TEvent> = IntersectionEvent<TEvent> & Properties<TEvent>;
21
22
  export declare type DomEvent = PointerEvent | MouseEvent | WheelEvent;
22
23
  export declare type Events = {
23
24
  onClick: EventListener;
@@ -5,15 +5,13 @@ import { UseBoundStore } from 'zustand';
5
5
  import * as ReactThreeFiber from '../three-types';
6
6
  import { Renderer, context, RootState, Size, Dpr, Performance, PrivateKeys } from './store';
7
7
  import { extend, Root } from './renderer';
8
- import { addEffect, addAfterEffect, addTail } from './loop';
8
+ import { addEffect, addAfterEffect, addTail, flushGlobalEffects } from './loop';
9
9
  import { EventManager, ComputeFunction } from './events';
10
10
  import { dispose, getRootState, Camera } from './utils';
11
+ import type { Properties } from '../three-types';
11
12
  declare const roots: Map<Element, Root>;
12
13
  declare const invalidate: (state?: RootState | undefined, frames?: number) => void, advance: (timestamp: number, runGlobalEffects?: boolean, state?: RootState | undefined, frame?: THREE.XRFrame | undefined) => void;
13
14
  declare const reconciler: import("react-reconciler").Reconciler<UseBoundStore<RootState, import("zustand").StoreApi<RootState>>, import("./renderer").Instance, void, import("./renderer").Instance, import("./renderer").Instance>, applyProps: typeof import("./utils").applyProps;
14
- declare type Properties<T> = Pick<T, {
15
- [K in keyof T]: T[K] extends (_: any) => any ? never : K;
16
- }[keyof T]>;
17
15
  declare type GLProps = Renderer | ((canvas: HTMLCanvasElement) => Renderer) | Partial<Properties<THREE.WebGLRenderer> | THREE.WebGLRendererParameters> | undefined;
18
16
  export declare type RenderProps<TCanvas extends Element> = {
19
17
  gl?: GLProps;
@@ -54,4 +52,4 @@ export declare type InjectState = Partial<Omit<RootState, PrivateKeys> & {
54
52
  declare function createPortal(children: React.ReactNode, container: THREE.Object3D, state?: InjectState): JSX.Element;
55
53
  declare const act: any;
56
54
  export * from './hooks';
57
- export { context, render, createRoot, unmountComponentAtNode, createPortal, reconciler, applyProps, dispose, invalidate, advance, extend, addEffect, addAfterEffect, addTail, getRootState, act, roots as _roots, };
55
+ export { context, render, createRoot, unmountComponentAtNode, createPortal, reconciler, applyProps, dispose, invalidate, advance, extend, addEffect, addAfterEffect, addTail, flushGlobalEffects, getRootState, act, roots as _roots, };
@@ -1,7 +1,7 @@
1
1
  import * as THREE from 'three';
2
2
  import { Root } from './renderer';
3
3
  import { RootState } from './store';
4
- declare type GlobalRenderCallback = (timeStamp: number) => void;
4
+ export declare type GlobalRenderCallback = (timeStamp: number) => void;
5
5
  export declare const addEffect: (callback: GlobalRenderCallback) => () => void;
6
6
  export declare const addAfterEffect: (callback: GlobalRenderCallback) => () => void;
7
7
  export declare const addTail: (callback: GlobalRenderCallback) => () => void;
@@ -12,4 +12,3 @@ export declare function createLoop<TCanvas>(roots: Map<TCanvas, Root>): {
12
12
  invalidate: (state?: RootState | undefined, frames?: number) => void;
13
13
  advance: (timestamp: number, runGlobalEffects?: boolean, state?: RootState | undefined, frame?: THREE.XRFrame | undefined) => void;
14
14
  };
15
- export {};
@@ -4,8 +4,9 @@ export { ReactThreeFiber };
4
4
  export type { BaseInstance, LocalState } from './core/renderer';
5
5
  export type { Intersection, Subscription, Dpr, Size, Viewport, RenderCallback, Performance, RootState, } from './core/store';
6
6
  export type { ThreeEvent, Events, EventManager, ComputeFunction } from './core/events';
7
+ export { createEvents } from './core/events';
7
8
  export type { ObjectMap, Camera } from './core/utils';
8
9
  export * from './web/Canvas';
9
- export { createEvents } from './core/events';
10
10
  export { createPointerEvents as events } from './web/events';
11
+ export type { GlobalRenderCallback, GlobalEffectType } from './core/loop';
11
12
  export * from './core';
@@ -4,7 +4,9 @@ export { ReactThreeFiber };
4
4
  export type { BaseInstance, LocalState } from './core/renderer';
5
5
  export type { Intersection, Subscription, Dpr, Size, Viewport, RenderCallback, Performance, RootState, } from './core/store';
6
6
  export type { ThreeEvent, Events, EventManager, ComputeFunction } from './core/events';
7
+ export { createEvents } from './core/events';
7
8
  export type { ObjectMap, Camera } from './core/utils';
8
9
  export * from './native/Canvas';
9
10
  export { createTouchEvents as events } from './native/events';
11
+ export type { GlobalRenderCallback, GlobalEffectType } from './core/loop';
10
12
  export * from './core';
@@ -2,6 +2,9 @@
2
2
  import * as THREE from 'three';
3
3
  import { EventHandlers } from './core/events';
4
4
  import { AttachType } from './core/renderer';
5
+ export declare type Properties<T> = Pick<T, {
6
+ [K in keyof T]: T[K] extends (_: any) => any ? never : K;
7
+ }[keyof T]>;
5
8
  export declare type NonFunctionKeys<T> = {
6
9
  [K in keyof T]-?: T[K] extends Function ? never : K;
7
10
  }[keyof T];
@@ -2195,6 +2195,7 @@ exports.createPortal = createPortal;
2195
2195
  exports.createRoot = createRoot;
2196
2196
  exports.dispose = dispose;
2197
2197
  exports.extend = extend;
2198
+ exports.flushGlobalEffects = flushGlobalEffects;
2198
2199
  exports.getRootState = getRootState;
2199
2200
  exports.invalidate = invalidate;
2200
2201
  exports.isRef = isRef;
@@ -2154,4 +2154,4 @@ reconciler.injectIntoDevTools({
2154
2154
  });
2155
2155
  const act = React.unstable_act;
2156
2156
 
2157
- export { useGraph as A, Block as B, useLoader as C, ErrorBoundary as E, createRoot as a, useIsomorphicLayoutEffect as b, createEvents as c, unmountComponentAtNode as d, extend as e, context as f, createPortal as g, reconciler as h, isRef as i, applyProps as j, dispose as k, invalidate as l, advance as m, addEffect as n, addAfterEffect as o, addTail as p, getRootState as q, render as r, act as s, threeTypes as t, useMutableCallback as u, roots as v, useInstanceHandle as w, useStore as x, useThree as y, useFrame as z };
2157
+ export { useFrame as A, Block as B, useGraph as C, useLoader as D, ErrorBoundary as E, createRoot as a, useIsomorphicLayoutEffect as b, createEvents as c, unmountComponentAtNode as d, extend as e, context as f, createPortal as g, reconciler as h, isRef as i, applyProps as j, dispose as k, invalidate as l, advance as m, addEffect as n, addAfterEffect as o, addTail as p, flushGlobalEffects as q, render as r, getRootState as s, threeTypes as t, useMutableCallback as u, act as v, roots as w, useInstanceHandle as x, useStore as y, useThree as z };
@@ -2195,6 +2195,7 @@ exports.createPortal = createPortal;
2195
2195
  exports.createRoot = createRoot;
2196
2196
  exports.dispose = dispose;
2197
2197
  exports.extend = extend;
2198
+ exports.flushGlobalEffects = flushGlobalEffects;
2198
2199
  exports.getRootState = getRootState;
2199
2200
  exports.invalidate = invalidate;
2200
2201
  exports.isRef = isRef;
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var index = require('./index-b97b7ffd.cjs.dev.js');
5
+ var index = require('./index-8539ced2.cjs.dev.js');
6
6
  var _extends = require('@babel/runtime/helpers/extends');
7
7
  var React = require('react');
8
8
  var THREE = require('three');
@@ -268,6 +268,7 @@ exports.createPortal = index.createPortal;
268
268
  exports.createRoot = index.createRoot;
269
269
  exports.dispose = index.dispose;
270
270
  exports.extend = index.extend;
271
+ exports.flushGlobalEffects = index.flushGlobalEffects;
271
272
  exports.getRootState = index.getRootState;
272
273
  exports.invalidate = index.invalidate;
273
274
  exports.reconciler = index.reconciler;
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var index = require('./index-4592040d.cjs.prod.js');
5
+ var index = require('./index-57cb2f85.cjs.prod.js');
6
6
  var _extends = require('@babel/runtime/helpers/extends');
7
7
  var React = require('react');
8
8
  var THREE = require('three');
@@ -268,6 +268,7 @@ exports.createPortal = index.createPortal;
268
268
  exports.createRoot = index.createRoot;
269
269
  exports.dispose = index.dispose;
270
270
  exports.extend = index.extend;
271
+ exports.flushGlobalEffects = index.flushGlobalEffects;
271
272
  exports.getRootState = index.getRootState;
272
273
  exports.invalidate = index.invalidate;
273
274
  exports.reconciler = index.reconciler;
@@ -1,5 +1,5 @@
1
- import { c as createEvents, e as extend, u as useMutableCallback, a as createRoot, i as isRef, E as ErrorBoundary, B as Block, b as useIsomorphicLayoutEffect, d as unmountComponentAtNode } from './index-b9d9a4a8.esm.js';
2
- export { t as ReactThreeFiber, v as _roots, s as act, o as addAfterEffect, n as addEffect, p as addTail, m as advance, j as applyProps, f as context, c as createEvents, g as createPortal, a as createRoot, k as dispose, e as extend, q as getRootState, l as invalidate, h as reconciler, r as render, d as unmountComponentAtNode, z as useFrame, A as useGraph, w as useInstanceHandle, C as useLoader, x as useStore, y as useThree } from './index-b9d9a4a8.esm.js';
1
+ import { c as createEvents, e as extend, u as useMutableCallback, a as createRoot, i as isRef, E as ErrorBoundary, B as Block, b as useIsomorphicLayoutEffect, d as unmountComponentAtNode } from './index-6f0019d1.esm.js';
2
+ export { t as ReactThreeFiber, w as _roots, v as act, o as addAfterEffect, n as addEffect, p as addTail, m as advance, j as applyProps, f as context, c as createEvents, g as createPortal, a as createRoot, k as dispose, e as extend, q as flushGlobalEffects, s as getRootState, l as invalidate, h as reconciler, r as render, d as unmountComponentAtNode, A as useFrame, C as useGraph, x as useInstanceHandle, D as useLoader, y as useStore, z as useThree } from './index-6f0019d1.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';
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var index = require('../../dist/index-b97b7ffd.cjs.dev.js');
5
+ var index = require('../../dist/index-8539ced2.cjs.dev.js');
6
6
  var _extends = require('@babel/runtime/helpers/extends');
7
7
  var React = require('react');
8
8
  var THREE = require('three');
@@ -402,10 +402,12 @@ exports.addTail = index.addTail;
402
402
  exports.advance = index.advance;
403
403
  exports.applyProps = index.applyProps;
404
404
  exports.context = index.context;
405
+ exports.createEvents = index.createEvents;
405
406
  exports.createPortal = index.createPortal;
406
407
  exports.createRoot = index.createRoot;
407
408
  exports.dispose = index.dispose;
408
409
  exports.extend = index.extend;
410
+ exports.flushGlobalEffects = index.flushGlobalEffects;
409
411
  exports.getRootState = index.getRootState;
410
412
  exports.invalidate = index.invalidate;
411
413
  exports.reconciler = index.reconciler;
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var index = require('../../dist/index-4592040d.cjs.prod.js');
5
+ var index = require('../../dist/index-57cb2f85.cjs.prod.js');
6
6
  var _extends = require('@babel/runtime/helpers/extends');
7
7
  var React = require('react');
8
8
  var THREE = require('three');
@@ -402,10 +402,12 @@ exports.addTail = index.addTail;
402
402
  exports.advance = index.advance;
403
403
  exports.applyProps = index.applyProps;
404
404
  exports.context = index.context;
405
+ exports.createEvents = index.createEvents;
405
406
  exports.createPortal = index.createPortal;
406
407
  exports.createRoot = index.createRoot;
407
408
  exports.dispose = index.dispose;
408
409
  exports.extend = index.extend;
410
+ exports.flushGlobalEffects = index.flushGlobalEffects;
409
411
  exports.getRootState = index.getRootState;
410
412
  exports.invalidate = index.invalidate;
411
413
  exports.reconciler = index.reconciler;
@@ -1,5 +1,5 @@
1
- import { c as createEvents, e as extend, u as useMutableCallback, a as createRoot, E as ErrorBoundary, B as Block, d as unmountComponentAtNode } from '../../dist/index-b9d9a4a8.esm.js';
2
- export { t as ReactThreeFiber, v as _roots, s as act, o as addAfterEffect, n as addEffect, p as addTail, m as advance, j as applyProps, f as context, g as createPortal, a as createRoot, k as dispose, e as extend, q as getRootState, l as invalidate, h as reconciler, r as render, d as unmountComponentAtNode, z as useFrame, A as useGraph, w as useInstanceHandle, C as useLoader, x as useStore, y as useThree } from '../../dist/index-b9d9a4a8.esm.js';
1
+ import { c as createEvents, e as extend, u as useMutableCallback, a as createRoot, E as ErrorBoundary, B as Block, d as unmountComponentAtNode } from '../../dist/index-6f0019d1.esm.js';
2
+ export { t as ReactThreeFiber, w as _roots, v as act, o as addAfterEffect, n as addEffect, p as addTail, m as advance, j as applyProps, f as context, c as createEvents, g as createPortal, a as createRoot, k as dispose, e as extend, q as flushGlobalEffects, s as getRootState, l as invalidate, h as reconciler, r as render, d as unmountComponentAtNode, A as useFrame, C as useGraph, x as useInstanceHandle, D as useLoader, y as useStore, z as useThree } from '../../dist/index-6f0019d1.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';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-three/fiber",
3
- "version": "8.8.11",
3
+ "version": "8.9.1",
4
4
  "description": "A React renderer for Threejs",
5
5
  "keywords": [
6
6
  "react",