@wandelbots/wandelbots-js-react-components 1.11.1 → 1.11.3

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.
Files changed (231) hide show
  1. package/dist/index.cjs +29 -29
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.js +3109 -3065
  4. package/dist/index.js.map +1 -1
  5. package/dist/src/Setup.d.ts.map +1 -0
  6. package/dist/src/components/3d-viewport/CoordinateSystemTransform.d.ts.map +1 -0
  7. package/dist/src/components/3d-viewport/PresetEnvironment.d.ts.map +1 -0
  8. package/dist/src/components/3d-viewport/SafetyZonesRenderer.d.ts.map +1 -0
  9. package/dist/src/components/ConsoleFilter.d.ts.map +1 -0
  10. package/dist/src/components/CopyableText.d.ts.map +1 -0
  11. package/dist/src/components/LoadingButton.d.ts.map +1 -0
  12. package/dist/src/components/LoadingCover.d.ts.map +1 -0
  13. package/dist/src/components/ThemeSelect.d.ts.map +1 -0
  14. package/dist/src/components/VelocitySlider.d.ts.map +1 -0
  15. package/dist/src/components/jogging/JoggingCartesianAxisControl.d.ts.map +1 -0
  16. package/dist/src/components/jogging/JoggingCartesianTab.d.ts.map +1 -0
  17. package/dist/src/components/jogging/JoggingCartesianValues.d.ts.map +1 -0
  18. package/dist/src/components/jogging/JoggingFreedriveTab.d.ts.map +1 -0
  19. package/dist/src/components/jogging/JoggingJointLimitDetector.d.ts.map +1 -0
  20. package/dist/src/components/jogging/JoggingJointRotationControl.d.ts.map +1 -0
  21. package/dist/src/components/jogging/JoggingJointTab.d.ts.map +1 -0
  22. package/dist/src/components/jogging/JoggingJointValues.d.ts.map +1 -0
  23. package/dist/src/components/jogging/JoggingOptions.d.ts.map +1 -0
  24. package/dist/{components → src/components}/jogging/JoggingPanel.d.ts +8 -5
  25. package/dist/src/components/jogging/JoggingPanel.d.ts.map +1 -0
  26. package/dist/src/components/jogging/JoggingStore.d.ts.map +1 -0
  27. package/dist/src/components/jogging/JoggingVelocitySlider.d.ts.map +1 -0
  28. package/dist/src/components/modal/NoMotionGroupModal.d.ts.map +1 -0
  29. package/dist/src/components/robots/ABB_1200_07_7.d.ts.map +1 -0
  30. package/dist/src/components/robots/AxisConfig.d.ts.map +1 -0
  31. package/dist/src/components/robots/DHRobot.d.ts.map +1 -0
  32. package/dist/src/components/robots/FANUC_ARC_Mate_100iD.d.ts.map +1 -0
  33. package/dist/src/components/robots/FANUC_ARC_Mate_120iD.d.ts.map +1 -0
  34. package/dist/src/components/robots/FANUC_CRX10iA.d.ts.map +1 -0
  35. package/dist/src/components/robots/FANUC_CRX20iAL.d.ts.map +1 -0
  36. package/dist/src/components/robots/FANUC_CRX25iA.d.ts.map +1 -0
  37. package/dist/src/components/robots/FANUC_CRX25iAL.d.ts.map +1 -0
  38. package/dist/src/components/robots/KUKA_KR210_R2700.d.ts.map +1 -0
  39. package/dist/src/components/robots/KUKA_KR270_R2700.d.ts.map +1 -0
  40. package/dist/src/components/robots/Robot.d.ts.map +1 -0
  41. package/dist/src/components/robots/RobotAnimator.d.ts.map +1 -0
  42. package/dist/{components → src/components}/robots/SupportedRobot.d.ts +1 -1
  43. package/dist/src/components/robots/SupportedRobot.d.ts.map +1 -0
  44. package/dist/src/components/robots/UniversalRobots_UR10.d.ts.map +1 -0
  45. package/dist/src/components/robots/UniversalRobots_UR10e.d.ts.map +1 -0
  46. package/dist/src/components/robots/UniversalRobots_UR3.d.ts.map +1 -0
  47. package/dist/src/components/robots/UniversalRobots_UR3e.d.ts.map +1 -0
  48. package/dist/src/components/robots/UniversalRobots_UR5.d.ts.map +1 -0
  49. package/dist/src/components/robots/UniversalRobots_UR5e.d.ts.map +1 -0
  50. package/dist/src/components/robots/Yaskawa_AR1440.d.ts.map +1 -0
  51. package/dist/src/components/robots/Yaskawa_AR1730.d.ts.map +1 -0
  52. package/dist/src/components/robots/Yaskawa_AR2010.d.ts.map +1 -0
  53. package/dist/src/components/robots/Yaskawa_AR3120.d.ts.map +1 -0
  54. package/dist/src/components/robots/Yaskawa_AR900.d.ts.map +1 -0
  55. package/dist/src/components/utils/converters.d.ts.map +1 -0
  56. package/dist/src/components/utils/errorHandling.d.ts.map +1 -0
  57. package/dist/src/components/utils/hooks.d.ts.map +1 -0
  58. package/dist/src/components/utils/robotTreeQuery.d.ts.map +1 -0
  59. package/dist/src/components/wandelscript-editor/WandelscriptEditor.d.ts.map +1 -0
  60. package/dist/src/components/wandelscript-editor/wandelscript.tmLanguage.d.ts.map +1 -0
  61. package/dist/src/externalizeComponent.d.ts +7 -0
  62. package/dist/src/externalizeComponent.d.ts.map +1 -0
  63. package/dist/src/i18n/config.d.ts.map +1 -0
  64. package/dist/src/icons/index.d.ts.map +1 -0
  65. package/dist/src/index.d.ts +14 -0
  66. package/dist/src/index.d.ts.map +1 -0
  67. package/dist/src/themes/color.d.ts.map +1 -0
  68. package/dist/src/themes/theming.d.ts.map +1 -0
  69. package/dist/{components/jogging → stories}/JoggingCartesianAxisControl.stories.d.ts +1 -1
  70. package/dist/stories/JoggingCartesianAxisControl.stories.d.ts.map +1 -0
  71. package/dist/{components/jogging → stories}/JoggingJointRotationControl.stories.d.ts +1 -1
  72. package/dist/stories/JoggingJointRotationControl.stories.d.ts.map +1 -0
  73. package/dist/{components/jogging → stories}/JoggingPanel.stories.d.ts +1 -1
  74. package/dist/stories/JoggingPanel.stories.d.ts.map +1 -0
  75. package/dist/{components → stories}/LoadingButton.stories.d.ts +1 -1
  76. package/dist/stories/LoadingButton.stories.d.ts.map +1 -0
  77. package/dist/stories/SafetyZonesRenderer.stories.d.ts +147 -0
  78. package/dist/stories/SafetyZonesRenderer.stories.d.ts.map +1 -0
  79. package/dist/{components/robots → stories}/SupportedRobot.stories.d.ts +2 -2
  80. package/dist/stories/SupportedRobot.stories.d.ts.map +1 -0
  81. package/dist/{components → stories}/VelocitySlider.stories.d.ts +1 -1
  82. package/dist/stories/VelocitySlider.stories.d.ts.map +1 -0
  83. package/dist/{components/wandelscript-editor → stories}/WandelscriptEditor.stories.d.ts +1 -1
  84. package/dist/stories/WandelscriptEditor.stories.d.ts.map +1 -0
  85. package/dist/stories/novaTheme.stories.d.ts.map +1 -0
  86. package/package.json +5 -6
  87. package/src/components/3d-viewport/SafetyZonesRenderer.tsx +51 -0
  88. package/src/components/VelocitySlider.tsx +1 -1
  89. package/src/components/jogging/JoggingCartesianAxisControl.tsx +98 -95
  90. package/src/components/jogging/JoggingJointRotationControl.tsx +182 -177
  91. package/src/components/jogging/JoggingPanel.tsx +106 -90
  92. package/src/components/modal/NoMotionGroupModal.tsx +70 -62
  93. package/src/components/robots/SupportedRobot.tsx +191 -188
  94. package/src/components/wandelscript-editor/WandelscriptEditor.tsx +98 -100
  95. package/src/externalizeComponent.tsx +8 -6
  96. package/src/index.ts +10 -42
  97. package/dist/Setup.d.ts.map +0 -1
  98. package/dist/components/3d-viewport/CoordinateSystemTransform.d.ts.map +0 -1
  99. package/dist/components/3d-viewport/PresetEnvironment.d.ts.map +0 -1
  100. package/dist/components/3d-viewport/SafetyZonesRenderer.d.ts.map +0 -1
  101. package/dist/components/ConsoleFilter.d.ts.map +0 -1
  102. package/dist/components/CopyableText.d.ts.map +0 -1
  103. package/dist/components/LoadingButton.d.ts.map +0 -1
  104. package/dist/components/LoadingButton.stories.d.ts.map +0 -1
  105. package/dist/components/LoadingCover.d.ts.map +0 -1
  106. package/dist/components/ThemeSelect.d.ts.map +0 -1
  107. package/dist/components/VelocitySlider.d.ts.map +0 -1
  108. package/dist/components/VelocitySlider.stories.d.ts.map +0 -1
  109. package/dist/components/jogging/JoggingCartesianAxisControl.d.ts.map +0 -1
  110. package/dist/components/jogging/JoggingCartesianAxisControl.stories.d.ts.map +0 -1
  111. package/dist/components/jogging/JoggingCartesianTab.d.ts.map +0 -1
  112. package/dist/components/jogging/JoggingCartesianValues.d.ts.map +0 -1
  113. package/dist/components/jogging/JoggingFreedriveTab.d.ts.map +0 -1
  114. package/dist/components/jogging/JoggingJointLimitDetector.d.ts.map +0 -1
  115. package/dist/components/jogging/JoggingJointRotationControl.d.ts.map +0 -1
  116. package/dist/components/jogging/JoggingJointRotationControl.stories.d.ts.map +0 -1
  117. package/dist/components/jogging/JoggingJointTab.d.ts.map +0 -1
  118. package/dist/components/jogging/JoggingJointValues.d.ts.map +0 -1
  119. package/dist/components/jogging/JoggingOptions.d.ts.map +0 -1
  120. package/dist/components/jogging/JoggingPanel.d.ts.map +0 -1
  121. package/dist/components/jogging/JoggingPanel.stories.d.ts.map +0 -1
  122. package/dist/components/jogging/JoggingStore.d.ts.map +0 -1
  123. package/dist/components/jogging/JoggingVelocitySlider.d.ts.map +0 -1
  124. package/dist/components/modal/NoMotionGroupModal.d.ts.map +0 -1
  125. package/dist/components/robots/ABB_1200_07_7.d.ts.map +0 -1
  126. package/dist/components/robots/AxisConfig.d.ts.map +0 -1
  127. package/dist/components/robots/DHRobot.d.ts.map +0 -1
  128. package/dist/components/robots/FANUC_ARC_Mate_100iD.d.ts.map +0 -1
  129. package/dist/components/robots/FANUC_ARC_Mate_120iD.d.ts.map +0 -1
  130. package/dist/components/robots/FANUC_CRX10iA.d.ts.map +0 -1
  131. package/dist/components/robots/FANUC_CRX20iAL.d.ts.map +0 -1
  132. package/dist/components/robots/FANUC_CRX25iA.d.ts.map +0 -1
  133. package/dist/components/robots/FANUC_CRX25iAL.d.ts.map +0 -1
  134. package/dist/components/robots/KUKA_KR210_R2700.d.ts.map +0 -1
  135. package/dist/components/robots/KUKA_KR270_R2700.d.ts.map +0 -1
  136. package/dist/components/robots/Robot.d.ts.map +0 -1
  137. package/dist/components/robots/RobotAnimator.d.ts.map +0 -1
  138. package/dist/components/robots/SupportedRobot.d.ts.map +0 -1
  139. package/dist/components/robots/SupportedRobot.stories.d.ts.map +0 -1
  140. package/dist/components/robots/UniversalRobots_UR10.d.ts.map +0 -1
  141. package/dist/components/robots/UniversalRobots_UR10e.d.ts.map +0 -1
  142. package/dist/components/robots/UniversalRobots_UR3.d.ts.map +0 -1
  143. package/dist/components/robots/UniversalRobots_UR3e.d.ts.map +0 -1
  144. package/dist/components/robots/UniversalRobots_UR5.d.ts.map +0 -1
  145. package/dist/components/robots/UniversalRobots_UR5e.d.ts.map +0 -1
  146. package/dist/components/robots/Yaskawa_AR1440.d.ts.map +0 -1
  147. package/dist/components/robots/Yaskawa_AR1730.d.ts.map +0 -1
  148. package/dist/components/robots/Yaskawa_AR2010.d.ts.map +0 -1
  149. package/dist/components/robots/Yaskawa_AR3120.d.ts.map +0 -1
  150. package/dist/components/robots/Yaskawa_AR900.d.ts.map +0 -1
  151. package/dist/components/utils/converters.d.ts.map +0 -1
  152. package/dist/components/utils/errorHandling.d.ts.map +0 -1
  153. package/dist/components/utils/hooks.d.ts.map +0 -1
  154. package/dist/components/utils/robotTreeQuery.d.ts.map +0 -1
  155. package/dist/components/wandelscript-editor/WandelscriptEditor.d.ts.map +0 -1
  156. package/dist/components/wandelscript-editor/WandelscriptEditor.stories.d.ts.map +0 -1
  157. package/dist/components/wandelscript-editor/wandelscript.tmLanguage.d.ts.map +0 -1
  158. package/dist/externalizeComponent.d.ts +0 -7
  159. package/dist/externalizeComponent.d.ts.map +0 -1
  160. package/dist/i18n/config.d.ts.map +0 -1
  161. package/dist/icons/index.d.ts.map +0 -1
  162. package/dist/index.d.ts +0 -54
  163. package/dist/index.d.ts.map +0 -1
  164. package/dist/themes/color.d.ts.map +0 -1
  165. package/dist/themes/novaTheme.stories.d.ts.map +0 -1
  166. package/dist/themes/theming.d.ts.map +0 -1
  167. package/src/components/LoadingButton.stories.tsx +0 -54
  168. package/src/components/VelocitySlider.stories.tsx +0 -27
  169. package/src/components/jogging/JoggingCartesianAxisControl.stories.tsx +0 -41
  170. package/src/components/jogging/JoggingJointRotationControl.stories.tsx +0 -50
  171. package/src/components/jogging/JoggingPanel.stories.tsx +0 -29
  172. package/src/components/robots/SupportedRobot.stories.tsx +0 -130
  173. package/src/components/wandelscript-editor/WandelscriptEditor.stories.tsx +0 -45
  174. package/src/themes/novaTheme.stories.tsx +0 -77
  175. /package/dist/{Setup.d.ts → src/Setup.d.ts} +0 -0
  176. /package/dist/{components → src/components}/3d-viewport/CoordinateSystemTransform.d.ts +0 -0
  177. /package/dist/{components → src/components}/3d-viewport/PresetEnvironment.d.ts +0 -0
  178. /package/dist/{components → src/components}/3d-viewport/SafetyZonesRenderer.d.ts +0 -0
  179. /package/dist/{components → src/components}/ConsoleFilter.d.ts +0 -0
  180. /package/dist/{components → src/components}/CopyableText.d.ts +0 -0
  181. /package/dist/{components → src/components}/LoadingButton.d.ts +0 -0
  182. /package/dist/{components → src/components}/LoadingCover.d.ts +0 -0
  183. /package/dist/{components → src/components}/ThemeSelect.d.ts +0 -0
  184. /package/dist/{components → src/components}/VelocitySlider.d.ts +0 -0
  185. /package/dist/{components → src/components}/jogging/JoggingCartesianAxisControl.d.ts +0 -0
  186. /package/dist/{components → src/components}/jogging/JoggingCartesianTab.d.ts +0 -0
  187. /package/dist/{components → src/components}/jogging/JoggingCartesianValues.d.ts +0 -0
  188. /package/dist/{components → src/components}/jogging/JoggingFreedriveTab.d.ts +0 -0
  189. /package/dist/{components → src/components}/jogging/JoggingJointLimitDetector.d.ts +0 -0
  190. /package/dist/{components → src/components}/jogging/JoggingJointRotationControl.d.ts +0 -0
  191. /package/dist/{components → src/components}/jogging/JoggingJointTab.d.ts +0 -0
  192. /package/dist/{components → src/components}/jogging/JoggingJointValues.d.ts +0 -0
  193. /package/dist/{components → src/components}/jogging/JoggingOptions.d.ts +0 -0
  194. /package/dist/{components → src/components}/jogging/JoggingStore.d.ts +0 -0
  195. /package/dist/{components → src/components}/jogging/JoggingVelocitySlider.d.ts +0 -0
  196. /package/dist/{components → src/components}/modal/NoMotionGroupModal.d.ts +0 -0
  197. /package/dist/{components → src/components}/robots/ABB_1200_07_7.d.ts +0 -0
  198. /package/dist/{components → src/components}/robots/AxisConfig.d.ts +0 -0
  199. /package/dist/{components → src/components}/robots/DHRobot.d.ts +0 -0
  200. /package/dist/{components → src/components}/robots/FANUC_ARC_Mate_100iD.d.ts +0 -0
  201. /package/dist/{components → src/components}/robots/FANUC_ARC_Mate_120iD.d.ts +0 -0
  202. /package/dist/{components → src/components}/robots/FANUC_CRX10iA.d.ts +0 -0
  203. /package/dist/{components → src/components}/robots/FANUC_CRX20iAL.d.ts +0 -0
  204. /package/dist/{components → src/components}/robots/FANUC_CRX25iA.d.ts +0 -0
  205. /package/dist/{components → src/components}/robots/FANUC_CRX25iAL.d.ts +0 -0
  206. /package/dist/{components → src/components}/robots/KUKA_KR210_R2700.d.ts +0 -0
  207. /package/dist/{components → src/components}/robots/KUKA_KR270_R2700.d.ts +0 -0
  208. /package/dist/{components → src/components}/robots/Robot.d.ts +0 -0
  209. /package/dist/{components → src/components}/robots/RobotAnimator.d.ts +0 -0
  210. /package/dist/{components → src/components}/robots/UniversalRobots_UR10.d.ts +0 -0
  211. /package/dist/{components → src/components}/robots/UniversalRobots_UR10e.d.ts +0 -0
  212. /package/dist/{components → src/components}/robots/UniversalRobots_UR3.d.ts +0 -0
  213. /package/dist/{components → src/components}/robots/UniversalRobots_UR3e.d.ts +0 -0
  214. /package/dist/{components → src/components}/robots/UniversalRobots_UR5.d.ts +0 -0
  215. /package/dist/{components → src/components}/robots/UniversalRobots_UR5e.d.ts +0 -0
  216. /package/dist/{components → src/components}/robots/Yaskawa_AR1440.d.ts +0 -0
  217. /package/dist/{components → src/components}/robots/Yaskawa_AR1730.d.ts +0 -0
  218. /package/dist/{components → src/components}/robots/Yaskawa_AR2010.d.ts +0 -0
  219. /package/dist/{components → src/components}/robots/Yaskawa_AR3120.d.ts +0 -0
  220. /package/dist/{components → src/components}/robots/Yaskawa_AR900.d.ts +0 -0
  221. /package/dist/{components → src/components}/utils/converters.d.ts +0 -0
  222. /package/dist/{components → src/components}/utils/errorHandling.d.ts +0 -0
  223. /package/dist/{components → src/components}/utils/hooks.d.ts +0 -0
  224. /package/dist/{components → src/components}/utils/robotTreeQuery.d.ts +0 -0
  225. /package/dist/{components → src/components}/wandelscript-editor/WandelscriptEditor.d.ts +0 -0
  226. /package/dist/{components → src/components}/wandelscript-editor/wandelscript.tmLanguage.d.ts +0 -0
  227. /package/dist/{i18n → src/i18n}/config.d.ts +0 -0
  228. /package/dist/{icons → src/icons}/index.d.ts +0 -0
  229. /package/dist/{themes → src/themes}/color.d.ts +0 -0
  230. /package/dist/{themes → src/themes}/theming.d.ts +0 -0
  231. /package/dist/{themes → stories}/novaTheme.stories.d.ts +0 -0
