@wandelbots/wandelbots-js-react-components 2.25.0 → 2.26.0-pr.feature-update-to-react-19.361.fe8f91b

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wandelbots/wandelbots-js-react-components",
3
- "version": "2.25.0",
3
+ "version": "2.26.0-pr.feature-update-to-react-19.361.fe8f91b",
4
4
  "description": "React UI toolkit for building applications on top of the Wandelbots platform",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -48,45 +48,41 @@
48
48
  "devDependencies": {
49
49
  "@emotion/react": "^11.14.0",
50
50
  "@emotion/styled": "^11.14.0",
51
- "@mui/icons-material": "^6.4.1",
52
- "@mui/material": "^6.4.0",
53
- "@react-spring/three": "^9.7.5",
54
- "@react-three/drei": "^9.122.0",
55
- "@react-three/fiber": "^8.18.0",
51
+ "@mui/icons-material": "^7.1.1",
52
+ "@mui/material": "^7.1.1",
53
+ "@react-spring/three": "^10.0.1",
54
+ "@react-three/drei": "^10.2.0",
55
+ "@react-three/fiber": "^9.1.2",
56
56
  "@rollup/plugin-commonjs": "^28.0.2",
57
57
  "@rollup/plugin-json": "^6.1.0",
58
58
  "@rollup/plugin-node-resolve": "^16.0.0",
59
59
  "@rollup/plugin-terser": "^0.4.4",
60
60
  "@rollup/plugin-typescript": "^12.1.2",
61
- "@storybook/addon-docs": "^8.6.4",
62
- "@storybook/addon-essentials": "^8.6.4",
63
- "@storybook/addon-interactions": "^8.6.4",
64
- "@storybook/blocks": "^8.6.4",
65
- "@storybook/csf-tools": "^8.6.4",
66
- "@storybook/react": "^8.6.4",
67
- "@storybook/react-vite": "^8.6.4",
68
- "@storybook/test": "^8.6.4",
69
- "@storybook/test-runner": "^0.21.3",
70
- "@storybook/types": "^8.6.4",
61
+ "@storybook/addon-docs": "^9.0.8",
62
+ "@storybook/react-vite": "^9.0.8",
63
+ "@storybook/test-runner": "^0.23.0",
71
64
  "@svgr/rollup": "^8.1.0",
72
65
  "@types/lodash-es": "^4.17.12",
73
- "@types/react": "^18.3.12",
66
+ "@types/react": "^19.1.8",
74
67
  "@types/three": "^0.174.0",
75
68
  "@vitejs/plugin-react": "^4.3.4",
76
- "@wandelbots/nova-js": "^2.0.1",
69
+ "@wandelbots/nova-js": "^2.1.0",
77
70
  "add": "^2.0.6",
71
+ "eslint-plugin-storybook": "^9.0.8",
78
72
  "glob": "^11.0.1",
79
73
  "http-server": "^14.1.1",
80
74
  "husky": "^9.1.7",
75
+ "i18next": "^25.2.1",
81
76
  "jest-simple-dot-reporter": "^1.0.5",
82
77
  "jest-summary-reporter": "^0.0.2",
78
+ "monaco-editor": "^0.52.2",
83
79
  "nodemon": "^3.1.9",
84
80
  "npm-run-all": "^4.1.5",
85
81
  "postcss": "^8.5.3",
86
82
  "prettier-eslint": "^16.3.0",
87
83
  "prop-types": "^15.8.1",
88
- "react": "^18.3.1",
89
- "react-dom": "^18.3.1",
84
+ "react": "^19.1.0",
85
+ "react-dom": "^19.1.0",
90
86
  "rimraf": "^6.0.1",
91
87
  "rollup": "^4.34.9",
92
88
  "rollup-plugin-dts": "^6.1.1",
@@ -94,8 +90,7 @@
94
90
  "rollup-plugin-peer-deps-external": "^2.2.4",
95
91
  "rollup-plugin-postcss": "^4.0.2",
96
92
  "semantic-release": "^24.2.3",
97
- "storybook": "^8.6.4",
98
- "storybook-dark-mode": "^4.0.2",
93
+ "storybook": "^9.0.8",
99
94
  "storybook-preset-inline-svg": "^1.0.1",
100
95
  "three": "^0.174.0",
101
96
  "three-stdlib": "^2.35.14",
@@ -110,11 +105,13 @@
110
105
  "peerDependencies": {
111
106
  "@emotion/react": "^11.11.1",
112
107
  "@emotion/styled": "^11.11.0",
113
- "@mui/icons-material": "^6",
114
- "@mui/material": "^6",
115
- "@react-spring/three": "^9",
116
- "@react-three/drei": "^9.122.0",
117
- "@react-three/fiber": "^8.18.0",
108
+ "@mui/icons-material": "^6 || ^7",
109
+ "@mui/material": "^6 || ^7",
110
+ "@react-spring/three": "^9 || ^10",
111
+ "@react-three/drei": "^9.122.0 || ^10",
112
+ "@react-three/fiber": "^8 || ^9",
113
+ "react": "^18.0.0 || ^19.0.0",
114
+ "react-dom": "^18.0.0 || ^19.0.0",
118
115
  "three": ">=0.174",
119
116
  "three-stdlib": ">=2"
120
117
  },
@@ -145,8 +142,11 @@
145
142
  "lodash-es": "^4.17.21",
146
143
  "mobx": "^6.13.6",
147
144
  "mobx-react-lite": "^4.1.0",
148
- "react-error-boundary": "^5.0.0",
149
- "react-i18next": "^15.4.1",
145
+ "react-error-boundary": "^6.0.0",
146
+ "react-i18next": "^15.5.2",
150
147
  "shiki": "^3.1.0"
148
+ },
149
+ "overrides": {
150
+ "storybook": "$storybook"
151
151
  }
