@wandelbots/wandelbots-js-react-components 5.5.1-pr.fix-standardize-output.591.1380385 → 5.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (874) hide show
  1. package/dist/3d.cjs +2 -1
  2. package/dist/3d.cjs.map +1 -0
  3. package/dist/3d.d.ts +1 -0
  4. package/dist/3d.d.ts.map +1 -0
  5. package/dist/3d.js +1 -0
  6. package/dist/3d.js.map +1 -0
  7. package/dist/Setup.d.ts +1 -0
  8. package/dist/Setup.d.ts.map +1 -0
  9. package/dist/components/3d-viewport/CoordinateSystemTransform.d.ts +1 -0
  10. package/dist/components/3d-viewport/CoordinateSystemTransform.d.ts.map +1 -0
  11. package/dist/components/3d-viewport/PresetEnvironment.cjs +1 -0
  12. package/dist/components/3d-viewport/PresetEnvironment.cjs.map +1 -0
  13. package/dist/components/3d-viewport/PresetEnvironment.d.ts +1 -0
  14. package/dist/components/3d-viewport/PresetEnvironment.d.ts.map +1 -0
  15. package/dist/components/3d-viewport/PresetEnvironment.js +1 -0
  16. package/dist/components/3d-viewport/PresetEnvironment.js.map +1 -0
  17. package/dist/components/3d-viewport/SafetyZonesRenderer.cjs +2 -1
  18. package/dist/components/3d-viewport/SafetyZonesRenderer.cjs.map +1 -0
  19. package/dist/components/3d-viewport/SafetyZonesRenderer.d.ts +1 -0
  20. package/dist/components/3d-viewport/SafetyZonesRenderer.d.ts.map +1 -0
  21. package/dist/components/3d-viewport/SafetyZonesRenderer.js +1 -0
  22. package/dist/components/3d-viewport/SafetyZonesRenderer.js.map +1 -0
  23. package/dist/components/3d-viewport/TrajectoryRenderer.cjs +1 -0
  24. package/dist/components/3d-viewport/TrajectoryRenderer.cjs.map +1 -0
  25. package/dist/components/3d-viewport/TrajectoryRenderer.d.ts +1 -0
  26. package/dist/components/3d-viewport/TrajectoryRenderer.d.ts.map +1 -0
  27. package/dist/components/3d-viewport/TrajectoryRenderer.js +1 -0
  28. package/dist/components/3d-viewport/TrajectoryRenderer.js.map +1 -0
  29. package/dist/components/3d-viewport/collider/ColliderCollection.cjs +2 -1
  30. package/dist/components/3d-viewport/collider/ColliderCollection.cjs.map +1 -0
  31. package/dist/components/3d-viewport/collider/ColliderCollection.d.ts +1 -0
  32. package/dist/components/3d-viewport/collider/ColliderCollection.d.ts.map +1 -0
  33. package/dist/components/3d-viewport/collider/ColliderCollection.js +1 -0
  34. package/dist/components/3d-viewport/collider/ColliderCollection.js.map +1 -0
  35. package/dist/components/3d-viewport/collider/ColliderElement.cjs +2 -1
  36. package/dist/components/3d-viewport/collider/ColliderElement.cjs.map +1 -0
  37. package/dist/components/3d-viewport/collider/ColliderElement.d.ts +1 -0
  38. package/dist/components/3d-viewport/collider/ColliderElement.d.ts.map +1 -0
  39. package/dist/components/3d-viewport/collider/ColliderElement.js +1 -0
  40. package/dist/components/3d-viewport/collider/ColliderElement.js.map +1 -0
  41. package/dist/components/3d-viewport/collider/CollisionSceneRenderer.cjs +2 -1
  42. package/dist/components/3d-viewport/collider/CollisionSceneRenderer.cjs.map +1 -0
  43. package/dist/components/3d-viewport/collider/CollisionSceneRenderer.d.ts +1 -0
  44. package/dist/components/3d-viewport/collider/CollisionSceneRenderer.d.ts.map +1 -0
  45. package/dist/components/3d-viewport/collider/CollisionSceneRenderer.js +1 -0
  46. package/dist/components/3d-viewport/collider/CollisionSceneRenderer.js.map +1 -0
  47. package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.cjs +1 -0
  48. package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.cjs.map +1 -0
  49. package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.d.ts +1 -0
  50. package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.d.ts.map +1 -0
  51. package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.js +1 -0
  52. package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.js.map +1 -0
  53. package/dist/components/AppHeader.cjs +2 -1
  54. package/dist/components/AppHeader.cjs.map +1 -0
  55. package/dist/components/AppHeader.d.ts +1 -0
  56. package/dist/components/AppHeader.d.ts.map +1 -0
  57. package/dist/components/AppHeader.js +34 -40
  58. package/dist/components/AppHeader.js.map +1 -0
  59. package/dist/components/ConsoleFilter.cjs +1 -0
  60. package/dist/components/ConsoleFilter.cjs.map +1 -0
  61. package/dist/components/ConsoleFilter.d.ts +1 -0
  62. package/dist/components/ConsoleFilter.d.ts.map +1 -0
  63. package/dist/components/ConsoleFilter.js +1 -0
  64. package/dist/components/ConsoleFilter.js.map +1 -0
  65. package/dist/components/CopyableText.cjs +1 -0
  66. package/dist/components/CopyableText.cjs.map +1 -0
  67. package/dist/components/CopyableText.d.ts +1 -0
  68. package/dist/components/CopyableText.d.ts.map +1 -0
  69. package/dist/components/CopyableText.js +1 -0
  70. package/dist/components/CopyableText.js.map +1 -0
  71. package/dist/components/CycleTimer/CycleTimer.d.ts +1 -0
  72. package/dist/components/CycleTimer/CycleTimer.d.ts.map +1 -0
  73. package/dist/components/CycleTimer/DefaultVariant.cjs +2 -1
  74. package/dist/components/CycleTimer/DefaultVariant.cjs.map +1 -0
  75. package/dist/components/CycleTimer/DefaultVariant.d.ts +1 -0
  76. package/dist/components/CycleTimer/DefaultVariant.d.ts.map +1 -0
  77. package/dist/components/CycleTimer/DefaultVariant.js +1 -0
  78. package/dist/components/CycleTimer/DefaultVariant.js.map +1 -0
  79. package/dist/components/CycleTimer/SmallVariant.cjs +1 -0
  80. package/dist/components/CycleTimer/SmallVariant.cjs.map +1 -0
  81. package/dist/components/CycleTimer/SmallVariant.d.ts +1 -0
  82. package/dist/components/CycleTimer/SmallVariant.d.ts.map +1 -0
  83. package/dist/components/CycleTimer/SmallVariant.js +1 -0
  84. package/dist/components/CycleTimer/SmallVariant.js.map +1 -0
  85. package/dist/components/CycleTimer/index.cjs +2 -1
  86. package/dist/components/CycleTimer/index.cjs.map +1 -0
  87. package/dist/components/CycleTimer/index.d.ts +1 -0
  88. package/dist/components/CycleTimer/index.d.ts.map +1 -0
  89. package/dist/components/CycleTimer/index.js +2 -1
  90. package/dist/components/CycleTimer/index.js.map +1 -0
  91. package/dist/components/CycleTimer/types.d.ts +1 -0
  92. package/dist/components/CycleTimer/types.d.ts.map +1 -0
  93. package/dist/components/CycleTimer/useAnimations.cjs +1 -0
  94. package/dist/components/CycleTimer/useAnimations.cjs.map +1 -0
  95. package/dist/components/CycleTimer/useAnimations.d.ts +1 -0
  96. package/dist/components/CycleTimer/useAnimations.d.ts.map +1 -0
  97. package/dist/components/CycleTimer/useAnimations.js +2 -9
  98. package/dist/components/CycleTimer/useAnimations.js.map +1 -0
  99. package/dist/components/CycleTimer/useTimerLogic.cjs +2 -1
  100. package/dist/components/CycleTimer/useTimerLogic.cjs.map +1 -0
  101. package/dist/components/CycleTimer/useTimerLogic.d.ts +1 -0
  102. package/dist/components/CycleTimer/useTimerLogic.d.ts.map +1 -0
  103. package/dist/components/CycleTimer/useTimerLogic.js +1 -0
  104. package/dist/components/CycleTimer/useTimerLogic.js.map +1 -0
  105. package/dist/components/CycleTimer/utils.cjs +2 -1
  106. package/dist/components/CycleTimer/utils.cjs.map +1 -0
  107. package/dist/components/CycleTimer/utils.d.ts +1 -0
  108. package/dist/components/CycleTimer/utils.d.ts.map +1 -0
  109. package/dist/components/CycleTimer/utils.js +11 -19
  110. package/dist/components/CycleTimer/utils.js.map +1 -0
  111. package/dist/components/CycleTimer.cjs +1 -0
  112. package/dist/components/CycleTimer.cjs.map +1 -0
  113. package/dist/components/CycleTimer.d.ts +1 -0
  114. package/dist/components/CycleTimer.d.ts.map +1 -0
  115. package/dist/components/CycleTimer.js +1 -0
  116. package/dist/components/CycleTimer.js.map +1 -0
  117. package/dist/components/DataGrid.cjs +2 -1
  118. package/dist/components/DataGrid.cjs.map +1 -0
  119. package/dist/components/DataGrid.d.ts +1 -0
  120. package/dist/components/DataGrid.d.ts.map +1 -0
  121. package/dist/components/DataGrid.js +2 -1
  122. package/dist/components/DataGrid.js.map +1 -0
  123. package/dist/components/LoadingCover.cjs +2 -1
  124. package/dist/components/LoadingCover.cjs.map +1 -0
  125. package/dist/components/LoadingCover.d.ts +1 -0
  126. package/dist/components/LoadingCover.d.ts.map +1 -0
  127. package/dist/components/LoadingCover.js +1 -0
  128. package/dist/components/LoadingCover.js.map +1 -0
  129. package/dist/components/LogPanel.cjs +2 -1
  130. package/dist/components/LogPanel.cjs.map +1 -0
  131. package/dist/components/LogPanel.d.ts +1 -0
  132. package/dist/components/LogPanel.d.ts.map +1 -0
  133. package/dist/components/LogPanel.js +2 -1
  134. package/dist/components/LogPanel.js.map +1 -0
  135. package/dist/components/LogStore.cjs +1 -0
  136. package/dist/components/LogStore.cjs.map +1 -0
  137. package/dist/components/LogStore.d.ts +1 -0
  138. package/dist/components/LogStore.d.ts.map +1 -0
  139. package/dist/components/LogStore.js +1 -0
  140. package/dist/components/LogStore.js.map +1 -0
  141. package/dist/components/LogViewer.cjs +2 -1
  142. package/dist/components/LogViewer.cjs.map +1 -0
  143. package/dist/components/LogViewer.d.ts +1 -0
  144. package/dist/components/LogViewer.d.ts.map +1 -0
  145. package/dist/components/LogViewer.js +2 -1
  146. package/dist/components/LogViewer.js.map +1 -0
  147. package/dist/components/ProgramControl.cjs +2 -1
  148. package/dist/components/ProgramControl.cjs.map +1 -0
  149. package/dist/components/ProgramControl.d.ts +1 -0
  150. package/dist/components/ProgramControl.d.ts.map +1 -0
  151. package/dist/components/ProgramControl.js +7 -6
  152. package/dist/components/ProgramControl.js.map +1 -0
  153. package/dist/components/ProgramStateIndicator.cjs +2 -1
  154. package/dist/components/ProgramStateIndicator.cjs.map +1 -0
  155. package/dist/components/ProgramStateIndicator.d.ts +1 -0
  156. package/dist/components/ProgramStateIndicator.d.ts.map +1 -0
  157. package/dist/components/ProgramStateIndicator.js +29 -28
  158. package/dist/components/ProgramStateIndicator.js.map +1 -0
  159. package/dist/components/RobotCard.cjs +2 -1
  160. package/dist/components/RobotCard.cjs.map +1 -0
  161. package/dist/components/RobotCard.d.ts +1 -0
  162. package/dist/components/RobotCard.d.ts.map +1 -0
  163. package/dist/components/RobotCard.js +2 -1
  164. package/dist/components/RobotCard.js.map +1 -0
  165. package/dist/components/RobotListItem.cjs +2 -1
  166. package/dist/components/RobotListItem.cjs.map +1 -0
  167. package/dist/components/RobotListItem.d.ts +1 -0
  168. package/dist/components/RobotListItem.d.ts.map +1 -0
  169. package/dist/components/RobotListItem.js +26 -25
  170. package/dist/components/RobotListItem.js.map +1 -0
  171. package/dist/components/RobotSetupReadinessIndicator.cjs +2 -1
  172. package/dist/components/RobotSetupReadinessIndicator.cjs.map +1 -0
  173. package/dist/components/RobotSetupReadinessIndicator.d.ts +1 -0
  174. package/dist/components/RobotSetupReadinessIndicator.d.ts.map +1 -0
  175. package/dist/components/RobotSetupReadinessIndicator.js +2 -1
  176. package/dist/components/RobotSetupReadinessIndicator.js.map +1 -0
  177. package/dist/components/RobotSetupReadinessIndicator.test.d.ts +2 -0
  178. package/dist/components/RobotSetupReadinessIndicator.test.d.ts.map +1 -0
  179. package/dist/components/SelectableFab.cjs +1 -0
  180. package/dist/components/SelectableFab.cjs.map +1 -0
  181. package/dist/components/SelectableFab.d.ts +1 -0
  182. package/dist/components/SelectableFab.d.ts.map +1 -0
  183. package/dist/components/SelectableFab.js +1 -0
  184. package/dist/components/SelectableFab.js.map +1 -0
  185. package/dist/components/TabBar.cjs +2 -1
  186. package/dist/components/TabBar.cjs.map +1 -0
  187. package/dist/components/TabBar.d.ts +1 -0
  188. package/dist/components/TabBar.d.ts.map +1 -0
  189. package/dist/components/TabBar.js +2 -1
  190. package/dist/components/TabBar.js.map +1 -0
  191. package/dist/components/ThemeSelect.d.ts +1 -0
  192. package/dist/components/ThemeSelect.d.ts.map +1 -0
  193. package/dist/components/Timer/Timer.d.ts +1 -0
  194. package/dist/components/Timer/Timer.d.ts.map +1 -0
  195. package/dist/components/Timer/TimerDefaultVariant.cjs +1 -0
  196. package/dist/components/Timer/TimerDefaultVariant.cjs.map +1 -0
  197. package/dist/components/Timer/TimerDefaultVariant.d.ts +1 -0
  198. package/dist/components/Timer/TimerDefaultVariant.d.ts.map +1 -0
  199. package/dist/components/Timer/TimerDefaultVariant.js +1 -0
  200. package/dist/components/Timer/TimerDefaultVariant.js.map +1 -0
  201. package/dist/components/Timer/TimerSmallVariant.cjs +1 -0
  202. package/dist/components/Timer/TimerSmallVariant.cjs.map +1 -0
  203. package/dist/components/Timer/TimerSmallVariant.d.ts +1 -0
  204. package/dist/components/Timer/TimerSmallVariant.d.ts.map +1 -0
  205. package/dist/components/Timer/TimerSmallVariant.js +1 -0
  206. package/dist/components/Timer/TimerSmallVariant.js.map +1 -0
  207. package/dist/components/Timer/index.cjs +2 -1
  208. package/dist/components/Timer/index.cjs.map +1 -0
  209. package/dist/components/Timer/index.d.ts +1 -0
  210. package/dist/components/Timer/index.d.ts.map +1 -0
  211. package/dist/components/Timer/index.js +12 -11
  212. package/dist/components/Timer/index.js.map +1 -0
  213. package/dist/components/Timer/types.d.ts +1 -0
  214. package/dist/components/Timer/types.d.ts.map +1 -0
  215. package/dist/components/Timer/useTimerAnimations.cjs +1 -0
  216. package/dist/components/Timer/useTimerAnimations.cjs.map +1 -0
  217. package/dist/components/Timer/useTimerAnimations.d.ts +1 -0
  218. package/dist/components/Timer/useTimerAnimations.d.ts.map +1 -0
  219. package/dist/components/Timer/useTimerAnimations.js +2 -5
  220. package/dist/components/Timer/useTimerAnimations.js.map +1 -0
  221. package/dist/components/Timer/useTimerLogic.cjs +1 -0
  222. package/dist/components/Timer/useTimerLogic.cjs.map +1 -0
  223. package/dist/components/Timer/useTimerLogic.d.ts +1 -0
  224. package/dist/components/Timer/useTimerLogic.d.ts.map +1 -0
  225. package/dist/components/Timer/useTimerLogic.js +1 -0
  226. package/dist/components/Timer/useTimerLogic.js.map +1 -0
  227. package/dist/components/Timer/utils.cjs +2 -1
  228. package/dist/components/Timer/utils.cjs.map +1 -0
  229. package/dist/components/Timer/utils.d.ts +1 -0
  230. package/dist/components/Timer/utils.d.ts.map +1 -0
  231. package/dist/components/Timer/utils.js +10 -10
  232. package/dist/components/Timer/utils.js.map +1 -0
  233. package/dist/components/Timer.cjs +1 -0
  234. package/dist/components/Timer.cjs.map +1 -0
  235. package/dist/components/Timer.d.ts +1 -0
  236. package/dist/components/Timer.d.ts.map +1 -0
  237. package/dist/components/Timer.js +1 -0
  238. package/dist/components/Timer.js.map +1 -0
  239. package/dist/components/TransparentOverlay.d.ts +1 -0
  240. package/dist/components/TransparentOverlay.d.ts.map +1 -0
  241. package/dist/components/VelocitySlider.cjs +1 -0
  242. package/dist/components/VelocitySlider.cjs.map +1 -0
  243. package/dist/components/VelocitySlider.d.ts +1 -0
  244. package/dist/components/VelocitySlider.d.ts.map +1 -0
  245. package/dist/components/VelocitySlider.js +1 -0
  246. package/dist/components/VelocitySlider.js.map +1 -0
  247. package/dist/components/experimental/utils/AdornedSelect.cjs +1 -0
  248. package/dist/components/experimental/utils/AdornedSelect.cjs.map +1 -0
  249. package/dist/components/experimental/utils/AdornedSelect.d.ts +1 -0
  250. package/dist/components/experimental/utils/AdornedSelect.d.ts.map +1 -0
  251. package/dist/components/experimental/utils/AdornedSelect.js +1 -0
  252. package/dist/components/experimental/utils/AdornedSelect.js.map +1 -0
  253. package/dist/components/jogging/JoggingBlocked.cjs +1 -0
  254. package/dist/components/jogging/JoggingBlocked.cjs.map +1 -0
  255. package/dist/components/jogging/JoggingBlocked.d.ts +1 -0
  256. package/dist/components/jogging/JoggingBlocked.d.ts.map +1 -0
  257. package/dist/components/jogging/JoggingBlocked.js +1 -0
  258. package/dist/components/jogging/JoggingBlocked.js.map +1 -0
  259. package/dist/components/jogging/JoggingCartesianAxisControl.cjs +2 -1
  260. package/dist/components/jogging/JoggingCartesianAxisControl.cjs.map +1 -0
  261. package/dist/components/jogging/JoggingCartesianAxisControl.d.ts +1 -0
  262. package/dist/components/jogging/JoggingCartesianAxisControl.d.ts.map +1 -0
  263. package/dist/components/jogging/JoggingCartesianAxisControl.js +20 -18
  264. package/dist/components/jogging/JoggingCartesianAxisControl.js.map +1 -0
  265. package/dist/components/jogging/JoggingCartesianTab.cjs +2 -1
  266. package/dist/components/jogging/JoggingCartesianTab.cjs.map +1 -0
  267. package/dist/components/jogging/JoggingCartesianTab.d.ts +1 -0
  268. package/dist/components/jogging/JoggingCartesianTab.d.ts.map +1 -0
  269. package/dist/components/jogging/JoggingCartesianTab.js +41 -37
  270. package/dist/components/jogging/JoggingCartesianTab.js.map +1 -0
  271. package/dist/components/jogging/JoggingFreedriveTab.d.ts +1 -0
  272. package/dist/components/jogging/JoggingFreedriveTab.d.ts.map +1 -0
  273. package/dist/components/jogging/JoggingJointLimitDetector.cjs +1 -0
  274. package/dist/components/jogging/JoggingJointLimitDetector.cjs.map +1 -0
  275. package/dist/components/jogging/JoggingJointLimitDetector.d.ts +1 -0
  276. package/dist/components/jogging/JoggingJointLimitDetector.d.ts.map +1 -0
  277. package/dist/components/jogging/JoggingJointLimitDetector.js +1 -0
  278. package/dist/components/jogging/JoggingJointLimitDetector.js.map +1 -0
  279. package/dist/components/jogging/JoggingJointTab.cjs +2 -1
  280. package/dist/components/jogging/JoggingJointTab.cjs.map +1 -0
  281. package/dist/components/jogging/JoggingJointTab.d.ts +1 -0
  282. package/dist/components/jogging/JoggingJointTab.d.ts.map +1 -0
  283. package/dist/components/jogging/JoggingJointTab.js +1 -0
  284. package/dist/components/jogging/JoggingJointTab.js.map +1 -0
  285. package/dist/components/jogging/JoggingJointValueControl.cjs +2 -1
  286. package/dist/components/jogging/JoggingJointValueControl.cjs.map +1 -0
  287. package/dist/components/jogging/JoggingJointValueControl.d.ts +1 -0
  288. package/dist/components/jogging/JoggingJointValueControl.d.ts.map +1 -0
  289. package/dist/components/jogging/JoggingJointValueControl.js +2 -1
  290. package/dist/components/jogging/JoggingJointValueControl.js.map +1 -0
  291. package/dist/components/jogging/JoggingOptions.cjs +2 -1
  292. package/dist/components/jogging/JoggingOptions.cjs.map +1 -0
  293. package/dist/components/jogging/JoggingOptions.d.ts +1 -0
  294. package/dist/components/jogging/JoggingOptions.d.ts.map +1 -0
  295. package/dist/components/jogging/JoggingOptions.js +1 -0
  296. package/dist/components/jogging/JoggingOptions.js.map +1 -0
  297. package/dist/components/jogging/JoggingPanel.cjs +2 -1
  298. package/dist/components/jogging/JoggingPanel.cjs.map +1 -0
  299. package/dist/components/jogging/JoggingPanel.d.ts +1 -0
  300. package/dist/components/jogging/JoggingPanel.d.ts.map +1 -0
  301. package/dist/components/jogging/JoggingPanel.js +119 -21
  302. package/dist/components/jogging/JoggingPanel.js.map +1 -0
  303. package/dist/components/jogging/JoggingPanel.test.d.ts +2 -0
  304. package/dist/components/jogging/JoggingPanel.test.d.ts.map +1 -0
  305. package/dist/components/jogging/JoggingStore.cjs +1 -0
  306. package/dist/components/jogging/JoggingStore.cjs.map +1 -0
  307. package/dist/components/jogging/JoggingStore.d.ts +1 -0
  308. package/dist/components/jogging/JoggingStore.d.ts.map +1 -0
  309. package/dist/components/jogging/JoggingStore.js +1 -0
  310. package/dist/components/jogging/JoggingStore.js.map +1 -0
  311. package/dist/components/jogging/JoggingToggleButtonGroup.cjs +1 -0
  312. package/dist/components/jogging/JoggingToggleButtonGroup.cjs.map +1 -0
  313. package/dist/components/jogging/JoggingToggleButtonGroup.d.ts +1 -0
  314. package/dist/components/jogging/JoggingToggleButtonGroup.d.ts.map +1 -0
  315. package/dist/components/jogging/JoggingToggleButtonGroup.js +1 -0
  316. package/dist/components/jogging/JoggingToggleButtonGroup.js.map +1 -0
  317. package/dist/components/jogging/JoggingVelocitySlider.cjs +1 -0
  318. package/dist/components/jogging/JoggingVelocitySlider.cjs.map +1 -0
  319. package/dist/components/jogging/JoggingVelocitySlider.d.ts +1 -0
  320. package/dist/components/jogging/JoggingVelocitySlider.d.ts.map +1 -0
  321. package/dist/components/jogging/JoggingVelocitySlider.js +1 -0
  322. package/dist/components/jogging/JoggingVelocitySlider.js.map +1 -0
  323. package/dist/components/jogging/PoseCartesianValues.cjs +2 -1
  324. package/dist/components/jogging/PoseCartesianValues.cjs.map +1 -0
  325. package/dist/components/jogging/PoseCartesianValues.d.ts +1 -0
  326. package/dist/components/jogging/PoseCartesianValues.d.ts.map +1 -0
  327. package/dist/components/jogging/PoseCartesianValues.js +5 -4
  328. package/dist/components/jogging/PoseCartesianValues.js.map +1 -0
  329. package/dist/components/jogging/PoseJointValues.cjs +2 -1
  330. package/dist/components/jogging/PoseJointValues.cjs.map +1 -0
  331. package/dist/components/jogging/PoseJointValues.d.ts +1 -0
  332. package/dist/components/jogging/PoseJointValues.d.ts.map +1 -0
  333. package/dist/components/jogging/PoseJointValues.js +2 -1
  334. package/dist/components/jogging/PoseJointValues.js.map +1 -0
  335. package/dist/components/jogging/__fixtures__/motionStreamMockData.d.ts +11 -0
  336. package/dist/components/jogging/__fixtures__/motionStreamMockData.d.ts.map +1 -0
  337. package/dist/components/modal/NoMotionGroupModal.cjs +1 -0
  338. package/dist/components/modal/NoMotionGroupModal.cjs.map +1 -0
  339. package/dist/components/modal/NoMotionGroupModal.d.ts +1 -0
  340. package/dist/components/modal/NoMotionGroupModal.d.ts.map +1 -0
  341. package/dist/components/modal/NoMotionGroupModal.js +1 -0
  342. package/dist/components/modal/NoMotionGroupModal.js.map +1 -0
  343. package/dist/components/robots/AxisConfig.cjs +1 -0
  344. package/dist/components/robots/AxisConfig.cjs.map +1 -0
  345. package/dist/components/robots/AxisConfig.d.ts +1 -0
  346. package/dist/components/robots/AxisConfig.d.ts.map +1 -0
  347. package/dist/components/robots/AxisConfig.js +1 -0
  348. package/dist/components/robots/AxisConfig.js.map +1 -0
  349. package/dist/components/robots/DHLinearAxis.cjs +2 -1
  350. package/dist/components/robots/DHLinearAxis.cjs.map +1 -0
  351. package/dist/components/robots/DHLinearAxis.d.ts +1 -0
  352. package/dist/components/robots/DHLinearAxis.d.ts.map +1 -0
  353. package/dist/components/robots/DHLinearAxis.js +1 -0
  354. package/dist/components/robots/DHLinearAxis.js.map +1 -0
  355. package/dist/components/robots/DHRobot.cjs +2 -1
  356. package/dist/components/robots/DHRobot.cjs.map +1 -0
  357. package/dist/components/robots/DHRobot.d.ts +1 -0
  358. package/dist/components/robots/DHRobot.d.ts.map +1 -0
  359. package/dist/components/robots/DHRobot.js +1 -0
  360. package/dist/components/robots/DHRobot.js.map +1 -0
  361. package/dist/components/robots/GenericRobot.cjs +1 -0
  362. package/dist/components/robots/GenericRobot.cjs.map +1 -0
  363. package/dist/components/robots/GenericRobot.d.ts +1 -0
  364. package/dist/components/robots/GenericRobot.d.ts.map +1 -0
  365. package/dist/components/robots/GenericRobot.js +1 -0
  366. package/dist/components/robots/GenericRobot.js.map +1 -0
  367. package/dist/components/robots/LinearAxis.cjs +2 -1
  368. package/dist/components/robots/LinearAxis.cjs.map +1 -0
  369. package/dist/components/robots/LinearAxis.d.ts +1 -0
  370. package/dist/components/robots/LinearAxis.d.ts.map +1 -0
  371. package/dist/components/robots/LinearAxis.js +1 -0
  372. package/dist/components/robots/LinearAxis.js.map +1 -0
  373. package/dist/components/robots/LinearAxisAnimator.cjs +2 -1
  374. package/dist/components/robots/LinearAxisAnimator.cjs.map +1 -0
  375. package/dist/components/robots/LinearAxisAnimator.d.ts +1 -0
  376. package/dist/components/robots/LinearAxisAnimator.d.ts.map +1 -0
  377. package/dist/components/robots/LinearAxisAnimator.js +1 -0
  378. package/dist/components/robots/LinearAxisAnimator.js.map +1 -0
  379. package/dist/components/robots/MotionGroupVisualizer.cjs +2 -1
  380. package/dist/components/robots/MotionGroupVisualizer.cjs.map +1 -0
  381. package/dist/components/robots/MotionGroupVisualizer.d.ts +1 -0
  382. package/dist/components/robots/MotionGroupVisualizer.d.ts.map +1 -0
  383. package/dist/components/robots/MotionGroupVisualizer.js +5 -4
  384. package/dist/components/robots/MotionGroupVisualizer.js.map +1 -0
  385. package/dist/components/robots/Robot.cjs +2 -1
  386. package/dist/components/robots/Robot.cjs.map +1 -0
  387. package/dist/components/robots/Robot.d.ts +1 -0
  388. package/dist/components/robots/Robot.d.ts.map +1 -0
  389. package/dist/components/robots/Robot.js +1 -0
  390. package/dist/components/robots/Robot.js.map +1 -0
  391. package/dist/components/robots/RobotAnimator.cjs +2 -1
  392. package/dist/components/robots/RobotAnimator.cjs.map +1 -0
  393. package/dist/components/robots/RobotAnimator.d.ts +1 -0
  394. package/dist/components/robots/RobotAnimator.d.ts.map +1 -0
  395. package/dist/components/robots/RobotAnimator.js +1 -0
  396. package/dist/components/robots/RobotAnimator.js.map +1 -0
  397. package/dist/components/robots/RobotAnimator.test.d.ts +2 -0
  398. package/dist/components/robots/RobotAnimator.test.d.ts.map +1 -0
  399. package/dist/components/robots/SupportedLinearAxis.cjs +2 -1
  400. package/dist/components/robots/SupportedLinearAxis.cjs.map +1 -0
  401. package/dist/components/robots/SupportedLinearAxis.d.ts +1 -0
  402. package/dist/components/robots/SupportedLinearAxis.d.ts.map +1 -0
  403. package/dist/components/robots/SupportedLinearAxis.js +8 -7
  404. package/dist/components/robots/SupportedLinearAxis.js.map +1 -0
  405. package/dist/components/robots/SupportedRobot.cjs +2 -1
  406. package/dist/components/robots/SupportedRobot.cjs.map +1 -0
  407. package/dist/components/robots/SupportedRobot.d.ts +1 -0
  408. package/dist/components/robots/SupportedRobot.d.ts.map +1 -0
  409. package/dist/components/robots/SupportedRobot.js +7 -6
  410. package/dist/components/robots/SupportedRobot.js.map +1 -0
  411. package/dist/components/robots/ghostStyle.cjs +1 -0
  412. package/dist/components/robots/ghostStyle.cjs.map +1 -0
  413. package/dist/components/robots/ghostStyle.d.ts +1 -0
  414. package/dist/components/robots/ghostStyle.d.ts.map +1 -0
  415. package/dist/components/robots/ghostStyle.js +1 -0
  416. package/dist/components/robots/ghostStyle.js.map +1 -0
  417. package/dist/components/robots/manufacturerHomePositions.cjs +1 -0
  418. package/dist/components/robots/manufacturerHomePositions.cjs.map +1 -0
  419. package/dist/components/robots/manufacturerHomePositions.d.ts +1 -0
  420. package/dist/components/robots/manufacturerHomePositions.d.ts.map +1 -0
  421. package/dist/components/robots/manufacturerHomePositions.js +1 -0
  422. package/dist/components/robots/manufacturerHomePositions.js.map +1 -0
  423. package/dist/components/robots/robotModelLogic.cjs +2 -1
  424. package/dist/components/robots/robotModelLogic.cjs.map +1 -0
  425. package/dist/components/robots/robotModelLogic.d.ts +1 -0
  426. package/dist/components/robots/robotModelLogic.d.ts.map +1 -0
  427. package/dist/components/robots/robotModelLogic.js +34 -58
  428. package/dist/components/robots/robotModelLogic.js.map +1 -0
  429. package/dist/components/safetyBar/ControllerTypeIndicator.cjs +2 -1
  430. package/dist/components/safetyBar/ControllerTypeIndicator.cjs.map +1 -0
  431. package/dist/components/safetyBar/ControllerTypeIndicator.d.ts +1 -0
  432. package/dist/components/safetyBar/ControllerTypeIndicator.d.ts.map +1 -0
  433. package/dist/components/safetyBar/ControllerTypeIndicator.js +12 -10
  434. package/dist/components/safetyBar/ControllerTypeIndicator.js.map +1 -0
  435. package/dist/components/safetyBar/IndicatorWithExplanation.cjs +1 -0
  436. package/dist/components/safetyBar/IndicatorWithExplanation.cjs.map +1 -0
  437. package/dist/components/safetyBar/IndicatorWithExplanation.d.ts +1 -0
  438. package/dist/components/safetyBar/IndicatorWithExplanation.d.ts.map +1 -0
  439. package/dist/components/safetyBar/IndicatorWithExplanation.js +1 -0
  440. package/dist/components/safetyBar/IndicatorWithExplanation.js.map +1 -0
  441. package/dist/components/safetyBar/OperationModeIndicator.cjs +2 -1
  442. package/dist/components/safetyBar/OperationModeIndicator.cjs.map +1 -0
  443. package/dist/components/safetyBar/OperationModeIndicator.d.ts +1 -0
  444. package/dist/components/safetyBar/OperationModeIndicator.d.ts.map +1 -0
  445. package/dist/components/safetyBar/OperationModeIndicator.js +24 -21
  446. package/dist/components/safetyBar/OperationModeIndicator.js.map +1 -0
  447. package/dist/components/safetyBar/SafetyBar.cjs +2 -1
  448. package/dist/components/safetyBar/SafetyBar.cjs.map +1 -0
  449. package/dist/components/safetyBar/SafetyBar.d.ts +1 -0
  450. package/dist/components/safetyBar/SafetyBar.d.ts.map +1 -0
  451. package/dist/components/safetyBar/SafetyBar.js +16 -15
  452. package/dist/components/safetyBar/SafetyBar.js.map +1 -0
  453. package/dist/components/safetyBar/SafetyStateIndicator.cjs +2 -1
  454. package/dist/components/safetyBar/SafetyStateIndicator.cjs.map +1 -0
  455. package/dist/components/safetyBar/SafetyStateIndicator.d.ts +1 -0
  456. package/dist/components/safetyBar/SafetyStateIndicator.d.ts.map +1 -0
  457. package/dist/components/safetyBar/SafetyStateIndicator.js +30 -25
  458. package/dist/components/safetyBar/SafetyStateIndicator.js.map +1 -0
  459. package/dist/components/safetyBar/icons/controller-type-physical.svg.cjs +2 -0
  460. package/dist/components/safetyBar/icons/controller-type-physical.svg.cjs.map +1 -0
  461. package/dist/components/safetyBar/icons/controller-type-physical.svg.d.ts +3 -0
  462. package/dist/{chunks/controller-type-virtual-CWOoMRfl.js → components/safetyBar/icons/controller-type-physical.svg.js} +6 -10
  463. package/dist/components/safetyBar/icons/controller-type-physical.svg.js.map +1 -0
  464. package/dist/components/safetyBar/icons/controller-type-virtual.svg.cjs +2 -0
  465. package/dist/components/safetyBar/icons/controller-type-virtual.svg.cjs.map +1 -0
  466. package/dist/components/safetyBar/icons/controller-type-virtual.svg.d.ts +3 -0
  467. package/dist/components/safetyBar/icons/controller-type-virtual.svg.js +11 -0
  468. package/dist/components/safetyBar/icons/controller-type-virtual.svg.js.map +1 -0
  469. package/dist/components/safetyBar/icons/index.d.ts +1 -0
  470. package/dist/components/safetyBar/icons/index.d.ts.map +1 -0
  471. package/dist/components/safetyBar/icons/operation-mode-automatic.svg.cjs +2 -0
  472. package/dist/components/safetyBar/icons/operation-mode-automatic.svg.cjs.map +1 -0
  473. package/dist/components/safetyBar/icons/operation-mode-automatic.svg.d.ts +3 -0
  474. package/dist/components/safetyBar/icons/operation-mode-automatic.svg.js +11 -0
  475. package/dist/components/safetyBar/icons/operation-mode-automatic.svg.js.map +1 -0
  476. package/dist/components/safetyBar/icons/operation-mode-error.svg.cjs +2 -0
  477. package/dist/components/safetyBar/icons/operation-mode-error.svg.cjs.map +1 -0
  478. package/dist/components/safetyBar/icons/operation-mode-error.svg.d.ts +3 -0
  479. package/dist/components/safetyBar/icons/operation-mode-error.svg.js +11 -0
  480. package/dist/components/safetyBar/icons/operation-mode-error.svg.js.map +1 -0
  481. package/dist/components/safetyBar/icons/operation-mode-manual.svg.cjs +2 -0
  482. package/dist/components/safetyBar/icons/operation-mode-manual.svg.cjs.map +1 -0
  483. package/dist/components/safetyBar/icons/operation-mode-manual.svg.d.ts +3 -0
  484. package/dist/components/safetyBar/icons/operation-mode-manual.svg.js +11 -0
  485. package/dist/components/safetyBar/icons/operation-mode-manual.svg.js.map +1 -0
  486. package/dist/components/safetyBar/icons/safety-state-error.svg.cjs +2 -0
  487. package/dist/components/safetyBar/icons/safety-state-error.svg.cjs.map +1 -0
  488. package/dist/components/safetyBar/icons/safety-state-error.svg.d.ts +3 -0
  489. package/dist/components/safetyBar/icons/safety-state-error.svg.js +11 -0
  490. package/dist/components/safetyBar/icons/safety-state-error.svg.js.map +1 -0
  491. package/dist/components/safetyBar/icons/safety-state-estop.svg.cjs +2 -0
  492. package/dist/components/safetyBar/icons/safety-state-estop.svg.cjs.map +1 -0
  493. package/dist/components/safetyBar/icons/safety-state-estop.svg.d.ts +3 -0
  494. package/dist/components/safetyBar/icons/safety-state-estop.svg.js +11 -0
  495. package/dist/components/safetyBar/icons/safety-state-estop.svg.js.map +1 -0
  496. package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.cjs +2 -0
  497. package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.cjs.map +1 -0
  498. package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.d.ts +3 -0
  499. package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.js +11 -0
  500. package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.js.map +1 -0
  501. package/dist/components/safetyBar/icons/safety-state-normal.svg.cjs +2 -0
  502. package/dist/components/safetyBar/icons/safety-state-normal.svg.cjs.map +1 -0
  503. package/dist/components/safetyBar/icons/safety-state-normal.svg.d.ts +3 -0
  504. package/dist/components/safetyBar/icons/safety-state-normal.svg.js +11 -0
  505. package/dist/components/safetyBar/icons/safety-state-normal.svg.js.map +1 -0
  506. package/dist/components/safetyBar/icons/safety-state-stop.svg.cjs +2 -0
  507. package/dist/components/safetyBar/icons/safety-state-stop.svg.cjs.map +1 -0
  508. package/dist/components/safetyBar/icons/safety-state-stop.svg.d.ts +3 -0
  509. package/dist/components/safetyBar/icons/safety-state-stop.svg.js +11 -0
  510. package/dist/components/safetyBar/icons/safety-state-stop.svg.js.map +1 -0
  511. package/dist/components/utils/converters.cjs +2 -1
  512. package/dist/components/utils/converters.cjs.map +1 -0
  513. package/dist/components/utils/converters.d.ts +1 -0
  514. package/dist/components/utils/converters.d.ts.map +1 -0
  515. package/dist/components/utils/converters.js +11 -26
  516. package/dist/components/utils/converters.js.map +1 -0
  517. package/dist/components/utils/errorHandling.cjs +2 -1
  518. package/dist/components/utils/errorHandling.cjs.map +1 -0
  519. package/dist/components/utils/errorHandling.d.ts +1 -0
  520. package/dist/components/utils/errorHandling.d.ts.map +1 -0
  521. package/dist/components/utils/errorHandling.js +9 -17
  522. package/dist/components/utils/errorHandling.js.map +1 -0
  523. package/dist/components/utils/errorHandling.test.d.ts +2 -0
  524. package/dist/components/utils/errorHandling.test.d.ts.map +1 -0
  525. package/dist/components/utils/hooks.cjs +1 -0
  526. package/dist/components/utils/hooks.cjs.map +1 -0
  527. package/dist/components/utils/hooks.d.ts +1 -0
  528. package/dist/components/utils/hooks.d.ts.map +1 -0
  529. package/dist/components/utils/hooks.js +4 -3
  530. package/dist/components/utils/hooks.js.map +1 -0
  531. package/dist/components/utils/interpolation.cjs +1 -0
  532. package/dist/components/utils/interpolation.cjs.map +1 -0
  533. package/dist/components/utils/interpolation.d.ts +1 -0
  534. package/dist/components/utils/interpolation.d.ts.map +1 -0
  535. package/dist/components/utils/interpolation.js +1 -0
  536. package/dist/components/utils/interpolation.js.map +1 -0
  537. package/dist/components/utils/interpolation.test.d.ts +2 -0
  538. package/dist/components/utils/interpolation.test.d.ts.map +1 -0
  539. package/dist/core.cjs +2 -1
  540. package/dist/core.cjs.map +1 -0
  541. package/dist/core.d.ts +1 -0
  542. package/dist/core.d.ts.map +1 -0
  543. package/dist/core.js +75 -70
  544. package/dist/core.js.map +1 -0
  545. package/dist/externalizeComponent.cjs +2 -0
  546. package/dist/externalizeComponent.cjs.map +1 -0
  547. package/dist/externalizeComponent.d.ts +1 -0
  548. package/dist/externalizeComponent.d.ts.map +1 -0
  549. package/dist/externalizeComponent.js +13 -0
  550. package/dist/externalizeComponent.js.map +1 -0
  551. package/dist/i18n/config.cjs +2 -0
  552. package/dist/i18n/config.cjs.map +1 -0
  553. package/dist/i18n/config.d.ts +1 -0
  554. package/dist/i18n/config.d.ts.map +1 -0
  555. package/dist/i18n/config.js +25 -0
  556. package/dist/i18n/config.js.map +1 -0
  557. package/dist/i18n/locales/de/translations.json.cjs +3 -0
  558. package/dist/i18n/locales/de/translations.json.cjs.map +1 -0
  559. package/dist/i18n/locales/de/translations.json.js +94 -0
  560. package/dist/i18n/locales/de/translations.json.js.map +1 -0
  561. package/dist/i18n/locales/en/translations.json.cjs +2 -0
  562. package/dist/i18n/locales/en/translations.json.cjs.map +1 -0
  563. package/dist/i18n/locales/en/translations.json.js +94 -0
  564. package/dist/i18n/locales/en/translations.json.js.map +1 -0
  565. package/dist/icons/DropdownArrowIcon.cjs +2 -0
  566. package/dist/icons/DropdownArrowIcon.cjs.map +1 -0
  567. package/dist/icons/DropdownArrowIcon.d.ts +1 -0
  568. package/dist/icons/DropdownArrowIcon.d.ts.map +1 -0
  569. package/dist/icons/DropdownArrowIcon.js +14 -0
  570. package/dist/icons/DropdownArrowIcon.js.map +1 -0
  571. package/dist/icons/axis-x.svg.cjs +2 -0
  572. package/dist/icons/axis-x.svg.cjs.map +1 -0
  573. package/dist/icons/axis-x.svg.d.ts +3 -0
  574. package/dist/icons/axis-x.svg.js +11 -0
  575. package/dist/icons/axis-x.svg.js.map +1 -0
  576. package/dist/icons/axis-y.svg.cjs +2 -0
  577. package/dist/icons/axis-y.svg.cjs.map +1 -0
  578. package/dist/icons/axis-y.svg.d.ts +3 -0
  579. package/dist/icons/axis-y.svg.js +11 -0
  580. package/dist/icons/axis-y.svg.js.map +1 -0
  581. package/dist/icons/axis-z.svg.cjs +2 -0
  582. package/dist/icons/axis-z.svg.cjs.map +1 -0
  583. package/dist/icons/axis-z.svg.d.ts +3 -0
  584. package/dist/icons/axis-z.svg.js +11 -0
  585. package/dist/icons/axis-z.svg.js.map +1 -0
  586. package/dist/icons/home.svg.cjs +2 -0
  587. package/dist/icons/home.svg.cjs.map +1 -0
  588. package/dist/icons/home.svg.d.ts +3 -0
  589. package/dist/icons/home.svg.js +11 -0
  590. package/dist/icons/home.svg.js.map +1 -0
  591. package/dist/icons/index.d.ts +1 -0
  592. package/dist/icons/index.d.ts.map +1 -0
  593. package/dist/icons/jog-minus.svg.cjs +2 -0
  594. package/dist/icons/jog-minus.svg.cjs.map +1 -0
  595. package/dist/icons/jog-minus.svg.d.ts +3 -0
  596. package/dist/icons/jog-minus.svg.js +11 -0
  597. package/dist/icons/jog-minus.svg.js.map +1 -0
  598. package/dist/icons/jog-plus.svg.cjs +2 -0
  599. package/dist/icons/jog-plus.svg.cjs.map +1 -0
  600. package/dist/icons/jog-plus.svg.d.ts +3 -0
  601. package/dist/icons/jog-plus.svg.js +11 -0
  602. package/dist/icons/jog-plus.svg.js.map +1 -0
  603. package/dist/icons/jogging.svg.cjs +2 -0
  604. package/dist/icons/jogging.svg.cjs.map +1 -0
  605. package/dist/icons/jogging.svg.d.ts +3 -0
  606. package/dist/icons/jogging.svg.js +11 -0
  607. package/dist/icons/jogging.svg.js.map +1 -0
  608. package/dist/icons/orientation-coord-system.svg.cjs +2 -0
  609. package/dist/icons/orientation-coord-system.svg.cjs.map +1 -0
  610. package/dist/icons/orientation-coord-system.svg.d.ts +3 -0
  611. package/dist/icons/orientation-coord-system.svg.js +11 -0
  612. package/dist/icons/orientation-coord-system.svg.js.map +1 -0
  613. package/dist/icons/orientation-tool.svg.cjs +2 -0
  614. package/dist/icons/orientation-tool.svg.cjs.map +1 -0
  615. package/dist/icons/orientation-tool.svg.d.ts +3 -0
  616. package/dist/icons/orientation-tool.svg.js +11 -0
  617. package/dist/icons/orientation-tool.svg.js.map +1 -0
  618. package/dist/icons/robot.svg.cjs +2 -0
  619. package/dist/icons/robot.svg.cjs.map +1 -0
  620. package/dist/icons/robot.svg.d.ts +3 -0
  621. package/dist/{chunks/robot-D97QEl_l.js → icons/robot.svg.js} +3 -2
  622. package/dist/icons/robot.svg.js.map +1 -0
  623. package/dist/icons/rotation.svg.cjs +2 -0
  624. package/dist/icons/rotation.svg.cjs.map +1 -0
  625. package/dist/icons/rotation.svg.d.ts +3 -0
  626. package/dist/icons/rotation.svg.js +11 -0
  627. package/dist/icons/rotation.svg.js.map +1 -0
  628. package/dist/icons/wbLogo.svg.cjs +2 -0
  629. package/dist/icons/wbLogo.svg.cjs.map +1 -0
  630. package/dist/icons/wbLogo.svg.d.ts +3 -0
  631. package/dist/icons/wbLogo.svg.js +11 -0
  632. package/dist/icons/wbLogo.svg.js.map +1 -0
  633. package/dist/index.cjs +2 -1
  634. package/dist/index.cjs.map +1 -0
  635. package/dist/index.d.ts +1 -0
  636. package/dist/index.d.ts.map +1 -0
  637. package/dist/index.js +140 -120
  638. package/dist/index.js.map +1 -0
  639. package/dist/lib/ConnectedMotionGroup.cjs +4 -0
  640. package/dist/lib/ConnectedMotionGroup.cjs.map +1 -0
  641. package/dist/lib/ConnectedMotionGroup.d.ts +1 -0
  642. package/dist/lib/ConnectedMotionGroup.d.ts.map +1 -0
  643. package/dist/lib/ConnectedMotionGroup.js +250 -0
  644. package/dist/lib/ConnectedMotionGroup.js.map +1 -0
  645. package/dist/lib/JoggerConnection.cjs +2 -0
  646. package/dist/lib/JoggerConnection.cjs.map +1 -0
  647. package/dist/lib/JoggerConnection.d.ts +1 -0
  648. package/dist/lib/JoggerConnection.d.ts.map +1 -0
  649. package/dist/lib/JoggerConnection.js +342 -0
  650. package/dist/lib/JoggerConnection.js.map +1 -0
  651. package/dist/lib/JoggerConnection.test.d.ts +2 -0
  652. package/dist/lib/JoggerConnection.test.d.ts.map +1 -0
  653. package/dist/lib/MotionStreamConnection.cjs +3 -0
  654. package/dist/lib/MotionStreamConnection.cjs.map +1 -0
  655. package/dist/lib/MotionStreamConnection.d.ts +1 -0
  656. package/dist/lib/MotionStreamConnection.d.ts.map +1 -0
  657. package/dist/lib/MotionStreamConnection.js +94 -0
  658. package/dist/lib/MotionStreamConnection.js.map +1 -0
  659. package/dist/lib/MotionStreamConnection.test.d.ts +2 -0
  660. package/dist/lib/MotionStreamConnection.test.d.ts.map +1 -0
  661. package/dist/lib/motionStateUpdate.cjs +2 -0
  662. package/dist/lib/motionStateUpdate.cjs.map +1 -0
  663. package/dist/lib/motionStateUpdate.d.ts +1 -0
  664. package/dist/lib/motionStateUpdate.d.ts.map +1 -0
  665. package/dist/lib/motionStateUpdate.js +49 -0
  666. package/dist/lib/motionStateUpdate.js.map +1 -0
  667. package/dist/lib/motionStateUpdate.test.d.ts +2 -0
  668. package/dist/lib/motionStateUpdate.test.d.ts.map +1 -0
  669. package/dist/test/consumer.test.d.ts +2 -0
  670. package/dist/test/consumer.test.d.ts.map +1 -0
  671. package/dist/test/setup.d.ts +2 -0
  672. package/dist/test/setup.d.ts.map +1 -0
  673. package/dist/themes/createDarkTheme.cjs +2 -0
  674. package/dist/themes/createDarkTheme.cjs.map +1 -0
  675. package/dist/themes/createDarkTheme.d.ts +1 -0
  676. package/dist/themes/createDarkTheme.d.ts.map +1 -0
  677. package/dist/themes/createDarkTheme.js +344 -0
  678. package/dist/themes/createDarkTheme.js.map +1 -0
  679. package/dist/themes/createLightTheme.cjs +2 -0
  680. package/dist/themes/createLightTheme.cjs.map +1 -0
  681. package/dist/themes/createLightTheme.d.ts +1 -0
  682. package/dist/themes/createLightTheme.d.ts.map +1 -0
  683. package/dist/themes/createLightTheme.js +9 -0
  684. package/dist/themes/createLightTheme.js.map +1 -0
  685. package/dist/themes/themeTypes.d.ts +1 -0
  686. package/dist/themes/themeTypes.d.ts.map +1 -0
  687. package/dist/themes/theming.cjs +2 -0
  688. package/dist/themes/theming.cjs.map +1 -0
  689. package/dist/themes/theming.d.ts +1 -0
  690. package/dist/themes/theming.d.ts.map +1 -0
  691. package/dist/themes/theming.js +14 -0
  692. package/dist/themes/theming.js.map +1 -0
  693. package/dist/wb-icons.cjs +2 -1
  694. package/dist/wb-icons.cjs.map +1 -0
  695. package/dist/wb-icons.d.ts +1 -0
  696. package/dist/wb-icons.d.ts.map +1 -0
  697. package/dist/wb-icons.js +44 -28
  698. package/dist/wb-icons.js.map +1 -0
  699. package/package.json +6 -5
  700. package/src/3d.ts +18 -0
  701. package/src/Setup.tsx +33 -0
  702. package/src/components/3d-viewport/CoordinateSystemTransform.tsx +57 -0
  703. package/src/components/3d-viewport/PresetEnvironment.tsx +81 -0
  704. package/src/components/3d-viewport/SafetyZonesRenderer.tsx +198 -0
  705. package/src/components/3d-viewport/TrajectoryRenderer.tsx +41 -0
  706. package/src/components/3d-viewport/collider/ColliderCollection.tsx +35 -0
  707. package/src/components/3d-viewport/collider/ColliderElement.tsx +36 -0
  708. package/src/components/3d-viewport/collider/CollisionSceneRenderer.tsx +26 -0
  709. package/src/components/3d-viewport/collider/colliderShapeToBufferGeometry.ts +48 -0
  710. package/src/components/AppHeader.md +84 -0
  711. package/src/components/AppHeader.tsx +197 -0
  712. package/src/components/ConsoleFilter.tsx +24 -0
  713. package/src/components/CopyableText.tsx +89 -0
  714. package/src/components/CycleTimer/CycleTimer.ts +8 -0
  715. package/src/components/CycleTimer/DefaultVariant.tsx +326 -0
  716. package/src/components/CycleTimer/SmallVariant.tsx +229 -0
  717. package/src/components/CycleTimer/index.tsx +158 -0
  718. package/src/components/CycleTimer/types.ts +58 -0
  719. package/src/components/CycleTimer/useAnimations.ts +202 -0
  720. package/src/components/CycleTimer/useTimerLogic.ts +330 -0
  721. package/src/components/CycleTimer/utils.ts +122 -0
  722. package/src/components/CycleTimer.tsx +8 -0
  723. package/src/components/DataGrid.tsx +664 -0
  724. package/src/components/LoadingCover.tsx +91 -0
  725. package/src/components/LogPanel.tsx +71 -0
  726. package/src/components/LogStore.ts +46 -0
  727. package/src/components/LogViewer.tsx +368 -0
  728. package/src/components/ProgramControl.tsx +267 -0
  729. package/src/components/ProgramStateIndicator.tsx +195 -0
  730. package/src/components/RobotCard.tsx +495 -0
  731. package/src/components/RobotListItem.tsx +155 -0
  732. package/src/components/RobotSetupReadinessIndicator.test.tsx +60 -0
  733. package/src/components/RobotSetupReadinessIndicator.tsx +161 -0
  734. package/src/components/SelectableFab.tsx +52 -0
  735. package/src/components/TabBar.tsx +325 -0
  736. package/src/components/ThemeSelect.tsx +51 -0
  737. package/src/components/Timer/Timer.ts +4 -0
  738. package/src/components/Timer/TimerDefaultVariant.tsx +143 -0
  739. package/src/components/Timer/TimerSmallVariant.tsx +141 -0
  740. package/src/components/Timer/index.tsx +103 -0
  741. package/src/components/Timer/types.ts +38 -0
  742. package/src/components/Timer/useTimerAnimations.ts +94 -0
  743. package/src/components/Timer/useTimerLogic.ts +214 -0
  744. package/src/components/Timer/utils.ts +87 -0
  745. package/src/components/Timer.ts +4 -0
  746. package/src/components/TransparentOverlay.tsx +28 -0
  747. package/src/components/VelocitySlider.tsx +117 -0
  748. package/src/components/experimental/utils/AdornedSelect.tsx +38 -0
  749. package/src/components/jogging/JoggingBlocked.tsx +43 -0
  750. package/src/components/jogging/JoggingCartesianAxisControl.tsx +237 -0
  751. package/src/components/jogging/JoggingCartesianTab.tsx +349 -0
  752. package/src/components/jogging/JoggingFreedriveTab.tsx +8 -0
  753. package/src/components/jogging/JoggingJointLimitDetector.tsx +57 -0
  754. package/src/components/jogging/JoggingJointTab.tsx +126 -0
  755. package/src/components/jogging/JoggingJointValueControl.tsx +293 -0
  756. package/src/components/jogging/JoggingOptions.tsx +163 -0
  757. package/src/components/jogging/JoggingPanel.test.tsx +645 -0
  758. package/src/components/jogging/JoggingPanel.tsx +204 -0
  759. package/src/components/jogging/JoggingStore.ts +485 -0
  760. package/src/components/jogging/JoggingToggleButtonGroup.tsx +25 -0
  761. package/src/components/jogging/JoggingVelocitySlider.tsx +39 -0
  762. package/src/components/jogging/PoseCartesianValues.tsx +55 -0
  763. package/src/components/jogging/PoseJointValues.tsx +54 -0
  764. package/src/components/jogging/__fixtures__/motionStreamMockData.ts +136 -0
  765. package/src/components/modal/NoMotionGroupModal.tsx +91 -0
  766. package/src/components/robots/AxisConfig.ts +3 -0
  767. package/src/components/robots/DHLinearAxis.tsx +147 -0
  768. package/src/components/robots/DHRobot.tsx +152 -0
  769. package/src/components/robots/GenericRobot.tsx +137 -0
  770. package/src/components/robots/LinearAxis.tsx +74 -0
  771. package/src/components/robots/LinearAxisAnimator.tsx +118 -0
  772. package/src/components/robots/MotionGroupVisualizer.tsx +73 -0
  773. package/src/components/robots/Robot.tsx +57 -0
  774. package/src/components/robots/RobotAnimator.test.tsx +98 -0
  775. package/src/components/robots/RobotAnimator.tsx +116 -0
  776. package/src/components/robots/SupportedLinearAxis.tsx +110 -0
  777. package/src/components/robots/SupportedRobot.tsx +111 -0
  778. package/src/components/robots/ghostStyle.ts +71 -0
  779. package/src/components/robots/manufacturerHomePositions.ts +76 -0
  780. package/src/components/robots/robotModelLogic.ts +158 -0
  781. package/src/components/safetyBar/ControllerTypeIndicator.tsx +79 -0
  782. package/src/components/safetyBar/IndicatorWithExplanation.tsx +137 -0
  783. package/src/components/safetyBar/OperationModeIndicator.tsx +98 -0
  784. package/src/components/safetyBar/SafetyBar.tsx +72 -0
  785. package/src/components/safetyBar/SafetyStateIndicator.tsx +163 -0
  786. package/src/components/safetyBar/icons/controller-type-physical.svg +1 -0
  787. package/src/components/safetyBar/icons/controller-type-virtual.svg +1 -0
  788. package/src/components/safetyBar/icons/index.ts +10 -0
  789. package/src/components/safetyBar/icons/operation-mode-automatic.svg +1 -0
  790. package/src/components/safetyBar/icons/operation-mode-error.svg +1 -0
  791. package/src/components/safetyBar/icons/operation-mode-manual.svg +1 -0
  792. package/src/components/safetyBar/icons/safety-state-error.svg +1 -0
  793. package/src/components/safetyBar/icons/safety-state-estop.svg +1 -0
  794. package/src/components/safetyBar/icons/safety-state-manual-action-required.svg +1 -0
  795. package/src/components/safetyBar/icons/safety-state-normal.svg +1 -0
  796. package/src/components/safetyBar/icons/safety-state-stop.svg +1 -0
  797. package/src/components/utils/converters.ts +90 -0
  798. package/src/components/utils/errorHandling.test.ts +41 -0
  799. package/src/components/utils/errorHandling.ts +38 -0
  800. package/src/components/utils/hooks.tsx +55 -0
  801. package/src/components/utils/interpolation.test.ts +1138 -0
  802. package/src/components/utils/interpolation.ts +380 -0
  803. package/src/core.ts +33 -0
  804. package/src/declarations.d.ts +10 -0
  805. package/src/env.d.ts +3 -0
  806. package/src/externalizeComponent.tsx +28 -0
  807. package/src/i18n/config.ts +26 -0
  808. package/src/i18n/locales/de/translations.json +89 -0
  809. package/src/i18n/locales/en/translations.json +90 -0
  810. package/src/icons/DropdownArrowIcon.tsx +12 -0
  811. package/src/icons/axis-x.svg +1 -0
  812. package/src/icons/axis-y.svg +1 -0
  813. package/src/icons/axis-z.svg +1 -0
  814. package/src/icons/home.svg +1 -0
  815. package/src/icons/index.ts +12 -0
  816. package/src/icons/jog-minus.svg +5 -0
  817. package/src/icons/jog-plus.svg +9 -0
  818. package/src/icons/jogging.svg +1 -0
  819. package/src/icons/orientation-coord-system.svg +1 -0
  820. package/src/icons/orientation-tool.svg +1 -0
  821. package/src/icons/robot.svg +1 -0
  822. package/src/icons/rotation.svg +3 -0
  823. package/src/icons/wbLogo.svg +1 -0
  824. package/src/index.ts +4 -0
  825. package/src/lib/ConnectedMotionGroup.ts +441 -0
  826. package/src/lib/JoggerConnection.test.ts +122 -0
  827. package/src/lib/JoggerConnection.ts +694 -0
  828. package/src/lib/MotionStreamConnection.test.ts +23 -0
  829. package/src/lib/MotionStreamConnection.ts +186 -0
  830. package/src/lib/motionStateUpdate.test.ts +28 -0
  831. package/src/lib/motionStateUpdate.ts +117 -0
  832. package/src/test/consumer.test.ts +257 -0
  833. package/src/test/setup.ts +111 -0
  834. package/src/themes/createDarkTheme.ts +343 -0
  835. package/src/themes/createLightTheme.ts +8 -0
  836. package/src/themes/themeTypes.ts +96 -0
  837. package/src/themes/theming.ts +29 -0
  838. package/src/wb-icons.ts +3 -0
  839. package/dist/chunks/JoggingPanel-CQH_oXTB.js +0 -586
  840. package/dist/chunks/JoggingPanel-DZN2Y39k.cjs +0 -2
  841. package/dist/chunks/controller-type-virtual-BuJWQOvV.cjs +0 -1
  842. package/dist/chunks/externalizeComponent-DOwkaDcw.cjs +0 -2
  843. package/dist/chunks/externalizeComponent-eiCc5DIh.js +0 -209
  844. package/dist/chunks/jog-plus-CAUurv4S.js +0 -15
  845. package/dist/chunks/jog-plus-Dy1r7-r5.cjs +0 -1
  846. package/dist/chunks/operation-mode-manual-Di4Z1KM1.js +0 -20
  847. package/dist/chunks/operation-mode-manual-eHwVILeI.cjs +0 -1
  848. package/dist/chunks/robot-CrNbCELh.cjs +0 -1
  849. package/dist/chunks/rotation-CIOAnn9q.cjs +0 -1
  850. package/dist/chunks/rotation-Dm5YL3NM.js +0 -25
  851. package/dist/chunks/safety-state-stop-Bg0VUsM4.js +0 -30
  852. package/dist/chunks/safety-state-stop-CNxVYiap.cjs +0 -1
  853. package/dist/chunks/theming-Chx_tewl.cjs +0 -3
  854. package/dist/chunks/theming-Cw6qwBM7.js +0 -600
  855. package/dist/chunks/wbLogo-CObCmqTw.js +0 -30
  856. package/dist/chunks/wbLogo-G_IfZ03l.cjs +0 -1
  857. package/dist/components/3d-viewport/CoordinateSystemTransform.cjs +0 -1
  858. package/dist/components/3d-viewport/CoordinateSystemTransform.js +0 -37
  859. package/dist/components/CycleTimer/CycleTimer.cjs +0 -1
  860. package/dist/components/CycleTimer/CycleTimer.js +0 -5
  861. package/dist/components/CycleTimer/types.cjs +0 -1
  862. package/dist/components/CycleTimer/types.js +0 -1
  863. package/dist/components/ThemeSelect.cjs +0 -1
  864. package/dist/components/ThemeSelect.js +0 -38
  865. package/dist/components/Timer/Timer.cjs +0 -1
  866. package/dist/components/Timer/Timer.js +0 -5
  867. package/dist/components/Timer/types.cjs +0 -1
  868. package/dist/components/Timer/types.js +0 -1
  869. package/dist/components/TransparentOverlay.cjs +0 -1
  870. package/dist/components/TransparentOverlay.js +0 -26
  871. package/dist/components/jogging/JoggingFreedriveTab.cjs +0 -1
  872. package/dist/components/jogging/JoggingFreedriveTab.js +0 -6
  873. package/dist/components/safetyBar/icons/index.cjs +0 -1
  874. package/dist/components/safetyBar/icons/index.js +0 -15
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataGrid.js","sources":["../../src/components/DataGrid.tsx"],"sourcesContent":["import ClearIcon from \"@mui/icons-material/Clear\"\nimport FilterListIcon from \"@mui/icons-material/FilterList\"\nimport SearchIcon from \"@mui/icons-material/Search\"\nimport { useTheme } from \"@mui/material/styles\"\nimport Box from \"@mui/material/Box\"\nimport Divider from \"@mui/material/Divider\"\nimport Typography from \"@mui/material/Typography\"\nimport {\n DataGrid,\n type DataGridProps,\n FilterPanelTrigger,\n type GridColDef,\n type GridRowParams,\n QuickFilter,\n QuickFilterClear,\n QuickFilterControl,\n QuickFilterTrigger,\n Toolbar,\n ToolbarButton,\n useGridApiRef,\n} from \"@mui/x-data-grid\"\nimport { observer } from \"mobx-react-lite\"\nimport { useEffect, useMemo, useRef, useState } from \"react\"\nimport { externalizeComponent } from \"../externalizeComponent\"\n\nexport interface WandelbotsDataGridProps<T = Record<string, unknown>> {\n /**\n * Array of data items to display in the grid\n */\n data: T[]\n\n /**\n * Column definitions for the DataGrid\n */\n columns: GridColDef[]\n\n /**\n * Function to transform data items into DataGrid rows\n * Should return an object with an 'id' field and other fields matching column definitions\n */\n getRowData: (item: T) => Record<string, unknown> & { id: string | number }\n\n /**\n * Callback when a row is clicked\n */\n onRowClick?: (item: T, params: GridRowParams) => void\n\n /**\n * Currently selected item (for highlighting)\n */\n selectedItem?: T | null\n\n /**\n * Function to get the ID of an item (used for selection highlighting)\n */\n getItemId?: (item: T) => string | number\n\n /**\n * Title displayed in the toolbar\n */\n title?: string\n\n /**\n * Show item count in title\n * @default true\n */\n showCount?: boolean\n\n /**\n * Placeholder text for the search input\n * @default \"Search programs\"\n */\n searchPlaceholder?: string\n\n /**\n * Additional DataGrid props to pass through\n */\n dataGridProps?: Partial<DataGridProps>\n\n /**\n * Custom toolbar component to replace the default one\n */\n CustomToolbar?: React.ComponentType\n\n /**\n * Select the first item by default\n * @default false\n */\n selectFirstByDefault?: boolean\n\n /**\n * Custom sx styles for the root container\n */\n sx?: React.ComponentProps<typeof Box>[\"sx\"]\n}\n\nexport const WandelbotsDataGrid = externalizeComponent(\n observer(\n <T,>({\n data,\n columns,\n getRowData,\n onRowClick,\n selectedItem,\n getItemId,\n title,\n showCount = true,\n searchPlaceholder = \"Search programs\",\n dataGridProps,\n CustomToolbar,\n selectFirstByDefault = false,\n sx,\n }: WandelbotsDataGridProps<T>) => {\n const theme = useTheme()\n const apiRef = useGridApiRef()\n const containerRef = useRef<HTMLDivElement>(null)\n\n // Internal state for selection when not controlled\n const [internalSelectedItem, setInternalSelectedItem] =\n useState<T | null>(null)\n\n // Prepare rows for the DataGrid\n const rows = useMemo(() => data.map(getRowData), [data, getRowData])\n\n // Auto-resize columns when data changes\n useEffect(() => {\n if (apiRef.current && rows.length > 0) {\n apiRef.current.autosizeColumns({\n includeOutliers: true,\n includeHeaders: true,\n expand: true,\n columns: columns.map((col) => col.field),\n })\n }\n }, [rows, columns, apiRef])\n\n // Auto-resize columns when the DataGrid container is resized\n useEffect(() => {\n if (!containerRef.current || !apiRef.current) return\n\n const resizeObserver = new ResizeObserver(() => {\n // Use a small timeout to ensure the DataGrid has processed the size change\n setTimeout(() => {\n if (apiRef.current && rows.length > 0) {\n apiRef.current.autosizeColumns({\n includeOutliers: true,\n includeHeaders: true,\n expand: true,\n columns: columns.map((col) => col.field),\n })\n }\n }, 100)\n })\n\n resizeObserver.observe(containerRef.current)\n\n return () => {\n resizeObserver.disconnect()\n }\n }, [apiRef, rows.length, columns])\n\n // Handle default selection - only use if no selectedItem is explicitly provided\n const effectiveSelectedItem = useMemo(() => {\n // If selectedItem is explicitly provided, use it (including null)\n if (selectedItem !== undefined) {\n return selectedItem\n }\n // If we have an internal selection, use it\n if (internalSelectedItem !== null) {\n return internalSelectedItem\n }\n // Otherwise, use first item if selectFirstByDefault is true\n if (selectFirstByDefault && data.length > 0) {\n const firstItem = data[0]\n // Set internal state to first item on initial load\n setInternalSelectedItem(firstItem)\n return firstItem\n }\n return null\n }, [selectFirstByDefault, data, selectedItem, internalSelectedItem])\n\n // Handle row click\n const handleRowClick = (params: GridRowParams) => {\n const item = data.find((item) => {\n const rowData = getRowData(item)\n return rowData.id === params.id\n })\n\n if (item) {\n // Update internal selection state if not controlled by props\n if (selectedItem === undefined) {\n setInternalSelectedItem(item)\n }\n\n // Call the user's onRowClick callback\n if (onRowClick) {\n onRowClick(item, params)\n }\n }\n }\n\n // Get selected row ID for highlighting\n const selectedRowId = useMemo(() => {\n if (!effectiveSelectedItem || !getItemId) return null\n return getItemId(effectiveSelectedItem)\n }, [effectiveSelectedItem, getItemId])\n\n // Default toolbar with filter and quick filter\n function DefaultToolbar() {\n return (\n <Toolbar>\n <Box\n sx={{\n display: \"flex\",\n width: \"100%\",\n gap: 1,\n p: 0.5,\n alignItems: \"center\",\n }}\n >\n {title && (\n <Typography\n variant=\"h6\"\n sx={{\n fontWeight: 500,\n color: \"white\",\n }}\n >\n {title}\n {showCount && ` (${data.length})`}\n </Typography>\n )}\n <Box\n sx={{\n ml: \"auto\",\n display: \"flex\",\n gap: 0.5,\n alignItems: \"center\",\n pr: 1,\n }}\n >\n <FilterPanelTrigger\n render={\n <ToolbarButton aria-label=\"Show filters\">\n <FilterListIcon fontSize=\"small\" />\n </ToolbarButton>\n }\n />\n <Divider\n orientation=\"vertical\"\n flexItem\n sx={{\n height: \"24px\",\n alignSelf: \"center\",\n }}\n />\n <QuickFilter\n render={(props, state) => (\n <Box\n {...props}\n sx={{\n display: \"flex\",\n overflow: \"hidden\",\n }}\n >\n {!state.expanded && (\n <QuickFilterTrigger\n render={\n <ToolbarButton aria-label=\"Search\">\n <SearchIcon fontSize=\"small\" />\n </ToolbarButton>\n }\n />\n )}\n <Box\n sx={{\n display: \"flex\",\n overflow: \"hidden\",\n transition: \"all 0.3s ease-in-out\",\n width: state.expanded ? \"200px\" : \"0px\",\n position: \"relative\",\n }}\n >\n <Box\n sx={{\n flex: 1,\n position: \"relative\",\n \"& .MuiInputBase-root\": {\n height: \"32px\",\n borderRadius: \"16px\",\n backgroundColor: \"#171927\",\n paddingLeft: \"40px\",\n paddingRight:\n state.expanded && state.value !== \"\"\n ? \"40px\"\n : \"12px\",\n color: \"white\",\n fontSize: \"14px\",\n border: \"none !important\",\n outline: \"none !important\",\n boxShadow: \"none !important\",\n \"&::before\": {\n display: \"none !important\",\n border: \"none !important\",\n },\n \"&::after\": {\n display: \"none !important\",\n border: \"none !important\",\n },\n \"&:hover\": {\n \"&::before\": {\n display: \"none !important\",\n border: \"none !important\",\n },\n \"&::after\": {\n display: \"none !important\",\n border: \"none !important\",\n },\n },\n \"&:focus-within\": {\n outline: \"none !important\",\n boxShadow: \"none !important\",\n \"&::before\": {\n display: \"none !important\",\n border: \"none !important\",\n },\n \"&::after\": {\n display: \"none !important\",\n border: \"none !important\",\n },\n },\n \"&.Mui-focused\": {\n outline: \"none !important\",\n boxShadow: \"none !important\",\n \"&::before\": {\n display: \"none !important\",\n border: \"none !important\",\n },\n \"&::after\": {\n display: \"none !important\",\n border: \"none !important\",\n },\n },\n \"& .MuiInputBase-input\": {\n padding: \"8px 0\",\n border: \"none !important\",\n outline: \"none !important\",\n boxShadow: \"none !important\",\n \"&:focus\": {\n outline: \"none !important\",\n boxShadow: \"none !important\",\n border: \"none !important\",\n },\n \"&::placeholder\": {\n color: \"rgba(255, 255, 255, 0.3)\",\n opacity: 1,\n },\n },\n \"& fieldset\": {\n border: \"none !important\",\n display: \"none !important\",\n },\n \"& .MuiOutlinedInput-notchedOutline\": {\n border: \"none !important\",\n display: \"none !important\",\n },\n },\n }}\n >\n {state.expanded && (\n <SearchIcon\n fontSize=\"small\"\n sx={{\n position: \"absolute\",\n left: \"12px\",\n top: \"50%\",\n transform: \"translateY(-50%)\",\n color: \"rgba(255, 255, 255, 0.6)\",\n zIndex: 1,\n pointerEvents: \"none\",\n }}\n />\n )}\n <QuickFilterControl placeholder={searchPlaceholder} />\n </Box>\n {state.expanded && state.value !== \"\" && (\n <QuickFilterClear\n render={\n <Box\n sx={{\n position: \"absolute\",\n right: \"8px\",\n top: \"50%\",\n transform: \"translateY(-50%)\",\n zIndex: 1,\n }}\n >\n <Box\n sx={{\n minWidth: \"24px\",\n width: \"24px\",\n height: \"24px\",\n padding: 0,\n color: \"rgba(255, 255, 255, 0.6)\",\n \"&:hover\": {\n backgroundColor:\n \"rgba(255, 255, 255, 0.1)\",\n },\n }}\n >\n <ToolbarButton aria-label=\"Clear\">\n <ClearIcon fontSize=\"small\" />\n </ToolbarButton>\n </Box>\n </Box>\n }\n />\n )}\n </Box>\n </Box>\n )}\n />\n </Box>\n </Box>\n </Toolbar>\n )\n }\n\n const ToolbarComponent = CustomToolbar || DefaultToolbar\n\n return (\n <Box\n ref={containerRef}\n sx={{\n height: \"100%\",\n display: \"flex\",\n flexDirection: \"column\",\n // Apply scrollbar styling like in the theme\n \"& *\": {\n scrollbarWidth: \"none\",\n msOverflowStyle: \"none\",\n \"&::-webkit-scrollbar\": {\n display: \"none\",\n },\n },\n \"&:hover *\": {\n scrollbarWidth: \"thin\",\n scrollbarColor: `${theme.palette.divider} transparent`,\n \"&::-webkit-scrollbar\": {\n display: \"block\",\n width: \"8px\",\n height: \"8px\",\n },\n \"&::-webkit-scrollbar-track\": {\n background: \"transparent\",\n },\n \"&::-webkit-scrollbar-thumb\": {\n background: theme.palette.divider,\n borderRadius: \"4px\",\n },\n \"&::-webkit-scrollbar-thumb:hover\": {\n background: theme.palette.action.hover,\n },\n },\n ...sx,\n }}\n >\n <DataGrid\n apiRef={apiRef}\n rows={rows}\n columns={columns}\n onRowClick={handleRowClick}\n disableColumnMenu={false}\n disableRowSelectionOnClick={true}\n disableMultipleRowSelection={true}\n hideFooterSelectedRowCount={true}\n filterMode=\"client\"\n sortingOrder={[\"desc\", \"asc\"]}\n hideFooter={false}\n showToolbar={true}\n slots={{\n toolbar: ToolbarComponent,\n }}\n initialState={{\n sorting: {\n sortModel: [],\n },\n filter: {\n filterModel: {\n items: [],\n },\n },\n ...dataGridProps?.initialState,\n }}\n {...dataGridProps}\n // Ensure autosize properties are always enabled and not overridden by dataGridProps\n autosizeOnMount={true}\n autosizeOptions={{\n // Merge any custom autosize options first\n ...(dataGridProps?.autosizeOptions || {}),\n // Force these key properties to always be true to maintain autosize behavior\n includeOutliers: true,\n includeHeaders: true,\n expand: true,\n // Auto-size all columns by default (can be overridden by dataGridProps)\n columns:\n dataGridProps?.autosizeOptions?.columns ||\n columns.map((col) => col.field),\n }}\n sx={{\n border: \"none\",\n\n width: \"100%\",\n // Remove any MUI overlays and elevation effects\n \"& .MuiPaper-root\": {\n boxShadow: \"none !important\",\n },\n \"& .MuiDataGrid-overlay\": {},\n \"& .MuiDataGrid-main\": {\n border: \"none\",\n\n // Remove any surface or paper overlays\n \"& .MuiPaper-root\": {},\n },\n \"& .MuiDataGrid-container--top [role=row]\": {},\n \"& .MuiDataGrid-topContainer\": {\n borderBottom: \"none !important\",\n },\n \"& .MuiDataGrid-columnHeaders\": {\n border: \"none\",\n borderBottom: \"none !important\",\n },\n \"& .MuiDataGrid-row\": {\n cursor: onRowClick ? \"pointer\" : \"default\",\n border: \"none\",\n margin: \"1px 0\",\n position: \"relative\",\n // Disable all default MUI hover effects\n backgroundColor: \"transparent !important\",\n \"&:hover\": {\n backgroundColor: \"transparent !important\",\n \"&::before\": {\n content: '\"\"',\n position: \"absolute\",\n top: 0,\n left: \"16px\",\n right: \"16px\",\n bottom: 0,\n backgroundColor: \"action.hover\",\n borderRadius: \"16px\",\n zIndex: 0,\n },\n },\n // Disable MUI's built-in selection styling completely\n \"&.Mui-selected\": {\n backgroundColor: \"transparent !important\",\n \"&:hover\": {\n backgroundColor: \"transparent !important\",\n },\n },\n // Highlight selected row with a distinct color using data attribute\n ...(selectedRowId !== null && {\n [`&[data-id=\"${selectedRowId}\"]`]: {\n backgroundColor: \"transparent !important\",\n \"&::before\": {\n content: '\"\"',\n position: \"absolute\",\n top: 0,\n left: \"16px\",\n right: \"16px\",\n bottom: 0,\n backgroundColor: \"rgba(255, 255, 255, 0.08) !important\",\n borderRadius: \"16px\",\n zIndex: 0,\n },\n \"&:hover\": {\n backgroundColor: \"transparent !important\",\n },\n \"&:hover::before\": {\n backgroundColor: \"rgba(255, 255, 255, 0.12) !important\",\n },\n },\n }),\n },\n \"& .MuiDataGrid-cell--textLeft\": {\n paddingLeft: \"40px\",\n },\n \"& .MuiDataGrid-cell\": {\n border: \"none\",\n position: \"relative\",\n zIndex: 1,\n \"&:focus\": {\n outline: \"none\",\n },\n \"&:focus-within\": {\n outline: \"none\",\n },\n \"&:hover\": {\n backgroundColor: \"transparent !important\",\n },\n },\n \"& .MuiDataGrid-columnHeader\": {\n border: \"none\",\n paddingLeft: \"40px\",\n paddingRight: \"40px\",\n\n \"& .MuiDataGrid-columnHeaderTitle\": {\n color: \"rgba(255, 255, 255, 0.6)\",\n },\n },\n \"& .MuiDataGrid-toolbarContainer\": {\n padding: \"8px\",\n border: \"none !important\",\n borderBottom: \"none !important\",\n\n \"& .MuiBox-root\": {},\n \"& .MuiFormControl-root\": {},\n \"& .MuiInputBase-root\": {},\n \"& .MuiPaper-root\": {\n boxShadow: \"none !important\",\n },\n \"& *\": {\n borderBottom: \"none !important\",\n },\n },\n \"& .MuiDataGrid-toolbar\": {\n borderBottom: \"none !important\",\n },\n \"& .MuiDataGrid-toolbarFilterList\": {\n border: \"none\",\n },\n \"& .MuiDataGrid-withBorderColor\": {\n borderColor: \"transparent !important\",\n },\n \"& .MuiDataGrid-columnSeparator\": {\n display: \"none\",\n },\n \"& .MuiDataGrid-footerContainer\": {\n display: \"none\",\n },\n \"& .MuiDataGrid-filler\": {\n border: \"none !important\",\n borderTop: \"none !important\",\n borderBottom: \"none !important\",\n borderLeft: \"none !important\",\n borderRight: \"none !important\",\n\n \"--rowBorderColor\": \"none !important\",\n },\n // Remove any remaining MUI background overlays\n \"& .MuiBackdrop-root\": {},\n \"& .MuiModal-backdrop\": {},\n ...dataGridProps?.sx,\n }}\n />\n </Box>\n )\n },\n ),\n)\n\nWandelbotsDataGrid.displayName = \"WandelbotsDataGrid\"\n\nexport default WandelbotsDataGrid\n"],"names":["WandelbotsDataGrid","externalizeComponent","observer","data","columns","getRowData","onRowClick","selectedItem","getItemId","title","showCount","searchPlaceholder","dataGridProps","CustomToolbar","selectFirstByDefault","sx","theme","useTheme","apiRef","useGridApiRef","containerRef","useRef","internalSelectedItem","setInternalSelectedItem","useState","rows","useMemo","useEffect","col","resizeObserver","effectiveSelectedItem","firstItem","handleRowClick","params","item","selectedRowId","DefaultToolbar","Toolbar","jsxs","Box","Typography","jsx","FilterPanelTrigger","ToolbarButton","FilterListIcon","Divider","QuickFilter","props","state","QuickFilterTrigger","SearchIcon","QuickFilterControl","QuickFilterClear","ClearIcon","ToolbarComponent","DataGrid","_a"],"mappings":"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"}
@@ -1 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("react/jsx-runtime"),d=require("@mui/material/CircularProgress"),i=require("@mui/material/Stack"),c=require("@mui/material/styles"),m=require("@mui/material/utils"),h=require("lodash-es"),a=require("react"),x=require("./utils/errorHandling.cjs"),l=e=>{const s=e.softTimeout||3e3,[t,o]=a.useState(!1),n=c.useTheme();return a.useEffect(()=>{const u=setTimeout(()=>{o(!0)},s);return()=>clearTimeout(u)}),r.jsx(i,{width:"100%",height:"100%",alignItems:"center",justifyContent:"center",sx:{color:n.palette.text.primary},children:e.error?r.jsx(g,{loadingMessage:e.message,error:e.error}):r.jsxs(r.Fragment,{children:[r.jsx(d,{sx:{marginBottom:"24px"}}),!!e.message&&r.jsx("div",{children:e.message}),r.jsx(i,{sx:{visibility:t?"visible":"hidden",marginTop:"1rem",color:n.palette.text.secondary},children:"This is taking longer than expected..."})]})})},g=e=>{const s=x.makeErrorMessage(e.error),t=e.error instanceof Error?e.error.stack:null,o=c.useTheme();return r.jsxs(i,{sx:{maxHeight:"100%",maxWidth:"min(100%, 800px)",padding:2,overflow:"auto",color:o.palette.error.main,"& pre":{whiteSpace:"pre-wrap",wordBreak:"break-word",paddingBottom:"3rem"}},children:[(e.loadingMessage?`Error while ${h.lowerFirst(m.capitalize(e.loadingMessage))} - `:"")+s,r.jsx("br",{}),t&&r.jsx("pre",{children:t})]})};exports.LoadingCover=l;exports.LoadingErrorMessage=g;exports.default=l;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("react/jsx-runtime"),u=require("@mui/material/CircularProgress"),i=require("@mui/material/Stack"),c=require("@mui/material/styles"),m=require("@mui/material/utils"),h=require("lodash-es"),n=require("react"),x=require("./utils/errorHandling.cjs"),l=e=>{const s=e.softTimeout||3e3,[t,o]=n.useState(!1),a=c.useTheme();return n.useEffect(()=>{const d=setTimeout(()=>{o(!0)},s);return()=>clearTimeout(d)}),r.jsx(i,{width:"100%",height:"100%",alignItems:"center",justifyContent:"center",sx:{color:a.palette.text.primary},children:e.error?r.jsx(g,{loadingMessage:e.message,error:e.error}):r.jsxs(r.Fragment,{children:[r.jsx(u,{sx:{marginBottom:"24px"}}),!!e.message&&r.jsx("div",{children:e.message}),r.jsx(i,{sx:{visibility:t?"visible":"hidden",marginTop:"1rem",color:a.palette.text.secondary},children:"This is taking longer than expected..."})]})})},g=e=>{const s=x.makeErrorMessage(e.error),t=e.error instanceof Error?e.error.stack:null,o=c.useTheme();return r.jsxs(i,{sx:{maxHeight:"100%",maxWidth:"min(100%, 800px)",padding:2,overflow:"auto",color:o.palette.error.main,"& pre":{whiteSpace:"pre-wrap",wordBreak:"break-word",paddingBottom:"3rem"}},children:[(e.loadingMessage?`Error while ${h.lowerFirst(m.capitalize(e.loadingMessage))} - `:"")+s,r.jsx("br",{}),t&&r.jsx("pre",{children:t})]})};exports.LoadingCover=l;exports.LoadingErrorMessage=g;exports.default=l;
2
+ //# sourceMappingURL=LoadingCover.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoadingCover.cjs","sources":["../../src/components/LoadingCover.tsx"],"sourcesContent":["import CircularProgress from \"@mui/material/CircularProgress\"\nimport Stack from \"@mui/material/Stack\"\nimport { useTheme } from \"@mui/material/styles\"\nimport { capitalize } from \"@mui/material/utils\"\nimport { lowerFirst } from \"lodash-es\"\nimport { useEffect, useState } from \"react\"\nimport { makeErrorMessage } from \"./utils/errorHandling\"\n\nexport const LoadingCover = (props: {\n message?: string\n error?: unknown\n softTimeout?: number\n}) => {\n const softTimeout = props.softTimeout || 3000\n\n const [showSlowLoadingMessage, setShowSlowLoadingMessage] = useState(false)\n const theme = useTheme()\n\n useEffect(() => {\n const timeout = setTimeout(() => {\n setShowSlowLoadingMessage(true)\n }, softTimeout)\n\n return () => clearTimeout(timeout)\n })\n\n return (\n <Stack\n width=\"100%\"\n height=\"100%\"\n alignItems=\"center\"\n justifyContent=\"center\"\n sx={{ color: theme.palette.text.primary }}\n >\n {props.error ? (\n <LoadingErrorMessage\n loadingMessage={props.message}\n error={props.error}\n />\n ) : (\n <>\n <CircularProgress sx={{ marginBottom: \"24px\" }} />\n {!!props.message && <div>{props.message}</div>}\n <Stack\n sx={{\n visibility: showSlowLoadingMessage ? \"visible\" : \"hidden\",\n marginTop: \"1rem\",\n color: theme.palette.text.secondary,\n }}\n >\n {\"This is taking longer than expected...\"}\n </Stack>\n </>\n )}\n </Stack>\n )\n}\n\nexport const LoadingErrorMessage = (props: {\n loadingMessage?: string\n error: unknown\n}) => {\n const errorMessage = makeErrorMessage(props.error)\n const stack = props.error instanceof Error ? props.error.stack : null\n const theme = useTheme()\n\n return (\n <Stack\n sx={{\n maxHeight: \"100%\",\n maxWidth: \"min(100%, 800px)\",\n padding: 2,\n overflow: \"auto\",\n color: theme.palette.error.main,\n \"& pre\": {\n whiteSpace: \"pre-wrap\",\n wordBreak: \"break-word\",\n paddingBottom: \"3rem\",\n },\n }}\n >\n {(props.loadingMessage\n ? `Error while ${lowerFirst(capitalize(props.loadingMessage))} - `\n : \"\") + errorMessage}\n <br />\n {stack && <pre>{stack}</pre>}\n </Stack>\n )\n}\n\nexport default LoadingCover\n"],"names":["LoadingCover","props","softTimeout","showSlowLoadingMessage","setShowSlowLoadingMessage","useState","theme","useTheme","useEffect","timeout","jsx","Stack","LoadingErrorMessage","jsxs","Fragment","CircularProgress","errorMessage","makeErrorMessage","stack","lowerFirst","capitalize"],"mappings":"kXAQaA,EAAgBC,GAIvB,CACJ,MAAMC,EAAcD,EAAM,aAAe,IAEnC,CAACE,EAAwBC,CAAyB,EAAIC,EAAAA,SAAS,EAAK,EACpEC,EAAQC,EAAAA,SAAA,EAEdC,OAAAA,EAAAA,UAAU,IAAM,CACd,MAAMC,EAAU,WAAW,IAAM,CAC/BL,EAA0B,EAAI,CAChC,EAAGF,CAAW,EAEd,MAAO,IAAM,aAAaO,CAAO,CACnC,CAAC,EAGCC,EAAAA,IAACC,EAAA,CACC,MAAM,OACN,OAAO,OACP,WAAW,SACX,eAAe,SACf,GAAI,CAAE,MAAOL,EAAM,QAAQ,KAAK,OAAA,EAE/B,WAAM,MACLI,EAAAA,IAACE,EAAA,CACC,eAAgBX,EAAM,QACtB,MAAOA,EAAM,KAAA,CAAA,EAGfY,EAAAA,KAAAC,WAAA,CACE,SAAA,CAAAJ,EAAAA,IAACK,EAAA,CAAiB,GAAI,CAAE,aAAc,QAAU,EAC/C,CAAC,CAACd,EAAM,SAAWS,EAAAA,IAAC,MAAA,CAAK,WAAM,QAAQ,EACxCA,EAAAA,IAACC,EAAA,CACC,GAAI,CACF,WAAYR,EAAyB,UAAY,SACjD,UAAW,OACX,MAAOG,EAAM,QAAQ,KAAK,SAAA,EAG3B,SAAA,wCAAA,CAAA,CACH,CAAA,CACF,CAAA,CAAA,CAIR,EAEaM,EAAuBX,GAG9B,CACJ,MAAMe,EAAeC,EAAAA,iBAAiBhB,EAAM,KAAK,EAC3CiB,EAAQjB,EAAM,iBAAiB,MAAQA,EAAM,MAAM,MAAQ,KAC3DK,EAAQC,EAAAA,SAAA,EAEd,OACEM,EAAAA,KAACF,EAAA,CACC,GAAI,CACF,UAAW,OACX,SAAU,mBACV,QAAS,EACT,SAAU,OACV,MAAOL,EAAM,QAAQ,MAAM,KAC3B,QAAS,CACP,WAAY,WACZ,UAAW,aACX,cAAe,MAAA,CACjB,EAGA,SAAA,EAAAL,EAAM,eACJ,eAAekB,EAAAA,WAAWC,EAAAA,WAAWnB,EAAM,cAAc,CAAC,CAAC,MAC3D,IAAMe,QACT,KAAA,EAAG,EACHE,GAASR,EAAAA,IAAC,MAAA,CAAK,SAAAQ,CAAA,CAAM,CAAA,CAAA,CAAA,CAG5B"}
@@ -8,3 +8,4 @@ export declare const LoadingErrorMessage: (props: {
8
8
  error: unknown;
9
9
  }) => import("react/jsx-runtime").JSX.Element;