@@ -8,6 +8,7 @@ import {
8
8
  Typography,
9
9
  } from "@mui/material"
10
10
  import { observer } from "mobx-react-lite"
11
+ import { externalizeComponent } from "../../externalizeComponent"
11
12
 
12
13
  function getBaseUrl(): string {
13
14
  const currentUrl = window.location.href
@@ -17,70 +18,77 @@ function getBaseUrl(): string {
17
18
  )
18
19
  }
19
20
 
20
- export const NoMotionGroupModal = observer((baseUrl: string = getBaseUrl()) => {
21
- return (
22
- <Dialog
23
- aria-labelledby="no-motion-group-modal-title"
24
- open={true}
25
- fullWidth
26
- sx={{
27
- "& .MuiModal-backdrop": {
28
- backdropFilter: "blur(10px)",
29
- },
30
- "& .MuiDialog-paper": {
31
- "::before": {
32
- content: '""',
33
- height: "8px",
34
- width: "100%",
35
- background: "linear-gradient(90deg, #FF0E65 0%, #47D3FF 100%)",
36
- },
37
- background: "#101629",
38
- },
39
- }}
40
- >
41
- <DialogTitle id="no-motion-group-modal-title">
42
- No motion group found
43
- </DialogTitle>
44
-
45
- <DialogContent
21
+ export const NoMotionGroupModal = externalizeComponent(
22
+ observer((baseUrl: string = getBaseUrl()) => {
23
+ return (
24
+ <Dialog
25
+ aria-labelledby="no-motion-group-modal-title"
26
+ open={true}
27
+ fullWidth
46
28
  sx={{
47
- marginTop: "3rem",
48
- marginBottom: "1.5rem",
49
- textAlign: "center",
29
+ "& .MuiModal-backdrop": {
30
+ backdropFilter: "blur(10px)",
31
+ },
32
+ "& .MuiDialog-paper": {
33
+ "::before": {
34
+ content: '""',
35
+ height: "8px",
36
+ width: "100%",
37
+ background: "linear-gradient(90deg, #FF0E65 0%, #47D3FF 100%)",
38
+ },
39
+ background: "#101629",
40
+ },
50
41
  }}
51
42
  >
52
- <Typography color="#fff">Found no devices to connect to.</Typography>
53
- <Typography color="#fff">
54
- Please ensure a motion group has been created.
55
- </Typography>
56
- </DialogContent>
43
+ <DialogTitle id="no-motion-group-modal-title">
44
+ No motion group found
45
+ </DialogTitle>
57
46
 
58
- <DialogActions>
59
- <Stack width="100%" maxWidth="300px" margin="auto" marginBottom="2rem">
60
- <Button
61
- href={`${baseUrl}/settings`}
62
- variant="contained"
63
- sx={{
64
- borderRadius: "8px",
65
- width: "100%",
66
- }}
67
- >
68
- Go to settings app
69
- </Button>
70
- <Button
71
- href={`${baseUrl}`}
72
- variant="text"
73
- sx={{
74
- marginTop: "1rem",
75
- color: "#fff",
76
- textDecoration: "underline",
77
- fontSize: "0.75rem",
78
- }}
47
+ <DialogContent
48
+ sx={{
49
+ marginTop: "3rem",
50
+ marginBottom: "1.5rem",
51
+ textAlign: "center",
52
+ }}
53
+ >
54
+ <Typography color="#fff">Found no devices to connect to.</Typography>
55
+ <Typography color="#fff">
56
+ Please ensure a motion group has been created.
57
+ </Typography>
58
+ </DialogContent>
59
+
60
+ <DialogActions>
61
+ <Stack
62
+ width="100%"
63
+ maxWidth="300px"
64
+ margin="auto"
65
+ marginBottom="2rem"
79
66
  >
80
- Back to Homescreen
81
- </Button>
82
- </Stack>
83
- </DialogActions>
84
- </Dialog>
85
- )
86
- })
67
+ <Button
68
+ href={`${baseUrl}/settings`}
69
+ variant="contained"
70
+ sx={{
71
+ borderRadius: "8px",
72
+ width: "100%",
73
+ }}
74
+ >
75
+ Go to settings app
76
+ </Button>
77
+ <Button
78
+ href={`${baseUrl}`}
79
+ variant="text"
80
+ sx={{
81
+ marginTop: "1rem",
82
+ color: "#fff",
83
+ textDecoration: "underline",
84
+ fontSize: "0.75rem",
85
+ }}
86
+ >
87
+ Back to Homescreen
88
+ </Button>
89
+ </Stack>
90
+ </DialogActions>
91
+ </Dialog>
92
+ )
93
+ }),
94
+ )
@@ -31,6 +31,7 @@ import { DHRobot } from "./DHRobot"
31
31
  import * as THREE from "three"