152
152
  }
package/src/Setup.tsx CHANGED
@@ -1,5 +1,5 @@
1
1
  import { OrbitControls } from "@react-three/drei"
2
- import { Canvas, type Props as CanvasProps } from "@react-three/fiber"
2
+ import { Canvas, type CanvasProps } from "@react-three/fiber"
3
3
  import * as React from "react"
4
4
  import { Vector3 } from "three"
5
5
  import { PresetEnvironment } from "./components/3d-viewport/PresetEnvironment"
@@ -1,4 +1,4 @@
1
- import { type GroupProps } from "@react-three/fiber"
1
+ import { type ThreeElements } from "@react-three/fiber"
2
2
  import type { Geometry } from "@wandelbots/nova-api/v1"
3
3
  import type { SafetySetupSafetyZone } from "@wandelbots/nova-js/v1"
4
4
  import * as THREE from "three"
@@ -6,7 +6,7 @@ import { ConvexGeometry } from "three-stdlib"
6
6
 
7
7
  export type SafetyZonesRendererProps = {
8
8
  safetyZones: SafetySetupSafetyZone[]
9
- } & GroupProps
9
+ } & ThreeElements["group"]
10
10
 
11
11
  interface CoplanarityResult {
12
12
  isCoplanar: boolean
@@ -4,7 +4,7 @@ import * as THREE from "three"
4
4
 
5
5
  export type TrajectoryRendererProps = {
6
6
  trajectory: GetTrajectoryResponse
7
- } & JSX.IntrinsicElements["group"]
7
+ } & React.JSX.IntrinsicElements["group"]
8
8
 
9
9
  export function TrajectoryRenderer({
10
10
  trajectory,
@@ -11,7 +11,7 @@ import {
11
11
 
12
12
  export const JoggingOptions = observer(({ store }: { store: JoggingStore }) => {
13
13
  const { t } = useTranslation()
14
- const joggingOptions = []
14
+ const joggingOptions: React.ReactElement[] = []
15
15
 
16
16
  function translateOrientation(orientation: OrientationId): string {
17
17
  switch (orientation) {
@@ -1,6 +1,6 @@
1
1
  import { animated } from "@react-spring/three"
2
2
  import { useGLTF } from "@react-three/drei"
3
- import type { GroupProps } from "@react-three/fiber"
3
+ import type { ThreeElements } from "@react-three/fiber"
4
4
  import React, { useCallback } from "react"
5
5
  import type { Group, Mesh } from "three"
6
6
  import { type Object3D } from "three"
@@ -14,7 +14,7 @@ export type RobotModelProps = {
14
14
  */
15
15
  postModelRender?: () => void
16
16
  flangeRef?: React.Ref<Group>
17
- } & GroupProps
17
+ } & ThreeElements["group"]
18
18
 
19
19
  function isMesh(node: Object3D): node is Mesh {
20
20
  return node.type === "Mesh"
@@ -1,4 +1,4 @@
1
- import { type GroupProps } from "@react-three/fiber"
1
+ import { type ThreeElements } from "@react-three/fiber"
2
2
 
3
3
  import type { ConnectedMotionGroup } from "@wandelbots/nova-js/v1"
4
4
  import type { Group } from "three"
@@ -10,7 +10,7 @@ export type RobotProps = {
10
10
  getModel?: (modelFromController: string) => string
11
11
  flangeRef?: React.Ref<Group>
12
12
  transparentColor?: string
13
- } & GroupProps
13
+ } & ThreeElements["group"]
14
14
 
15
15
  /**
16
16
  * The Robot component is a wrapper around the SupportedRobot component
@@ -1,4 +1,4 @@
1
- import type { GroupProps } from "@react-three/fiber"
1
+ import type { ThreeElements } from "@react-three/fiber"
2
2
  import type {
3
3
  DHParameter,
4
4
  MotionGroupStateResponse,
@@ -18,7 +18,7 @@ import { defaultGetModel } from "./robotModelLogic"
18
18
  export type DHRobotProps = {
19
19
  rapidlyChangingMotionState: MotionGroupStateResponse
20
20
  dhParameters: Array<DHParameter>
21
- } & GroupProps
21
+ } & ThreeElements["group"]
22
22
 
23
23
  export type SupportedRobotProps = {
24
24
  rapidlyChangingMotionState: MotionGroupStateResponse
@@ -28,7 +28,7 @@ export type SupportedRobotProps = {
28
28
  getModel?: (modelFromController: string) => string
29
29
  postModelRender?: () => void
30
30
  transparentColor?: string
31
- } & GroupProps
31
+ } & ThreeElements["group"]
32
32
 
33
33
  export const SupportedRobot = externalizeComponent(
34
34
  ({
@@ -7,7 +7,7 @@ import { i18n } from "./i18n/config"
7
7
  * be provided by the user application; this wrapper ensures
8
8
  * they can be used either way.
9
9
  */
10
- export function externalizeComponent<T extends JSX.ElementType>(
10
+ export function externalizeComponent<T extends React.JSX.ElementType>(
11
11
  Component: T,
12
12
  ): T {
13
13
  const WrappedComponent = ((props: T) => (