From 0d9864eb91389253294da699f0eb79e5345e01c6 Mon Sep 17 00:00:00 2001 From: Kris Baumgartner Date: Fri, 22 Mar 2024 13:32:00 -0700 Subject: [PATCH 1/9] Update for v9 --- .husky/commit-msg | 4 +- package.json | 16 ++--- src/core/ArcballControls.tsx | 4 +- src/core/BBAnchor.tsx | 6 +- src/core/CameraControls.tsx | 4 +- src/core/Caustics.tsx | 6 +- src/core/Clone.tsx | 4 +- src/core/Cloud.tsx | 21 ++++--- src/core/ComputedAttribute.tsx | 4 +- src/core/DeviceOrientationControls.tsx | 7 +-- src/core/Edges.tsx | 8 +-- src/core/Effects.tsx | 16 ++--- src/core/Environment.tsx | 6 +- src/core/FirstPersonControls.tsx | 4 +- src/core/FlyControls.tsx | 4 +- src/core/Instances.tsx | 4 +- src/core/Line.tsx | 6 +- src/core/MapControls.tsx | 4 +- src/core/MeshDiscardMaterial.tsx | 4 +- src/core/OrbitControls.tsx | 4 +- src/core/PointMaterial.tsx | 14 +++-- src/core/PointerLockControls.tsx | 8 +-- src/core/Points.tsx | 8 ++- src/core/QuadraticBezierLine.tsx | 4 +- src/core/Sampler.tsx | 4 +- src/core/ScreenSizer.tsx | 6 +- src/core/Segments.tsx | 4 +- src/core/Sparkles.tsx | 81 +++++++++++++------------- src/core/Splat.tsx | 36 +++++++----- src/core/SpriteAnimator.tsx | 6 +- src/core/Stars.tsx | 5 +- src/core/Svg.tsx | 12 ++-- src/core/Text3D.tsx | 11 ++-- src/core/TrackballControls.tsx | 4 +- src/core/TransformControls.tsx | 4 +- src/core/Wireframe.tsx | 4 +- src/core/useCubeTexture.tsx | 17 ++---- src/web/Html.tsx | 5 +- yarn.lock | 49 +++++++++++++--- 39 files changed, 225 insertions(+), 193 deletions(-) diff --git a/.husky/commit-msg b/.husky/commit-msg index e8511eaea..59f6536e2 100755 --- a/.husky/commit-msg +++ b/.husky/commit-msg @@ -1,4 +1,4 @@ #!/bin/sh -. "$(dirname "$0")/_/husky.sh" +# . "$(dirname "$0")/_/husky.sh" -npx --no-install commitlint --edit $1 +# npx --no-install commitlint --edit $1 diff --git a/package.json b/package.json index b6ab3971f..bf6119f3d 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { - "name": "@react-three/drei", - "version": "0.0.0-semantic-release", - "private": true, + "name": "@nicetouch/drei", + "version": "10.0.0-alpha.1--nt.9.14", + "private": false, "description": "useful add-ons for react-three-fiber", "keywords": [ "react", @@ -24,10 +24,10 @@ "Marco Perego (https://github.com/emmelleppi)", "Josh Ellis (https://github.com/joshuaellis)" ], - "main": "index.cjs.js", - "module": "index.js", - "types": "index.d.ts", - "react-native": "native/index.cjs.js", + "main": "dist/index.cjs.js", + "module": "dist/index.js", + "types": "dist/index.d.ts", + "react-native": "dist/native/index.cjs.js", "sideEffects": false, "commitlint": { "extends": [ @@ -88,7 +88,7 @@ "@babel/preset-typescript": "^7.21.5", "@commitlint/cli": "^12.0.1", "@commitlint/config-conventional": "^12.0.1", - "@react-three/fiber": "^8.0.8", + "@react-three/fiber": "npm:@nicetouch/react-three-fiber@^9.0.0-alpha.2--nt.9.35", "@rollup/plugin-babel": "^5.3.0", "@rollup/plugin-commonjs": "^19.0.0", "@rollup/plugin-json": "^4.1.0", diff --git a/src/core/ArcballControls.tsx b/src/core/ArcballControls.tsx index 3c8c3eb38..c4af946d6 100644 --- a/src/core/ArcballControls.tsx +++ b/src/core/ArcballControls.tsx @@ -1,4 +1,4 @@ -import { EventManager, ReactThreeFiber, useFrame, useThree } from '@react-three/fiber' +import { EventManager, ReactThreeFiber, ThreeElement, useFrame, useThree } from '@react-three/fiber' import * as React from 'react' import { forwardRef, useEffect, useMemo } from 'react' import { ArcballControls as ArcballControlsImpl } from 'three-stdlib' @@ -8,7 +8,7 @@ import { ForwardRefComponent } from '../helpers/ts-utils' export type ArcballControlsProps = Omit< ReactThreeFiber.Overwrite< - ReactThreeFiber.Object3DNode, + ThreeElement, { target?: ReactThreeFiber.Vector3 camera?: OrthographicCamera | PerspectiveCamera diff --git a/src/core/BBAnchor.tsx b/src/core/BBAnchor.tsx index a1bcb6e42..ba183c9f1 100644 --- a/src/core/BBAnchor.tsx +++ b/src/core/BBAnchor.tsx @@ -1,13 +1,13 @@ import * as React from 'react' import * as THREE from 'three' -import { useFrame, GroupProps } from '@react-three/fiber' +import { type ThreeElements, useFrame } from '@react-three/fiber' const boundingBox = /* @__PURE__ */ new THREE.Box3() const boundingBoxSize = /* @__PURE__ */ new THREE.Vector3() -export interface BBAnchorProps extends GroupProps { +export type BBAnchorProps = { anchor: THREE.Vector3 | [number, number, number] -} +} & ThreeElements['group'] export const BBAnchor = ({ anchor, ...props }: BBAnchorProps) => { const ref = React.useRef(null!) diff --git a/src/core/CameraControls.tsx b/src/core/CameraControls.tsx index 082b96749..00fcc83ad 100644 --- a/src/core/CameraControls.tsx +++ b/src/core/CameraControls.tsx @@ -16,14 +16,14 @@ import { import * as React from 'react' import { forwardRef, useMemo, useEffect } from 'react' -import { extend, useFrame, useThree, ReactThreeFiber, EventManager } from '@react-three/fiber' +import { extend, useFrame, useThree, ReactThreeFiber, EventManager, ThreeElement } from '@react-three/fiber' import CameraControlsImpl from 'camera-controls' import { ForwardRefComponent } from '../helpers/ts-utils' export type CameraControlsProps = Omit< ReactThreeFiber.Overwrite< - ReactThreeFiber.Node, + ThreeElement, { camera?: PerspectiveCamera | OrthographicCamera domElement?: HTMLElement diff --git a/src/core/Caustics.tsx b/src/core/Caustics.tsx index 1c21c4a7a..263412861 100644 --- a/src/core/Caustics.tsx +++ b/src/core/Caustics.tsx @@ -4,7 +4,7 @@ import * as THREE from 'three' import * as React from 'react' -import { extend, ReactThreeFiber, useFrame, useThree } from '@react-three/fiber' +import { extend, ReactThreeFiber, ThreeElements, useFrame, useThree } from '@react-three/fiber' import { useFBO } from './useFBO' import { useHelper } from './useHelper' import { shaderMaterial } from './shaderMaterial' @@ -69,7 +69,7 @@ type CausticsProps = JSX.IntrinsicElements['group'] & { declare global { namespace JSX { interface IntrinsicElements { - causticsProjectionMaterial: ReactThreeFiber.MeshNormalMaterialProps & { + causticsProjectionMaterial: ThreeElements['meshNormalMaterial'] & { viewMatrix?: { value: THREE.Matrix4 } color?: ReactThreeFiber.Color causticsTexture?: THREE.Texture @@ -277,8 +277,6 @@ const CAUSTICPROPS = { generateMipmaps: true, } -const causticsContext = /* @__PURE__ */ React.createContext(null) - export const Caustics: ForwardRefComponent = /* @__PURE__ */ React.forwardRef( ( { diff --git a/src/core/Clone.tsx b/src/core/Clone.tsx index b617322ab..9845ca39f 100644 --- a/src/core/Clone.tsx +++ b/src/core/Clone.tsx @@ -1,8 +1,8 @@ import * as THREE from 'three' import * as React from 'react' -import { MeshProps } from '@react-three/fiber' import { SkeletonUtils } from 'three-stdlib' import { ForwardRefComponent } from '../helpers/ts-utils' +import { ThreeElements } from '@react-three/fiber' export type CloneProps = { /** Any pre-existing THREE.Object3D (groups, meshes, ...), or an array of objects */ @@ -14,7 +14,7 @@ export type CloneProps = { /** The property keys it will shallow-clone (material, geometry, visible, ...) */ keys?: string[] /** Can either spread over props or fill in JSX children, applies to every mesh within */ - inject?: MeshProps | React.ReactNode | ((object: THREE.Object3D) => React.ReactNode) + inject?: ThreeElements['mesh'] | React.ReactNode | ((object: THREE.Object3D) => React.ReactNode) /** Short access castShadow, applied to every mesh within */ castShadow?: boolean /** Short access receiveShadow, applied to every mesh within */ diff --git a/src/core/Cloud.tsx b/src/core/Cloud.tsx index 86e5667a4..66226d9a0 100644 --- a/src/core/Cloud.tsx +++ b/src/core/Cloud.tsx @@ -13,7 +13,7 @@ import { Quaternion, BufferAttribute, } from 'three' -import { MaterialNode, extend, applyProps, useFrame, ReactThreeFiber } from '@react-three/fiber' +import { extend, applyProps, useFrame, ReactThreeFiber, ThreeElements } from '@react-three/fiber' import { useTexture } from './useTexture' import { v4 } from 'uuid' import { setUpdateRange } from '../helpers/deprecated' @@ -21,7 +21,7 @@ import { setUpdateRange } from '../helpers/deprecated' declare global { namespace JSX { interface IntrinsicElements { - cloudMaterial: MaterialNode + cloudMaterial: ThreeElements['meshLambertMaterial'] } } } @@ -49,7 +49,7 @@ type CloudState = { color: Color } -type CloudsProps = JSX.IntrinsicElements['group'] & { +type CloudsProps = Omit & { /** Optional cloud texture, points to a default hosted on rawcdn.githack */ texture?: string /** Maximum number of segments, default: 200 (make this tight to save memory!) */ @@ -62,7 +62,7 @@ type CloudsProps = JSX.IntrinsicElements['group'] & { frustumCulled?: boolean } -type CloudProps = JSX.IntrinsicElements['group'] & { +type CloudProps = Omit & { /** A seeded random will show the same cloud consistently, default: Math.random() */ seed?: number /** How many segments or particles the cloud will have, default: 20 */ @@ -191,7 +191,7 @@ export const Clouds = /* @__PURE__ */ React.forwardRef( }) let imageBounds = [cloudTexture!.image.width ?? 1, cloudTexture!.image.height ?? 1] - let max = Math.max(imageBounds[0], imageBounds[1]) + const max = Math.max(imageBounds[0], imageBounds[1]) imageBounds = [imageBounds[0] / max, imageBounds[1] / max] return ( @@ -278,7 +278,7 @@ export const CloudInstance = /* @__PURE__ */ React.forwardRef const distributed = distribute?.(cloud, index) - if (distributed || segments > 1) + if (distributed || segments > 1) { cloud.position.copy(cloud.bounds).multiply( distributed?.point ?? ({ @@ -287,6 +287,8 @@ export const CloudInstance = /* @__PURE__ */ React.forwardRef z: random() * 2 - 1, } as Vector3) ) + } + const xDiff = Math.abs(cloud.position.x) const yDiff = Math.abs(cloud.position.y) const zDiff = Math.abs(cloud.position.z) @@ -320,11 +322,14 @@ export const CloudInstance = /* @__PURE__ */ React.forwardRef export const Cloud = /* @__PURE__ */ React.forwardRef((props, fref) => { const parent = React.useContext(context) - if (parent) return - else + + if (parent) { + return + } else { return ( ) + } }) diff --git a/src/core/ComputedAttribute.tsx b/src/core/ComputedAttribute.tsx index a0cb80b25..3b69764d9 100644 --- a/src/core/ComputedAttribute.tsx +++ b/src/core/ComputedAttribute.tsx @@ -1,4 +1,4 @@ -import { BufferAttributeProps } from '@react-three/fiber' +import { ThreeElements } from '@react-three/fiber' import * as React from 'react' import { BufferAttribute, BufferGeometry } from 'three' @@ -16,7 +16,7 @@ export const ComputedAttribute = ({ compute, name, ...props -}: React.PropsWithChildren) => { +}: React.PropsWithChildren) => { const [bufferAttribute] = React.useState(() => new BufferAttribute(new Float32Array(0), 1)) const primitive = React.useRef(null) diff --git a/src/core/DeviceOrientationControls.tsx b/src/core/DeviceOrientationControls.tsx index 76ed16056..8d51d08b7 100644 --- a/src/core/DeviceOrientationControls.tsx +++ b/src/core/DeviceOrientationControls.tsx @@ -1,13 +1,10 @@ -import { ReactThreeFiber, useFrame, useThree } from '@react-three/fiber' +import { ThreeElement, useFrame, useThree } from '@react-three/fiber' import * as React from 'react' import * as THREE from 'three' import { DeviceOrientationControls as DeviceOrientationControlsImp } from 'three-stdlib' import { ForwardRefComponent } from '../helpers/ts-utils' -export type DeviceOrientationControlsProps = ReactThreeFiber.Object3DNode< - DeviceOrientationControlsImp, - typeof DeviceOrientationControlsImp -> & { +export type DeviceOrientationControlsProps = ThreeElement & { camera?: THREE.Camera onChange?: (e?: THREE.Event) => void makeDefault?: boolean diff --git a/src/core/Edges.tsx b/src/core/Edges.tsx index 894c1b64a..8ff6ffae4 100644 --- a/src/core/Edges.tsx +++ b/src/core/Edges.tsx @@ -1,17 +1,17 @@ import * as React from 'react' import * as THREE from 'three' -import { ReactThreeFiber, type ThreeElements } from '@react-three/fiber' +import { ThreeElement, type ThreeElements } from '@react-three/fiber' import { LineSegmentsGeometry, LineMaterial, LineMaterialParameters, Line2, LineSegments2 } from 'three-stdlib' import { ForwardRefComponent } from '../helpers/ts-utils' import { Line } from './Line' export type EdgesRef = THREE.Mesh -export type EdgesProps = Partial & { +export type EdgesProps = Omit, 'ref'> & { threshold?: number lineWidth?: number } & Omit & - Omit, 'args'> & - Omit, 'color' | 'vertexColors' | 'args'> & { + Omit, 'args' | 'ref'> & + Omit, 'color' | 'vertexColors' | 'args' | 'ref'> & { color?: THREE.ColorRepresentation } diff --git a/src/core/Effects.tsx b/src/core/Effects.tsx index f86bf69e4..6532c849c 100644 --- a/src/core/Effects.tsx +++ b/src/core/Effects.tsx @@ -1,11 +1,11 @@ import * as React from 'react' import { RGBAFormat, HalfFloatType, WebGLRenderTarget, UnsignedByteType, TextureDataType } from 'three' -import { ReactThreeFiber, extend, useThree, useFrame } from '@react-three/fiber' +import { extend, useThree, useFrame, ThreeElement } from '@react-three/fiber' import { EffectComposer, RenderPass, ShaderPass, GammaCorrectionShader } from 'three-stdlib' import { ForwardRefComponent } from '../helpers/ts-utils' import { TextureEncoding } from '../helpers/deprecated' -type Props = ReactThreeFiber.Node & { +type Props = ThreeElement & { multisamping?: number encoding?: TextureEncoding type?: TextureDataType @@ -21,9 +21,9 @@ type Props = ReactThreeFiber.Node & { declare global { namespace JSX { interface IntrinsicElements { - effectComposer: ReactThreeFiber.Node - renderPass: ReactThreeFiber.Node - shaderPass: ReactThreeFiber.Node + effectComposer: ThreeElement + renderPass: ThreeElement + shaderPass: ThreeElement } } } @@ -88,10 +88,12 @@ export const Effects: ForwardRefComponent = /* @__PURE__ }, renderIndex) const passes: React.ReactNode[] = [] - if (!disableRenderPass) + if (!disableRenderPass) { passes.push() - if (!disableGamma) + } + if (!disableGamma) { passes.push() + } React.Children.forEach(children, (el: any) => { el && passes.push(React.cloneElement(el, { key: passes.length, attach: `passes-${passes.length}` })) diff --git a/src/core/Environment.tsx b/src/core/Environment.tsx index b59793019..4a941b5b6 100644 --- a/src/core/Environment.tsx +++ b/src/core/Environment.tsx @@ -1,6 +1,6 @@ import * as React from 'react' -import { useThree, createPortal, useFrame, extend, Object3DNode } from '@react-three/fiber' -import { WebGLCubeRenderTarget, Texture, Scene, Loader, CubeCamera, HalfFloatType, CubeTexture } from 'three' +import { useThree, createPortal, useFrame, extend, ThreeElement } from '@react-three/fiber' +import { WebGLCubeRenderTarget, Texture, Scene, CubeCamera, HalfFloatType, CubeTexture } from 'three' import { GroundProjectedEnv as GroundProjectedEnvImpl } from 'three-stdlib' import { PresetsType } from '../helpers/environment-assets' import { EnvironmentLoaderProps, useEnvironment } from './useEnvironment' @@ -129,7 +129,7 @@ export function EnvironmentPortal({ declare global { namespace JSX { interface IntrinsicElements { - groundProjectedEnvImpl: Object3DNode + groundProjectedEnvImpl: ThreeElement } } } diff --git a/src/core/FirstPersonControls.tsx b/src/core/FirstPersonControls.tsx index d69c9ff0c..6a6b5edeb 100644 --- a/src/core/FirstPersonControls.tsx +++ b/src/core/FirstPersonControls.tsx @@ -1,9 +1,9 @@ import * as React from 'react' -import { EventManager, Object3DNode, useFrame, useThree } from '@react-three/fiber' +import { EventManager, ThreeElement, useFrame, useThree } from '@react-three/fiber' import { FirstPersonControls as FirstPersonControlImpl } from 'three-stdlib' import { ForwardRefComponent } from '../helpers/ts-utils' -export type FirstPersonControlsProps = Object3DNode & { +export type FirstPersonControlsProps = ThreeElement & { domElement?: HTMLElement makeDefault?: boolean } diff --git a/src/core/FlyControls.tsx b/src/core/FlyControls.tsx index 081e4378c..c6743d30f 100644 --- a/src/core/FlyControls.tsx +++ b/src/core/FlyControls.tsx @@ -1,10 +1,10 @@ -import { EventManager, ReactThreeFiber, useFrame, useThree } from '@react-three/fiber' +import { EventManager, ThreeElement, useFrame, useThree } from '@react-three/fiber' import * as React from 'react' import * as THREE from 'three' import { FlyControls as FlyControlsImpl } from 'three-stdlib' import { ForwardRefComponent } from '../helpers/ts-utils' -export type FlyControlsProps = ReactThreeFiber.Object3DNode & { +export type FlyControlsProps = ThreeElement & { onChange?: (e?: THREE.Event) => void domElement?: HTMLElement makeDefault?: boolean diff --git a/src/core/Instances.tsx b/src/core/Instances.tsx index bfe7b2c9e..a0d5bf41d 100644 --- a/src/core/Instances.tsx +++ b/src/core/Instances.tsx @@ -1,6 +1,6 @@ import * as THREE from 'three' import * as React from 'react' -import { ReactThreeFiber, extend, useFrame } from '@react-three/fiber' +import { ThreeElement, extend, useFrame } from '@react-three/fiber' import Composer from 'react-composer' import { ForwardRefComponent } from '../helpers/ts-utils' import { setUpdateRange } from '../helpers/deprecated' @@ -8,7 +8,7 @@ import { setUpdateRange } from '../helpers/deprecated' declare global { namespace JSX { interface IntrinsicElements { - positionMesh: ReactThreeFiber.Object3DNode + positionMesh: ThreeElement } } } diff --git a/src/core/Line.tsx b/src/core/Line.tsx index 14f07969f..660de00df 100644 --- a/src/core/Line.tsx +++ b/src/core/Line.tsx @@ -1,6 +1,6 @@ import * as React from 'react' import { Vector2, Vector3, Vector4, Color, ColorRepresentation } from 'three' -import { ReactThreeFiber, useThree } from '@react-three/fiber' +import { ThreeElement, useThree } from '@react-three/fiber' import { LineGeometry, LineSegmentsGeometry, @@ -17,8 +17,8 @@ export type LineProps = { lineWidth?: number segments?: boolean } & Omit & - Omit, 'args'> & - Omit, 'color' | 'vertexColors' | 'args'> & { + Omit, 'args'> & + Omit, 'color' | 'vertexColors' | 'args'> & { color?: ColorRepresentation } diff --git a/src/core/MapControls.tsx b/src/core/MapControls.tsx index 83f4f8c1e..c0f895cc2 100644 --- a/src/core/MapControls.tsx +++ b/src/core/MapControls.tsx @@ -1,11 +1,11 @@ -import { EventManager, ReactThreeFiber, useFrame, useThree } from '@react-three/fiber' +import { EventManager, ReactThreeFiber, ThreeElement, useFrame, useThree } from '@react-three/fiber' import * as React from 'react' import * as THREE from 'three' import { MapControls as MapControlsImpl } from 'three-stdlib' import { ForwardRefComponent } from '../helpers/ts-utils' export type MapControlsProps = ReactThreeFiber.Overwrite< - ReactThreeFiber.Object3DNode, + ThreeElement, { target?: ReactThreeFiber.Vector3 camera?: THREE.Camera diff --git a/src/core/MeshDiscardMaterial.tsx b/src/core/MeshDiscardMaterial.tsx index f9e355641..2c5007af1 100644 --- a/src/core/MeshDiscardMaterial.tsx +++ b/src/core/MeshDiscardMaterial.tsx @@ -1,13 +1,13 @@ import * as React from 'react' import { ShaderMaterial } from 'three' -import { extend, ReactThreeFiber } from '@react-three/fiber' +import { extend, ThreeElements } from '@react-three/fiber' import { DiscardMaterial as DiscardMaterialImpl } from '../materials/DiscardMaterial' import { ForwardRefComponent } from '../helpers/ts-utils' declare global { namespace JSX { interface IntrinsicElements { - discardMaterialImpl: ReactThreeFiber.ShaderMaterialProps + discardMaterialImpl: ThreeElements['shaderMaterial'] } } } diff --git a/src/core/OrbitControls.tsx b/src/core/OrbitControls.tsx index bb35a3fc7..1e768fc12 100644 --- a/src/core/OrbitControls.tsx +++ b/src/core/OrbitControls.tsx @@ -1,4 +1,4 @@ -import { EventManager, ReactThreeFiber, useFrame, useThree } from '@react-three/fiber' +import { EventManager, ReactThreeFiber, ThreeElement, useFrame, useThree } from '@react-three/fiber' import * as React from 'react' import type { Camera, Event, OrthographicCamera, PerspectiveCamera } from 'three' import { OrbitControls as OrbitControlsImpl } from 'three-stdlib' @@ -10,7 +10,7 @@ export type OrbitControlsChangeEvent = Event & { export type OrbitControlsProps = Omit< ReactThreeFiber.Overwrite< - ReactThreeFiber.Object3DNode, + ThreeElement, { camera?: Camera domElement?: HTMLElement diff --git a/src/core/PointMaterial.tsx b/src/core/PointMaterial.tsx index 083d5faf0..d53942925 100644 --- a/src/core/PointMaterial.tsx +++ b/src/core/PointMaterial.tsx @@ -1,8 +1,8 @@ import * as THREE from 'three' import * as React from 'react' -import { PrimitiveProps } from '@react-three/fiber' import { ForwardRefComponent } from '../helpers/ts-utils' import { version } from '../helpers/constants' +import { ThreeElements } from '@react-three/fiber' type PointMaterialType = JSX.IntrinsicElements['pointsMaterial'] @@ -43,9 +43,11 @@ export class PointMaterialImpl extends THREE.PointsMaterial { } export const PointMaterial: ForwardRefComponent< - Omit, + Omit, PointMaterialImpl -> = /* @__PURE__ */ React.forwardRef>((props, ref) => { - const [material] = React.useState(() => new PointMaterialImpl(null)) - return -}) +> = /* @__PURE__ */ React.forwardRef>( + (props, ref) => { + const [material] = React.useState(() => new PointMaterialImpl(null)) + return + } +) diff --git a/src/core/PointerLockControls.tsx b/src/core/PointerLockControls.tsx index a34e5c110..843265cf2 100644 --- a/src/core/PointerLockControls.tsx +++ b/src/core/PointerLockControls.tsx @@ -1,14 +1,10 @@ -import { EventManager, ReactThreeFiber, RootState, useThree } from '@react-three/fiber' -import { DomEvent } from '@react-three/fiber/dist/declarations/src/core/events' +import { DomEvent, EventManager, RootState, ThreeElement, useThree } from '@react-three/fiber' import * as React from 'react' import * as THREE from 'three' import { PointerLockControls as PointerLockControlsImpl } from 'three-stdlib' import { ForwardRefComponent } from '../helpers/ts-utils' -export type PointerLockControlsProps = ReactThreeFiber.Object3DNode< - PointerLockControlsImpl, - typeof PointerLockControlsImpl -> & { +export type PointerLockControlsProps = ThreeElement & { domElement?: HTMLElement selector?: string enabled?: boolean diff --git a/src/core/Points.tsx b/src/core/Points.tsx index 57719b35a..d5ff56687 100644 --- a/src/core/Points.tsx +++ b/src/core/Points.tsx @@ -1,12 +1,12 @@ import * as THREE from 'three' import * as React from 'react' -import { ReactThreeFiber, extend, useFrame } from '@react-three/fiber' +import { ThreeElement, extend, useFrame } from '@react-three/fiber' import { ForwardRefComponent } from '../helpers/ts-utils' declare global { namespace JSX { interface IntrinsicElements { - positionPoint: ReactThreeFiber.Object3DNode + positionPoint: ThreeElement } } } @@ -245,5 +245,7 @@ export const Points: ForwardRefComponent((props, forwardedRef) => { if ((props as PointsBuffersProps).positions instanceof Float32Array) { return - } else return + } else { + return + } }) diff --git a/src/core/QuadraticBezierLine.tsx b/src/core/QuadraticBezierLine.tsx index e9ff7a7d2..f1b7b511b 100644 --- a/src/core/QuadraticBezierLine.tsx +++ b/src/core/QuadraticBezierLine.tsx @@ -2,8 +2,8 @@ import * as React from 'react' import { QuadraticBezierCurve3, Vector3 } from 'three' import { Line2 } from 'three-stdlib' import { Line, LineProps } from './Line' -import { Object3DNode } from '@react-three/fiber' import { ForwardRefComponent } from '../helpers/ts-utils' +import { ThreeElement } from '@react-three/fiber' type Props = Omit & { start: Vector3 | [number, number, number] @@ -12,7 +12,7 @@ type Props = Omit & { segments?: number } -export type Line2Props = Object3DNode & { +export type Line2Props = ThreeElement & { setPoints: ( start: Vector3 | [number, number, number], end: Vector3 | [number, number, number], diff --git a/src/core/Sampler.tsx b/src/core/Sampler.tsx index 1f3ea3f9a..2807c2492 100644 --- a/src/core/Sampler.tsx +++ b/src/core/Sampler.tsx @@ -3,7 +3,7 @@ import * as React from 'react' import { MeshSurfaceSampler } from 'three-stdlib' import { Color, Group, InstancedBufferAttribute, InstancedMesh, Mesh, Object3D, Vector3 } from 'three' -import { GroupProps } from '@react-three/fiber' +import { ThreeElements } from '@react-three/fiber' type SamplePayload = { /** @@ -154,7 +154,7 @@ export function Sampler({ mesh, count = 16, ...props -}: React.PropsWithChildren) { +}: React.PropsWithChildren) { const group = React.useRef(null!) const instancedRef = React.useRef(null!) const meshToSampleRef = React.useRef(null!) diff --git a/src/core/ScreenSizer.tsx b/src/core/ScreenSizer.tsx index f949ee370..43bfb5fcd 100644 --- a/src/core/ScreenSizer.tsx +++ b/src/core/ScreenSizer.tsx @@ -1,4 +1,4 @@ -import { Object3DProps, useFrame } from '@react-three/fiber' +import { ThreeElements, useFrame } from '@react-three/fiber' import * as React from 'react' import { forwardRef, useRef } from 'react' import { Object3D, Vector3 } from 'three' @@ -7,10 +7,10 @@ import { ForwardRefComponent } from '../helpers/ts-utils' const worldPos = /* @__PURE__ */ new Vector3() -export interface ScreenSizerProps extends Object3DProps { +export type ScreenSizerProps = { /** Scale factor. Defaults to 1, which equals 1 pixel size. */ scale?: number -} +} & ThreeElements['object3D'] /** * Wraps children in an `Object3D` and attempts to scale from diff --git a/src/core/Segments.tsx b/src/core/Segments.tsx index ef2c451e9..7ef2143ef 100644 --- a/src/core/Segments.tsx +++ b/src/core/Segments.tsx @@ -1,6 +1,6 @@ import * as THREE from 'three' import * as React from 'react' -import { extend, useFrame, ReactThreeFiber } from '@react-three/fiber' +import { extend, useFrame, ReactThreeFiber, ThreeElement } from '@react-three/fiber' import { Line2, LineSegmentsGeometry, LineMaterial, LineMaterialParameters } from 'three-stdlib' import { ForwardRefComponent } from '../helpers/ts-utils' @@ -94,7 +94,7 @@ const Segments: ForwardRefComponent = /* @__PURE__ */ Reac declare global { namespace JSX { interface IntrinsicElements { - segmentObject: ReactThreeFiber.Object3DNode + segmentObject: ThreeElement } } } diff --git a/src/core/Sparkles.tsx b/src/core/Sparkles.tsx index 301d5fc8d..6814d1c14 100644 --- a/src/core/Sparkles.tsx +++ b/src/core/Sparkles.tsx @@ -1,6 +1,6 @@ import * as React from 'react' import * as THREE from 'three' -import { PointsProps, useThree, useFrame, extend, Node } from '@react-three/fiber' +import { useThree, useFrame, extend, ThreeElements, ThreeElement } from '@react-three/fiber' import { shaderMaterial } from './shaderMaterial' import { ForwardRefComponent } from '../helpers/ts-utils' import { version } from '../helpers/constants' @@ -60,7 +60,7 @@ const SparklesImplMaterial = /* @__PURE__ */ shaderMaterial( declare global { namespace JSX { interface IntrinsicElements { - sparklesImplMaterial: Node + sparklesImplMaterial: ThreeElement & { pixelRatio?: number; time?: number } } } } @@ -101,47 +101,48 @@ function usePropAsIsOrAsAttribute( }, [prop]) } -export const Sparkles: ForwardRefComponent = /* @__PURE__ */ React.forwardRef< - THREE.Points, - Props & PointsProps ->(({ noise = 1, count = 100, speed = 1, opacity = 1, scale = 1, size, color, children, ...props }, forwardRef) => { - React.useMemo(() => extend({ SparklesImplMaterial }), []) - const ref = React.useRef(null!) - const dpr = useThree((state) => state.viewport.dpr) +export const Sparkles: ForwardRefComponent = + /* @__PURE__ */ React.forwardRef( + ({ noise = 1, count = 100, speed = 1, opacity = 1, scale = 1, size, color, children, ...props }, forwardRef) => { + React.useMemo(() => extend({ SparklesImplMaterial }), []) + const ref = React.useRef(null!) + const dpr = useThree((state) => state.viewport.dpr) - const _scale = normalizeVector(scale) - const positions = React.useMemo( - () => Float32Array.from(Array.from({ length: count }, () => _scale.map(THREE.MathUtils.randFloatSpread)).flat()), - [count, ..._scale] - ) + const _scale = normalizeVector(scale) + const positions = React.useMemo( + () => + Float32Array.from(Array.from({ length: count }, () => _scale.map(THREE.MathUtils.randFloatSpread)).flat()), + [count, ..._scale] + ) - const sizes = usePropAsIsOrAsAttribute(count, size, Math.random) - const opacities = usePropAsIsOrAsAttribute(count, opacity) - const speeds = usePropAsIsOrAsAttribute(count, speed) - const noises = usePropAsIsOrAsAttribute(count * 3, noise) - const colors = usePropAsIsOrAsAttribute( - color === undefined ? count * 3 : count, - !isFloat32Array(color) ? new THREE.Color(color) : color, - () => 1 - ) + const sizes = usePropAsIsOrAsAttribute(count, size, Math.random) + const opacities = usePropAsIsOrAsAttribute(count, opacity) + const speeds = usePropAsIsOrAsAttribute(count, speed) + const noises = usePropAsIsOrAsAttribute(count * 3, noise) + const colors = usePropAsIsOrAsAttribute( + color === undefined ? count * 3 : count, + !isFloat32Array(color) ? new THREE.Color(color) : color, + () => 1 + ) - useFrame((state) => { - if (ref.current && ref.current.material) (ref.current.material as any).time = state.clock.elapsedTime - }) + useFrame((state) => { + if (ref.current && ref.current.material) (ref.current.material as any).time = state.clock.elapsedTime + }) - React.useImperativeHandle(forwardRef, () => ref.current, []) + React.useImperativeHandle(forwardRef, () => ref.current, []) - return ( - - - - - - - - - - {children ? children : } - + return ( + + + + + + + + + + {children ? children : } + + ) + } ) -}) diff --git a/src/core/Splat.tsx b/src/core/Splat.tsx index 922fd32ad..c3a6b84b3 100644 --- a/src/core/Splat.tsx +++ b/src/core/Splat.tsx @@ -297,14 +297,14 @@ async function load(shared: SharedState) { const data = await fetch(shared.url) if (data.body === null) throw 'Failed to fetch file' - let _totalDownloadBytes = data.headers.get('Content-Length') + const _totalDownloadBytes = data.headers.get('Content-Length') const totalDownloadBytes = _totalDownloadBytes ? parseInt(_totalDownloadBytes) : undefined if (totalDownloadBytes == undefined) throw 'Failed to get content length' shared.stream = data.body.getReader() shared.totalDownloadBytes = totalDownloadBytes shared.numVertices = Math.floor(shared.totalDownloadBytes / shared.rowLength) const context = shared.gl.getContext() - let maxTextureSize = context.getParameter(context.MAX_TEXTURE_SIZE) + const maxTextureSize = context.getParameter(context.MAX_TEXTURE_SIZE) shared.maxVertexes = maxTextureSize * maxTextureSize if (shared.numVertices > shared.maxVertexes) shared.numVertices = shared.maxVertexes @@ -363,7 +363,7 @@ async function lazyLoad(shared: SharedState) { chunks.push(value) const bytesRemains = bytesDownloaded - bytesProcessed if (shared.totalDownloadBytes != undefined && bytesRemains > shared.rowLength * shared.chunkSize) { - let vertexCount = Math.floor(bytesRemains / shared.rowLength) + const vertexCount = Math.floor(bytesRemains / shared.rowLength) const concatenatedChunksbuffer = new Uint8Array(bytesRemains) let offset = 0 for (const chunk of chunks) { @@ -378,7 +378,7 @@ async function lazyLoad(shared: SharedState) { } const buffer = new Uint8Array(vertexCount * shared.rowLength) buffer.set(concatenatedChunksbuffer.subarray(0, buffer.byteLength), 0) - const matrices = pushDataBuffer(shared, buffer.buffer, vertexCount) + const matrices = pushDataBuffer(shared, buffer.buffer, vertexCount)! shared.worker.postMessage( { method: 'push', src: shared.url, length: shared.numVertices * 16, matrices: matrices.buffer }, [matrices.buffer] @@ -402,14 +402,14 @@ async function lazyLoad(shared: SharedState) { if (bytesDownloaded - bytesProcessed > 0) { // Concatenate the chunks into a single Uint8Array - let concatenatedChunks = new Uint8Array(chunks.reduce((acc, chunk) => acc + chunk.length, 0)) + const concatenatedChunks = new Uint8Array(chunks.reduce((acc, chunk) => acc + chunk.length, 0)) let offset = 0 for (const chunk of chunks) { concatenatedChunks.set(chunk, offset) offset += chunk.length } - let numVertices = Math.floor(concatenatedChunks.byteLength / shared.rowLength) - const matrices = pushDataBuffer(shared, concatenatedChunks.buffer, numVertices) + const numVertices = Math.floor(concatenatedChunks.byteLength / shared.rowLength) + const matrices = pushDataBuffer(shared, concatenatedChunks.buffer, numVertices)! shared.worker.postMessage( { method: 'push', src: shared.url, length: numVertices * 16, matrices: matrices.buffer }, [matrices.buffer] @@ -453,7 +453,7 @@ function connect(shared: SharedState, target: TargetMesh) { target.vm2 = new THREE.Matrix4() target.viewport = new THREE.Vector4() - let splatIndexArray = new Uint32Array(shared.bufferTextureWidth * shared.bufferTextureHeight) + const splatIndexArray = new Uint32Array(shared.bufferTextureWidth * shared.bufferTextureHeight) const splatIndexes = new THREE.InstancedBufferAttribute(splatIndexArray, 1, false) splatIndexes.setUsage(THREE.DynamicDrawUsage) @@ -473,7 +473,7 @@ function connect(shared: SharedState, target: TargetMesh) { function listener(e: { data: { key: string; indices: Uint32Array } }) { if (target && e.data.key === target.uuid) { - let indexes = new Uint32Array(e.data.indices) + const indexes = new Uint32Array(e.data.indices) // @ts-ignore geometry.attributes.splatIndex.set(indexes) geometry.attributes.splatIndex.needsUpdate = true @@ -491,8 +491,9 @@ function connect(shared: SharedState, target: TargetMesh) { centerAndScaleTextureProperties?.__webglTexture && covAndColorTextureProperties?.__webglTexture && shared.loadedVertexCount > 0 - ) + ) { break + } await new Promise((resolve) => setTimeout(resolve, 10)) } target.ready = true @@ -504,8 +505,9 @@ function connect(shared: SharedState, target: TargetMesh) { function pushDataBuffer(shared: SharedState, buffer: ArrayBufferLike, vertexCount: number) { const context = shared.gl.getContext() - if (shared.loadedVertexCount + vertexCount > shared.maxVertexes) + if (shared.loadedVertexCount + vertexCount > shared.maxVertexes) { vertexCount = shared.maxVertexes - shared.loadedVertexCount + } if (vertexCount <= 0) throw 'Failed to parse file' const u_buffer = new Uint8Array(buffer) @@ -536,8 +538,11 @@ function pushDataBuffer(shared: SharedState, buffer: ArrayBufferLike, vertexCoun const cov_indexes = [0, 1, 2, 5, 6, 10] let max_value = 0.0 - for (let j = 0; j < cov_indexes.length; j++) - if (Math.abs(mtx.elements[cov_indexes[j]]) > max_value) max_value = Math.abs(mtx.elements[cov_indexes[j]]) + for (let j = 0; j < cov_indexes.length; j++) { + if (Math.abs(mtx.elements[cov_indexes[j]]) > max_value) { + max_value = Math.abs(mtx.elements[cov_indexes[j]]) + } + } let destOffset = shared.loadedVertexCount * 4 + i * 4 shared.centerAndScaleData[destOffset + 0] = center.x @@ -546,8 +551,9 @@ function pushDataBuffer(shared: SharedState, buffer: ArrayBufferLike, vertexCoun shared.centerAndScaleData[destOffset + 3] = max_value / 32767.0 destOffset = shared.loadedVertexCount * 8 + i * 4 * 2 - for (let j = 0; j < cov_indexes.length; j++) + for (let j = 0; j < cov_indexes.length; j++) { covAndColorData_int16[destOffset + j] = (mtx.elements[cov_indexes[j]] * 32767.0) / max_value + } // RGBA destOffset = shared.loadedVertexCount * 16 + (i * 4 + 3) * 4 @@ -637,7 +643,9 @@ export function Splat({ // Shared state, globally memoized, the same url re-uses the same daza const shared = useLoader(SplatLoader as unknown as LoaderProto, src, (loader) => { + // @ts-expect-error loader.gl = gl + // @ts-expect-error loader.chunkSize = chunkSize }) as SharedState diff --git a/src/core/SpriteAnimator.tsx b/src/core/SpriteAnimator.tsx index 751058a9a..00c7f7931 100644 --- a/src/core/SpriteAnimator.tsx +++ b/src/core/SpriteAnimator.tsx @@ -1,5 +1,5 @@ import * as React from 'react' -import { useFrame, Vector3 } from '@react-three/fiber' +import { ThreeElements, useFrame, Vector3 } from '@react-three/fiber' import * as THREE from 'three' import { Instances, Instance } from './Instances' import { useSpriteLoader } from './useSpriteLoader' @@ -31,7 +31,7 @@ export type SpriteAnimatorProps = { maxItems?: number instanceItems?: any[] spriteDataset?: any -} & JSX.IntrinsicElements['group'] +} & Omit type SpriteAnimatorState = { /** The user-defined, mutable, current goal position along the curve, it may be >1 or <0 */ @@ -467,7 +467,7 @@ export const SpriteAnimator: React.FC = /* @__PURE__ */ Rea diff --git a/src/core/Stars.tsx b/src/core/Stars.tsx index 9cfd2bd46..658687a98 100644 --- a/src/core/Stars.tsx +++ b/src/core/Stars.tsx @@ -1,7 +1,6 @@ -import * as THREE from 'three' import * as React from 'react' // eslint-disable-next-line -import { ReactThreeFiber, useFrame } from '@react-three/fiber' +import { ReactThreeFiber, ThreeElement, useFrame } from '@react-three/fiber' import { Points, Vector3, Spherical, Color, AdditiveBlending, ShaderMaterial } from 'three' import { ForwardRefComponent } from '../helpers/ts-utils' import { version } from '../helpers/constants' @@ -52,7 +51,7 @@ class StarfieldMaterial extends ShaderMaterial { declare global { namespace JSX { interface IntrinsicElements { - starfieldMaterial: ReactThreeFiber.MaterialNode + starfieldMaterial: ThreeElement } } } diff --git a/src/core/Svg.tsx b/src/core/Svg.tsx index 983298161..e17224891 100644 --- a/src/core/Svg.tsx +++ b/src/core/Svg.tsx @@ -1,19 +1,19 @@ -import { MeshBasicMaterialProps, MeshProps, Object3DProps, useLoader } from '@react-three/fiber' +import { ThreeElements, useLoader } from '@react-three/fiber' import * as React from 'react' import { forwardRef, Fragment, useEffect, useMemo } from 'react' import { DoubleSide, Object3D } from 'three' import { SVGLoader } from 'three-stdlib' import { ForwardRefComponent } from '../helpers/ts-utils' -export interface SvgProps extends Omit { +export interface SvgProps extends Omit { /** src can be a URL or SVG data */ src: string skipFill?: boolean skipStrokes?: boolean - fillMaterial?: MeshBasicMaterialProps - strokeMaterial?: MeshBasicMaterialProps - fillMeshProps?: MeshProps - strokeMeshProps?: MeshProps + fillMaterial?: ThreeElements['meshBasicMaterial'] + strokeMaterial?: ThreeElements['meshBasicMaterial'] + fillMeshProps?: ThreeElements['mesh'] + strokeMeshProps?: ThreeElements['mesh'] } export const Svg: ForwardRefComponent = /* @__PURE__ */ forwardRef( diff --git a/src/core/Text3D.tsx b/src/core/Text3D.tsx index 1aa809b9a..712067ebf 100644 --- a/src/core/Text3D.tsx +++ b/src/core/Text3D.tsx @@ -1,16 +1,15 @@ import * as React from 'react' import * as THREE from 'three' -import { extend, MeshProps, Node } from '@react-three/fiber' +import { extend, ThreeElement, ThreeElements } from '@react-three/fiber' import { useMemo } from 'react' -import { suspend } from 'suspend-react' -import { mergeVertices, TextGeometry, TextGeometryParameters, FontLoader } from 'three-stdlib' +import { mergeVertices, TextGeometry, TextGeometryParameters } from 'three-stdlib' import { useFont, FontData } from './useFont' import { ForwardRefComponent } from '../helpers/ts-utils' declare global { namespace JSX { interface IntrinsicElements { - renamedTextGeometry: Node + renamedTextGeometry: ThreeElement } } } @@ -20,7 +19,7 @@ type Text3DProps = { bevelSegments?: number smooth?: number } & Omit & - MeshProps + ThreeElements['mesh'] const types = ['string', 'number'] const getTextFromChildren = (children) => { @@ -97,7 +96,7 @@ export const Text3D: ForwardRefComponent< * need to be able to do `{state}`. */ const [label, ...rest] = useMemo(() => getTextFromChildren(children), [children]) - const args = React.useMemo(() => [label, opts], [label, opts]) + const args = React.useMemo(() => [label, opts], [label, opts]) as [string, TextGeometryParameters] React.useLayoutEffect(() => { if (smooth) { diff --git a/src/core/TrackballControls.tsx b/src/core/TrackballControls.tsx index 377c30659..e29dd6bbf 100644 --- a/src/core/TrackballControls.tsx +++ b/src/core/TrackballControls.tsx @@ -1,11 +1,11 @@ -import { ReactThreeFiber, useFrame, useThree } from '@react-three/fiber' +import { ReactThreeFiber, ThreeElement, useFrame, useThree } from '@react-three/fiber' import * as React from 'react' import * as THREE from 'three' import { TrackballControls as TrackballControlsImpl } from 'three-stdlib' import { ForwardRefComponent } from '../helpers/ts-utils' export type TrackballControlsProps = ReactThreeFiber.Overwrite< - ReactThreeFiber.Object3DNode, + ThreeElement, { target?: ReactThreeFiber.Vector3 camera?: THREE.Camera diff --git a/src/core/TransformControls.tsx b/src/core/TransformControls.tsx index e9623215c..6a5eca742 100644 --- a/src/core/TransformControls.tsx +++ b/src/core/TransformControls.tsx @@ -1,4 +1,4 @@ -import { ReactThreeFiber, useThree } from '@react-three/fiber' +import { ThreeElement, useThree } from '@react-three/fiber' import * as React from 'react' import * as THREE from 'three' import { TransformControls as TransformControlsImpl } from 'three-stdlib' @@ -8,7 +8,7 @@ type ControlsProto = { enabled: boolean } -export type TransformControlsProps = ReactThreeFiber.Object3DNode & +export type TransformControlsProps = ThreeElement & JSX.IntrinsicElements['group'] & { object?: THREE.Object3D | React.MutableRefObject enabled?: boolean diff --git a/src/core/Wireframe.tsx b/src/core/Wireframe.tsx index 30e011064..ca6484843 100644 --- a/src/core/Wireframe.tsx +++ b/src/core/Wireframe.tsx @@ -1,6 +1,6 @@ import * as React from 'react' import * as THREE from 'three' -import { MaterialNode, extend } from '@react-three/fiber' +import { ThreeElement, extend } from '@react-three/fiber' import { WireframeMaterial, WireframeMaterialProps, @@ -12,7 +12,7 @@ import { declare global { namespace JSX { interface IntrinsicElements { - meshWireframeMaterial: MaterialNode + meshWireframeMaterial: ThreeElement & WireframeMaterialProps } } } diff --git a/src/core/useCubeTexture.tsx b/src/core/useCubeTexture.tsx index f789b791e..d0983d7df 100644 --- a/src/core/useCubeTexture.tsx +++ b/src/core/useCubeTexture.tsx @@ -6,20 +6,11 @@ type Options = { } export function useCubeTexture(files: string[], { path }: Options): CubeTexture { - // @ts-ignore - const [cubeTexture] = useLoader( - // @ts-ignore - CubeTextureLoader, - [files], - (loader: CubeTextureLoader) => loader.setPath(path) - ) + // @ts-expect-error + const [cubeTexture] = useLoader(CubeTextureLoader, [files], (loader: CubeTextureLoader) => loader.setPath(path)) return cubeTexture } useCubeTexture.preload = (files: string[], { path }: Options) => - useLoader.preload( - // @ts-ignore - CubeTextureLoader, - [files], - (loader: CubeTextureLoader) => loader.setPath(path) - ) + // @ts-expect-error + useLoader.preload(CubeTextureLoader, [files], (loader: CubeTextureLoader) => loader.setPath(path)) diff --git a/src/web/Html.tsx b/src/web/Html.tsx index fde1f2598..c1e0bed87 100644 --- a/src/web/Html.tsx +++ b/src/web/Html.tsx @@ -14,7 +14,7 @@ import { Mesh, } from 'three' import { Assign } from 'utility-types' -import { ReactThreeFiber, useFrame, useThree } from '@react-three/fiber' +import { ThreeElements, useFrame, useThree } from '@react-three/fiber' import { ForwardRefComponent } from '../helpers/ts-utils' const v1 = /* @__PURE__ */ new Vector3() @@ -117,8 +117,7 @@ function isRefObject(ref: any): ref is React.RefObject { return ref && typeof ref === 'object' && 'current' in ref } -export interface HtmlProps - extends Omit, ReactThreeFiber.Object3DNode>, 'ref'> { +export interface HtmlProps extends Omit, ThreeElements['group']>, 'ref'> { prepend?: boolean center?: boolean fullscreen?: boolean diff --git a/yarn.lock b/yarn.lock index b7c954a80..f4e038202 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2638,20 +2638,21 @@ resolved "https://registry.yarnpkg.com/@react-spring/types/-/types-9.6.1.tgz#913d3a68c5cbc1124fdb18eff919432f7b6abdde" integrity sha512-POu8Mk0hIU3lRXB3bGIGe4VHIwwDsQyoD1F394OK7STTiX9w4dG3cTLljjYswkQN+hDSHRrj4O36kuVa7KPU8Q== -"@react-three/fiber@^8.0.8": - version "8.14.2" - resolved "https://registry.yarnpkg.com/@react-three/fiber/-/fiber-8.14.2.tgz#e6253f215f20be2eac7e732f4636f608669578bc" - integrity sha512-mD+1Vwl6AwLKmVsXXJNOzGnDOoghIusRXGFBIX6qK9mIAYOO58WAmqSodayYQ1vkp8wnzM9AfrBZZH8Y01BfqA== +"@react-three/fiber@npm:@nicetouch/react-three-fiber@^9.0.0-alpha.2--nt.9.35": + version "9.0.0-alpha.2--nt.9.35" + resolved "https://registry.yarnpkg.com/@nicetouch/react-three-fiber/-/react-three-fiber-9.0.0-alpha.2--nt.9.35.tgz#c253295377f4f988b64a98596726f6793d925e6c" + integrity sha512-m9edgBeJwJZIrHyKCReexC3sKv6D93TAtBAsnov7JPjtVjcvxSBVoaAxyL6KOWpu5d7F9xAQtWXYronT6ciHAA== dependencies: "@babel/runtime" "^7.17.8" "@types/react-reconciler" "^0.26.7" base64-js "^1.5.1" + buffer "^6.0.3" its-fine "^1.0.6" react-reconciler "^0.27.0" react-use-measure "^2.1.1" scheduler "^0.21.0" suspend-react "^0.1.3" - zustand "^3.7.1" + zustand "^4.1.2" "@rollup/plugin-babel@^5.3.0": version "5.3.1" @@ -12677,7 +12678,7 @@ string-length@^4.0.1: char-regex "^1.0.2" strip-ansi "^6.0.0" -"string-width-cjs@npm:string-width@^4.2.0", "string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: +"string-width-cjs@npm:string-width@^4.2.0": version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -12695,6 +12696,15 @@ string-width@^1.0.1: is-fullwidth-code-point "^1.0.0" strip-ansi "^3.0.0" +"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + string-width@^5.0.1, string-width@^5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" @@ -12765,7 +12775,7 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: +"strip-ansi-cjs@npm:strip-ansi@^6.0.1": version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -12779,6 +12789,13 @@ strip-ansi@^3.0.0, strip-ansi@^3.0.1: dependencies: ansi-regex "^2.0.0" +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + strip-ansi@^7.0.1: version "7.1.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" @@ -13862,7 +13879,16 @@ worker-rpc@^0.1.0: dependencies: microevent.ts "~0.1.1" -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== @@ -14039,6 +14065,13 @@ zustand@^3.7.1: resolved "https://registry.yarnpkg.com/zustand/-/zustand-3.7.2.tgz#7b44c4f4a5bfd7a8296a3957b13e1c346f42514d" integrity sha512-PIJDIZKtokhof+9+60cpockVOq05sJzHCriyvaLBmEJixseQ1a5Kdov6fWZfWOu5SK9c+FhH1jU0tntLxRJYMA== +zustand@^4.1.2: + version "4.5.2" + resolved "https://registry.yarnpkg.com/zustand/-/zustand-4.5.2.tgz#fddbe7cac1e71d45413b3682cdb47b48034c3848" + integrity sha512-2cN1tPkDVkwCy5ickKrI7vijSjPksFRfqS6237NzT0vqSsztTNnQdHw9mmN7uBdk3gceVXU0a+21jFzFzAc9+g== + dependencies: + use-sync-external-store "1.2.0" + zustand@^4.3.2: version "4.4.7" resolved "https://registry.yarnpkg.com/zustand/-/zustand-4.4.7.tgz#355406be6b11ab335f59a66d2cf9815e8f24038c" From 916c36972a08cdfc12ff3403ef41d2f955f1a8fd Mon Sep 17 00:00:00 2001 From: Kris Baumgartner Date: Sun, 28 Apr 2024 18:49:12 -0700 Subject: [PATCH 2/9] Update for latest R3F v9 alpha --- package.json | 2 +- src/core/AccumulativeShadows.tsx | 23 +++++----- src/core/AdaptiveDpr.tsx | 5 ++- src/core/Backdrop.tsx | 3 +- src/core/Billboard.tsx | 4 +- src/core/Bounds.tsx | 9 ++-- src/core/Caustics.tsx | 2 +- src/core/Center.tsx | 6 +-- src/core/Clone.tsx | 6 +-- src/core/ContactShadows.tsx | 6 +-- src/core/CubeCamera.tsx | 4 +- src/core/CurveModifier.tsx | 4 +- src/core/Decal.tsx | 4 +- src/core/Detailed.tsx | 4 +- src/core/Effects.tsx | 6 +-- src/core/Example.tsx | 6 +-- src/core/Fisheye.tsx | 6 +-- src/core/Float.tsx | 4 +- src/core/GizmoHelper.tsx | 4 +- src/core/GizmoViewport.tsx | 6 +-- src/core/Gltf.tsx | 3 +- src/core/GradientTexture.tsx | 4 +- src/core/Grid.tsx | 14 +++--- src/core/Image.tsx | 6 +-- src/core/Instances.tsx | 18 ++++---- src/core/Lightformer.tsx | 4 +- src/core/MarchingCubes.tsx | 14 +++--- src/core/Mask.tsx | 3 +- src/core/MeshDiscardMaterial.tsx | 12 +++-- src/core/MeshDistortMaterial.tsx | 7 ++- src/core/MeshPortalMaterial.tsx | 35 ++++++++------- src/core/MeshReflectorMaterial.tsx | 4 +- src/core/MeshRefractionMaterial.tsx | 4 +- src/core/MeshTransmissionMaterial.tsx | 16 +++---- src/core/MeshWobbleMaterial.tsx | 4 +- src/core/MotionPathControls.tsx | 4 +- src/core/OrthographicCamera.tsx | 4 +- src/core/Outlines.tsx | 4 +- src/core/PerspectiveCamera.tsx | 4 +- src/core/PointMaterial.tsx | 10 ++--- src/core/Points.tsx | 20 ++++----- src/core/PositionalAudio.tsx | 4 +- src/core/Reflector.tsx | 22 +++++---- src/core/RenderCubeTexture.tsx | 8 ++-- src/core/RenderTexture.tsx | 8 ++-- src/core/Resize.tsx | 5 ++- src/core/RoundedBox.tsx | 3 +- src/core/ScreenQuad.tsx | 3 +- src/core/ScreenSpace.tsx | 4 +- src/core/Segments.tsx | 18 ++++---- src/core/Shadow.tsx | 3 +- src/core/Sparkles.tsx | 2 +- src/core/Splat.tsx | 6 +-- src/core/SpotLight.tsx | 10 ++--- src/core/Stage.tsx | 3 +- src/core/Text.tsx | 4 +- src/core/TrackballControls.tsx | 4 +- src/core/TransformControls.tsx | 4 +- src/core/shapes.tsx | 3 +- src/core/useAspect.tsx | 8 ++-- src/core/useBVH.tsx | 4 +- src/core/useDepthBuffer.ts | 2 +- src/core/useEnvironment.tsx | 3 +- src/core/useFBO.tsx | 6 +-- src/core/useSpriteLoader.tsx | 15 ++++--- src/materials/MeshReflectorMaterial.tsx | 3 +- src/web/Facemesh.tsx | 4 +- src/web/Html.tsx | 6 ++- src/web/PresentationControls.tsx | 1 + src/web/ScrollControls.tsx | 5 +-- src/web/Select.tsx | 8 ++-- yarn.lock | 59 ++++++++++++------------- 72 files changed, 270 insertions(+), 276 deletions(-) diff --git a/package.json b/package.json index bf6119f3d..338a729a3 100644 --- a/package.json +++ b/package.json @@ -88,7 +88,7 @@ "@babel/preset-typescript": "^7.21.5", "@commitlint/cli": "^12.0.1", "@commitlint/config-conventional": "^12.0.1", - "@react-three/fiber": "npm:@nicetouch/react-three-fiber@^9.0.0-alpha.2--nt.9.35", + "@react-three/fiber": "^9.0.0-alpha.4", "@rollup/plugin-babel": "^5.3.0", "@rollup/plugin-commonjs": "^19.0.0", "@rollup/plugin-json": "^4.1.0", diff --git a/src/core/AccumulativeShadows.tsx b/src/core/AccumulativeShadows.tsx index 5d7786d37..ff53ed1e5 100644 --- a/src/core/AccumulativeShadows.tsx +++ b/src/core/AccumulativeShadows.tsx @@ -1,6 +1,6 @@ import * as THREE from 'three' import * as React from 'react' -import { extend, ReactThreeFiber, useFrame, useThree } from '@react-three/fiber' +import { extend, ReactThreeFiber, ThreeElements, useFrame, useThree } from '@react-three/fiber' import { shaderMaterial } from './shaderMaterial' import { DiscardMaterial } from '../materials/DiscardMaterial' import { ForwardRefComponent } from '../helpers/ts-utils' @@ -65,11 +65,9 @@ type SoftShadowMaterialProps = { blend?: number } -declare global { - namespace JSX { - interface IntrinsicElements { - softShadowMaterial: JSX.IntrinsicElements['shaderMaterial'] & SoftShadowMaterialProps - } +declare module '@react-three/fiber' { + interface ThreeElements { + softShadowMaterial: ThreeElements['shaderMaterial'] & SoftShadowMaterialProps } } @@ -105,7 +103,7 @@ const SoftShadowMaterial = /* @__PURE__ */ shaderMaterial( ) export const AccumulativeShadows: ForwardRefComponent< - JSX.IntrinsicElements['group'] & AccumulativeShadowsProps, + ThreeElements['group'] & AccumulativeShadowsProps, AccumulativeContext > = /* @__PURE__ */ React.forwardRef( ( @@ -123,7 +121,7 @@ export const AccumulativeShadows: ForwardRefComponent< resolution = 1024, toneMapped = true, ...props - }: JSX.IntrinsicElements['group'] & AccumulativeShadowsProps, + }: ThreeElements['group'] & AccumulativeShadowsProps, forwardRef: React.ForwardedRef ) => { extend({ SoftShadowMaterial }) @@ -254,7 +252,7 @@ export type RandomizedLightProps = { } export const RandomizedLight: ForwardRefComponent< - JSX.IntrinsicElements['group'] & RandomizedLightProps, + ThreeElements['group'] & RandomizedLightProps, AccumulativeLightContext > = /* @__PURE__ */ React.forwardRef( ( @@ -265,14 +263,13 @@ export const RandomizedLight: ForwardRefComponent< size = 5, near = 0.5, far = 500, - frames = 1, position = [0, 0, 0], radius = 1, amount = 8, intensity = version >= 155 ? Math.PI : 1, ambient = 0.5, ...props - }: JSX.IntrinsicElements['group'] & RandomizedLightProps, + }: ThreeElements['group'] & RandomizedLightProps, forwardRef: React.ForwardedRef ) => { const gLights = React.useRef(null!) @@ -291,8 +288,8 @@ export const RandomizedLight: ForwardRefComponent< position[2] + THREE.MathUtils.randFloatSpread(radius) ) } else { - let lambda = Math.acos(2 * Math.random() - 1) - Math.PI / 2.0 - let phi = 2 * Math.PI * Math.random() + const lambda = Math.acos(2 * Math.random() - 1) - Math.PI / 2.0 + const phi = 2 * Math.PI * Math.random() light.position.set( Math.cos(lambda) * Math.cos(phi) * length, Math.abs(Math.cos(lambda) * Math.sin(phi) * length), diff --git a/src/core/AdaptiveDpr.tsx b/src/core/AdaptiveDpr.tsx index 98e809b73..5d461c1a3 100644 --- a/src/core/AdaptiveDpr.tsx +++ b/src/core/AdaptiveDpr.tsx @@ -5,8 +5,10 @@ export function AdaptiveDpr({ pixelated }: { pixelated?: boolean }) { const gl = useThree((state) => state.gl) const active = useThree((state) => state.internal.active) const current = useThree((state) => state.performance.current) - const initialDpr = useThree((state) => state.viewport.initialDpr) + const dpr = useThree((state) => state.dpr) + const initialDpr = React.useMemo(() => dpr, []) const setDpr = useThree((state) => state.setDpr) + // Restore initial pixelratio on unmount React.useEffect(() => { const domElement = gl.domElement @@ -15,6 +17,7 @@ export function AdaptiveDpr({ pixelated }: { pixelated?: boolean }) { if (pixelated && domElement) domElement.style.imageRendering = 'auto' } }, []) + // Set adaptive pixelratio React.useEffect(() => { setDpr(current * initialDpr) diff --git a/src/core/Backdrop.tsx b/src/core/Backdrop.tsx index 7306fcea8..acc9172b6 100644 --- a/src/core/Backdrop.tsx +++ b/src/core/Backdrop.tsx @@ -1,9 +1,10 @@ +import { ThreeElements } from '@react-three/fiber' import * as React from 'react' import { PlaneGeometry, BufferAttribute } from 'three' const easeInExpo = (x: number) => (x === 0 ? 0 : Math.pow(2, 10 * x - 10)) -export type BackdropProps = JSX.IntrinsicElements['group'] & { +export type BackdropProps = ThreeElements['group'] & { floor?: number segments?: number receiveShadow?: boolean diff --git a/src/core/Billboard.tsx b/src/core/Billboard.tsx index b5b10e714..0eb883979 100644 --- a/src/core/Billboard.tsx +++ b/src/core/Billboard.tsx @@ -1,6 +1,6 @@ import * as React from 'react' import { Group, Quaternion } from 'three' -import { useFrame } from '@react-three/fiber' +import { ThreeElements, useFrame } from '@react-three/fiber' import { ForwardRefComponent } from '../helpers/ts-utils' export type BillboardProps = { @@ -8,7 +8,7 @@ export type BillboardProps = { lockX?: boolean lockY?: boolean lockZ?: boolean -} & JSX.IntrinsicElements['group'] +} & ThreeElements['group'] /** * Wraps children in a billboarded group. Sample usage: diff --git a/src/core/Bounds.tsx b/src/core/Bounds.tsx index 73a1b38cd..3c9bd8c8d 100644 --- a/src/core/Bounds.tsx +++ b/src/core/Bounds.tsx @@ -1,7 +1,7 @@ import * as React from 'react' import * as THREE from 'three' -import { useFrame, useThree } from '@react-three/fiber' +import { ThreeElements, useFrame, useThree } from '@react-three/fiber' export type SizeProps = { box: THREE.Box3 @@ -27,7 +27,7 @@ export type BoundsApi = { clip(): BoundsApi } -export type BoundsProps = JSX.IntrinsicElements['group'] & { +export type BoundsProps = ThreeElements['group'] & { maxDuration?: number margin?: number observe?: boolean @@ -127,8 +127,9 @@ export function Bounds({ return { getSize, refresh(object?: THREE.Object3D | THREE.Box3) { - if (isBox3(object)) box.copy(object) - else { + if (isBox3(object)) { + box.copy(object) + } else { const target = object || ref.current if (!target) return this target.updateWorldMatrix(true, true) diff --git a/src/core/Caustics.tsx b/src/core/Caustics.tsx index 263412861..be4bec385 100644 --- a/src/core/Caustics.tsx +++ b/src/core/Caustics.tsx @@ -41,7 +41,7 @@ type CausticsProjectionMaterialType = THREE.MeshNormalMaterial & { lightViewMatrix?: THREE.Matrix4 } -type CausticsProps = JSX.IntrinsicElements['group'] & { +type CausticsProps = ThreeElements['group'] & { /** How many frames it will render, set it to Infinity for runtime, default: 1 */ frames?: number /** Enables visual cues to help you stage your scene, default: false */ diff --git a/src/core/Center.tsx b/src/core/Center.tsx index c3c1936ee..fe1c6ad46 100644 --- a/src/core/Center.tsx +++ b/src/core/Center.tsx @@ -1,6 +1,6 @@ import { Box3, Vector3, Sphere, Group, Object3D } from 'three' import * as React from 'react' -import { useThree } from '@react-three/fiber' +import { ThreeElements } from '@react-three/fiber' import { ForwardRefComponent } from '../helpers/ts-utils' export type OnCenterCallbackProps = { @@ -42,8 +42,8 @@ export type CenterProps = { cacheKey?: any } -export const Center: ForwardRefComponent = - /* @__PURE__ */ React.forwardRef(function Center( +export const Center: ForwardRefComponent = + /* @__PURE__ */ React.forwardRef(function Center( { children, disable, diff --git a/src/core/Clone.tsx b/src/core/Clone.tsx index 9845ca39f..f68086cf8 100644 --- a/src/core/Clone.tsx +++ b/src/core/Clone.tsx @@ -57,7 +57,7 @@ function createSpread( inject, castShadow, receiveShadow, - }: Omit & Partial + }: Omit & Partial ) { let spread: Record<(typeof keys)[number], any> = {} for (const key of keys) { @@ -81,7 +81,7 @@ function createSpread( return spread } -export const Clone: ForwardRefComponent & CloneProps, THREE.Group> = +export const Clone: ForwardRefComponent & CloneProps, THREE.Group> = /* @__PURE__ */ React.forwardRef( ( { @@ -94,7 +94,7 @@ export const Clone: ForwardRefComponent & CloneProps, + }: Omit & CloneProps, forwardRef: React.Ref ) => { const config = { keys, deep, inject, castShadow, receiveShadow } diff --git a/src/core/ContactShadows.tsx b/src/core/ContactShadows.tsx index c6d789879..01e68839e 100644 --- a/src/core/ContactShadows.tsx +++ b/src/core/ContactShadows.tsx @@ -3,7 +3,7 @@ import * as React from 'react' import * as THREE from 'three' -import { useFrame, useThree } from '@react-three/fiber' +import { ThreeElements, useFrame, useThree } from '@react-three/fiber' import { HorizontalBlurShader, VerticalBlurShader } from 'three-stdlib' import { ForwardRefComponent } from '../helpers/ts-utils' @@ -23,7 +23,7 @@ export type ContactShadowsProps = { } export const ContactShadows: ForwardRefComponent< - Omit & ContactShadowsProps, + Omit & ContactShadowsProps, THREE.Group > = /* @__PURE__ */ React.forwardRef( ( @@ -42,7 +42,7 @@ export const ContactShadows: ForwardRefComponent< depthWrite = false, renderOrder, ...props - }: Omit & ContactShadowsProps, + }: Omit & ContactShadowsProps, fref ) => { const ref = React.useRef(null!) diff --git a/src/core/CubeCamera.tsx b/src/core/CubeCamera.tsx index 895fc631a..7ba4e26a7 100644 --- a/src/core/CubeCamera.tsx +++ b/src/core/CubeCamera.tsx @@ -1,10 +1,10 @@ import { Group, Texture } from 'three' import * as React from 'react' -import { useFrame } from '@react-three/fiber' +import { ThreeElements, useFrame } from '@react-three/fiber' import { useCubeCamera, CubeCameraOptions } from './useCubeCamera' -type Props = Omit & { +type Props = Omit & { /** The contents of CubeCamera will be hidden when filming the cube */ children: (tex: Texture) => React.ReactNode /** Number of frames to render, Infinity */ diff --git a/src/core/CurveModifier.tsx b/src/core/CurveModifier.tsx index b6012113d..bed7f88a4 100644 --- a/src/core/CurveModifier.tsx +++ b/src/core/CurveModifier.tsx @@ -1,11 +1,11 @@ import * as React from 'react' import * as THREE from 'three' -import { createPortal } from '@react-three/fiber' +import { ThreeElements, createPortal } from '@react-three/fiber' import { Flow } from 'three-stdlib' import { ForwardRefComponent } from '../helpers/ts-utils' export interface CurveModifierProps { - children: React.ReactElement + children: React.ReactElement curve?: THREE.Curve } diff --git a/src/core/Decal.tsx b/src/core/Decal.tsx index 77ec4039a..a6615af5e 100644 --- a/src/core/Decal.tsx +++ b/src/core/Decal.tsx @@ -1,11 +1,11 @@ import * as React from 'react' import * as THREE from 'three' import * as FIBER from '@react-three/fiber' -import { applyProps } from '@react-three/fiber' +import { ThreeElements, applyProps } from '@react-three/fiber' import { DecalGeometry } from 'three-stdlib' import { ForwardRefComponent } from '../helpers/ts-utils' -export type DecalProps = Omit & { +export type DecalProps = Omit & { debug?: boolean mesh?: React.MutableRefObject position?: FIBER.Vector3 diff --git a/src/core/Detailed.tsx b/src/core/Detailed.tsx index 12a307b15..cca1abb3e 100644 --- a/src/core/Detailed.tsx +++ b/src/core/Detailed.tsx @@ -1,9 +1,9 @@ import * as React from 'react' import { LOD, Object3D } from 'three' -import { useFrame } from '@react-three/fiber' +import { useFrame, ThreeElements } from '@react-three/fiber' import { ForwardRefComponent } from '../helpers/ts-utils' -type Props = JSX.IntrinsicElements['lOD'] & { +type Props = ThreeElements['lOD'] & { children: React.ReactElement[] hysteresis?: number distances: number[] diff --git a/src/core/Effects.tsx b/src/core/Effects.tsx index 6532c849c..aa64ff1c1 100644 --- a/src/core/Effects.tsx +++ b/src/core/Effects.tsx @@ -58,7 +58,7 @@ export const Effects: ForwardRefComponent = /* @__PURE__ React.useMemo(() => extend({ EffectComposer, RenderPass, ShaderPass }), []) const composer = React.useRef(null!) React.useImperativeHandle(ref, () => composer.current, []) - const { scene, camera, gl, size, viewport } = useThree() + const { scene, camera, gl, size, dpr } = useThree() const [target] = React.useState(() => { const t = new WebGLRenderTarget(size.width, size.height, { type: type || HalfFloatType, @@ -80,8 +80,8 @@ export const Effects: ForwardRefComponent = /* @__PURE__ React.useEffect(() => { composer.current?.setSize(size.width, size.height) - composer.current?.setPixelRatio(viewport.dpr) - }, [gl, size, viewport.dpr]) + composer.current?.setPixelRatio(dpr) + }, [gl, size, dpr]) useFrame(() => { if (!disableRender) composer.current?.render() diff --git a/src/core/Example.tsx b/src/core/Example.tsx index d2bc14cd5..42a79fa17 100644 --- a/src/core/Example.tsx +++ b/src/core/Example.tsx @@ -1,7 +1,5 @@ -/* eslint react-hooks/exhaustive-deps: 1 */ import * as React from 'react' -import * as THREE from 'three' -import type { Color } from '@react-three/fiber' +import type { Color, ThreeElements } from '@react-three/fiber' import { Text3D } from './Text3D' import { Center } from './Center' @@ -11,7 +9,7 @@ export type ExampleProps = { color?: Color debug?: boolean bevelSize?: number -} & JSX.IntrinsicElements['group'] +} & ThreeElements['group'] export type ExampleApi = { incr: (x?: number) => void diff --git a/src/core/Fisheye.tsx b/src/core/Fisheye.tsx index dfa3c2618..8d05db22b 100644 --- a/src/core/Fisheye.tsx +++ b/src/core/Fisheye.tsx @@ -5,10 +5,10 @@ import * as THREE from 'three' import * as React from 'react' -import { useFrame, useThree } from '@react-three/fiber' +import { ThreeElements, useFrame, useThree } from '@react-three/fiber' import { RenderCubeTexture, RenderCubeTextureApi } from './RenderCubeTexture' -export type FisheyeProps = JSX.IntrinsicElements['mesh'] & { +export type FisheyeProps = ThreeElements['mesh'] & { /** Zoom factor, 0..1, 0 */ zoom?: number /** Number of segments, 64 */ @@ -55,7 +55,7 @@ export function Fisheye({ const sph = new THREE.Sphere(new THREE.Vector3(), radius) const normalMatrix = new THREE.Matrix3() - const compute = React.useCallback((event, state, prev) => { + const compute = React.useCallback((event, state) => { // Raycast from the render camera to the sphere and get the surface normal // of the point hit in world space of the sphere scene // We have to set the raycaster using the orthocam and pointer diff --git a/src/core/Float.tsx b/src/core/Float.tsx index 20c2dfd92..2ff812a13 100644 --- a/src/core/Float.tsx +++ b/src/core/Float.tsx @@ -1,9 +1,9 @@ import * as React from 'react' -import { useFrame } from '@react-three/fiber' +import { ThreeElements, useFrame } from '@react-three/fiber' import * as THREE from 'three' import { ForwardRefComponent } from '../helpers/ts-utils' -export type FloatProps = JSX.IntrinsicElements['group'] & { +export type FloatProps = ThreeElements['group'] & { enabled?: boolean speed?: number rotationIntensity?: number diff --git a/src/core/GizmoHelper.tsx b/src/core/GizmoHelper.tsx index 8f72c4fb2..c281ad4ab 100644 --- a/src/core/GizmoHelper.tsx +++ b/src/core/GizmoHelper.tsx @@ -1,5 +1,5 @@ import * as React from 'react' -import { useFrame, useThree } from '@react-three/fiber' +import { ThreeElements, useFrame, useThree } from '@react-three/fiber' import { Group, Matrix4, Object3D, OrthographicCamera as OrthographicCameraImpl, Quaternion, Vector3 } from 'three' import { OrthographicCamera } from './OrthographicCamera' import { OrbitControls as OrbitControlsType } from 'three-stdlib' @@ -24,7 +24,7 @@ const targetPosition = /* @__PURE__ */ new Vector3() type ControlsProto = { update(): void; target: Vector3 } -export type GizmoHelperProps = JSX.IntrinsicElements['group'] & { +export type GizmoHelperProps = ThreeElements['group'] & { alignment?: | 'top-left' | 'top-right' diff --git a/src/core/GizmoViewport.tsx b/src/core/GizmoViewport.tsx index a8e12697e..1246a4b40 100644 --- a/src/core/GizmoViewport.tsx +++ b/src/core/GizmoViewport.tsx @@ -1,5 +1,5 @@ import * as React from 'react' -import { useThree, ThreeEvent } from '@react-three/fiber' +import { useThree, ThreeEvent, ThreeElements } from '@react-three/fiber' import { CanvasTexture } from 'three' import { useGizmoContext } from './GizmoHelper' @@ -9,7 +9,7 @@ type AxisProps = { scale?: [number, number, number] } -type AxisHeadProps = JSX.IntrinsicElements['sprite'] & { +type AxisHeadProps = ThreeElements['sprite'] & { arcStyle: string label?: string labelColor: string @@ -19,7 +19,7 @@ type AxisHeadProps = JSX.IntrinsicElements['sprite'] & { onClick?: (e: ThreeEvent) => null } -type GizmoViewportProps = JSX.IntrinsicElements['group'] & { +type GizmoViewportProps = ThreeElements['group'] & { axisColors?: [string, string, string] axisScale?: [number, number, number] labels?: [string, string, string] diff --git a/src/core/Gltf.tsx b/src/core/Gltf.tsx index 363d0d007..39edbdc56 100644 --- a/src/core/Gltf.tsx +++ b/src/core/Gltf.tsx @@ -3,8 +3,9 @@ import * as THREE from 'three' import { useGLTF } from './useGLTF' import { Clone, CloneProps } from './Clone' import { ForwardRefComponent } from '../helpers/ts-utils' +import { ThreeElements } from '@react-three/fiber' -type GltfProps = Omit & +type GltfProps = Omit & Omit & { src: string } diff --git a/src/core/GradientTexture.tsx b/src/core/GradientTexture.tsx index 9168a3201..183bc992b 100644 --- a/src/core/GradientTexture.tsx +++ b/src/core/GradientTexture.tsx @@ -1,5 +1,5 @@ import * as React from 'react' -import { useThree } from '@react-three/fiber' +import { ThreeElements, useThree } from '@react-three/fiber' export enum GradientType { Linear = 'linear', Radial = 'radial', @@ -14,7 +14,7 @@ type Props = { type?: GradientType innerCircleRadius?: number outerCircleRadius?: string | number -} & JSX.IntrinsicElements['texture'] +} & ThreeElements['texture'] export function GradientTexture({ stops, diff --git a/src/core/Grid.tsx b/src/core/Grid.tsx index 5b77c20aa..a45d58ef6 100644 --- a/src/core/Grid.tsx +++ b/src/core/Grid.tsx @@ -6,7 +6,7 @@ import * as React from 'react' import * as THREE from 'three' -import { extend, useFrame } from '@react-three/fiber' +import { ThreeElements, extend, useFrame } from '@react-three/fiber' import { shaderMaterial } from './shaderMaterial' import { ForwardRefComponent } from '../helpers/ts-utils' import { version } from '../helpers/constants' @@ -41,11 +41,9 @@ export type GridProps = GridMaterialType & { args?: ConstructorParameters } -declare global { - namespace JSX { - interface IntrinsicElements { - gridMaterial: JSX.IntrinsicElements['shaderMaterial'] & GridMaterialType - } +declare module '@react-three/fiber' { + interface ThreeElements { + gridMaterial: ThreeElements['shaderMaterial'] & GridMaterialType } } @@ -126,7 +124,7 @@ const GridMaterial = /* @__PURE__ */ shaderMaterial( ` ) -export const Grid: ForwardRefComponent & GridProps, THREE.Mesh> = +export const Grid: ForwardRefComponent & GridProps, THREE.Mesh> = /* @__PURE__ */ React.forwardRef( ( { @@ -143,7 +141,7 @@ export const Grid: ForwardRefComponent & GridProps, + }: Omit & GridProps, fRef: React.ForwardedRef ) => { extend({ GridMaterial }) diff --git a/src/core/Image.tsx b/src/core/Image.tsx index 71c395a5d..59c5d4dfc 100644 --- a/src/core/Image.tsx +++ b/src/core/Image.tsx @@ -1,12 +1,12 @@ import * as React from 'react' import * as THREE from 'three' -import { Color, extend, useThree } from '@react-three/fiber' +import { Color, ThreeElements, extend, useThree } from '@react-three/fiber' import { shaderMaterial } from './shaderMaterial' import { useTexture } from './useTexture' import { ForwardRefComponent } from '../helpers/ts-utils' import { version } from '../helpers/constants' -export type ImageProps = Omit & { +export type ImageProps = Omit & { segments?: number scale?: number | [number, number] color?: Color @@ -19,7 +19,7 @@ export type ImageProps = Omit & { side?: THREE.Side } & ({ texture: THREE.Texture; url?: never } | { texture?: never; url: string }) // {texture: THREE.Texture} XOR {url: string} -type ImageMaterialType = JSX.IntrinsicElements['shaderMaterial'] & { +type ImageMaterialType = ThreeElements['shaderMaterial'] & { scale?: number[] imageBounds?: number[] radius?: number diff --git a/src/core/Instances.tsx b/src/core/Instances.tsx index a0d5bf41d..1299d0799 100644 --- a/src/core/Instances.tsx +++ b/src/core/Instances.tsx @@ -1,15 +1,13 @@ import * as THREE from 'three' import * as React from 'react' -import { ThreeElement, extend, useFrame } from '@react-three/fiber' +import { ThreeElement, ThreeElements, extend, useFrame } from '@react-three/fiber' import Composer from 'react-composer' import { ForwardRefComponent } from '../helpers/ts-utils' import { setUpdateRange } from '../helpers/deprecated' -declare global { - namespace JSX { - interface IntrinsicElements { - positionMesh: ThreeElement - } +declare module '@react-three/fiber' { + interface ThreeElements { + positionMesh: ThreeElement } } @@ -18,13 +16,13 @@ type Api = { subscribe: (ref: React.MutableRefObject) => void } -export type InstancesProps = JSX.IntrinsicElements['instancedMesh'] & { +export type InstancesProps = ThreeElements['instancedMesh'] & { range?: number limit?: number frames?: number } -export type InstanceProps = JSX.IntrinsicElements['positionMesh'] & { +export type InstanceProps = ThreeElements['positionMesh'] & { context?: React.Context } @@ -49,7 +47,7 @@ const _mesh = /* @__PURE__ */ new THREE.Mesh - instanceKey: React.MutableRefObject + instanceKey: React.MutableRefObject constructor() { super() this.color = new THREE.Color('white') @@ -102,7 +100,7 @@ const scale = /* @__PURE__ */ new THREE.Vector3() export const Instance = /* @__PURE__ */ React.forwardRef(({ context, children, ...props }: InstanceProps, ref) => { React.useMemo(() => extend({ PositionMesh }), []) - const group = React.useRef() + const group = React.useRef() React.useImperativeHandle(ref, () => group.current, []) const { subscribe, getParent } = React.useContext(context || globalContext) React.useLayoutEffect(() => subscribe(group), []) diff --git a/src/core/Lightformer.tsx b/src/core/Lightformer.tsx index 606913368..d2e9cd6c9 100644 --- a/src/core/Lightformer.tsx +++ b/src/core/Lightformer.tsx @@ -1,9 +1,9 @@ -import { applyProps, ReactThreeFiber, useThree } from '@react-three/fiber' +import { applyProps, ReactThreeFiber, ThreeElements } from '@react-three/fiber' import * as React from 'react' import * as THREE from 'three' import { ForwardRefComponent } from '../helpers/ts-utils' -export type LightProps = JSX.IntrinsicElements['mesh'] & { +export type LightProps = ThreeElements['mesh'] & { args?: any[] map?: THREE.Texture toneMapped?: boolean diff --git a/src/core/MarchingCubes.tsx b/src/core/MarchingCubes.tsx index a3b3c7b48..98fe26e03 100644 --- a/src/core/MarchingCubes.tsx +++ b/src/core/MarchingCubes.tsx @@ -2,7 +2,7 @@ import * as THREE from 'three' import * as React from 'react' import { Color, Group } from 'three' import { MarchingCubes as MarchingCubesImpl } from 'three-stdlib' -import { useFrame } from '@react-three/fiber' +import { ThreeElements, useFrame } from '@react-three/fiber' import { ForwardRefComponent } from '../helpers/ts-utils' type Api = { @@ -16,7 +16,7 @@ export type MarchingCubesProps = { maxPolyCount?: number enableUvs?: boolean enableColors?: boolean -} & JSX.IntrinsicElements['group'] +} & ThreeElements['group'] export const MarchingCubes: ForwardRefComponent = /* @__PURE__ */ React.forwardRef( @@ -59,7 +59,7 @@ type MarchingCubeProps = { strength?: number subtract?: number color?: Color -} & JSX.IntrinsicElements['group'] +} & ThreeElements['group'] export const MarchingCube: ForwardRefComponent = /* @__PURE__ */ React.forwardRef( ({ strength = 0.5, subtract = 12, color, ...props }: MarchingCubeProps, ref) => { @@ -67,12 +67,14 @@ export const MarchingCube: ForwardRefComponent = const parentRef = React.useMemo(() => getParent(), [getParent]) const cubeRef = React.useRef(null!) React.useImperativeHandle(ref, () => cubeRef.current, []) - const vec = new THREE.Vector3() - useFrame((state) => { + const vec = React.useMemo(() => new THREE.Vector3(), []) + + useFrame(() => { if (!parentRef.current || !cubeRef.current) return cubeRef.current.getWorldPosition(vec) parentRef.current.addBall(0.5 + vec.x * 0.5, 0.5 + vec.y * 0.5, 0.5 + vec.z * 0.5, strength, subtract, color) }) + return } ) @@ -81,7 +83,7 @@ type MarchingPlaneProps = { planeType?: 'x' | 'y' | 'z' strength?: number subtract?: number -} & JSX.IntrinsicElements['group'] +} & ThreeElements['group'] export const MarchingPlane: ForwardRefComponent = /* @__PURE__ */ React.forwardRef( ({ planeType: _planeType = 'x', strength = 0.5, subtract = 12, ...props }: MarchingPlaneProps, ref) => { diff --git a/src/core/Mask.tsx b/src/core/Mask.tsx index 4e04769ba..336d00ae6 100644 --- a/src/core/Mask.tsx +++ b/src/core/Mask.tsx @@ -1,8 +1,9 @@ import * as THREE from 'three' import * as React from 'react' import { ForwardRefComponent } from '../helpers/ts-utils' +import { ThreeElements } from '@react-three/fiber' -type Props = Omit & { +type Props = Omit & { /** Each mask must have an id, you can have compound masks referring to the same id */ id: number /** If colors of the masks own material will leak through, default: false */ diff --git a/src/core/MeshDiscardMaterial.tsx b/src/core/MeshDiscardMaterial.tsx index 2c5007af1..089996eb8 100644 --- a/src/core/MeshDiscardMaterial.tsx +++ b/src/core/MeshDiscardMaterial.tsx @@ -4,17 +4,15 @@ import { extend, ThreeElements } from '@react-three/fiber' import { DiscardMaterial as DiscardMaterialImpl } from '../materials/DiscardMaterial' import { ForwardRefComponent } from '../helpers/ts-utils' -declare global { - namespace JSX { - interface IntrinsicElements { - discardMaterialImpl: ThreeElements['shaderMaterial'] - } +declare module '@react-three/fiber' { + interface ThreeElements { + discardMaterialImpl: ThreeElements['shaderMaterial'] } } -export const MeshDiscardMaterial: ForwardRefComponent = +export const MeshDiscardMaterial: ForwardRefComponent = /* @__PURE__ */ React.forwardRef( - (props: JSX.IntrinsicElements['shaderMaterial'], fref: React.ForwardedRef) => { + (props: ThreeElements['shaderMaterial'], fref: React.ForwardedRef) => { extend({ DiscardMaterialImpl }) return } diff --git a/src/core/MeshDistortMaterial.tsx b/src/core/MeshDistortMaterial.tsx index 29f180c94..ce858573d 100644 --- a/src/core/MeshDistortMaterial.tsx +++ b/src/core/MeshDistortMaterial.tsx @@ -1,12 +1,11 @@ import * as React from 'react' import { IUniform, MeshPhysicalMaterial, MeshPhysicalMaterialParameters } from 'three' -import { useFrame } from '@react-three/fiber' -// eslint-disable-next-line -// @ts-ignore +import { ThreeElements, useFrame } from '@react-three/fiber' +// @ts-expect-error import distort from '../helpers/glsl/distort.vert.glsl' import { ForwardRefComponent } from '../helpers/ts-utils' -type DistortMaterialType = JSX.IntrinsicElements['meshPhysicalMaterial'] & { +type DistortMaterialType = ThreeElements['meshPhysicalMaterial'] & { time?: number distort?: number radius?: number diff --git a/src/core/MeshPortalMaterial.tsx b/src/core/MeshPortalMaterial.tsx index 12f3806e5..d5d76d8e3 100644 --- a/src/core/MeshPortalMaterial.tsx +++ b/src/core/MeshPortalMaterial.tsx @@ -5,7 +5,7 @@ import * as THREE from 'three' import * as React from 'react' -import { ReactThreeFiber, extend, useFrame, useThree } from '@react-three/fiber' +import { ReactThreeFiber, ThreeElements, extend, useFrame, useThree } from '@react-three/fiber' import { useIntersect } from './useIntersect' import { useFBO } from './useFBO' import { RenderTexture } from './RenderTexture' @@ -54,7 +54,7 @@ export type PortalMaterialType = { size?: number sdf?: THREE.Texture map?: THREE.Texture -} & JSX.IntrinsicElements['shaderMaterial'] +} & ThreeElements['shaderMaterial'] declare global { namespace JSX { @@ -64,7 +64,7 @@ declare global { } } -export type PortalProps = JSX.IntrinsicElements['shaderMaterial'] & { +export type PortalProps = ThreeElements['shaderMaterial'] & { /** Mix the portals own scene with the world scene, 0 = world scene render, * 0.5 = both scenes render, 1 = portal scene renders, defaults to 0 */ blend?: number @@ -99,7 +99,7 @@ export const MeshPortalMaterial = /* @__PURE__ */ React.forwardRef( extend({ PortalMaterialImpl }) const ref = React.useRef(null!) - const { scene, gl, size, viewport, setEvents } = useThree() + const { scene, gl, size, dpr, setEvents } = useThree() const maskRenderTarget = useFBO(resolution, resolution) const [priority, setPriority] = React.useState(0) @@ -163,7 +163,7 @@ export const MeshPortalMaterial = /* @__PURE__ */ React.forwardRef( React.useImperativeHandle(fref, () => ref.current) - const compute = React.useCallback((event, state, previous) => { + const compute = React.useCallback((event, state) => { if (!parent.current) return false state.pointer.set((event.offsetX / state.size.width) * 2 - 1, -(event.offsetY / state.size.height) * 2 + 1) state.raycaster.setFromCamera(state.pointer, state.camera) @@ -184,7 +184,7 @@ export const MeshPortalMaterial = /* @__PURE__ */ React.forwardRef( ref={ref as any} blur={blur} blend={0} - resolution={[size.width * viewport.dpr, size.height * viewport.dpr]} + resolution={[size.width * dpr, size.height * dpr]} attach="material" {...props} > @@ -270,14 +270,16 @@ function ManagePortalScene({ }, []) useFrame((state) => { - let parent = (material?.current as any)?.__r3f.parent + const parent = (material?.current as any)?.__r3f.parent if (parent) { // Move portal contents along with the parent if worldUnits is true if (!worldUnits) { // If the portal renders exclusively the original scene needs to be updated if (priority && material.current?.blend === 1) parent.updateWorldMatrix(true, false) scene.matrixWorld.copy(parent.matrixWorld) - } else scene.matrixWorld.identity() + } else { + scene.matrixWorld.identity() + } // This bit is only necessary if the portal is blended, now it has a render-priority // and will take over the render loop @@ -303,41 +305,42 @@ function ManagePortalScene({ } const makeSDFGenerator = (clientWidth, clientHeight, renderer) => { - let finalTarget = new THREE.WebGLRenderTarget(clientWidth, clientHeight, { + const finalTarget = new THREE.WebGLRenderTarget(clientWidth, clientHeight, { minFilter: THREE.LinearMipmapLinearFilter, magFilter: THREE.LinearFilter, type: THREE.FloatType, format: THREE.RedFormat, generateMipmaps: true, }) - let outsideRenderTarget = new THREE.WebGLRenderTarget(clientWidth, clientHeight, { + const outsideRenderTarget = new THREE.WebGLRenderTarget(clientWidth, clientHeight, { minFilter: THREE.NearestFilter, magFilter: THREE.NearestFilter, }) - let insideRenderTarget = new THREE.WebGLRenderTarget(clientWidth, clientHeight, { + const insideRenderTarget = new THREE.WebGLRenderTarget(clientWidth, clientHeight, { minFilter: THREE.NearestFilter, magFilter: THREE.NearestFilter, }) - let outsideRenderTarget2 = new THREE.WebGLRenderTarget(clientWidth, clientHeight, { + const outsideRenderTarget2 = new THREE.WebGLRenderTarget(clientWidth, clientHeight, { minFilter: THREE.NearestFilter, magFilter: THREE.NearestFilter, }) - let insideRenderTarget2 = new THREE.WebGLRenderTarget(clientWidth, clientHeight, { + const insideRenderTarget2 = new THREE.WebGLRenderTarget(clientWidth, clientHeight, { minFilter: THREE.NearestFilter, magFilter: THREE.NearestFilter, }) - let outsideRenderTargetFinal = new THREE.WebGLRenderTarget(clientWidth, clientHeight, { + const outsideRenderTargetFinal = new THREE.WebGLRenderTarget(clientWidth, clientHeight, { minFilter: THREE.NearestFilter, magFilter: THREE.NearestFilter, type: THREE.FloatType, format: THREE.RedFormat, }) - let insideRenderTargetFinal = new THREE.WebGLRenderTarget(clientWidth, clientHeight, { + const insideRenderTargetFinal = new THREE.WebGLRenderTarget(clientWidth, clientHeight, { minFilter: THREE.NearestFilter, magFilter: THREE.NearestFilter, type: THREE.FloatType, format: THREE.RedFormat, }) + const uvRender = new FullScreenQuad( new THREE.ShaderMaterial({ uniforms: { tex: { value: null } }, @@ -468,7 +471,7 @@ const makeSDFGenerator = (clientWidth, clientHeight, renderer) => { ) return (image: THREE.Texture) => { - let ft = finalTarget + const ft = finalTarget image.minFilter = THREE.NearestFilter image.magFilter = THREE.NearestFilter uvRender.material.uniforms.tex.value = image diff --git a/src/core/MeshReflectorMaterial.tsx b/src/core/MeshReflectorMaterial.tsx index 1de3fd40b..f64347faf 100644 --- a/src/core/MeshReflectorMaterial.tsx +++ b/src/core/MeshReflectorMaterial.tsx @@ -13,7 +13,7 @@ import { Texture, HalfFloatType, } from 'three' -import { useFrame, useThree, extend } from '@react-three/fiber' +import { useFrame, useThree, extend, ThreeElements } from '@react-three/fiber' import { BlurPass } from '../materials/BlurPass' import { @@ -22,7 +22,7 @@ import { } from '../materials/MeshReflectorMaterial' import { ForwardRefComponent } from '../helpers/ts-utils' -type Props = JSX.IntrinsicElements['meshStandardMaterial'] & { +type Props = ThreeElements['meshStandardMaterial'] & { resolution?: number mixBlur?: number mixStrength?: number diff --git a/src/core/MeshRefractionMaterial.tsx b/src/core/MeshRefractionMaterial.tsx index 8d04f1ea0..16a758e34 100644 --- a/src/core/MeshRefractionMaterial.tsx +++ b/src/core/MeshRefractionMaterial.tsx @@ -1,7 +1,7 @@ import * as THREE from 'three' import * as React from 'react' import { useLayoutEffect, useMemo, useRef } from 'react' -import { extend, ReactThreeFiber, useThree, useFrame } from '@react-three/fiber' +import { extend, ReactThreeFiber, useThree, useFrame, ThreeElements } from '@react-three/fiber' import { MeshBVHUniformStruct, MeshBVH, SAH } from 'three-mesh-bvh' import { MeshRefractionMaterial as MeshRefractionMaterial_ } from '../materials/MeshRefractionMaterial' @@ -13,7 +13,7 @@ declare global { } } -type MeshRefractionMaterialProps = JSX.IntrinsicElements['shaderMaterial'] & { +type MeshRefractionMaterialProps = ThreeElements['shaderMaterial'] & { /** Environment map */ envMap: THREE.CubeTexture | THREE.Texture /** Number of ray-cast bounces, it can be expensive to have too many, 2 */ diff --git a/src/core/MeshTransmissionMaterial.tsx b/src/core/MeshTransmissionMaterial.tsx index 786cffb76..c938e1307 100644 --- a/src/core/MeshTransmissionMaterial.tsx +++ b/src/core/MeshTransmissionMaterial.tsx @@ -6,13 +6,13 @@ import * as THREE from 'three' import * as React from 'react' -import { extend, useFrame } from '@react-three/fiber' +import { ThreeElements, extend, useFrame } from '@react-three/fiber' import { useFBO } from './useFBO' import { DiscardMaterial } from '../materials/DiscardMaterial' import { ForwardRefComponent } from '../helpers/ts-utils' type MeshTransmissionMaterialType = Omit< - JSX.IntrinsicElements['meshPhysicalMaterial'], + ThreeElements['meshPhysicalMaterial'], 'args' | 'roughness' | 'thickness' | 'transmission' > & { /* Transmission, default: 1 */ @@ -72,11 +72,9 @@ interface Shader { fragmentShader: string } -declare global { - namespace JSX { - interface IntrinsicElements { - meshTransmissionMaterial: MeshTransmissionMaterialType - } +declare module '@react-three/fiber' { + interface ThreeElements { + meshTransmissionMaterial: MeshTransmissionMaterialType } } @@ -380,7 +378,7 @@ class MeshTransmissionMaterialImpl extends THREE.MeshPhysicalMaterial { export const MeshTransmissionMaterial: ForwardRefComponent< MeshTransmissionMaterialProps, - JSX.IntrinsicElements['meshTransmissionMaterial'] + ThreeElements['meshTransmissionMaterial'] > = /* @__PURE__ */ React.forwardRef( ( { @@ -404,7 +402,7 @@ export const MeshTransmissionMaterial: ForwardRefComponent< ) => { extend({ MeshTransmissionMaterial: MeshTransmissionMaterialImpl }) - const ref = React.useRef(null!) + const ref = React.useRef(null!) const [discardMaterial] = React.useState(() => new DiscardMaterial()) const fboBack = useFBO(backsideResolution || resolution) const fboMain = useFBO(resolution) diff --git a/src/core/MeshWobbleMaterial.tsx b/src/core/MeshWobbleMaterial.tsx index 09e17fde3..faa1a8cc5 100644 --- a/src/core/MeshWobbleMaterial.tsx +++ b/src/core/MeshWobbleMaterial.tsx @@ -1,9 +1,9 @@ import * as React from 'react' import { IUniform, MeshStandardMaterial, MeshStandardMaterialParameters } from 'three' -import { useFrame } from '@react-three/fiber' +import { ThreeElements, useFrame } from '@react-three/fiber' import { ForwardRefComponent } from '../helpers/ts-utils' -type WobbleMaterialType = JSX.IntrinsicElements['meshStandardMaterial'] & { +type WobbleMaterialType = ThreeElements['meshStandardMaterial'] & { time?: number factor?: number speed?: number diff --git a/src/core/MotionPathControls.tsx b/src/core/MotionPathControls.tsx index b1cb52349..92c9f4b9a 100644 --- a/src/core/MotionPathControls.tsx +++ b/src/core/MotionPathControls.tsx @@ -1,10 +1,10 @@ /* eslint-disable prettier/prettier */ import * as THREE from 'three' import * as React from 'react' -import { useFrame, useThree } from '@react-three/fiber' +import { ThreeElements, useFrame, useThree } from '@react-three/fiber' import { easing, misc } from 'maath' -type MotionPathProps = JSX.IntrinsicElements['group'] & { +type MotionPathProps = ThreeElements['group'] & { /** An optional array of THREE curves */ curves?: THREE.Curve[] /** Show debug helpers */ diff --git a/src/core/OrthographicCamera.tsx b/src/core/OrthographicCamera.tsx index ead555763..2c470d89a 100644 --- a/src/core/OrthographicCamera.tsx +++ b/src/core/OrthographicCamera.tsx @@ -1,13 +1,13 @@ import * as THREE from 'three' import * as React from 'react' import { OrthographicCamera as OrthographicCameraImpl } from 'three' -import { useThree, useFrame } from '@react-three/fiber' +import { useThree, useFrame, ThreeElements } from '@react-three/fiber' import { useFBO } from './useFBO' import { ForwardRefComponent } from '../helpers/ts-utils' const isFunction = (node: any): node is Function => typeof node === 'function' -type Props = Omit & { +type Props = Omit & { /** Registers the camera as the system default, fiber will start rendering with it */ makeDefault?: boolean /** Making it manual will stop responsiveness and you have to calculate aspect ratio yourself. */ diff --git a/src/core/Outlines.tsx b/src/core/Outlines.tsx index 0541878e5..e36570dd3 100644 --- a/src/core/Outlines.tsx +++ b/src/core/Outlines.tsx @@ -1,7 +1,7 @@ import * as THREE from 'three' import * as React from 'react' import { shaderMaterial } from './shaderMaterial' -import { extend, applyProps, ReactThreeFiber, useThree } from '@react-three/fiber' +import { extend, applyProps, ReactThreeFiber, useThree, ThreeElements } from '@react-three/fiber' import { toCreasedNormals } from 'three-stdlib' import { version } from '../helpers/constants' @@ -57,7 +57,7 @@ const OutlinesMaterial = /* @__PURE__ */ shaderMaterial( }` ) -type OutlinesProps = JSX.IntrinsicElements['group'] & { +type OutlinesProps = ThreeElements['group'] & { /** Outline color, default: black */ color?: ReactThreeFiber.Color /** Line thickness is independent of zoom, default: false */ diff --git a/src/core/PerspectiveCamera.tsx b/src/core/PerspectiveCamera.tsx index dd52dce44..32259a5a6 100644 --- a/src/core/PerspectiveCamera.tsx +++ b/src/core/PerspectiveCamera.tsx @@ -1,13 +1,13 @@ import * as THREE from 'three' import * as React from 'react' import { PerspectiveCamera as PerspectiveCameraImpl } from 'three' -import { useFrame, useThree } from '@react-three/fiber' +import { ThreeElements, useFrame, useThree } from '@react-three/fiber' import { useFBO } from './useFBO' import { ForwardRefComponent } from '../helpers/ts-utils' const isFunction = (node: any): node is Function => typeof node === 'function' -type Props = Omit & { +type Props = Omit & { /** Registers the camera as the system default, fiber will start rendering with it */ makeDefault?: boolean /** Making it manual will stop responsiveness and you have to calculate aspect ratio yourself. */ diff --git a/src/core/PointMaterial.tsx b/src/core/PointMaterial.tsx index d53942925..d1df5d3cb 100644 --- a/src/core/PointMaterial.tsx +++ b/src/core/PointMaterial.tsx @@ -4,13 +4,9 @@ import { ForwardRefComponent } from '../helpers/ts-utils' import { version } from '../helpers/constants' import { ThreeElements } from '@react-three/fiber' -type PointMaterialType = JSX.IntrinsicElements['pointsMaterial'] - -declare global { - namespace JSX { - interface IntrinsicElements { - pointMaterialImpl: PointMaterialType - } +declare module '@react-three/fiber' { + interface IntrinsicElements { + pointMaterialImpl: ThreeElements['pointsMaterial'] } } diff --git a/src/core/Points.tsx b/src/core/Points.tsx index d5ff56687..2e608f425 100644 --- a/src/core/Points.tsx +++ b/src/core/Points.tsx @@ -1,13 +1,11 @@ import * as THREE from 'three' import * as React from 'react' -import { ThreeElement, extend, useFrame } from '@react-three/fiber' +import { ThreeElement, ThreeElements, extend, useFrame } from '@react-three/fiber' import { ForwardRefComponent } from '../helpers/ts-utils' -declare global { - namespace JSX { - interface IntrinsicElements { - positionPoint: ThreeElement - } +declare module '@react-three/fiber' { + interface ThreeElements { + positionPoint: ThreeElement } } @@ -16,7 +14,7 @@ type Api = { subscribe: (ref) => void } -type PointsInstancesProps = JSX.IntrinsicElements['points'] & { +type PointsInstancesProps = ThreeElements['points'] & { range?: number limit?: number } @@ -30,7 +28,7 @@ export class PositionPoint extends THREE.Group { size: number color: THREE.Color instance: React.MutableRefObject - instanceKey: React.MutableRefObject + instanceKey: React.MutableRefObject constructor() { super() this.size = 0 @@ -167,8 +165,8 @@ const PointsInstances: ForwardRefComponent = ) }) -export const Point: ForwardRefComponent = - /* @__PURE__ */ React.forwardRef(({ children, ...props }: JSX.IntrinsicElements['positionPoint'], ref) => { +export const Point: ForwardRefComponent = + /* @__PURE__ */ React.forwardRef(({ children, ...props }: ThreeElements['positionPoint'], ref) => { React.useMemo(() => extend({ PositionPoint }), []) const group = React.useRef(null!) React.useImperativeHandle(ref, () => group.current, []) @@ -184,7 +182,7 @@ export const Point: ForwardRefComponent & - Pick & { +declare module '@react-three/fiber' { + interface ThreeElements { + meshReflectorMaterial: MeshReflectorMaterialProps + } +} + +export type ReflectorProps = Omit & + Pick & { resolution?: number mixBlur?: number mixStrength?: number @@ -37,20 +43,12 @@ export type ReflectorProps = Omit, + Component: React.ElementType, ComponentProps: MeshReflectorMaterialProps ): JSX.Element | null } } -declare global { - namespace JSX { - interface IntrinsicElements { - meshReflectorMaterial: MeshReflectorMaterialProps - } - } -} - /** * @deprecated Use MeshReflectorMaterial instead */ diff --git a/src/core/RenderCubeTexture.tsx b/src/core/RenderCubeTexture.tsx index 2bebd43a3..064de6d20 100644 --- a/src/core/RenderCubeTexture.tsx +++ b/src/core/RenderCubeTexture.tsx @@ -1,9 +1,9 @@ import * as THREE from 'three' import * as React from 'react' -import { ComputeFunction, ReactThreeFiber, createPortal, useFrame, useThree } from '@react-three/fiber' +import { ComputeFunction, ReactThreeFiber, ThreeElements, createPortal, useFrame, useThree } from '@react-three/fiber' import { ForwardRefComponent } from '../helpers/ts-utils' -export type RenderCubeTextureProps = Omit & { +export type RenderCubeTextureProps = Omit & { /** Optional stencil buffer, defaults to false */ stencilBuffer?: boolean /** Optional depth buffer, defaults to true */ @@ -66,12 +66,12 @@ export const RenderCubeTexture: ForwardRefComponent { - const { size, viewport } = useThree() + const { size, dpr } = useThree() const camera = React.useRef(null!) const fbo = React.useMemo(() => { const fbo = new THREE.WebGLCubeRenderTarget( - Math.max((resolution || size.width) * viewport.dpr, (resolution || size.height) * viewport.dpr), + Math.max((resolution || size.width) * dpr, (resolution || size.height) * dpr), { stencilBuffer, depthBuffer, diff --git a/src/core/RenderTexture.tsx b/src/core/RenderTexture.tsx index 3b63dfdf5..c2264a3a5 100644 --- a/src/core/RenderTexture.tsx +++ b/src/core/RenderTexture.tsx @@ -1,10 +1,10 @@ import * as THREE from 'three' import * as React from 'react' -import { createPortal, useFrame, useThree } from '@react-three/fiber' +import { ThreeElements, createPortal, useFrame, useThree } from '@react-three/fiber' import { useFBO } from './useFBO' import { ForwardRefComponent } from '../helpers/ts-utils' -type Props = JSX.IntrinsicElements['texture'] & { +type Props = ThreeElements['texture'] & { /** Optional width of the texture, defaults to viewport bounds */ width?: number /** Optional height of the texture, defaults to viewport bounds */ @@ -47,8 +47,8 @@ export const RenderTexture: ForwardRefComponent = /* @__PU }: Props, forwardRef ) => { - const { size, viewport } = useThree() - const fbo = useFBO((width || size.width) * viewport.dpr, (height || size.height) * viewport.dpr, { + const { size, dpr } = useThree() + const fbo = useFBO((width || size.width) * dpr, (height || size.height) * dpr, { samples, stencilBuffer, depthBuffer, diff --git a/src/core/Resize.tsx b/src/core/Resize.tsx index 4f11343e7..5cba7b32a 100644 --- a/src/core/Resize.tsx +++ b/src/core/Resize.tsx @@ -1,7 +1,8 @@ import * as THREE from 'three' import * as React from 'react' +import { ThreeElements } from '@react-three/fiber' -export type ResizeProps = JSX.IntrinsicElements['group'] & { +export type ResizeProps = ThreeElements['group'] & { /** Whether to fit into width (x axis), undefined */ width?: boolean /** Whether to fit into height (y axis), undefined */ @@ -22,7 +23,7 @@ export const Resize = /* @__PURE__ */ React.forwardRef React.useLayoutEffect(() => { outer.current.matrixWorld.identity() - let box = box3 || new THREE.Box3().setFromObject(inner.current, precise) + const box = box3 || new THREE.Box3().setFromObject(inner.current, precise) const w = box.max.x - box.min.x const h = box.max.y - box.min.y const d = box.max.z - box.min.z diff --git a/src/core/RoundedBox.tsx b/src/core/RoundedBox.tsx index 3c688f7e6..6add4eda6 100644 --- a/src/core/RoundedBox.tsx +++ b/src/core/RoundedBox.tsx @@ -2,6 +2,7 @@ import * as React from 'react' import { Mesh, Shape, ExtrudeGeometry } from 'three' import { ForwardRefComponent, NamedArrayTuple } from '../helpers/ts-utils' import { toCreasedNormals } from 'three-stdlib' +import { ThreeElements } from '@react-three/fiber' const eps = 0.00001 @@ -22,7 +23,7 @@ type Props = { bevelSegments?: number steps?: number creaseAngle?: number -} & Omit +} & Omit export const RoundedBox: ForwardRefComponent = /* @__PURE__ */ React.forwardRef( function RoundedBox( diff --git a/src/core/ScreenQuad.tsx b/src/core/ScreenQuad.tsx index 78f481531..eec6b8ff3 100644 --- a/src/core/ScreenQuad.tsx +++ b/src/core/ScreenQuad.tsx @@ -3,6 +3,7 @@ import * as THREE from 'three' import * as React from 'react' import { ForwardRefComponent } from '../helpers/ts-utils' +import { ThreeElements } from '@react-three/fiber' function createScreenQuadGeometry() { const geometry = new THREE.BufferGeometry() @@ -13,7 +14,7 @@ function createScreenQuadGeometry() { return geometry } -type Props = Omit +type Props = Omit export const ScreenQuad: ForwardRefComponent = /* @__PURE__ */ React.forwardRef( function ScreenQuad({ children, ...restProps }, ref) { diff --git a/src/core/ScreenSpace.tsx b/src/core/ScreenSpace.tsx index 6170aeeb7..371bd7ea6 100644 --- a/src/core/ScreenSpace.tsx +++ b/src/core/ScreenSpace.tsx @@ -1,11 +1,11 @@ import * as React from 'react' import { Group } from 'three' -import { useFrame } from '@react-three/fiber' +import { ThreeElements, useFrame } from '@react-three/fiber' import { ForwardRefComponent } from '../helpers/ts-utils' export type ScreenSpaceProps = { depth?: number -} & JSX.IntrinsicElements['group'] +} & ThreeElements['group'] export const ScreenSpace: ForwardRefComponent = /* @__PURE__ */ React.forwardRef< Group, diff --git a/src/core/Segments.tsx b/src/core/Segments.tsx index 7ef2143ef..1394afeb5 100644 --- a/src/core/Segments.tsx +++ b/src/core/Segments.tsx @@ -1,9 +1,15 @@ import * as THREE from 'three' import * as React from 'react' -import { extend, useFrame, ReactThreeFiber, ThreeElement } from '@react-three/fiber' +import { extend, useFrame, ReactThreeFiber, ThreeElement, ThreeElements } from '@react-three/fiber' import { Line2, LineSegmentsGeometry, LineMaterial, LineMaterialParameters } from 'three-stdlib' import { ForwardRefComponent } from '../helpers/ts-utils' +declare module '@react-three/fiber' { + interface ThreeElements { + segmentObject: ThreeElement + } +} + type SegmentsProps = LineMaterialParameters & { limit?: number lineWidth?: number @@ -15,7 +21,7 @@ type Api = { } type SegmentRef = React.RefObject -type SegmentProps = Omit & { +type SegmentProps = Omit & { start: ReactThreeFiber.Vector3 end: ReactThreeFiber.Vector3 color?: ReactThreeFiber.Color @@ -91,14 +97,6 @@ const Segments: ForwardRefComponent = /* @__PURE__ */ Reac } ) -declare global { - namespace JSX { - interface IntrinsicElements { - segmentObject: ThreeElement - } - } -} - export class SegmentObject { color: THREE.Color start: THREE.Vector3 diff --git a/src/core/Shadow.tsx b/src/core/Shadow.tsx index 81e71bf18..e1256f233 100644 --- a/src/core/Shadow.tsx +++ b/src/core/Shadow.tsx @@ -1,8 +1,9 @@ import * as React from 'react' import { Mesh, Color, DoubleSide, type PlaneGeometry, type MeshBasicMaterial } from 'three' import { ForwardRefComponent } from '../helpers/ts-utils' +import { ThreeElements } from '@react-three/fiber' -type Props = JSX.IntrinsicElements['mesh'] & { +type Props = ThreeElements['mesh'] & { colorStop?: number fog?: boolean color?: Color | number | string diff --git a/src/core/Sparkles.tsx b/src/core/Sparkles.tsx index 6814d1c14..4e4a82ac3 100644 --- a/src/core/Sparkles.tsx +++ b/src/core/Sparkles.tsx @@ -106,7 +106,7 @@ export const Sparkles: ForwardRefComponent { React.useMemo(() => extend({ SparklesImplMaterial }), []) const ref = React.useRef(null!) - const dpr = useThree((state) => state.viewport.dpr) + const dpr = useThree((state) => state.dpr) const _scale = normalizeVector(scale) const positions = React.useMemo( diff --git a/src/core/Splat.tsx b/src/core/Splat.tsx index c3a6b84b3..0679a6661 100644 --- a/src/core/Splat.tsx +++ b/src/core/Splat.tsx @@ -6,7 +6,7 @@ import * as THREE from 'three' import * as React from 'react' -import { extend, useThree, useFrame, useLoader, LoaderProto } from '@react-three/fiber' +import { extend, useThree, useFrame, useLoader, LoaderProto, ThreeElements } from '@react-three/fiber' import { shaderMaterial } from './shaderMaterial' export type SplatMaterialType = { @@ -55,7 +55,7 @@ export type SharedState = { declare global { namespace JSX { interface IntrinsicElements { - splatMaterial: SplatMaterialType & JSX.IntrinsicElements['shaderMaterial'] + splatMaterial: SplatMaterialType & ThreeElements['shaderMaterial'] } } } @@ -71,7 +71,7 @@ type SplatProps = { alphaHash?: boolean /** Chunk size for lazy loading, prevents chokings the worker, default: 25000 (25kb) */ chunkSize?: number -} & JSX.IntrinsicElements['mesh'] +} & ThreeElements['mesh'] const SplatMaterial = /* @__PURE__ */ shaderMaterial( { diff --git a/src/core/SpotLight.tsx b/src/core/SpotLight.tsx index 454157727..908662504 100644 --- a/src/core/SpotLight.tsx +++ b/src/core/SpotLight.tsx @@ -16,16 +16,14 @@ import { RepeatWrapping, Object3D, } from 'three' -import { useFrame, useThree } from '@react-three/fiber' +import { ThreeElements, useFrame, useThree } from '@react-three/fiber' import { FullScreenQuad } from 'three-stdlib' import { SpotLightMaterial } from '../materials/SpotLightMaterial' - -// eslint-disable-next-line -// @ts-ignore +// @ts-expect-error import SpotlightShadowShader from '../helpers/glsl/DefaultSpotlightShadowShadows.glsl' import { ForwardRefComponent } from '../helpers/ts-utils' -type SpotLightProps = JSX.IntrinsicElements['spotLight'] & { +type SpotLightProps = ThreeElements['spotLight'] & { depthBuffer?: DepthTexture attenuation?: number anglePower?: number @@ -55,7 +53,7 @@ function VolumetricMesh({ const mesh = React.useRef(null!) const size = useThree((state) => state.size) const camera = useThree((state) => state.camera) - const dpr = useThree((state) => state.viewport.dpr) + const dpr = useThree((state) => state.dpr) const [material] = React.useState(() => new SpotLightMaterial()) const [vec] = React.useState(() => new Vector3()) diff --git a/src/core/Stage.tsx b/src/core/Stage.tsx index 93460b72b..9dc540845 100644 --- a/src/core/Stage.tsx +++ b/src/core/Stage.tsx @@ -10,6 +10,7 @@ import { } from './AccumulativeShadows' import { useBounds, Bounds } from './Bounds' import { PresetsType } from '../helpers/environment-assets' +import { ThreeElements } from '@react-three/fiber' const presets = { rembrandt: { @@ -81,7 +82,7 @@ export function Stage({ environment = 'city', preset = 'rembrandt', ...props -}: JSX.IntrinsicElements['group'] & StageProps) { +}: ThreeElements['group'] & StageProps) { const config = typeof preset === 'string' ? presets[preset] : preset const [{ radius, height }, set] = React.useState({ radius: 0, width: 0, height: 0, depth: 0 }) const shadowBias = (shadows as StageShadows)?.bias ?? -0.0001 diff --git a/src/core/Text.tsx b/src/core/Text.tsx index b51266fd0..be1b67a2d 100644 --- a/src/core/Text.tsx +++ b/src/core/Text.tsx @@ -1,9 +1,9 @@ import * as React from 'react' -import { ReactThreeFiber, useThree } from '@react-three/fiber' +import { ReactThreeFiber, ThreeElements, useThree } from '@react-three/fiber' import { suspend } from 'suspend-react' import { ForwardRefComponent } from '../helpers/ts-utils' -type Props = JSX.IntrinsicElements['mesh'] & { +type Props = ThreeElements['mesh'] & { children: React.ReactNode characters?: string color?: ReactThreeFiber.Color diff --git a/src/core/TrackballControls.tsx b/src/core/TrackballControls.tsx index e29dd6bbf..863e82b69 100644 --- a/src/core/TrackballControls.tsx +++ b/src/core/TrackballControls.tsx @@ -21,7 +21,7 @@ export type TrackballControlsProps = ReactThreeFiber.Overwrite< export const TrackballControls: ForwardRefComponent = /* @__PURE__ */ React.forwardRef( ({ makeDefault, camera, domElement, regress, onChange, onStart, onEnd, ...restProps }, ref) => { - const { invalidate, camera: defaultCamera, gl, events, set, get, performance, viewport } = useThree() + const { invalidate, camera: defaultCamera, gl, events, set, get, performance, size } = useThree() const explCamera = camera || defaultCamera const explDomElement = (domElement || events.connected || gl.domElement) as HTMLElement const controls = React.useMemo( @@ -56,7 +56,7 @@ export const TrackballControls: ForwardRefComponent { controls.handleResize() - }, [viewport]) + }, [size]) React.useEffect(() => { if (makeDefault) { diff --git a/src/core/TransformControls.tsx b/src/core/TransformControls.tsx index 6a5eca742..1ca22f2e5 100644 --- a/src/core/TransformControls.tsx +++ b/src/core/TransformControls.tsx @@ -1,4 +1,4 @@ -import { ThreeElement, useThree } from '@react-three/fiber' +import { ThreeElement, ThreeElements, useThree } from '@react-three/fiber' import * as React from 'react' import * as THREE from 'three' import { TransformControls as TransformControlsImpl } from 'three-stdlib' @@ -9,7 +9,7 @@ type ControlsProto = { } export type TransformControlsProps = ThreeElement & - JSX.IntrinsicElements['group'] & { + ThreeElements['group'] & { object?: THREE.Object3D | React.MutableRefObject enabled?: boolean axis?: string | null diff --git a/src/core/shapes.tsx b/src/core/shapes.tsx index 2a1bdb308..9457a23c1 100644 --- a/src/core/shapes.tsx +++ b/src/core/shapes.tsx @@ -1,9 +1,10 @@ import * as React from 'react' import * as THREE from 'three' import { ForwardRefComponent } from '../helpers/ts-utils' +import { ThreeElements } from '@react-three/fiber' export type Args = T extends new (...args: any) => any ? ConstructorParameters : T -export type ShapeProps = Omit & { args?: Args } +export type ShapeProps = Omit & { args?: Args } function create(type: string, effect?: (mesh: THREE.Mesh) => void): ForwardRefComponent, THREE.Mesh> { const El: any = type + 'Geometry' diff --git a/src/core/useAspect.tsx b/src/core/useAspect.tsx index b971d6243..4d57a6b4e 100644 --- a/src/core/useAspect.tsx +++ b/src/core/useAspect.tsx @@ -1,8 +1,10 @@ import { useThree } from '@react-three/fiber' export function useAspect(width: number, height: number, factor: number = 1): [number, number, number] { - const v = useThree((state) => state.viewport) - const adaptedHeight = height * (v.aspect > width / height ? v.width / width : v.height / height) - const adaptedWidth = width * (v.aspect > width / height ? v.width / width : v.height / height) + const size = useThree((state) => state.size) + const aspect = size.width / size.height + const adaptedHeight = height * (aspect > width / height ? size.width / width : size.height / height) + const adaptedWidth = width * (aspect > width / height ? size.width / width : size.height / height) + return [adaptedWidth * factor, adaptedHeight * factor, 1] } diff --git a/src/core/useBVH.tsx b/src/core/useBVH.tsx index 4cb2b6e39..eee95fbfa 100644 --- a/src/core/useBVH.tsx +++ b/src/core/useBVH.tsx @@ -1,4 +1,4 @@ -import { useThree } from '@react-three/fiber' +import { ThreeElements, useThree } from '@react-three/fiber' import * as React from 'react' import { Mesh, Group } from 'three' import { acceleratedRaycast, computeBoundsTree, disposeBoundsTree, SAH, SplitStrategy } from 'three-mesh-bvh' @@ -27,7 +27,7 @@ export interface BVHOptions { } export type BvhProps = BVHOptions & - JSX.IntrinsicElements['group'] & { + ThreeElements['group'] & { /**Enabled, default: true */ enabled?: boolean /** Use .raycastFirst to retrieve hits which is generally faster, default: false */ diff --git a/src/core/useDepthBuffer.ts b/src/core/useDepthBuffer.ts index 7f8fd0291..9db373c5f 100644 --- a/src/core/useDepthBuffer.ts +++ b/src/core/useDepthBuffer.ts @@ -4,7 +4,7 @@ import { useThree, useFrame } from '@react-three/fiber' import { useFBO } from './useFBO' function useDepthBuffer({ size = 256, frames = Infinity }: { size?: number; frames?: number } = {}) { - const dpr = useThree((state) => state.viewport.dpr) + const dpr = useThree((state) => state.dpr) const { width, height } = useThree((state) => state.size) const w = size || width * dpr const h = size || height * dpr diff --git a/src/core/useEnvironment.tsx b/src/core/useEnvironment.tsx index 6da57d590..45f1ccb44 100644 --- a/src/core/useEnvironment.tsx +++ b/src/core/useEnvironment.tsx @@ -31,7 +31,6 @@ export function useEnvironment({ }: Partial = {}) { let loader: typeof Loader | null = null let isCubeMap: boolean = false - let extension: string | false | undefined if (preset) { if (!(preset in presetsObj)) throw new Error('Preset must be one of: ' + Object.keys(presetsObj).join(', ')) @@ -41,7 +40,7 @@ export function useEnvironment({ // Everything else isCubeMap = isArray(files) - extension = isArray(files) + const extension = isArray(files) ? 'cube' : files.startsWith('data:application/exr') ? 'exr' diff --git a/src/core/useFBO.tsx b/src/core/useFBO.tsx index 489328107..05c5e48db 100644 --- a/src/core/useFBO.tsx +++ b/src/core/useFBO.tsx @@ -39,9 +39,9 @@ export function useFBO( settings?: FBOSettings ): THREE.WebGLRenderTarget { const size = useThree((state) => state.size) - const viewport = useThree((state) => state.viewport) - const _width = typeof width === 'number' ? width : size.width * viewport.dpr - const _height = typeof height === 'number' ? height : size.height * viewport.dpr + const dpr = useThree((state) => state.dpr) + const _width = typeof width === 'number' ? width : size.width * dpr + const _height = typeof height === 'number' ? height : size.height * dpr const _settings = (typeof width === 'number' ? settings : (width as FBOSettings)) || {} const { samples = 0, depth, ...targetSettings } = _settings diff --git a/src/core/useSpriteLoader.tsx b/src/core/useSpriteLoader.tsx index 915563f9f..6a99e8bc4 100644 --- a/src/core/useSpriteLoader.tsx +++ b/src/core/useSpriteLoader.tsx @@ -1,5 +1,5 @@ import { Texture, TextureLoader } from 'three' -import { useLoader, useThree } from '@react-three/fiber' +import { Size, useLoader, useThree } from '@react-three/fiber' import { useState } from 'react' import * as React from 'react' import * as THREE from 'three' @@ -17,9 +17,10 @@ export const getFirstItem = (param: any): any => { } } -export const calculateAspectRatio = (width: number, height: number, factor: number, v: any): THREE.Vector3 => { - const adaptedHeight = height * (v.aspect > width / height ? v.width / width : v.height / height) - const adaptedWidth = width * (v.aspect > width / height ? v.width / width : v.height / height) +export const calculateAspectRatio = (width: number, height: number, factor: number, size: Size): THREE.Vector3 => { + const aspect = size.width / size.height + const adaptedHeight = height * (aspect > width / height ? size.width / width : size.height / height) + const adaptedWidth = width * (aspect > width / height ? size.width / width : size.height / height) const scaleX = adaptedWidth * factor const scaleY = adaptedHeight * factor const currentMaxScale = 1 @@ -43,7 +44,7 @@ export function useSpriteLoader( numberOfFrames?: number | null, onLoad?: (texture: Texture, textureData?: any) => void ): any { - const v = useThree((state) => state.viewport) + const size = useThree((state) => state.size) const spriteDataRef = React.useRef(null) const totalFrames = React.useRef(0) const aspectFactor = 0.1 @@ -136,14 +137,14 @@ export function useSpriteLoader( } } - aspect = calculateAspectRatio(frameWidth, frameHeight, aspectFactor, v) + aspect = calculateAspectRatio(frameWidth, frameHeight, aspectFactor, size) } } else if (_spriteTexture) { spriteDataRef.current = json spriteDataRef.current.frames = parseFrames() totalFrames.current = Array.isArray(json.frames) ? json.frames.length : Object.keys(json.frames).length const { w, h } = getFirstItem(json.frames).sourceSize - aspect = calculateAspectRatio(w, h, aspectFactor, v) + aspect = calculateAspectRatio(w, h, aspectFactor, size) } setSpriteData(spriteDataRef.current) diff --git a/src/materials/MeshReflectorMaterial.tsx b/src/materials/MeshReflectorMaterial.tsx index cd01b86a3..e6ced5f9b 100644 --- a/src/materials/MeshReflectorMaterial.tsx +++ b/src/materials/MeshReflectorMaterial.tsx @@ -1,3 +1,4 @@ +import { ThreeElements } from '@react-three/fiber' import { Matrix4, MeshStandardMaterial, Texture } from 'three' type UninitializedUniform = { value: Value | null } @@ -246,4 +247,4 @@ export type MeshReflectorMaterialProps = { depthToBlurRatioBias: number distortion: number mixContrast: number -} & JSX.IntrinsicElements['meshStandardMaterial'] +} & ThreeElements['meshStandardMaterial'] diff --git a/src/web/Facemesh.tsx b/src/web/Facemesh.tsx index d4de6e82c..f39b5c1e5 100644 --- a/src/web/Facemesh.tsx +++ b/src/web/Facemesh.tsx @@ -1,7 +1,7 @@ /* eslint react-hooks/exhaustive-deps: 1 */ import * as React from 'react' import * as THREE from 'three' -import { useThree } from '@react-three/fiber' +import { ThreeElements, useThree } from '@react-three/fiber' import { Line } from '../core/Line' @@ -40,7 +40,7 @@ export type FacemeshProps = { eyesAsOrigin?: boolean /** debug mode, default: false */ debug?: boolean -} & Omit +} & Omit export type FacemeshApi = { meshRef: React.RefObject diff --git a/src/web/Html.tsx b/src/web/Html.tsx index c1e0bed87..064eff163 100644 --- a/src/web/Html.tsx +++ b/src/web/Html.tsx @@ -172,7 +172,7 @@ export const Html: ForwardRefComponent = /* @__PURE__ }: HtmlProps, ref: React.Ref ) => { - const { gl, camera, scene, size, raycaster, events, viewport } = useThree() + const { gl, camera, scene, size, raycaster, events } = useThree() const [el] = React.useState(() => document.createElement(as)) const root = React.useRef() @@ -389,7 +389,9 @@ export const Html: ForwardRefComponent = /* @__PURE__ const ele = el.children[0] if (ele?.clientWidth && ele?.clientHeight) { - const ratio = 1 / viewport.factor + // TODO: `factor` needs to be properly calculated. But how? + const factor = 1 + const ratio = 1 / factor const w = ele.clientWidth * ratio const h = ele.clientHeight * ratio diff --git a/src/web/PresentationControls.tsx b/src/web/PresentationControls.tsx index d2f1ffb8d..a3f38c558 100644 --- a/src/web/PresentationControls.tsx +++ b/src/web/PresentationControls.tsx @@ -84,6 +84,7 @@ export function PresentationControls({ { target: global ? explDomElement : undefined } ) return ( + // TODO: react-spring needs to be updated for v9 {children} diff --git a/src/web/ScrollControls.tsx b/src/web/ScrollControls.tsx index cb5623dbf..b9abc5512 100644 --- a/src/web/ScrollControls.tsx +++ b/src/web/ScrollControls.tsx @@ -1,8 +1,7 @@ import * as THREE from 'three' import * as React from 'react' import * as ReactDOM from 'react-dom/client' -import { context as fiberContext, RootState, useFrame, useThree } from '@react-three/fiber' -import { DomEvent } from '@react-three/fiber/dist/declarations/src/core/events' +import { DomEvent, context as fiberContext, RootState, useFrame, useThree } from '@react-three/fiber' import { easing } from 'maath' import { ForwardRefComponent } from '../helpers/ts-utils' @@ -214,7 +213,7 @@ const ScrollCanvas = /* @__PURE__ */ React.forwardRef( const group = React.useRef(null!) React.useImperativeHandle(ref, () => group.current, []) const state = useScroll() - const { width, height } = useThree((state) => state.viewport) + const { width, height } = useThree((state) => state.size) useFrame(() => { group.current.position.x = state.horizontal ? -width * (state.pages - 1) * state.offset : 0 group.current.position.y = state.horizontal ? 0 : height * (state.pages - 1) * state.offset diff --git a/src/web/Select.tsx b/src/web/Select.tsx index 709995321..31f43462c 100644 --- a/src/web/Select.tsx +++ b/src/web/Select.tsx @@ -1,12 +1,12 @@ import * as React from 'react' import * as THREE from 'three' import { SelectionBox } from 'three-stdlib' -import { useThree } from '@react-three/fiber' +import { ThreeElements, useThree } from '@react-three/fiber' import shallow from 'zustand/shallow' const context = /* @__PURE__ */ React.createContext([]) -type Props = JSX.IntrinsicElements['group'] & { +type Props = ThreeElements['group'] & { /** Allow multi select, default: false */ multiple?: boolean /** Allow box select, default: false */ @@ -55,7 +55,7 @@ export function Select({ e.stopPropagation() dispatch({ object: customFilter([e.object])[0], shift: multiple && e.shiftKey }) }, []) - const onPointerMissed = React.useCallback((e) => !hovered && dispatch({}), [hovered]) + const onPointerMissed = React.useCallback(() => !hovered && dispatch({}), [hovered]) const ref = React.useRef(null!) React.useEffect(() => { @@ -140,7 +140,7 @@ export function Select({ } } - function pointerUp(event) { + function pointerUp() { if (isDown) onSelectOver() } diff --git a/yarn.lock b/yarn.lock index f4e038202..88f1cd74c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2638,19 +2638,19 @@ resolved "https://registry.yarnpkg.com/@react-spring/types/-/types-9.6.1.tgz#913d3a68c5cbc1124fdb18eff919432f7b6abdde" integrity sha512-POu8Mk0hIU3lRXB3bGIGe4VHIwwDsQyoD1F394OK7STTiX9w4dG3cTLljjYswkQN+hDSHRrj4O36kuVa7KPU8Q== -"@react-three/fiber@npm:@nicetouch/react-three-fiber@^9.0.0-alpha.2--nt.9.35": - version "9.0.0-alpha.2--nt.9.35" - resolved "https://registry.yarnpkg.com/@nicetouch/react-three-fiber/-/react-three-fiber-9.0.0-alpha.2--nt.9.35.tgz#c253295377f4f988b64a98596726f6793d925e6c" - integrity sha512-m9edgBeJwJZIrHyKCReexC3sKv6D93TAtBAsnov7JPjtVjcvxSBVoaAxyL6KOWpu5d7F9xAQtWXYronT6ciHAA== +"@react-three/fiber@^9.0.0-alpha.4": + version "9.0.0-alpha.4" + resolved "https://registry.yarnpkg.com/@react-three/fiber/-/fiber-9.0.0-alpha.4.tgz#1b364c328f7b1f1aa49dd5c9722fce27c5d64b7b" + integrity sha512-9yR36gDu0pMNERLaNmigSJQ3wShz0T9USMu+lGkYycfpRlnYVZylZcnrlV1VbsVKF6gLUjyTHG198y/hw4Axyg== dependencies: "@babel/runtime" "^7.17.8" - "@types/react-reconciler" "^0.26.7" + "@types/react-reconciler" "^0.28.8" base64-js "^1.5.1" buffer "^6.0.3" - its-fine "^1.0.6" - react-reconciler "^0.27.0" + its-fine "^1.2.5" + react-reconciler "0.31.0-beta-94eed63c49-20240425" react-use-measure "^2.1.1" - scheduler "^0.21.0" + scheduler "0.25.0-beta-94eed63c49-20240425" suspend-react "^0.1.3" zustand "^4.1.2" @@ -3907,13 +3907,6 @@ dependencies: "@types/react" "*" -"@types/react-reconciler@^0.26.7": - version "0.26.7" - resolved "https://registry.yarnpkg.com/@types/react-reconciler/-/react-reconciler-0.26.7.tgz#0c4643f30821ae057e401b0d9037e03e8e9b2a36" - integrity sha512-mBDYl8x+oyPX/VBb3E638N0B7xG+SPk/EAMcVPeexqus/5aTpTphQi0curhhshOqRrc9t6OPoJfEUkbymse/lQ== - dependencies: - "@types/react" "*" - "@types/react-reconciler@^0.28.0": version "0.28.4" resolved "https://registry.yarnpkg.com/@types/react-reconciler/-/react-reconciler-0.28.4.tgz#c2c06f6d42f055972290eecebb87b10d0ac66e0e" @@ -3921,6 +3914,13 @@ dependencies: "@types/react" "*" +"@types/react-reconciler@^0.28.8": + version "0.28.8" + resolved "https://registry.yarnpkg.com/@types/react-reconciler/-/react-reconciler-0.28.8.tgz#e51710572bcccf214306833c2438575d310b3e98" + integrity sha512-SN9c4kxXZonFhbX4hJrZy37yw9e7EIxcpHCxQv5JUS18wDE5ovkQKlqQEkufdJCCMfuI9BnjUJvhYeJ9x5Ra7g== + dependencies: + "@types/react" "*" + "@types/react-transition-group@^4.4.0": version "4.4.6" resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.6.tgz#18187bcda5281f8e10dfc48f0943e2fdf4f75e2e" @@ -8631,10 +8631,10 @@ iterator.prototype@^1.1.2: reflect.getprototypeof "^1.0.4" set-function-name "^2.0.1" -its-fine@^1.0.6: - version "1.1.1" - resolved "https://registry.yarnpkg.com/its-fine/-/its-fine-1.1.1.tgz#e74b93fddd487441f978a50f64f0f5af4d2fc38e" - integrity sha512-v1Ia1xl20KbuSGlwoaGsW0oxsw8Be+TrXweidxD9oT/1lAh6O3K3/GIM95Tt6WCiv6W+h2M7RB1TwdoAjQyyKw== +its-fine@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/its-fine/-/its-fine-1.2.5.tgz#5466c287f86a0a73e772c8d8d515626c97195dc9" + integrity sha512-fXtDA0X0t0eBYAGLVM5YsgJGsJ5jEmqZEPrGbzdf5awjv0xE7nqv3TVnvtUF060Tkes15DbDAKW/I48vsb6SyA== dependencies: "@types/react-reconciler" "^0.28.0" @@ -11499,13 +11499,12 @@ react-lifecycles-compat@^3.0.4: resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA== -react-reconciler@^0.27.0: - version "0.27.0" - resolved "https://registry.yarnpkg.com/react-reconciler/-/react-reconciler-0.27.0.tgz#360124fdf2d76447c7491ee5f0e04503ed9acf5b" - integrity sha512-HmMDKciQjYmBRGuuhIaKA1ba/7a+UsM5FzOZsMO2JYHt9Jh8reCb7j1eDC95NOyUlKM9KRyvdx0flBuDvYSBoA== +react-reconciler@0.31.0-beta-94eed63c49-20240425: + version "0.31.0-beta-94eed63c49-20240425" + resolved "https://registry.yarnpkg.com/react-reconciler/-/react-reconciler-0.31.0-beta-94eed63c49-20240425.tgz#c2d469ab0f933d82150ca871b8b2daae001fd0d7" + integrity sha512-1ffTu3lmFEjdSlHxGjb7ztGDdXtbhKSka8cTRB8/Cj99536qvLpohOfpEsdzkBo1x3I31Q4h+C8g/fZ54MZBxA== dependencies: - loose-envify "^1.1.0" - scheduler "^0.21.0" + scheduler "0.25.0-beta-94eed63c49-20240425" react-refresh@^0.14.0: version "0.14.0" @@ -12092,12 +12091,10 @@ safe-regex@^1.1.0: resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -scheduler@^0.21.0: - version "0.21.0" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.21.0.tgz#6fd2532ff5a6d877b6edb12f00d8ab7e8f308820" - integrity sha512-1r87x5fz9MXqswA2ERLo0EbOAU74DpIUO090gIasYTqlVoJeMcl+Z1Rg7WHz+qtPujhS/hGIt9kxZOYBV3faRQ== - dependencies: - loose-envify "^1.1.0" +scheduler@0.25.0-beta-94eed63c49-20240425: + version "0.25.0-beta-94eed63c49-20240425" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.25.0-beta-94eed63c49-20240425.tgz#db261000b28fa56d65fff2e9c17eb7bd094a669a" + integrity sha512-U8hoOV7uut5E8cMvRSMikEBBqLXfv2BpdxUsG45euaOfnqEgFrCdLLh6ydM+YBJ36+28olXMNmK2PFFzeg4UdQ== scheduler@^0.23.0: version "0.23.0" From 45da464a285fd895a2f60c8983b870b17deb2bc9 Mon Sep 17 00:00:00 2001 From: Kris Baumgartner Date: Wed, 8 May 2024 10:20:16 -0700 Subject: [PATCH 3/9] fix: revert viewport change, packages, build --- package.json | 23 +- src/core/AdaptiveDpr.tsx | 3 +- src/core/Effects.tsx | 6 +- src/core/MeshPortalMaterial.tsx | 4 +- src/core/RenderCubeTexture.tsx | 4 +- src/core/RenderTexture.tsx | 4 +- src/core/Sparkles.tsx | 2 +- src/core/SpotLight.tsx | 2 +- src/core/useDepthBuffer.ts | 2 +- src/core/useFBO.tsx | 6 +- src/web/Html.tsx | 6 +- src/web/PresentationControls.tsx | 2 + yarn.lock | 1164 +++++++++++++++--------------- 13 files changed, 615 insertions(+), 613 deletions(-) diff --git a/package.json b/package.json index 532232fe9..3d4596282 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@nicetouch/drei", - "version": "10.0.0-alpha.1--nt.9.14", + "version": "10.0.0-alpha.1", "private": false, "description": "useful add-ons for react-three-fiber", "keywords": [ @@ -65,6 +65,7 @@ "cross-env": "^7.0.3", "detect-gpu": "^5.0.28", "glsl-noise": "^0.0.0", + "hls.js": "1.3.5", "maath": "^0.10.7", "meshline": "^3.1.6", "react-composer": "^5.0.3", @@ -77,12 +78,12 @@ "tunnel-rat": "^0.1.2", "utility-types": "^3.10.0", "uuid": "^9.0.1", - "zustand": "^3.7.1", - "hls.js": "1.3.5" + "zustand": "^3.7.1" }, "devDependencies": { "@babel/core": "^7.14.3", "@babel/plugin-proposal-class-properties": "^7.18.6", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", "@babel/plugin-transform-modules-commonjs": "^7.14.0", "@babel/plugin-transform-runtime": "^7.14.3", "@babel/preset-env": "^7.21.5", @@ -90,7 +91,7 @@ "@babel/preset-typescript": "^7.21.5", "@commitlint/cli": "^12.0.1", "@commitlint/config-conventional": "^12.0.1", - "@react-three/fiber": "^9.0.0-alpha.4", + "@react-three/fiber": "^9.0.0-alpha.5", "@rollup/plugin-babel": "^5.3.0", "@rollup/plugin-commonjs": "^19.0.0", "@rollup/plugin-json": "^4.1.0", @@ -127,8 +128,8 @@ "prettier": "^2.4.1", "pretty-quick": "^3.1.0", "puppeteer": "^20.7.4", - "react": "^18.0.0", - "react-dom": "^18.0.0", + "react": "19.0.0-beta-94eed63c49-20240425", + "react-dom": "19.0.0-beta-94eed63c49-20240425", "rimraf": "^3.0.2", "rollup": "^2.78.1", "rollup-plugin-glslify": "^1.3.0", @@ -145,14 +146,18 @@ "yarn": "^1.22.17" }, "peerDependencies": { - "@react-three/fiber": ">=8.0", - "react": ">=18.0", - "react-dom": ">=18.0", + "@react-three/fiber": ">=9.0.0-alpha.5", + "react": ">=19.0", + "react-dom": ">=19.0", "three": ">=0.137" }, "peerDependenciesMeta": { "react-dom": { "optional": true } + }, + "overrides": { + "@types/react": "npm:types-react@beta", + "@types/react-dom": "npm:types-react-dom@beta" } } diff --git a/src/core/AdaptiveDpr.tsx b/src/core/AdaptiveDpr.tsx index 5d461c1a3..d4c711b0e 100644 --- a/src/core/AdaptiveDpr.tsx +++ b/src/core/AdaptiveDpr.tsx @@ -5,8 +5,7 @@ export function AdaptiveDpr({ pixelated }: { pixelated?: boolean }) { const gl = useThree((state) => state.gl) const active = useThree((state) => state.internal.active) const current = useThree((state) => state.performance.current) - const dpr = useThree((state) => state.dpr) - const initialDpr = React.useMemo(() => dpr, []) + const initialDpr = useThree((state) => state.viewport.initialDpr) const setDpr = useThree((state) => state.setDpr) // Restore initial pixelratio on unmount diff --git a/src/core/Effects.tsx b/src/core/Effects.tsx index aa64ff1c1..6532c849c 100644 --- a/src/core/Effects.tsx +++ b/src/core/Effects.tsx @@ -58,7 +58,7 @@ export const Effects: ForwardRefComponent = /* @__PURE__ React.useMemo(() => extend({ EffectComposer, RenderPass, ShaderPass }), []) const composer = React.useRef(null!) React.useImperativeHandle(ref, () => composer.current, []) - const { scene, camera, gl, size, dpr } = useThree() + const { scene, camera, gl, size, viewport } = useThree() const [target] = React.useState(() => { const t = new WebGLRenderTarget(size.width, size.height, { type: type || HalfFloatType, @@ -80,8 +80,8 @@ export const Effects: ForwardRefComponent = /* @__PURE__ React.useEffect(() => { composer.current?.setSize(size.width, size.height) - composer.current?.setPixelRatio(dpr) - }, [gl, size, dpr]) + composer.current?.setPixelRatio(viewport.dpr) + }, [gl, size, viewport.dpr]) useFrame(() => { if (!disableRender) composer.current?.render() diff --git a/src/core/MeshPortalMaterial.tsx b/src/core/MeshPortalMaterial.tsx index d5d76d8e3..695ce7117 100644 --- a/src/core/MeshPortalMaterial.tsx +++ b/src/core/MeshPortalMaterial.tsx @@ -99,7 +99,7 @@ export const MeshPortalMaterial = /* @__PURE__ */ React.forwardRef( extend({ PortalMaterialImpl }) const ref = React.useRef(null!) - const { scene, gl, size, dpr, setEvents } = useThree() + const { scene, gl, size, viewport, setEvents } = useThree() const maskRenderTarget = useFBO(resolution, resolution) const [priority, setPriority] = React.useState(0) @@ -184,7 +184,7 @@ export const MeshPortalMaterial = /* @__PURE__ */ React.forwardRef( ref={ref as any} blur={blur} blend={0} - resolution={[size.width * dpr, size.height * dpr]} + resolution={[size.width * viewport.dpr, size.height * viewport.dpr]} attach="material" {...props} > diff --git a/src/core/RenderCubeTexture.tsx b/src/core/RenderCubeTexture.tsx index 064de6d20..c83f01e2f 100644 --- a/src/core/RenderCubeTexture.tsx +++ b/src/core/RenderCubeTexture.tsx @@ -66,12 +66,12 @@ export const RenderCubeTexture: ForwardRefComponent { - const { size, dpr } = useThree() + const { size, viewport } = useThree() const camera = React.useRef(null!) const fbo = React.useMemo(() => { const fbo = new THREE.WebGLCubeRenderTarget( - Math.max((resolution || size.width) * dpr, (resolution || size.height) * dpr), + Math.max((resolution || size.width) * viewport.dpr, (resolution || size.height) * viewport.dpr), { stencilBuffer, depthBuffer, diff --git a/src/core/RenderTexture.tsx b/src/core/RenderTexture.tsx index c2264a3a5..555bc0f74 100644 --- a/src/core/RenderTexture.tsx +++ b/src/core/RenderTexture.tsx @@ -47,8 +47,8 @@ export const RenderTexture: ForwardRefComponent = /* @__PU }: Props, forwardRef ) => { - const { size, dpr } = useThree() - const fbo = useFBO((width || size.width) * dpr, (height || size.height) * dpr, { + const { size, viewport } = useThree() + const fbo = useFBO((width || size.width) * viewport.dpr, (height || size.height) * viewport.dpr, { samples, stencilBuffer, depthBuffer, diff --git a/src/core/Sparkles.tsx b/src/core/Sparkles.tsx index 4e4a82ac3..6814d1c14 100644 --- a/src/core/Sparkles.tsx +++ b/src/core/Sparkles.tsx @@ -106,7 +106,7 @@ export const Sparkles: ForwardRefComponent { React.useMemo(() => extend({ SparklesImplMaterial }), []) const ref = React.useRef(null!) - const dpr = useThree((state) => state.dpr) + const dpr = useThree((state) => state.viewport.dpr) const _scale = normalizeVector(scale) const positions = React.useMemo( diff --git a/src/core/SpotLight.tsx b/src/core/SpotLight.tsx index 908662504..1faab06c8 100644 --- a/src/core/SpotLight.tsx +++ b/src/core/SpotLight.tsx @@ -53,7 +53,7 @@ function VolumetricMesh({ const mesh = React.useRef(null!) const size = useThree((state) => state.size) const camera = useThree((state) => state.camera) - const dpr = useThree((state) => state.dpr) + const dpr = useThree((state) => state.viewport.dpr) const [material] = React.useState(() => new SpotLightMaterial()) const [vec] = React.useState(() => new Vector3()) diff --git a/src/core/useDepthBuffer.ts b/src/core/useDepthBuffer.ts index 9db373c5f..7f8fd0291 100644 --- a/src/core/useDepthBuffer.ts +++ b/src/core/useDepthBuffer.ts @@ -4,7 +4,7 @@ import { useThree, useFrame } from '@react-three/fiber' import { useFBO } from './useFBO' function useDepthBuffer({ size = 256, frames = Infinity }: { size?: number; frames?: number } = {}) { - const dpr = useThree((state) => state.dpr) + const dpr = useThree((state) => state.viewport.dpr) const { width, height } = useThree((state) => state.size) const w = size || width * dpr const h = size || height * dpr diff --git a/src/core/useFBO.tsx b/src/core/useFBO.tsx index 05c5e48db..489328107 100644 --- a/src/core/useFBO.tsx +++ b/src/core/useFBO.tsx @@ -39,9 +39,9 @@ export function useFBO( settings?: FBOSettings ): THREE.WebGLRenderTarget { const size = useThree((state) => state.size) - const dpr = useThree((state) => state.dpr) - const _width = typeof width === 'number' ? width : size.width * dpr - const _height = typeof height === 'number' ? height : size.height * dpr + const viewport = useThree((state) => state.viewport) + const _width = typeof width === 'number' ? width : size.width * viewport.dpr + const _height = typeof height === 'number' ? height : size.height * viewport.dpr const _settings = (typeof width === 'number' ? settings : (width as FBOSettings)) || {} const { samples = 0, depth, ...targetSettings } = _settings diff --git a/src/web/Html.tsx b/src/web/Html.tsx index 064eff163..c1e0bed87 100644 --- a/src/web/Html.tsx +++ b/src/web/Html.tsx @@ -172,7 +172,7 @@ export const Html: ForwardRefComponent = /* @__PURE__ }: HtmlProps, ref: React.Ref ) => { - const { gl, camera, scene, size, raycaster, events } = useThree() + const { gl, camera, scene, size, raycaster, events, viewport } = useThree() const [el] = React.useState(() => document.createElement(as)) const root = React.useRef() @@ -389,9 +389,7 @@ export const Html: ForwardRefComponent = /* @__PURE__ const ele = el.children[0] if (ele?.clientWidth && ele?.clientHeight) { - // TODO: `factor` needs to be properly calculated. But how? - const factor = 1 - const ratio = 1 / factor + const ratio = 1 / viewport.factor const w = ele.clientWidth * ratio const h = ele.clientHeight * ratio diff --git a/src/web/PresentationControls.tsx b/src/web/PresentationControls.tsx index a3f38c558..9a8f1bf10 100644 --- a/src/web/PresentationControls.tsx +++ b/src/web/PresentationControls.tsx @@ -85,8 +85,10 @@ export function PresentationControls({ ) return ( // TODO: react-spring needs to be updated for v9 + // @ts-expect-error {children} + {/* @ts-expect-error */} ) } diff --git a/yarn.lock b/yarn.lock index 6610f57cd..c3a5047ba 100644 --- a/yarn.lock +++ b/yarn.lock @@ -24,7 +24,7 @@ dependencies: "@babel/highlight" "^7.10.4" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.21.4", "@babel/code-frame@^7.23.5", "@babel/code-frame@^7.24.1", "@babel/code-frame@^7.24.2", "@babel/code-frame@^7.5.5": +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.21.4", "@babel/code-frame@^7.23.5", "@babel/code-frame@^7.24.2", "@babel/code-frame@^7.5.5": version "7.24.2" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.24.2.tgz#718b4b19841809a58b29b68cde80bc5e1aa6d9ae" integrity sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ== @@ -38,32 +38,32 @@ integrity sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ== "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.14.3", "@babel/core@^7.18.9", "@babel/core@^7.20.12", "@babel/core@^7.23.0", "@babel/core@^7.23.2", "@babel/core@^7.23.9": - version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.24.4.tgz#1f758428e88e0d8c563874741bc4ffc4f71a4717" - integrity sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg== + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.24.5.tgz#15ab5b98e101972d171aeef92ac70d8d6718f06a" + integrity sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA== dependencies: "@ampproject/remapping" "^2.2.0" "@babel/code-frame" "^7.24.2" - "@babel/generator" "^7.24.4" + "@babel/generator" "^7.24.5" "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helpers" "^7.24.4" - "@babel/parser" "^7.24.4" + "@babel/helper-module-transforms" "^7.24.5" + "@babel/helpers" "^7.24.5" + "@babel/parser" "^7.24.5" "@babel/template" "^7.24.0" - "@babel/traverse" "^7.24.1" - "@babel/types" "^7.24.0" + "@babel/traverse" "^7.24.5" + "@babel/types" "^7.24.5" convert-source-map "^2.0.0" debug "^4.1.0" gensync "^1.0.0-beta.2" json5 "^2.2.3" semver "^6.3.1" -"@babel/generator@^7.23.0", "@babel/generator@^7.24.1", "@babel/generator@^7.24.4", "@babel/generator@^7.7.2": - version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.24.4.tgz#1fc55532b88adf952025d5d2d1e71f946cb1c498" - integrity sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw== +"@babel/generator@^7.23.0", "@babel/generator@^7.24.5", "@babel/generator@^7.7.2": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.24.5.tgz#e5afc068f932f05616b66713e28d0f04e99daeb3" + integrity sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA== dependencies: - "@babel/types" "^7.24.0" + "@babel/types" "^7.24.5" "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.25" jsesc "^2.5.1" @@ -93,19 +93,19 @@ lru-cache "^5.1.1" semver "^6.3.1" -"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.24.1", "@babel/helper-create-class-features-plugin@^7.24.4": - version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.4.tgz#c806f73788a6800a5cfbbc04d2df7ee4d927cce3" - integrity sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ== +"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.24.1", "@babel/helper-create-class-features-plugin@^7.24.4", "@babel/helper-create-class-features-plugin@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.5.tgz#7d19da92c7e0cd8d11c09af2ce1b8e7512a6e723" + integrity sha512-uRc4Cv8UQWnE4NXlYTIIdM7wfFkOqlFztcC/gVXDKohKoVB3OyonfelUBaJzSwpBntZ2KYGF/9S7asCHsXwW6g== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" "@babel/helper-environment-visitor" "^7.22.20" "@babel/helper-function-name" "^7.23.0" - "@babel/helper-member-expression-to-functions" "^7.23.0" + "@babel/helper-member-expression-to-functions" "^7.24.5" "@babel/helper-optimise-call-expression" "^7.22.5" "@babel/helper-replace-supers" "^7.24.1" "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/helper-split-export-declaration" "^7.24.5" semver "^6.3.1" "@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.22.15", "@babel/helper-create-regexp-features-plugin@^7.22.5": @@ -133,7 +133,7 @@ resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== -"@babel/helper-function-name@^7.22.5", "@babel/helper-function-name@^7.23.0": +"@babel/helper-function-name@^7.23.0": version "7.23.0" resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759" integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== @@ -148,12 +148,12 @@ dependencies: "@babel/types" "^7.22.5" -"@babel/helper-member-expression-to-functions@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz#9263e88cc5e41d39ec18c9a3e0eced59a3e7d366" - integrity sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA== +"@babel/helper-member-expression-to-functions@^7.23.0", "@babel/helper-member-expression-to-functions@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.5.tgz#5981e131d5c7003c7d1fa1ad49e86c9b097ec475" + integrity sha512-4owRteeihKWKamtqg4JmWSsEZU445xpFRXPEwp44HbgbxdWlUV1b4Agg4lkA806Lil5XM/e+FJyS0vj5T6vmcA== dependencies: - "@babel/types" "^7.23.0" + "@babel/types" "^7.24.5" "@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.22.15", "@babel/helper-module-imports@^7.24.1", "@babel/helper-module-imports@^7.24.3": version "7.24.3" @@ -162,16 +162,16 @@ dependencies: "@babel/types" "^7.24.0" -"@babel/helper-module-transforms@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz#d7d12c3c5d30af5b3c0fcab2a6d5217773e2d0f1" - integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== +"@babel/helper-module-transforms@^7.23.3", "@babel/helper-module-transforms@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.24.5.tgz#ea6c5e33f7b262a0ae762fd5986355c45f54a545" + integrity sha512-9GxeY8c2d2mdQUP1Dye0ks3VDyIMS98kt/llQ2nUId8IsWqTF0l1LkSX0/uP7l7MCDrzXS009Hyhe2gzTiGW8A== dependencies: "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-module-imports" "^7.22.15" - "@babel/helper-simple-access" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/helper-validator-identifier" "^7.22.20" + "@babel/helper-module-imports" "^7.24.3" + "@babel/helper-simple-access" "^7.24.5" + "@babel/helper-split-export-declaration" "^7.24.5" + "@babel/helper-validator-identifier" "^7.24.5" "@babel/helper-optimise-call-expression@^7.22.5": version "7.22.5" @@ -180,10 +180,10 @@ dependencies: "@babel/types" "^7.22.5" -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.24.0", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.24.0" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz#945681931a52f15ce879fd5b86ce2dae6d3d7f2a" - integrity sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w== +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.24.0", "@babel/helper-plugin-utils@^7.24.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.5.tgz#a924607dd254a65695e5bd209b98b902b3b2f11a" + integrity sha512-xjNLDopRzW2o6ba0gKbkZq5YWEBaK3PCyTOY1K2P/O07LGMhMqlMXPxwN4S5/RhWuCobT8z0jrlKGlYmeR1OhQ== "@babel/helper-remap-async-to-generator@^7.22.20": version "7.22.20" @@ -203,12 +203,12 @@ "@babel/helper-member-expression-to-functions" "^7.23.0" "@babel/helper-optimise-call-expression" "^7.22.5" -"@babel/helper-simple-access@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de" - integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== +"@babel/helper-simple-access@^7.22.5", "@babel/helper-simple-access@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.24.5.tgz#50da5b72f58c16b07fbd992810be6049478e85ba" + integrity sha512-uH3Hmf5q5n7n8mz7arjUlDOCbttY/DW4DYhE6FUsjKJ/oYC1kQQUvwEQWxRwUpX9qQKRXeqLwWxrqilMrf32sQ== dependencies: - "@babel/types" "^7.22.5" + "@babel/types" "^7.24.5" "@babel/helper-skip-transparent-expression-wrappers@^7.22.5": version "7.22.5" @@ -217,22 +217,22 @@ dependencies: "@babel/types" "^7.22.5" -"@babel/helper-split-export-declaration@^7.22.6": - version "7.22.6" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c" - integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== +"@babel/helper-split-export-declaration@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.5.tgz#b9a67f06a46b0b339323617c8c6213b9055a78b6" + integrity sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q== dependencies: - "@babel/types" "^7.22.5" + "@babel/types" "^7.24.5" -"@babel/helper-string-parser@^7.23.4": +"@babel/helper-string-parser@^7.24.1": version "7.24.1" resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz#f99c36d3593db9540705d0739a1f10b5e20c696e" integrity sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ== -"@babel/helper-validator-identifier@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" - integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== +"@babel/helper-validator-identifier@^7.22.20", "@babel/helper-validator-identifier@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.5.tgz#918b1a7fa23056603506370089bd990d8720db62" + integrity sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA== "@babel/helper-validator-option@^7.23.5": version "7.23.5" @@ -240,45 +240,45 @@ integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== "@babel/helper-wrap-function@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz#15352b0b9bfb10fc9c76f79f6342c00e3411a569" - integrity sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw== + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.24.5.tgz#335f934c0962e2c1ed1fb9d79e06a56115067c09" + integrity sha512-/xxzuNvgRl4/HLNKvnFwdhdgN3cpLxgLROeLDl83Yx0AJ1SGvq1ak0OszTOjDfiB8Vx03eJbeDWh9r+jCCWttw== dependencies: - "@babel/helper-function-name" "^7.22.5" - "@babel/template" "^7.22.15" - "@babel/types" "^7.22.19" + "@babel/helper-function-name" "^7.23.0" + "@babel/template" "^7.24.0" + "@babel/types" "^7.24.5" -"@babel/helpers@^7.24.4": - version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.24.4.tgz#dc00907fd0d95da74563c142ef4cd21f2cb856b6" - integrity sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw== +"@babel/helpers@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.24.5.tgz#fedeb87eeafa62b621160402181ad8585a22a40a" + integrity sha512-CiQmBMMpMQHwM5m01YnrM6imUG1ebgYJ+fAIW4FZe6m4qHTPaRHti+R8cggAwkdz4oXhtO4/K9JWlh+8hIfR2Q== dependencies: "@babel/template" "^7.24.0" - "@babel/traverse" "^7.24.1" - "@babel/types" "^7.24.0" + "@babel/traverse" "^7.24.5" + "@babel/types" "^7.24.5" "@babel/highlight@^7.10.4", "@babel/highlight@^7.24.2": - version "7.24.2" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.2.tgz#3f539503efc83d3c59080a10e6634306e0370d26" - integrity sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA== + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.5.tgz#bc0613f98e1dd0720e99b2a9ee3760194a704b6e" + integrity sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw== dependencies: - "@babel/helper-validator-identifier" "^7.22.20" + "@babel/helper-validator-identifier" "^7.24.5" chalk "^2.4.2" js-tokens "^4.0.0" picocolors "^1.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.0", "@babel/parser@^7.23.9", "@babel/parser@^7.24.0", "@babel/parser@^7.24.1", "@babel/parser@^7.24.4", "@babel/parser@^7.7.0": - version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.4.tgz#234487a110d89ad5a3ed4a8a566c36b9453e8c88" - integrity sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg== +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.0", "@babel/parser@^7.23.9", "@babel/parser@^7.24.0", "@babel/parser@^7.24.5", "@babel/parser@^7.7.0": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.5.tgz#4a4d5ab4315579e5398a82dcf636ca80c3392790" + integrity sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg== -"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.24.4": - version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.4.tgz#6125f0158543fb4edf1c22f322f3db67f21cb3e1" - integrity sha512-qpl6vOOEEzTLLcsuqYYo8yDtrTocmu2xkGvgNebvPjT9DTtfFYGmgDqY+rBYXNlqL4s9qLDn6xkrJv4RxAPiTA== +"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.5.tgz#4c3685eb9cd790bcad2843900fe0250c91ccf895" + integrity sha512-LdXRi1wEMTrHVR4Zc9F8OewC3vdm5h4QB6L71zy6StmYeqGi1b3ttIO8UC+BfZKcH9jdr4aI249rBkm+3+YvHw== dependencies: "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-plugin-utils" "^7.24.5" "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.24.1": version "7.24.1" @@ -312,6 +312,14 @@ "@babel/helper-create-class-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" +"@babel/plugin-proposal-nullish-coalescing-operator@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz#fdd940a99a740e577d6c753ab6fbb43fdb9467e1" + integrity sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": version "7.21.0-placeholder-for-preset-env.2" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz#7844f9289546efa9febac2de4cfe358a050bd703" @@ -505,12 +513,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.24.0" -"@babel/plugin-transform-block-scoping@^7.24.4": - version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.4.tgz#28f5c010b66fbb8ccdeef853bef1935c434d7012" - integrity sha512-nIFUZIpGKDf9O9ttyRXpHFpKC+X3Y5mtshZONuEUYBomAKoM4y029Jr+uB1bHGPhNmK8YXHevDtKDOLmtRrp6g== +"@babel/plugin-transform-block-scoping@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.5.tgz#89574191397f85661d6f748d4b89ee4d9ee69a2a" + integrity sha512-sMfBc3OxghjC95BkYrYocHL3NaOplrcaunblzwXhGmlPwpmfsxr4vK+mBBt49r+S240vahmv+kUxkeKgs+haCw== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-plugin-utils" "^7.24.5" "@babel/plugin-transform-class-properties@^7.22.5", "@babel/plugin-transform-class-properties@^7.24.1": version "7.24.1" @@ -529,18 +537,18 @@ "@babel/helper-plugin-utils" "^7.24.0" "@babel/plugin-syntax-class-static-block" "^7.14.5" -"@babel/plugin-transform-classes@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.1.tgz#5bc8fc160ed96378184bc10042af47f50884dcb1" - integrity sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q== +"@babel/plugin-transform-classes@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.5.tgz#05e04a09df49a46348299a0e24bfd7e901129339" + integrity sha512-gWkLP25DFj2dwe9Ck8uwMOpko4YsqyfZJrOmqqcegeDYEbp7rmn4U6UQZNj08UF6MaX39XenSpKRCvpDRBtZ7Q== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" "@babel/helper-compilation-targets" "^7.23.6" "@babel/helper-environment-visitor" "^7.22.20" "@babel/helper-function-name" "^7.23.0" - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-plugin-utils" "^7.24.5" "@babel/helper-replace-supers" "^7.24.1" - "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/helper-split-export-declaration" "^7.24.5" globals "^11.1.0" "@babel/plugin-transform-computed-properties@^7.24.1": @@ -551,12 +559,12 @@ "@babel/helper-plugin-utils" "^7.24.0" "@babel/template" "^7.24.0" -"@babel/plugin-transform-destructuring@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.1.tgz#b1e8243af4a0206841973786292b8c8dd8447345" - integrity sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw== +"@babel/plugin-transform-destructuring@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.5.tgz#80843ee6a520f7362686d1a97a7b53544ede453c" + integrity sha512-SZuuLyfxvsm+Ah57I/i1HVjveBENYK9ue8MJ7qkc7ndoNjqquJiElzA7f5yaAXjyW2hKojosOTAQQRX50bPSVg== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-plugin-utils" "^7.24.5" "@babel/plugin-transform-dotall-regex@^7.24.1": version "7.24.1" @@ -718,15 +726,15 @@ "@babel/helper-plugin-utils" "^7.24.0" "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-transform-object-rest-spread@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.1.tgz#5a3ce73caf0e7871a02e1c31e8b473093af241ff" - integrity sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA== +"@babel/plugin-transform-object-rest-spread@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.5.tgz#f91bbcb092ff957c54b4091c86bda8372f0b10ef" + integrity sha512-7EauQHszLGM3ay7a161tTQH7fj+3vVM/gThlz5HpFtnygTxjrlvoeq7MPVA1Vy9Q555OB8SnAOsMkLShNkkrHA== dependencies: "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-plugin-utils" "^7.24.5" "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.24.1" + "@babel/plugin-transform-parameters" "^7.24.5" "@babel/plugin-transform-object-super@^7.24.1": version "7.24.1" @@ -744,21 +752,21 @@ "@babel/helper-plugin-utils" "^7.24.0" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" -"@babel/plugin-transform-optional-chaining@^7.23.0", "@babel/plugin-transform-optional-chaining@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.1.tgz#26e588acbedce1ab3519ac40cc748e380c5291e6" - integrity sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg== +"@babel/plugin-transform-optional-chaining@^7.23.0", "@babel/plugin-transform-optional-chaining@^7.24.1", "@babel/plugin-transform-optional-chaining@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.5.tgz#a6334bebd7f9dd3df37447880d0bd64b778e600f" + integrity sha512-xWCkmwKT+ihmA6l7SSTpk8e4qQl/274iNbSKRRS8mpqFR32ksy36+a+LWY8OXCCEefF8WFlnOHVsaDI2231wBg== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-plugin-utils" "^7.24.5" "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" "@babel/plugin-syntax-optional-chaining" "^7.8.3" -"@babel/plugin-transform-parameters@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.1.tgz#983c15d114da190506c75b616ceb0f817afcc510" - integrity sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg== +"@babel/plugin-transform-parameters@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.5.tgz#5c3b23f3a6b8fed090f9b98f2926896d3153cc62" + integrity sha512-9Co00MqZ2aoky+4j2jhofErthm6QVLKbpQrvz20c3CH9KQCLHyNB+t2ya4/UrRpQGR+Wrwjg9foopoeSdnHOkA== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-plugin-utils" "^7.24.5" "@babel/plugin-transform-private-methods@^7.22.5", "@babel/plugin-transform-private-methods@^7.24.1": version "7.24.1" @@ -768,14 +776,14 @@ "@babel/helper-create-class-features-plugin" "^7.24.1" "@babel/helper-plugin-utils" "^7.24.0" -"@babel/plugin-transform-private-property-in-object@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.1.tgz#756443d400274f8fb7896742962cc1b9f25c1f6a" - integrity sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg== +"@babel/plugin-transform-private-property-in-object@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.5.tgz#f5d1fcad36e30c960134cb479f1ca98a5b06eda5" + integrity sha512-JM4MHZqnWR04jPMujQDTBVRnqxpLLpx2tkn7iPn+Hmsc0Gnb79yvRWOkvqFOx3Z7P7VxiRIR22c4eGSNj87OBQ== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-create-class-features-plugin" "^7.24.1" - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-create-class-features-plugin" "^7.24.5" + "@babel/helper-plugin-utils" "^7.24.5" "@babel/plugin-syntax-private-property-in-object" "^7.14.5" "@babel/plugin-transform-property-literals@^7.24.1": @@ -800,11 +808,11 @@ "@babel/plugin-transform-react-jsx" "^7.22.5" "@babel/plugin-transform-react-jsx-self@^7.18.6": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.24.1.tgz#a21d866d8167e752c6a7c4555dba8afcdfce6268" - integrity sha512-kDJgnPujTmAZ/9q2CN4m2/lRsUUPDvsG3+tSHWUJIzMGTt5U/b/fwWd3RO3n+5mjLrsBrVa5eKFRVSQbi3dF1w== + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.24.5.tgz#22cc7572947895c8e4cd034462e65d8ecf857756" + integrity sha512-RtCJoUO2oYrYwFPtR1/jkoBEcFuI1ae9a9IMxeyAVa3a1Ap4AnxmyIKG2b2FaJKqkidw/0cxRbWN+HOs6ZWd1w== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-plugin-utils" "^7.24.5" "@babel/plugin-transform-react-jsx-source@^7.19.6": version "7.24.1" @@ -888,21 +896,21 @@ dependencies: "@babel/helper-plugin-utils" "^7.24.0" -"@babel/plugin-transform-typeof-symbol@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.1.tgz#6831f78647080dec044f7e9f68003d99424f94c7" - integrity sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA== +"@babel/plugin-transform-typeof-symbol@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.5.tgz#703cace5ef74155fb5eecab63cbfc39bdd25fe12" + integrity sha512-UTGnhYVZtTAjdwOTzT+sCyXmTn8AhaxOS/MjG9REclZ6ULHWF9KoCZur0HSGU7hk8PdBFKKbYe6+gqdXWz84Jg== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-plugin-utils" "^7.24.5" "@babel/plugin-transform-typescript@^7.24.1", "@babel/plugin-transform-typescript@^7.3.2": - version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.24.4.tgz#03e0492537a4b953e491f53f2bc88245574ebd15" - integrity sha512-79t3CQ8+oBGk/80SQ8MN3Bs3obf83zJ0YZjDmDaEZN8MqhMI760apl5z6a20kFeMXBwJX99VpKT8CKxEBp5H1g== + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.24.5.tgz#bcba979e462120dc06a75bd34c473a04781931b8" + integrity sha512-E0VWu/hk83BIFUWnsKZ4D81KXjN5L3MobvevOHErASk9IPwKHOkTgvqzvNo1yP/ePJWqqK2SpUR5z+KQbl6NVw== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-create-class-features-plugin" "^7.24.4" - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-create-class-features-plugin" "^7.24.5" + "@babel/helper-plugin-utils" "^7.24.5" "@babel/plugin-syntax-typescript" "^7.24.1" "@babel/plugin-transform-unicode-escapes@^7.24.1": @@ -937,15 +945,15 @@ "@babel/helper-plugin-utils" "^7.24.0" "@babel/preset-env@^7.21.5", "@babel/preset-env@^7.23.2": - version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.24.4.tgz#46dbbcd608771373b88f956ffb67d471dce0d23b" - integrity sha512-7Kl6cSmYkak0FK/FXjSEnLJ1N9T/WA2RkMhu17gZ/dsxKJUuTYNIylahPTzqpLyJN4WhDif8X0XK1R8Wsguo/A== + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.24.5.tgz#6a9ac90bd5a5a9dae502af60dfc58c190551bbcd" + integrity sha512-UGK2ifKtcC8i5AI4cH+sbLLuLc2ktYSFJgBAXorKAsHUZmrQ1q6aQ6i3BvU24wWs2AAKqQB6kq3N9V9Gw1HiMQ== dependencies: "@babel/compat-data" "^7.24.4" "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-plugin-utils" "^7.24.5" "@babel/helper-validator-option" "^7.23.5" - "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.24.4" + "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.24.5" "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.24.1" "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.24.1" "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.24.1" @@ -972,12 +980,12 @@ "@babel/plugin-transform-async-generator-functions" "^7.24.3" "@babel/plugin-transform-async-to-generator" "^7.24.1" "@babel/plugin-transform-block-scoped-functions" "^7.24.1" - "@babel/plugin-transform-block-scoping" "^7.24.4" + "@babel/plugin-transform-block-scoping" "^7.24.5" "@babel/plugin-transform-class-properties" "^7.24.1" "@babel/plugin-transform-class-static-block" "^7.24.4" - "@babel/plugin-transform-classes" "^7.24.1" + "@babel/plugin-transform-classes" "^7.24.5" "@babel/plugin-transform-computed-properties" "^7.24.1" - "@babel/plugin-transform-destructuring" "^7.24.1" + "@babel/plugin-transform-destructuring" "^7.24.5" "@babel/plugin-transform-dotall-regex" "^7.24.1" "@babel/plugin-transform-duplicate-keys" "^7.24.1" "@babel/plugin-transform-dynamic-import" "^7.24.1" @@ -997,13 +1005,13 @@ "@babel/plugin-transform-new-target" "^7.24.1" "@babel/plugin-transform-nullish-coalescing-operator" "^7.24.1" "@babel/plugin-transform-numeric-separator" "^7.24.1" - "@babel/plugin-transform-object-rest-spread" "^7.24.1" + "@babel/plugin-transform-object-rest-spread" "^7.24.5" "@babel/plugin-transform-object-super" "^7.24.1" "@babel/plugin-transform-optional-catch-binding" "^7.24.1" - "@babel/plugin-transform-optional-chaining" "^7.24.1" - "@babel/plugin-transform-parameters" "^7.24.1" + "@babel/plugin-transform-optional-chaining" "^7.24.5" + "@babel/plugin-transform-parameters" "^7.24.5" "@babel/plugin-transform-private-methods" "^7.24.1" - "@babel/plugin-transform-private-property-in-object" "^7.24.1" + "@babel/plugin-transform-private-property-in-object" "^7.24.5" "@babel/plugin-transform-property-literals" "^7.24.1" "@babel/plugin-transform-regenerator" "^7.24.1" "@babel/plugin-transform-reserved-words" "^7.24.1" @@ -1011,7 +1019,7 @@ "@babel/plugin-transform-spread" "^7.24.1" "@babel/plugin-transform-sticky-regex" "^7.24.1" "@babel/plugin-transform-template-literals" "^7.24.1" - "@babel/plugin-transform-typeof-symbol" "^7.24.1" + "@babel/plugin-transform-typeof-symbol" "^7.24.5" "@babel/plugin-transform-unicode-escapes" "^7.24.1" "@babel/plugin-transform-unicode-property-regex" "^7.24.1" "@babel/plugin-transform-unicode-regex" "^7.24.1" @@ -1081,9 +1089,9 @@ integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.17.8", "@babel/runtime@^7.18.3", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7": - version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.24.4.tgz#de795accd698007a66ba44add6cc86542aff1edd" - integrity sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA== + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.24.5.tgz#230946857c053a36ccc66e1dd03b17dd0c4ed02c" + integrity sha512-Nms86NXrsaeU9vbBJKni6gXiEXZ4CVpYVzEjDH9Sb8vmZ3UljyA1GSOJl/6LGPO8EHLuSF9H+IxNXHPX8QHJ4g== dependencies: regenerator-runtime "^0.14.0" @@ -1096,29 +1104,29 @@ "@babel/parser" "^7.24.0" "@babel/types" "^7.24.0" -"@babel/traverse@^7.18.9", "@babel/traverse@^7.23.2", "@babel/traverse@^7.24.1", "@babel/traverse@^7.7.0": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.1.tgz#d65c36ac9dd17282175d1e4a3c49d5b7988f530c" - integrity sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ== +"@babel/traverse@^7.18.9", "@babel/traverse@^7.23.2", "@babel/traverse@^7.24.5", "@babel/traverse@^7.7.0": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.5.tgz#972aa0bc45f16983bf64aa1f877b2dd0eea7e6f8" + integrity sha512-7aaBLeDQ4zYcUFDUD41lJc1fG8+5IU9DaNSJAgal866FGvmD5EbWQgnEC6kO1gGLsX0esNkfnJSndbTXA3r7UA== dependencies: - "@babel/code-frame" "^7.24.1" - "@babel/generator" "^7.24.1" + "@babel/code-frame" "^7.24.2" + "@babel/generator" "^7.24.5" "@babel/helper-environment-visitor" "^7.22.20" "@babel/helper-function-name" "^7.23.0" "@babel/helper-hoist-variables" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/parser" "^7.24.1" - "@babel/types" "^7.24.0" + "@babel/helper-split-export-declaration" "^7.24.5" + "@babel/parser" "^7.24.5" + "@babel/types" "^7.24.5" debug "^4.3.1" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.18.9", "@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.4", "@babel/types@^7.24.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4", "@babel/types@^7.7.0": - version "7.24.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.0.tgz#3b951f435a92e7333eba05b7566fd297960ea1bf" - integrity sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w== +"@babel/types@^7.0.0", "@babel/types@^7.18.9", "@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.4", "@babel/types@^7.24.0", "@babel/types@^7.24.5", "@babel/types@^7.3.3", "@babel/types@^7.4.4", "@babel/types@^7.7.0": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.5.tgz#7661930afc638a5383eb0c4aee59b74f38db84d7" + integrity sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ== dependencies: - "@babel/helper-string-parser" "^7.23.4" - "@babel/helper-validator-identifier" "^7.22.20" + "@babel/helper-string-parser" "^7.24.1" + "@babel/helper-validator-identifier" "^7.24.5" to-fast-properties "^2.0.0" "@base2/pretty-print-object@1.0.1": @@ -1530,9 +1538,9 @@ "@floating-ui/utils" "^0.2.0" "@floating-ui/dom@^1.0.0", "@floating-ui/dom@^1.0.1": - version "1.6.4" - resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.6.4.tgz#3a9d1f3b7ccdab89a4ca05713acc6204b1f67a29" - integrity sha512-0G8R+zOvQsAG1pg2Q99P21jiqxqGBW1iRe/iXHsBRBxnpXKFI8QwbB4x5KmYLggNO5m34IQgOIu9SCRfR/WWiQ== + version "1.6.5" + resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.6.5.tgz#323f065c003f1d3ecf0ff16d2c2c4d38979f4cb9" + integrity sha512-Nsdud2X65Dz+1RHjAIP0t8z5e2ff/IRbei6BqFrl1urT8sDVzM1HMQ+R0XcU5ceRfyO3I6ayeqIfh+6Wb8LGTw== dependencies: "@floating-ui/core" "^1.0.0" "@floating-ui/utils" "^0.2.0" @@ -1971,9 +1979,9 @@ walk-up-path "^3.0.1" "@npmcli/disparity-colors@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@npmcli/disparity-colors/-/disparity-colors-3.0.0.tgz#60ea8c6eb5ba9de2d1950e15b06205b2c3ab7833" - integrity sha512-5R/z157/f20Fi0Ou4ZttL51V0xz0EdPEOauFtPCEYOLInDBRCj1/TxOJ5aGTrtShxEshN2d+hXb9ZKSi5RLBcg== + version "3.0.1" + resolved "https://registry.yarnpkg.com/@npmcli/disparity-colors/-/disparity-colors-3.0.1.tgz#042d5ef548200c81e3ee3a84c994744573fe79fd" + integrity sha512-cOypTz/9IAhaPgOktbDNPeccTU88y8I1ZURbPeC0ooziK1h6dRJs2iGz1eKP1muaeVbow8GqQ0DaxLG8Bpmblw== dependencies: ansi-styles "^4.3.0" @@ -1986,9 +1994,9 @@ semver "^7.3.5" "@npmcli/fs@^3.1.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-3.1.0.tgz#233d43a25a91d68c3a863ba0da6a3f00924a173e" - integrity sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w== + version "3.1.1" + resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-3.1.1.tgz#59cdaa5adca95d135fc00f2bb53f5771575ce726" + integrity sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg== dependencies: semver "^7.3.5" @@ -2130,10 +2138,10 @@ resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-20.0.0.tgz#9ec2daa0090eeb865ee147636e0c00f73790c6e5" integrity sha512-EtqRBEjp1dL/15V7WiX5LJMIxxkdiGJnabzYx5Apx4FkQIFgAfKumXeYAqqJCj1s+BMX4cPFIFC4OLCR6stlnA== -"@octokit/openapi-types@^22.1.0": - version "22.1.0" - resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-22.1.0.tgz#6aa72f35fb29318064e4ab60972f40429857eb2e" - integrity sha512-pGUdSP+eEPfZiQHNkZI0U01HLipxncisdJQB4G//OAmfeO8sqTQ9KRa0KF03TUPCziNsoXUrTg4B2Q1EX++T0Q== +"@octokit/openapi-types@^22.2.0": + version "22.2.0" + resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-22.2.0.tgz#75aa7dcd440821d99def6a60b5f014207ae4968e" + integrity sha512-QBhVjcUa9W7Wwhm6DBFu6ZZ+1/t/oYxqc2tp81Pi41YNuJinbFRx8B133qVOrAaBbF7D/m0Et6f9/pZt9Rc+tg== "@octokit/plugin-paginate-rest@^9.0.0": version "9.2.1" @@ -2186,11 +2194,11 @@ "@octokit/openapi-types" "^20.0.0" "@octokit/types@^13.0.0", "@octokit/types@^13.1.0": - version "13.4.1" - resolved "https://registry.yarnpkg.com/@octokit/types/-/types-13.4.1.tgz#ad3574488cce6792e5d981a1bdf4b694e1ca349f" - integrity sha512-Y73oOAzRBAUzR/iRAbGULzpNkX8vaxKCqEtg6K74Ff3w9f5apFnWtE/2nade7dMWWW3bS5Kkd6DJS4HF04xreg== + version "13.5.0" + resolved "https://registry.yarnpkg.com/@octokit/types/-/types-13.5.0.tgz#4796e56b7b267ebc7c921dcec262b3d5bfb18883" + integrity sha512-HdqWTf5Z3qwDVlzCrP8UJquMwunpDiMPt5er+QjGzL4hqr/vBVY/MauQgS1xWxCDT1oMx1EULyqxncdCY/NVSQ== dependencies: - "@octokit/openapi-types" "^22.1.0" + "@octokit/openapi-types" "^22.2.0" "@pkgjs/parseargs@^0.11.0": version "0.11.0" @@ -2567,10 +2575,10 @@ resolved "https://registry.yarnpkg.com/@react-spring/types/-/types-9.6.1.tgz#913d3a68c5cbc1124fdb18eff919432f7b6abdde" integrity sha512-POu8Mk0hIU3lRXB3bGIGe4VHIwwDsQyoD1F394OK7STTiX9w4dG3cTLljjYswkQN+hDSHRrj4O36kuVa7KPU8Q== -"@react-three/fiber@^9.0.0-alpha.4": - version "9.0.0-alpha.4" - resolved "https://registry.yarnpkg.com/@react-three/fiber/-/fiber-9.0.0-alpha.4.tgz#1b364c328f7b1f1aa49dd5c9722fce27c5d64b7b" - integrity sha512-9yR36gDu0pMNERLaNmigSJQ3wShz0T9USMu+lGkYycfpRlnYVZylZcnrlV1VbsVKF6gLUjyTHG198y/hw4Axyg== +"@react-three/fiber@^9.0.0-alpha.5": + version "9.0.0-alpha.5" + resolved "https://registry.yarnpkg.com/@react-three/fiber/-/fiber-9.0.0-alpha.5.tgz#2767587e6494cbcafe6aeda29d4ec8e1791f7af0" + integrity sha512-uAu8a0ohLHdrGr6w94bppQQohbYWd4RREsadV1vm0vexCiP8V09mnFwT/RMW7S0XqRSuIRW4y6gF/Ou2WiQZ3A== dependencies: "@babel/runtime" "^7.17.8" "@types/react-reconciler" "^0.28.8" @@ -2777,85 +2785,85 @@ dependencies: "@sinonjs/commons" "^3.0.0" -"@storybook/addon-actions@7.6.18", "@storybook/addon-actions@^7.0.12": - version "7.6.18" - resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-7.6.18.tgz#18776345a1c43ab2d27045432f6a4c0f32b5e1da" - integrity sha512-HWS2NqUNH7FGG5QyWMvV3aw2IcwXw6xQwCx2xLUD7fJFqCAf4cDXZIsGnTVHCtoddVRBIlcS+LRmiGU8+mQKdw== +"@storybook/addon-actions@7.6.19", "@storybook/addon-actions@^7.0.12": + version "7.6.19" + resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-7.6.19.tgz#f131faf51c2baf036aa0fff33d77a1fa74e22ad0" + integrity sha512-ATLrA5QKFJt7tIAScRHz5T3eBQ+RG3jaZk08L7gChvyQZhei8knWwePElZ7GaWbCr9BgznQp1lQUUXq/UUblAQ== dependencies: - "@storybook/core-events" "7.6.18" + "@storybook/core-events" "7.6.19" "@storybook/global" "^5.0.0" "@types/uuid" "^9.0.1" dequal "^2.0.2" polished "^4.2.2" uuid "^9.0.0" -"@storybook/addon-backgrounds@7.6.18": - version "7.6.18" - resolved "https://registry.yarnpkg.com/@storybook/addon-backgrounds/-/addon-backgrounds-7.6.18.tgz#c120e615dc73164626f0dfcb77b8597c0b51dd58" - integrity sha512-Bai0n3RfO+PmsQ69KdRhPvuwCistNLvpKtAEzo9nlpHfYh921OgVfZrKFfWJgYskvyVlaNu0DeR3t6TT8CbT/A== +"@storybook/addon-backgrounds@7.6.19": + version "7.6.19" + resolved "https://registry.yarnpkg.com/@storybook/addon-backgrounds/-/addon-backgrounds-7.6.19.tgz#cd4cf6a6415c32a0e813573553efa592400c6c2f" + integrity sha512-Nu3LAZODRSV2e5bOroKm/Jp6BIFzwu/nJxD5OvLWkkwNCh+vDXUFbbaVrZf5xRL+fHd9iLFPtWbJQpF/w7UsCw== dependencies: "@storybook/global" "^5.0.0" memoizerific "^1.11.3" ts-dedent "^2.0.0" -"@storybook/addon-controls@7.6.18", "@storybook/addon-controls@^7.0.12": - version "7.6.18" - resolved "https://registry.yarnpkg.com/@storybook/addon-controls/-/addon-controls-7.6.18.tgz#fb353544fc256a00429a45702e7cfc7f212bd011" - integrity sha512-iH/JbltgjDFihRppeniNlGE3Qc86Q5oW8+p77E9B0ILn3yGk3rNOSlOTUg7a1seMjddJfsptDn4xMFHuunYuyQ== +"@storybook/addon-controls@7.6.19", "@storybook/addon-controls@^7.0.12": + version "7.6.19" + resolved "https://registry.yarnpkg.com/@storybook/addon-controls/-/addon-controls-7.6.19.tgz#86c0433b3d5e2e74f6ca3e58e492730d27f0220f" + integrity sha512-cl6PCNEwihDjuWIUsKTyDNKk+/IE4J3oMbSY5AZV/9Z0jJbpMV2shVm5DMZm5LhCCVcu5obWcxCIa4FMIMJAMQ== dependencies: - "@storybook/blocks" "7.6.18" + "@storybook/blocks" "7.6.19" lodash "^4.17.21" ts-dedent "^2.0.0" -"@storybook/addon-docs@7.6.18": - version "7.6.18" - resolved "https://registry.yarnpkg.com/@storybook/addon-docs/-/addon-docs-7.6.18.tgz#302da70ae542313bb94a35dbf33b21dd927823d3" - integrity sha512-+JzGL5ImwZ5VE+PiEUzRHWKbgvFsg/G2OTzyqZD8vQ+NlB6rmKGzGpXz0c4D6xEupzIJwjbpSN2ZOzgld0Du9Q== +"@storybook/addon-docs@7.6.19": + version "7.6.19" + resolved "https://registry.yarnpkg.com/@storybook/addon-docs/-/addon-docs-7.6.19.tgz#4f0866072a5105e667ed75bd388584bb46206884" + integrity sha512-nv+9SR/NOtM8Od2esOXHcg0NQT8Pk8BMUyGwZu5Q3MLI4JxNVEG65dY0IP2j6Knc4UtlvQTpM0f7m5xp4seHjQ== dependencies: "@jest/transform" "^29.3.1" "@mdx-js/react" "^2.1.5" - "@storybook/blocks" "7.6.18" - "@storybook/client-logger" "7.6.18" - "@storybook/components" "7.6.18" - "@storybook/csf-plugin" "7.6.18" - "@storybook/csf-tools" "7.6.18" + "@storybook/blocks" "7.6.19" + "@storybook/client-logger" "7.6.19" + "@storybook/components" "7.6.19" + "@storybook/csf-plugin" "7.6.19" + "@storybook/csf-tools" "7.6.19" "@storybook/global" "^5.0.0" "@storybook/mdx2-csf" "^1.0.0" - "@storybook/node-logger" "7.6.18" - "@storybook/postinstall" "7.6.18" - "@storybook/preview-api" "7.6.18" - "@storybook/react-dom-shim" "7.6.18" - "@storybook/theming" "7.6.18" - "@storybook/types" "7.6.18" + "@storybook/node-logger" "7.6.19" + "@storybook/postinstall" "7.6.19" + "@storybook/preview-api" "7.6.19" + "@storybook/react-dom-shim" "7.6.19" + "@storybook/theming" "7.6.19" + "@storybook/types" "7.6.19" fs-extra "^11.1.0" remark-external-links "^8.0.0" remark-slug "^6.0.0" ts-dedent "^2.0.0" "@storybook/addon-essentials@^7.0.12": - version "7.6.18" - resolved "https://registry.yarnpkg.com/@storybook/addon-essentials/-/addon-essentials-7.6.18.tgz#f5a36b79db5bda26216a249d94a877129ae13fbd" - integrity sha512-qgVH442LhIdzCbx0E+eB1+xTj1TOKqSqrUy76viILCK1wfMSeIsU8TNkqnc8hzUQH2IatUJb/t76wXh2eV9s4w== - dependencies: - "@storybook/addon-actions" "7.6.18" - "@storybook/addon-backgrounds" "7.6.18" - "@storybook/addon-controls" "7.6.18" - "@storybook/addon-docs" "7.6.18" - "@storybook/addon-highlight" "7.6.18" - "@storybook/addon-measure" "7.6.18" - "@storybook/addon-outline" "7.6.18" - "@storybook/addon-toolbars" "7.6.18" - "@storybook/addon-viewport" "7.6.18" - "@storybook/core-common" "7.6.18" - "@storybook/manager-api" "7.6.18" - "@storybook/node-logger" "7.6.18" - "@storybook/preview-api" "7.6.18" + version "7.6.19" + resolved "https://registry.yarnpkg.com/@storybook/addon-essentials/-/addon-essentials-7.6.19.tgz#1f2a7af9388e1f50b3cfd2fd9ee5fd763a1ac35a" + integrity sha512-SC33ZEQ5YaOt9wDkrdZmwQgqPWo9om/gqnyif06eug3SwrTe9JjO5iq1PIBfQodLD9MAxr9cwBvO0NG505oszQ== + dependencies: + "@storybook/addon-actions" "7.6.19" + "@storybook/addon-backgrounds" "7.6.19" + "@storybook/addon-controls" "7.6.19" + "@storybook/addon-docs" "7.6.19" + "@storybook/addon-highlight" "7.6.19" + "@storybook/addon-measure" "7.6.19" + "@storybook/addon-outline" "7.6.19" + "@storybook/addon-toolbars" "7.6.19" + "@storybook/addon-viewport" "7.6.19" + "@storybook/core-common" "7.6.19" + "@storybook/manager-api" "7.6.19" + "@storybook/node-logger" "7.6.19" + "@storybook/preview-api" "7.6.19" ts-dedent "^2.0.0" -"@storybook/addon-highlight@7.6.18": - version "7.6.18" - resolved "https://registry.yarnpkg.com/@storybook/addon-highlight/-/addon-highlight-7.6.18.tgz#a29892bdc1e3bb586e8abdb772ae5e350ba7ef87" - integrity sha512-XUR9sTcxqYbes9ckj1b/GyAJ3yFfE/2YnvPFz8vWO9hIZjlL0Wvyiy/1L2DePF1S+zHrYA8+dg65vK8pMXUrnQ== +"@storybook/addon-highlight@7.6.19": + version "7.6.19" + resolved "https://registry.yarnpkg.com/@storybook/addon-highlight/-/addon-highlight-7.6.19.tgz#7e88fe924e822426ef54c33ad1522a9676ef57aa" + integrity sha512-/pApl0oiVU1CQ8xETRNDLDthMBjeTmvFnTRq8RJ9m0JYTrSsoyHDmj9zS4K1k9gReqijE7brslhP8d2tblBpNw== dependencies: "@storybook/global" "^5.0.0" @@ -2876,31 +2884,31 @@ react-lifecycles-compat "^3.0.4" react-select "^5.7.0" -"@storybook/addon-measure@7.6.18": - version "7.6.18" - resolved "https://registry.yarnpkg.com/@storybook/addon-measure/-/addon-measure-7.6.18.tgz#a0d912ef22e825c315b6a76ad3cdcda4f5807755" - integrity sha512-ixEW/RG3iJCiyJQ51vKqlTJHq6vJ7O/xHGGMFV9+RYP0S2klZctQQwLZxUWUjSLUUjCX/DrxVlmK03h+7f+wWA== +"@storybook/addon-measure@7.6.19": + version "7.6.19" + resolved "https://registry.yarnpkg.com/@storybook/addon-measure/-/addon-measure-7.6.19.tgz#4f12580eff40038a8d514be1059b2d063e5d0ed4" + integrity sha512-n+cfhVXXouBv9oQr3a77vvip5dTznaNoBDWMafP2ohauc8jBlAxeBwCjk5r3pyThMRIFCTG/ypZrhiJcSJT3bw== dependencies: "@storybook/global" "^5.0.0" tiny-invariant "^1.3.1" -"@storybook/addon-outline@7.6.18": - version "7.6.18" - resolved "https://registry.yarnpkg.com/@storybook/addon-outline/-/addon-outline-7.6.18.tgz#e90dec1b24f2df0715ae30b6687deddd5f4f633e" - integrity sha512-YKHjir/+KZH0P/F8spmm9l/EC28VXlE0beAxeErvpPiA6t1Ykrh7GEPvPEolY1DydKBaLLnd20adLhDskl+oGg== +"@storybook/addon-outline@7.6.19": + version "7.6.19" + resolved "https://registry.yarnpkg.com/@storybook/addon-outline/-/addon-outline-7.6.19.tgz#519cdba12d3f27f1282897d2abe8762a5640b45f" + integrity sha512-Tt4MrfjK5j/Mdh8nJ8ccVyh78Dy7aiEPxO31YVvr5XUkge0pDi1PX328mHRDPur0i56NM8ssVbekWBZr+9MxlA== dependencies: "@storybook/global" "^5.0.0" ts-dedent "^2.0.0" -"@storybook/addon-toolbars@7.6.18": - version "7.6.18" - resolved "https://registry.yarnpkg.com/@storybook/addon-toolbars/-/addon-toolbars-7.6.18.tgz#5f5d3642e2a56516558033ab1aa56610b5705527" - integrity sha512-AlqW8rA5gNtxjbTyJtJlVfmqbcSJAWFHTvC7OfwbZRZLmF5agdBUQeAZYI75WBZpdlYrp23s88O+MRMa/CF2yA== +"@storybook/addon-toolbars@7.6.19": + version "7.6.19" + resolved "https://registry.yarnpkg.com/@storybook/addon-toolbars/-/addon-toolbars-7.6.19.tgz#4800d5d8679334b4a3353bb7e4933af5a6545d4b" + integrity sha512-+qGbPP2Vo/HoPiS4EJopZ127HGculCV74Hkz6ot7ob6AkYdA1yLMPzWns/ZXNIWm6ab3jV+iq+mQCM/i1qJzvA== -"@storybook/addon-viewport@7.6.18": - version "7.6.18" - resolved "https://registry.yarnpkg.com/@storybook/addon-viewport/-/addon-viewport-7.6.18.tgz#98c3109fc6166b85b8e3a52b0a5ca6a659e489b9" - integrity sha512-fgn38aXappEeDNg5u52fswhjkNN5Sru6Rf/2WhuuQXteIC2tX27J03Ud8h2aKydzHai7zz8jJ0IoGt7cA6W0Nw== +"@storybook/addon-viewport@7.6.19": + version "7.6.19" + resolved "https://registry.yarnpkg.com/@storybook/addon-viewport/-/addon-viewport-7.6.19.tgz#602aa2c0431f4b8119f9cf4e668eb3155ad5bcb7" + integrity sha512-OQQtJ2kYwImbvE9QiC3I3yR0O0EBgNjq+XSaSS4ixJrvUyesfuB7Lm7RkubhEEiP4yANi9OlbzsqZelmPOnk6w== dependencies: memoizerific "^1.11.3" @@ -2913,22 +2921,22 @@ "@storybook/preview-api" "7.6.17" "@storybook/types" "7.6.17" -"@storybook/blocks@7.6.18": - version "7.6.18" - resolved "https://registry.yarnpkg.com/@storybook/blocks/-/blocks-7.6.18.tgz#539a44899a28cd244846e08ad4ca92c5a874dd5f" - integrity sha512-mCEyGew2nyiFwJ1iHfm4ItB/bDrVzYUODkKktmHDmJJgjKFIDQJPTgLsiQhXBtxqW0TImL4JpSU/aUAAbXpZeg== +"@storybook/blocks@7.6.19": + version "7.6.19" + resolved "https://registry.yarnpkg.com/@storybook/blocks/-/blocks-7.6.19.tgz#11bd3126245be33df091b48df9f25c1c07920825" + integrity sha512-/c/bVQRmyRPoviJhPrFdLfubRcrnZWTwkjxsCvrOTJ/UDOyEl0t/H8yY1mGq7KWWTdbIznnZWhAIofHnH4/Esw== dependencies: - "@storybook/channels" "7.6.18" - "@storybook/client-logger" "7.6.18" - "@storybook/components" "7.6.18" - "@storybook/core-events" "7.6.18" + "@storybook/channels" "7.6.19" + "@storybook/client-logger" "7.6.19" + "@storybook/components" "7.6.19" + "@storybook/core-events" "7.6.19" "@storybook/csf" "^0.1.2" - "@storybook/docs-tools" "7.6.18" + "@storybook/docs-tools" "7.6.19" "@storybook/global" "^5.0.0" - "@storybook/manager-api" "7.6.18" - "@storybook/preview-api" "7.6.18" - "@storybook/theming" "7.6.18" - "@storybook/types" "7.6.18" + "@storybook/manager-api" "7.6.19" + "@storybook/preview-api" "7.6.19" + "@storybook/theming" "7.6.19" + "@storybook/types" "7.6.19" "@types/lodash" "^4.14.167" color-convert "^2.0.1" dequal "^2.0.2" @@ -2942,15 +2950,15 @@ ts-dedent "^2.0.0" util-deprecate "^1.0.2" -"@storybook/builder-manager@7.6.18": - version "7.6.18" - resolved "https://registry.yarnpkg.com/@storybook/builder-manager/-/builder-manager-7.6.18.tgz#ae2adbe08d628479a9ae286ae5f85c8f9c6fe56d" - integrity sha512-kXnC/lDA3zUeXgwAoHKed+CXbDcKV8GJ6qrPCw1D1a3ug5Lw5DYPBJC/KP3CgNpVx6vukkeEIwKYg2M+LRmI6g== +"@storybook/builder-manager@7.6.19": + version "7.6.19" + resolved "https://registry.yarnpkg.com/@storybook/builder-manager/-/builder-manager-7.6.19.tgz#1356fab233181a06c8cea9094b53c84aac218bae" + integrity sha512-Dt5OLh97xeWh4h2mk9uG0SbCxBKHPhIiHLHAKEIDzIZBdwUhuyncVNDPHW2NlXM+S7U0/iKs2tw05waqh2lHvg== dependencies: "@fal-works/esbuild-plugin-global-externals" "^2.1.2" - "@storybook/core-common" "7.6.18" - "@storybook/manager" "7.6.18" - "@storybook/node-logger" "7.6.18" + "@storybook/core-common" "7.6.19" + "@storybook/manager" "7.6.19" + "@storybook/node-logger" "7.6.19" "@types/ejs" "^3.1.1" "@types/find-cache-dir" "^3.2.1" "@yarnpkg/esbuild-plugin-pnp" "^3.0.0-rc.10" @@ -2964,19 +2972,19 @@ process "^0.11.10" util "^0.12.4" -"@storybook/builder-vite@7.6.18": - version "7.6.18" - resolved "https://registry.yarnpkg.com/@storybook/builder-vite/-/builder-vite-7.6.18.tgz#1f0240424f8b40637669577e7fd4270663e3b959" - integrity sha512-f3chnC6ug9KJDz3Z+HNl8yhJ/SUT0ASdJjKViVJ90MKKyFpeCvzs2DSgMGv2UJrPfBMh6PhFM2dy26+LksioCQ== - dependencies: - "@storybook/channels" "7.6.18" - "@storybook/client-logger" "7.6.18" - "@storybook/core-common" "7.6.18" - "@storybook/csf-plugin" "7.6.18" - "@storybook/node-logger" "7.6.18" - "@storybook/preview" "7.6.18" - "@storybook/preview-api" "7.6.18" - "@storybook/types" "7.6.18" +"@storybook/builder-vite@7.6.19": + version "7.6.19" + resolved "https://registry.yarnpkg.com/@storybook/builder-vite/-/builder-vite-7.6.19.tgz#35ca449edf3e47b799cd121d1890858f16a72429" + integrity sha512-llYpfYCHQCD0nPy+5J+H67iKcOpBrexIFO13wXxHQyl27Z+1T2JJj4cHqZs5S3a2XLiwf4df44NBvvwV5cmJmQ== + dependencies: + "@storybook/channels" "7.6.19" + "@storybook/client-logger" "7.6.19" + "@storybook/core-common" "7.6.19" + "@storybook/csf-plugin" "7.6.19" + "@storybook/node-logger" "7.6.19" + "@storybook/preview" "7.6.19" + "@storybook/preview-api" "7.6.19" + "@storybook/types" "7.6.19" "@types/find-cache-dir" "^3.2.1" browser-assert "^1.2.1" es-module-lexer "^0.9.3" @@ -2998,35 +3006,35 @@ telejson "^7.2.0" tiny-invariant "^1.3.1" -"@storybook/channels@7.6.18": - version "7.6.18" - resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-7.6.18.tgz#bcbe6baacf012380a7f1ed47f04b61a1a9467c8d" - integrity sha512-ayMJ6GJot81URJySXcwZG1mLacblUVdLgAMIhU7oSW1K1v4KvQPxv3FqjNN+48g/1s+2A9UraCDqN0qzO3wznQ== +"@storybook/channels@7.6.19": + version "7.6.19" + resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-7.6.19.tgz#730fa74f7800e2069707f8a880996ca6fc8957ab" + integrity sha512-2JGh+i95GwjtjqWqhtEh15jM5ifwbRGmXeFqkY7dpdHH50EEWafYHr2mg3opK3heVDwg0rJ/VBptkmshloXuvA== dependencies: - "@storybook/client-logger" "7.6.18" - "@storybook/core-events" "7.6.18" + "@storybook/client-logger" "7.6.19" + "@storybook/core-events" "7.6.19" "@storybook/global" "^5.0.0" qs "^6.10.0" telejson "^7.2.0" tiny-invariant "^1.3.1" -"@storybook/cli@7.6.18": - version "7.6.18" - resolved "https://registry.yarnpkg.com/@storybook/cli/-/cli-7.6.18.tgz#23bfa7a6ed2e23b20dbe0f72cb85e35fe7e4d5e7" - integrity sha512-2zlCyX4m1Jb3p+P/Z+7ioa7cXA+Sv+j0JevUWaaVZbBLrjj/G2k5bYzgrks0FhQZ6MLv5bkuZPGtJMgWQ8+c3Q== +"@storybook/cli@7.6.19": + version "7.6.19" + resolved "https://registry.yarnpkg.com/@storybook/cli/-/cli-7.6.19.tgz#b4f36ccd51e02ceadb92c3e2341f82ee1bbd6598" + integrity sha512-7OVy7nPgkLfgivv6/dmvoyU6pKl9EzWFk+g9izyQHiM/jS8jOiEyn6akG8Ebj6k5pWslo5lgiXUSW+cEEZUnqQ== dependencies: "@babel/core" "^7.23.2" "@babel/preset-env" "^7.23.2" "@babel/types" "^7.23.0" "@ndelangen/get-tarball" "^3.0.7" - "@storybook/codemod" "7.6.18" - "@storybook/core-common" "7.6.18" - "@storybook/core-events" "7.6.18" - "@storybook/core-server" "7.6.18" - "@storybook/csf-tools" "7.6.18" - "@storybook/node-logger" "7.6.18" - "@storybook/telemetry" "7.6.18" - "@storybook/types" "7.6.18" + "@storybook/codemod" "7.6.19" + "@storybook/core-common" "7.6.19" + "@storybook/core-events" "7.6.19" + "@storybook/core-server" "7.6.19" + "@storybook/csf-tools" "7.6.19" + "@storybook/node-logger" "7.6.19" + "@storybook/telemetry" "7.6.19" + "@storybook/types" "7.6.19" "@types/semver" "^7.3.4" "@yarnpkg/fslib" "2.10.3" "@yarnpkg/libzip" "2.3.0" @@ -3063,25 +3071,25 @@ dependencies: "@storybook/global" "^5.0.0" -"@storybook/client-logger@7.6.18": - version "7.6.18" - resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-7.6.18.tgz#47c04850f2759c98176b2764c05f64210cfbacdf" - integrity sha512-/mSKa968G++M7RTW1XLM0jgNMUATxKv/vggLyQ9Oo2UpQhRaXX8dKRl7GVu2yFDRm9sDKs7rg+KSsstrEjQcSg== +"@storybook/client-logger@7.6.19": + version "7.6.19" + resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-7.6.19.tgz#a6f91af8cdc640ace9903674b6340ad8173238cc" + integrity sha512-oGzOxbmLmciSIfd5gsxDzPmX8DttWhoYdPKxjMuCuWLTO2TWpkCWp1FTUMWO72mm/6V/FswT/aqpJJBBvdZ3RQ== dependencies: "@storybook/global" "^5.0.0" -"@storybook/codemod@7.6.18": - version "7.6.18" - resolved "https://registry.yarnpkg.com/@storybook/codemod/-/codemod-7.6.18.tgz#8c250e82d156da01533099821c57e1bc34933904" - integrity sha512-XV9/oZYctRKQzllqjwcH17Fys91cmaL+/Vy9aJmpnv/+yNFUdvsyrjqEGfVpl5c00/Ge3ueP+y7YhLYSjTezUg== +"@storybook/codemod@7.6.19": + version "7.6.19" + resolved "https://registry.yarnpkg.com/@storybook/codemod/-/codemod-7.6.19.tgz#ac6690a5ef18903cdb132a005b3c520f96ae92f8" + integrity sha512-bmHE0iEEgWZ65dXCmasd+GreChjPiWkXu2FEa0cJmNz/PqY12GsXGls4ke1TkNTj4gdSZnbtJxbclPZZnib2tQ== dependencies: "@babel/core" "^7.23.2" "@babel/preset-env" "^7.23.2" "@babel/types" "^7.23.0" "@storybook/csf" "^0.1.2" - "@storybook/csf-tools" "7.6.18" - "@storybook/node-logger" "7.6.18" - "@storybook/types" "7.6.18" + "@storybook/csf-tools" "7.6.19" + "@storybook/node-logger" "7.6.19" + "@storybook/types" "7.6.19" "@types/cross-spawn" "^6.0.2" cross-spawn "^7.0.3" globby "^11.0.2" @@ -3090,38 +3098,38 @@ prettier "^2.8.0" recast "^0.23.1" -"@storybook/components@7.6.18": - version "7.6.18" - resolved "https://registry.yarnpkg.com/@storybook/components/-/components-7.6.18.tgz#aeb83cc8035fbae08e3e80a3e61d8a5ae5a09f16" - integrity sha512-t27jyQUTkLgpQc2b7AQ848MJkihOfTgXsDIIMW1sYixqYO1R2anWE2qF5+1ZXZ58xyQEbUWnWUNYrGj3jGwAOw== +"@storybook/components@7.6.19": + version "7.6.19" + resolved "https://registry.yarnpkg.com/@storybook/components/-/components-7.6.19.tgz#c9e36100faef6310455daf5bf915a21447c332d1" + integrity sha512-8Zw/RQ4crzKkUR7ojxvRIj8vktKiBBO8Nq93qv4JfDqDWrcR7cro0hOlZgmZmrzbFunBBt6WlsNNO6nVP7R4Xw== dependencies: "@radix-ui/react-select" "^1.2.2" "@radix-ui/react-toolbar" "^1.0.4" - "@storybook/client-logger" "7.6.18" + "@storybook/client-logger" "7.6.19" "@storybook/csf" "^0.1.2" "@storybook/global" "^5.0.0" - "@storybook/theming" "7.6.18" - "@storybook/types" "7.6.18" + "@storybook/theming" "7.6.19" + "@storybook/types" "7.6.19" memoizerific "^1.11.3" use-resize-observer "^9.1.0" util-deprecate "^1.0.2" -"@storybook/core-client@7.6.18": - version "7.6.18" - resolved "https://registry.yarnpkg.com/@storybook/core-client/-/core-client-7.6.18.tgz#34f8783ec440901a3319cf438f5c100e6d59a53a" - integrity sha512-gKelPHlE4Xr8mkC0q1CotxB1hoR54P94LeJ6NrmNp2W8vZLiV8d/3CShJwTyEEkhhOB8diEGyya2LawboMYPpg== +"@storybook/core-client@7.6.19": + version "7.6.19" + resolved "https://registry.yarnpkg.com/@storybook/core-client/-/core-client-7.6.19.tgz#ca47b71bfebb0e1e5cb112b5b88e9f7b0c88eee4" + integrity sha512-F0V9nzcEnj6DIpnw2ilrxsV4d9ibyyQS+Wi2uQtXy+wCQQm9PeBVqrOywjXAY2F9pcoftXOaepfhp8jrxX4MXw== dependencies: - "@storybook/client-logger" "7.6.18" - "@storybook/preview-api" "7.6.18" + "@storybook/client-logger" "7.6.19" + "@storybook/preview-api" "7.6.19" -"@storybook/core-common@7.6.18": - version "7.6.18" - resolved "https://registry.yarnpkg.com/@storybook/core-common/-/core-common-7.6.18.tgz#5866a6be2eaf0cd095bd2f0cde48796d1c6ee863" - integrity sha512-ZZbvjpDKs3KPyoUWLTaMn8/0N2S8tXZpMfdrZrHHOzy9O3mmbk2Silr1OytWS6CBICFgDb71p7EWZ026KOVNkA== +"@storybook/core-common@7.6.19": + version "7.6.19" + resolved "https://registry.yarnpkg.com/@storybook/core-common/-/core-common-7.6.19.tgz#fdbfc3c5b24d12e74ef9d1f0e15cd4b1ee2cd02c" + integrity sha512-njwpGzFJrfbJr/AFxGP8KMrfPfxN85KOfSlxYnQwRm5Z0H1D/lT33LhEBf5m37gaGawHeG7KryxO6RvaioMt2Q== dependencies: - "@storybook/core-events" "7.6.18" - "@storybook/node-logger" "7.6.18" - "@storybook/types" "7.6.18" + "@storybook/core-events" "7.6.19" + "@storybook/node-logger" "7.6.19" + "@storybook/types" "7.6.19" "@types/find-cache-dir" "^3.2.1" "@types/node" "^18.0.0" "@types/node-fetch" "^2.6.4" @@ -3150,33 +3158,33 @@ dependencies: ts-dedent "^2.0.0" -"@storybook/core-events@7.6.18": - version "7.6.18" - resolved "https://registry.yarnpkg.com/@storybook/core-events/-/core-events-7.6.18.tgz#0685801ca03c6c043851a336f96b97cda5b037ca" - integrity sha512-K4jrHedFRfokvkIfKfNtQTcguPzeWF3oiuyXQR4gv4bnMCndCoiSRKfCE5zesgGmfml/Krt2zb4nNz/UPLbDeA== +"@storybook/core-events@7.6.19": + version "7.6.19" + resolved "https://registry.yarnpkg.com/@storybook/core-events/-/core-events-7.6.19.tgz#cfa7d4581ad6cff1ee7eeade31d602a7d879d2b7" + integrity sha512-K/W6Uvum0ocZSgjbi8hiotpe+wDEHDZlvN+KlPqdh9ae9xDK8aBNBq9IelCoqM+uKO1Zj+dDfSQds7CD781DJg== dependencies: ts-dedent "^2.0.0" -"@storybook/core-server@7.6.18": - version "7.6.18" - resolved "https://registry.yarnpkg.com/@storybook/core-server/-/core-server-7.6.18.tgz#0935e2fea04a61ff1c9c9a11861f293f7794e817" - integrity sha512-LXsbVqsHHcF/9mCcCDebRUO+ZuvK10Xtrgt8KJfAuWGU2nj8D2sJLw7suuDEB7UBTNMsJMOAmyrVU9FQbfWLCQ== +"@storybook/core-server@7.6.19": + version "7.6.19" + resolved "https://registry.yarnpkg.com/@storybook/core-server/-/core-server-7.6.19.tgz#07f4f0d4b05dd7dc52e9c60be97df7b5cb3150a9" + integrity sha512-7mKL73Wv5R2bEl0kJ6QJ9bOu5YY53Idu24QgvTnUdNsQazp2yUONBNwHIrNDnNEXm8SfCi4Mc9o0mmNRMIoiRA== dependencies: "@aw-web-design/x-default-browser" "1.4.126" "@discoveryjs/json-ext" "^0.5.3" - "@storybook/builder-manager" "7.6.18" - "@storybook/channels" "7.6.18" - "@storybook/core-common" "7.6.18" - "@storybook/core-events" "7.6.18" + "@storybook/builder-manager" "7.6.19" + "@storybook/channels" "7.6.19" + "@storybook/core-common" "7.6.19" + "@storybook/core-events" "7.6.19" "@storybook/csf" "^0.1.2" - "@storybook/csf-tools" "7.6.18" + "@storybook/csf-tools" "7.6.19" "@storybook/docs-mdx" "^0.1.0" "@storybook/global" "^5.0.0" - "@storybook/manager" "7.6.18" - "@storybook/node-logger" "7.6.18" - "@storybook/preview-api" "7.6.18" - "@storybook/telemetry" "7.6.18" - "@storybook/types" "7.6.18" + "@storybook/manager" "7.6.19" + "@storybook/node-logger" "7.6.19" + "@storybook/preview-api" "7.6.19" + "@storybook/telemetry" "7.6.19" + "@storybook/types" "7.6.19" "@types/detect-port" "^1.3.0" "@types/node" "^18.0.0" "@types/pretty-hrtime" "^1.0.0" @@ -3204,25 +3212,25 @@ watchpack "^2.2.0" ws "^8.2.3" -"@storybook/csf-plugin@7.6.18": - version "7.6.18" - resolved "https://registry.yarnpkg.com/@storybook/csf-plugin/-/csf-plugin-7.6.18.tgz#7662d55504e4c06c49791a1e766b46bdf667b7d1" - integrity sha512-dV/f0oIuv/OsmAh3FVqBkZAvQ5YRQXglZlHynaqt8cUVXi+Nsc/b7kFTBGj2GyIi9TCdiqfV5Yns+Bq2bIVHrA== +"@storybook/csf-plugin@7.6.19": + version "7.6.19" + resolved "https://registry.yarnpkg.com/@storybook/csf-plugin/-/csf-plugin-7.6.19.tgz#5c88767f6b4f47826c9fc7fdf028132ff243239b" + integrity sha512-yUP0xfJyR8e6fmCgKoEt4c1EvslF8dZ8wtwVLE5hnC3kfs7xt8RVDiKLB/9NhYjY3mD/oOesX60HqRXDgJQHwA== dependencies: - "@storybook/csf-tools" "7.6.18" + "@storybook/csf-tools" "7.6.19" unplugin "^1.3.1" -"@storybook/csf-tools@7.6.18": - version "7.6.18" - resolved "https://registry.yarnpkg.com/@storybook/csf-tools/-/csf-tools-7.6.18.tgz#4050bd4cc4f473e65b6034b2af2d83d9fb53423f" - integrity sha512-ngRNHEtLJv6vMlqCeJaG8dh1CwtCaGCHi7xuS+b71Y97xXLJlA6RR9rhsMG6bDwMJR+xiIqKUc6HH3ZBSVVhiA== +"@storybook/csf-tools@7.6.19": + version "7.6.19" + resolved "https://registry.yarnpkg.com/@storybook/csf-tools/-/csf-tools-7.6.19.tgz#5925f313b8ac4ebdd1c0b9d71279e18bbaab269a" + integrity sha512-8Vzia3cHhDdGHuS3XKXJReCRxmfRq3vmTm/Te9yKZnPSAsC58CCKcMh8FNEFJ44vxYF9itKTkRutjGs+DprKLQ== dependencies: "@babel/generator" "^7.23.0" "@babel/parser" "^7.23.0" "@babel/traverse" "^7.23.2" "@babel/types" "^7.23.0" "@storybook/csf" "^0.1.2" - "@storybook/types" "7.6.18" + "@storybook/types" "7.6.19" fs-extra "^11.1.0" recast "^0.23.1" ts-dedent "^2.0.0" @@ -3235,9 +3243,9 @@ lodash "^4.17.15" "@storybook/csf@^0.1.2": - version "0.1.5" - resolved "https://registry.yarnpkg.com/@storybook/csf/-/csf-0.1.5.tgz#58c489f443ad8642957565dac0c7cd860a85162f" - integrity sha512-pW7Dtk/bE2JGrAe/KuBY4Io02NBe/2CLP2DkgVgWlSwvEVdm/rbQyiwy8RaL0lQlJCv9CsGBY+n9HQG8d4bZjQ== + version "0.1.7" + resolved "https://registry.yarnpkg.com/@storybook/csf/-/csf-0.1.7.tgz#dcc6c16a353bc09c8c619ba1a23ba93b2aab0b9d" + integrity sha512-53JeLZBibjQxi0Ep+/AJTfxlofJlxy1jXcSKENlnKxHjWEYyHQCumMP5yTFjf7vhNnMjEpV3zx6t23ssFiGRyw== dependencies: type-fest "^2.19.0" @@ -3246,14 +3254,14 @@ resolved "https://registry.yarnpkg.com/@storybook/docs-mdx/-/docs-mdx-0.1.0.tgz#33ba0e39d1461caf048b57db354b2cc410705316" integrity sha512-JDaBR9lwVY4eSH5W8EGHrhODjygPd6QImRbwjAuJNEnY0Vw4ie3bPkeGfnacB3OBW6u/agqPv2aRlR46JcAQLg== -"@storybook/docs-tools@7.6.18": - version "7.6.18" - resolved "https://registry.yarnpkg.com/@storybook/docs-tools/-/docs-tools-7.6.18.tgz#e818f95ebcf73371cf255edb1662eb35781942fd" - integrity sha512-gE4He4YoOAFnFwarSsOJVLC1YVN6iilQXMZsKD2SNI0M30nOeqK5NjFwXtAklq6QQvBZVZV7VRG5sY7i4aGBcQ== +"@storybook/docs-tools@7.6.19": + version "7.6.19" + resolved "https://registry.yarnpkg.com/@storybook/docs-tools/-/docs-tools-7.6.19.tgz#d63b68af1d425f4b94a3a229af611bbaf822f4b4" + integrity sha512-JuwV6wtm7Hb7Kb5ValChfxy4J7XngfrSQNpvwsDCSBNVcQUv2y843hvclpa26Ptfr/c7zpUX8r9FGSaMDy+2aQ== dependencies: - "@storybook/core-common" "7.6.18" - "@storybook/preview-api" "7.6.18" - "@storybook/types" "7.6.18" + "@storybook/core-common" "7.6.19" + "@storybook/preview-api" "7.6.19" + "@storybook/types" "7.6.19" "@types/doctrine" "^0.0.3" assert "^2.1.0" doctrine "^3.0.0" @@ -3284,19 +3292,19 @@ telejson "^7.2.0" ts-dedent "^2.0.0" -"@storybook/manager-api@7.6.18": - version "7.6.18" - resolved "https://registry.yarnpkg.com/@storybook/manager-api/-/manager-api-7.6.18.tgz#568e73072537ef710b8b063dc574557f207074a9" - integrity sha512-4c2japUMjnHiel38wQoNWh5RVac6ATMcWxvzPhOKx3I19gbSoUF1CcDg+1piRMWuSyzUBIBlIrBB3s4/02gnnA== +"@storybook/manager-api@7.6.19": + version "7.6.19" + resolved "https://registry.yarnpkg.com/@storybook/manager-api/-/manager-api-7.6.19.tgz#d08787dabe4143cf34d5805a023499889d572032" + integrity sha512-dVCx1Q+HZEA4U08XqYljiG88BeS3I3ahnPAQLZAeWQXQRkoc9G2jMgLNPKYPIqEtq7Xrn6SRlFMIofhwWrwZpg== dependencies: - "@storybook/channels" "7.6.18" - "@storybook/client-logger" "7.6.18" - "@storybook/core-events" "7.6.18" + "@storybook/channels" "7.6.19" + "@storybook/client-logger" "7.6.19" + "@storybook/core-events" "7.6.19" "@storybook/csf" "^0.1.2" "@storybook/global" "^5.0.0" - "@storybook/router" "7.6.18" - "@storybook/theming" "7.6.18" - "@storybook/types" "7.6.18" + "@storybook/router" "7.6.19" + "@storybook/theming" "7.6.19" + "@storybook/types" "7.6.19" dequal "^2.0.2" lodash "^4.17.21" memoizerific "^1.11.3" @@ -3304,20 +3312,20 @@ telejson "^7.2.0" ts-dedent "^2.0.0" -"@storybook/manager@7.6.18": - version "7.6.18" - resolved "https://registry.yarnpkg.com/@storybook/manager/-/manager-7.6.18.tgz#565f021e4523f64173d5fcd8e62591aa048d5c68" - integrity sha512-ZFatbkbK5qv2a4jJEm6WqKZZqkYm++t0uAZozBA6TNq/bWMaD9ihummPTGND8R0M7SW0rfUVFDAE8bv14gLcdg== +"@storybook/manager@7.6.19": + version "7.6.19" + resolved "https://registry.yarnpkg.com/@storybook/manager/-/manager-7.6.19.tgz#d7ee419e48feed79c1d9f0f469efa7742a2ef3d2" + integrity sha512-fZWQcf59x4P0iiBhrL74PZrqKJAPuk9sWjP8BIkGbf8wTZtUunbY5Sv4225fOL4NLJbuX9/RYLUPoxQ3nucGHA== "@storybook/mdx2-csf@^1.0.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@storybook/mdx2-csf/-/mdx2-csf-1.1.0.tgz#97f6df04d0bf616991cc1005a073ac004a7281e5" integrity sha512-TXJJd5RAKakWx4BtpwvSNdgTDkKM6RkXU8GK34S/LhidQ5Pjz3wcnqb0TxEkfhK/ztbP8nKHqXFwLfa2CYkvQw== -"@storybook/node-logger@7.6.18": - version "7.6.18" - resolved "https://registry.yarnpkg.com/@storybook/node-logger/-/node-logger-7.6.18.tgz#96bff7f179d8879aa0b32e9c3983b2dd7a140fb8" - integrity sha512-e75XQ6TekxjpzdlW6rZAFtv/9aD/nQb4z9kaBr3GhuVMGVJNihs9ek6eVEFZLxpks4FDVSPTSg0QtFpSgOpbrg== +"@storybook/node-logger@7.6.19": + version "7.6.19" + resolved "https://registry.yarnpkg.com/@storybook/node-logger/-/node-logger-7.6.19.tgz#8a911288ee8052cf2c77cf5e2db2367b1b852b43" + integrity sha512-2g29QC44Zl1jKY37DmQ0/dO7+VSKnGgPI/x0mwVwQffypSapxH3rwLLT5Q5XLHeFyD+fhRu5w9Cj4vTGynJgpA== "@storybook/node-logger@^5.3.17": version "5.3.22" @@ -3331,10 +3339,10 @@ pretty-hrtime "^1.0.3" regenerator-runtime "^0.13.3" -"@storybook/postinstall@7.6.18": - version "7.6.18" - resolved "https://registry.yarnpkg.com/@storybook/postinstall/-/postinstall-7.6.18.tgz#78898d5431b5787291f34bdff15dc9673a35a2ee" - integrity sha512-TTTvuR6LyaRfzrtJvSr+L4Bys8gp3wOKACOErZBXjt3UCQR4rwhwGP7k2GsysiHHLbxGu25ZU2fnnT2OYYeTNA== +"@storybook/postinstall@7.6.19": + version "7.6.19" + resolved "https://registry.yarnpkg.com/@storybook/postinstall/-/postinstall-7.6.19.tgz#8f75f43ea786a26a8677dedbedc5e8f947c56456" + integrity sha512-s6p1vpgMfn+QGDfCK2YNdyyWKidUgb3nGicB81FANRyzYqGB//QlJlghEc2LKCIQbGIZQiwP3l8PdZQmczEJRw== "@storybook/preset-typescript@^3.0.0": version "3.0.0" @@ -3367,17 +3375,17 @@ ts-dedent "^2.0.0" util-deprecate "^1.0.2" -"@storybook/preview-api@7.6.18": - version "7.6.18" - resolved "https://registry.yarnpkg.com/@storybook/preview-api/-/preview-api-7.6.18.tgz#423b1722c11ad58dd258bc3db32fa8720bbb7675" - integrity sha512-X3r3MnoLJWUhHTVFggJcfHzDLCKSOdHNOpXXRNkdG2WXFcCZAlTdm0KqThCvQmdqS4OAOJMfn4pHqtxPG8yfyg== +"@storybook/preview-api@7.6.19": + version "7.6.19" + resolved "https://registry.yarnpkg.com/@storybook/preview-api/-/preview-api-7.6.19.tgz#5f4b36489a7662e4671030dc2580cc11a1dd854e" + integrity sha512-04hdMSQucroJT4dBjQzRd7ZwH2hij8yx2nm5qd4HYGkd1ORkvlH6GOLph4XewNJl5Um3xfzFQzBhvkqvG0WaCQ== dependencies: - "@storybook/channels" "7.6.18" - "@storybook/client-logger" "7.6.18" - "@storybook/core-events" "7.6.18" + "@storybook/channels" "7.6.19" + "@storybook/client-logger" "7.6.19" + "@storybook/core-events" "7.6.19" "@storybook/csf" "^0.1.2" "@storybook/global" "^5.0.0" - "@storybook/types" "7.6.18" + "@storybook/types" "7.6.19" "@types/qs" "^6.9.5" dequal "^2.0.2" lodash "^4.17.21" @@ -3387,41 +3395,41 @@ ts-dedent "^2.0.0" util-deprecate "^1.0.2" -"@storybook/preview@7.6.18": - version "7.6.18" - resolved "https://registry.yarnpkg.com/@storybook/preview/-/preview-7.6.18.tgz#bdd0a472ccb1543c898d662e293c26ed58edc30b" - integrity sha512-iltkZxz991GmzXMNkM9b7ddM45IsfZoQ+pMGXOv902Xawx9otvNkMVxBMhpXG+tf7G3FrSM1DFT6V9SycC6pqg== +"@storybook/preview@7.6.19": + version "7.6.19" + resolved "https://registry.yarnpkg.com/@storybook/preview/-/preview-7.6.19.tgz#4cb2b2e1730aea8612c07d80a7908835f9806265" + integrity sha512-VqRPua2koOQTOteB+VvuKNXFYQ7IDEopaPpj9Nx+3kom+bqp0hWdAysWcm6CtKN2GGzBQm+5PvGibMNdawsaVg== -"@storybook/react-dom-shim@7.6.18": - version "7.6.18" - resolved "https://registry.yarnpkg.com/@storybook/react-dom-shim/-/react-dom-shim-7.6.18.tgz#896c726f1f77c10feaef0c7aabb15c6afb0a0a03" - integrity sha512-s4eIq5KVnS7E4pIXdq31YzqRZX0FZEYKoUeZziBBajRvmPAJ/zWSBbrGeOIR71xDHT7UkUoeb5EuyfykS9yuoA== +"@storybook/react-dom-shim@7.6.19": + version "7.6.19" + resolved "https://registry.yarnpkg.com/@storybook/react-dom-shim/-/react-dom-shim-7.6.19.tgz#c6472be7c53b8d9d3ed3007f5fc5d41daa76ac09" + integrity sha512-tpt2AC1428d1gF4fetMkpkeFZ1WdDr1CLKoLbSInWQZ7i96nbnIMIA9raR/W8ai1bo55KSz9Bq5ytC/1Pac2qQ== "@storybook/react-vite@^7.0.12": - version "7.6.18" - resolved "https://registry.yarnpkg.com/@storybook/react-vite/-/react-vite-7.6.18.tgz#925be2130a3c55a66793e656f4b0fb38d3943812" - integrity sha512-7Q4x7SEA9ajb348z5bX+dXM8x+JWgLus1xGPySnVKariYrlgmJrSbFSE07oMsA0m0Y2mwXzWQgv7imjU7Jwklg== + version "7.6.19" + resolved "https://registry.yarnpkg.com/@storybook/react-vite/-/react-vite-7.6.19.tgz#c5e99956c7493bcfb8d81575ae8e0559cefbf074" + integrity sha512-TqKQvWi53vE0KbWrlNq61cTLpzfQ5QMZv42YiwEUhM7ysSmrrg6WjgfEnvEyiAuY8yyaRspPF6Y8pYTKGHM8Nw== dependencies: "@joshwooding/vite-plugin-react-docgen-typescript" "0.3.0" "@rollup/pluginutils" "^5.0.2" - "@storybook/builder-vite" "7.6.18" - "@storybook/react" "7.6.18" + "@storybook/builder-vite" "7.6.19" + "@storybook/react" "7.6.19" "@vitejs/plugin-react" "^3.0.1" magic-string "^0.30.0" react-docgen "^7.0.0" -"@storybook/react@7.6.18", "@storybook/react@^7.0.12": - version "7.6.18" - resolved "https://registry.yarnpkg.com/@storybook/react/-/react-7.6.18.tgz#f2e062dfb9ea970623799bf1adf15e3a267a0269" - integrity sha512-cWAMz8W7Xa1fv8ugFsUCw0w08GsWGGw5XiYgLJJ+2/zQNhkMGzsY9zl7XQtULhIBfY0MptC7CLIYHc0t61xvHw== +"@storybook/react@7.6.19", "@storybook/react@^7.0.12": + version "7.6.19" + resolved "https://registry.yarnpkg.com/@storybook/react/-/react-7.6.19.tgz#a15b41fc98a80086b2f40d025f34f8641b3dea8b" + integrity sha512-uKShAAp1/pRki1YnRjBveH/jAD3f8V0W2WP1LxTQqnKVFkl01mTbDZ/9ZIK6rVTSILUlmsk3fwsNyRbOKVgBGQ== dependencies: - "@storybook/client-logger" "7.6.18" - "@storybook/core-client" "7.6.18" - "@storybook/docs-tools" "7.6.18" + "@storybook/client-logger" "7.6.19" + "@storybook/core-client" "7.6.19" + "@storybook/docs-tools" "7.6.19" "@storybook/global" "^5.0.0" - "@storybook/preview-api" "7.6.18" - "@storybook/react-dom-shim" "7.6.18" - "@storybook/types" "7.6.18" + "@storybook/preview-api" "7.6.19" + "@storybook/react-dom-shim" "7.6.19" + "@storybook/types" "7.6.19" "@types/escodegen" "^0.0.6" "@types/estree" "^0.0.51" "@types/node" "^18.0.0" @@ -3446,23 +3454,23 @@ memoizerific "^1.11.3" qs "^6.10.0" -"@storybook/router@7.6.18": - version "7.6.18" - resolved "https://registry.yarnpkg.com/@storybook/router/-/router-7.6.18.tgz#e9d43be9771ee7e29e39ccbd0c494b2a7cca32ea" - integrity sha512-Kw6nAPWRAFE9DM//pnyjL7Xnxt+yQIONdERDnPrdEmHG5mErXGtO18aFMsb/7GiAD50J/i5ObTp7FJsWffAnbg== +"@storybook/router@7.6.19": + version "7.6.19" + resolved "https://registry.yarnpkg.com/@storybook/router/-/router-7.6.19.tgz#b9805344d35bb00c9139787f7c561603ffe0d3c2" + integrity sha512-q2/AvY8rG0znFEfbg50OIhkS5yQ6OmyzdCdztoEsDDdsbq87YPmsDj7k8Op1EkTa2T5CB8XhBOCQDtcj7gUUtg== dependencies: - "@storybook/client-logger" "7.6.18" + "@storybook/client-logger" "7.6.19" memoizerific "^1.11.3" qs "^6.10.0" -"@storybook/telemetry@7.6.18": - version "7.6.18" - resolved "https://registry.yarnpkg.com/@storybook/telemetry/-/telemetry-7.6.18.tgz#a63900d52982e18ea5e05718cb12d04b789c0fcd" - integrity sha512-fVgQtWYpAA1Htiu05GwipBNM5odCi05FpaoaxnCO/CsqrTfKYBJTorVo8mh8wc03gfQJs1/nXN2v0WEo0ahUoA== +"@storybook/telemetry@7.6.19": + version "7.6.19" + resolved "https://registry.yarnpkg.com/@storybook/telemetry/-/telemetry-7.6.19.tgz#c0e11bea942057fd8eef66680c39e0cd4e0d9970" + integrity sha512-rA5xum4I36M57iiD3uzmW0MOdpl0vEpHWBSAa5hK0a0ALPeY9TgAsQlI/0dSyNYJ/K7aczEEN6d4qm1NC4u10A== dependencies: - "@storybook/client-logger" "7.6.18" - "@storybook/core-common" "7.6.18" - "@storybook/csf-tools" "7.6.18" + "@storybook/client-logger" "7.6.19" + "@storybook/core-common" "7.6.19" + "@storybook/csf-tools" "7.6.19" chalk "^4.1.0" detect-package-manager "^2.0.1" fetch-retry "^5.0.2" @@ -3479,13 +3487,13 @@ "@storybook/global" "^5.0.0" memoizerific "^1.11.3" -"@storybook/theming@7.6.18", "@storybook/theming@^7.0.12": - version "7.6.18" - resolved "https://registry.yarnpkg.com/@storybook/theming/-/theming-7.6.18.tgz#622d6f5ce071a108e4e1c87e4b16b5f020b0cd7a" - integrity sha512-5nwqV/rAVzS8wZ6DbsX5/ugDLV189hn2m3K9JlJmhVW9b2mSDYW5i1cTjpoChh1t9gMZl82VPnEhgPRMx5bXgw== +"@storybook/theming@7.6.19", "@storybook/theming@^7.0.12": + version "7.6.19" + resolved "https://registry.yarnpkg.com/@storybook/theming/-/theming-7.6.19.tgz#f5032d74d5c0cf5f7c7a389a0b9d2d3bc5e62a25" + integrity sha512-sAho13MmtA80ctOaLn8lpkQBsPyiqSdLcOPH5BWFhatQzzBQCpTAKQk+q/xGju8bNiPZ+yQBaBzbN8SfX8ceCg== dependencies: "@emotion/use-insertion-effect-with-fallbacks" "^1.0.0" - "@storybook/client-logger" "7.6.18" + "@storybook/client-logger" "7.6.19" "@storybook/global" "^5.0.0" memoizerific "^1.11.3" @@ -3499,12 +3507,12 @@ "@types/express" "^4.7.0" file-system-cache "2.3.0" -"@storybook/types@7.6.18": - version "7.6.18" - resolved "https://registry.yarnpkg.com/@storybook/types/-/types-7.6.18.tgz#f7c362f0debde203de4084118395553505848dd4" - integrity sha512-W7/8kUtMhEopZhwXFMOKlXwQCrz0PBJ5wQwmJNZ4i0YPTVfFzb+/6pgpkzUNtbXiTp6dfxi3ERoAF9wz9Zyt7w== +"@storybook/types@7.6.19": + version "7.6.19" + resolved "https://registry.yarnpkg.com/@storybook/types/-/types-7.6.19.tgz#ec73c9afb6003c57e260e1709441af4db9f50190" + integrity sha512-DeGYrRPRMGTVfT7o2rEZtRzyLT2yKTI2exgpnxbwPWEFAduZCSfzBrcBXZ/nb5B0pjA9tUNWls1YzGkJGlkhpg== dependencies: - "@storybook/channels" "7.6.18" + "@storybook/channels" "7.6.19" "@types/babel__core" "^7.0.0" "@types/express" "^4.7.0" file-system-cache "2.3.0" @@ -3553,9 +3561,9 @@ minimatch "^9.0.0" "@tweenjs/tween.js@~23.1.1": - version "23.1.1" - resolved "https://registry.yarnpkg.com/@tweenjs/tween.js/-/tween.js-23.1.1.tgz#0ae28ed9c635805557f78c2626464018d5f1b5e2" - integrity sha512-ZpboH7pCPPeyBWKf8c7TJswtCEQObFo3bOBYalm99NzZarATALYCo5OhbCa/n4RQyJyHfhkdx+hNrdL5ByFYDw== + version "23.1.2" + resolved "https://registry.yarnpkg.com/@tweenjs/tween.js/-/tween.js-23.1.2.tgz#4e5357fd6742f5aa50447d3fa808aed4cda93ed7" + integrity sha512-kMCNaZCJugWI86xiEHaY338CU5JpD0B97p1j1IKNn/Zto8PgACjQx0UxbHjmOcLl/dDOBnItwD07KmCs75pxtQ== "@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14", "@types/babel__core@^7.1.6", "@types/babel__core@^7.18.0": version "7.20.5" @@ -3638,9 +3646,9 @@ integrity sha512-nv+GSx77ZtXiJzwKdsASqi+YQ5Z7vwHsTP0JY2SiQgjGckkBRKZnk8nIM+7oUZ1VCtuTz0+By4qVR7fqzp/Dfg== "@types/emscripten@^1.39.6": - version "1.39.10" - resolved "https://registry.yarnpkg.com/@types/emscripten/-/emscripten-1.39.10.tgz#da6e58a6171b46a41d3694f812d845d515c77e18" - integrity sha512-TB/6hBkYQJxsZHSqyeuO1Jt0AB/bW6G7rHt9g7lML7SOF6lbgcHvw/Lr+69iqN0qxgXLhWKScAon73JNnptuDw== + version "1.39.11" + resolved "https://registry.yarnpkg.com/@types/emscripten/-/emscripten-1.39.11.tgz#8f8c40cb831a2406c0ee5b0c6e847b3bf659c2e3" + integrity sha512-dOeX2BeNA7j6BTEqJQL3ut0bRCfsyQMd5i4FT8JfHfYhAOuJPCGh0dQFbxVJxUyQ+75x6enhDdndGb624/QszA== "@types/escodegen@^0.0.6": version "0.0.6" @@ -3745,9 +3753,9 @@ integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== "@types/lodash@^4.14.167": - version "4.17.0" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.17.0.tgz#d774355e41f372d5350a4d0714abb48194a489c3" - integrity sha512-t7dhREVv6dbNj0q17X12j7yDG4bD/DHYX7o5/DbDxobP0HnGPgpRz2Ej77aL7TZT3DSw13fqUTj8J4mMnqa7WA== + version "4.17.1" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.17.1.tgz#0fabfcf2f2127ef73b119d98452bd317c4a17eb8" + integrity sha512-X+2qazGS3jxLAIz5JDXDzglAF3KpijdhFxlf/V1+hEsOUc+HnWi81L/uv/EvGuV90WY+7mPGFCUDGfQC3Gj95Q== "@types/mdx@^2.0.0": version "2.0.13" @@ -3783,16 +3791,16 @@ form-data "^4.0.0" "@types/node@*": - version "20.12.7" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.12.7.tgz#04080362fa3dd6c5822061aa3124f5c152cff384" - integrity sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg== + version "20.12.11" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.12.11.tgz#c4ef00d3507000d17690643278a60dc55a9dc9be" + integrity sha512-vDg9PZ/zi+Nqp6boSOT7plNuthRugEKixDv5sFTIpkE89MmNtEArAShI4mxuX2+UrLEe9pxC1vm2cjm9YlWbJw== dependencies: undici-types "~5.26.4" "@types/node@^18.0.0": - version "18.19.31" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.31.tgz#b7d4a00f7cb826b60a543cebdbda5d189aaecdcd" - integrity sha512-ArgCD39YpyyrtFKIqMDvjz79jto5fcI/SVUs2HwB+f0dAzq68yqOdyaSivLiLugSziTpNXLQrVb7RZFmdZzbhA== + version "18.19.33" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.33.tgz#98cd286a1b8a5e11aa06623210240bcc28e95c48" + integrity sha512-NR9+KrpSajr2qBVp/Yt5TU/rp+b5Mayi3+OlMlcg2cVCfRmcG5PWZ7S4+MG9PZ5gWBoc9Pd0BKSRViuBCRPu0A== dependencies: undici-types "~5.26.4" @@ -3943,9 +3951,9 @@ integrity sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA== "@types/webxr@*", "@types/webxr@^0.5.2": - version "0.5.15" - resolved "https://registry.yarnpkg.com/@types/webxr/-/webxr-0.5.15.tgz#21cd63e83a997c14ff91c7c537efabb787d1af09" - integrity sha512-nC9116Gd4N+CqTxqo6gvCfhAMAzgRcfS8ZsciNodHq8uwW4JCVKwhagw8yN0XmC7mHrLnWqniJpoVEiR+72Drw== + version "0.5.16" + resolved "https://registry.yarnpkg.com/@types/webxr/-/webxr-0.5.16.tgz#28955aa2d1197d1ef0b9826ae0f7e68f7eca0601" + integrity sha512-0E0Cl84FECtzrB4qG19TNTqpunw0F1YF0QZZnFMF6pDw1kNKJtrlTKlVB34stGIsHbZsYQ7H0tNjPfZftkHHoA== "@types/yargs-parser@*": version "21.0.3" @@ -4211,7 +4219,7 @@ ajv-keywords@^3.5.2: resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== -ajv@8.12.0, ajv@^8.0.1: +ajv@8.12.0: version "8.12.0" resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== @@ -4231,6 +4239,16 @@ ajv@^6.10.0, ajv@^6.12.4: json-schema-traverse "^0.4.1" uri-js "^4.2.2" +ajv@^8.0.1: + version "8.13.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.13.0.tgz#a3939eaec9fb80d217ddf0c3376948c023f28c91" + integrity sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA== + dependencies: + fast-deep-equal "^3.1.3" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.4.1" + ansi-align@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.1.tgz#0cdf12e111ace773a86e9a1fad1225c43cb19a59" @@ -4796,9 +4814,9 @@ big.js@^5.2.2: integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== bin-links@^4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/bin-links/-/bin-links-4.0.3.tgz#9e4a3c5900830aee3d7f52178b65e01dcdde64a5" - integrity sha512-obsRaULtJurnfox/MDwgq6Yo9kzbv1CPTk/1/s7Z/61Lezc8IKkFCOXNeVLXz0456WRzBQmSsDWlai2tIhBsfA== + version "4.0.4" + resolved "https://registry.yarnpkg.com/bin-links/-/bin-links-4.0.4.tgz#c3565832b8e287c85f109a02a17027d152a58a63" + integrity sha512-cMtq4W5ZsEwcutJrVId+a/tjt8GSbS+h0oNkdl6+6rBuEv8Ot33Bevj5KPm40t309zuhVic8NjpuL42QCiJWWA== dependencies: cmd-shim "^6.0.0" npm-normalize-package-bin "^3.0.0" @@ -4969,13 +4987,6 @@ builtin-modules@^3.3.0: resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.3.0.tgz#cae62812b89801e9656336e46223e030386be7b6" integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== -builtins@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/builtins/-/builtins-5.1.0.tgz#6d85eeb360c4ebc166c3fdef922a15aa7316a5e8" - integrity sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg== - dependencies: - semver "^7.0.0" - bytes@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" @@ -5089,9 +5100,9 @@ camera-controls@^2.4.2: integrity sha512-zFjqUR6onLkG+z1A6vAWfzovxZxWVSvp6e5t3lfZgfgPZtX3n74aykNAUaoRbq8Y3tOxadHkDjbfGDOP9hFf2w== caniuse-lite@^1.0.30001587: - version "1.0.30001614" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001614.tgz#f894b4209376a0bf923d67d9c361d96b1dfebe39" - integrity sha512-jmZQ1VpmlRwHgdP1/uiKzgiAuGOfLEJsYFP4+GBou/QQ4U6IOJCB4NP1c+1p9RGLpwObcT94jA5/uO+F1vBbog== + version "1.0.30001616" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001616.tgz#4342712750d35f71ebba9fcac65e2cf8870013c3" + integrity sha512-RHVYKov7IcdNjVHJFNY/78RdG4oGVjbayxv8u5IO74Wv7Hlq4PnJE6mo/OjFijjVFNy5ijnCt6H3IIo4t+wfEw== cardinal@^2.1.1: version "2.1.1" @@ -5307,9 +5318,9 @@ clone@^1.0.2: integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== cmd-shim@^6.0.0: - version "6.0.2" - resolved "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-6.0.2.tgz#435fd9e5c95340e61715e19f90209ed6fcd9e0a4" - integrity sha512-+FFYbB0YLaAkhkcrjkyNLYDiOsFSfRjwjY19LXk/psmMx1z00xlCv7hhQoTGXXIKi+YXHL/iiFo8NqMVQX9nOw== + version "6.0.3" + resolved "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-6.0.3.tgz#c491e9656594ba17ac83c4bd931590a9d6e26033" + integrity sha512-FMabTRlc5t5zjdenF6mS0MBeFZm0XqHqeOkcskKFb/LYCcRQ5fVgLOHVc4Lq9CqABd9zhjwPjMBCJvMCziSVtA== co@^4.6.0: version "4.6.0" @@ -5968,9 +5979,9 @@ detect-package-manager@^2.0.1: execa "^5.1.1" detect-port@^1.3.0: - version "1.5.1" - resolved "https://registry.yarnpkg.com/detect-port/-/detect-port-1.5.1.tgz#451ca9b6eaf20451acb0799b8ab40dff7718727b" - integrity sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ== + version "1.6.1" + resolved "https://registry.yarnpkg.com/detect-port/-/detect-port-1.6.1.tgz#45e4073997c5f292b957cb678fb0bb8ed4250a67" + integrity sha512-CmnVc+Hek2egPx1PeTFVta2W78xy2K/9Rkf6cC4T59S50tVnzKj+tnx5mmx5lwvCkujZ4uRrpRSuV+IVs3f90Q== dependencies: address "^1.0.1" debug "4" @@ -6091,9 +6102,9 @@ ejs@^3.1.8: jake "^10.8.5" electron-to-chromium@^1.4.668: - version "1.4.750" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.750.tgz#d278a619af727ed069de1317115187282b1131ee" - integrity sha512-9ItEpeu15hW5m8jKdriL+BQrgwDTXEL9pn4SkillWFu73ZNNNQ2BKKLS+ZHv2vC9UkNhosAeyfxOf/5OSeTCPA== + version "1.4.758" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.758.tgz#f39e530cae2ca4329a0f0e1840629d8d1da73156" + integrity sha512-/o9x6TCdrYZBMdGeTifAP3wlF/gVT+TtWJe3BSmtNh92Mw81U9hrYwW9OAGUh+sEOX/yz5e34sksqRruZbjYrw== emittery@^0.13.1: version "0.13.1" @@ -6156,9 +6167,9 @@ env-paths@^2.2.0: integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== envinfo@^7.7.3: - version "7.12.0" - resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.12.0.tgz#b56723b39c2053d67ea5714f026d05d4f5cc7acd" - integrity sha512-Iw9rQJBGpJRd3rwXm9ft/JiGoAZmLxxJZELYDQoPRZ4USVhkKtIcNBPw6U+/K2mBpaqM25JSV6Yl4Az9vO2wJg== + version "7.13.0" + resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.13.0.tgz#81fbb81e5da35d74e814941aeab7c325a606fb31" + integrity sha512-cvcaMr7KqXVh4nyzGTVqTum+gAiL265x5jUWQIDLq//zOGbW+gSW/C+OWLleY/rs9Qole6AZLMXPbtIFQbqu+Q== err-code@^2.0.2: version "2.0.3" @@ -6333,7 +6344,7 @@ esbuild@^0.18.0, esbuild@^0.18.10: "@esbuild/win32-ia32" "0.18.20" "@esbuild/win32-x64" "0.18.20" -escalade@^3.1.1: +escalade@^3.1.1, escalade@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== @@ -7215,9 +7226,9 @@ gauge@^4.0.3: wide-align "^1.1.5" gauge@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-5.0.1.tgz#1efc801b8ff076b86ef3e9a7a280a975df572112" - integrity sha512-CmykPMJGuNan/3S4kZOpvvPYSNqSHANiWnh9XcMU2pSjtBfF0XzZ2p1bFAxTbnFxyBuPxQYHhzwaoOmUdqzvxQ== + version "5.0.2" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-5.0.2.tgz#7ab44c11181da9766333f10db8cd1e4b17fd6c46" + integrity sha512-pMaFftXPtiGIHCJHdcUUx9Rby/rFT/Kkt3fIIGCs+9PMDIljSyRiqraTlxNtBReJRDfUefpa263RQ3vnp5G/LQ== dependencies: aproba "^1.0.3 || ^2.0.0" color-support "^1.1.3" @@ -7457,11 +7468,12 @@ globals@^13.6.0, globals@^13.9.0: type-fest "^0.20.2" globalthis@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" - integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== + version "1.0.4" + resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.4.tgz#7430ed3a975d97bfb59bcce41f5cabbafa651236" + integrity sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ== dependencies: - define-properties "^1.1.3" + define-properties "^1.2.1" + gopd "^1.0.1" globby@^11.0.1, globby@^11.0.2, globby@^11.1.0: version "11.1.0" @@ -7799,9 +7811,9 @@ hosted-git-info@^6.0.0, hosted-git-info@^6.1.1: lru-cache "^7.5.1" hosted-git-info@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-7.0.1.tgz#9985fcb2700467fecf7f33a4d4874e30680b5322" - integrity sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA== + version "7.0.2" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-7.0.2.tgz#9b751acac097757667f30114607ef7b661ff4f17" + integrity sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w== dependencies: lru-cache "^10.0.1" @@ -7924,9 +7936,9 @@ ieee754@^1.1.13, ieee754@^1.2.1: integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== ignore-walk@^6.0.0: - version "6.0.4" - resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-6.0.4.tgz#89950be94b4f522225eb63a13c56badb639190e9" - integrity sha512-t7sv42WkwFkyKbivUCglsQW5YWMskWtbEf4MNKX5u/CCWHKSPzN4FtBQGsQZgCLbxOzpVlcbWVK5KB3auIOjSw== + version "6.0.5" + resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-6.0.5.tgz#ef8d61eab7da169078723d1f82833b36e200b0dd" + integrity sha512-VuuG0wCnjhnylG1ABXT3dAuIpTNDs/G8jlpmwXY03fXoXy/8ZK8/T+hMzt8L4WnrLCJgdybqgPagnF/f97cg3A== dependencies: minimatch "^9.0.0" @@ -8601,9 +8613,9 @@ jackspeak@^2.3.6: "@pkgjs/parseargs" "^0.11.0" jake@^10.8.5: - version "10.8.7" - resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.7.tgz#63a32821177940c33f356e0ba44ff9d34e1c7d8f" - integrity sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w== + version "10.9.1" + resolved "https://registry.yarnpkg.com/jake/-/jake-10.9.1.tgz#8dc96b7fcc41cb19aa502af506da4e1d56f5e62b" + integrity sha512-61btcOHNnLnsOdtLgA5efqQWjnSi/vow5HbI7HMdKKWqvrKR1bLK3BPlJn9gcSaP2ewuamUSMB5XEy76KUIS2w== dependencies: async "^3.2.3" chalk "^4.0.2" @@ -9088,9 +9100,9 @@ json-parse-even-better-errors@^2.3.0: integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== json-parse-even-better-errors@^3.0.0, json-parse-even-better-errors@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.1.tgz#02bb29fb5da90b5444581749c22cedd3597c6cb0" - integrity sha512-aatBvbL26wVUCLmbWdCpeu9iF5wOyWpagiKkInA+kfws3sWdBrTnsvN2CKcyCYyUrc7rebNBlK6+kteg7ksecg== + version "3.0.2" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.2.tgz#b43d35e89c0f3be6b5fbbe9dc6c82467b30c28da" + integrity sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ== json-schema-traverse@^0.4.1: version "0.4.1" @@ -9475,7 +9487,7 @@ log-symbols@^4.1.0: chalk "^4.1.0" is-unicode-supported "^0.1.0" -loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: +loose-envify@^1.0.0, loose-envify@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== @@ -9893,9 +9905,9 @@ minipass-fetch@^2.0.3: encoding "^0.1.13" minipass-fetch@^3.0.0: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-3.0.4.tgz#4d4d9b9f34053af6c6e597a64be8e66e42bf45b7" - integrity sha512-jHAqnA728uUpIaFm7NWsCnqKT6UqZz7GcI/bDpPATuwYyKwJwW0remxSCxUlKiEty+eopHGa3oc8WxgQ1FFJqg== + version "3.0.5" + resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-3.0.5.tgz#f0f97e40580affc4a35cc4a1349f05ae36cb1e4c" + integrity sha512-2N8elDQAtSnFV0Dk7gt15KHsS0Fyz6CbYZ360h0WTYV1Ty46li3rAXVOQj1THMNLdmrD9Vt5pBPtWtVkpwGBqg== dependencies: minipass "^7.0.3" minipass-sized "^1.0.3" @@ -9945,9 +9957,9 @@ minipass@^5.0.0: integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== "minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.0.3, minipass@^7.0.4: - version "7.0.4" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.0.4.tgz#dbce03740f50a4786ba994c1fb908844d27b038c" - integrity sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ== + version "7.1.0" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.0.tgz#b545f84af94e567386770159302ca113469c80b8" + integrity sha512-oGZRv2OT1lO2UF1zUcwdTb3wqUwI0kBGTgt/T7OdSj6M6N5m3o5uPf0AIW6lVxGGoiWUR7e2AwTE+xiwK8WQig== minizlib@^2.1.1, minizlib@^2.1.2: version "2.1.2" @@ -10143,9 +10155,9 @@ nopt@^6.0.0: abbrev "^1.0.0" nopt@^7.0.0, nopt@^7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-7.2.0.tgz#067378c68116f602f552876194fd11f1292503d7" - integrity sha512-CVDtwCdhYIvnAzFoJ6NJ6dX3oga9/HyciQDnG1vQDjSLMeKLJ4A93ZqYKDrgYSr1FBY5/hMYC+2VCi24pgpkGA== + version "7.2.1" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-7.2.1.tgz#1cac0eab9b8e97c9093338446eddd40b2c8ca1e7" + integrity sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w== dependencies: abbrev "^2.0.0" @@ -10180,9 +10192,9 @@ normalize-package-data@^5.0.0: validate-npm-package-license "^3.0.4" normalize-package-data@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-6.0.0.tgz#68a96b3c11edd462af7189c837b6b1064a484196" - integrity sha512-UL7ELRVxYBHBgYEtZCXjxuD5vPxnmvMGq0jp/dGPKKrN7tfsBh2IY7TlJ15WWwdjRWD3RJbnsygUurTK3xkPkg== + version "6.0.1" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-6.0.1.tgz#fa69e9452210f0fabf4d79ee08d0c2870c51ed88" + integrity sha512-6rvCfeRW+OEZagAB4lMLSNuTNYZWLVtKccK79VSTf//yTY5VOCgcpH80O+bZK8Neps7pUnd5G+QlMg1yV/2iZQ== dependencies: hosted-git-info "^7.0.0" is-core-module "^2.8.1" @@ -10205,9 +10217,9 @@ npm-audit-report@^5.0.0: integrity sha512-EkXrzat7zERmUhHaoren1YhTxFwsOu5jypE84k6632SXTHcQE1z8V51GC6GVZt8LxkC+tbBcKMUBZAgk8SUSbw== npm-bundled@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-3.0.0.tgz#7e8e2f8bb26b794265028491be60321a25a39db7" - integrity sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ== + version "3.0.1" + resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-3.0.1.tgz#cca73e15560237696254b10170d8f86dad62da25" + integrity sha512-+AvaheE/ww1JEwRHOrn4WHNzOxGtVp+adrg2AeZS/7KuxGUYFuBta98wYpfHBbJp6Tg6j1NKSEVHNcfZzJHQwQ== dependencies: npm-normalize-package-bin "^3.0.0" @@ -10286,9 +10298,9 @@ npm-run-path@^5.1.0: path-key "^4.0.0" npm-user-validate@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/npm-user-validate/-/npm-user-validate-2.0.0.tgz#7b69bbbff6f7992a1d9a8968d52fd6b6db5431b6" - integrity sha512-sSWeqAYJ2dUPStJB+AEj0DyLRltr/f6YNcvCA7phkB8/RMLMnVsQ41GMwHo/ERZLYNDsyB2wPm7pZo1mqPOl7Q== + version "2.0.1" + resolved "https://registry.yarnpkg.com/npm-user-validate/-/npm-user-validate-2.0.1.tgz#097afbf0a2351e2a8f478f1ba07960b368f2a25c" + integrity sha512-d17PKaF2h8LSGFl5j4b1gHOJt1fgH7YUcCm1kNSJvaLWWKXlBsuUvx0bBEkr0qhsVA9XP5LtRZ83hdlhm2QkgA== npm@^9.5.0: version "9.9.3" @@ -11124,9 +11136,9 @@ prompts@^2.0.1, prompts@^2.4.0: sisteransi "^1.0.5" promzard@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/promzard/-/promzard-1.0.1.tgz#3b77251a24f988c0886f5649d4f642bcdd53e558" - integrity sha512-ulDF77aULEHUoJkN5XZgRV5loHXBaqd9eorMvLNLvi2gXMuRAtwH6Gh4zsMHQY1kTt7tyv/YZwZW5C2gtj8F2A== + version "1.0.2" + resolved "https://registry.yarnpkg.com/promzard/-/promzard-1.0.2.tgz#2226e7c6508b1da3471008ae17066a7c3251e660" + integrity sha512-2FPputGL+mP3jJ3UZg/Dl9YOkovB7DX0oOr+ck5QbZ5MtORtds8k/BZdn+02peDLI8/YWbmzx34k5fA+fHvCVQ== dependencies: read "^3.0.1" @@ -11362,13 +11374,12 @@ react-docgen@^7.0.0: resolve "^1.22.1" strip-indent "^4.0.0" -react-dom@^18.0.0: - version "18.3.1" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.3.1.tgz#c2265d79511b57d479b3dd3fdfa51536494c5cb4" - integrity sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw== +react-dom@19.0.0-beta-94eed63c49-20240425: + version "19.0.0-beta-94eed63c49-20240425" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-19.0.0-beta-94eed63c49-20240425.tgz#5d10ac9f95f43f26130c2b8f59accc8f18485963" + integrity sha512-V0uHW7Xd0u/LDlmFO8sJ9TTNizAESS+pexJNOi3KbOU1taf2gUO5J8YIWis60xcQbh7YBqSklyYIIq3DfiKz3Q== dependencies: - loose-envify "^1.1.0" - scheduler "^0.23.2" + scheduler "0.25.0-beta-94eed63c49-20240425" react-element-to-jsx-string@^15.0.0: version "15.0.0" @@ -11476,12 +11487,10 @@ react-use-measure@^2.1.1: dependencies: debounce "^1.2.1" -react@^18.0.0: - version "18.3.1" - resolved "https://registry.yarnpkg.com/react/-/react-18.3.1.tgz#49ab892009c53933625bd16b2533fc754cab2891" - integrity sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ== - dependencies: - loose-envify "^1.1.0" +react@19.0.0-beta-94eed63c49-20240425: + version "19.0.0-beta-94eed63c49-20240425" + resolved "https://registry.yarnpkg.com/react/-/react-19.0.0-beta-94eed63c49-20240425.tgz#7b30b64c9b3517240d47ac00184ae2d59554bb9b" + integrity sha512-BPPKh5bZwcpw/Dgfh3A0MoU1GSl2edR2JggCq3QPdghQsrFg1aBuMkul5YB4rpII400RYq9VC5eF5Nm3spx0gA== read-cmd-shim@^4.0.0: version "4.0.0" @@ -11974,13 +11983,6 @@ scheduler@0.25.0-beta-94eed63c49-20240425: resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.25.0-beta-94eed63c49-20240425.tgz#db261000b28fa56d65fff2e9c17eb7bd094a669a" integrity sha512-U8hoOV7uut5E8cMvRSMikEBBqLXfv2BpdxUsG45euaOfnqEgFrCdLLh6ydM+YBJ36+28olXMNmK2PFFzeg4UdQ== -scheduler@^0.23.2: - version "0.23.2" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.2.tgz#414ba64a3b282892e944cf2108ecc078d115cdc3" - integrity sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ== - dependencies: - loose-envify "^1.1.0" - schema-utils@^2.6.5: version "2.7.1" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" @@ -12054,11 +12056,9 @@ semver@^6.0.0, semver@^6.3.0, semver@^6.3.1: integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== semver@^7.0.0, semver@^7.1.1, semver@^7.1.2, semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0: - version "7.6.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.0.tgz#1a46a4db4bffcccd97b743b5005c8325f23d4e2d" - integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== - dependencies: - lru-cache "^6.0.0" + version "7.6.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.1.tgz#60bfe090bf907a25aa8119a72b9f90ef7ca281b2" + integrity sha512-f/vbBsu+fOiYt+lmwZV0rVwJScl46HppnOA1ZvIuBWKOTlllpyJ3bfVax76/OrhCH38dyxoDIA8K7uB963IYgA== send@0.18.0: version "0.18.0" @@ -12455,9 +12455,9 @@ ssim.js@^3.1.1: integrity sha512-Aj6Jl2z6oDmgYFFbQqK7fght19bXdOxY7Tj03nF+03M9gCBAjeIiO8/PlEGMfKDwYpw4q6iBqVq2YuREorGg/g== ssri@^10.0.0, ssri@^10.0.1, ssri@^10.0.5: - version "10.0.5" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-10.0.5.tgz#e49efcd6e36385196cb515d3a2ad6c3f0265ef8c" - integrity sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A== + version "10.0.6" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-10.0.6.tgz#a8aade2de60ba2bce8688e3fa349bad05c7dc1e5" + integrity sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ== dependencies: minipass "^7.0.3" @@ -12518,11 +12518,11 @@ store2@^2.14.2: integrity sha512-4QcZ+yx7nzEFiV4BMLnr/pRa5HYzNITX2ri0Zh6sT9EyQHbBHacC6YigllUPU9X3D0f/22QCgfokpKs52YRrUg== storybook@^7.0.12: - version "7.6.18" - resolved "https://registry.yarnpkg.com/storybook/-/storybook-7.6.18.tgz#6f60a609777a1f81056b8265fe9be9857718097d" - integrity sha512-AUhWAVISi+qTsfpJlVuo65VfhqWtapkqJDXA/bK+4actBR9DpRXXwow6xJQJH5wrp8TZk0X9Pkqm3fykTQ5MCA== + version "7.6.19" + resolved "https://registry.yarnpkg.com/storybook/-/storybook-7.6.19.tgz#3edb81cfd26d8f710e562419f38bc39ff25da84c" + integrity sha512-xWD1C4vD/4KMffCrBBrUpsLUO/9uNpm8BVW8+Vcb30gkQDfficZ0oziWkmLexpT53VSioa24iazGXMwBqllYjQ== dependencies: - "@storybook/cli" "7.6.18" + "@storybook/cli" "7.6.19" stream-combiner2@~1.1.1: version "1.1.1" @@ -12895,9 +12895,9 @@ tempy@^3.0.0: unique-string "^3.0.0" terser@^5.0.0: - version "5.30.4" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.30.4.tgz#62b4d16a819424e6317fd5ceffb4ee8dc769803a" - integrity sha512-xRdd0v64a8mFK9bnsKVdoNP9GQIKUAaJPTaqEQDL4w/J8WaW4sWXXoMZ+6SimPkfT5bElreXf8m9HnmPc3E1BQ== + version "5.31.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.31.0.tgz#06eef86f17007dbad4593f11a574c7f5eb02c6a1" + integrity sha512-Q1JFAoUKE5IMfI4Z/lkE/E6+SwgzO+x4tq4v1AyBLRj8VSYvRO6A/rQrPg1yud4g0En9EKI1TvFRF2tQFcoUkg== dependencies: "@jridgewell/source-map" "^0.3.3" acorn "^8.8.2" @@ -12934,9 +12934,9 @@ three-mesh-bvh@^0.7.0: integrity sha512-flxe0A4uflTPR6elgq/Y8VrLoljDNS899i422SxQcU3EtMj6o8z4kZRyqZqGWzR0qMf1InTZzY1/0xZl/rnvVw== three-stdlib@^2.29.9: - version "2.29.9" - resolved "https://registry.yarnpkg.com/three-stdlib/-/three-stdlib-2.29.9.tgz#ee8fe2ce01f08817c15bb7f00c52b6558c981ff8" - integrity sha512-O6HRkJXX5A3DGXdvMwi8XqYlTV1wXdhKhxWmTuDoXFN4aZj96GW7gKj8FQ4bWFV2L8SmXuYSpkvJoG/1GCc9Ug== + version "2.29.11" + resolved "https://registry.yarnpkg.com/three-stdlib/-/three-stdlib-2.29.11.tgz#9bec17887464e8f4fe36d41e879655b16411c686" + integrity sha512-vSyUavKCwOJQd2ch9IHhyJVx6eNG3y+z3/LulqHM7OLMy81OqnmIrvc2b4phKr/c1aVjHRNG2X7JOklfrDDcmQ== dependencies: "@types/draco3d" "^1.4.0" "@types/offscreencanvas" "^2019.6.4" @@ -13031,9 +13031,9 @@ to-regex@^3.0.1, to-regex@^3.0.2: safe-regex "^1.1.0" tocbot@^4.20.1: - version "4.27.13" - resolved "https://registry.yarnpkg.com/tocbot/-/tocbot-4.27.13.tgz#7568a9da2e04ee13b56202ecbf8b90de79525fc9" - integrity sha512-zS8GVVg14x/KBTxbvF6s3BNLltfMNZxTPaBpj+FjuwmnSv+ZK0trNN4uV5Ptw64NLFi2E30gt33+/a1Fkt3cWQ== + version "4.27.20" + resolved "https://registry.yarnpkg.com/tocbot/-/tocbot-4.27.20.tgz#c7ba627585894fa306d65b08f53f624949becf19" + integrity sha512-6M78FT20+FA5edtx7KowLvhG3gbZ6GRcEkL/0b2TcPbn6Ba+1ayI3SEVxe25zjkWGs0jd04InImaO81Hd8Hukw== toggle-selection@^1.0.6: version "1.0.6" @@ -13214,9 +13214,9 @@ type-fest@^3.8.0: integrity sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g== type-fest@^4.2.0: - version "4.17.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-4.17.0.tgz#4c1b2c2852d2a40ba8c0236d3afc6fc68229e5bf" - integrity sha512-9flrz1zkfLRH3jO3bLflmTxryzKMxVa7841VeMgBaNQGY6vH4RCcpN/sQLB7mQQYh1GZ5utT2deypMuCy4yicw== + version "4.18.2" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-4.18.2.tgz#8d765c42e7280a11f4d04fb77a00dacc417c8b05" + integrity sha512-+suCYpfJLAe4OXS6+PPXjW3urOS4IoP9waSiLuXfLgqZODKw/aWwASvzqE886wA0kQgGy0mIWyhd87VpqIy6Xg== type-is@~1.6.18: version "1.6.18" @@ -13466,11 +13466,11 @@ untildify@^4.0.0: integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== update-browserslist-db@^1.0.13: - version "1.0.13" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4" - integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== + version "1.0.15" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.15.tgz#60ed9f8cba4a728b7ecf7356f641a31e3a691d97" + integrity sha512-K9HWH62x3/EalU1U6sjSZiylm9C8tgq2mSvshZpqc7QE69RaA2qjhkW2HlNA0tFpEbtyFz7HTqbSdN4MSwUodA== dependencies: - escalade "^3.1.1" + escalade "^3.1.2" picocolors "^1.0.0" update-check@1.5.4: @@ -13481,7 +13481,7 @@ update-check@1.5.4: registry-auth-token "3.3.2" registry-url "3.1.0" -uri-js@^4.2.2: +uri-js@^4.2.2, uri-js@^4.4.1: version "4.4.1" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== @@ -13594,11 +13594,9 @@ validate-npm-package-license@^3.0.1, validate-npm-package-license@^3.0.4: spdx-expression-parse "^3.0.0" validate-npm-package-name@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz#f16afd48318e6f90a1ec101377fa0384cfc8c713" - integrity sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ== - dependencies: - builtins "^5.0.0" + version "5.0.1" + resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-5.0.1.tgz#a316573e9b49f3ccd90dbb6eb52b3f06c6d604e8" + integrity sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ== vary@~1.1.2: version "1.1.2" From e64c6311feeccd7a12c9b74d3844a5ad6c3c86b4 Mon Sep 17 00:00:00 2001 From: Kris Baumgarter Date: Tue, 21 May 2024 10:43:00 -0700 Subject: [PATCH 4/9] Update package.json Co-authored-by: Cody Bennett --- package.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 3d4596282..16a788b97 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { - "name": "@nicetouch/drei", - "version": "10.0.0-alpha.1", - "private": false, + "name": "@react-three/drei", + "version": "0.0.0-semantic-release", + "private": true, "description": "useful add-ons for react-three-fiber", "keywords": [ "react", From 926655346fcf996309c4d0aac30eadfd1f471642 Mon Sep 17 00:00:00 2001 From: Kris Baumgartner Date: Tue, 21 May 2024 11:02:29 -0700 Subject: [PATCH 5/9] Update lock file --- yarn.lock | 192 ++++++++++++++++++++++++++++-------------------------- 1 file changed, 101 insertions(+), 91 deletions(-) diff --git a/yarn.lock b/yarn.lock index c3a5047ba..ec3363878 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1531,9 +1531,9 @@ integrity sha512-cEee/Z+I12mZcFJshKcCqC8tuX5hG3s+d+9nZ3LabqKF1vKdF41B92pJVCBggjAGORAeOzyyDDKrZwIkLffeOQ== "@floating-ui/core@^1.0.0": - version "1.6.1" - resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.6.1.tgz#a4e6fef1b069cda533cbc7a4998c083a37f37573" - integrity sha512-42UH54oPZHPdRHdw6BgoBD6cg/eVTmVrFcgeRDM3jbO7uxSoipVcmcIGFcA5jmOHO5apcyvBhkSKES3fQJnu7A== + version "1.6.2" + resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.6.2.tgz#d37f3e0ac1f1c756c7de45db13303a266226851a" + integrity sha512-+2XpQV9LLZeanU4ZevzRnGFg2neDeKHgFLjP6YLW+tly0IvrhqT4u8enLGjLH3qeh85g19xY5rsAusfwTdn5lg== dependencies: "@floating-ui/utils" "^0.2.0" @@ -1546,9 +1546,9 @@ "@floating-ui/utils" "^0.2.0" "@floating-ui/react-dom@^2.0.0": - version "2.0.9" - resolved "https://registry.yarnpkg.com/@floating-ui/react-dom/-/react-dom-2.0.9.tgz#264ba8b061000baa132b5910f0427a6acf7ad7ce" - integrity sha512-q0umO0+LQK4+p6aGyvzASqKbKOJcAHJ7ycE9CuUvfx3s9zTHWmGJTPOIlM/hmSBfUfg/XfY5YhLBLR/LHwShQQ== + version "2.1.0" + resolved "https://registry.yarnpkg.com/@floating-ui/react-dom/-/react-dom-2.1.0.tgz#4f0e5e9920137874b2405f7d6c862873baf4beff" + integrity sha512-lNzj5EQmEKn5FFKc04+zasr09h/uX8RtJRNj5gUXsSQIXHVWTVh+hVAg1vOMCexkX8EgvemMvIFpQfkosnVNyA== dependencies: "@floating-ui/dom" "^1.0.0" @@ -2576,18 +2576,18 @@ integrity sha512-POu8Mk0hIU3lRXB3bGIGe4VHIwwDsQyoD1F394OK7STTiX9w4dG3cTLljjYswkQN+hDSHRrj4O36kuVa7KPU8Q== "@react-three/fiber@^9.0.0-alpha.5": - version "9.0.0-alpha.5" - resolved "https://registry.yarnpkg.com/@react-three/fiber/-/fiber-9.0.0-alpha.5.tgz#2767587e6494cbcafe6aeda29d4ec8e1791f7af0" - integrity sha512-uAu8a0ohLHdrGr6w94bppQQohbYWd4RREsadV1vm0vexCiP8V09mnFwT/RMW7S0XqRSuIRW4y6gF/Ou2WiQZ3A== + version "9.0.0-alpha.6" + resolved "https://registry.yarnpkg.com/@react-three/fiber/-/fiber-9.0.0-alpha.6.tgz#ff284201983c9f22539fb92fc2affb552eed67ae" + integrity sha512-P1jvT3lzgBB7UxR/K3bd0R76OuEaI75qKhK/YDJyU7Dcttf6Kk9rqSQxpVI6yYT/21y/AgYdJZHmduNPNOQ9uQ== dependencies: "@babel/runtime" "^7.17.8" "@types/react-reconciler" "^0.28.8" base64-js "^1.5.1" buffer "^6.0.3" its-fine "^1.2.5" - react-reconciler "0.31.0-beta-94eed63c49-20240425" + react-reconciler "0.31.0-beta-6946ebe620-20240508" react-use-measure "^2.1.1" - scheduler "0.25.0-beta-94eed63c49-20240425" + scheduler "0.25.0-beta-6946ebe620-20240508" suspend-react "^0.1.3" zustand "^4.1.2" @@ -3636,9 +3636,9 @@ integrity sha512-eOIHzCUSH7SMfonMG1LsC2f8vxBFtho6NGBznK41R84YzPuvSBzrhEps33IsQiOW9+VL6NQ9DbjQJznk/S4uRA== "@types/draco3d@^1.4.0": - version "1.4.9" - resolved "https://registry.yarnpkg.com/@types/draco3d/-/draco3d-1.4.9.tgz#eb3eb7c5fd6f3490ab86ed7ebf36e595a9dc179b" - integrity sha512-4MMUjMQb4yA5fJ4osXx+QxGHt0/ZSy4spT6jL1HM7Tn8OJEC35siqdnpOo+HxPhYjqEFumKfGVF9hJfdyKBIBA== + version "1.4.10" + resolved "https://registry.yarnpkg.com/@types/draco3d/-/draco3d-1.4.10.tgz#63ec0ba78b30bd58203ec031f4e4f0198c596dca" + integrity sha512-AX22jp8Y7wwaBgAixaSvkoG4M/+PlAcm3Qs4OW8yT9DM4xUpWKeFhLueTAyZF39pviAdcDdeJoACapiAceqNcw== "@types/ejs@^3.1.1": version "3.1.5" @@ -3646,9 +3646,9 @@ integrity sha512-nv+GSx77ZtXiJzwKdsASqi+YQ5Z7vwHsTP0JY2SiQgjGckkBRKZnk8nIM+7oUZ1VCtuTz0+By4qVR7fqzp/Dfg== "@types/emscripten@^1.39.6": - version "1.39.11" - resolved "https://registry.yarnpkg.com/@types/emscripten/-/emscripten-1.39.11.tgz#8f8c40cb831a2406c0ee5b0c6e847b3bf659c2e3" - integrity sha512-dOeX2BeNA7j6BTEqJQL3ut0bRCfsyQMd5i4FT8JfHfYhAOuJPCGh0dQFbxVJxUyQ+75x6enhDdndGb624/QszA== + version "1.39.12" + resolved "https://registry.yarnpkg.com/@types/emscripten/-/emscripten-1.39.12.tgz#e43b4fdd4b389861897d6cbb9665532f3afd5abd" + integrity sha512-AQImDBgudQfMqUBfrjZYilRxoHDzTBp+ejh+g1fY67eSMalwIKtBXofjpyI0JBgNpHGzxeGAR2QDya0wxW9zbA== "@types/escodegen@^0.0.6": version "0.0.6" @@ -3753,9 +3753,9 @@ integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== "@types/lodash@^4.14.167": - version "4.17.1" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.17.1.tgz#0fabfcf2f2127ef73b119d98452bd317c4a17eb8" - integrity sha512-X+2qazGS3jxLAIz5JDXDzglAF3KpijdhFxlf/V1+hEsOUc+HnWi81L/uv/EvGuV90WY+7mPGFCUDGfQC3Gj95Q== + version "4.17.4" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.17.4.tgz#0303b64958ee070059e3a7184048a55159fe20b7" + integrity sha512-wYCP26ZLxaT3R39kiN2+HcJ4kTd3U1waI/cY7ivWYqFP6pW3ZNpvi6Wd6PHZx7T/t8z0vlkXMg3QYLa7DZ/IJQ== "@types/mdx@^2.0.0": version "2.0.13" @@ -3791,9 +3791,9 @@ form-data "^4.0.0" "@types/node@*": - version "20.12.11" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.12.11.tgz#c4ef00d3507000d17690643278a60dc55a9dc9be" - integrity sha512-vDg9PZ/zi+Nqp6boSOT7plNuthRugEKixDv5sFTIpkE89MmNtEArAShI4mxuX2+UrLEe9pxC1vm2cjm9YlWbJw== + version "20.12.12" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.12.12.tgz#7cbecdf902085cec634fdb362172dfe12b8f2050" + integrity sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw== dependencies: undici-types "~5.26.4" @@ -3868,9 +3868,9 @@ "@types/react" "*" "@types/react@*", "@types/react@>=16", "@types/react@^18.0.0": - version "18.3.1" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.3.1.tgz#fed43985caa834a2084d002e4771e15dfcbdbe8e" - integrity sha512-V0kuGBX3+prX+DQ/7r2qsv1NsdfnCLnTgnRJ1pYnxykBhGMz+qj+box5lq7XsO5mtZsBqpjwwTu/7wszPfMBcw== + version "18.3.2" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.3.2.tgz#462ae4904973bc212fa910424d901e3d137dbfcd" + integrity sha512-Btgg89dAnqD4vV7R3hlwOxgqobUQKgx3MmrQRi0yYbs/P0ym8XozIAlkqVilPqHQwXs4e9Tf63rrCgl58BcO4w== dependencies: "@types/prop-types" "*" csstype "^3.0.2" @@ -4920,12 +4920,12 @@ braces@^2.3.1: split-string "^3.0.2" to-regex "^3.0.1" -braces@^3.0.2, braces@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== +braces@^3.0.3, braces@~3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" + integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== dependencies: - fill-range "^7.0.1" + fill-range "^7.1.1" browser-assert@^1.2.1: version "1.2.1" @@ -5100,9 +5100,9 @@ camera-controls@^2.4.2: integrity sha512-zFjqUR6onLkG+z1A6vAWfzovxZxWVSvp6e5t3lfZgfgPZtX3n74aykNAUaoRbq8Y3tOxadHkDjbfGDOP9hFf2w== caniuse-lite@^1.0.30001587: - version "1.0.30001616" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001616.tgz#4342712750d35f71ebba9fcac65e2cf8870013c3" - integrity sha512-RHVYKov7IcdNjVHJFNY/78RdG4oGVjbayxv8u5IO74Wv7Hlq4PnJE6mo/OjFijjVFNy5ijnCt6H3IIo4t+wfEw== + version "1.0.30001620" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001620.tgz#78bb6f35b8fe315b96b8590597094145d0b146b4" + integrity sha512-WJvYsOjd1/BYUY6SNGUosK9DUidBPDTnOARHp3fSmFO1ekdxaY6nKRttEVrfMmYi80ctS0kz1wiWmm14fVc3ew== cardinal@^2.1.1: version "2.1.1" @@ -5268,9 +5268,9 @@ cli-spinners@^2.5.0: integrity sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg== cli-table3@^0.6.1, cli-table3@^0.6.3: - version "0.6.4" - resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.4.tgz#d1c536b8a3f2e7bec58f67ac9e5769b1b30088b0" - integrity sha512-Lm3L0p+/npIQWNIiyF/nAn7T5dnOwR3xNTHXYEBFBFVPXzCVNZ5lqEC/1eo/EVfpDsQ1I+TX4ORPQgp+UI0CRw== + version "0.6.5" + resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.5.tgz#013b91351762739c16a9567c21a04632e449bf2f" + integrity sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ== dependencies: string-width "^4.2.0" optionalDependencies: @@ -5610,16 +5610,16 @@ copyfiles@^2.4.1: yargs "^16.1.0" core-js-compat@^3.31.0, core-js-compat@^3.36.1: - version "3.37.0" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.37.0.tgz#d9570e544163779bb4dff1031c7972f44918dc73" - integrity sha512-vYq4L+T8aS5UuFg4UwDhc7YNRWVeVZwltad9C/jV3R2LgVOpS9BDr7l/WL6BN0dbV3k1XejPTHqqEzJgsa0frA== + version "3.37.1" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.37.1.tgz#c844310c7852f4bdf49b8d339730b97e17ff09ee" + integrity sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg== dependencies: browserslist "^4.23.0" core-js@^3.0.1, core-js@^3.29.0: - version "3.37.0" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.37.0.tgz#d8dde58e91d156b2547c19d8a4efd5c7f6c426bb" - integrity sha512-fu5vHevQ8ZG4og+LXug8ulUtVxjOcEYvifJr7L5Bfq9GOztVqsKd9/59hUk2ZSbCrS3BqUr3EpaYGIYzq7g3Ug== + version "3.37.1" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.37.1.tgz#d21751ddb756518ac5a00e4d66499df981a62db9" + integrity sha512-Xn6qmxrQZyB0FFY8E3bgRXei3lWDJHhvI+u0q9TKIYM49G8pAr0FgnnrFRAmsbptZL1yxRADVXn+x5AGsbBfyw== core-util-is@~1.0.0: version "1.0.3" @@ -6102,9 +6102,9 @@ ejs@^3.1.8: jake "^10.8.5" electron-to-chromium@^1.4.668: - version "1.4.758" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.758.tgz#f39e530cae2ca4329a0f0e1840629d8d1da73156" - integrity sha512-/o9x6TCdrYZBMdGeTifAP3wlF/gVT+TtWJe3BSmtNh92Mw81U9hrYwW9OAGUh+sEOX/yz5e34sksqRruZbjYrw== + version "1.4.776" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.776.tgz#1580009f42f9f2ffc1b238e3d8d6e6baa7ca1682" + integrity sha512-s694bi3+gUzlliqxjPHpa9NRTlhzTgB34aan+pVKZmOTGy2xoZXl+8E1B8i5p5rtev3PKMK/H4asgNejC+YHNg== emittery@^0.13.1: version "0.13.1" @@ -6955,10 +6955,10 @@ fill-range@^4.0.0: repeat-string "^1.6.1" to-regex-range "^2.1.0" -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== +fill-range@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" + integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== dependencies: to-regex-range "^5.0.1" @@ -7058,9 +7058,9 @@ flatted@^3.2.9: integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw== flow-parser@0.*: - version "0.235.1" - resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.235.1.tgz#469c70adfa3c156f3a1792e7b6d7017f01f45f1d" - integrity sha512-s04193L4JE+ntEcQXbD6jxRRlyj9QXcgEl2W6xSjH4l9x4b0eHoCHfbYHjqf9LdZFUiM5LhgpiqsvLj/AyOyYQ== + version "0.236.0" + resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.236.0.tgz#8e8e6c59ff7e8d196c0ed215b3919320a1c6e332" + integrity sha512-0OEk9Gr+Yj7wjDW2KgaNYUypKau71jAfFyeLQF5iVtxqc6uJHag/MT7pmaEApf4qM7u86DkBcd4ualddYMfbLw== for-each@^0.3.3: version "0.3.3" @@ -7407,15 +7407,15 @@ glob-to-regexp@^0.4.1: integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== glob@^10.0.0, glob@^10.2.2, glob@^10.3.10: - version "10.3.12" - resolved "https://registry.yarnpkg.com/glob/-/glob-10.3.12.tgz#3a65c363c2e9998d220338e88a5f6ac97302960b" - integrity sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg== + version "10.3.15" + resolved "https://registry.yarnpkg.com/glob/-/glob-10.3.15.tgz#e72bc61bc3038c90605f5dd48543dc67aaf3b50d" + integrity sha512-0c6RlJt1TICLyvJYIApxb8GsXoai0KUP7AxKKAtsYXdgJR1mGEUa7DgwShbdk1nly0PYoZj01xd4hzbq3fsjpw== dependencies: foreground-child "^3.1.0" jackspeak "^2.3.6" minimatch "^9.0.1" minipass "^7.0.4" - path-scurry "^1.10.2" + path-scurry "^1.11.0" glob@^7.0.5, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.2.0: version "7.2.3" @@ -9783,12 +9783,12 @@ micromatch@^3.1.10: to-regex "^3.0.2" micromatch@^4.0.2, micromatch@^4.0.4: - version "4.0.5" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" - integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + version "4.0.6" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.6.tgz#ab4e37c42726b9cd788181ba4a2a4fead8e394a3" + integrity sha512-Y4Ypn3oujJYxJcMacVgcs92wofTHxp9FzfDpQON4msDefoC0lb3ETvQLOdLcbhSwU1bz8HrL/1sygfBIHudrkQ== dependencies: - braces "^3.0.2" - picomatch "^2.3.1" + braces "^3.0.3" + picomatch "^4.0.2" mime-db@1.52.0, "mime-db@>= 1.43.0 < 2": version "1.52.0" @@ -9957,9 +9957,9 @@ minipass@^5.0.0: integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== "minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.0.3, minipass@^7.0.4: - version "7.1.0" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.0.tgz#b545f84af94e567386770159302ca113469c80b8" - integrity sha512-oGZRv2OT1lO2UF1zUcwdTb3wqUwI0kBGTgt/T7OdSj6M6N5m3o5uPf0AIW6lVxGGoiWUR7e2AwTE+xiwK8WQig== + version "7.1.1" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.1.tgz#f7f85aff59aa22f110b20e27692465cf3bf89481" + integrity sha512-UZ7eQ+h8ywIRAW1hIEl2AqdwzJucU/Kp59+8kkZeSvafXhZjul247BvIJjEVFVeON6d7lM46XX1HXCduKAS8VA== minizlib@^2.1.1, minizlib@^2.1.2: version "2.1.2" @@ -10860,10 +10860,10 @@ path-parse@^1.0.7: resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== -path-scurry@^1.10.2: - version "1.10.2" - resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.10.2.tgz#8f6357eb1239d5fa1da8b9f70e9c080675458ba7" - integrity sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA== +path-scurry@^1.11.0: + version "1.11.1" + resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.11.1.tgz#7960a668888594a0720b12a911d1a742ab9f11d2" + integrity sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA== dependencies: lru-cache "^10.2.0" minipass "^5.0.0 || ^6.0.2 || ^7.0.0" @@ -10907,10 +10907,10 @@ pend@~1.2.0: resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== +picocolors@^1.0.0, picocolors@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.1.tgz#a8ad579b571952f0e5d25892de5445bcfe25aaa1" + integrity sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew== picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3, picomatch@^2.3.0, picomatch@^2.3.1: version "2.3.1" @@ -10922,6 +10922,11 @@ picomatch@^3.0.1: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-3.0.1.tgz#817033161def55ec9638567a2f3bbc876b3e7516" integrity sha512-I3EurrIQMlRc9IaAZnqRR044Phh2DXY+55o7uJ0V+hYZAcQYSuFWsc9q5PvyDHUSCe1Qxn/iBz+78s86zWnGag== +picomatch@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.2.tgz#77c742931e8f3b8820946c76cd0c1f13730d1dab" + integrity sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg== + pify@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" @@ -11415,12 +11420,12 @@ react-lifecycles-compat@^3.0.4: resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA== -react-reconciler@0.31.0-beta-94eed63c49-20240425: - version "0.31.0-beta-94eed63c49-20240425" - resolved "https://registry.yarnpkg.com/react-reconciler/-/react-reconciler-0.31.0-beta-94eed63c49-20240425.tgz#c2d469ab0f933d82150ca871b8b2daae001fd0d7" - integrity sha512-1ffTu3lmFEjdSlHxGjb7ztGDdXtbhKSka8cTRB8/Cj99536qvLpohOfpEsdzkBo1x3I31Q4h+C8g/fZ54MZBxA== +react-reconciler@0.31.0-beta-6946ebe620-20240508: + version "0.31.0-beta-6946ebe620-20240508" + resolved "https://registry.yarnpkg.com/react-reconciler/-/react-reconciler-0.31.0-beta-6946ebe620-20240508.tgz#f63d371e0210e3fc9ba31f399091de35a2754cfc" + integrity sha512-5YCRFs9FpTAKqSN0zzN3vHOqPjNITxTrPTqc+a6fFf97SMmQTgOS3DsGCSqtyf5xKLhu15alwdYUW/NUxmxuoQ== dependencies: - scheduler "0.25.0-beta-94eed63c49-20240425" + scheduler "0.25.0-beta-6946ebe620-20240508" react-refresh@^0.14.0: version "0.14.2" @@ -11607,9 +11612,9 @@ readdirp@~3.6.0: picomatch "^2.2.1" recast@^0.23.1, recast@^0.23.3: - version "0.23.6" - resolved "https://registry.yarnpkg.com/recast/-/recast-0.23.6.tgz#198fba74f66143a30acc81929302d214ce4e3bfa" - integrity sha512-9FHoNjX1yjuesMwuthAmPKabxYQdOgihFYmT5ebXfYGBcnqXZf3WOVz+5foEZ8Y83P4ZY6yQD5GMmtV+pgCCAQ== + version "0.23.7" + resolved "https://registry.yarnpkg.com/recast/-/recast-0.23.7.tgz#1e08f164e10402b075c904a2b01022b3da039c72" + integrity sha512-MpQlLZVpqbbxYcqEjwpRWo88sGvjOYoXptySz710RuddNMHx+wPkoNX6YyLZJlXAh5VZr1qmPrTwcTuFMh0Lag== dependencies: ast-types "^0.16.1" esprima "~4.0.0" @@ -11978,6 +11983,11 @@ safe-regex@^1.1.0: resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== +scheduler@0.25.0-beta-6946ebe620-20240508: + version "0.25.0-beta-6946ebe620-20240508" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.25.0-beta-6946ebe620-20240508.tgz#a09f28879c076952033727b9644bcc3bf699099d" + integrity sha512-g4Lk1FLKQzMXms4675kO5c+D05d2Rol4QlCqoWuBUaMdON8xI0/eDXbVgQoq0EgOa1QWAGNBSrQ3DUT0r/LXNw== + scheduler@0.25.0-beta-94eed63c49-20240425: version "0.25.0-beta-94eed63c49-20240425" resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.25.0-beta-94eed63c49-20240425.tgz#db261000b28fa56d65fff2e9c17eb7bd094a669a" @@ -12056,9 +12066,9 @@ semver@^6.0.0, semver@^6.3.0, semver@^6.3.1: integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== semver@^7.0.0, semver@^7.1.1, semver@^7.1.2, semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0: - version "7.6.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.1.tgz#60bfe090bf907a25aa8119a72b9f90ef7ca281b2" - integrity sha512-f/vbBsu+fOiYt+lmwZV0rVwJScl46HppnOA1ZvIuBWKOTlllpyJ3bfVax76/OrhCH38dyxoDIA8K7uB963IYgA== + version "7.6.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.2.tgz#1e3b34759f896e8f14d6134732ce798aeb0c6e13" + integrity sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w== send@0.18.0: version "0.18.0" @@ -12934,9 +12944,9 @@ three-mesh-bvh@^0.7.0: integrity sha512-flxe0A4uflTPR6elgq/Y8VrLoljDNS899i422SxQcU3EtMj6o8z4kZRyqZqGWzR0qMf1InTZzY1/0xZl/rnvVw== three-stdlib@^2.29.9: - version "2.29.11" - resolved "https://registry.yarnpkg.com/three-stdlib/-/three-stdlib-2.29.11.tgz#9bec17887464e8f4fe36d41e879655b16411c686" - integrity sha512-vSyUavKCwOJQd2ch9IHhyJVx6eNG3y+z3/LulqHM7OLMy81OqnmIrvc2b4phKr/c1aVjHRNG2X7JOklfrDDcmQ== + version "2.30.0" + resolved "https://registry.yarnpkg.com/three-stdlib/-/three-stdlib-2.30.0.tgz#c6133f5e16ba2ab702d8dc05203ed9aa89595c9f" + integrity sha512-ALL7rn57jq/MovDRk5hGjeWCvOeZlZhFCWIdpbBAQNudCO3nMwxEba5ZulsMgiI1ymQMzUzTMcxhLTCVlUaKDw== dependencies: "@types/draco3d" "^1.4.0" "@types/offscreencanvas" "^2019.6.4" @@ -13466,12 +13476,12 @@ untildify@^4.0.0: integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== update-browserslist-db@^1.0.13: - version "1.0.15" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.15.tgz#60ed9f8cba4a728b7ecf7356f641a31e3a691d97" - integrity sha512-K9HWH62x3/EalU1U6sjSZiylm9C8tgq2mSvshZpqc7QE69RaA2qjhkW2HlNA0tFpEbtyFz7HTqbSdN4MSwUodA== + version "1.0.16" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz#f6d489ed90fb2f07d67784eb3f53d7891f736356" + integrity sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ== dependencies: escalade "^3.1.2" - picocolors "^1.0.0" + picocolors "^1.0.1" update-check@1.5.4: version "1.5.4" From 482cc39f7a3550380562a8eb0fe8c8f30df2a75f Mon Sep 17 00:00:00 2001 From: Kris Baumgartner Date: Tue, 21 May 2024 11:14:03 -0700 Subject: [PATCH 6/9] Use legacy peer dep --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 16a788b97..b9198c8dd 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,7 @@ "eslint:ci": "eslint .", "prettier": "prettier --check .", "prettier-fix": "prettier --write .", - "test": "npm run eslint:ci && (cd test/e2e; ./e2e.sh)", + "test": "npm run eslint:ci && (cd test/e2e; ./e2e.sh) --legacy-peer-deps", "typecheck": "tsc --noEmit --emitDeclarationOnly false --strict --jsx react", "typegen": "tsc --emitDeclarationOnly", "storybook": "cross-env NODE_OPTIONS=\"--openssl-legacy-provider\" storybook dev -p 6006", From b79fa040a9307befede8e6b516c3e2296c8f78e1 Mon Sep 17 00:00:00 2001 From: Kris Baumgartner Date: Tue, 21 May 2024 11:21:05 -0700 Subject: [PATCH 7/9] Revert "Use legacy peer dep" This reverts commit 482cc39f7a3550380562a8eb0fe8c8f30df2a75f. --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index b9198c8dd..16a788b97 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,7 @@ "eslint:ci": "eslint .", "prettier": "prettier --check .", "prettier-fix": "prettier --write .", - "test": "npm run eslint:ci && (cd test/e2e; ./e2e.sh) --legacy-peer-deps", + "test": "npm run eslint:ci && (cd test/e2e; ./e2e.sh)", "typecheck": "tsc --noEmit --emitDeclarationOnly false --strict --jsx react", "typegen": "tsc --emitDeclarationOnly", "storybook": "cross-env NODE_OPTIONS=\"--openssl-legacy-provider\" storybook dev -p 6006", From a249690f754d23fadfb60b5a691ee4304a3e734d Mon Sep 17 00:00:00 2001 From: Kris Baumgartner Date: Tue, 21 May 2024 11:30:36 -0700 Subject: [PATCH 8/9] Legacy dep --- test/e2e/e2e.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/e2e/e2e.sh b/test/e2e/e2e.sh index 00b5322c9..a802e9e62 100755 --- a/test/e2e/e2e.sh +++ b/test/e2e/e2e.sh @@ -30,7 +30,7 @@ appdir="$tmp/$appname" (cd $tmp; npm create vite@latest $appname -- --template react) # drei -(cd $appdir; npm i; npm i $TGZ) +(cd $appdir; npm i; npm i --legacy-peer-deps $TGZ) # App.jsx cp App.jsx $appdir/src/App.jsx From d8b3ed3238800da2b2a21a6f18914aee7456ec61 Mon Sep 17 00:00:00 2001 From: Kris Baumgarter Date: Wed, 22 May 2024 11:38:54 -0700 Subject: [PATCH 9/9] Update package.json Co-authored-by: Cody Bennett --- package.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 16a788b97..d5d971a0a 100644 --- a/package.json +++ b/package.json @@ -24,10 +24,10 @@ "Marco Perego (https://github.com/emmelleppi)", "Josh Ellis (https://github.com/joshuaellis)" ], - "main": "dist/index.cjs.js", - "module": "dist/index.js", - "types": "dist/index.d.ts", - "react-native": "dist/native/index.cjs.js", + "main": "index.cjs.js", + "module": "index.js", + "types": "index.d.ts", + "react-native": "native/index.cjs.js", "sideEffects": false, "commitlint": { "extends": [