32
32
  import { ErrorBoundary } from "react-error-boundary"
33
33
  import ConsoleFilter from "../ConsoleFilter"
34
+ import { externalizeComponent } from "../../externalizeComponent"
34
35
 
35
36
  export type DHRobotProps = {
36
37
  rapidlyChangingMotionState: MotionGroupStateResponse
@@ -54,201 +55,193 @@ export function defaultGetModel(modelFromController: string): string {
54
55
  return `https://cdn.jsdelivr.net/gh/wandelbotsgmbh/wandelbots-js-react-components/public/models/${modelFromController}.glb`
55
56
  }
56
57
 
57
- export function SupportedRobot({
58
- rapidlyChangingMotionState,
59
- modelFromController,
60
- dhParameters,
61
- getModel = defaultGetModel,
62
- isGhost = false,
63
- ...props
64
- }: SupportedRobotProps) {
65
- let Robot
58
+ export const SupportedRobot = externalizeComponent(
59
+ ({
60
+ rapidlyChangingMotionState,
61
+ modelFromController,
62
+ dhParameters,
63
+ getModel = defaultGetModel,
64
+ isGhost = false,
65
+ ...props
66
+ }: SupportedRobotProps) => {
67
+ let Robot
66
68
 
67
- const robotRef = useRef<THREE.Group>(new THREE.Group())
69
+ const robotRef = useRef<THREE.Group>(new THREE.Group())
68
70
 
69
- const setRobotRef = useCallback(
70
- (instance: THREE.Group | null) => {
71
- if (instance !== null) {
72
- robotRef.current = instance
73
- console.log("robotRef.current", robotRef.current)
74
- if (
75
- isGhost &&
76
- robotRef.current &&
77
- robotRef.current.children.length > 0
78
- ) {
79
- addGhosts()
71
+ const setRobotRef = useCallback(
72
+ (instance: THREE.Group | null) => {
73
+ if (instance !== null) {
74
+ robotRef.current = instance
75
+ console.log("robotRef.current", robotRef.current)
76
+ if (
77
+ isGhost &&
78
+ robotRef.current &&
79
+ robotRef.current.children.length > 0
80
+ ) {
81
+ addGhosts()
82
+ }
80
83
  }
81
- }
82
- },
83
- [isGhost],
84
- )
84
+ },
85
+ [isGhost],
86
+ )
85
87
 
86
- const addGhosts = () => {
87
- if (robotRef.current && !robotRef.current.userData.ghostsCreated) {
88
- robotRef.current.traverse((obj) => {
89
- if (obj instanceof THREE.Mesh && !obj.userData.isGhost) {
90
- if (obj.material instanceof THREE.Material) {
91
- obj.material.colorWrite = false
92
- }
88
+ const addGhosts = () => {
89
+ if (robotRef.current && !robotRef.current.userData.ghostsCreated) {
90
+ robotRef.current.traverse((obj) => {
91
+ if (obj instanceof THREE.Mesh && !obj.userData.isGhost) {
92
+ if (obj.material instanceof THREE.Material) {
93
+ obj.material.colorWrite = false
94
+ }
93
95
 
94
- // Create a clone of the mesh
95
- const depth = obj.clone()
96
- const ghost = obj.clone()
96
+ // Create a clone of the mesh
97
+ const depth = obj.clone()
98
+ const ghost = obj.clone()
97
99
 
98
- depth.material = new THREE.MeshStandardMaterial({
99
- depthTest: true,
100
- depthWrite: true,
101
- colorWrite: false,
102
- polygonOffset: true,
103
- polygonOffsetFactor: 1,
104
- })
105
- depth.userData.isGhost = true
100
+ depth.material = new THREE.MeshStandardMaterial({
101
+ depthTest: true,
102
+ depthWrite: true,
103
+ colorWrite: false,
104
+ polygonOffset: true,
105
+ polygonOffsetFactor: 1,
106
+ })
107
+ depth.userData.isGhost = true
106
108
 
107
- // Set the material for the ghost mesh
108
- ghost.material = new THREE.MeshStandardMaterial({
109
- color: "#D91433",
110
- opacity: 0.3,
111
- depthTest: true,
112
- depthWrite: false,
113
- transparent: true,
114
- polygonOffset: true,
115
- polygonOffsetFactor: -1,
116
- })
117
- ghost.userData.isGhost = true
109
+ // Set the material for the ghost mesh
110
+ ghost.material = new THREE.MeshStandardMaterial({
111
+ color: "#D91433",
112
+ opacity: 0.3,
113
+ depthTest: true,
114
+ depthWrite: false,
115
+ transparent: true,
116
+ polygonOffset: true,
117
+ polygonOffsetFactor: -1,
118
+ })
119
+ ghost.userData.isGhost = true
118
120
 
119
- if (obj.parent) {
120
- obj.parent.add(depth)
121
- obj.parent.add(ghost)
121
+ if (obj.parent) {
122
+ obj.parent.add(depth)
123
+ obj.parent.add(ghost)
124
+ }
122
125
  }
123
- }
124
- })
125
- robotRef.current.userData.ghostsCreated = true
126
+ })
127
+ robotRef.current.userData.ghostsCreated = true
128
+ }
126
129
  }
127
- }
128
130
 
129
- const removeGhosts = () => {
130
- if (robotRef.current) {
131
- const objectsToRemove: THREE.Object3D[] = []
131
+ const removeGhosts = () => {
132
+ if (robotRef.current) {
133
+ const objectsToRemove: THREE.Object3D[] = []
132
134
 
133
- robotRef.current.traverse((obj) => {
134
- if (obj instanceof THREE.Mesh) {
135
- if (obj.material instanceof THREE.Material) {
136
- obj.material.colorWrite = true
135
+ robotRef.current.traverse((obj) => {
136
+ if (obj instanceof THREE.Mesh) {
137
+ if (obj.material instanceof THREE.Material) {
138
+ obj.material.colorWrite = true
139
+ }
137
140
  }
138
- }
139
141
 
140
- if (
141
- obj instanceof THREE.Mesh &&
142
- obj.userData !== undefined &&
143
- obj.userData &&
144
- obj.userData.isGhost !== undefined &&
145
- obj.userData.isGhost
146
- ) {
147
- objectsToRemove.push(obj)
148
- }
149
- })
142
+ if (
143
+ obj instanceof THREE.Mesh &&
144
+ obj.userData !== undefined &&
145
+ obj.userData &&
146
+ obj.userData.isGhost !== undefined &&
147
+ obj.userData.isGhost
148
+ ) {
149
+ objectsToRemove.push(obj)
150
+ }
151
+ })
150
152
 
151
- objectsToRemove.forEach((obj) => {
152
- if (obj.parent) {
153
- obj.parent.remove(obj)
154
- }
155
- })
153
+ objectsToRemove.forEach((obj) => {
154
+ if (obj.parent) {
155
+ obj.parent.remove(obj)
156
+ }
157
+ })
156
158
 
157
- robotRef.current.userData.ghostsCreated = false
159
+ robotRef.current.userData.ghostsCreated = false
160
+ }
158
161
  }
159
- }
160
162
 
161
- useEffect(() => {
162
- if (isGhost) {
163
- addGhosts()
164
- } else {
165
- removeGhosts()
166
- }
167
- }, [isGhost])
163
+ useEffect(() => {
164
+ if (isGhost) {
165
+ addGhosts()
166
+ } else {
167
+ removeGhosts()
168
+ }
169
+ }, [isGhost])
168
170
 
169
- switch (modelFromController) {
170
- case "UniversalRobots_UR3":
171
- Robot = UniversalRobots_UR3
172
- break
173
- case "UniversalRobots_UR3e":
174
- Robot = UniversalRobots_UR3e
175
- break
176
- case "UniversalRobots_UR5":
177
- Robot = UniversalRobots_UR5
178
- break
179
- case "UniversalRobots_UR5e":
180
- Robot = UniversalRobots_UR5e
181
- break
182
- case "UniversalRobots_UR10":
183
- Robot = UniversalRobots_UR10
184
- break
185
- case "UniversalRobots_UR10e":
186
- Robot = UniversalRobots_UR10e
187
- break
188
- case "Yaskawa_AR900":
189
- Robot = Yaskawa_AR900
190
- break
191
- case "Yaskawa_GP7":
192
- Robot = Yaskawa_AR900
193
- break
194
- case "Yaskawa_AR1440":
195
- Robot = Yaskawa_AR1440
196
- break
197
- case "Yaskawa_AR1730":
198
- Robot = Yaskawa_AR1730
199
- break
200
- case "Yaskawa_AR2010":
201
- Robot = Yaskawa_AR2010
202
- break
203
- case "Yaskawa_AR3120":
204
- Robot = Yaskawa_AR3120
205
- break
206
- case "FANUC_CRX10iA":
207
- Robot = FANUC_CRX10iA
208
- break
209
- case "FANUC_CRX20iAL":
210
- Robot = FANUC_CRX20iAL
211
- break
212
- case "FANUC_CRX25iA":
213
- Robot = FANUC_CRX25iA
214
- break
215
- case "FANUC_CRX25iAL":
216
- Robot = FANUC_CRX25iAL
217
- break
218
- case "FANUC_ARC_Mate_120iD":
219
- Robot = FANUC_ARC_Mate_120iD
220
- break
221
- case "FANUC_ARC_Mate_120iD35":
222
- Robot = FANUC_ARC_Mate_120iD
223
- break
224
- case "FANUC_ARC_Mate_100iD":
225
- Robot = FANUC_ARC_Mate_100iD
226
- break
227
- case "KUKA_KR210_R2700":
228
- Robot = KUKA_KR210_R2700
229
- break
230
- case "KUKA_KR270_R2700":
231
- Robot = KUKA_KR270_R2700
232
- break
233
- case "ABB_1200_07_7":
234
- Robot = ABB_1200_07_7
235
- break
236
- default:
237
- console.warn(`Unknown robot type: ${modelFromController}`)
238
- Robot = DHRobot
239
- }
171
+ switch (modelFromController) {
172
+ case "UniversalRobots_UR3":
173
+ Robot = UniversalRobots_UR3
174
+ break
175
+ case "UniversalRobots_UR3e":
176
+ Robot = UniversalRobots_UR3e
177
+ break
178
+ case "UniversalRobots_UR5":
179
+ Robot = UniversalRobots_UR5
180
+ break
181
+ case "UniversalRobots_UR5e":
182
+ Robot = UniversalRobots_UR5e
183
+ break
184
+ case "UniversalRobots_UR10":
185
+ Robot = UniversalRobots_UR10
186
+ break
187
+ case "UniversalRobots_UR10e":
188
+ Robot = UniversalRobots_UR10e
189
+ break
190
+ case "Yaskawa_AR900":
191
+ Robot = Yaskawa_AR900
192
+ break
193
+ case "Yaskawa_GP7":
194
+ Robot = Yaskawa_AR900
195
+ break
196
+ case "Yaskawa_AR1440":
197
+ Robot = Yaskawa_AR1440
198
+ break
199
+ case "Yaskawa_AR1730":
200
+ Robot = Yaskawa_AR1730
201
+ break
202
+ case "Yaskawa_AR2010":
203
+ Robot = Yaskawa_AR2010
204
+ break
205
+ case "Yaskawa_AR3120":
206
+ Robot = Yaskawa_AR3120
207
+ break
208
+ case "FANUC_CRX10iA":
209
+ Robot = FANUC_CRX10iA
210
+ break
211
+ case "FANUC_CRX20iAL":
212
+ Robot = FANUC_CRX20iAL
213
+ break
214
+ case "FANUC_CRX25iA":
215
+ Robot = FANUC_CRX25iA
216
+ break
217
+ case "FANUC_CRX25iAL":
218
+ Robot = FANUC_CRX25iAL
219
+ break
220
+ case "FANUC_ARC_Mate_120iD":
221
+ Robot = FANUC_ARC_Mate_120iD
222
+ break
223
+ case "FANUC_ARC_Mate_120iD35":
224
+ Robot = FANUC_ARC_Mate_120iD
225
+ break
226
+ case "FANUC_ARC_Mate_100iD":
227
+ Robot = FANUC_ARC_Mate_100iD
228
+ break
229
+ case "KUKA_KR210_R2700":
230
+ Robot = KUKA_KR210_R2700
231
+ break
232
+ case "KUKA_KR270_R2700":
233
+ Robot = KUKA_KR270_R2700
234
+ break
235
+ case "ABB_1200_07_7":
236
+ Robot = ABB_1200_07_7
237
+ break
238
+ default:
239
+ console.warn(`Unknown robot type: ${modelFromController}`)
240
+ Robot = DHRobot
241
+ }
240
242
 
241
- return (
242
- <ErrorBoundary
243
- fallback={
244
- <DHRobot
245
- rapidlyChangingMotionState={rapidlyChangingMotionState}
246
- dhParameters={dhParameters}
247
- {...props}
248
- />
249
- }
250
- >
251
- <Suspense
243
+ return (
244
+ <ErrorBoundary
252
245
  fallback={
253
246
  <DHRobot
254
247
  rapidlyChangingMotionState={rapidlyChangingMotionState}
@@ -257,16 +250,26 @@ export function SupportedRobot({
257
250
  />
258
251
  }
259
252
  >
260
- <group ref={setRobotRef}>
261
- <Robot
262
- rapidlyChangingMotionState={rapidlyChangingMotionState}
263
- modelURL={getModel(modelFromController)}
264
- dhParameters={dhParameters}
265
- {...props}
266
- />
267
- </group>
268
- </Suspense>
269
- <ConsoleFilter />
270
- </ErrorBoundary>
271
- )
272
- }
253
+ <Suspense
254
+ fallback={
255
+ <DHRobot
256
+ rapidlyChangingMotionState={rapidlyChangingMotionState}
257
+ dhParameters={dhParameters}
258
+ {...props}
259
+ />
260
+ }
261
+ >
262
+ <group ref={setRobotRef}>
263
+ <Robot
264
+ rapidlyChangingMotionState={rapidlyChangingMotionState}
265
+ modelURL={getModel(modelFromController)}
266
+ dhParameters={dhParameters}
267
+ {...props}
268
+ />
269
+ </group>
270
+ </Suspense>
271
+ <ConsoleFilter />
272
+ </ErrorBoundary>
273
+ )
274
+ },
275
+ )