10
10
  export default LoadingCover;
11
+ //# sourceMappingURL=LoadingCover.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoadingCover.d.ts","sourceRoot":"","sources":["../../src/components/LoadingCover.tsx"],"names":[],"mappings":"AAQA,eAAO,MAAM,YAAY,GAAI,OAAO;IAClC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,4CA4CA,CAAA;AAED,eAAO,MAAM,mBAAmB,GAAI,OAAO;IACzC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,KAAK,EAAE,OAAO,CAAA;CACf,4CA2BA,CAAA;AAED,eAAe,YAAY,CAAA"}
@@ -74,3 +74,4 @@ export {
74
74
  w as LoadingErrorMessage,
75
75
  y as default
76
76
  };
77
+ //# sourceMappingURL=LoadingCover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoadingCover.js","sources":["../../src/components/LoadingCover.tsx"],"sourcesContent":["import CircularProgress from \"@mui/material/CircularProgress\"\nimport Stack from \"@mui/material/Stack\"\nimport { useTheme } from \"@mui/material/styles\"\nimport { capitalize } from \"@mui/material/utils\"\nimport { lowerFirst } from \"lodash-es\"\nimport { useEffect, useState } from \"react\"\nimport { makeErrorMessage } from \"./utils/errorHandling\"\n\nexport const LoadingCover = (props: {\n message?: string\n error?: unknown\n softTimeout?: number\n}) => {\n const softTimeout = props.softTimeout || 3000\n\n const [showSlowLoadingMessage, setShowSlowLoadingMessage] = useState(false)\n const theme = useTheme()\n\n useEffect(() => {\n const timeout = setTimeout(() => {\n setShowSlowLoadingMessage(true)\n }, softTimeout)\n\n return () => clearTimeout(timeout)\n })\n\n return (\n <Stack\n width=\"100%\"\n height=\"100%\"\n alignItems=\"center\"\n justifyContent=\"center\"\n sx={{ color: theme.palette.text.primary }}\n >\n {props.error ? (\n <LoadingErrorMessage\n loadingMessage={props.message}\n error={props.error}\n />\n ) : (\n <>\n <CircularProgress sx={{ marginBottom: \"24px\" }} />\n {!!props.message && <div>{props.message}</div>}\n <Stack\n sx={{\n visibility: showSlowLoadingMessage ? \"visible\" : \"hidden\",\n marginTop: \"1rem\",\n color: theme.palette.text.secondary,\n }}\n >\n {\"This is taking longer than expected...\"}\n </Stack>\n </>\n )}\n </Stack>\n )\n}\n\nexport const LoadingErrorMessage = (props: {\n loadingMessage?: string\n error: unknown\n}) => {\n const errorMessage = makeErrorMessage(props.error)\n const stack = props.error instanceof Error ? props.error.stack : null\n const theme = useTheme()\n\n return (\n <Stack\n sx={{\n maxHeight: \"100%\",\n maxWidth: \"min(100%, 800px)\",\n padding: 2,\n overflow: \"auto\",\n color: theme.palette.error.main,\n \"& pre\": {\n whiteSpace: \"pre-wrap\",\n wordBreak: \"break-word\",\n paddingBottom: \"3rem\",\n },\n }}\n >\n {(props.loadingMessage\n ? `Error while ${lowerFirst(capitalize(props.loadingMessage))} - `\n : \"\") + errorMessage}\n <br />\n {stack && <pre>{stack}</pre>}\n </Stack>\n )\n}\n\nexport default LoadingCover\n"],"names":["LoadingCover","props","softTimeout","showSlowLoadingMessage","setShowSlowLoadingMessage","useState","theme","useTheme","useEffect","timeout","jsx","Stack","LoadingErrorMessage","jsxs","Fragment","CircularProgress","errorMessage","makeErrorMessage","stack","lowerFirst","capitalize"],"mappings":";;;;;;;;AAQO,MAAMA,IAAe,CAACC,MAIvB;AACJ,QAAMC,IAAcD,EAAM,eAAe,KAEnC,CAACE,GAAwBC,CAAyB,IAAIC,EAAS,EAAK,GACpEC,IAAQC,EAAA;AAEd,SAAAC,EAAU,MAAM;AACd,UAAMC,IAAU,WAAW,MAAM;AAC/B,MAAAL,EAA0B,EAAI;AAAA,IAChC,GAAGF,CAAW;AAEd,WAAO,MAAM,aAAaO,CAAO;AAAA,EACnC,CAAC,GAGC,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,OAAM;AAAA,MACN,QAAO;AAAA,MACP,YAAW;AAAA,MACX,gBAAe;AAAA,MACf,IAAI,EAAE,OAAOL,EAAM,QAAQ,KAAK,QAAA;AAAA,MAE/B,YAAM,QACL,gBAAAI;AAAA,QAACE;AAAA,QAAA;AAAA,UACC,gBAAgBX,EAAM;AAAA,UACtB,OAAOA,EAAM;AAAA,QAAA;AAAA,MAAA,IAGf,gBAAAY,EAAAC,GAAA,EACE,UAAA;AAAA,QAAA,gBAAAJ,EAACK,GAAA,EAAiB,IAAI,EAAE,cAAc,UAAU;AAAA,QAC/C,CAAC,CAACd,EAAM,WAAW,gBAAAS,EAAC,OAAA,EAAK,YAAM,SAAQ;AAAA,QACxC,gBAAAA;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,IAAI;AAAA,cACF,YAAYR,IAAyB,YAAY;AAAA,cACjD,WAAW;AAAA,cACX,OAAOG,EAAM,QAAQ,KAAK;AAAA,YAAA;AAAA,YAG3B,UAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MACH,EAAA,CACF;AAAA,IAAA;AAAA,EAAA;AAIR,GAEaM,IAAsB,CAACX,MAG9B;AACJ,QAAMe,IAAeC,EAAiBhB,EAAM,KAAK,GAC3CiB,IAAQjB,EAAM,iBAAiB,QAAQA,EAAM,MAAM,QAAQ,MAC3DK,IAAQC,EAAA;AAEd,SACE,gBAAAM;AAAA,IAACF;AAAA,IAAA;AAAA,MACC,IAAI;AAAA,QACF,WAAW;AAAA,QACX,UAAU;AAAA,QACV,SAAS;AAAA,QACT,UAAU;AAAA,QACV,OAAOL,EAAM,QAAQ,MAAM;AAAA,QAC3B,SAAS;AAAA,UACP,YAAY;AAAA,UACZ,WAAW;AAAA,UACX,eAAe;AAAA,QAAA;AAAA,MACjB;AAAA,MAGA,UAAA;AAAA,SAAAL,EAAM,iBACJ,eAAekB,EAAWC,EAAWnB,EAAM,cAAc,CAAC,CAAC,QAC3D,MAAMe;AAAA,0BACT,MAAA,EAAG;AAAA,QACHE,KAAS,gBAAAR,EAAC,OAAA,EAAK,UAAAQ,EAAA,CAAM;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAG5B;"}
@@ -1 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const g=require("react/jsx-runtime"),m=require("mobx-react-lite"),r=require("react"),L=require("../chunks/externalizeComponent-DOwkaDcw.cjs"),p=require("./LogStore.cjs"),q=require("./LogViewer.cjs"),u=L.externalizeComponent(m.observer(a=>{const{store:t,onStoreReady:o,...i}=a,e=r.useRef(o);r.useEffect(()=>{e.current=o},[o]);const s=r.useMemo(()=>{var c;const n=t||new p.LogStore;return(c=e.current)==null||c.call(e,n),n},[t]),l=()=>{s.clearMessages()};return g.jsx(q.LogViewer,{...i,messages:s.messages,onClear:l})}));exports.LogPanel=u;exports.default=u;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const g=require("react/jsx-runtime"),m=require("mobx-react-lite"),o=require("react"),L=require("../externalizeComponent.cjs"),q=require("./LogStore.cjs"),x=require("./LogViewer.cjs"),c=L.externalizeComponent(m.observer(a=>{const{store:t,onStoreReady:r,...i}=a,e=o.useRef(r);o.useEffect(()=>{e.current=r},[r]);const s=o.useMemo(()=>{var u;const n=t||new q.LogStore;return(u=e.current)==null||u.call(e,n),n},[t]),l=()=>{s.clearMessages()};return g.jsx(x.LogViewer,{...i,messages:s.messages,onClear:l})}));exports.LogPanel=c;exports.default=c;
2
+ //# sourceMappingURL=LogPanel.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LogPanel.cjs","sources":["../../src/components/LogPanel.tsx"],"sourcesContent":["import type { SxProps } from \"@mui/material/styles\"\nimport { observer } from \"mobx-react-lite\"\nimport { useEffect, useMemo, useRef } from \"react\"\nimport { externalizeComponent } from \"../externalizeComponent\"\nimport { LogStore } from \"./LogStore\"\nimport { LogViewer } from \"./LogViewer\"\n\nexport type LogPanelProps = {\n /** Log store instance to use, or create one automatically if not provided */\n store?: LogStore\n /** Height of the component */\n height?: string | number\n /** Additional styles */\n sx?: SxProps\n /** Ref to the log store for external access */\n onStoreReady?: (store: LogStore) => void\n}\n\n/**\n * A complete log panel component with built-in state management.\n *\n * @example\n * ```tsx\n * function MyComponent() {\n * const [logStore, setLogStore] = useState<LogStore>()\n *\n * return (\n * <LogPanel\n * height={400}\n * onStoreReady={setLogStore}\n * />\n * )\n * }\n *\n * // Then use the store to add messages\n * logStore?.addInfo(\"Operation completed successfully\")\n * logStore?.addError(\"Something went wrong\")\n * logStore?.addWarning(\"Warning message\")\n * ```\n */\nexport const LogPanel = externalizeComponent(\n observer((props: LogPanelProps) => {\n const { store: externalStore, onStoreReady, ...logViewerProps } = props\n const onStoreReadyRef = useRef(onStoreReady)\n\n // Update ref when callback changes\n useEffect(() => {\n onStoreReadyRef.current = onStoreReady\n }, [onStoreReady])\n\n const store = useMemo(() => {\n const logStore = externalStore || new LogStore()\n onStoreReadyRef.current?.(logStore)\n return logStore\n }, [externalStore])\n\n const handleClear = () => {\n store.clearMessages()\n }\n\n return (\n <LogViewer\n {...logViewerProps}\n messages={store.messages}\n onClear={handleClear}\n />\n )\n }),\n)\n\nexport default LogPanel\n"],"names":["LogPanel","externalizeComponent","observer","props","externalStore","onStoreReady","logViewerProps","onStoreReadyRef","useRef","useEffect","store","useMemo","logStore","LogStore","_a","handleClear","jsx","LogViewer"],"mappings":"mSAwCaA,EAAWC,EAAAA,qBACtBC,EAAAA,SAAUC,GAAyB,CACjC,KAAM,CAAE,MAAOC,EAAe,aAAAC,EAAc,GAAGC,GAAmBH,EAC5DI,EAAkBC,EAAAA,OAAOH,CAAY,EAG3CI,EAAAA,UAAU,IAAM,CACdF,EAAgB,QAAUF,CAC5B,EAAG,CAACA,CAAY,CAAC,EAEjB,MAAMK,EAAQC,EAAAA,QAAQ,IAAM,OAC1B,MAAMC,EAAWR,GAAiB,IAAIS,WACtC,OAAAC,EAAAP,EAAgB,UAAhB,MAAAO,EAAA,KAAAP,EAA0BK,GACnBA,CACT,EAAG,CAACR,CAAa,CAAC,EAEZW,EAAc,IAAM,CACxBL,EAAM,cAAA,CACR,EAEA,OACEM,EAAAA,IAACC,EAAAA,UAAA,CACE,GAAGX,EACJ,SAAUI,EAAM,SAChB,QAASK,CAAA,CAAA,CAGf,CAAC,CACH"}
@@ -36,3 +36,4 @@ export declare const LogPanel: ((props: LogPanelProps) => import("react/jsx-runt
36
36
  displayName: string;
37
37
  };
38
38
  export default LogPanel;
39
+ //# sourceMappingURL=LogPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LogPanel.d.ts","sourceRoot":"","sources":["../../src/components/LogPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAInD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAGrC,MAAM,MAAM,aAAa,GAAG;IAC1B,6EAA6E;IAC7E,KAAK,CAAC,EAAE,QAAQ,CAAA;IAChB,8BAA8B;IAC9B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACxB,wBAAwB;IACxB,EAAE,CAAC,EAAE,OAAO,CAAA;IACZ,+CAA+C;IAC/C,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAA;CACzC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,QAAQ,WACF,aAAa;;CA2B/B,CAAA;AAED,eAAe,QAAQ,CAAA"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as l } from "react/jsx-runtime";
2
2
  import { observer as f } from "mobx-react-lite";
3
3
  import { useRef as i, useEffect as p, useMemo as g } from "react";
4
- import { e as u } from "../chunks/externalizeComponent-eiCc5DIh.js";
4
+ import { externalizeComponent as u } from "../externalizeComponent.js";
5
5
  import { LogStore as x } from "./LogStore.js";
6
6
  import { LogViewer as w } from "./LogViewer.js";
7
7
  const V = u(
@@ -31,3 +31,4 @@ export {
31
31
  V as LogPanel,
32
32
  V as default
33
33
  };
34
+ //# sourceMappingURL=LogPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LogPanel.js","sources":["../../src/components/LogPanel.tsx"],"sourcesContent":["import type { SxProps } from \"@mui/material/styles\"\nimport { observer } from \"mobx-react-lite\"\nimport { useEffect, useMemo, useRef } from \"react\"\nimport { externalizeComponent } from \"../externalizeComponent\"\nimport { LogStore } from \"./LogStore\"\nimport { LogViewer } from \"./LogViewer\"\n\nexport type LogPanelProps = {\n /** Log store instance to use, or create one automatically if not provided */\n store?: LogStore\n /** Height of the component */\n height?: string | number\n /** Additional styles */\n sx?: SxProps\n /** Ref to the log store for external access */\n onStoreReady?: (store: LogStore) => void\n}\n\n/**\n * A complete log panel component with built-in state management.\n *\n * @example\n * ```tsx\n * function MyComponent() {\n * const [logStore, setLogStore] = useState<LogStore>()\n *\n * return (\n * <LogPanel\n * height={400}\n * onStoreReady={setLogStore}\n * />\n * )\n * }\n *\n * // Then use the store to add messages\n * logStore?.addInfo(\"Operation completed successfully\")\n * logStore?.addError(\"Something went wrong\")\n * logStore?.addWarning(\"Warning message\")\n * ```\n */\nexport const LogPanel = externalizeComponent(\n observer((props: LogPanelProps) => {\n const { store: externalStore, onStoreReady, ...logViewerProps } = props\n const onStoreReadyRef = useRef(onStoreReady)\n\n // Update ref when callback changes\n useEffect(() => {\n onStoreReadyRef.current = onStoreReady\n }, [onStoreReady])\n\n const store = useMemo(() => {\n const logStore = externalStore || new LogStore()\n onStoreReadyRef.current?.(logStore)\n return logStore\n }, [externalStore])\n\n const handleClear = () => {\n store.clearMessages()\n }\n\n return (\n <LogViewer\n {...logViewerProps}\n messages={store.messages}\n onClear={handleClear}\n />\n )\n }),\n)\n\nexport default LogPanel\n"],"names":["LogPanel","externalizeComponent","observer","props","externalStore","onStoreReady","logViewerProps","onStoreReadyRef","useRef","useEffect","store","useMemo","logStore","LogStore","_a","handleClear","jsx","LogViewer"],"mappings":";;;;;;AAwCO,MAAMA,IAAWC;AAAA,EACtBC,EAAS,CAACC,MAAyB;AACjC,UAAM,EAAE,OAAOC,GAAe,cAAAC,GAAc,GAAGC,MAAmBH,GAC5DI,IAAkBC,EAAOH,CAAY;AAG3C,IAAAI,EAAU,MAAM;AACd,MAAAF,EAAgB,UAAUF;AAAA,IAC5B,GAAG,CAACA,CAAY,CAAC;AAEjB,UAAMK,IAAQC,EAAQ,MAAM;;AAC1B,YAAMC,IAAWR,KAAiB,IAAIS,EAAA;AACtC,cAAAC,IAAAP,EAAgB,YAAhB,QAAAO,EAAA,KAAAP,GAA0BK,IACnBA;AAAA,IACT,GAAG,CAACR,CAAa,CAAC,GAEZW,IAAc,MAAM;AACxB,MAAAL,EAAM,cAAA;AAAA,IACR;AAEA,WACE,gBAAAM;AAAA,MAACC;AAAA,MAAA;AAAA,QACE,GAAGX;AAAA,QACJ,UAAUI,EAAM;AAAA,QAChB,SAASK;AAAA,MAAA;AAAA,IAAA;AAAA,EAGf,CAAC;AACH;"}
@@ -1 +1,2 @@
1
1
  "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("mobx");class a{constructor(){this.messages=[],this.addMessage=(s,t="info")=>{const i={id:Math.random().toString(36).substring(2,11),timestamp:new Date,message:s,level:t};this.messages.push(i)},this.clearMessages=()=>{this.messages=[]},this.addInfo=s=>{this.addMessage(s,"info")},this.addWarning=s=>{this.addMessage(s,"warning")},this.addError=s=>{this.addMessage(s,"error")},this.addDebug=s=>{this.addMessage(s,"debug")},e.makeObservable(this,{messages:e.observable,addMessage:e.action,clearMessages:e.action})}}exports.LogStore=a;exports.default=a;
2
+ //# sourceMappingURL=LogStore.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LogStore.cjs","sources":["../../src/components/LogStore.ts"],"sourcesContent":["import { action, makeObservable, observable } from \"mobx\"\nimport type { LogLevel, LogMessage } from \"./LogViewer\"\n\nexport class LogStore {\n messages: LogMessage[] = []\n\n constructor() {\n makeObservable(this, {\n messages: observable,\n addMessage: action,\n clearMessages: action,\n })\n }\n\n addMessage = (message: string, level: LogLevel = \"info\") => {\n const logMessage: LogMessage = {\n id: Math.random().toString(36).substring(2, 11),\n timestamp: new Date(),\n message,\n level,\n }\n this.messages.push(logMessage)\n }\n\n clearMessages = () => {\n this.messages = []\n }\n\n addInfo = (message: string) => {\n this.addMessage(message, \"info\")\n }\n\n addWarning = (message: string) => {\n this.addMessage(message, \"warning\")\n }\n\n addError = (message: string) => {\n this.addMessage(message, \"error\")\n }\n\n addDebug = (message: string) => {\n this.addMessage(message, \"debug\")\n }\n}\n\nexport default LogStore\n"],"names":["LogStore","message","level","logMessage","makeObservable","observable","action"],"mappings":"oIAGO,MAAMA,CAAS,CAGpB,aAAc,CAFd,KAAA,SAAyB,CAAA,EAUzB,KAAA,WAAa,CAACC,EAAiBC,EAAkB,SAAW,CAC1D,MAAMC,EAAyB,CAC7B,GAAI,KAAK,SAAS,SAAS,EAAE,EAAE,UAAU,EAAG,EAAE,EAC9C,cAAe,KACf,QAAAF,EACA,MAAAC,CAAA,EAEF,KAAK,SAAS,KAAKC,CAAU,CAC/B,EAEA,KAAA,cAAgB,IAAM,CACpB,KAAK,SAAW,CAAA,CAClB,EAEA,KAAA,QAAWF,GAAoB,CAC7B,KAAK,WAAWA,EAAS,MAAM,CACjC,EAEA,KAAA,WAAcA,GAAoB,CAChC,KAAK,WAAWA,EAAS,SAAS,CACpC,EAEA,KAAA,SAAYA,GAAoB,CAC9B,KAAK,WAAWA,EAAS,OAAO,CAClC,EAEA,KAAA,SAAYA,GAAoB,CAC9B,KAAK,WAAWA,EAAS,OAAO,CAClC,EAnCEG,EAAAA,eAAe,KAAM,CACnB,SAAUC,EAAAA,WACV,WAAYC,EAAAA,OACZ,cAAeA,EAAAA,MAAA,CAChB,CACH,CA+BF"}
@@ -10,3 +10,4 @@ export declare class LogStore {
10
10
  addDebug: (message: string) => void;
11
11
  }
12
12
  export default LogStore;
13
+ //# sourceMappingURL=LogStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LogStore.d.ts","sourceRoot":"","sources":["../../src/components/LogStore.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAEvD,qBAAa,QAAQ;IACnB,QAAQ,EAAE,UAAU,EAAE,CAAK;;IAU3B,UAAU,GAAI,SAAS,MAAM,EAAE,QAAO,QAAiB,UAQtD;IAED,aAAa,aAEZ;IAED,OAAO,GAAI,SAAS,MAAM,UAEzB;IAED,UAAU,GAAI,SAAS,MAAM,UAE5B;IAED,QAAQ,GAAI,SAAS,MAAM,UAE1B;IAED,QAAQ,GAAI,SAAS,MAAM,UAE1B;CACF;AAED,eAAe,QAAQ,CAAA"}
@@ -30,3 +30,4 @@ export {
30
30
  o as LogStore,
31
31
  o as default
32
32
  };
33
+ //# sourceMappingURL=LogStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LogStore.js","sources":["../../src/components/LogStore.ts"],"sourcesContent":["import { action, makeObservable, observable } from \"mobx\"\nimport type { LogLevel, LogMessage } from \"./LogViewer\"\n\nexport class LogStore {\n messages: LogMessage[] = []\n\n constructor() {\n makeObservable(this, {\n messages: observable,\n addMessage: action,\n clearMessages: action,\n })\n }\n\n addMessage = (message: string, level: LogLevel = \"info\") => {\n const logMessage: LogMessage = {\n id: Math.random().toString(36).substring(2, 11),\n timestamp: new Date(),\n message,\n level,\n }\n this.messages.push(logMessage)\n }\n\n clearMessages = () => {\n this.messages = []\n }\n\n addInfo = (message: string) => {\n this.addMessage(message, \"info\")\n }\n\n addWarning = (message: string) => {\n this.addMessage(message, \"warning\")\n }\n\n addError = (message: string) => {\n this.addMessage(message, \"error\")\n }\n\n addDebug = (message: string) => {\n this.addMessage(message, \"debug\")\n }\n}\n\nexport default LogStore\n"],"names":["LogStore","message","level","logMessage","makeObservable","observable","action"],"mappings":";AAGO,MAAMA,EAAS;AAAA,EAGpB,cAAc;AAFd,SAAA,WAAyB,CAAA,GAUzB,KAAA,aAAa,CAACC,GAAiBC,IAAkB,WAAW;AAC1D,YAAMC,IAAyB;AAAA,QAC7B,IAAI,KAAK,SAAS,SAAS,EAAE,EAAE,UAAU,GAAG,EAAE;AAAA,QAC9C,+BAAe,KAAA;AAAA,QACf,SAAAF;AAAA,QACA,OAAAC;AAAA,MAAA;AAEF,WAAK,SAAS,KAAKC,CAAU;AAAA,IAC/B,GAEA,KAAA,gBAAgB,MAAM;AACpB,WAAK,WAAW,CAAA;AAAA,IAClB,GAEA,KAAA,UAAU,CAACF,MAAoB;AAC7B,WAAK,WAAWA,GAAS,MAAM;AAAA,IACjC,GAEA,KAAA,aAAa,CAACA,MAAoB;AAChC,WAAK,WAAWA,GAAS,SAAS;AAAA,IACpC,GAEA,KAAA,WAAW,CAACA,MAAoB;AAC9B,WAAK,WAAWA,GAAS,OAAO;AAAA,IAClC,GAEA,KAAA,WAAW,CAACA,MAAoB;AAC9B,WAAK,WAAWA,GAAS,OAAO;AAAA,IAClC,GAnCEG,EAAe,MAAM;AAAA,MACnB,UAAUC;AAAA,MACV,YAAYC;AAAA,MACZ,eAAeA;AAAA,IAAA,CAChB;AAAA,EACH;AA+BF;"}
@@ -1 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("react/jsx-runtime"),z=require("@mui/icons-material/ContentCopy"),I=require("@mui/icons-material/DescriptionOutlined"),L=require("@mui/icons-material/ExpandLess"),E=require("@mui/icons-material/ExpandMore"),W=require("@mui/material/styles"),a=require("@mui/material/Box"),D=require("@mui/material/Button"),m=require("@mui/material/IconButton"),H=require("@mui/material/Paper"),c=require("@mui/material/Typography"),R=require("mobx-react-lite"),i=require("react"),$=require("../chunks/externalizeComponent-DOwkaDcw.cjs"),l=(n,o,p)=>({id:p||`${Date.now()}-${Math.random().toString(36).substring(2,11)}`,timestamp:new Date,message:n,level:o}),B=(n,o)=>l(n,"debug",o),P=(n,o)=>l(n,"info",o),F=(n,o)=>l(n,"warning",o),V=(n,o)=>l(n,"error",o),b=$.externalizeComponent(R.observer(n=>{var x;const{messages:o=[],onClear:p,height:y=400,sx:v}=n,e=W.useTheme(),d=i.useRef(null);i.useEffect(()=>{if(o.length===0)return;const r=d.current;if(!r)return;const s=setTimeout(()=>{r.scrollTop=r.scrollHeight},10);return()=>clearTimeout(s)},[o.length]);const C=r=>r.toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"}),w=r=>{switch(r){case"error":return e.palette.error.main;case"warning":return e.palette.warning.main;case"info":return e.palette.info.main;case"debug":return e.palette.text.disabled;default:return e.palette.text.secondary}},S=({message:r})=>{const[s,j]=i.useState(!1),[k,g]=i.useState(!1),[u,h]=i.useState(!1),f=r.message.length>150,M=async()=>{try{await navigator.clipboard.writeText(r.message),g(!0),setTimeout(()=>g(!1),2e3)}catch(T){console.error("Failed to copy message:",T)}},q=f&&!s?`${r.message.substring(0,150)}...`:r.message;return t.jsx(a,{onMouseEnter:()=>h(!0),onMouseLeave:()=>h(!1),sx:{display:"flex",gap:1,fontFamily:"monospace",flexDirection:"column","&:hover":{backgroundColor:e.palette.action.hover},borderRadius:"4px",padding:"2px 4px",margin:"-2px -4px"},children:t.jsxs(a,{sx:{display:"flex",gap:1},children:[t.jsxs(c,{component:"span",sx:{fontWeight:400,fontSize:"12px",lineHeight:"18px",letterSpacing:"0.4px",color:e.palette.text.disabled,whiteSpace:"nowrap",flexShrink:0},children:["[",C(r.timestamp),"]"]}),t.jsx(c,{component:"span",sx:{fontWeight:400,fontSize:"12px",lineHeight:"18px",letterSpacing:"0.4px",color:w(r.level),wordBreak:"break-word",overflowWrap:"anywhere",hyphens:"auto",flex:1,whiteSpace:"pre-wrap"},children:q}),t.jsxs(a,{sx:{display:"flex",alignItems:"flex-start",gap:.5,opacity:u?1:0,transition:"opacity 0.2s ease-in-out",visibility:u?"visible":"hidden"},children:[t.jsx(m,{size:"small",onClick:M,sx:{padding:"2px",color:e.palette.text.secondary,"&:hover":{backgroundColor:e.palette.action.hover}},title:k?"Copied!":"Copy message",children:t.jsx(z,{sx:{fontSize:12}})}),f&&t.jsx(m,{size:"small",onClick:()=>j(!s),sx:{padding:"2px",color:e.palette.text.secondary,"&:hover":{backgroundColor:e.palette.action.hover}},title:s?"Collapse":"Expand",children:s?t.jsx(L,{sx:{fontSize:12}}):t.jsx(E,{sx:{fontSize:12}})})]})]})},r.id)};return t.jsxs(H,{sx:{backgroundColor:((x=e.palette.backgroundPaperElevation)==null?void 0:x[2])||"#171927",backgroundImage:"none",height:y,display:"flex",flexDirection:"column",overflow:"hidden",...v},children:[t.jsxs(a,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"12px 16px"},children:[t.jsxs(a,{sx:{display:"flex",alignItems:"center",gap:1},children:[t.jsx(I,{sx:{fontSize:16,color:e.palette.action.active,opacity:.56}}),t.jsx(c,{sx:{fontWeight:500,fontSize:"14px",lineHeight:"143%",letterSpacing:"0.17px",color:e.palette.text.primary},children:"Log"})]}),t.jsx(D,{onClick:p,variant:"text",sx:{fontWeight:500,fontSize:"13px",lineHeight:"22px",letterSpacing:"0.46px",color:e.palette.primary.main,textTransform:"none",minWidth:"auto",padding:"4px 8px","&:hover":{backgroundColor:`${e.palette.primary.main}14`}},children:"Clear"})]}),t.jsx(a,{ref:d,sx:{flex:1,overflow:"auto",padding:"8px 16px",display:"flex",flexDirection:"column",gap:"2px",scrollbarWidth:"thin",scrollbarColor:`${e.palette.divider} transparent`,"&::-webkit-scrollbar":{width:"6px"},"&::-webkit-scrollbar-track":{background:"transparent"},"&::-webkit-scrollbar-thumb":{backgroundColor:e.palette.divider,borderRadius:"3px","&:hover":{backgroundColor:e.palette.divider}}},children:o.length===0?t.jsx(c,{sx:{color:e.palette.text.disabled,fontSize:"12px",fontStyle:"italic",textAlign:"center",marginTop:2},children:"No log messages"}):o.map(r=>t.jsx(S,{message:r},r.id))})]})}));exports.LogViewer=b;exports.createDebugMessage=B;exports.createErrorMessage=V;exports.createInfoMessage=P;exports.createLogMessage=l;exports.createWarningMessage=F;exports.default=b;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("react/jsx-runtime"),z=require("@mui/icons-material/ContentCopy"),I=require("@mui/icons-material/DescriptionOutlined"),L=require("@mui/icons-material/ExpandLess"),E=require("@mui/icons-material/ExpandMore"),W=require("@mui/material/styles"),a=require("@mui/material/Box"),D=require("@mui/material/Button"),m=require("@mui/material/IconButton"),H=require("@mui/material/Paper"),c=require("@mui/material/Typography"),R=require("mobx-react-lite"),i=require("react"),$=require("../externalizeComponent.cjs"),l=(n,o,p)=>({id:p||`${Date.now()}-${Math.random().toString(36).substring(2,11)}`,timestamp:new Date,message:n,level:o}),B=(n,o)=>l(n,"debug",o),P=(n,o)=>l(n,"info",o),F=(n,o)=>l(n,"warning",o),V=(n,o)=>l(n,"error",o),b=$.externalizeComponent(R.observer(n=>{var x;const{messages:o=[],onClear:p,height:y=400,sx:v}=n,e=W.useTheme(),d=i.useRef(null);i.useEffect(()=>{if(o.length===0)return;const r=d.current;if(!r)return;const s=setTimeout(()=>{r.scrollTop=r.scrollHeight},10);return()=>clearTimeout(s)},[o.length]);const C=r=>r.toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"}),w=r=>{switch(r){case"error":return e.palette.error.main;case"warning":return e.palette.warning.main;case"info":return e.palette.info.main;case"debug":return e.palette.text.disabled;default:return e.palette.text.secondary}},S=({message:r})=>{const[s,j]=i.useState(!1),[k,g]=i.useState(!1),[u,h]=i.useState(!1),f=r.message.length>150,M=async()=>{try{await navigator.clipboard.writeText(r.message),g(!0),setTimeout(()=>g(!1),2e3)}catch(T){console.error("Failed to copy message:",T)}},q=f&&!s?`${r.message.substring(0,150)}...`:r.message;return t.jsx(a,{onMouseEnter:()=>h(!0),onMouseLeave:()=>h(!1),sx:{display:"flex",gap:1,fontFamily:"monospace",flexDirection:"column","&:hover":{backgroundColor:e.palette.action.hover},borderRadius:"4px",padding:"2px 4px",margin:"-2px -4px"},children:t.jsxs(a,{sx:{display:"flex",gap:1},children:[t.jsxs(c,{component:"span",sx:{fontWeight:400,fontSize:"12px",lineHeight:"18px",letterSpacing:"0.4px",color:e.palette.text.disabled,whiteSpace:"nowrap",flexShrink:0},children:["[",C(r.timestamp),"]"]}),t.jsx(c,{component:"span",sx:{fontWeight:400,fontSize:"12px",lineHeight:"18px",letterSpacing:"0.4px",color:w(r.level),wordBreak:"break-word",overflowWrap:"anywhere",hyphens:"auto",flex:1,whiteSpace:"pre-wrap"},children:q}),t.jsxs(a,{sx:{display:"flex",alignItems:"flex-start",gap:.5,opacity:u?1:0,transition:"opacity 0.2s ease-in-out",visibility:u?"visible":"hidden"},children:[t.jsx(m,{size:"small",onClick:M,sx:{padding:"2px",color:e.palette.text.secondary,"&:hover":{backgroundColor:e.palette.action.hover}},title:k?"Copied!":"Copy message",children:t.jsx(z,{sx:{fontSize:12}})}),f&&t.jsx(m,{size:"small",onClick:()=>j(!s),sx:{padding:"2px",color:e.palette.text.secondary,"&:hover":{backgroundColor:e.palette.action.hover}},title:s?"Collapse":"Expand",children:s?t.jsx(L,{sx:{fontSize:12}}):t.jsx(E,{sx:{fontSize:12}})})]})]})},r.id)};return t.jsxs(H,{sx:{backgroundColor:((x=e.palette.backgroundPaperElevation)==null?void 0:x[2])||"#171927",backgroundImage:"none",height:y,display:"flex",flexDirection:"column",overflow:"hidden",...v},children:[t.jsxs(a,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"12px 16px"},children:[t.jsxs(a,{sx:{display:"flex",alignItems:"center",gap:1},children:[t.jsx(I,{sx:{fontSize:16,color:e.palette.action.active,opacity:.56}}),t.jsx(c,{sx:{fontWeight:500,fontSize:"14px",lineHeight:"143%",letterSpacing:"0.17px",color:e.palette.text.primary},children:"Log"})]}),t.jsx(D,{onClick:p,variant:"text",sx:{fontWeight:500,fontSize:"13px",lineHeight:"22px",letterSpacing:"0.46px",color:e.palette.primary.main,textTransform:"none",minWidth:"auto",padding:"4px 8px","&:hover":{backgroundColor:`${e.palette.primary.main}14`}},children:"Clear"})]}),t.jsx(a,{ref:d,sx:{flex:1,overflow:"auto",padding:"8px 16px",display:"flex",flexDirection:"column",gap:"2px",scrollbarWidth:"thin",scrollbarColor:`${e.palette.divider} transparent`,"&::-webkit-scrollbar":{width:"6px"},"&::-webkit-scrollbar-track":{background:"transparent"},"&::-webkit-scrollbar-thumb":{backgroundColor:e.palette.divider,borderRadius:"3px","&:hover":{backgroundColor:e.palette.divider}}},children:o.length===0?t.jsx(c,{sx:{color:e.palette.text.disabled,fontSize:"12px",fontStyle:"italic",textAlign:"center",marginTop:2},children:"No log messages"}):o.map(r=>t.jsx(S,{message:r},r.id))})]})}));exports.LogViewer=b;exports.createDebugMessage=B;exports.createErrorMessage=V;exports.createInfoMessage=P;exports.createLogMessage=l;exports.createWarningMessage=F;exports.default=b;
2
+ //# sourceMappingURL=LogViewer.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LogViewer.cjs","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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"}
@@ -44,3 +44,4 @@ export declare const LogViewer: ((props: LogViewerProps) => import("react/jsx-ru
44
44
  displayName: string;
45
45
  };
46
46
  export default LogViewer;
47
+ //# sourceMappingURL=LogViewer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LogViewer.d.ts","sourceRoot":"","sources":["../../src/components/LogViewer.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAWnD,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,CAAA;AAE7D,MAAM,MAAM,UAAU,GAAG;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,IAAI,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,QAAQ,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,8BAA8B;IAC9B,QAAQ,EAAE,UAAU,EAAE,CAAA;IACtB,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,8BAA8B;IAC9B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACxB,wBAAwB;IACxB,EAAE,CAAC,EAAE,OAAO,CAAA;CACb,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAC3B,SAAS,MAAM,EACf,OAAO,QAAQ,EACf,KAAK,MAAM,KACV,UAKD,CAAA;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAAI,SAAS,MAAM,EAAE,KAAK,MAAM,KAAG,UAC1B,CAAA;AAExC;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,SAAS,MAAM,EAAE,KAAK,MAAM,KAAG,UAC1B,CAAA;AAEvC;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAC/B,SAAS,MAAM,EACf,KAAK,MAAM,KACV,UAAsD,CAAA;AAEzD;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAAI,SAAS,MAAM,EAAE,KAAK,MAAM,KAAG,UAC1B,CAAA;AAExC;;;GAGG;AACH,eAAO,MAAM,SAAS,WACH,cAAc;;CA6RhC,CAAA;AAED,eAAe,SAAS,CAAA"}
@@ -11,7 +11,7 @@ import B from "@mui/material/Paper";
11
11
  import s from "@mui/material/Typography";
12
12
  import { observer as R } from "mobx-react-lite";
13
13
  import { useRef as j, useEffect as F, useState as d } from "react";
14
- import { e as P } from "../chunks/externalizeComponent-eiCc5DIh.js";
14
+ import { externalizeComponent as P } from "../externalizeComponent.js";
15
15
  const p = (n, o, c) => ({
16
16
  id: c || `${Date.now()}-${Math.random().toString(36).substring(2, 11)}`,
17
17
  timestamp: /* @__PURE__ */ new Date(),
@@ -296,3 +296,4 @@ export {
296
296
  oe as createWarningMessage,
297
297
  ne as default
298
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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"}
@@ -1 +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("../chunks/externalizeComponent-DOwkaDcw.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;
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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"}
@@ -53,3 +53,4 @@ export declare const ProgramControl: (({ state, onRun, onPause, onStop, onReset,
53
53
  displayName: string;
54
54
  };
55
55
  export default ProgramControl;
56
+ //# sourceMappingURL=ProgramControl.d.ts.map
@@ -0,0 +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;AAED,eAAe,cAAc,CAAA"}
@@ -1,14 +1,14 @@
1
1
  import { jsx as n, jsxs as C } from "react/jsx-runtime";
2
2
  import h from "@mui/icons-material/Pause";
3
- import s from "@mui/icons-material/PlayArrow";
4
- import c from "@mui/icons-material/Stop";
3
+ import c from "@mui/icons-material/PlayArrow";
4
+ import s from "@mui/icons-material/Stop";
5
5
  import { useTheme as y } from "@mui/material/styles";
6
6
  import d from "@mui/material/Box";
7
7
  import I from "@mui/material/Button";
8
8
  import k from "@mui/material/Typography";
9
9
  import { observer as P } from "mobx-react-lite";
10
10
  import { useTranslation as E } from "react-i18next";
11
- import { e as T } from "../chunks/externalizeComponent-eiCc5DIh.js";
11
+ import { externalizeComponent as T } from "../externalizeComponent.js";
12
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
13
  const _ = T(
14
14
  P(
@@ -48,14 +48,14 @@ const _ = T(
48
48
  }, x = (o) => {
49
49
  const p = { sx: { fontSize: "55px" } };
50
50
  if (u === "without_pause")
51
- return o === 0 ? /* @__PURE__ */ n(s, { ...p }) : /* @__PURE__ */ n(c, { ...p });
51
+ return o === 0 ? /* @__PURE__ */ n(c, { ...p }) : /* @__PURE__ */ n(s, { ...p });
52
52
  switch (o) {
53
53
  case 0:
54
- return /* @__PURE__ */ n(s, { ...p });
54
+ return /* @__PURE__ */ n(c, { ...p });
55
55
  case 1:
56
56
  return /* @__PURE__ */ n(h, { ...p });
57
57
  case 2:
58
- return /* @__PURE__ */ n(c, { ...p });
58
+ return /* @__PURE__ */ n(s, { ...p });
59
59
  default:
60
60
  return null;
61
61
  }
@@ -144,3 +144,4 @@ export {
144
144
  w as ProgramState,
145
145
  _ as default
146
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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"}
@@ -1 +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"),s=require("../chunks/externalizeComponent-DOwkaDcw.cjs"),a=require("./ProgramControl.cjs"),l=s.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;
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