@wandelbots/wandelbots-js-react-components 5.4.2 → 5.5.0

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 (668) hide show
  1. package/dist/3d.cjs +2 -0
  2. package/dist/3d.cjs.map +1 -0
  3. package/dist/3d.js +31 -0
  4. package/dist/3d.js.map +1 -0
  5. package/dist/components/3d-viewport/CoordinateSystemTransform.d.ts +1 -0
  6. package/dist/components/3d-viewport/CoordinateSystemTransform.d.ts.map +1 -1
  7. package/dist/components/3d-viewport/PresetEnvironment.cjs +2 -0
  8. package/dist/components/3d-viewport/PresetEnvironment.cjs.map +1 -0
  9. package/dist/components/3d-viewport/PresetEnvironment.d.ts +1 -0
  10. package/dist/components/3d-viewport/PresetEnvironment.d.ts.map +1 -1
  11. package/dist/components/3d-viewport/PresetEnvironment.js +81 -0
  12. package/dist/components/3d-viewport/PresetEnvironment.js.map +1 -0
  13. package/dist/components/3d-viewport/SafetyZonesRenderer.cjs +2 -0
  14. package/dist/components/3d-viewport/SafetyZonesRenderer.cjs.map +1 -0
  15. package/dist/components/3d-viewport/SafetyZonesRenderer.d.ts +1 -0
  16. package/dist/components/3d-viewport/SafetyZonesRenderer.d.ts.map +1 -1
  17. package/dist/components/3d-viewport/SafetyZonesRenderer.js +131 -0
  18. package/dist/components/3d-viewport/SafetyZonesRenderer.js.map +1 -0
  19. package/dist/components/3d-viewport/TrajectoryRenderer.cjs +2 -0
  20. package/dist/components/3d-viewport/TrajectoryRenderer.cjs.map +1 -0
  21. package/dist/components/3d-viewport/TrajectoryRenderer.d.ts +1 -0
  22. package/dist/components/3d-viewport/TrajectoryRenderer.d.ts.map +1 -1
  23. package/dist/components/3d-viewport/TrajectoryRenderer.js +31 -0
  24. package/dist/components/3d-viewport/TrajectoryRenderer.js.map +1 -0
  25. package/dist/components/3d-viewport/collider/ColliderCollection.cjs +2 -0
  26. package/dist/components/3d-viewport/collider/ColliderCollection.cjs.map +1 -0
  27. package/dist/components/3d-viewport/collider/ColliderCollection.js +22 -0
  28. package/dist/components/3d-viewport/collider/ColliderCollection.js.map +1 -0
  29. package/dist/components/3d-viewport/collider/ColliderElement.cjs +2 -0
  30. package/dist/components/3d-viewport/collider/ColliderElement.cjs.map +1 -0
  31. package/dist/components/3d-viewport/collider/ColliderElement.js +29 -0
  32. package/dist/components/3d-viewport/collider/ColliderElement.js.map +1 -0
  33. package/dist/components/3d-viewport/collider/CollisionSceneRenderer.cjs +2 -0
  34. package/dist/components/3d-viewport/collider/CollisionSceneRenderer.cjs.map +1 -0
  35. package/dist/components/3d-viewport/collider/CollisionSceneRenderer.js +19 -0
  36. package/dist/components/3d-viewport/collider/CollisionSceneRenderer.js.map +1 -0
  37. package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.cjs +2 -0
  38. package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.cjs.map +1 -0
  39. package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.js +43 -0
  40. package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.js.map +1 -0
  41. package/dist/components/AppHeader.cjs +2 -0
  42. package/dist/components/AppHeader.cjs.map +1 -0
  43. package/dist/components/AppHeader.d.ts +1 -0
  44. package/dist/components/AppHeader.d.ts.map +1 -1
  45. package/dist/components/AppHeader.js +139 -0
  46. package/dist/components/AppHeader.js.map +1 -0
  47. package/dist/components/ConsoleFilter.cjs +2 -0
  48. package/dist/components/ConsoleFilter.cjs.map +1 -0
  49. package/dist/components/ConsoleFilter.js +13 -0
  50. package/dist/components/ConsoleFilter.js.map +1 -0
  51. package/dist/components/CopyableText.cjs +2 -0
  52. package/dist/components/CopyableText.cjs.map +1 -0
  53. package/dist/components/CopyableText.d.ts +1 -0
  54. package/dist/components/CopyableText.d.ts.map +1 -1
  55. package/dist/components/CopyableText.js +71 -0
  56. package/dist/components/CopyableText.js.map +1 -0
  57. package/dist/components/CycleTimer/CycleTimer.d.ts +1 -0
  58. package/dist/components/CycleTimer/CycleTimer.d.ts.map +1 -1
  59. package/dist/components/CycleTimer/DefaultVariant.cjs +2 -0
  60. package/dist/components/CycleTimer/DefaultVariant.cjs.map +1 -0
  61. package/dist/components/CycleTimer/DefaultVariant.js +301 -0
  62. package/dist/components/CycleTimer/DefaultVariant.js.map +1 -0
  63. package/dist/components/CycleTimer/SmallVariant.cjs +2 -0
  64. package/dist/components/CycleTimer/SmallVariant.cjs.map +1 -0
  65. package/dist/components/CycleTimer/SmallVariant.js +150 -0
  66. package/dist/components/CycleTimer/SmallVariant.js.map +1 -0
  67. package/dist/components/CycleTimer/index.cjs +2 -0
  68. package/dist/components/CycleTimer/index.cjs.map +1 -0
  69. package/dist/components/CycleTimer/index.d.ts +1 -0
  70. package/dist/components/CycleTimer/index.d.ts.map +1 -1
  71. package/dist/components/CycleTimer/index.js +86 -0
  72. package/dist/components/CycleTimer/index.js.map +1 -0
  73. package/dist/components/CycleTimer/useAnimations.cjs +2 -0
  74. package/dist/components/CycleTimer/useAnimations.cjs.map +1 -0
  75. package/dist/components/CycleTimer/useAnimations.js +105 -0
  76. package/dist/components/CycleTimer/useAnimations.js.map +1 -0
  77. package/dist/components/CycleTimer/useTimerLogic.cjs +2 -0
  78. package/dist/components/CycleTimer/useTimerLogic.cjs.map +1 -0
  79. package/dist/components/CycleTimer/useTimerLogic.js +191 -0
  80. package/dist/components/CycleTimer/useTimerLogic.js.map +1 -0
  81. package/dist/components/CycleTimer/utils.cjs +2 -0
  82. package/dist/components/CycleTimer/utils.cjs.map +1 -0
  83. package/dist/components/CycleTimer/utils.js +20 -0
  84. package/dist/components/CycleTimer/utils.js.map +1 -0
  85. package/dist/components/CycleTimer.cjs +2 -0
  86. package/dist/components/CycleTimer.cjs.map +1 -0
  87. package/dist/components/CycleTimer.d.ts +1 -0
  88. package/dist/components/CycleTimer.d.ts.map +1 -1
  89. package/dist/components/CycleTimer.js +6 -0
  90. package/dist/components/CycleTimer.js.map +1 -0
  91. package/dist/components/DataGrid.cjs +2 -0
  92. package/dist/components/DataGrid.cjs.map +1 -0
  93. package/dist/components/DataGrid.d.ts +1 -0
  94. package/dist/components/DataGrid.d.ts.map +1 -1
  95. package/dist/components/DataGrid.js +535 -0
  96. package/dist/components/DataGrid.js.map +1 -0
  97. package/dist/components/LoadingCover.cjs +2 -0
  98. package/dist/components/LoadingCover.cjs.map +1 -0
  99. package/dist/components/LoadingCover.d.ts +1 -0
  100. package/dist/components/LoadingCover.d.ts.map +1 -1
  101. package/dist/components/LoadingCover.js +77 -0
  102. package/dist/components/LoadingCover.js.map +1 -0
  103. package/dist/components/LogPanel.cjs +2 -0
  104. package/dist/components/LogPanel.cjs.map +1 -0
  105. package/dist/components/LogPanel.d.ts +1 -0
  106. package/dist/components/LogPanel.d.ts.map +1 -1
  107. package/dist/components/LogPanel.js +34 -0
  108. package/dist/components/LogPanel.js.map +1 -0
  109. package/dist/components/LogStore.cjs +2 -0
  110. package/dist/components/LogStore.cjs.map +1 -0
  111. package/dist/components/LogStore.d.ts +1 -0
  112. package/dist/components/LogStore.d.ts.map +1 -1
  113. package/dist/components/LogStore.js +33 -0
  114. package/dist/components/LogStore.js.map +1 -0
  115. package/dist/components/LogViewer.cjs +2 -0
  116. package/dist/components/LogViewer.cjs.map +1 -0
  117. package/dist/components/LogViewer.d.ts +1 -0
  118. package/dist/components/LogViewer.d.ts.map +1 -1
  119. package/dist/components/LogViewer.js +299 -0
  120. package/dist/components/LogViewer.js.map +1 -0
  121. package/dist/components/ProgramControl.cjs +2 -0
  122. package/dist/components/ProgramControl.cjs.map +1 -0
  123. package/dist/components/ProgramControl.d.ts +1 -0
  124. package/dist/components/ProgramControl.d.ts.map +1 -1
  125. package/dist/components/ProgramControl.js +147 -0
  126. package/dist/components/ProgramControl.js.map +1 -0
  127. package/dist/components/ProgramStateIndicator.cjs +2 -0
  128. package/dist/components/ProgramStateIndicator.cjs.map +1 -0
  129. package/dist/components/ProgramStateIndicator.d.ts +1 -0
  130. package/dist/components/ProgramStateIndicator.d.ts.map +1 -1
  131. package/dist/components/ProgramStateIndicator.js +140 -0
  132. package/dist/components/ProgramStateIndicator.js.map +1 -0
  133. package/dist/components/RobotCard.cjs +2 -0
  134. package/dist/components/RobotCard.cjs.map +1 -0
  135. package/dist/components/RobotCard.d.ts +1 -0
  136. package/dist/components/RobotCard.d.ts.map +1 -1
  137. package/dist/components/RobotCard.js +360 -0
  138. package/dist/components/RobotCard.js.map +1 -0
  139. package/dist/components/RobotListItem.cjs +2 -0
  140. package/dist/components/RobotListItem.cjs.map +1 -0
  141. package/dist/components/RobotListItem.d.ts +1 -0
  142. package/dist/components/RobotListItem.d.ts.map +1 -1
  143. package/dist/components/RobotListItem.js +122 -0
  144. package/dist/components/RobotListItem.js.map +1 -0
  145. package/dist/components/RobotSetupReadinessIndicator.cjs +2 -0
  146. package/dist/components/RobotSetupReadinessIndicator.cjs.map +1 -0
  147. package/dist/components/RobotSetupReadinessIndicator.d.ts +1 -0
  148. package/dist/components/RobotSetupReadinessIndicator.d.ts.map +1 -1
  149. package/dist/components/RobotSetupReadinessIndicator.js +122 -0
  150. package/dist/components/RobotSetupReadinessIndicator.js.map +1 -0
  151. package/dist/components/SelectableFab.cjs +2 -0
  152. package/dist/components/SelectableFab.cjs.map +1 -0
  153. package/dist/components/SelectableFab.d.ts +1 -1
  154. package/dist/components/SelectableFab.d.ts.map +1 -1
  155. package/dist/components/SelectableFab.js +51 -0
  156. package/dist/components/SelectableFab.js.map +1 -0
  157. package/dist/components/TabBar.cjs +2 -0
  158. package/dist/components/TabBar.cjs.map +1 -0
  159. package/dist/components/TabBar.d.ts +1 -0
  160. package/dist/components/TabBar.d.ts.map +1 -1
  161. package/dist/components/TabBar.js +212 -0
  162. package/dist/components/TabBar.js.map +1 -0
  163. package/dist/components/ThemeSelect.d.ts +1 -1
  164. package/dist/components/ThemeSelect.d.ts.map +1 -1
  165. package/dist/components/Timer/Timer.d.ts +1 -0
  166. package/dist/components/Timer/Timer.d.ts.map +1 -1
  167. package/dist/components/Timer/TimerDefaultVariant.cjs +2 -0
  168. package/dist/components/Timer/TimerDefaultVariant.cjs.map +1 -0
  169. package/dist/components/Timer/TimerDefaultVariant.js +136 -0
  170. package/dist/components/Timer/TimerDefaultVariant.js.map +1 -0
  171. package/dist/components/Timer/TimerSmallVariant.cjs +2 -0
  172. package/dist/components/Timer/TimerSmallVariant.cjs.map +1 -0
  173. package/dist/components/Timer/TimerSmallVariant.js +128 -0
  174. package/dist/components/Timer/TimerSmallVariant.js.map +1 -0
  175. package/dist/components/Timer/index.cjs +2 -0
  176. package/dist/components/Timer/index.cjs.map +1 -0
  177. package/dist/components/Timer/index.d.ts +1 -0
  178. package/dist/components/Timer/index.d.ts.map +1 -1
  179. package/dist/components/Timer/index.js +68 -0
  180. package/dist/components/Timer/index.js.map +1 -0
  181. package/dist/components/Timer/useTimerAnimations.cjs +2 -0
  182. package/dist/components/Timer/useTimerAnimations.cjs.map +1 -0
  183. package/dist/components/Timer/useTimerAnimations.js +48 -0
  184. package/dist/components/Timer/useTimerAnimations.js.map +1 -0
  185. package/dist/components/Timer/useTimerLogic.cjs +2 -0
  186. package/dist/components/Timer/useTimerLogic.cjs.map +1 -0
  187. package/dist/components/Timer/useTimerLogic.js +113 -0
  188. package/dist/components/Timer/useTimerLogic.js.map +1 -0
  189. package/dist/components/Timer/utils.cjs +2 -0
  190. package/dist/components/Timer/utils.cjs.map +1 -0
  191. package/dist/components/Timer/utils.js +19 -0
  192. package/dist/components/Timer/utils.js.map +1 -0
  193. package/dist/components/Timer.cjs +2 -0
  194. package/dist/components/Timer.cjs.map +1 -0
  195. package/dist/components/Timer.d.ts +4 -0
  196. package/dist/components/Timer.d.ts.map +1 -0
  197. package/dist/components/Timer.js +6 -0
  198. package/dist/components/Timer.js.map +1 -0
  199. package/dist/components/TransparentOverlay.d.ts +1 -0
  200. package/dist/components/TransparentOverlay.d.ts.map +1 -1
  201. package/dist/components/VelocitySlider.cjs +2 -0
  202. package/dist/components/VelocitySlider.cjs.map +1 -0
  203. package/dist/components/VelocitySlider.d.ts +1 -1
  204. package/dist/components/VelocitySlider.d.ts.map +1 -1
  205. package/dist/components/VelocitySlider.js +97 -0
  206. package/dist/components/VelocitySlider.js.map +1 -0
  207. package/dist/components/experimental/utils/AdornedSelect.cjs +2 -0
  208. package/dist/components/experimental/utils/AdornedSelect.cjs.map +1 -0
  209. package/dist/components/experimental/utils/AdornedSelect.js +35 -0
  210. package/dist/components/experimental/utils/AdornedSelect.js.map +1 -0
  211. package/dist/components/jogging/JoggingBlocked.cjs +2 -0
  212. package/dist/components/jogging/JoggingBlocked.cjs.map +1 -0
  213. package/dist/components/jogging/JoggingBlocked.js +46 -0
  214. package/dist/components/jogging/JoggingBlocked.js.map +1 -0
  215. package/dist/components/jogging/JoggingCartesianAxisControl.cjs +2 -0
  216. package/dist/components/jogging/JoggingCartesianAxisControl.cjs.map +1 -0
  217. package/dist/components/jogging/JoggingCartesianAxisControl.d.ts +1 -1
  218. package/dist/components/jogging/JoggingCartesianAxisControl.d.ts.map +1 -1
  219. package/dist/components/jogging/JoggingCartesianAxisControl.js +186 -0
  220. package/dist/components/jogging/JoggingCartesianAxisControl.js.map +1 -0
  221. package/dist/components/jogging/JoggingCartesianTab.cjs +2 -0
  222. package/dist/components/jogging/JoggingCartesianTab.cjs.map +1 -0
  223. package/dist/components/jogging/JoggingCartesianTab.js +267 -0
  224. package/dist/components/jogging/JoggingCartesianTab.js.map +1 -0
  225. package/dist/components/jogging/JoggingJointLimitDetector.cjs +2 -0
  226. package/dist/components/jogging/JoggingJointLimitDetector.cjs.map +1 -0
  227. package/dist/components/jogging/JoggingJointLimitDetector.js +42 -0
  228. package/dist/components/jogging/JoggingJointLimitDetector.js.map +1 -0
  229. package/dist/components/jogging/JoggingJointTab.cjs +2 -0
  230. package/dist/components/jogging/JoggingJointTab.cjs.map +1 -0
  231. package/dist/components/jogging/JoggingJointTab.js +114 -0
  232. package/dist/components/jogging/JoggingJointTab.js.map +1 -0
  233. package/dist/components/jogging/JoggingJointValueControl.cjs +2 -0
  234. package/dist/components/jogging/JoggingJointValueControl.cjs.map +1 -0
  235. package/dist/components/jogging/JoggingJointValueControl.d.ts +1 -1
  236. package/dist/components/jogging/JoggingJointValueControl.d.ts.map +1 -1
  237. package/dist/components/jogging/JoggingJointValueControl.js +240 -0
  238. package/dist/components/jogging/JoggingJointValueControl.js.map +1 -0
  239. package/dist/components/jogging/JoggingOptions.cjs +2 -0
  240. package/dist/components/jogging/JoggingOptions.cjs.map +1 -0
  241. package/dist/components/jogging/JoggingOptions.js +117 -0
  242. package/dist/components/jogging/JoggingOptions.js.map +1 -0
  243. package/dist/components/jogging/JoggingPanel.cjs +2 -0
  244. package/dist/components/jogging/JoggingPanel.cjs.map +1 -0
  245. package/dist/components/jogging/JoggingPanel.d.ts +1 -0
  246. package/dist/components/jogging/JoggingPanel.d.ts.map +1 -1
  247. package/dist/components/jogging/JoggingPanel.js +121 -0
  248. package/dist/components/jogging/JoggingPanel.js.map +1 -0
  249. package/dist/components/jogging/JoggingStore.cjs +2 -0
  250. package/dist/components/jogging/JoggingStore.cjs.map +1 -0
  251. package/dist/components/jogging/JoggingStore.d.ts +1 -1
  252. package/dist/components/jogging/JoggingStore.d.ts.map +1 -1
  253. package/dist/components/jogging/JoggingStore.js +219 -0
  254. package/dist/components/jogging/JoggingStore.js.map +1 -0
  255. package/dist/components/jogging/JoggingToggleButtonGroup.cjs +2 -0
  256. package/dist/components/jogging/JoggingToggleButtonGroup.cjs.map +1 -0
  257. package/dist/components/jogging/JoggingToggleButtonGroup.js +29 -0
  258. package/dist/components/jogging/JoggingToggleButtonGroup.js.map +1 -0
  259. package/dist/components/jogging/JoggingVelocitySlider.cjs +2 -0
  260. package/dist/components/jogging/JoggingVelocitySlider.cjs.map +1 -0
  261. package/dist/components/jogging/JoggingVelocitySlider.js +40 -0
  262. package/dist/components/jogging/JoggingVelocitySlider.js.map +1 -0
  263. package/dist/components/jogging/PoseCartesianValues.cjs +2 -0
  264. package/dist/components/jogging/PoseCartesianValues.cjs.map +1 -0
  265. package/dist/components/jogging/PoseCartesianValues.d.ts +1 -0
  266. package/dist/components/jogging/PoseCartesianValues.d.ts.map +1 -1
  267. package/dist/components/jogging/PoseCartesianValues.js +48 -0
  268. package/dist/components/jogging/PoseCartesianValues.js.map +1 -0
  269. package/dist/components/jogging/PoseJointValues.cjs +2 -0
  270. package/dist/components/jogging/PoseJointValues.cjs.map +1 -0
  271. package/dist/components/jogging/PoseJointValues.d.ts +1 -0
  272. package/dist/components/jogging/PoseJointValues.d.ts.map +1 -1
  273. package/dist/components/jogging/PoseJointValues.js +47 -0
  274. package/dist/components/jogging/PoseJointValues.js.map +1 -0
  275. package/dist/components/modal/NoMotionGroupModal.cjs +2 -0
  276. package/dist/components/modal/NoMotionGroupModal.cjs.map +1 -0
  277. package/dist/components/modal/NoMotionGroupModal.d.ts +1 -0
  278. package/dist/components/modal/NoMotionGroupModal.d.ts.map +1 -1
  279. package/dist/components/modal/NoMotionGroupModal.js +92 -0
  280. package/dist/components/modal/NoMotionGroupModal.js.map +1 -0
  281. package/dist/components/robots/AxisConfig.cjs +2 -0
  282. package/dist/components/robots/AxisConfig.cjs.map +1 -0
  283. package/dist/components/robots/AxisConfig.js +5 -0
  284. package/dist/components/robots/AxisConfig.js.map +1 -0
  285. package/dist/components/robots/DHLinearAxis.cjs +2 -0
  286. package/dist/components/robots/DHLinearAxis.cjs.map +1 -0
  287. package/dist/components/robots/DHLinearAxis.d.ts +1 -0
  288. package/dist/components/robots/DHLinearAxis.d.ts.map +1 -1
  289. package/dist/components/robots/DHLinearAxis.js +92 -0
  290. package/dist/components/robots/DHLinearAxis.js.map +1 -0
  291. package/dist/components/robots/DHRobot.cjs +2 -0
  292. package/dist/components/robots/DHRobot.cjs.map +1 -0
  293. package/dist/components/robots/DHRobot.d.ts +1 -0
  294. package/dist/components/robots/DHRobot.d.ts.map +1 -1
  295. package/dist/components/robots/DHRobot.js +94 -0
  296. package/dist/components/robots/DHRobot.js.map +1 -0
  297. package/dist/components/robots/GenericRobot.cjs +2 -0
  298. package/dist/components/robots/GenericRobot.cjs.map +1 -0
  299. package/dist/components/robots/GenericRobot.d.ts +1 -0
  300. package/dist/components/robots/GenericRobot.d.ts.map +1 -1
  301. package/dist/components/robots/GenericRobot.js +91 -0
  302. package/dist/components/robots/GenericRobot.js.map +1 -0
  303. package/dist/components/robots/LinearAxis.cjs +2 -0
  304. package/dist/components/robots/LinearAxis.cjs.map +1 -0
  305. package/dist/components/robots/LinearAxis.d.ts +1 -0
  306. package/dist/components/robots/LinearAxis.d.ts.map +1 -1
  307. package/dist/components/robots/LinearAxis.js +42 -0
  308. package/dist/components/robots/LinearAxis.js.map +1 -0
  309. package/dist/components/robots/LinearAxisAnimator.cjs +2 -0
  310. package/dist/components/robots/LinearAxisAnimator.cjs.map +1 -0
  311. package/dist/components/robots/LinearAxisAnimator.js +66 -0
  312. package/dist/components/robots/LinearAxisAnimator.js.map +1 -0
  313. package/dist/components/robots/MotionGroupVisualizer.cjs +2 -0
  314. package/dist/components/robots/MotionGroupVisualizer.cjs.map +1 -0
  315. package/dist/components/robots/MotionGroupVisualizer.d.ts +1 -0
  316. package/dist/components/robots/MotionGroupVisualizer.d.ts.map +1 -1
  317. package/dist/components/robots/MotionGroupVisualizer.js +21 -0
  318. package/dist/components/robots/MotionGroupVisualizer.js.map +1 -0
  319. package/dist/components/robots/Robot.cjs +2 -0
  320. package/dist/components/robots/Robot.cjs.map +1 -0
  321. package/dist/components/robots/Robot.d.ts +1 -0
  322. package/dist/components/robots/Robot.d.ts.map +1 -1
  323. package/dist/components/robots/Robot.js +31 -0
  324. package/dist/components/robots/Robot.js.map +1 -0
  325. package/dist/components/robots/RobotAnimator.cjs +2 -0
  326. package/dist/components/robots/RobotAnimator.cjs.map +1 -0
  327. package/dist/components/robots/RobotAnimator.js +66 -0
  328. package/dist/components/robots/RobotAnimator.js.map +1 -0
  329. package/dist/components/robots/SupportedLinearAxis.cjs +2 -0
  330. package/dist/components/robots/SupportedLinearAxis.cjs.map +1 -0
  331. package/dist/components/robots/SupportedLinearAxis.d.ts +1 -0
  332. package/dist/components/robots/SupportedLinearAxis.d.ts.map +1 -1
  333. package/dist/components/robots/SupportedLinearAxis.js +82 -0
  334. package/dist/components/robots/SupportedLinearAxis.js.map +1 -0
  335. package/dist/components/robots/SupportedRobot.cjs +2 -0
  336. package/dist/components/robots/SupportedRobot.cjs.map +1 -0
  337. package/dist/components/robots/SupportedRobot.d.ts +1 -0
  338. package/dist/components/robots/SupportedRobot.d.ts.map +1 -1
  339. package/dist/components/robots/SupportedRobot.js +82 -0
  340. package/dist/components/robots/SupportedRobot.js.map +1 -0
  341. package/dist/components/robots/ghostStyle.cjs +2 -0
  342. package/dist/components/robots/ghostStyle.cjs.map +1 -0
  343. package/dist/components/robots/ghostStyle.js +40 -0
  344. package/dist/components/robots/ghostStyle.js.map +1 -0
  345. package/dist/components/robots/manufacturerHomePositions.cjs +2 -0
  346. package/dist/components/robots/manufacturerHomePositions.cjs.map +1 -0
  347. package/dist/components/robots/manufacturerHomePositions.js +51 -0
  348. package/dist/components/robots/manufacturerHomePositions.js.map +1 -0
  349. package/dist/components/robots/robotModelLogic.cjs +2 -0
  350. package/dist/components/robots/robotModelLogic.cjs.map +1 -0
  351. package/dist/components/robots/robotModelLogic.js +61 -0
  352. package/dist/components/robots/robotModelLogic.js.map +1 -0
  353. package/dist/components/safetyBar/ControllerTypeIndicator.cjs +2 -0
  354. package/dist/components/safetyBar/ControllerTypeIndicator.cjs.map +1 -0
  355. package/dist/components/safetyBar/ControllerTypeIndicator.d.ts +1 -1
  356. package/dist/components/safetyBar/ControllerTypeIndicator.d.ts.map +1 -1
  357. package/dist/components/safetyBar/ControllerTypeIndicator.js +71 -0
  358. package/dist/components/safetyBar/ControllerTypeIndicator.js.map +1 -0
  359. package/dist/components/safetyBar/IndicatorWithExplanation.cjs +2 -0
  360. package/dist/components/safetyBar/IndicatorWithExplanation.cjs.map +1 -0
  361. package/dist/components/safetyBar/IndicatorWithExplanation.d.ts +1 -0
  362. package/dist/components/safetyBar/IndicatorWithExplanation.d.ts.map +1 -1
  363. package/dist/components/safetyBar/IndicatorWithExplanation.js +123 -0
  364. package/dist/components/safetyBar/IndicatorWithExplanation.js.map +1 -0
  365. package/dist/components/safetyBar/OperationModeIndicator.cjs +2 -0
  366. package/dist/components/safetyBar/OperationModeIndicator.cjs.map +1 -0
  367. package/dist/components/safetyBar/OperationModeIndicator.d.ts +1 -1
  368. package/dist/components/safetyBar/OperationModeIndicator.d.ts.map +1 -1
  369. package/dist/components/safetyBar/OperationModeIndicator.js +75 -0
  370. package/dist/components/safetyBar/OperationModeIndicator.js.map +1 -0
  371. package/dist/components/safetyBar/SafetyBar.cjs +2 -0
  372. package/dist/components/safetyBar/SafetyBar.cjs.map +1 -0
  373. package/dist/components/safetyBar/SafetyBar.d.ts +1 -0
  374. package/dist/components/safetyBar/SafetyBar.d.ts.map +1 -1
  375. package/dist/components/safetyBar/SafetyBar.js +66 -0
  376. package/dist/components/safetyBar/SafetyBar.js.map +1 -0
  377. package/dist/components/safetyBar/SafetyStateIndicator.cjs +2 -0
  378. package/dist/components/safetyBar/SafetyStateIndicator.cjs.map +1 -0
  379. package/dist/components/safetyBar/SafetyStateIndicator.d.ts +1 -1
  380. package/dist/components/safetyBar/SafetyStateIndicator.d.ts.map +1 -1
  381. package/dist/components/safetyBar/SafetyStateIndicator.js +126 -0
  382. package/dist/components/safetyBar/SafetyStateIndicator.js.map +1 -0
  383. package/dist/components/safetyBar/icons/controller-type-physical.svg.cjs +2 -0
  384. package/dist/components/safetyBar/icons/controller-type-physical.svg.cjs.map +1 -0
  385. package/dist/components/safetyBar/icons/controller-type-physical.svg.d.ts +3 -0
  386. package/dist/components/safetyBar/icons/controller-type-physical.svg.js +11 -0
  387. package/dist/components/safetyBar/icons/controller-type-physical.svg.js.map +1 -0
  388. package/dist/components/safetyBar/icons/controller-type-virtual.svg.cjs +2 -0
  389. package/dist/components/safetyBar/icons/controller-type-virtual.svg.cjs.map +1 -0
  390. package/dist/components/safetyBar/icons/controller-type-virtual.svg.d.ts +3 -0
  391. package/dist/components/safetyBar/icons/controller-type-virtual.svg.js +11 -0
  392. package/dist/components/safetyBar/icons/controller-type-virtual.svg.js.map +1 -0
  393. package/dist/components/safetyBar/icons/operation-mode-automatic.svg.cjs +2 -0
  394. package/dist/components/safetyBar/icons/operation-mode-automatic.svg.cjs.map +1 -0
  395. package/dist/components/safetyBar/icons/operation-mode-automatic.svg.d.ts +3 -0
  396. package/dist/components/safetyBar/icons/operation-mode-automatic.svg.js +11 -0
  397. package/dist/components/safetyBar/icons/operation-mode-automatic.svg.js.map +1 -0
  398. package/dist/components/safetyBar/icons/operation-mode-error.svg.cjs +2 -0
  399. package/dist/components/safetyBar/icons/operation-mode-error.svg.cjs.map +1 -0
  400. package/dist/components/safetyBar/icons/operation-mode-error.svg.d.ts +3 -0
  401. package/dist/components/safetyBar/icons/operation-mode-error.svg.js +11 -0
  402. package/dist/components/safetyBar/icons/operation-mode-error.svg.js.map +1 -0
  403. package/dist/components/safetyBar/icons/operation-mode-manual.svg.cjs +2 -0
  404. package/dist/components/safetyBar/icons/operation-mode-manual.svg.cjs.map +1 -0
  405. package/dist/components/safetyBar/icons/operation-mode-manual.svg.d.ts +3 -0
  406. package/dist/components/safetyBar/icons/operation-mode-manual.svg.js +11 -0
  407. package/dist/components/safetyBar/icons/operation-mode-manual.svg.js.map +1 -0
  408. package/dist/components/safetyBar/icons/safety-state-error.svg.cjs +2 -0
  409. package/dist/components/safetyBar/icons/safety-state-error.svg.cjs.map +1 -0
  410. package/dist/components/safetyBar/icons/safety-state-error.svg.d.ts +3 -0
  411. package/dist/components/safetyBar/icons/safety-state-error.svg.js +11 -0
  412. package/dist/components/safetyBar/icons/safety-state-error.svg.js.map +1 -0
  413. package/dist/components/safetyBar/icons/safety-state-estop.svg.cjs +2 -0
  414. package/dist/components/safetyBar/icons/safety-state-estop.svg.cjs.map +1 -0
  415. package/dist/components/safetyBar/icons/safety-state-estop.svg.d.ts +3 -0
  416. package/dist/components/safetyBar/icons/safety-state-estop.svg.js +11 -0
  417. package/dist/components/safetyBar/icons/safety-state-estop.svg.js.map +1 -0
  418. package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.cjs +2 -0
  419. package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.cjs.map +1 -0
  420. package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.d.ts +3 -0
  421. package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.js +11 -0
  422. package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.js.map +1 -0
  423. package/dist/components/safetyBar/icons/safety-state-normal.svg.cjs +2 -0
  424. package/dist/components/safetyBar/icons/safety-state-normal.svg.cjs.map +1 -0
  425. package/dist/components/safetyBar/icons/safety-state-normal.svg.d.ts +3 -0
  426. package/dist/components/safetyBar/icons/safety-state-normal.svg.js +11 -0
  427. package/dist/components/safetyBar/icons/safety-state-normal.svg.js.map +1 -0
  428. package/dist/components/safetyBar/icons/safety-state-stop.svg.cjs +2 -0
  429. package/dist/components/safetyBar/icons/safety-state-stop.svg.cjs.map +1 -0
  430. package/dist/components/safetyBar/icons/safety-state-stop.svg.d.ts +3 -0
  431. package/dist/components/safetyBar/icons/safety-state-stop.svg.js +11 -0
  432. package/dist/components/safetyBar/icons/safety-state-stop.svg.js.map +1 -0
  433. package/dist/components/utils/converters.cjs +2 -0
  434. package/dist/components/utils/converters.cjs.map +1 -0
  435. package/dist/components/utils/converters.js +40 -0
  436. package/dist/components/utils/converters.js.map +1 -0
  437. package/dist/components/utils/errorHandling.cjs +2 -0
  438. package/dist/components/utils/errorHandling.cjs.map +1 -0
  439. package/dist/components/utils/errorHandling.js +14 -0
  440. package/dist/components/utils/errorHandling.js.map +1 -0
  441. package/dist/components/utils/hooks.cjs +2 -0
  442. package/dist/components/utils/hooks.cjs.map +1 -0
  443. package/dist/components/utils/hooks.js +29 -0
  444. package/dist/components/utils/hooks.js.map +1 -0
  445. package/dist/components/utils/interpolation.cjs +2 -0
  446. package/dist/components/utils/interpolation.cjs.map +1 -0
  447. package/dist/components/utils/interpolation.js +138 -0
  448. package/dist/components/utils/interpolation.js.map +1 -0
  449. package/dist/core.cjs +2 -0
  450. package/dist/core.cjs.map +1 -0
  451. package/dist/core.js +81 -0
  452. package/dist/core.js.map +1 -0
  453. package/dist/externalizeComponent.cjs +2 -0
  454. package/dist/externalizeComponent.cjs.map +1 -0
  455. package/dist/externalizeComponent.js +13 -0
  456. package/dist/externalizeComponent.js.map +1 -0
  457. package/dist/i18n/config.cjs +2 -0
  458. package/dist/i18n/config.cjs.map +1 -0
  459. package/dist/i18n/config.js +25 -0
  460. package/dist/i18n/config.js.map +1 -0
  461. package/dist/i18n/locales/de/translations.json.cjs +3 -0
  462. package/dist/i18n/locales/de/translations.json.cjs.map +1 -0
  463. package/dist/i18n/locales/de/translations.json.js +94 -0
  464. package/dist/i18n/locales/de/translations.json.js.map +1 -0
  465. package/dist/i18n/locales/en/translations.json.cjs +2 -0
  466. package/dist/i18n/locales/en/translations.json.cjs.map +1 -0
  467. package/dist/i18n/locales/en/translations.json.js +94 -0
  468. package/dist/i18n/locales/en/translations.json.js.map +1 -0
  469. package/dist/icons/DropdownArrowIcon.cjs +2 -0
  470. package/dist/icons/DropdownArrowIcon.cjs.map +1 -0
  471. package/dist/icons/DropdownArrowIcon.js +14 -0
  472. package/dist/icons/DropdownArrowIcon.js.map +1 -0
  473. package/dist/icons/axis-x.svg.cjs +2 -0
  474. package/dist/icons/axis-x.svg.cjs.map +1 -0
  475. package/dist/icons/axis-x.svg.d.ts +3 -0
  476. package/dist/icons/axis-x.svg.js +11 -0
  477. package/dist/icons/axis-x.svg.js.map +1 -0
  478. package/dist/icons/axis-y.svg.cjs +2 -0
  479. package/dist/icons/axis-y.svg.cjs.map +1 -0
  480. package/dist/icons/axis-y.svg.d.ts +3 -0
  481. package/dist/icons/axis-y.svg.js +11 -0
  482. package/dist/icons/axis-y.svg.js.map +1 -0
  483. package/dist/icons/axis-z.svg.cjs +2 -0
  484. package/dist/icons/axis-z.svg.cjs.map +1 -0
  485. package/dist/icons/axis-z.svg.d.ts +3 -0
  486. package/dist/icons/axis-z.svg.js +11 -0
  487. package/dist/icons/axis-z.svg.js.map +1 -0
  488. package/dist/icons/home.svg.cjs +2 -0
  489. package/dist/icons/home.svg.cjs.map +1 -0
  490. package/dist/icons/home.svg.d.ts +3 -0
  491. package/dist/icons/home.svg.js +11 -0
  492. package/dist/icons/home.svg.js.map +1 -0
  493. package/dist/icons/jog-minus.svg.cjs +2 -0
  494. package/dist/icons/jog-minus.svg.cjs.map +1 -0
  495. package/dist/icons/jog-minus.svg.d.ts +3 -0
  496. package/dist/icons/jog-minus.svg.js +11 -0
  497. package/dist/icons/jog-minus.svg.js.map +1 -0
  498. package/dist/icons/jog-plus.svg.cjs +2 -0
  499. package/dist/icons/jog-plus.svg.cjs.map +1 -0
  500. package/dist/icons/jog-plus.svg.d.ts +3 -0
  501. package/dist/icons/jog-plus.svg.js +11 -0
  502. package/dist/icons/jog-plus.svg.js.map +1 -0
  503. package/dist/icons/jogging.svg.cjs +2 -0
  504. package/dist/icons/jogging.svg.cjs.map +1 -0
  505. package/dist/icons/jogging.svg.d.ts +3 -0
  506. package/dist/icons/jogging.svg.js +11 -0
  507. package/dist/icons/jogging.svg.js.map +1 -0
  508. package/dist/icons/orientation-coord-system.svg.cjs +2 -0
  509. package/dist/icons/orientation-coord-system.svg.cjs.map +1 -0
  510. package/dist/icons/orientation-coord-system.svg.d.ts +3 -0
  511. package/dist/icons/orientation-coord-system.svg.js +11 -0
  512. package/dist/icons/orientation-coord-system.svg.js.map +1 -0
  513. package/dist/icons/orientation-tool.svg.cjs +2 -0
  514. package/dist/icons/orientation-tool.svg.cjs.map +1 -0
  515. package/dist/icons/orientation-tool.svg.d.ts +3 -0
  516. package/dist/icons/orientation-tool.svg.js +11 -0
  517. package/dist/icons/orientation-tool.svg.js.map +1 -0
  518. package/dist/icons/robot.svg.cjs +2 -0
  519. package/dist/icons/robot.svg.cjs.map +1 -0
  520. package/dist/icons/robot.svg.d.ts +3 -0
  521. package/dist/icons/robot.svg.js +11 -0
  522. package/dist/icons/robot.svg.js.map +1 -0
  523. package/dist/icons/rotation.svg.cjs +2 -0
  524. package/dist/icons/rotation.svg.cjs.map +1 -0
  525. package/dist/icons/rotation.svg.d.ts +3 -0
  526. package/dist/icons/rotation.svg.js +11 -0
  527. package/dist/icons/rotation.svg.js.map +1 -0
  528. package/dist/icons/wbLogo.svg.cjs +2 -0
  529. package/dist/icons/wbLogo.svg.cjs.map +1 -0
  530. package/dist/icons/wbLogo.svg.d.ts +3 -0
  531. package/dist/icons/wbLogo.svg.js +11 -0
  532. package/dist/icons/wbLogo.svg.js.map +1 -0
  533. package/dist/index.cjs +2 -0
  534. package/dist/index.cjs.map +1 -0
  535. package/dist/index.js +153 -0
  536. package/dist/index.js.map +1 -0
  537. package/dist/lib/ConnectedMotionGroup.cjs +4 -0
  538. package/dist/lib/ConnectedMotionGroup.cjs.map +1 -0
  539. package/dist/lib/ConnectedMotionGroup.d.ts +1 -0
  540. package/dist/lib/ConnectedMotionGroup.d.ts.map +1 -1
  541. package/dist/lib/ConnectedMotionGroup.js +250 -0
  542. package/dist/lib/ConnectedMotionGroup.js.map +1 -0
  543. package/dist/lib/JoggerConnection.cjs +2 -0
  544. package/dist/lib/JoggerConnection.cjs.map +1 -0
  545. package/dist/lib/JoggerConnection.d.ts +1 -0
  546. package/dist/lib/JoggerConnection.d.ts.map +1 -1
  547. package/dist/lib/JoggerConnection.js +342 -0
  548. package/dist/lib/JoggerConnection.js.map +1 -0
  549. package/dist/lib/MotionStreamConnection.cjs +3 -0
  550. package/dist/lib/MotionStreamConnection.cjs.map +1 -0
  551. package/dist/lib/MotionStreamConnection.d.ts +1 -0
  552. package/dist/lib/MotionStreamConnection.d.ts.map +1 -1
  553. package/dist/lib/MotionStreamConnection.js +94 -0
  554. package/dist/lib/MotionStreamConnection.js.map +1 -0
  555. package/dist/lib/motionStateUpdate.cjs +2 -0
  556. package/dist/lib/motionStateUpdate.cjs.map +1 -0
  557. package/dist/lib/motionStateUpdate.js +49 -0
  558. package/dist/lib/motionStateUpdate.js.map +1 -0
  559. package/dist/test/consumer.test.d.ts +2 -0
  560. package/dist/test/consumer.test.d.ts.map +1 -0
  561. package/dist/themes/createDarkTheme.cjs +2 -0
  562. package/dist/themes/createDarkTheme.cjs.map +1 -0
  563. package/dist/themes/createDarkTheme.js +344 -0
  564. package/dist/themes/createDarkTheme.js.map +1 -0
  565. package/dist/themes/createLightTheme.cjs +2 -0
  566. package/dist/themes/createLightTheme.cjs.map +1 -0
  567. package/dist/themes/createLightTheme.js +9 -0
  568. package/dist/themes/createLightTheme.js.map +1 -0
  569. package/dist/themes/theming.cjs +2 -0
  570. package/dist/themes/theming.cjs.map +1 -0
  571. package/dist/themes/theming.js +14 -0
  572. package/dist/themes/theming.js.map +1 -0
  573. package/dist/wb-icons.cjs +2 -0
  574. package/dist/wb-icons.cjs.map +1 -0
  575. package/dist/wb-icons.js +47 -0
  576. package/dist/wb-icons.js.map +1 -0
  577. package/package.json +20 -9
  578. package/src/components/3d-viewport/CoordinateSystemTransform.tsx +2 -0
  579. package/src/components/3d-viewport/PresetEnvironment.tsx +2 -0
  580. package/src/components/3d-viewport/SafetyZonesRenderer.tsx +2 -0
  581. package/src/components/3d-viewport/TrajectoryRenderer.tsx +2 -0
  582. package/src/components/AppHeader.tsx +2 -0
  583. package/src/components/CopyableText.tsx +2 -0
  584. package/src/components/CycleTimer/CycleTimer.ts +2 -0
  585. package/src/components/CycleTimer/index.tsx +2 -0
  586. package/src/components/CycleTimer.tsx +2 -0
  587. package/src/components/DataGrid.tsx +2 -0
  588. package/src/components/LoadingCover.tsx +2 -0
  589. package/src/components/LogPanel.tsx +2 -0
  590. package/src/components/LogStore.ts +2 -0
  591. package/src/components/LogViewer.tsx +2 -0
  592. package/src/components/ProgramControl.tsx +2 -0
  593. package/src/components/ProgramStateIndicator.tsx +2 -0
  594. package/src/components/RobotCard.tsx +2 -0
  595. package/src/components/RobotListItem.tsx +2 -0
  596. package/src/components/RobotSetupReadinessIndicator.tsx +2 -0
  597. package/src/components/SelectableFab.tsx +2 -0
  598. package/src/components/TabBar.tsx +2 -0
  599. package/src/components/ThemeSelect.tsx +2 -0
  600. package/src/components/Timer/Timer.ts +2 -0
  601. package/src/components/Timer/index.tsx +2 -0
  602. package/src/components/Timer.ts +4 -0
  603. package/src/components/TransparentOverlay.tsx +2 -0
  604. package/src/components/VelocitySlider.tsx +2 -0
  605. package/src/components/jogging/JoggingCartesianAxisControl.tsx +2 -0
  606. package/src/components/jogging/JoggingJointValueControl.tsx +2 -0
  607. package/src/components/jogging/JoggingPanel.tsx +2 -0
  608. package/src/components/jogging/JoggingStore.ts +2 -0
  609. package/src/components/jogging/PoseCartesianValues.tsx +2 -0
  610. package/src/components/jogging/PoseJointValues.tsx +2 -0
  611. package/src/components/modal/NoMotionGroupModal.tsx +2 -0
  612. package/src/components/robots/DHLinearAxis.tsx +2 -0
  613. package/src/components/robots/DHRobot.tsx +2 -0
  614. package/src/components/robots/GenericRobot.tsx +2 -0
  615. package/src/components/robots/LinearAxis.tsx +2 -0
  616. package/src/components/robots/MotionGroupVisualizer.tsx +2 -0
  617. package/src/components/robots/Robot.tsx +2 -0
  618. package/src/components/robots/SupportedLinearAxis.tsx +2 -0
  619. package/src/components/robots/SupportedRobot.tsx +2 -0
  620. package/src/components/safetyBar/ControllerTypeIndicator.tsx +2 -0
  621. package/src/components/safetyBar/IndicatorWithExplanation.tsx +2 -0
  622. package/src/components/safetyBar/OperationModeIndicator.tsx +2 -0
  623. package/src/components/safetyBar/SafetyBar.tsx +2 -0
  624. package/src/components/safetyBar/SafetyStateIndicator.tsx +2 -0
  625. package/src/lib/ConnectedMotionGroup.ts +2 -0
  626. package/src/lib/JoggerConnection.ts +2 -0
  627. package/src/lib/MotionStreamConnection.ts +2 -0
  628. package/src/test/consumer.test.ts +230 -0
  629. package/dist/3d.cjs.js +0 -2
  630. package/dist/3d.cjs.js.map +0 -1
  631. package/dist/3d.es.js +0 -19
  632. package/dist/3d.es.js.map +0 -1
  633. package/dist/MotionGroupVisualizer-B-e22qXF.cjs +0 -2
  634. package/dist/MotionGroupVisualizer-B-e22qXF.cjs.map +0 -1
  635. package/dist/MotionGroupVisualizer-CIASsBC6.js +0 -1433
  636. package/dist/MotionGroupVisualizer-CIASsBC6.js.map +0 -1
  637. package/dist/auth0-spa-js.production.esm-CVEdrQ4-.cjs +0 -5
  638. package/dist/auth0-spa-js.production.esm-CVEdrQ4-.cjs.map +0 -1
  639. package/dist/auth0-spa-js.production.esm-Cr9w0sUa.js +0 -4217
  640. package/dist/auth0-spa-js.production.esm-Cr9w0sUa.js.map +0 -1
  641. package/dist/core.cjs.js +0 -2
  642. package/dist/core.cjs.js.map +0 -1
  643. package/dist/core.es.js +0 -52
  644. package/dist/core.es.js.map +0 -1
  645. package/dist/index.cjs.js +0 -2
  646. package/dist/index.cjs.js.map +0 -1
  647. package/dist/index.es.js +0 -92
  648. package/dist/index.es.js.map +0 -1
  649. package/dist/interpolation-BIB6FC35.cjs +0 -198
  650. package/dist/interpolation-BIB6FC35.cjs.map +0 -1
  651. package/dist/interpolation-lSTX6ZXZ.js +0 -14559
  652. package/dist/interpolation-lSTX6ZXZ.js.map +0 -1
  653. package/dist/safety-state-stop-ClWLVLMl.cjs +0 -2
  654. package/dist/safety-state-stop-ClWLVLMl.cjs.map +0 -1
  655. package/dist/safety-state-stop-DuMBCxN5.js +0 -91
  656. package/dist/safety-state-stop-DuMBCxN5.js.map +0 -1
  657. package/dist/theming-D_pShDEg.js +0 -32236
  658. package/dist/theming-D_pShDEg.js.map +0 -1
  659. package/dist/theming-L5E8VSae.cjs +0 -84
  660. package/dist/theming-L5E8VSae.cjs.map +0 -1
  661. package/dist/wb-icons.cjs.js +0 -2
  662. package/dist/wb-icons.cjs.js.map +0 -1
  663. package/dist/wb-icons.es.js +0 -27
  664. package/dist/wb-icons.es.js.map +0 -1
  665. package/dist/wbLogo-CObCmqTw.js +0 -31
  666. package/dist/wbLogo-CObCmqTw.js.map +0 -1
  667. package/dist/wbLogo-G_IfZ03l.cjs +0 -2
  668. package/dist/wbLogo-G_IfZ03l.cjs.map +0 -1
@@ -0,0 +1,299 @@
1
+ import { jsxs as a, jsx as r } from "react/jsx-runtime";
2
+ import E from "@mui/icons-material/ContentCopy";
3
+ import L from "@mui/icons-material/DescriptionOutlined";
4
+ import W from "@mui/icons-material/ExpandLess";
5
+ import D from "@mui/icons-material/ExpandMore";
6
+ import { useTheme as H } from "@mui/material/styles";
7
+ import l from "@mui/material/Box";
8
+ import $ from "@mui/material/Button";
9
+ import b from "@mui/material/IconButton";
10
+ import B from "@mui/material/Paper";
11
+ import s from "@mui/material/Typography";
12
+ import { observer as R } from "mobx-react-lite";
13
+ import { useRef as j, useEffect as F, useState as d } from "react";
14
+ import { externalizeComponent as P } from "../externalizeComponent.js";
15
+ const p = (n, o, c) => ({
16
+ id: c || `${Date.now()}-${Math.random().toString(36).substring(2, 11)}`,
17
+ timestamp: /* @__PURE__ */ new Date(),
18
+ message: n,
19
+ level: o
20
+ }), ee = (n, o) => p(n, "debug", o), te = (n, o) => p(n, "info", o), oe = (n, o) => p(n, "warning", o), re = (n, o) => p(n, "error", o), ne = P(
21
+ R((n) => {
22
+ var g;
23
+ const { messages: o = [], onClear: c, height: y = 400, sx: v } = n, e = H(), x = j(null);
24
+ F(() => {
25
+ if (o.length === 0) return;
26
+ const t = x.current;
27
+ if (!t) return;
28
+ const i = setTimeout(() => {
29
+ t.scrollTop = t.scrollHeight;
30
+ }, 10);
31
+ return () => clearTimeout(i);
32
+ }, [o.length]);
33
+ const C = (t) => t.toLocaleTimeString("en-US", {
34
+ hour12: !1,
35
+ hour: "2-digit",
36
+ minute: "2-digit",
37
+ second: "2-digit"
38
+ }), w = (t) => {
39
+ switch (t) {
40
+ case "error":
41
+ return e.palette.error.main;
42
+ case "warning":
43
+ return e.palette.warning.main;
44
+ case "info":
45
+ return e.palette.info.main;
46
+ case "debug":
47
+ return e.palette.text.disabled;
48
+ default:
49
+ return e.palette.text.secondary;
50
+ }
51
+ }, S = ({ message: t }) => {
52
+ const [i, k] = d(!1), [M, m] = d(!1), [f, h] = d(!1), u = t.message.length > 150, T = async () => {
53
+ try {
54
+ await navigator.clipboard.writeText(t.message), m(!0), setTimeout(() => m(!1), 2e3);
55
+ } catch (I) {
56
+ console.error("Failed to copy message:", I);
57
+ }
58
+ }, z = u && !i ? `${t.message.substring(0, 150)}...` : t.message;
59
+ return /* @__PURE__ */ r(
60
+ l,
61
+ {
62
+ onMouseEnter: () => h(!0),
63
+ onMouseLeave: () => h(!1),
64
+ sx: {
65
+ display: "flex",
66
+ gap: 1,
67
+ fontFamily: "monospace",
68
+ flexDirection: "column",
69
+ "&:hover": {
70
+ backgroundColor: e.palette.action.hover
71
+ },
72
+ borderRadius: "4px",
73
+ padding: "2px 4px",
74
+ margin: "-2px -4px"
75
+ },
76
+ children: /* @__PURE__ */ a(l, { sx: { display: "flex", gap: 1 }, children: [
77
+ /* @__PURE__ */ a(
78
+ s,
79
+ {
80
+ component: "span",
81
+ sx: {
82
+ fontWeight: 400,
83
+ fontSize: "12px",
84
+ lineHeight: "18px",
85
+ letterSpacing: "0.4px",
86
+ color: e.palette.text.disabled,
87
+ whiteSpace: "nowrap",
88
+ flexShrink: 0
89
+ },
90
+ children: [
91
+ "[",
92
+ C(t.timestamp),
93
+ "]"
94
+ ]
95
+ }
96
+ ),
97
+ /* @__PURE__ */ r(
98
+ s,
99
+ {
100
+ component: "span",
101
+ sx: {
102
+ fontWeight: 400,
103
+ fontSize: "12px",
104
+ lineHeight: "18px",
105
+ letterSpacing: "0.4px",
106
+ color: w(t.level),
107
+ wordBreak: "break-word",
108
+ overflowWrap: "anywhere",
109
+ hyphens: "auto",
110
+ flex: 1,
111
+ whiteSpace: "pre-wrap"
112
+ },
113
+ children: z
114
+ }
115
+ ),
116
+ /* @__PURE__ */ a(
117
+ l,
118
+ {
119
+ sx: {
120
+ display: "flex",
121
+ alignItems: "flex-start",
122
+ gap: 0.5,
123
+ opacity: f ? 1 : 0,
124
+ transition: "opacity 0.2s ease-in-out",
125
+ visibility: f ? "visible" : "hidden"
126
+ },
127
+ children: [
128
+ /* @__PURE__ */ r(
129
+ b,
130
+ {
131
+ size: "small",
132
+ onClick: T,
133
+ sx: {
134
+ padding: "2px",
135
+ color: e.palette.text.secondary,
136
+ "&:hover": {
137
+ backgroundColor: e.palette.action.hover
138
+ }
139
+ },
140
+ title: M ? "Copied!" : "Copy message",
141
+ children: /* @__PURE__ */ r(E, { sx: { fontSize: 12 } })
142
+ }
143
+ ),
144
+ u && /* @__PURE__ */ r(
145
+ b,
146
+ {
147
+ size: "small",
148
+ onClick: () => k(!i),
149
+ sx: {
150
+ padding: "2px",
151
+ color: e.palette.text.secondary,
152
+ "&:hover": {
153
+ backgroundColor: e.palette.action.hover
154
+ }
155
+ },
156
+ title: i ? "Collapse" : "Expand",
157
+ children: i ? /* @__PURE__ */ r(W, { sx: { fontSize: 12 } }) : /* @__PURE__ */ r(D, { sx: { fontSize: 12 } })
158
+ }
159
+ )
160
+ ]
161
+ }
162
+ )
163
+ ] })
164
+ },
165
+ t.id
166
+ );
167
+ };
168
+ return /* @__PURE__ */ a(
169
+ B,
170
+ {
171
+ sx: {
172
+ backgroundColor: ((g = e.palette.backgroundPaperElevation) == null ? void 0 : g[2]) || "#171927",
173
+ backgroundImage: "none",
174
+ // Override any gradient from elevation
175
+ height: y,
176
+ display: "flex",
177
+ flexDirection: "column",
178
+ overflow: "hidden",
179
+ ...v
180
+ },
181
+ children: [
182
+ /* @__PURE__ */ a(
183
+ l,
184
+ {
185
+ sx: {
186
+ display: "flex",
187
+ alignItems: "center",
188
+ justifyContent: "space-between",
189
+ padding: "12px 16px"
190
+ },
191
+ children: [
192
+ /* @__PURE__ */ a(l, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
193
+ /* @__PURE__ */ r(
194
+ L,
195
+ {
196
+ sx: {
197
+ fontSize: 16,
198
+ color: e.palette.action.active,
199
+ opacity: 0.56
200
+ }
201
+ }
202
+ ),
203
+ /* @__PURE__ */ r(
204
+ s,
205
+ {
206
+ sx: {
207
+ fontWeight: 500,
208
+ fontSize: "14px",
209
+ lineHeight: "143%",
210
+ letterSpacing: "0.17px",
211
+ color: e.palette.text.primary
212
+ },
213
+ children: "Log"
214
+ }
215
+ )
216
+ ] }),
217
+ /* @__PURE__ */ r(
218
+ $,
219
+ {
220
+ onClick: c,
221
+ variant: "text",
222
+ sx: {
223
+ fontWeight: 500,
224
+ fontSize: "13px",
225
+ lineHeight: "22px",
226
+ letterSpacing: "0.46px",
227
+ color: e.palette.primary.main,
228
+ textTransform: "none",
229
+ minWidth: "auto",
230
+ padding: "4px 8px",
231
+ "&:hover": {
232
+ backgroundColor: `${e.palette.primary.main}14`
233
+ // 8% opacity
234
+ }
235
+ },
236
+ children: "Clear"
237
+ }
238
+ )
239
+ ]
240
+ }
241
+ ),
242
+ /* @__PURE__ */ r(
243
+ l,
244
+ {
245
+ ref: x,
246
+ sx: {
247
+ flex: 1,
248
+ overflow: "auto",
249
+ padding: "8px 16px",
250
+ display: "flex",
251
+ flexDirection: "column",
252
+ gap: "2px",
253
+ // Custom scrollbar styling to keep it consistently dark
254
+ scrollbarWidth: "thin",
255
+ scrollbarColor: `${e.palette.divider} transparent`,
256
+ "&::-webkit-scrollbar": {
257
+ width: "6px"
258
+ },
259
+ "&::-webkit-scrollbar-track": {
260
+ background: "transparent"
261
+ },
262
+ "&::-webkit-scrollbar-thumb": {
263
+ backgroundColor: e.palette.divider,
264
+ borderRadius: "3px",
265
+ "&:hover": {
266
+ backgroundColor: e.palette.divider
267
+ }
268
+ }
269
+ },
270
+ children: o.length === 0 ? /* @__PURE__ */ r(
271
+ s,
272
+ {
273
+ sx: {
274
+ color: e.palette.text.disabled,
275
+ fontSize: "12px",
276
+ fontStyle: "italic",
277
+ textAlign: "center",
278
+ marginTop: 2
279
+ },
280
+ children: "No log messages"
281
+ }
282
+ ) : o.map((t) => /* @__PURE__ */ r(S, { message: t }, t.id))
283
+ }
284
+ )
285
+ ]
286
+ }
287
+ );
288
+ })
289
+ );
290
+ export {
291
+ ne as LogViewer,
292
+ ee as createDebugMessage,
293
+ re as createErrorMessage,
294
+ te as createInfoMessage,
295
+ p as createLogMessage,
296
+ oe as createWarningMessage,
297
+ ne as default
298
+ };
299
+ //# sourceMappingURL=LogViewer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LogViewer.js","sources":["../../src/components/LogViewer.tsx"],"sourcesContent":["import ContentCopy from \"@mui/icons-material/ContentCopy\"\nimport DocumentIcon from \"@mui/icons-material/DescriptionOutlined\"\nimport ExpandLess from \"@mui/icons-material/ExpandLess\"\nimport ExpandMore from \"@mui/icons-material/ExpandMore\"\nimport type { SxProps } from \"@mui/material/styles\"\nimport { useTheme } from \"@mui/material/styles\"\nimport Box from \"@mui/material/Box\"\nimport Button from \"@mui/material/Button\"\nimport IconButton from \"@mui/material/IconButton\"\nimport Paper from \"@mui/material/Paper\"\nimport Typography from \"@mui/material/Typography\"\nimport { observer } from \"mobx-react-lite\"\nimport { useEffect, useRef, useState } from \"react\"\nimport { externalizeComponent } from \"../externalizeComponent\"\n\nexport type LogLevel = \"info\" | \"error\" | \"warning\" | \"debug\"\n\nexport type LogMessage = {\n id: string\n timestamp: Date\n message: string\n level: LogLevel\n}\n\nexport type LogViewerProps = {\n /** Log messages to display */\n messages: LogMessage[]\n /** Callback when clear button is clicked */\n onClear?: () => void\n /** Height of the component */\n height?: string | number\n /** Additional styles */\n sx?: SxProps\n}\n\n/**\n * Utility function to create a log message\n */\nexport const createLogMessage = (\n message: string,\n level: LogLevel,\n id?: string,\n): LogMessage => ({\n id: id || `${Date.now()}-${Math.random().toString(36).substring(2, 11)}`,\n timestamp: new Date(),\n message,\n level,\n})\n\n/**\n * Utility function to create a debug log message\n */\nexport const createDebugMessage = (message: string, id?: string): LogMessage =>\n createLogMessage(message, \"debug\", id)\n\n/**\n * Utility function to create an info log message\n */\nexport const createInfoMessage = (message: string, id?: string): LogMessage =>\n createLogMessage(message, \"info\", id)\n\n/**\n * Utility function to create a warning log message\n */\nexport const createWarningMessage = (\n message: string,\n id?: string,\n): LogMessage => createLogMessage(message, \"warning\", id)\n\n/**\n * Utility function to create an error log message\n */\nexport const createErrorMessage = (message: string, id?: string): LogMessage =>\n createLogMessage(message, \"error\", id)\n\n/**\n * A log viewer component that displays timestamped log messages with different levels.\n * Features a header with document icon and clear button, and scrollable message area.\n */\nexport const LogViewer = externalizeComponent(\n observer((props: LogViewerProps) => {\n const { messages = [], onClear, height = 400, sx } = props\n const theme = useTheme()\n const scrollContainerRef = useRef<HTMLDivElement>(null)\n\n // Auto-scroll to bottom when new messages are added\n useEffect(() => {\n if (messages.length === 0) return\n\n const scrollContainer = scrollContainerRef.current\n if (!scrollContainer) return\n\n // Use a timeout to scroll after the DOM updates\n const timeoutId = setTimeout(() => {\n // Scroll the container to the bottom, not the entire browser\n scrollContainer.scrollTop = scrollContainer.scrollHeight\n }, 10)\n\n return () => clearTimeout(timeoutId)\n }, [messages.length])\n\n const formatTimestamp = (timestamp: Date) => {\n return timestamp.toLocaleTimeString(\"en-US\", {\n hour12: false,\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n })\n }\n\n const getMessageColor = (level: LogLevel) => {\n switch (level) {\n case \"error\":\n return theme.palette.error.main\n case \"warning\":\n return theme.palette.warning.main\n case \"info\":\n return theme.palette.info.main\n case \"debug\":\n return theme.palette.text.disabled\n default:\n return theme.palette.text.secondary\n }\n }\n\n // Component for individual log messages with expand/copy functionality\n const LogMessage = ({ message }: { message: LogMessage }) => {\n const [isExpanded, setIsExpanded] = useState(false)\n const [copyTooltip, setCopyTooltip] = useState(false)\n const [isHovered, setIsHovered] = useState(false)\n const isLongMessage = message.message.length > 150\n\n const handleCopy = async () => {\n try {\n await navigator.clipboard.writeText(message.message)\n setCopyTooltip(true)\n setTimeout(() => setCopyTooltip(false), 2000)\n } catch (err) {\n console.error(\"Failed to copy message:\", err)\n }\n }\n\n const displayMessage =\n isLongMessage && !isExpanded\n ? `${message.message.substring(0, 150)}...`\n : message.message\n\n return (\n <Box\n key={message.id}\n onMouseEnter={() => setIsHovered(true)}\n onMouseLeave={() => setIsHovered(false)}\n sx={{\n display: \"flex\",\n gap: 1,\n fontFamily: \"monospace\",\n flexDirection: \"column\",\n \"&:hover\": {\n backgroundColor: theme.palette.action.hover,\n },\n borderRadius: \"4px\",\n padding: \"2px 4px\",\n margin: \"-2px -4px\",\n }}\n >\n <Box sx={{ display: \"flex\", gap: 1 }}>\n {/* Timestamp */}\n <Typography\n component=\"span\"\n sx={{\n fontWeight: 400,\n fontSize: \"12px\",\n lineHeight: \"18px\",\n letterSpacing: \"0.4px\",\n color: theme.palette.text.disabled,\n whiteSpace: \"nowrap\",\n flexShrink: 0,\n }}\n >\n [{formatTimestamp(message.timestamp)}]\n </Typography>\n\n {/* Message */}\n <Typography\n component=\"span\"\n sx={{\n fontWeight: 400,\n fontSize: \"12px\",\n lineHeight: \"18px\",\n letterSpacing: \"0.4px\",\n color: getMessageColor(message.level),\n wordBreak: \"break-word\",\n overflowWrap: \"anywhere\",\n hyphens: \"auto\",\n flex: 1,\n whiteSpace: \"pre-wrap\",\n }}\n >\n {displayMessage}\n </Typography>\n\n {/* Action buttons - only visible on hover */}\n <Box\n sx={{\n display: \"flex\",\n alignItems: \"flex-start\",\n gap: 0.5,\n opacity: isHovered ? 1 : 0,\n transition: \"opacity 0.2s ease-in-out\",\n visibility: isHovered ? \"visible\" : \"hidden\",\n }}\n >\n <IconButton\n size=\"small\"\n onClick={handleCopy}\n sx={{\n padding: \"2px\",\n color: theme.palette.text.secondary,\n \"&:hover\": {\n backgroundColor: theme.palette.action.hover,\n },\n }}\n title={copyTooltip ? \"Copied!\" : \"Copy message\"}\n >\n <ContentCopy sx={{ fontSize: 12 }} />\n </IconButton>\n\n {isLongMessage && (\n <IconButton\n size=\"small\"\n onClick={() => setIsExpanded(!isExpanded)}\n sx={{\n padding: \"2px\",\n color: theme.palette.text.secondary,\n \"&:hover\": {\n backgroundColor: theme.palette.action.hover,\n },\n }}\n title={isExpanded ? \"Collapse\" : \"Expand\"}\n >\n {isExpanded ? (\n <ExpandLess sx={{ fontSize: 12 }} />\n ) : (\n <ExpandMore sx={{ fontSize: 12 }} />\n )}\n </IconButton>\n )}\n </Box>\n </Box>\n </Box>\n )\n }\n\n return (\n <Paper\n sx={{\n backgroundColor:\n theme.palette.backgroundPaperElevation?.[2] || \"#171927\",\n backgroundImage: \"none\", // Override any gradient from elevation\n height,\n display: \"flex\",\n flexDirection: \"column\",\n overflow: \"hidden\",\n ...sx,\n }}\n >\n {/* Header */}\n <Box\n sx={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n padding: \"12px 16px\",\n }}\n >\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 1 }}>\n <DocumentIcon\n sx={{\n fontSize: 16,\n color: theme.palette.action.active,\n opacity: 0.56,\n }}\n />\n <Typography\n sx={{\n fontWeight: 500,\n fontSize: \"14px\",\n lineHeight: \"143%\",\n letterSpacing: \"0.17px\",\n color: theme.palette.text.primary,\n }}\n >\n Log\n </Typography>\n </Box>\n <Button\n onClick={onClear}\n variant=\"text\"\n sx={{\n fontWeight: 500,\n fontSize: \"13px\",\n lineHeight: \"22px\",\n letterSpacing: \"0.46px\",\n color: theme.palette.primary.main,\n textTransform: \"none\",\n minWidth: \"auto\",\n padding: \"4px 8px\",\n \"&:hover\": {\n backgroundColor: `${theme.palette.primary.main}14`, // 8% opacity\n },\n }}\n >\n Clear\n </Button>\n </Box>\n\n {/* Messages Container */}\n <Box\n ref={scrollContainerRef}\n sx={{\n flex: 1,\n overflow: \"auto\",\n padding: \"8px 16px\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"2px\",\n // Custom scrollbar styling to keep it consistently dark\n scrollbarWidth: \"thin\",\n scrollbarColor: `${theme.palette.divider} transparent`,\n \"&::-webkit-scrollbar\": {\n width: \"6px\",\n },\n \"&::-webkit-scrollbar-track\": {\n background: \"transparent\",\n },\n \"&::-webkit-scrollbar-thumb\": {\n backgroundColor: theme.palette.divider,\n borderRadius: \"3px\",\n \"&:hover\": {\n backgroundColor: theme.palette.divider,\n },\n },\n }}\n >\n {messages.length === 0 ? (\n <Typography\n sx={{\n color: theme.palette.text.disabled,\n fontSize: \"12px\",\n fontStyle: \"italic\",\n textAlign: \"center\",\n marginTop: 2,\n }}\n >\n No log messages\n </Typography>\n ) : (\n messages.map((message) => (\n <LogMessage key={message.id} message={message} />\n ))\n )}\n </Box>\n </Paper>\n )\n }),\n)\n\nexport default LogViewer\n"],"names":["createLogMessage","message","level","id","createDebugMessage","createInfoMessage","createWarningMessage","createErrorMessage","LogViewer","externalizeComponent","observer","props","messages","onClear","height","sx","theme","useTheme","scrollContainerRef","useRef","useEffect","scrollContainer","timeoutId","formatTimestamp","timestamp","getMessageColor","LogMessage","isExpanded","setIsExpanded","useState","copyTooltip","setCopyTooltip","isHovered","setIsHovered","isLongMessage","handleCopy","err","displayMessage","jsx","Box","jsxs","Typography","IconButton","ContentCopy","ExpandLess","ExpandMore","Paper","_a","DocumentIcon","Button"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),j=require("@mui/icons-material/Pause"),c=require("@mui/icons-material/PlayArrow"),t=require("@mui/icons-material/Stop"),I=require("@mui/material/styles"),s=require("@mui/material/Box"),P=require("@mui/material/Button"),f=require("@mui/material/Typography"),k=require("mobx-react-lite"),R=require("react-i18next"),T=require("../externalizeComponent.cjs");var d=(n=>(n.IDLE="idle",n.PREPARING="preparing",n.STARTING="starting",n.RUNNING="running",n.PAUSING="pausing",n.PAUSED="paused",n.STOPPING="stopping",n.COMPLETED="completed",n.FAILED="failed",n.STOPPED="stopped",n.ERROR="error",n))(d||{});const a=T.externalizeComponent(k.observer(({state:n,onRun:g,onPause:x,onStop:b,onReset:E,requiresManualReset:i=!1,variant:u="with_pause",className:C})=>{const p=I.useTheme(),{t:l}=R.useTranslation(),h=()=>{const r={run:{enabled:n==="idle"||n==="stopped"||n==="paused"||n==="completed"||n==="failed"||n==="error",label:l(n==="paused"?"ProgramControl.Resume.bt":n==="error"||n==="failed"?"ProgramControl.Retry.bt":"ProgramControl.Start.bt"),color:p.palette.success.main,onClick:g},pause:{enabled:n==="running",label:l("ProgramControl.Pause.bt"),color:"#FFFFFF33",onClick:x||(()=>{})},stop:{enabled:n==="preparing"||n==="starting"||n==="running"||n==="pausing"||n==="paused",label:l("ProgramControl.Stop.bt"),color:p.palette.error.main,onClick:b}};return u==="without_pause"?[r.run,r.stop]:[r.run,r.pause,r.stop]},m=r=>{const o={sx:{fontSize:"55px"}};if(u==="without_pause")return r===0?e.jsx(c,{...o}):e.jsx(t,{...o});switch(r){case 0:return e.jsx(c,{...o});case 1:return e.jsx(j,{...o});case 2:return e.jsx(t,{...o});default:return null}},y=h();return e.jsx(s,{className:C,sx:{display:"flex",flexDirection:"column",alignItems:"center",gap:2},children:e.jsx(s,{sx:{display:"flex",gap:"40px",flexWrap:"wrap",justifyContent:"center",alignItems:"center"},children:y.map((r,o)=>e.jsxs(s,{sx:{display:"flex",flexDirection:"column",alignItems:"center",gap:1},children:[e.jsx(P,{variant:"contained",disabled:!r.enabled||n==="preparing"||n==="starting"||n==="pausing"||n==="stopping"&&!i,onClick:r.onClick,sx:{width:"88px",height:"88px",borderRadius:"88px",backgroundColor:r.color,opacity:r.enabled&&n!=="preparing"&&n!=="starting"&&n!=="pausing"&&!(n==="stopping"&&!i)?1:.3,"&:hover":{backgroundColor:r.color,opacity:r.enabled&&n!=="preparing"&&n!=="starting"&&n!=="pausing"&&!(n==="stopping"&&!i)?.8:.3},"&:disabled":{backgroundColor:r.color,opacity:.3},minWidth:"88px",flexShrink:0},children:m(o)}),e.jsx(f,{variant:"body1",sx:{color:r.enabled&&n!=="preparing"&&n!=="starting"&&n!=="pausing"&&!(n==="stopping"&&!i)?r.color:p.palette.text.disabled,textAlign:"center",opacity:r.enabled&&n!=="preparing"&&n!=="starting"&&n!=="pausing"&&!(n==="stopping"&&!i)?1:.3},children:r.label})]},r.label))})})}));exports.ProgramControl=a;exports.ProgramState=d;exports.default=a;
2
+ //# sourceMappingURL=ProgramControl.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProgramControl.cjs","sources":["../../src/components/ProgramControl.tsx"],"sourcesContent":["import Pause from \"@mui/icons-material/Pause\"\nimport PlayArrow from \"@mui/icons-material/PlayArrow\"\nimport Stop from \"@mui/icons-material/Stop\"\nimport { useTheme } from \"@mui/material/styles\"\nimport Box from \"@mui/material/Box\"\nimport Button from \"@mui/material/Button\"\nimport Typography from \"@mui/material/Typography\"\nimport { observer } from \"mobx-react-lite\"\nimport { useTranslation } from \"react-i18next\"\nimport { externalizeComponent } from \"../externalizeComponent\"\n\nexport enum ProgramState {\n IDLE = \"idle\",\n PREPARING = \"preparing\",\n STARTING = \"starting\",\n RUNNING = \"running\",\n PAUSING = \"pausing\",\n PAUSED = \"paused\",\n STOPPING = \"stopping\",\n COMPLETED = \"completed\",\n FAILED = \"failed\",\n STOPPED = \"stopped\",\n ERROR = \"error\",\n}\n\nexport interface ProgramControlProps {\n /** The current state of the program control */\n state: ProgramState\n /** Callback fired when the run/resume button is clicked */\n onRun: () => void\n /** Callback fired when the pause button is clicked (only available in 'with_pause' variant) */\n onPause?: () => void\n /** Callback fired when the stop button is clicked */\n onStop: () => void\n /**\n * Function to reset the component from 'stopping' state back to 'idle'.\n * This must be called manually by the user when requiresManualReset is true.\n */\n onReset?: () => void\n /**\n * When true, the component will stay in 'stopping' state until onReset is called manually.\n * When false (default), auto-resets to 'idle' after 2 seconds.\n */\n requiresManualReset?: boolean\n /**\n * Variant of the component:\n * - 'with_pause': Shows run/pause/stop buttons (default)\n * - 'without_pause': Shows only run/stop buttons\n */\n variant?: \"with_pause\" | \"without_pause\"\n /** Additional CSS class name */\n className?: string\n}\n\ninterface ButtonConfig {\n enabled: boolean\n label: string\n color: string\n onClick: () => void\n}\n\n/**\n * A control component for program execution with run, pause, and stop functionality.\n *\n * Features:\n * - State machine with idle, preparing, starting, running, pausing, paused, stopping, completed, failed, stopped, and error states\n * - Two variants: with_pause (3 buttons) and without_pause (2 buttons)\n * - Optional manual reset functionality\n * - Responsive design with 110px circular buttons\n * - Material-UI theming integration\n */\nexport const ProgramControl = externalizeComponent(\n observer(\n ({\n state,\n onRun,\n onPause,\n onStop,\n onReset,\n requiresManualReset = false,\n variant = \"with_pause\",\n className,\n }: ProgramControlProps) => {\n const theme = useTheme()\n const { t } = useTranslation()\n\n const getButtonConfigs = (): ButtonConfig[] => {\n const baseConfigs: Record<string, ButtonConfig> = {\n run: {\n enabled:\n state === ProgramState.IDLE ||\n state === ProgramState.STOPPED ||\n state === ProgramState.PAUSED ||\n state === ProgramState.COMPLETED ||\n state === ProgramState.FAILED ||\n state === ProgramState.ERROR,\n label:\n state === ProgramState.PAUSED\n ? t(\"ProgramControl.Resume.bt\")\n : state === ProgramState.ERROR || state === ProgramState.FAILED\n ? t(\"ProgramControl.Retry.bt\")\n : t(\"ProgramControl.Start.bt\"),\n color: theme.palette.success.main,\n onClick: onRun,\n },\n pause: {\n enabled: state === ProgramState.RUNNING,\n label: t(\"ProgramControl.Pause.bt\"),\n color: \"#FFFFFF33\",\n onClick: onPause || (() => {}),\n },\n stop: {\n enabled:\n state === ProgramState.PREPARING ||\n state === ProgramState.STARTING ||\n state === ProgramState.RUNNING ||\n state === ProgramState.PAUSING ||\n state === ProgramState.PAUSED,\n label: t(\"ProgramControl.Stop.bt\"),\n color: theme.palette.error.main,\n onClick: onStop,\n },\n }\n\n if (variant === \"without_pause\") {\n return [baseConfigs.run, baseConfigs.stop]\n }\n\n return [baseConfigs.run, baseConfigs.pause, baseConfigs.stop]\n }\n\n const getButtonIcon = (index: number) => {\n const iconProps = { sx: { fontSize: \"55px\" } }\n\n if (variant === \"without_pause\") {\n return index === 0 ? (\n <PlayArrow {...iconProps} />\n ) : (\n <Stop {...iconProps} />\n )\n }\n\n switch (index) {\n case 0:\n return <PlayArrow {...iconProps} />\n case 1:\n return <Pause {...iconProps} />\n case 2:\n return <Stop {...iconProps} />\n default:\n return null\n }\n }\n\n const buttonConfigs = getButtonConfigs()\n\n return (\n <Box\n className={className}\n sx={{\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n gap: 2,\n }}\n >\n <Box\n sx={{\n display: \"flex\",\n gap: \"40px\",\n flexWrap: \"wrap\",\n justifyContent: \"center\",\n alignItems: \"center\",\n }}\n >\n {buttonConfigs.map((config, index) => (\n <Box\n key={config.label}\n sx={{\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n gap: 1,\n }}\n >\n <Button\n variant=\"contained\"\n disabled={\n !config.enabled ||\n state === ProgramState.PREPARING ||\n state === ProgramState.STARTING ||\n state === ProgramState.PAUSING ||\n (state === ProgramState.STOPPING && !requiresManualReset)\n }\n onClick={config.onClick}\n sx={{\n width: \"88px\",\n height: \"88px\",\n borderRadius: \"88px\",\n backgroundColor: config.color,\n opacity:\n config.enabled &&\n state !== ProgramState.PREPARING &&\n state !== ProgramState.STARTING &&\n state !== ProgramState.PAUSING &&\n !(state === ProgramState.STOPPING && !requiresManualReset)\n ? 1\n : 0.3,\n \"&:hover\": {\n backgroundColor: config.color,\n opacity:\n config.enabled &&\n state !== ProgramState.PREPARING &&\n state !== ProgramState.STARTING &&\n state !== ProgramState.PAUSING &&\n !(\n state === ProgramState.STOPPING &&\n !requiresManualReset\n )\n ? 0.8\n : 0.3,\n },\n \"&:disabled\": {\n backgroundColor: config.color,\n opacity: 0.3,\n },\n minWidth: \"88px\",\n flexShrink: 0,\n }}\n >\n {getButtonIcon(index)}\n </Button>\n\n <Typography\n variant=\"body1\"\n sx={{\n color:\n config.enabled &&\n state !== ProgramState.PREPARING &&\n state !== ProgramState.STARTING &&\n state !== ProgramState.PAUSING &&\n !(state === ProgramState.STOPPING && !requiresManualReset)\n ? config.color\n : theme.palette.text.disabled,\n textAlign: \"center\",\n opacity:\n config.enabled &&\n state !== ProgramState.PREPARING &&\n state !== ProgramState.STARTING &&\n state !== ProgramState.PAUSING &&\n !(state === ProgramState.STOPPING && !requiresManualReset)\n ? 1\n : 0.3,\n }}\n >\n {config.label}\n </Typography>\n </Box>\n ))}\n </Box>\n </Box>\n )\n },\n ),\n)\n\nexport default ProgramControl\n"],"names":["ProgramState","ProgramControl","externalizeComponent","observer","state","onRun","onPause","onStop","onReset","requiresManualReset","variant","className","theme","useTheme","t","useTranslation","getButtonConfigs","baseConfigs","getButtonIcon","index","iconProps","jsx","PlayArrow","Stop","Pause","buttonConfigs","Box","config","jsxs","Button","Typography"],"mappings":"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"}
@@ -52,4 +52,5 @@ export interface ProgramControlProps {
52
52
  export declare const ProgramControl: (({ state, onRun, onPause, onStop, onReset, requiresManualReset, variant, className, }: ProgramControlProps) => import("react/jsx-runtime").JSX.Element) & {
53
53
  displayName: string;
54
54
  };
55
+ export default ProgramControl;
55
56
  //# sourceMappingURL=ProgramControl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProgramControl.d.ts","sourceRoot":"","sources":["../../src/components/ProgramControl.tsx"],"names":[],"mappings":"AAWA,oBAAY,YAAY;IACtB,IAAI,SAAS;IACb,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,KAAK,UAAU;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,+CAA+C;IAC/C,KAAK,EAAE,YAAY,CAAA;IACnB,2DAA2D;IAC3D,KAAK,EAAE,MAAM,IAAI,CAAA;IACjB,+FAA+F;IAC/F,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,qDAAqD;IACrD,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B;;;;OAIG;IACH,OAAO,CAAC,EAAE,YAAY,GAAG,eAAe,CAAA;IACxC,gCAAgC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AASD;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,0FAWpB,mBAAmB;;CAsLzB,CAAA"}
1
+ {"version":3,"file":"ProgramControl.d.ts","sourceRoot":"","sources":["../../src/components/ProgramControl.tsx"],"names":[],"mappings":"AAWA,oBAAY,YAAY;IACtB,IAAI,SAAS;IACb,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,KAAK,UAAU;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,+CAA+C;IAC/C,KAAK,EAAE,YAAY,CAAA;IACnB,2DAA2D;IAC3D,KAAK,EAAE,MAAM,IAAI,CAAA;IACjB,+FAA+F;IAC/F,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,qDAAqD;IACrD,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B;;;;OAIG;IACH,OAAO,CAAC,EAAE,YAAY,GAAG,eAAe,CAAA;IACxC,gCAAgC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AASD;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,0FAWpB,mBAAmB;;CAsLzB,CAAA;AAED,eAAe,cAAc,CAAA"}
@@ -0,0 +1,147 @@
1
+ import { jsx as n, jsxs as C } from "react/jsx-runtime";
2
+ import h from "@mui/icons-material/Pause";
3
+ import c from "@mui/icons-material/PlayArrow";
4
+ import s from "@mui/icons-material/Stop";
5
+ import { useTheme as y } from "@mui/material/styles";
6
+ import d from "@mui/material/Box";
7
+ import I from "@mui/material/Button";
8
+ import k from "@mui/material/Typography";
9
+ import { observer as P } from "mobx-react-lite";
10
+ import { useTranslation as E } from "react-i18next";
11
+ import { externalizeComponent as T } from "../externalizeComponent.js";
12
+ var w = /* @__PURE__ */ ((r) => (r.IDLE = "idle", r.PREPARING = "preparing", r.STARTING = "starting", r.RUNNING = "running", r.PAUSING = "pausing", r.PAUSED = "paused", r.STOPPING = "stopping", r.COMPLETED = "completed", r.FAILED = "failed", r.STOPPED = "stopped", r.ERROR = "error", r))(w || {});
13
+ const _ = T(
14
+ P(
15
+ ({
16
+ state: r,
17
+ onRun: a,
18
+ onPause: t,
19
+ onStop: m,
20
+ onReset: A,
21
+ requiresManualReset: i = !1,
22
+ variant: u = "with_pause",
23
+ className: g
24
+ }) => {
25
+ const e = y(), { t: l } = E(), b = () => {
26
+ const o = {
27
+ run: {
28
+ enabled: r === "idle" || r === "stopped" || r === "paused" || r === "completed" || r === "failed" || r === "error",
29
+ label: l(r === "paused" ? "ProgramControl.Resume.bt" : r === "error" || r === "failed" ? "ProgramControl.Retry.bt" : "ProgramControl.Start.bt"),
30
+ color: e.palette.success.main,
31
+ onClick: a
32
+ },
33
+ pause: {
34
+ enabled: r === "running",
35
+ label: l("ProgramControl.Pause.bt"),
36
+ color: "#FFFFFF33",
37
+ onClick: t || (() => {
38
+ })
39
+ },
40
+ stop: {
41
+ enabled: r === "preparing" || r === "starting" || r === "running" || r === "pausing" || r === "paused",
42
+ label: l("ProgramControl.Stop.bt"),
43
+ color: e.palette.error.main,
44
+ onClick: m
45
+ }
46
+ };
47
+ return u === "without_pause" ? [o.run, o.stop] : [o.run, o.pause, o.stop];
48
+ }, x = (o) => {
49
+ const p = { sx: { fontSize: "55px" } };
50
+ if (u === "without_pause")
51
+ return o === 0 ? /* @__PURE__ */ n(c, { ...p }) : /* @__PURE__ */ n(s, { ...p });
52
+ switch (o) {
53
+ case 0:
54
+ return /* @__PURE__ */ n(c, { ...p });
55
+ case 1:
56
+ return /* @__PURE__ */ n(h, { ...p });
57
+ case 2:
58
+ return /* @__PURE__ */ n(s, { ...p });
59
+ default:
60
+ return null;
61
+ }
62
+ }, f = b();
63
+ return /* @__PURE__ */ n(
64
+ d,
65
+ {
66
+ className: g,
67
+ sx: {
68
+ display: "flex",
69
+ flexDirection: "column",
70
+ alignItems: "center",
71
+ gap: 2
72
+ },
73
+ children: /* @__PURE__ */ n(
74
+ d,
75
+ {
76
+ sx: {
77
+ display: "flex",
78
+ gap: "40px",
79
+ flexWrap: "wrap",
80
+ justifyContent: "center",
81
+ alignItems: "center"
82
+ },
83
+ children: f.map((o, p) => /* @__PURE__ */ C(
84
+ d,
85
+ {
86
+ sx: {
87
+ display: "flex",
88
+ flexDirection: "column",
89
+ alignItems: "center",
90
+ gap: 1
91
+ },
92
+ children: [
93
+ /* @__PURE__ */ n(
94
+ I,
95
+ {
96
+ variant: "contained",
97
+ disabled: !o.enabled || r === "preparing" || r === "starting" || r === "pausing" || r === "stopping" && !i,
98
+ onClick: o.onClick,
99
+ sx: {
100
+ width: "88px",
101
+ height: "88px",
102
+ borderRadius: "88px",
103
+ backgroundColor: o.color,
104
+ opacity: o.enabled && r !== "preparing" && r !== "starting" && r !== "pausing" && !(r === "stopping" && !i) ? 1 : 0.3,
105
+ "&:hover": {
106
+ backgroundColor: o.color,
107
+ opacity: o.enabled && r !== "preparing" && r !== "starting" && r !== "pausing" && !(r === "stopping" && !i) ? 0.8 : 0.3
108
+ },
109
+ "&:disabled": {
110
+ backgroundColor: o.color,
111
+ opacity: 0.3
112
+ },
113
+ minWidth: "88px",
114
+ flexShrink: 0
115
+ },
116
+ children: x(p)
117
+ }
118
+ ),
119
+ /* @__PURE__ */ n(
120
+ k,
121
+ {
122
+ variant: "body1",
123
+ sx: {
124
+ color: o.enabled && r !== "preparing" && r !== "starting" && r !== "pausing" && !(r === "stopping" && !i) ? o.color : e.palette.text.disabled,
125
+ textAlign: "center",
126
+ opacity: o.enabled && r !== "preparing" && r !== "starting" && r !== "pausing" && !(r === "stopping" && !i) ? 1 : 0.3
127
+ },
128
+ children: o.label
129
+ }
130
+ )
131
+ ]
132
+ },
133
+ o.label
134
+ ))
135
+ }
136
+ )
137
+ }
138
+ );
139
+ }
140
+ )
141
+ );
142
+ export {
143
+ _ as ProgramControl,
144
+ w as ProgramState,
145
+ _ as default
146
+ };
147
+ //# sourceMappingURL=ProgramControl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProgramControl.js","sources":["../../src/components/ProgramControl.tsx"],"sourcesContent":["import Pause from \"@mui/icons-material/Pause\"\nimport PlayArrow from \"@mui/icons-material/PlayArrow\"\nimport Stop from \"@mui/icons-material/Stop\"\nimport { useTheme } from \"@mui/material/styles\"\nimport Box from \"@mui/material/Box\"\nimport Button from \"@mui/material/Button\"\nimport Typography from \"@mui/material/Typography\"\nimport { observer } from \"mobx-react-lite\"\nimport { useTranslation } from \"react-i18next\"\nimport { externalizeComponent } from \"../externalizeComponent\"\n\nexport enum ProgramState {\n IDLE = \"idle\",\n PREPARING = \"preparing\",\n STARTING = \"starting\",\n RUNNING = \"running\",\n PAUSING = \"pausing\",\n PAUSED = \"paused\",\n STOPPING = \"stopping\",\n COMPLETED = \"completed\",\n FAILED = \"failed\",\n STOPPED = \"stopped\",\n ERROR = \"error\",\n}\n\nexport interface ProgramControlProps {\n /** The current state of the program control */\n state: ProgramState\n /** Callback fired when the run/resume button is clicked */\n onRun: () => void\n /** Callback fired when the pause button is clicked (only available in 'with_pause' variant) */\n onPause?: () => void\n /** Callback fired when the stop button is clicked */\n onStop: () => void\n /**\n * Function to reset the component from 'stopping' state back to 'idle'.\n * This must be called manually by the user when requiresManualReset is true.\n */\n onReset?: () => void\n /**\n * When true, the component will stay in 'stopping' state until onReset is called manually.\n * When false (default), auto-resets to 'idle' after 2 seconds.\n */\n requiresManualReset?: boolean\n /**\n * Variant of the component:\n * - 'with_pause': Shows run/pause/stop buttons (default)\n * - 'without_pause': Shows only run/stop buttons\n */\n variant?: \"with_pause\" | \"without_pause\"\n /** Additional CSS class name */\n className?: string\n}\n\ninterface ButtonConfig {\n enabled: boolean\n label: string\n color: string\n onClick: () => void\n}\n\n/**\n * A control component for program execution with run, pause, and stop functionality.\n *\n * Features:\n * - State machine with idle, preparing, starting, running, pausing, paused, stopping, completed, failed, stopped, and error states\n * - Two variants: with_pause (3 buttons) and without_pause (2 buttons)\n * - Optional manual reset functionality\n * - Responsive design with 110px circular buttons\n * - Material-UI theming integration\n */\nexport const ProgramControl = externalizeComponent(\n observer(\n ({\n state,\n onRun,\n onPause,\n onStop,\n onReset,\n requiresManualReset = false,\n variant = \"with_pause\",\n className,\n }: ProgramControlProps) => {\n const theme = useTheme()\n const { t } = useTranslation()\n\n const getButtonConfigs = (): ButtonConfig[] => {\n const baseConfigs: Record<string, ButtonConfig> = {\n run: {\n enabled:\n state === ProgramState.IDLE ||\n state === ProgramState.STOPPED ||\n state === ProgramState.PAUSED ||\n state === ProgramState.COMPLETED ||\n state === ProgramState.FAILED ||\n state === ProgramState.ERROR,\n label:\n state === ProgramState.PAUSED\n ? t(\"ProgramControl.Resume.bt\")\n : state === ProgramState.ERROR || state === ProgramState.FAILED\n ? t(\"ProgramControl.Retry.bt\")\n : t(\"ProgramControl.Start.bt\"),\n color: theme.palette.success.main,\n onClick: onRun,\n },\n pause: {\n enabled: state === ProgramState.RUNNING,\n label: t(\"ProgramControl.Pause.bt\"),\n color: \"#FFFFFF33\",\n onClick: onPause || (() => {}),\n },\n stop: {\n enabled:\n state === ProgramState.PREPARING ||\n state === ProgramState.STARTING ||\n state === ProgramState.RUNNING ||\n state === ProgramState.PAUSING ||\n state === ProgramState.PAUSED,\n label: t(\"ProgramControl.Stop.bt\"),\n color: theme.palette.error.main,\n onClick: onStop,\n },\n }\n\n if (variant === \"without_pause\") {\n return [baseConfigs.run, baseConfigs.stop]\n }\n\n return [baseConfigs.run, baseConfigs.pause, baseConfigs.stop]\n }\n\n const getButtonIcon = (index: number) => {\n const iconProps = { sx: { fontSize: \"55px\" } }\n\n if (variant === \"without_pause\") {\n return index === 0 ? (\n <PlayArrow {...iconProps} />\n ) : (\n <Stop {...iconProps} />\n )\n }\n\n switch (index) {\n case 0:\n return <PlayArrow {...iconProps} />\n case 1:\n return <Pause {...iconProps} />\n case 2:\n return <Stop {...iconProps} />\n default:\n return null\n }\n }\n\n const buttonConfigs = getButtonConfigs()\n\n return (\n <Box\n className={className}\n sx={{\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n gap: 2,\n }}\n >\n <Box\n sx={{\n display: \"flex\",\n gap: \"40px\",\n flexWrap: \"wrap\",\n justifyContent: \"center\",\n alignItems: \"center\",\n }}\n >\n {buttonConfigs.map((config, index) => (\n <Box\n key={config.label}\n sx={{\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n gap: 1,\n }}\n >\n <Button\n variant=\"contained\"\n disabled={\n !config.enabled ||\n state === ProgramState.PREPARING ||\n state === ProgramState.STARTING ||\n state === ProgramState.PAUSING ||\n (state === ProgramState.STOPPING && !requiresManualReset)\n }\n onClick={config.onClick}\n sx={{\n width: \"88px\",\n height: \"88px\",\n borderRadius: \"88px\",\n backgroundColor: config.color,\n opacity:\n config.enabled &&\n state !== ProgramState.PREPARING &&\n state !== ProgramState.STARTING &&\n state !== ProgramState.PAUSING &&\n !(state === ProgramState.STOPPING && !requiresManualReset)\n ? 1\n : 0.3,\n \"&:hover\": {\n backgroundColor: config.color,\n opacity:\n config.enabled &&\n state !== ProgramState.PREPARING &&\n state !== ProgramState.STARTING &&\n state !== ProgramState.PAUSING &&\n !(\n state === ProgramState.STOPPING &&\n !requiresManualReset\n )\n ? 0.8\n : 0.3,\n },\n \"&:disabled\": {\n backgroundColor: config.color,\n opacity: 0.3,\n },\n minWidth: \"88px\",\n flexShrink: 0,\n }}\n >\n {getButtonIcon(index)}\n </Button>\n\n <Typography\n variant=\"body1\"\n sx={{\n color:\n config.enabled &&\n state !== ProgramState.PREPARING &&\n state !== ProgramState.STARTING &&\n state !== ProgramState.PAUSING &&\n !(state === ProgramState.STOPPING && !requiresManualReset)\n ? config.color\n : theme.palette.text.disabled,\n textAlign: \"center\",\n opacity:\n config.enabled &&\n state !== ProgramState.PREPARING &&\n state !== ProgramState.STARTING &&\n state !== ProgramState.PAUSING &&\n !(state === ProgramState.STOPPING && !requiresManualReset)\n ? 1\n : 0.3,\n }}\n >\n {config.label}\n </Typography>\n </Box>\n ))}\n </Box>\n </Box>\n )\n },\n ),\n)\n\nexport default ProgramControl\n"],"names":["ProgramState","ProgramControl","externalizeComponent","observer","state","onRun","onPause","onStop","onReset","requiresManualReset","variant","className","theme","useTheme","t","useTranslation","getButtonConfigs","baseConfigs","getButtonIcon","index","iconProps","jsx","PlayArrow","Stop","Pause","buttonConfigs","Box","config","jsxs","Button","Typography"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("react/jsx-runtime"),g=require("@mui/material/styles"),A=require("@mui/material/Chip"),u=require("@mui/material/Typography"),_=require("mobx-react-lite"),m=require("react-i18next"),b=require("../externalizeComponent.cjs"),a=require("./ProgramControl.cjs"),l=b.externalizeComponent(_.observer(({programState:T,safetyState:e,operationMode:i,className:c})=>{const t=g.useTheme(),{t:r}=m.useTranslation(),S=()=>{if(e==="SAFETY_STATE_DEVICE_EMERGENCY_STOP"||e==="SAFETY_STATE_ROBOT_EMERGENCY_STOP"||e==="SAFETY_STATE_STOP_0"||e==="SAFETY_STATE_STOP_1"||e==="SAFETY_STATE_STOP_2"||e==="SAFETY_STATE_PROTECTIVE_STOP"||e==="SAFETY_STATE_STOP"||e==="SAFETY_STATE_REDUCED"||e==="SAFETY_STATE_MASTERING"||e==="SAFETY_STATE_CONFIRM_SAFETY"||e==="SAFETY_STATE_OPERATOR_SAFETY"||e==="SAFETY_STATE_RECOVERY"||e==="SAFETY_STATE_VIOLATION")return{label:r("ProgramStateIndicator.EStop.lb"),color:t.palette.error.main};if(e==="SAFETY_STATE_UNKNOWN"||e==="SAFETY_STATE_FAULT")return{label:r("ProgramStateIndicator.Error.lb"),color:t.palette.error.main};if(e==="SAFETY_STATE_NORMAL")switch(T){case a.ProgramState.PREPARING:return{label:r("ProgramStateIndicator.Preparing.lb"),color:t.palette.warning.main};case a.ProgramState.STARTING:return{label:r("ProgramStateIndicator.Starting.lb"),color:t.palette.warning.main};case a.ProgramState.RUNNING:return{label:r("ProgramStateIndicator.Running.lb"),color:t.palette.success.main};case a.ProgramState.PAUSING:return{label:r("ProgramStateIndicator.Pausing.lb"),color:t.palette.warning.main};case a.ProgramState.PAUSED:return{label:r("ProgramStateIndicator.Paused.lb"),color:t.palette.grey[600]};case a.ProgramState.STOPPING:return{label:r("ProgramStateIndicator.Stopping.lb"),color:t.palette.warning.main};case a.ProgramState.COMPLETED:return{label:r("ProgramStateIndicator.Completed.lb"),color:t.palette.success.main};case a.ProgramState.FAILED:return{label:r("ProgramStateIndicator.Failed.lb"),color:t.palette.error.main};case a.ProgramState.STOPPED:return{label:r("ProgramStateIndicator.Stopped.lb"),color:t.palette.warning.main};case a.ProgramState.ERROR:return{label:r("ProgramStateIndicator.Error.lb"),color:t.palette.error.main};default:return{label:r("ProgramStateIndicator.Ready.lb"),color:t.palette.success.main}}return{label:r("ProgramStateIndicator.Idle.lb"),color:t.palette.grey[600]}},{label:E,color:o}=S(),P=`${E} / ${(()=>{switch(i){case"OPERATION_MODE_AUTO":return r("ProgramStateIndicator.Auto.lb");case"OPERATION_MODE_MANUAL":return r("ProgramStateIndicator.Manual.lb");case"OPERATION_MODE_MANUAL_T1":return r("ProgramStateIndicator.ManualT1.lb");case"OPERATION_MODE_MANUAL_T2":return r("ProgramStateIndicator.ManualT2.lb");default:return r("ProgramStateIndicator.Auto.lb")}})()}`;return n.jsx(A,{className:c,label:n.jsx(u,{variant:"body2",sx:{fontSize:"0.75rem",lineHeight:1.2},children:P}),variant:"filled",sx:{backgroundColor:o,color:t.palette.getContrastText(o),fontWeight:500,height:"auto","& .MuiChip-label":{paddingX:1.5,paddingY:.5}}})}));exports.ProgramStateIndicator=l;exports.default=l;
2
+ //# sourceMappingURL=ProgramStateIndicator.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProgramStateIndicator.cjs","sources":["../../src/components/ProgramStateIndicator.tsx"],"sourcesContent":["import { useTheme } from \"@mui/material/styles\"\nimport Chip from \"@mui/material/Chip\"\nimport Typography from \"@mui/material/Typography\"\nimport type { OperationMode, SafetyStateType } from \"@wandelbots/nova-js/v2\"\nimport { observer } from \"mobx-react-lite\"\nimport { useTranslation } from \"react-i18next\"\nimport { externalizeComponent } from \"../externalizeComponent\"\nimport { ProgramState } from \"./ProgramControl\"\n\nexport interface ProgramStateIndicatorProps {\n /** The current state of the program */\n programState: ProgramState\n /** The current safety state of the robot controller */\n safetyState: SafetyStateType\n /** The current operation mode of the robot controller */\n operationMode: OperationMode\n /** Additional CSS class name */\n className?: string\n}\n\n/**\n * A state indicator component that displays the current program execution state\n * combined with robot controller safety and operation mode states.\n *\n * Features:\n * - Combines program state with safety and operation mode states\n * - Color-coded based on state severity (success, warning, error)\n * - Rendered as Material-UI filled chip\n * - Localization support via react-i18next\n */\nexport const ProgramStateIndicator = externalizeComponent(\n observer(\n ({\n programState,\n safetyState,\n operationMode,\n className,\n }: ProgramStateIndicatorProps) => {\n const theme = useTheme()\n const { t } = useTranslation()\n\n const getStateInfo = () => {\n // First check for emergency stop or critical safety states\n if (\n safetyState === \"SAFETY_STATE_DEVICE_EMERGENCY_STOP\" ||\n safetyState === \"SAFETY_STATE_ROBOT_EMERGENCY_STOP\" ||\n safetyState === \"SAFETY_STATE_STOP_0\" ||\n safetyState === \"SAFETY_STATE_STOP_1\" ||\n safetyState === \"SAFETY_STATE_STOP_2\" ||\n safetyState === \"SAFETY_STATE_PROTECTIVE_STOP\" ||\n safetyState === \"SAFETY_STATE_STOP\" ||\n safetyState === \"SAFETY_STATE_REDUCED\" ||\n safetyState === \"SAFETY_STATE_MASTERING\" ||\n safetyState === \"SAFETY_STATE_CONFIRM_SAFETY\" ||\n safetyState === \"SAFETY_STATE_OPERATOR_SAFETY\" ||\n safetyState === \"SAFETY_STATE_RECOVERY\" ||\n safetyState === \"SAFETY_STATE_VIOLATION\"\n ) {\n return {\n label: t(\"ProgramStateIndicator.EStop.lb\"),\n color: theme.palette.error.main,\n }\n }\n\n // Check for error states\n if (\n safetyState === \"SAFETY_STATE_UNKNOWN\" ||\n safetyState === \"SAFETY_STATE_FAULT\"\n ) {\n return {\n label: t(\"ProgramStateIndicator.Error.lb\"),\n color: theme.palette.error.main,\n }\n }\n\n // For normal safety states, check program state\n if (safetyState === \"SAFETY_STATE_NORMAL\") {\n switch (programState) {\n case ProgramState.PREPARING:\n return {\n label: t(\"ProgramStateIndicator.Preparing.lb\"),\n color: theme.palette.warning.main,\n }\n case ProgramState.STARTING:\n return {\n label: t(\"ProgramStateIndicator.Starting.lb\"),\n color: theme.palette.warning.main,\n }\n case ProgramState.RUNNING:\n return {\n label: t(\"ProgramStateIndicator.Running.lb\"),\n color: theme.palette.success.main,\n }\n case ProgramState.PAUSING:\n return {\n label: t(\"ProgramStateIndicator.Pausing.lb\"),\n color: theme.palette.warning.main,\n }\n case ProgramState.PAUSED:\n return {\n label: t(\"ProgramStateIndicator.Paused.lb\"),\n color: theme.palette.grey[600],\n }\n case ProgramState.STOPPING:\n return {\n label: t(\"ProgramStateIndicator.Stopping.lb\"),\n color: theme.palette.warning.main,\n }\n case ProgramState.COMPLETED:\n return {\n label: t(\"ProgramStateIndicator.Completed.lb\"),\n color: theme.palette.success.main,\n }\n case ProgramState.FAILED:\n return {\n label: t(\"ProgramStateIndicator.Failed.lb\"),\n color: theme.palette.error.main,\n }\n case ProgramState.STOPPED:\n return {\n label: t(\"ProgramStateIndicator.Stopped.lb\"),\n color: theme.palette.warning.main,\n }\n case ProgramState.ERROR:\n return {\n label: t(\"ProgramStateIndicator.Error.lb\"),\n color: theme.palette.error.main,\n }\n default:\n return {\n label: t(\"ProgramStateIndicator.Ready.lb\"),\n color: theme.palette.success.main,\n }\n }\n }\n\n // Default fallback\n return {\n label: t(\"ProgramStateIndicator.Idle.lb\"),\n color: theme.palette.grey[600],\n }\n }\n\n const { label, color } = getStateInfo()\n\n // Add operation mode suffix if not automatic\n const getOperationModeText = () => {\n switch (operationMode) {\n case \"OPERATION_MODE_AUTO\":\n return t(\"ProgramStateIndicator.Auto.lb\")\n case \"OPERATION_MODE_MANUAL\":\n return t(\"ProgramStateIndicator.Manual.lb\")\n case \"OPERATION_MODE_MANUAL_T1\":\n return t(\"ProgramStateIndicator.ManualT1.lb\")\n case \"OPERATION_MODE_MANUAL_T2\":\n return t(\"ProgramStateIndicator.ManualT2.lb\")\n default:\n return t(\"ProgramStateIndicator.Auto.lb\") // Default to Auto for unknown modes\n }\n }\n\n const fullLabel = `${label} / ${getOperationModeText()}`\n\n return (\n <Chip\n className={className}\n label={\n <Typography\n variant=\"body2\"\n sx={{\n fontSize: \"0.75rem\", // Smaller than body2\n lineHeight: 1.2,\n }}\n >\n {fullLabel}\n </Typography>\n }\n variant=\"filled\"\n sx={{\n backgroundColor: color,\n color: theme.palette.getContrastText(color),\n fontWeight: 500,\n height: \"auto\",\n \"& .MuiChip-label\": {\n paddingX: 1.5,\n paddingY: 0.5,\n },\n }}\n />\n )\n },\n ),\n)\n\nexport default ProgramStateIndicator\n"],"names":["ProgramStateIndicator","externalizeComponent","observer","programState","safetyState","operationMode","className","theme","useTheme","t","useTranslation","getStateInfo","ProgramState","label","color","fullLabel","jsx","Chip","Typography"],"mappings":"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"}
@@ -23,4 +23,5 @@ export interface ProgramStateIndicatorProps {
23
23
  export declare const ProgramStateIndicator: (({ programState, safetyState, operationMode, className, }: ProgramStateIndicatorProps) => import("react/jsx-runtime").JSX.Element) & {
24
24
  displayName: string;
25
25
  };
26
+ export default ProgramStateIndicator;
26
27
  //# sourceMappingURL=ProgramStateIndicator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProgramStateIndicator.d.ts","sourceRoot":"","sources":["../../src/components/ProgramStateIndicator.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAI5E,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAE/C,MAAM,WAAW,0BAA0B;IACzC,uCAAuC;IACvC,YAAY,EAAE,YAAY,CAAA;IAC1B,uDAAuD;IACvD,WAAW,EAAE,eAAe,CAAA;IAC5B,yDAAyD;IACzD,aAAa,EAAE,aAAa,CAAA;IAC5B,gCAAgC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,qBAAqB,8DAO3B,0BAA0B;;CA2JhC,CAAA"}
1
+ {"version":3,"file":"ProgramStateIndicator.d.ts","sourceRoot":"","sources":["../../src/components/ProgramStateIndicator.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAI5E,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAE/C,MAAM,WAAW,0BAA0B;IACzC,uCAAuC;IACvC,YAAY,EAAE,YAAY,CAAA;IAC1B,uDAAuD;IACvD,WAAW,EAAE,eAAe,CAAA;IAC5B,yDAAyD;IACzD,aAAa,EAAE,aAAa,CAAA;IAC5B,gCAAgC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,qBAAqB,8DAO3B,0BAA0B;;CA2JhC,CAAA;AAED,eAAe,qBAAqB,CAAA"}