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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (668) hide show
  1. package/dist/3d.cjs +2 -0
  2. package/dist/3d.cjs.map +1 -0
  3. package/dist/3d.js +31 -0
  4. package/dist/3d.js.map +1 -0
  5. package/dist/components/3d-viewport/CoordinateSystemTransform.d.ts +1 -0
  6. package/dist/components/3d-viewport/CoordinateSystemTransform.d.ts.map +1 -1
  7. package/dist/components/3d-viewport/PresetEnvironment.cjs +2 -0
  8. package/dist/components/3d-viewport/PresetEnvironment.cjs.map +1 -0
  9. package/dist/components/3d-viewport/PresetEnvironment.d.ts +1 -0
  10. package/dist/components/3d-viewport/PresetEnvironment.d.ts.map +1 -1
  11. package/dist/components/3d-viewport/PresetEnvironment.js +81 -0
  12. package/dist/components/3d-viewport/PresetEnvironment.js.map +1 -0
  13. package/dist/components/3d-viewport/SafetyZonesRenderer.cjs +2 -0
  14. package/dist/components/3d-viewport/SafetyZonesRenderer.cjs.map +1 -0
  15. package/dist/components/3d-viewport/SafetyZonesRenderer.d.ts +1 -0
  16. package/dist/components/3d-viewport/SafetyZonesRenderer.d.ts.map +1 -1
  17. package/dist/components/3d-viewport/SafetyZonesRenderer.js +131 -0
  18. package/dist/components/3d-viewport/SafetyZonesRenderer.js.map +1 -0
  19. package/dist/components/3d-viewport/TrajectoryRenderer.cjs +2 -0
  20. package/dist/components/3d-viewport/TrajectoryRenderer.cjs.map +1 -0
  21. package/dist/components/3d-viewport/TrajectoryRenderer.d.ts +1 -0
  22. package/dist/components/3d-viewport/TrajectoryRenderer.d.ts.map +1 -1
  23. package/dist/components/3d-viewport/TrajectoryRenderer.js +31 -0
  24. package/dist/components/3d-viewport/TrajectoryRenderer.js.map +1 -0
  25. package/dist/components/3d-viewport/collider/ColliderCollection.cjs +2 -0
  26. package/dist/components/3d-viewport/collider/ColliderCollection.cjs.map +1 -0
  27. package/dist/components/3d-viewport/collider/ColliderCollection.js +22 -0
  28. package/dist/components/3d-viewport/collider/ColliderCollection.js.map +1 -0
  29. package/dist/components/3d-viewport/collider/ColliderElement.cjs +2 -0
  30. package/dist/components/3d-viewport/collider/ColliderElement.cjs.map +1 -0
  31. package/dist/components/3d-viewport/collider/ColliderElement.js +29 -0
  32. package/dist/components/3d-viewport/collider/ColliderElement.js.map +1 -0
  33. package/dist/components/3d-viewport/collider/CollisionSceneRenderer.cjs +2 -0
  34. package/dist/components/3d-viewport/collider/CollisionSceneRenderer.cjs.map +1 -0
  35. package/dist/components/3d-viewport/collider/CollisionSceneRenderer.js +19 -0
  36. package/dist/components/3d-viewport/collider/CollisionSceneRenderer.js.map +1 -0
  37. package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.cjs +2 -0
  38. package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.cjs.map +1 -0
  39. package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.js +43 -0
  40. package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.js.map +1 -0
  41. package/dist/components/AppHeader.cjs +2 -0
  42. package/dist/components/AppHeader.cjs.map +1 -0
  43. package/dist/components/AppHeader.d.ts +1 -0
  44. package/dist/components/AppHeader.d.ts.map +1 -1
  45. package/dist/components/AppHeader.js +139 -0
  46. package/dist/components/AppHeader.js.map +1 -0
  47. package/dist/components/ConsoleFilter.cjs +2 -0
  48. package/dist/components/ConsoleFilter.cjs.map +1 -0
  49. package/dist/components/ConsoleFilter.js +13 -0
  50. package/dist/components/ConsoleFilter.js.map +1 -0
  51. package/dist/components/CopyableText.cjs +2 -0
  52. package/dist/components/CopyableText.cjs.map +1 -0
  53. package/dist/components/CopyableText.d.ts +1 -0
  54. package/dist/components/CopyableText.d.ts.map +1 -1
  55. package/dist/components/CopyableText.js +71 -0
  56. package/dist/components/CopyableText.js.map +1 -0
  57. package/dist/components/CycleTimer/CycleTimer.d.ts +1 -0
  58. package/dist/components/CycleTimer/CycleTimer.d.ts.map +1 -1
  59. package/dist/components/CycleTimer/DefaultVariant.cjs +2 -0
  60. package/dist/components/CycleTimer/DefaultVariant.cjs.map +1 -0
  61. package/dist/components/CycleTimer/DefaultVariant.js +301 -0
  62. package/dist/components/CycleTimer/DefaultVariant.js.map +1 -0
  63. package/dist/components/CycleTimer/SmallVariant.cjs +2 -0
  64. package/dist/components/CycleTimer/SmallVariant.cjs.map +1 -0
  65. package/dist/components/CycleTimer/SmallVariant.js +150 -0
  66. package/dist/components/CycleTimer/SmallVariant.js.map +1 -0
  67. package/dist/components/CycleTimer/index.cjs +2 -0
  68. package/dist/components/CycleTimer/index.cjs.map +1 -0
  69. package/dist/components/CycleTimer/index.d.ts +1 -0
  70. package/dist/components/CycleTimer/index.d.ts.map +1 -1
  71. package/dist/components/CycleTimer/index.js +86 -0
  72. package/dist/components/CycleTimer/index.js.map +1 -0
  73. package/dist/components/CycleTimer/useAnimations.cjs +2 -0
  74. package/dist/components/CycleTimer/useAnimations.cjs.map +1 -0
  75. package/dist/components/CycleTimer/useAnimations.js +105 -0
  76. package/dist/components/CycleTimer/useAnimations.js.map +1 -0
  77. package/dist/components/CycleTimer/useTimerLogic.cjs +2 -0
  78. package/dist/components/CycleTimer/useTimerLogic.cjs.map +1 -0
  79. package/dist/components/CycleTimer/useTimerLogic.js +191 -0
  80. package/dist/components/CycleTimer/useTimerLogic.js.map +1 -0
  81. package/dist/components/CycleTimer/utils.cjs +2 -0
  82. package/dist/components/CycleTimer/utils.cjs.map +1 -0
  83. package/dist/components/CycleTimer/utils.js +20 -0
  84. package/dist/components/CycleTimer/utils.js.map +1 -0
  85. package/dist/components/CycleTimer.cjs +2 -0
  86. package/dist/components/CycleTimer.cjs.map +1 -0
  87. package/dist/components/CycleTimer.d.ts +1 -0
  88. package/dist/components/CycleTimer.d.ts.map +1 -1
  89. package/dist/components/CycleTimer.js +6 -0
  90. package/dist/components/CycleTimer.js.map +1 -0
  91. package/dist/components/DataGrid.cjs +2 -0
  92. package/dist/components/DataGrid.cjs.map +1 -0
  93. package/dist/components/DataGrid.d.ts +1 -0
  94. package/dist/components/DataGrid.d.ts.map +1 -1
  95. package/dist/components/DataGrid.js +535 -0
  96. package/dist/components/DataGrid.js.map +1 -0
  97. package/dist/components/LoadingCover.cjs +2 -0
  98. package/dist/components/LoadingCover.cjs.map +1 -0
  99. package/dist/components/LoadingCover.d.ts +1 -0
  100. package/dist/components/LoadingCover.d.ts.map +1 -1
  101. package/dist/components/LoadingCover.js +77 -0
  102. package/dist/components/LoadingCover.js.map +1 -0
  103. package/dist/components/LogPanel.cjs +2 -0
  104. package/dist/components/LogPanel.cjs.map +1 -0
  105. package/dist/components/LogPanel.d.ts +1 -0
  106. package/dist/components/LogPanel.d.ts.map +1 -1
  107. package/dist/components/LogPanel.js +34 -0
  108. package/dist/components/LogPanel.js.map +1 -0
  109. package/dist/components/LogStore.cjs +2 -0
  110. package/dist/components/LogStore.cjs.map +1 -0
  111. package/dist/components/LogStore.d.ts +1 -0
  112. package/dist/components/LogStore.d.ts.map +1 -1
  113. package/dist/components/LogStore.js +33 -0
  114. package/dist/components/LogStore.js.map +1 -0
  115. package/dist/components/LogViewer.cjs +2 -0
  116. package/dist/components/LogViewer.cjs.map +1 -0
  117. package/dist/components/LogViewer.d.ts +1 -0
  118. package/dist/components/LogViewer.d.ts.map +1 -1
  119. package/dist/components/LogViewer.js +299 -0
  120. package/dist/components/LogViewer.js.map +1 -0
  121. package/dist/components/ProgramControl.cjs +2 -0
  122. package/dist/components/ProgramControl.cjs.map +1 -0
  123. package/dist/components/ProgramControl.d.ts +1 -0
  124. package/dist/components/ProgramControl.d.ts.map +1 -1
  125. package/dist/components/ProgramControl.js +147 -0
  126. package/dist/components/ProgramControl.js.map +1 -0
  127. package/dist/components/ProgramStateIndicator.cjs +2 -0
  128. package/dist/components/ProgramStateIndicator.cjs.map +1 -0
  129. package/dist/components/ProgramStateIndicator.d.ts +1 -0
  130. package/dist/components/ProgramStateIndicator.d.ts.map +1 -1
  131. package/dist/components/ProgramStateIndicator.js +140 -0
  132. package/dist/components/ProgramStateIndicator.js.map +1 -0
  133. package/dist/components/RobotCard.cjs +2 -0
  134. package/dist/components/RobotCard.cjs.map +1 -0
  135. package/dist/components/RobotCard.d.ts +1 -0
  136. package/dist/components/RobotCard.d.ts.map +1 -1
  137. package/dist/components/RobotCard.js +360 -0
  138. package/dist/components/RobotCard.js.map +1 -0
  139. package/dist/components/RobotListItem.cjs +2 -0
  140. package/dist/components/RobotListItem.cjs.map +1 -0
  141. package/dist/components/RobotListItem.d.ts +1 -0
  142. package/dist/components/RobotListItem.d.ts.map +1 -1
  143. package/dist/components/RobotListItem.js +122 -0
  144. package/dist/components/RobotListItem.js.map +1 -0
  145. package/dist/components/RobotSetupReadinessIndicator.cjs +2 -0
  146. package/dist/components/RobotSetupReadinessIndicator.cjs.map +1 -0
  147. package/dist/components/RobotSetupReadinessIndicator.d.ts +1 -0
  148. package/dist/components/RobotSetupReadinessIndicator.d.ts.map +1 -1
  149. package/dist/components/RobotSetupReadinessIndicator.js +122 -0
  150. package/dist/components/RobotSetupReadinessIndicator.js.map +1 -0
  151. package/dist/components/SelectableFab.cjs +2 -0
  152. package/dist/components/SelectableFab.cjs.map +1 -0
  153. package/dist/components/SelectableFab.d.ts +1 -1
  154. package/dist/components/SelectableFab.d.ts.map +1 -1
  155. package/dist/components/SelectableFab.js +51 -0
  156. package/dist/components/SelectableFab.js.map +1 -0
  157. package/dist/components/TabBar.cjs +2 -0
  158. package/dist/components/TabBar.cjs.map +1 -0
  159. package/dist/components/TabBar.d.ts +1 -0
  160. package/dist/components/TabBar.d.ts.map +1 -1
  161. package/dist/components/TabBar.js +212 -0
  162. package/dist/components/TabBar.js.map +1 -0
  163. package/dist/components/ThemeSelect.d.ts +1 -1
  164. package/dist/components/ThemeSelect.d.ts.map +1 -1
  165. package/dist/components/Timer/Timer.d.ts +1 -0
  166. package/dist/components/Timer/Timer.d.ts.map +1 -1
  167. package/dist/components/Timer/TimerDefaultVariant.cjs +2 -0
  168. package/dist/components/Timer/TimerDefaultVariant.cjs.map +1 -0
  169. package/dist/components/Timer/TimerDefaultVariant.js +136 -0
  170. package/dist/components/Timer/TimerDefaultVariant.js.map +1 -0
  171. package/dist/components/Timer/TimerSmallVariant.cjs +2 -0
  172. package/dist/components/Timer/TimerSmallVariant.cjs.map +1 -0
  173. package/dist/components/Timer/TimerSmallVariant.js +128 -0
  174. package/dist/components/Timer/TimerSmallVariant.js.map +1 -0
  175. package/dist/components/Timer/index.cjs +2 -0
  176. package/dist/components/Timer/index.cjs.map +1 -0
  177. package/dist/components/Timer/index.d.ts +1 -0
  178. package/dist/components/Timer/index.d.ts.map +1 -1
  179. package/dist/components/Timer/index.js +68 -0
  180. package/dist/components/Timer/index.js.map +1 -0
  181. package/dist/components/Timer/useTimerAnimations.cjs +2 -0
  182. package/dist/components/Timer/useTimerAnimations.cjs.map +1 -0
  183. package/dist/components/Timer/useTimerAnimations.js +48 -0
  184. package/dist/components/Timer/useTimerAnimations.js.map +1 -0
  185. package/dist/components/Timer/useTimerLogic.cjs +2 -0
  186. package/dist/components/Timer/useTimerLogic.cjs.map +1 -0
  187. package/dist/components/Timer/useTimerLogic.js +113 -0
  188. package/dist/components/Timer/useTimerLogic.js.map +1 -0
  189. package/dist/components/Timer/utils.cjs +2 -0
  190. package/dist/components/Timer/utils.cjs.map +1 -0
  191. package/dist/components/Timer/utils.js +19 -0
  192. package/dist/components/Timer/utils.js.map +1 -0
  193. package/dist/components/Timer.cjs +2 -0
  194. package/dist/components/Timer.cjs.map +1 -0
  195. package/dist/components/Timer.d.ts +4 -0
  196. package/dist/components/Timer.d.ts.map +1 -0
  197. package/dist/components/Timer.js +6 -0
  198. package/dist/components/Timer.js.map +1 -0
  199. package/dist/components/TransparentOverlay.d.ts +1 -0
  200. package/dist/components/TransparentOverlay.d.ts.map +1 -1
  201. package/dist/components/VelocitySlider.cjs +2 -0
  202. package/dist/components/VelocitySlider.cjs.map +1 -0
  203. package/dist/components/VelocitySlider.d.ts +1 -1
  204. package/dist/components/VelocitySlider.d.ts.map +1 -1
  205. package/dist/components/VelocitySlider.js +97 -0
  206. package/dist/components/VelocitySlider.js.map +1 -0
  207. package/dist/components/experimental/utils/AdornedSelect.cjs +2 -0
  208. package/dist/components/experimental/utils/AdornedSelect.cjs.map +1 -0
  209. package/dist/components/experimental/utils/AdornedSelect.js +35 -0
  210. package/dist/components/experimental/utils/AdornedSelect.js.map +1 -0
  211. package/dist/components/jogging/JoggingBlocked.cjs +2 -0
  212. package/dist/components/jogging/JoggingBlocked.cjs.map +1 -0
  213. package/dist/components/jogging/JoggingBlocked.js +46 -0
  214. package/dist/components/jogging/JoggingBlocked.js.map +1 -0
  215. package/dist/components/jogging/JoggingCartesianAxisControl.cjs +2 -0
  216. package/dist/components/jogging/JoggingCartesianAxisControl.cjs.map +1 -0
  217. package/dist/components/jogging/JoggingCartesianAxisControl.d.ts +1 -1
  218. package/dist/components/jogging/JoggingCartesianAxisControl.d.ts.map +1 -1
  219. package/dist/components/jogging/JoggingCartesianAxisControl.js +186 -0
  220. package/dist/components/jogging/JoggingCartesianAxisControl.js.map +1 -0
  221. package/dist/components/jogging/JoggingCartesianTab.cjs +2 -0
  222. package/dist/components/jogging/JoggingCartesianTab.cjs.map +1 -0
  223. package/dist/components/jogging/JoggingCartesianTab.js +267 -0
  224. package/dist/components/jogging/JoggingCartesianTab.js.map +1 -0
  225. package/dist/components/jogging/JoggingJointLimitDetector.cjs +2 -0
  226. package/dist/components/jogging/JoggingJointLimitDetector.cjs.map +1 -0
  227. package/dist/components/jogging/JoggingJointLimitDetector.js +42 -0
  228. package/dist/components/jogging/JoggingJointLimitDetector.js.map +1 -0
  229. package/dist/components/jogging/JoggingJointTab.cjs +2 -0
  230. package/dist/components/jogging/JoggingJointTab.cjs.map +1 -0
  231. package/dist/components/jogging/JoggingJointTab.js +114 -0
  232. package/dist/components/jogging/JoggingJointTab.js.map +1 -0
  233. package/dist/components/jogging/JoggingJointValueControl.cjs +2 -0
  234. package/dist/components/jogging/JoggingJointValueControl.cjs.map +1 -0
  235. package/dist/components/jogging/JoggingJointValueControl.d.ts +1 -1
  236. package/dist/components/jogging/JoggingJointValueControl.d.ts.map +1 -1
  237. package/dist/components/jogging/JoggingJointValueControl.js +240 -0
  238. package/dist/components/jogging/JoggingJointValueControl.js.map +1 -0
  239. package/dist/components/jogging/JoggingOptions.cjs +2 -0
  240. package/dist/components/jogging/JoggingOptions.cjs.map +1 -0
  241. package/dist/components/jogging/JoggingOptions.js +117 -0
  242. package/dist/components/jogging/JoggingOptions.js.map +1 -0
  243. package/dist/components/jogging/JoggingPanel.cjs +2 -0
  244. package/dist/components/jogging/JoggingPanel.cjs.map +1 -0
  245. package/dist/components/jogging/JoggingPanel.d.ts +1 -0
  246. package/dist/components/jogging/JoggingPanel.d.ts.map +1 -1
  247. package/dist/components/jogging/JoggingPanel.js +121 -0
  248. package/dist/components/jogging/JoggingPanel.js.map +1 -0
  249. package/dist/components/jogging/JoggingStore.cjs +2 -0
  250. package/dist/components/jogging/JoggingStore.cjs.map +1 -0
  251. package/dist/components/jogging/JoggingStore.d.ts +1 -1
  252. package/dist/components/jogging/JoggingStore.d.ts.map +1 -1
  253. package/dist/components/jogging/JoggingStore.js +219 -0
  254. package/dist/components/jogging/JoggingStore.js.map +1 -0
  255. package/dist/components/jogging/JoggingToggleButtonGroup.cjs +2 -0
  256. package/dist/components/jogging/JoggingToggleButtonGroup.cjs.map +1 -0
  257. package/dist/components/jogging/JoggingToggleButtonGroup.js +29 -0
  258. package/dist/components/jogging/JoggingToggleButtonGroup.js.map +1 -0
  259. package/dist/components/jogging/JoggingVelocitySlider.cjs +2 -0
  260. package/dist/components/jogging/JoggingVelocitySlider.cjs.map +1 -0
  261. package/dist/components/jogging/JoggingVelocitySlider.js +40 -0
  262. package/dist/components/jogging/JoggingVelocitySlider.js.map +1 -0
  263. package/dist/components/jogging/PoseCartesianValues.cjs +2 -0
  264. package/dist/components/jogging/PoseCartesianValues.cjs.map +1 -0
  265. package/dist/components/jogging/PoseCartesianValues.d.ts +1 -0
  266. package/dist/components/jogging/PoseCartesianValues.d.ts.map +1 -1
  267. package/dist/components/jogging/PoseCartesianValues.js +48 -0
  268. package/dist/components/jogging/PoseCartesianValues.js.map +1 -0
  269. package/dist/components/jogging/PoseJointValues.cjs +2 -0
  270. package/dist/components/jogging/PoseJointValues.cjs.map +1 -0
  271. package/dist/components/jogging/PoseJointValues.d.ts +1 -0
  272. package/dist/components/jogging/PoseJointValues.d.ts.map +1 -1
  273. package/dist/components/jogging/PoseJointValues.js +47 -0
  274. package/dist/components/jogging/PoseJointValues.js.map +1 -0
  275. package/dist/components/modal/NoMotionGroupModal.cjs +2 -0
  276. package/dist/components/modal/NoMotionGroupModal.cjs.map +1 -0
  277. package/dist/components/modal/NoMotionGroupModal.d.ts +1 -0
  278. package/dist/components/modal/NoMotionGroupModal.d.ts.map +1 -1
  279. package/dist/components/modal/NoMotionGroupModal.js +92 -0
  280. package/dist/components/modal/NoMotionGroupModal.js.map +1 -0
  281. package/dist/components/robots/AxisConfig.cjs +2 -0
  282. package/dist/components/robots/AxisConfig.cjs.map +1 -0
  283. package/dist/components/robots/AxisConfig.js +5 -0
  284. package/dist/components/robots/AxisConfig.js.map +1 -0
  285. package/dist/components/robots/DHLinearAxis.cjs +2 -0
  286. package/dist/components/robots/DHLinearAxis.cjs.map +1 -0
  287. package/dist/components/robots/DHLinearAxis.d.ts +1 -0
  288. package/dist/components/robots/DHLinearAxis.d.ts.map +1 -1
  289. package/dist/components/robots/DHLinearAxis.js +92 -0
  290. package/dist/components/robots/DHLinearAxis.js.map +1 -0
  291. package/dist/components/robots/DHRobot.cjs +2 -0
  292. package/dist/components/robots/DHRobot.cjs.map +1 -0
  293. package/dist/components/robots/DHRobot.d.ts +1 -0
  294. package/dist/components/robots/DHRobot.d.ts.map +1 -1
  295. package/dist/components/robots/DHRobot.js +94 -0
  296. package/dist/components/robots/DHRobot.js.map +1 -0
  297. package/dist/components/robots/GenericRobot.cjs +2 -0
  298. package/dist/components/robots/GenericRobot.cjs.map +1 -0
  299. package/dist/components/robots/GenericRobot.d.ts +1 -0
  300. package/dist/components/robots/GenericRobot.d.ts.map +1 -1
  301. package/dist/components/robots/GenericRobot.js +91 -0
  302. package/dist/components/robots/GenericRobot.js.map +1 -0
  303. package/dist/components/robots/LinearAxis.cjs +2 -0
  304. package/dist/components/robots/LinearAxis.cjs.map +1 -0
  305. package/dist/components/robots/LinearAxis.d.ts +1 -0
  306. package/dist/components/robots/LinearAxis.d.ts.map +1 -1
  307. package/dist/components/robots/LinearAxis.js +42 -0
  308. package/dist/components/robots/LinearAxis.js.map +1 -0
  309. package/dist/components/robots/LinearAxisAnimator.cjs +2 -0
  310. package/dist/components/robots/LinearAxisAnimator.cjs.map +1 -0
  311. package/dist/components/robots/LinearAxisAnimator.js +66 -0
  312. package/dist/components/robots/LinearAxisAnimator.js.map +1 -0
  313. package/dist/components/robots/MotionGroupVisualizer.cjs +2 -0
  314. package/dist/components/robots/MotionGroupVisualizer.cjs.map +1 -0
  315. package/dist/components/robots/MotionGroupVisualizer.d.ts +1 -0
  316. package/dist/components/robots/MotionGroupVisualizer.d.ts.map +1 -1
  317. package/dist/components/robots/MotionGroupVisualizer.js +21 -0
  318. package/dist/components/robots/MotionGroupVisualizer.js.map +1 -0
  319. package/dist/components/robots/Robot.cjs +2 -0
  320. package/dist/components/robots/Robot.cjs.map +1 -0
  321. package/dist/components/robots/Robot.d.ts +1 -0
  322. package/dist/components/robots/Robot.d.ts.map +1 -1
  323. package/dist/components/robots/Robot.js +31 -0
  324. package/dist/components/robots/Robot.js.map +1 -0
  325. package/dist/components/robots/RobotAnimator.cjs +2 -0
  326. package/dist/components/robots/RobotAnimator.cjs.map +1 -0
  327. package/dist/components/robots/RobotAnimator.js +66 -0
  328. package/dist/components/robots/RobotAnimator.js.map +1 -0
  329. package/dist/components/robots/SupportedLinearAxis.cjs +2 -0
  330. package/dist/components/robots/SupportedLinearAxis.cjs.map +1 -0
  331. package/dist/components/robots/SupportedLinearAxis.d.ts +1 -0
  332. package/dist/components/robots/SupportedLinearAxis.d.ts.map +1 -1
  333. package/dist/components/robots/SupportedLinearAxis.js +82 -0
  334. package/dist/components/robots/SupportedLinearAxis.js.map +1 -0
  335. package/dist/components/robots/SupportedRobot.cjs +2 -0
  336. package/dist/components/robots/SupportedRobot.cjs.map +1 -0
  337. package/dist/components/robots/SupportedRobot.d.ts +1 -0
  338. package/dist/components/robots/SupportedRobot.d.ts.map +1 -1
  339. package/dist/components/robots/SupportedRobot.js +82 -0
  340. package/dist/components/robots/SupportedRobot.js.map +1 -0
  341. package/dist/components/robots/ghostStyle.cjs +2 -0
  342. package/dist/components/robots/ghostStyle.cjs.map +1 -0
  343. package/dist/components/robots/ghostStyle.js +40 -0
  344. package/dist/components/robots/ghostStyle.js.map +1 -0
  345. package/dist/components/robots/manufacturerHomePositions.cjs +2 -0
  346. package/dist/components/robots/manufacturerHomePositions.cjs.map +1 -0
  347. package/dist/components/robots/manufacturerHomePositions.js +51 -0
  348. package/dist/components/robots/manufacturerHomePositions.js.map +1 -0
  349. package/dist/components/robots/robotModelLogic.cjs +2 -0
  350. package/dist/components/robots/robotModelLogic.cjs.map +1 -0
  351. package/dist/components/robots/robotModelLogic.js +61 -0
  352. package/dist/components/robots/robotModelLogic.js.map +1 -0
  353. package/dist/components/safetyBar/ControllerTypeIndicator.cjs +2 -0
  354. package/dist/components/safetyBar/ControllerTypeIndicator.cjs.map +1 -0
  355. package/dist/components/safetyBar/ControllerTypeIndicator.d.ts +1 -1
  356. package/dist/components/safetyBar/ControllerTypeIndicator.d.ts.map +1 -1
  357. package/dist/components/safetyBar/ControllerTypeIndicator.js +71 -0
  358. package/dist/components/safetyBar/ControllerTypeIndicator.js.map +1 -0
  359. package/dist/components/safetyBar/IndicatorWithExplanation.cjs +2 -0
  360. package/dist/components/safetyBar/IndicatorWithExplanation.cjs.map +1 -0
  361. package/dist/components/safetyBar/IndicatorWithExplanation.d.ts +1 -0
  362. package/dist/components/safetyBar/IndicatorWithExplanation.d.ts.map +1 -1
  363. package/dist/components/safetyBar/IndicatorWithExplanation.js +123 -0
  364. package/dist/components/safetyBar/IndicatorWithExplanation.js.map +1 -0
  365. package/dist/components/safetyBar/OperationModeIndicator.cjs +2 -0
  366. package/dist/components/safetyBar/OperationModeIndicator.cjs.map +1 -0
  367. package/dist/components/safetyBar/OperationModeIndicator.d.ts +1 -1
  368. package/dist/components/safetyBar/OperationModeIndicator.d.ts.map +1 -1
  369. package/dist/components/safetyBar/OperationModeIndicator.js +75 -0
  370. package/dist/components/safetyBar/OperationModeIndicator.js.map +1 -0
  371. package/dist/components/safetyBar/SafetyBar.cjs +2 -0
  372. package/dist/components/safetyBar/SafetyBar.cjs.map +1 -0
  373. package/dist/components/safetyBar/SafetyBar.d.ts +1 -0
  374. package/dist/components/safetyBar/SafetyBar.d.ts.map +1 -1
  375. package/dist/components/safetyBar/SafetyBar.js +66 -0
  376. package/dist/components/safetyBar/SafetyBar.js.map +1 -0
  377. package/dist/components/safetyBar/SafetyStateIndicator.cjs +2 -0
  378. package/dist/components/safetyBar/SafetyStateIndicator.cjs.map +1 -0
  379. package/dist/components/safetyBar/SafetyStateIndicator.d.ts +1 -1
  380. package/dist/components/safetyBar/SafetyStateIndicator.d.ts.map +1 -1
  381. package/dist/components/safetyBar/SafetyStateIndicator.js +126 -0
  382. package/dist/components/safetyBar/SafetyStateIndicator.js.map +1 -0
  383. package/dist/components/safetyBar/icons/controller-type-physical.svg.cjs +2 -0
  384. package/dist/components/safetyBar/icons/controller-type-physical.svg.cjs.map +1 -0
  385. package/dist/components/safetyBar/icons/controller-type-physical.svg.d.ts +3 -0
  386. package/dist/components/safetyBar/icons/controller-type-physical.svg.js +11 -0
  387. package/dist/components/safetyBar/icons/controller-type-physical.svg.js.map +1 -0
  388. package/dist/components/safetyBar/icons/controller-type-virtual.svg.cjs +2 -0
  389. package/dist/components/safetyBar/icons/controller-type-virtual.svg.cjs.map +1 -0
  390. package/dist/components/safetyBar/icons/controller-type-virtual.svg.d.ts +3 -0
  391. package/dist/components/safetyBar/icons/controller-type-virtual.svg.js +11 -0
  392. package/dist/components/safetyBar/icons/controller-type-virtual.svg.js.map +1 -0
  393. package/dist/components/safetyBar/icons/operation-mode-automatic.svg.cjs +2 -0
  394. package/dist/components/safetyBar/icons/operation-mode-automatic.svg.cjs.map +1 -0
  395. package/dist/components/safetyBar/icons/operation-mode-automatic.svg.d.ts +3 -0
  396. package/dist/components/safetyBar/icons/operation-mode-automatic.svg.js +11 -0
  397. package/dist/components/safetyBar/icons/operation-mode-automatic.svg.js.map +1 -0
  398. package/dist/components/safetyBar/icons/operation-mode-error.svg.cjs +2 -0
  399. package/dist/components/safetyBar/icons/operation-mode-error.svg.cjs.map +1 -0
  400. package/dist/components/safetyBar/icons/operation-mode-error.svg.d.ts +3 -0
  401. package/dist/components/safetyBar/icons/operation-mode-error.svg.js +11 -0
  402. package/dist/components/safetyBar/icons/operation-mode-error.svg.js.map +1 -0
  403. package/dist/components/safetyBar/icons/operation-mode-manual.svg.cjs +2 -0
  404. package/dist/components/safetyBar/icons/operation-mode-manual.svg.cjs.map +1 -0
  405. package/dist/components/safetyBar/icons/operation-mode-manual.svg.d.ts +3 -0
  406. package/dist/components/safetyBar/icons/operation-mode-manual.svg.js +11 -0
  407. package/dist/components/safetyBar/icons/operation-mode-manual.svg.js.map +1 -0
  408. package/dist/components/safetyBar/icons/safety-state-error.svg.cjs +2 -0
  409. package/dist/components/safetyBar/icons/safety-state-error.svg.cjs.map +1 -0
  410. package/dist/components/safetyBar/icons/safety-state-error.svg.d.ts +3 -0
  411. package/dist/components/safetyBar/icons/safety-state-error.svg.js +11 -0
  412. package/dist/components/safetyBar/icons/safety-state-error.svg.js.map +1 -0
  413. package/dist/components/safetyBar/icons/safety-state-estop.svg.cjs +2 -0
  414. package/dist/components/safetyBar/icons/safety-state-estop.svg.cjs.map +1 -0
  415. package/dist/components/safetyBar/icons/safety-state-estop.svg.d.ts +3 -0
  416. package/dist/components/safetyBar/icons/safety-state-estop.svg.js +11 -0
  417. package/dist/components/safetyBar/icons/safety-state-estop.svg.js.map +1 -0
  418. package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.cjs +2 -0
  419. package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.cjs.map +1 -0
  420. package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.d.ts +3 -0
  421. package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.js +11 -0
  422. package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.js.map +1 -0
  423. package/dist/components/safetyBar/icons/safety-state-normal.svg.cjs +2 -0
  424. package/dist/components/safetyBar/icons/safety-state-normal.svg.cjs.map +1 -0
  425. package/dist/components/safetyBar/icons/safety-state-normal.svg.d.ts +3 -0
  426. package/dist/components/safetyBar/icons/safety-state-normal.svg.js +11 -0
  427. package/dist/components/safetyBar/icons/safety-state-normal.svg.js.map +1 -0
  428. package/dist/components/safetyBar/icons/safety-state-stop.svg.cjs +2 -0
  429. package/dist/components/safetyBar/icons/safety-state-stop.svg.cjs.map +1 -0
  430. package/dist/components/safetyBar/icons/safety-state-stop.svg.d.ts +3 -0
  431. package/dist/components/safetyBar/icons/safety-state-stop.svg.js +11 -0
  432. package/dist/components/safetyBar/icons/safety-state-stop.svg.js.map +1 -0
  433. package/dist/components/utils/converters.cjs +2 -0
  434. package/dist/components/utils/converters.cjs.map +1 -0
  435. package/dist/components/utils/converters.js +40 -0
  436. package/dist/components/utils/converters.js.map +1 -0
  437. package/dist/components/utils/errorHandling.cjs +2 -0
  438. package/dist/components/utils/errorHandling.cjs.map +1 -0
  439. package/dist/components/utils/errorHandling.js +14 -0
  440. package/dist/components/utils/errorHandling.js.map +1 -0
  441. package/dist/components/utils/hooks.cjs +2 -0
  442. package/dist/components/utils/hooks.cjs.map +1 -0
  443. package/dist/components/utils/hooks.js +29 -0
  444. package/dist/components/utils/hooks.js.map +1 -0
  445. package/dist/components/utils/interpolation.cjs +2 -0
  446. package/dist/components/utils/interpolation.cjs.map +1 -0
  447. package/dist/components/utils/interpolation.js +138 -0
  448. package/dist/components/utils/interpolation.js.map +1 -0
  449. package/dist/core.cjs +2 -0
  450. package/dist/core.cjs.map +1 -0
  451. package/dist/core.js +81 -0
  452. package/dist/core.js.map +1 -0
  453. package/dist/externalizeComponent.cjs +2 -0
  454. package/dist/externalizeComponent.cjs.map +1 -0
  455. package/dist/externalizeComponent.js +13 -0
  456. package/dist/externalizeComponent.js.map +1 -0
  457. package/dist/i18n/config.cjs +2 -0
  458. package/dist/i18n/config.cjs.map +1 -0
  459. package/dist/i18n/config.js +25 -0
  460. package/dist/i18n/config.js.map +1 -0
  461. package/dist/i18n/locales/de/translations.json.cjs +3 -0
  462. package/dist/i18n/locales/de/translations.json.cjs.map +1 -0
  463. package/dist/i18n/locales/de/translations.json.js +94 -0
  464. package/dist/i18n/locales/de/translations.json.js.map +1 -0
  465. package/dist/i18n/locales/en/translations.json.cjs +2 -0
  466. package/dist/i18n/locales/en/translations.json.cjs.map +1 -0
  467. package/dist/i18n/locales/en/translations.json.js +94 -0
  468. package/dist/i18n/locales/en/translations.json.js.map +1 -0
  469. package/dist/icons/DropdownArrowIcon.cjs +2 -0
  470. package/dist/icons/DropdownArrowIcon.cjs.map +1 -0
  471. package/dist/icons/DropdownArrowIcon.js +14 -0
  472. package/dist/icons/DropdownArrowIcon.js.map +1 -0
  473. package/dist/icons/axis-x.svg.cjs +2 -0
  474. package/dist/icons/axis-x.svg.cjs.map +1 -0
  475. package/dist/icons/axis-x.svg.d.ts +3 -0
  476. package/dist/icons/axis-x.svg.js +11 -0
  477. package/dist/icons/axis-x.svg.js.map +1 -0
  478. package/dist/icons/axis-y.svg.cjs +2 -0
  479. package/dist/icons/axis-y.svg.cjs.map +1 -0
  480. package/dist/icons/axis-y.svg.d.ts +3 -0
  481. package/dist/icons/axis-y.svg.js +11 -0
  482. package/dist/icons/axis-y.svg.js.map +1 -0
  483. package/dist/icons/axis-z.svg.cjs +2 -0
  484. package/dist/icons/axis-z.svg.cjs.map +1 -0
  485. package/dist/icons/axis-z.svg.d.ts +3 -0
  486. package/dist/icons/axis-z.svg.js +11 -0
  487. package/dist/icons/axis-z.svg.js.map +1 -0
  488. package/dist/icons/home.svg.cjs +2 -0
  489. package/dist/icons/home.svg.cjs.map +1 -0
  490. package/dist/icons/home.svg.d.ts +3 -0
  491. package/dist/icons/home.svg.js +11 -0
  492. package/dist/icons/home.svg.js.map +1 -0
  493. package/dist/icons/jog-minus.svg.cjs +2 -0
  494. package/dist/icons/jog-minus.svg.cjs.map +1 -0
  495. package/dist/icons/jog-minus.svg.d.ts +3 -0
  496. package/dist/icons/jog-minus.svg.js +11 -0
  497. package/dist/icons/jog-minus.svg.js.map +1 -0
  498. package/dist/icons/jog-plus.svg.cjs +2 -0
  499. package/dist/icons/jog-plus.svg.cjs.map +1 -0
  500. package/dist/icons/jog-plus.svg.d.ts +3 -0
  501. package/dist/icons/jog-plus.svg.js +11 -0
  502. package/dist/icons/jog-plus.svg.js.map +1 -0
  503. package/dist/icons/jogging.svg.cjs +2 -0
  504. package/dist/icons/jogging.svg.cjs.map +1 -0
  505. package/dist/icons/jogging.svg.d.ts +3 -0
  506. package/dist/icons/jogging.svg.js +11 -0
  507. package/dist/icons/jogging.svg.js.map +1 -0
  508. package/dist/icons/orientation-coord-system.svg.cjs +2 -0
  509. package/dist/icons/orientation-coord-system.svg.cjs.map +1 -0
  510. package/dist/icons/orientation-coord-system.svg.d.ts +3 -0
  511. package/dist/icons/orientation-coord-system.svg.js +11 -0
  512. package/dist/icons/orientation-coord-system.svg.js.map +1 -0
  513. package/dist/icons/orientation-tool.svg.cjs +2 -0
  514. package/dist/icons/orientation-tool.svg.cjs.map +1 -0
  515. package/dist/icons/orientation-tool.svg.d.ts +3 -0
  516. package/dist/icons/orientation-tool.svg.js +11 -0
  517. package/dist/icons/orientation-tool.svg.js.map +1 -0
  518. package/dist/icons/robot.svg.cjs +2 -0
  519. package/dist/icons/robot.svg.cjs.map +1 -0
  520. package/dist/icons/robot.svg.d.ts +3 -0
  521. package/dist/icons/robot.svg.js +11 -0
  522. package/dist/icons/robot.svg.js.map +1 -0
  523. package/dist/icons/rotation.svg.cjs +2 -0
  524. package/dist/icons/rotation.svg.cjs.map +1 -0
  525. package/dist/icons/rotation.svg.d.ts +3 -0
  526. package/dist/icons/rotation.svg.js +11 -0
  527. package/dist/icons/rotation.svg.js.map +1 -0
  528. package/dist/icons/wbLogo.svg.cjs +2 -0
  529. package/dist/icons/wbLogo.svg.cjs.map +1 -0
  530. package/dist/icons/wbLogo.svg.d.ts +3 -0
  531. package/dist/icons/wbLogo.svg.js +11 -0
  532. package/dist/icons/wbLogo.svg.js.map +1 -0
  533. package/dist/index.cjs +2 -0
  534. package/dist/index.cjs.map +1 -0
  535. package/dist/index.js +153 -0
  536. package/dist/index.js.map +1 -0
  537. package/dist/lib/ConnectedMotionGroup.cjs +4 -0
  538. package/dist/lib/ConnectedMotionGroup.cjs.map +1 -0
  539. package/dist/lib/ConnectedMotionGroup.d.ts +1 -0
  540. package/dist/lib/ConnectedMotionGroup.d.ts.map +1 -1
  541. package/dist/lib/ConnectedMotionGroup.js +250 -0
  542. package/dist/lib/ConnectedMotionGroup.js.map +1 -0
  543. package/dist/lib/JoggerConnection.cjs +2 -0
  544. package/dist/lib/JoggerConnection.cjs.map +1 -0
  545. package/dist/lib/JoggerConnection.d.ts +1 -0
  546. package/dist/lib/JoggerConnection.d.ts.map +1 -1
  547. package/dist/lib/JoggerConnection.js +342 -0
  548. package/dist/lib/JoggerConnection.js.map +1 -0
  549. package/dist/lib/MotionStreamConnection.cjs +3 -0
  550. package/dist/lib/MotionStreamConnection.cjs.map +1 -0
  551. package/dist/lib/MotionStreamConnection.d.ts +1 -0
  552. package/dist/lib/MotionStreamConnection.d.ts.map +1 -1
  553. package/dist/lib/MotionStreamConnection.js +94 -0
  554. package/dist/lib/MotionStreamConnection.js.map +1 -0
  555. package/dist/lib/motionStateUpdate.cjs +2 -0
  556. package/dist/lib/motionStateUpdate.cjs.map +1 -0
  557. package/dist/lib/motionStateUpdate.js +49 -0
  558. package/dist/lib/motionStateUpdate.js.map +1 -0
  559. package/dist/test/consumer.test.d.ts +2 -0
  560. package/dist/test/consumer.test.d.ts.map +1 -0
  561. package/dist/themes/createDarkTheme.cjs +2 -0
  562. package/dist/themes/createDarkTheme.cjs.map +1 -0
  563. package/dist/themes/createDarkTheme.js +344 -0
  564. package/dist/themes/createDarkTheme.js.map +1 -0
  565. package/dist/themes/createLightTheme.cjs +2 -0
  566. package/dist/themes/createLightTheme.cjs.map +1 -0
  567. package/dist/themes/createLightTheme.js +9 -0
  568. package/dist/themes/createLightTheme.js.map +1 -0
  569. package/dist/themes/theming.cjs +2 -0
  570. package/dist/themes/theming.cjs.map +1 -0
  571. package/dist/themes/theming.js +14 -0
  572. package/dist/themes/theming.js.map +1 -0
  573. package/dist/wb-icons.cjs +2 -0
  574. package/dist/wb-icons.cjs.map +1 -0
  575. package/dist/wb-icons.js +47 -0
  576. package/dist/wb-icons.js.map +1 -0
  577. package/package.json +20 -9
  578. package/src/components/3d-viewport/CoordinateSystemTransform.tsx +2 -0
  579. package/src/components/3d-viewport/PresetEnvironment.tsx +2 -0
  580. package/src/components/3d-viewport/SafetyZonesRenderer.tsx +2 -0
  581. package/src/components/3d-viewport/TrajectoryRenderer.tsx +2 -0
  582. package/src/components/AppHeader.tsx +2 -0
  583. package/src/components/CopyableText.tsx +2 -0
  584. package/src/components/CycleTimer/CycleTimer.ts +2 -0
  585. package/src/components/CycleTimer/index.tsx +2 -0
  586. package/src/components/CycleTimer.tsx +2 -0
  587. package/src/components/DataGrid.tsx +2 -0
  588. package/src/components/LoadingCover.tsx +2 -0
  589. package/src/components/LogPanel.tsx +2 -0
  590. package/src/components/LogStore.ts +2 -0
  591. package/src/components/LogViewer.tsx +2 -0
  592. package/src/components/ProgramControl.tsx +2 -0
  593. package/src/components/ProgramStateIndicator.tsx +2 -0
  594. package/src/components/RobotCard.tsx +2 -0
  595. package/src/components/RobotListItem.tsx +2 -0
  596. package/src/components/RobotSetupReadinessIndicator.tsx +2 -0
  597. package/src/components/SelectableFab.tsx +2 -0
  598. package/src/components/TabBar.tsx +2 -0
  599. package/src/components/ThemeSelect.tsx +2 -0
  600. package/src/components/Timer/Timer.ts +2 -0
  601. package/src/components/Timer/index.tsx +2 -0
  602. package/src/components/Timer.ts +4 -0
  603. package/src/components/TransparentOverlay.tsx +2 -0
  604. package/src/components/VelocitySlider.tsx +2 -0
  605. package/src/components/jogging/JoggingCartesianAxisControl.tsx +2 -0
  606. package/src/components/jogging/JoggingJointValueControl.tsx +2 -0
  607. package/src/components/jogging/JoggingPanel.tsx +2 -0
  608. package/src/components/jogging/JoggingStore.ts +2 -0
  609. package/src/components/jogging/PoseCartesianValues.tsx +2 -0
  610. package/src/components/jogging/PoseJointValues.tsx +2 -0
  611. package/src/components/modal/NoMotionGroupModal.tsx +2 -0
  612. package/src/components/robots/DHLinearAxis.tsx +2 -0
  613. package/src/components/robots/DHRobot.tsx +2 -0
  614. package/src/components/robots/GenericRobot.tsx +2 -0
  615. package/src/components/robots/LinearAxis.tsx +2 -0
  616. package/src/components/robots/MotionGroupVisualizer.tsx +2 -0
  617. package/src/components/robots/Robot.tsx +2 -0
  618. package/src/components/robots/SupportedLinearAxis.tsx +2 -0
  619. package/src/components/robots/SupportedRobot.tsx +2 -0
  620. package/src/components/safetyBar/ControllerTypeIndicator.tsx +2 -0
  621. package/src/components/safetyBar/IndicatorWithExplanation.tsx +2 -0
  622. package/src/components/safetyBar/OperationModeIndicator.tsx +2 -0
  623. package/src/components/safetyBar/SafetyBar.tsx +2 -0
  624. package/src/components/safetyBar/SafetyStateIndicator.tsx +2 -0
  625. package/src/lib/ConnectedMotionGroup.ts +2 -0
  626. package/src/lib/JoggerConnection.ts +2 -0
  627. package/src/lib/MotionStreamConnection.ts +2 -0
  628. package/src/test/consumer.test.ts +230 -0
  629. package/dist/3d.cjs.js +0 -2
  630. package/dist/3d.cjs.js.map +0 -1
  631. package/dist/3d.es.js +0 -19
  632. package/dist/3d.es.js.map +0 -1
  633. package/dist/MotionGroupVisualizer-B-e22qXF.cjs +0 -2
  634. package/dist/MotionGroupVisualizer-B-e22qXF.cjs.map +0 -1
  635. package/dist/MotionGroupVisualizer-CIASsBC6.js +0 -1433
  636. package/dist/MotionGroupVisualizer-CIASsBC6.js.map +0 -1
  637. package/dist/auth0-spa-js.production.esm-CVEdrQ4-.cjs +0 -5
  638. package/dist/auth0-spa-js.production.esm-CVEdrQ4-.cjs.map +0 -1
  639. package/dist/auth0-spa-js.production.esm-Cr9w0sUa.js +0 -4217
  640. package/dist/auth0-spa-js.production.esm-Cr9w0sUa.js.map +0 -1
  641. package/dist/core.cjs.js +0 -2
  642. package/dist/core.cjs.js.map +0 -1
  643. package/dist/core.es.js +0 -52
  644. package/dist/core.es.js.map +0 -1
  645. package/dist/index.cjs.js +0 -2
  646. package/dist/index.cjs.js.map +0 -1
  647. package/dist/index.es.js +0 -92
  648. package/dist/index.es.js.map +0 -1
  649. package/dist/interpolation-BIB6FC35.cjs +0 -198
  650. package/dist/interpolation-BIB6FC35.cjs.map +0 -1
  651. package/dist/interpolation-lSTX6ZXZ.js +0 -14559
  652. package/dist/interpolation-lSTX6ZXZ.js.map +0 -1
  653. package/dist/safety-state-stop-ClWLVLMl.cjs +0 -2
  654. package/dist/safety-state-stop-ClWLVLMl.cjs.map +0 -1
  655. package/dist/safety-state-stop-DuMBCxN5.js +0 -91
  656. package/dist/safety-state-stop-DuMBCxN5.js.map +0 -1
  657. package/dist/theming-D_pShDEg.js +0 -32236
  658. package/dist/theming-D_pShDEg.js.map +0 -1
  659. package/dist/theming-L5E8VSae.cjs +0 -84
  660. package/dist/theming-L5E8VSae.cjs.map +0 -1
  661. package/dist/wb-icons.cjs.js +0 -2
  662. package/dist/wb-icons.cjs.js.map +0 -1
  663. package/dist/wb-icons.es.js +0 -27
  664. package/dist/wb-icons.es.js.map +0 -1
  665. package/dist/wbLogo-CObCmqTw.js +0 -31
  666. package/dist/wbLogo-CObCmqTw.js.map +0 -1
  667. package/dist/wbLogo-G_IfZ03l.cjs +0 -2
  668. package/dist/wbLogo-G_IfZ03l.cjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RobotCard.js","sources":["../../src/components/RobotCard.tsx"],"sourcesContent":["import { useTheme } from \"@mui/material/styles\"\nimport Box from \"@mui/material/Box\"\nimport Button from \"@mui/material/Button\"\nimport Card from \"@mui/material/Card\"\nimport Divider from \"@mui/material/Divider\"\nimport Typography from \"@mui/material/Typography\"\nimport { Bounds } from \"@react-three/drei\"\nimport { Canvas } from \"@react-three/fiber\"\nimport type { OperationMode, SafetyStateType } from \"@wandelbots/nova-js/v2\"\nimport { observer } from \"mobx-react-lite\"\nimport { useCallback, useEffect, useRef, useState } from \"react\"\nimport { useTranslation } from \"react-i18next\"\nimport type { Group } from \"three\"\nimport { externalizeComponent } from \"../externalizeComponent\"\nimport type { ConnectedMotionGroup } from \"../lib/ConnectedMotionGroup\"\nimport { PresetEnvironment } from \"./3d-viewport/PresetEnvironment\"\nimport type { ProgramState } from \"./ProgramControl\"\nimport { ProgramStateIndicator } from \"./ProgramStateIndicator\"\nimport { Robot } from \"./robots/Robot\"\n\nexport interface RobotCardProps {\n /** Name of the robot displayed at the top */\n robotName: string\n /** Current program state */\n programState: ProgramState\n /** Current safety state of the robot controller */\n safetyState: SafetyStateType\n /** Current operation mode of the robot controller */\n operationMode: OperationMode\n /** Whether the \"Drive to Home\" button should be enabled */\n driveToHomeEnabled?: boolean\n /** Callback fired when \"Drive to Home\" button is pressed */\n onDriveToHomePress?: () => void\n /** Callback fired when \"Drive to Home\" button is released */\n onDriveToHomeRelease?: () => void\n /**\n * Callback fired when \"Drive to Home\" button is pressed, with the default home position.\n * If provided, this will be called instead of onDriveToHomePress, providing the recommended\n * home position joint configuration based on the robot manufacturer.\n */\n onDriveToHomePressWithConfig?: (homePosition: number[]) => void\n /**\n * Callback fired when \"Drive to Home\" button is released after using onDriveToHomePressWithConfig.\n * If provided, this will be called instead of onDriveToHomeRelease.\n */\n onDriveToHomeReleaseWithConfig?: () => void\n /**\n * Custom default joint configuration to use if manufacturer-based defaults are not available.\n * Joint values should be in radians.\n */\n defaultJointConfig?: number[]\n /** Connected motion group for the robot */\n connectedMotionGroup: ConnectedMotionGroup\n /** Custom robot component to render (optional, defaults to Robot) */\n robotComponent?: React.ComponentType<{\n connectedMotionGroup: ConnectedMotionGroup\n flangeRef?: React.Ref<Group>\n postModelRender?: () => void\n transparentColor?: string\n getModel?: (modelFromController: string) => Promise<string>\n }>\n /** Custom component to render in the content area (optional) */\n customContentComponent?: React.ComponentType<Record<string, unknown>>\n /** Additional CSS class name */\n className?: string\n}\n\n/**\n * A responsive card component that displays a 3D robot with states and controls.\n * The card automatically adapts to its container's size and aspect ratio.\n *\n * Features:\n * - Fully responsive Material-UI Card that adapts to container dimensions\n * - Automatic layout switching based on aspect ratio:\n * - Portrait mode: Vertical layout with robot in center\n * - Landscape mode: Horizontal layout with robot on left, content on right (left-aligned)\n * - Responsive 3D robot rendering:\n * - Scales dynamically with container size\n * - Hides at very small sizes to preserve usability\n * - Adaptive margin based on available space\n * - Smart spacing and padding that reduces at smaller sizes\n * - Minimum size constraints for usability while maximizing content density\n * - Robot name displayed in Typography h6 at top-left\n * - Program state indicator below the name\n * - Auto-fitting 3D robot model that scales with container size\n * - Customizable content area for displaying custom React components\n * - Transparent gray divider line\n * - \"Drive to Home\" button with press-and-hold functionality\n * - Localization support via react-i18next\n * - Material-UI theming integration\n *\n * Usage with custom content:\n * ```tsx\n * // Example custom timer component\n * const CustomTimer = () => (\n * <Box>\n * <Typography variant=\"body1\" sx={{ color: \"text.secondary\" }}>\n * Runtime\n * </Typography>\n * <Typography variant=\"h6\">05:23</Typography>\n * </Box>\n * )\n *\n * <RobotCard\n * robotName=\"UR5e Robot\"\n * programState={ProgramState.RUNNING}\n * customContentComponent={CustomTimer}\n * // ... other props\n * />\n * ```\n */\nexport const RobotCard = externalizeComponent(\n observer(\n ({\n robotName,\n programState,\n safetyState,\n operationMode,\n driveToHomeEnabled = false,\n onDriveToHomePress,\n onDriveToHomeRelease,\n connectedMotionGroup,\n robotComponent: RobotComponent = Robot,\n customContentComponent: CustomContentComponent,\n className,\n }: RobotCardProps) => {\n const theme = useTheme()\n const { t } = useTranslation()\n const [isDriveToHomePressed, setIsDriveToHomePressed] = useState(false)\n const driveButtonRef = useRef<HTMLButtonElement>(null)\n const cardRef = useRef<HTMLDivElement>(null)\n const [isLandscape, setIsLandscape] = useState(false)\n const [cardSize, setCardSize] = useState<{\n width: number\n height: number\n }>({ width: 400, height: 600 })\n const [modelRenderTrigger, setModelRenderTrigger] = useState(0)\n\n // Hook to detect aspect ratio and size changes\n useEffect(() => {\n const checkDimensions = () => {\n if (cardRef.current) {\n const { offsetWidth, offsetHeight } = cardRef.current\n setIsLandscape(offsetWidth > offsetHeight)\n setCardSize({ width: offsetWidth, height: offsetHeight })\n }\n }\n\n // Initial check\n checkDimensions()\n\n // Set up ResizeObserver to watch for size changes\n const resizeObserver = new ResizeObserver(checkDimensions)\n if (cardRef.current) {\n resizeObserver.observe(cardRef.current)\n }\n\n return () => {\n resizeObserver.disconnect()\n }\n }, [])\n\n const handleModelRender = useCallback(() => {\n // Trigger bounds refresh when model renders\n setModelRenderTrigger((prev) => prev + 1)\n }, [])\n\n const handleDriveToHomeMouseDown = useCallback(() => {\n if (!driveToHomeEnabled || !onDriveToHomePress) return\n setIsDriveToHomePressed(true)\n onDriveToHomePress()\n }, [driveToHomeEnabled, onDriveToHomePress])\n\n const handleDriveToHomeMouseUp = useCallback(() => {\n if (!driveToHomeEnabled || !onDriveToHomeRelease) return\n setIsDriveToHomePressed(false)\n onDriveToHomeRelease()\n }, [driveToHomeEnabled, onDriveToHomeRelease])\n\n const handleDriveToHomeMouseLeave = useCallback(() => {\n if (isDriveToHomePressed && onDriveToHomeRelease) {\n setIsDriveToHomePressed(false)\n onDriveToHomeRelease()\n }\n }, [isDriveToHomePressed, onDriveToHomeRelease])\n\n // Determine if robot should be hidden at small sizes to save space\n const shouldHideRobot = isLandscape\n ? cardSize.width < 350\n : cardSize.height < 200 // Hide robot at height < 200px in portrait\n\n // Determine if custom content should be hidden when height is too low\n // Custom content should be hidden BEFORE the robot (at higher threshold)\n const shouldHideCustomContent = isLandscape\n ? cardSize.height < 310 // Landscape: hide custom content at height < 310px\n : cardSize.height < 450 // Portrait: hide custom content at height < 450px\n\n return (\n <Card\n ref={cardRef}\n className={className}\n sx={{\n width: \"100%\",\n height: \"100%\",\n display: \"flex\",\n flexDirection: isLandscape ? \"row\" : \"column\",\n position: \"relative\",\n overflow: \"hidden\",\n minWidth: { xs: 180, sm: 220, md: 250 },\n minHeight: isLandscape\n ? { xs: 200, sm: 240, md: 260 } // Allow runtime hiding at < 283px\n : { xs: 150, sm: 180, md: 220 }, // Allow progressive hiding in portrait mode\n border: `1px solid ${theme.palette.divider}`,\n borderRadius: \"18px\",\n boxShadow: \"none\",\n backgroundColor:\n theme.palette.backgroundPaperElevation?.[8] || \"#2A2A3F\",\n backgroundImage: \"none\", // Override any gradient from elevation\n }}\n >\n {isLandscape ? (\n <>\n {/* Landscape Layout: Robot on left, content on right */}\n <Box\n sx={{\n flex: \"0 0 50%\",\n position: \"relative\",\n height: \"100%\",\n minHeight: \"100%\",\n maxHeight: \"100%\",\n borderRadius: 1,\n m: { xs: 1.5, sm: 2, md: 3 },\n mr: { xs: 0.75, sm: 1, md: 1.5 },\n overflow: \"hidden\", // Prevent content from affecting container size\n display: shouldHideRobot ? \"none\" : \"block\",\n }}\n >\n {!shouldHideRobot && (\n <Canvas\n orthographic\n camera={{\n position: [3, 2, 3],\n zoom: 1,\n }}\n shadows\n frameloop=\"demand\"\n style={{\n borderRadius: theme.shape.borderRadius,\n width: \"100%\",\n height: \"100%\",\n background: \"transparent\",\n position: \"absolute\",\n top: 0,\n left: 0,\n }}\n dpr={[1, 2]}\n gl={{ alpha: true, antialias: true }}\n >\n <PresetEnvironment />\n <Bounds fit observe margin={1} maxDuration={1}>\n <RobotComponent\n connectedMotionGroup={connectedMotionGroup}\n postModelRender={handleModelRender}\n />\n </Bounds>\n </Canvas>\n )}\n </Box>\n\n {/* Content container on right */}\n <Box\n sx={{\n flex: shouldHideRobot ? \"1\" : \"1\",\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"flex-start\",\n width: shouldHideRobot ? \"100%\" : \"50%\",\n }}\n >\n {/* Header section with robot name and program state */}\n <Box\n sx={{\n p: { xs: 1.5, sm: 2, md: 3 },\n pb: { xs: 1, sm: 1.5, md: 2 },\n textAlign: \"left\",\n }}\n >\n <Typography variant=\"h6\" component=\"h2\" sx={{ mb: 1 }}>\n {robotName}\n </Typography>\n <ProgramStateIndicator\n programState={programState}\n safetyState={safetyState}\n operationMode={operationMode}\n />\n </Box>\n\n {/* Bottom section with custom content and button */}\n <Box\n sx={{\n p: { xs: 1.5, sm: 2, md: 3 },\n pt: 0,\n flex: \"1\",\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"space-between\",\n }}\n >\n {/* Custom content section - hidden if height is too low in landscape mode */}\n {!shouldHideCustomContent && CustomContentComponent && (\n <Box>\n <CustomContentComponent />\n\n {/* Divider */}\n <Divider\n sx={{\n mt: 1,\n mb: 0,\n borderColor: theme.palette.divider,\n opacity: 0.5,\n }}\n />\n </Box>\n )}\n\n <Box\n sx={{\n mt:\n !shouldHideCustomContent && CustomContentComponent\n ? \"auto\"\n : 0,\n }}\n >\n {/* Drive to Home button with some space */}\n <Box\n sx={{\n display: \"flex\",\n justifyContent: \"flex-start\",\n mt: { xs: 1, sm: 1.5, md: 2 },\n mb: { xs: 0.5, sm: 0.75, md: 1 },\n }}\n >\n <Button\n ref={driveButtonRef}\n variant=\"contained\"\n color=\"secondary\"\n size=\"small\"\n disabled={!driveToHomeEnabled}\n onMouseDown={handleDriveToHomeMouseDown}\n onMouseUp={handleDriveToHomeMouseUp}\n onMouseLeave={handleDriveToHomeMouseLeave}\n onTouchStart={handleDriveToHomeMouseDown}\n onTouchEnd={handleDriveToHomeMouseUp}\n sx={{\n textTransform: \"none\",\n px: 1.5,\n py: 0.5,\n }}\n >\n {t(\"RobotCard.DriveToHome.bt\")}\n </Button>\n </Box>\n </Box>\n </Box>\n </Box>\n </>\n ) : (\n <>\n {/* Portrait Layout: Header, Robot, Footer */}\n <Box\n sx={{\n p: 3,\n height: \"100%\",\n display: \"flex\",\n flexDirection: \"column\",\n }}\n >\n {/* Header section with robot name and program state */}\n <Box>\n <Typography variant=\"h6\" component=\"h2\" sx={{ mb: 1 }}>\n {robotName}\n </Typography>\n <ProgramStateIndicator\n programState={programState}\n safetyState={safetyState}\n operationMode={operationMode}\n />\n </Box>\n\n {/* 3D Robot viewport in center */}\n <Box\n sx={{\n flex: shouldHideRobot ? 0 : 1,\n position: \"relative\",\n minHeight: shouldHideRobot\n ? 0\n : { xs: 120, sm: 150, md: 200 },\n height: shouldHideRobot ? 0 : \"auto\",\n borderRadius: 1,\n overflow: \"hidden\",\n display: shouldHideRobot ? \"none\" : \"block\",\n }}\n >\n {!shouldHideRobot && (\n <Canvas\n orthographic\n camera={{\n position: [3, 2, 3],\n zoom: 1,\n }}\n shadows\n frameloop=\"demand\"\n style={{\n borderRadius: theme.shape.borderRadius,\n width: \"100%\",\n height: \"100%\",\n background: \"transparent\",\n position: \"absolute\",\n }}\n dpr={[1, 2]}\n gl={{ alpha: true, antialias: true }}\n >\n <PresetEnvironment />\n <Bounds fit clip observe margin={1} maxDuration={1}>\n <RobotComponent\n connectedMotionGroup={connectedMotionGroup}\n postModelRender={handleModelRender}\n />\n </Bounds>\n </Canvas>\n )}\n </Box>\n\n {/* Bottom section with custom content and button */}\n <Box>\n {/* Custom content section - hidden if height is too low */}\n {!shouldHideCustomContent && CustomContentComponent && (\n <>\n <CustomContentComponent />\n\n {/* Divider */}\n <Divider\n sx={{\n mt: 1,\n mb: 0,\n borderColor: theme.palette.divider,\n opacity: 0.5,\n }}\n />\n </>\n )}\n\n {/* Drive to Home button with some space */}\n <Box\n sx={{\n display: \"flex\",\n justifyContent: \"flex-start\",\n mt:\n !shouldHideCustomContent && CustomContentComponent\n ? { xs: 1, sm: 2, md: 5 }\n : { xs: 0.5, sm: 1, md: 2 },\n mb: { xs: 0.5, sm: 0.75, md: 1 },\n }}\n >\n <Button\n ref={driveButtonRef}\n variant=\"contained\"\n color=\"secondary\"\n size=\"small\"\n disabled={!driveToHomeEnabled}\n onMouseDown={handleDriveToHomeMouseDown}\n onMouseUp={handleDriveToHomeMouseUp}\n onMouseLeave={handleDriveToHomeMouseLeave}\n onTouchStart={handleDriveToHomeMouseDown}\n onTouchEnd={handleDriveToHomeMouseUp}\n sx={{\n textTransform: \"none\",\n px: 1.5,\n py: 0.5,\n }}\n >\n {t(\"RobotCard.DriveToHome.bt\")}\n </Button>\n </Box>\n </Box>\n </Box>\n </>\n )}\n </Card>\n )\n },\n ),\n)\n\nexport default RobotCard\n"],"names":["RobotCard","externalizeComponent","observer","robotName","programState","safetyState","operationMode","driveToHomeEnabled","onDriveToHomePress","onDriveToHomeRelease","connectedMotionGroup","RobotComponent","Robot","CustomContentComponent","className","theme","useTheme","t","useTranslation","isDriveToHomePressed","setIsDriveToHomePressed","useState","driveButtonRef","useRef","cardRef","isLandscape","setIsLandscape","cardSize","setCardSize","modelRenderTrigger","setModelRenderTrigger","useEffect","checkDimensions","offsetWidth","offsetHeight","resizeObserver","handleModelRender","useCallback","prev","handleDriveToHomeMouseDown","handleDriveToHomeMouseUp","handleDriveToHomeMouseLeave","shouldHideRobot","shouldHideCustomContent","jsx","Card","_a","jsxs","Fragment","Box","Canvas","PresetEnvironment","Bounds","Typography","ProgramStateIndicator","Divider","Button"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),y=require("@mui/icons-material/Error"),b=require("@mui/material/styles"),r=require("@mui/material/Box"),m=require("@mui/material/Divider"),n=require("@mui/material/Typography"),f=require("mobx-react-lite"),g=require("../externalizeComponent.cjs"),a=require("./RobotSetupReadinessIndicator.cjs"),R=require("../icons/robot.svg.cjs"),l=g.externalizeComponent(f.observer(({robotName:c,robotType:d,setupState:o,PreconditionComponent:i=a.RobotSetupReadinessIndicator,className:p})=>{var s;const t=b.useTheme(),x=d||"Robot",u=o===a.RobotSetupReadinessState.READY;return e.jsxs(r,{className:p,sx:{border:`1px solid ${t.palette.divider}`,background:((s=t.palette.backgroundPaperElevation)==null?void 0:s[8])||"#292B3F",borderRadius:"8px",padding:"20px",display:"flex",alignItems:"center",justifyContent:"space-between",opacity:1},children:[e.jsxs(r,{sx:{display:"flex",alignItems:"center",gap:2,flex:1},children:[u?e.jsx(r,{sx:{fontSize:24,display:"flex",alignItems:"center",justifyContent:"center",width:24,height:24,"& svg":{fill:`${t.palette.primary.main} !important`},"& svg path":{fill:`${t.palette.primary.main} !important`}},children:e.jsx(R.default,{})}):e.jsx(y,{sx:{color:t.palette.error.main,fontSize:24}}),e.jsx(n,{variant:"body1",sx:{fontWeight:500,color:t.palette.text.primary},children:c}),e.jsx(m,{orientation:"vertical",flexItem:!0,sx:{backgroundColor:t.palette.text.secondary,opacity:.3,width:"1px"}}),e.jsx(n,{variant:"body2",sx:{color:t.palette.text.secondary},children:x})]}),i&&e.jsx(i,{setupState:o})]})}));exports.RobotListItem=l;exports.default=l;
2
+ //# sourceMappingURL=RobotListItem.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RobotListItem.cjs","sources":["../../src/components/RobotListItem.tsx"],"sourcesContent":["import ErrorIcon from \"@mui/icons-material/Error\"\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 { observer } from \"mobx-react-lite\"\nimport type { ComponentType } from \"react\"\nimport { externalizeComponent } from \"../externalizeComponent\"\nimport { RobotIcon } from \"../icons\"\nimport {\n RobotSetupReadinessIndicator,\n RobotSetupReadinessState,\n} from \"./RobotSetupReadinessIndicator\"\n\nexport interface RobotListItemProps {\n /** The name of the robot */\n robotName: string\n /** The type/model of the robot (will try to derive from nova if not provided) */\n robotType?: string\n /** The current setup readiness state of the robot */\n setupState: RobotSetupReadinessState\n /**\n * Component to render for the precondition indicator.\n * Defaults to RobotSetupReadinessIndicator.\n * Pass null or undefined to hide the indicator.\n */\n PreconditionComponent?: ComponentType<{\n setupState: RobotSetupReadinessState\n }> | null\n /** Additional CSS class name */\n className?: string\n}\n\n/**\n * A list item component that displays robot information and setup readiness state.\n *\n * Features:\n * - Shows robot name, type, and customizable precondition component\n * - Color-coded icon based on readiness state (robot icon for ready, warning for issues)\n * - Styled with consistent border, background, and spacing\n * - Responsive layout with proper spacing and alignment\n * - Flexible precondition component that can be customized or hidden\n */\nexport const RobotListItem = externalizeComponent(\n observer(\n ({\n robotName,\n robotType,\n setupState,\n PreconditionComponent = RobotSetupReadinessIndicator,\n className,\n }: RobotListItemProps) => {\n const theme = useTheme()\n\n // Use provided robot type or default\n const displayRobotType = robotType || \"Robot\"\n\n const isReady = setupState === RobotSetupReadinessState.READY\n\n return (\n <Box\n className={className}\n sx={{\n border: `1px solid ${theme.palette.divider}`,\n background:\n theme.palette.backgroundPaperElevation?.[8] || \"#292B3F\",\n borderRadius: \"8px\",\n padding: \"20px\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n opacity: 1,\n }}\n >\n <Box\n sx={{\n display: \"flex\",\n alignItems: \"center\",\n gap: 2,\n flex: 1,\n }}\n >\n {/* Robot/Warning Icon */}\n {isReady ? (\n <Box\n sx={{\n fontSize: 24,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n width: 24,\n height: 24,\n \"& svg\": {\n fill: `${theme.palette.primary.main} !important`,\n },\n \"& svg path\": {\n fill: `${theme.palette.primary.main} !important`,\n },\n }}\n >\n <RobotIcon />\n </Box>\n ) : (\n <ErrorIcon\n sx={{\n color: theme.palette.error.main,\n fontSize: 24,\n }}\n />\n )}\n\n {/* Robot Name */}\n <Typography\n variant=\"body1\"\n sx={{\n fontWeight: 500,\n color: theme.palette.text.primary,\n }}\n >\n {robotName}\n </Typography>\n\n {/* Divider */}\n <Divider\n orientation=\"vertical\"\n flexItem\n sx={{\n backgroundColor: theme.palette.text.secondary,\n opacity: 0.3,\n width: \"1px\",\n }}\n />\n\n {/* Robot Type */}\n <Typography\n variant=\"body2\"\n sx={{\n color: theme.palette.text.secondary,\n }}\n >\n {displayRobotType}\n </Typography>\n </Box>\n\n {/* Setup Readiness Indicator */}\n {PreconditionComponent && (\n <PreconditionComponent setupState={setupState} />\n )}\n </Box>\n )\n },\n ),\n)\n\nexport default RobotListItem\n"],"names":["RobotListItem","externalizeComponent","observer","robotName","robotType","setupState","PreconditionComponent","RobotSetupReadinessIndicator","className","theme","useTheme","displayRobotType","isReady","RobotSetupReadinessState","jsxs","Box","_a","jsx","RobotIcon","ErrorIcon","Typography","Divider"],"mappings":"4dA2CaA,EAAgBC,EAAAA,qBAC3BC,EAAAA,SACE,CAAC,CACC,UAAAC,EACA,UAAAC,EACA,WAAAC,EACA,sBAAAC,EAAwBC,EAAAA,6BACxB,UAAAC,CAAA,IACwB,OACxB,MAAMC,EAAQC,EAAAA,SAAA,EAGRC,EAAmBP,GAAa,QAEhCQ,EAAUP,IAAeQ,EAAAA,yBAAyB,MAExD,OACEC,EAAAA,KAACC,EAAA,CACC,UAAAP,EACA,GAAI,CACF,OAAQ,aAAaC,EAAM,QAAQ,OAAO,GAC1C,aACEO,EAAAP,EAAM,QAAQ,2BAAd,YAAAO,EAAyC,KAAM,UACjD,aAAc,MACd,QAAS,OACT,QAAS,OACT,WAAY,SACZ,eAAgB,gBAChB,QAAS,CAAA,EAGX,SAAA,CAAAF,EAAAA,KAACC,EAAA,CACC,GAAI,CACF,QAAS,OACT,WAAY,SACZ,IAAK,EACL,KAAM,CAAA,EAIP,SAAA,CAAAH,EACCK,EAAAA,IAACF,EAAA,CACC,GAAI,CACF,SAAU,GACV,QAAS,OACT,WAAY,SACZ,eAAgB,SAChB,MAAO,GACP,OAAQ,GACR,QAAS,CACP,KAAM,GAAGN,EAAM,QAAQ,QAAQ,IAAI,aAAA,EAErC,aAAc,CACZ,KAAM,GAAGA,EAAM,QAAQ,QAAQ,IAAI,aAAA,CACrC,EAGF,eAACS,EAAAA,QAAA,CAAA,CAAU,CAAA,CAAA,EAGbD,EAAAA,IAACE,EAAA,CACC,GAAI,CACF,MAAOV,EAAM,QAAQ,MAAM,KAC3B,SAAU,EAAA,CACZ,CAAA,EAKJQ,EAAAA,IAACG,EAAA,CACC,QAAQ,QACR,GAAI,CACF,WAAY,IACZ,MAAOX,EAAM,QAAQ,KAAK,OAAA,EAG3B,SAAAN,CAAA,CAAA,EAIHc,EAAAA,IAACI,EAAA,CACC,YAAY,WACZ,SAAQ,GACR,GAAI,CACF,gBAAiBZ,EAAM,QAAQ,KAAK,UACpC,QAAS,GACT,MAAO,KAAA,CACT,CAAA,EAIFQ,EAAAA,IAACG,EAAA,CACC,QAAQ,QACR,GAAI,CACF,MAAOX,EAAM,QAAQ,KAAK,SAAA,EAG3B,SAAAE,CAAA,CAAA,CACH,CAAA,CAAA,EAIDL,GACCW,EAAAA,IAACX,EAAA,CAAsB,WAAAD,CAAA,CAAwB,CAAA,CAAA,CAAA,CAIvD,CAAA,CAEJ"}
@@ -31,4 +31,5 @@ export interface RobotListItemProps {
31
31
  export declare const RobotListItem: (({ robotName, robotType, setupState, PreconditionComponent, className, }: RobotListItemProps) => import("react/jsx-runtime").JSX.Element) & {
32
32
  displayName: string;
33
33
  };
34
+ export default RobotListItem;
34
35
  //# sourceMappingURL=RobotListItem.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RobotListItem.d.ts","sourceRoot":"","sources":["../../src/components/RobotListItem.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAG1C,OAAO,EAEL,wBAAwB,EACzB,MAAM,gCAAgC,CAAA;AAEvC,MAAM,WAAW,kBAAkB;IACjC,4BAA4B;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,iFAAiF;IACjF,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,qDAAqD;IACrD,UAAU,EAAE,wBAAwB,CAAA;IACpC;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,aAAa,CAAC;QACpC,UAAU,EAAE,wBAAwB,CAAA;KACrC,CAAC,GAAG,IAAI,CAAA;IACT,gCAAgC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,6EAQnB,kBAAkB;;CAqGxB,CAAA"}
1
+ {"version":3,"file":"RobotListItem.d.ts","sourceRoot":"","sources":["../../src/components/RobotListItem.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAG1C,OAAO,EAEL,wBAAwB,EACzB,MAAM,gCAAgC,CAAA;AAEvC,MAAM,WAAW,kBAAkB;IACjC,4BAA4B;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,iFAAiF;IACjF,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,qDAAqD;IACrD,UAAU,EAAE,wBAAwB,CAAA;IACpC;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,aAAa,CAAC;QACpC,UAAU,EAAE,wBAAwB,CAAA;KACrC,CAAC,GAAG,IAAI,CAAA;IACT,gCAAgC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,6EAQnB,kBAAkB;;CAqGxB,CAAA;AAED,eAAe,aAAa,CAAA"}
@@ -0,0 +1,122 @@
1
+ import { jsxs as n, jsx as e } from "react/jsx-runtime";
2
+ import f from "@mui/icons-material/Error";
3
+ import { useTheme as x } from "@mui/material/styles";
4
+ import r from "@mui/material/Box";
5
+ import y from "@mui/material/Divider";
6
+ import p from "@mui/material/Typography";
7
+ import { observer as b } from "mobx-react-lite";
8
+ import { externalizeComponent as h } from "../externalizeComponent.js";
9
+ import { RobotSetupReadinessState as g, RobotSetupReadinessIndicator as u } from "./RobotSetupReadinessIndicator.js";
10
+ import R from "../icons/robot.svg.js";
11
+ const $ = h(
12
+ b(
13
+ ({
14
+ robotName: l,
15
+ robotType: s,
16
+ setupState: o,
17
+ PreconditionComponent: i = u,
18
+ className: m
19
+ }) => {
20
+ var a;
21
+ const t = x(), d = s || "Robot", c = o === g.READY;
22
+ return /* @__PURE__ */ n(
23
+ r,
24
+ {
25
+ className: m,
26
+ sx: {
27
+ border: `1px solid ${t.palette.divider}`,
28
+ background: ((a = t.palette.backgroundPaperElevation) == null ? void 0 : a[8]) || "#292B3F",
29
+ borderRadius: "8px",
30
+ padding: "20px",
31
+ display: "flex",
32
+ alignItems: "center",
33
+ justifyContent: "space-between",
34
+ opacity: 1
35
+ },
36
+ children: [
37
+ /* @__PURE__ */ n(
38
+ r,
39
+ {
40
+ sx: {
41
+ display: "flex",
42
+ alignItems: "center",
43
+ gap: 2,
44
+ flex: 1
45
+ },
46
+ children: [
47
+ c ? /* @__PURE__ */ e(
48
+ r,
49
+ {
50
+ sx: {
51
+ fontSize: 24,
52
+ display: "flex",
53
+ alignItems: "center",
54
+ justifyContent: "center",
55
+ width: 24,
56
+ height: 24,
57
+ "& svg": {
58
+ fill: `${t.palette.primary.main} !important`
59
+ },
60
+ "& svg path": {
61
+ fill: `${t.palette.primary.main} !important`
62
+ }
63
+ },
64
+ children: /* @__PURE__ */ e(R, {})
65
+ }
66
+ ) : /* @__PURE__ */ e(
67
+ f,
68
+ {
69
+ sx: {
70
+ color: t.palette.error.main,
71
+ fontSize: 24
72
+ }
73
+ }
74
+ ),
75
+ /* @__PURE__ */ e(
76
+ p,
77
+ {
78
+ variant: "body1",
79
+ sx: {
80
+ fontWeight: 500,
81
+ color: t.palette.text.primary
82
+ },
83
+ children: l
84
+ }
85
+ ),
86
+ /* @__PURE__ */ e(
87
+ y,
88
+ {
89
+ orientation: "vertical",
90
+ flexItem: !0,
91
+ sx: {
92
+ backgroundColor: t.palette.text.secondary,
93
+ opacity: 0.3,
94
+ width: "1px"
95
+ }
96
+ }
97
+ ),
98
+ /* @__PURE__ */ e(
99
+ p,
100
+ {
101
+ variant: "body2",
102
+ sx: {
103
+ color: t.palette.text.secondary
104
+ },
105
+ children: d
106
+ }
107
+ )
108
+ ]
109
+ }
110
+ ),
111
+ i && /* @__PURE__ */ e(i, { setupState: o })
112
+ ]
113
+ }
114
+ );
115
+ }
116
+ )
117
+ );
118
+ export {
119
+ $ as RobotListItem,
120
+ $ as default
121
+ };
122
+ //# sourceMappingURL=RobotListItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RobotListItem.js","sources":["../../src/components/RobotListItem.tsx"],"sourcesContent":["import ErrorIcon from \"@mui/icons-material/Error\"\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 { observer } from \"mobx-react-lite\"\nimport type { ComponentType } from \"react\"\nimport { externalizeComponent } from \"../externalizeComponent\"\nimport { RobotIcon } from \"../icons\"\nimport {\n RobotSetupReadinessIndicator,\n RobotSetupReadinessState,\n} from \"./RobotSetupReadinessIndicator\"\n\nexport interface RobotListItemProps {\n /** The name of the robot */\n robotName: string\n /** The type/model of the robot (will try to derive from nova if not provided) */\n robotType?: string\n /** The current setup readiness state of the robot */\n setupState: RobotSetupReadinessState\n /**\n * Component to render for the precondition indicator.\n * Defaults to RobotSetupReadinessIndicator.\n * Pass null or undefined to hide the indicator.\n */\n PreconditionComponent?: ComponentType<{\n setupState: RobotSetupReadinessState\n }> | null\n /** Additional CSS class name */\n className?: string\n}\n\n/**\n * A list item component that displays robot information and setup readiness state.\n *\n * Features:\n * - Shows robot name, type, and customizable precondition component\n * - Color-coded icon based on readiness state (robot icon for ready, warning for issues)\n * - Styled with consistent border, background, and spacing\n * - Responsive layout with proper spacing and alignment\n * - Flexible precondition component that can be customized or hidden\n */\nexport const RobotListItem = externalizeComponent(\n observer(\n ({\n robotName,\n robotType,\n setupState,\n PreconditionComponent = RobotSetupReadinessIndicator,\n className,\n }: RobotListItemProps) => {\n const theme = useTheme()\n\n // Use provided robot type or default\n const displayRobotType = robotType || \"Robot\"\n\n const isReady = setupState === RobotSetupReadinessState.READY\n\n return (\n <Box\n className={className}\n sx={{\n border: `1px solid ${theme.palette.divider}`,\n background:\n theme.palette.backgroundPaperElevation?.[8] || \"#292B3F\",\n borderRadius: \"8px\",\n padding: \"20px\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n opacity: 1,\n }}\n >\n <Box\n sx={{\n display: \"flex\",\n alignItems: \"center\",\n gap: 2,\n flex: 1,\n }}\n >\n {/* Robot/Warning Icon */}\n {isReady ? (\n <Box\n sx={{\n fontSize: 24,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n width: 24,\n height: 24,\n \"& svg\": {\n fill: `${theme.palette.primary.main} !important`,\n },\n \"& svg path\": {\n fill: `${theme.palette.primary.main} !important`,\n },\n }}\n >\n <RobotIcon />\n </Box>\n ) : (\n <ErrorIcon\n sx={{\n color: theme.palette.error.main,\n fontSize: 24,\n }}\n />\n )}\n\n {/* Robot Name */}\n <Typography\n variant=\"body1\"\n sx={{\n fontWeight: 500,\n color: theme.palette.text.primary,\n }}\n >\n {robotName}\n </Typography>\n\n {/* Divider */}\n <Divider\n orientation=\"vertical\"\n flexItem\n sx={{\n backgroundColor: theme.palette.text.secondary,\n opacity: 0.3,\n width: \"1px\",\n }}\n />\n\n {/* Robot Type */}\n <Typography\n variant=\"body2\"\n sx={{\n color: theme.palette.text.secondary,\n }}\n >\n {displayRobotType}\n </Typography>\n </Box>\n\n {/* Setup Readiness Indicator */}\n {PreconditionComponent && (\n <PreconditionComponent setupState={setupState} />\n )}\n </Box>\n )\n },\n ),\n)\n\nexport default RobotListItem\n"],"names":["RobotListItem","externalizeComponent","observer","robotName","robotType","setupState","PreconditionComponent","RobotSetupReadinessIndicator","className","theme","useTheme","displayRobotType","isReady","RobotSetupReadinessState","jsxs","Box","_a","jsx","RobotIcon","ErrorIcon","Typography","Divider"],"mappings":";;;;;;;;;;AA2CO,MAAMA,IAAgBC;AAAA,EAC3BC;AAAA,IACE,CAAC;AAAA,MACC,WAAAC;AAAA,MACA,WAAAC;AAAA,MACA,YAAAC;AAAA,MACA,uBAAAC,IAAwBC;AAAA,MACxB,WAAAC;AAAA,IAAA,MACwB;;AACxB,YAAMC,IAAQC,EAAA,GAGRC,IAAmBP,KAAa,SAEhCQ,IAAUP,MAAeQ,EAAyB;AAExD,aACE,gBAAAC;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,WAAAP;AAAA,UACA,IAAI;AAAA,YACF,QAAQ,aAAaC,EAAM,QAAQ,OAAO;AAAA,YAC1C,cACEO,IAAAP,EAAM,QAAQ,6BAAd,gBAAAO,EAAyC,OAAM;AAAA,YACjD,cAAc;AAAA,YACd,SAAS;AAAA,YACT,SAAS;AAAA,YACT,YAAY;AAAA,YACZ,gBAAgB;AAAA,YAChB,SAAS;AAAA,UAAA;AAAA,UAGX,UAAA;AAAA,YAAA,gBAAAF;AAAA,cAACC;AAAA,cAAA;AAAA,gBACC,IAAI;AAAA,kBACF,SAAS;AAAA,kBACT,YAAY;AAAA,kBACZ,KAAK;AAAA,kBACL,MAAM;AAAA,gBAAA;AAAA,gBAIP,UAAA;AAAA,kBAAAH,IACC,gBAAAK;AAAA,oBAACF;AAAA,oBAAA;AAAA,sBACC,IAAI;AAAA,wBACF,UAAU;AAAA,wBACV,SAAS;AAAA,wBACT,YAAY;AAAA,wBACZ,gBAAgB;AAAA,wBAChB,OAAO;AAAA,wBACP,QAAQ;AAAA,wBACR,SAAS;AAAA,0BACP,MAAM,GAAGN,EAAM,QAAQ,QAAQ,IAAI;AAAA,wBAAA;AAAA,wBAErC,cAAc;AAAA,0BACZ,MAAM,GAAGA,EAAM,QAAQ,QAAQ,IAAI;AAAA,wBAAA;AAAA,sBACrC;AAAA,sBAGF,4BAACS,GAAA,CAAA,CAAU;AAAA,oBAAA;AAAA,kBAAA,IAGb,gBAAAD;AAAA,oBAACE;AAAA,oBAAA;AAAA,sBACC,IAAI;AAAA,wBACF,OAAOV,EAAM,QAAQ,MAAM;AAAA,wBAC3B,UAAU;AAAA,sBAAA;AAAA,oBACZ;AAAA,kBAAA;AAAA,kBAKJ,gBAAAQ;AAAA,oBAACG;AAAA,oBAAA;AAAA,sBACC,SAAQ;AAAA,sBACR,IAAI;AAAA,wBACF,YAAY;AAAA,wBACZ,OAAOX,EAAM,QAAQ,KAAK;AAAA,sBAAA;AAAA,sBAG3B,UAAAN;AAAA,oBAAA;AAAA,kBAAA;AAAA,kBAIH,gBAAAc;AAAA,oBAACI;AAAA,oBAAA;AAAA,sBACC,aAAY;AAAA,sBACZ,UAAQ;AAAA,sBACR,IAAI;AAAA,wBACF,iBAAiBZ,EAAM,QAAQ,KAAK;AAAA,wBACpC,SAAS;AAAA,wBACT,OAAO;AAAA,sBAAA;AAAA,oBACT;AAAA,kBAAA;AAAA,kBAIF,gBAAAQ;AAAA,oBAACG;AAAA,oBAAA;AAAA,sBACC,SAAQ;AAAA,sBACR,IAAI;AAAA,wBACF,OAAOX,EAAM,QAAQ,KAAK;AAAA,sBAAA;AAAA,sBAG3B,UAAAE;AAAA,oBAAA;AAAA,kBAAA;AAAA,gBACH;AAAA,cAAA;AAAA,YAAA;AAAA,YAIDL,KACC,gBAAAW,EAACX,GAAA,EAAsB,YAAAD,EAAA,CAAwB;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAIvD;AAAA,EAAA;AAEJ;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("react/jsx-runtime"),k=require("@mui/material/styles"),u=require("@mui/material/Box"),R=require("@mui/material/Chip"),I=require("@mui/material/Typography"),N=require("mobx-react-lite"),_=require("react-i18next"),m=require("../externalizeComponent.cjs");var b=(t=>(t.PRECONDITION_NOT_FULFILLED="PRECONDITION_NOT_FULFILLED",t.ROBOT_DISCONNECTED="ROBOT_DISCONNECTED",t.CELL_OPEN="CELL_OPEN",t.E_STOP="E_STOP",t.MANUAL_MODE="MANUAL_MODE",t.READY="READY",t))(b||{});const C=m.externalizeComponent(N.observer(({setupState:t,className:g})=>{const e=k.useTheme(),{t:r}=_.useTranslation(),E=()=>{var n,l,i,c,d,s,p;switch(t){case"READY":return{label:r("RobotSetupReadinessIndicator.Ready.lb"),indicatorColor:((n=e.palette.tertiary)==null?void 0:n.main)||e.palette.primary.main,backgroundColor:((l=e.palette.backgroundPaperElevation)==null?void 0:l[11])||e.palette.background.paper,textColor:e.palette.secondary.contrastText};case"ROBOT_DISCONNECTED":return{label:r("RobotSetupReadinessIndicator.RobotDisconnected.lb"),indicatorColor:e.palette.error.main,backgroundColor:((i=e.palette.backgroundPaperElevation)==null?void 0:i[11])||e.palette.background.paper,textColor:e.palette.secondary.contrastText};case"CELL_OPEN":return{label:r("RobotSetupReadinessIndicator.CellOpen.lb"),indicatorColor:e.palette.error.main,backgroundColor:((c=e.palette.backgroundPaperElevation)==null?void 0:c[11])||e.palette.background.paper,textColor:e.palette.secondary.contrastText};case"E_STOP":return{label:r("RobotSetupReadinessIndicator.EStop.lb"),indicatorColor:e.palette.error.main,backgroundColor:((d=e.palette.backgroundPaperElevation)==null?void 0:d[11])||e.palette.background.paper,textColor:e.palette.secondary.contrastText};case"MANUAL_MODE":return{label:r("RobotSetupReadinessIndicator.ManualMode.lb"),indicatorColor:e.palette.error.main,backgroundColor:((s=e.palette.backgroundPaperElevation)==null?void 0:s[11])||e.palette.background.paper,textColor:e.palette.secondary.contrastText};default:return{label:r("RobotSetupReadinessIndicator.PreconditionNotFulfilled.lb"),indicatorColor:e.palette.error.main,backgroundColor:((p=e.palette.backgroundPaperElevation)==null?void 0:p[11])||e.palette.background.paper,textColor:e.palette.secondary.contrastText}}},{label:x,indicatorColor:O,backgroundColor:a,textColor:T}=E();return o.jsx(R,{className:g,label:o.jsxs(u,{sx:{display:"flex",alignItems:"center",gap:1},children:[o.jsx(u,{sx:{width:8,height:8,borderRadius:"50%",backgroundColor:O,flexShrink:0}}),o.jsx(I,{variant:"body2",sx:{color:T,fontSize:"0.75rem",lineHeight:1.2},children:x})]}),variant:"filled",sx:{backgroundColor:a,color:e.palette.getContrastText(a),fontWeight:500,height:"auto","& .MuiChip-label":{paddingX:1.5,paddingY:.5}}})}));exports.RobotSetupReadinessIndicator=C;exports.RobotSetupReadinessState=b;exports.default=C;
2
+ //# sourceMappingURL=RobotSetupReadinessIndicator.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RobotSetupReadinessIndicator.cjs","sources":["../../src/components/RobotSetupReadinessIndicator.tsx"],"sourcesContent":["import { useTheme } from \"@mui/material/styles\"\nimport Box from \"@mui/material/Box\"\nimport Chip from \"@mui/material/Chip\"\nimport Typography from \"@mui/material/Typography\"\nimport { observer } from \"mobx-react-lite\"\nimport { useTranslation } from \"react-i18next\"\nimport { externalizeComponent } from \"../externalizeComponent\"\n\n/**\n * Enum representing the robot setup readiness state\n */\nexport enum RobotSetupReadinessState {\n /** Preconditions are not fulfilled for robot operation */\n PRECONDITION_NOT_FULFILLED = \"PRECONDITION_NOT_FULFILLED\",\n /** Robot is disconnected from the system */\n ROBOT_DISCONNECTED = \"ROBOT_DISCONNECTED\",\n /** Safety cell is open and robot cannot operate */\n CELL_OPEN = \"CELL_OPEN\",\n /** Emergency stop is active and robot cannot operate */\n E_STOP = \"E_STOP\",\n /** Robot is in manual mode and requires manual intervention */\n MANUAL_MODE = \"MANUAL_MODE\",\n /** Robot is ready for operation */\n READY = \"READY\",\n}\n\nexport interface RobotSetupReadinessIndicatorProps {\n /** The current setup readiness state of the robot */\n setupState: RobotSetupReadinessState\n /** Additional CSS class name */\n className?: string\n}\n\n/**\n * A state indicator component that displays the current robot setup readiness state.\n *\n * Features:\n * - Shows six states: Precondition not fulfilled, Robot disconnected, Cell open, E-Stop, Manual mode, Ready\n * - Color-coded based on state (ready: tertiary/main, others: error/main)\n * - Rendered as Material-UI filled chip with paper-elevation-11 background\n * - Includes colored circle indicator (8px width)\n * - Localization support via react-i18next\n */\nexport const RobotSetupReadinessIndicator = externalizeComponent(\n observer(({ setupState, className }: RobotSetupReadinessIndicatorProps) => {\n const theme = useTheme()\n const { t } = useTranslation()\n\n const getStateInfo = () => {\n switch (setupState) {\n case RobotSetupReadinessState.READY:\n return {\n label: t(\"RobotSetupReadinessIndicator.Ready.lb\"),\n indicatorColor:\n theme.palette.tertiary?.main || theme.palette.primary.main,\n backgroundColor:\n theme.palette.backgroundPaperElevation?.[11] ||\n theme.palette.background.paper,\n textColor: theme.palette.secondary.contrastText,\n }\n case RobotSetupReadinessState.ROBOT_DISCONNECTED:\n return {\n label: t(\"RobotSetupReadinessIndicator.RobotDisconnected.lb\"),\n indicatorColor: theme.palette.error.main,\n backgroundColor:\n theme.palette.backgroundPaperElevation?.[11] ||\n theme.palette.background.paper,\n textColor: theme.palette.secondary.contrastText,\n }\n case RobotSetupReadinessState.CELL_OPEN:\n return {\n label: t(\"RobotSetupReadinessIndicator.CellOpen.lb\"),\n indicatorColor: theme.palette.error.main,\n backgroundColor:\n theme.palette.backgroundPaperElevation?.[11] ||\n theme.palette.background.paper,\n textColor: theme.palette.secondary.contrastText,\n }\n case RobotSetupReadinessState.E_STOP:\n return {\n label: t(\"RobotSetupReadinessIndicator.EStop.lb\"),\n indicatorColor: theme.palette.error.main,\n backgroundColor:\n theme.palette.backgroundPaperElevation?.[11] ||\n theme.palette.background.paper,\n textColor: theme.palette.secondary.contrastText,\n }\n case RobotSetupReadinessState.MANUAL_MODE:\n return {\n label: t(\"RobotSetupReadinessIndicator.ManualMode.lb\"),\n indicatorColor: theme.palette.error.main,\n backgroundColor:\n theme.palette.backgroundPaperElevation?.[11] ||\n theme.palette.background.paper,\n textColor: theme.palette.secondary.contrastText,\n }\n default:\n return {\n label: t(\n \"RobotSetupReadinessIndicator.PreconditionNotFulfilled.lb\",\n ),\n indicatorColor: theme.palette.error.main,\n backgroundColor:\n theme.palette.backgroundPaperElevation?.[11] ||\n theme.palette.background.paper,\n textColor: theme.palette.secondary.contrastText,\n }\n }\n }\n\n const { label, indicatorColor, backgroundColor, textColor } = getStateInfo()\n\n return (\n <Chip\n className={className}\n label={\n <Box\n sx={{\n display: \"flex\",\n alignItems: \"center\",\n gap: 1,\n }}\n >\n <Box\n sx={{\n width: 8,\n height: 8,\n borderRadius: \"50%\",\n backgroundColor: indicatorColor,\n flexShrink: 0,\n }}\n />\n <Typography\n variant=\"body2\"\n sx={{\n color: textColor,\n fontSize: \"0.75rem\", // Smaller than body2\n lineHeight: 1.2,\n }}\n >\n {label}\n </Typography>\n </Box>\n }\n variant=\"filled\"\n sx={{\n backgroundColor,\n color: theme.palette.getContrastText(backgroundColor),\n fontWeight: 500,\n height: \"auto\",\n \"& .MuiChip-label\": {\n paddingX: 1.5,\n paddingY: 0.5,\n },\n }}\n />\n )\n }),\n)\n\nexport default RobotSetupReadinessIndicator\n"],"names":["RobotSetupReadinessState","RobotSetupReadinessIndicator","externalizeComponent","observer","setupState","className","theme","useTheme","t","useTranslation","getStateInfo","_a","_b","_c","_d","_e","_f","_g","label","indicatorColor","backgroundColor","textColor","jsx","Chip","jsxs","Box","Typography"],"mappings":"yXAWO,IAAKA,GAAAA,IAEVA,EAAA,2BAA6B,6BAE7BA,EAAA,mBAAqB,qBAErBA,EAAA,UAAY,YAEZA,EAAA,OAAS,SAETA,EAAA,YAAc,cAEdA,EAAA,MAAQ,QAZEA,IAAAA,GAAA,CAAA,CAAA,EAgCL,MAAMC,EAA+BC,EAAAA,qBAC1CC,EAAAA,SAAS,CAAC,CAAE,WAAAC,EAAY,UAAAC,KAAmD,CACzE,MAAMC,EAAQC,EAAAA,SAAA,EACR,CAAE,EAAAC,CAAA,EAAMC,iBAAA,EAERC,EAAe,IAAM,mBACzB,OAAQN,EAAA,CACN,IAAK,QACH,MAAO,CACL,MAAOI,EAAE,uCAAuC,EAChD,iBACEG,EAAAL,EAAM,QAAQ,WAAd,YAAAK,EAAwB,OAAQL,EAAM,QAAQ,QAAQ,KACxD,kBACEM,EAAAN,EAAM,QAAQ,2BAAd,YAAAM,EAAyC,MACzCN,EAAM,QAAQ,WAAW,MAC3B,UAAWA,EAAM,QAAQ,UAAU,YAAA,EAEvC,IAAK,qBACH,MAAO,CACL,MAAOE,EAAE,mDAAmD,EAC5D,eAAgBF,EAAM,QAAQ,MAAM,KACpC,kBACEO,EAAAP,EAAM,QAAQ,2BAAd,YAAAO,EAAyC,MACzCP,EAAM,QAAQ,WAAW,MAC3B,UAAWA,EAAM,QAAQ,UAAU,YAAA,EAEvC,IAAK,YACH,MAAO,CACL,MAAOE,EAAE,0CAA0C,EACnD,eAAgBF,EAAM,QAAQ,MAAM,KACpC,kBACEQ,EAAAR,EAAM,QAAQ,2BAAd,YAAAQ,EAAyC,MACzCR,EAAM,QAAQ,WAAW,MAC3B,UAAWA,EAAM,QAAQ,UAAU,YAAA,EAEvC,IAAK,SACH,MAAO,CACL,MAAOE,EAAE,uCAAuC,EAChD,eAAgBF,EAAM,QAAQ,MAAM,KACpC,kBACES,EAAAT,EAAM,QAAQ,2BAAd,YAAAS,EAAyC,MACzCT,EAAM,QAAQ,WAAW,MAC3B,UAAWA,EAAM,QAAQ,UAAU,YAAA,EAEvC,IAAK,cACH,MAAO,CACL,MAAOE,EAAE,4CAA4C,EACrD,eAAgBF,EAAM,QAAQ,MAAM,KACpC,kBACEU,EAAAV,EAAM,QAAQ,2BAAd,YAAAU,EAAyC,MACzCV,EAAM,QAAQ,WAAW,MAC3B,UAAWA,EAAM,QAAQ,UAAU,YAAA,EAEvC,QACE,MAAO,CACL,MAAOE,EACL,0DAAA,EAEF,eAAgBF,EAAM,QAAQ,MAAM,KACpC,kBACEW,EAAAX,EAAM,QAAQ,2BAAd,YAAAW,EAAyC,MACzCX,EAAM,QAAQ,WAAW,MAC3B,UAAWA,EAAM,QAAQ,UAAU,YAAA,CACrC,CAEN,EAEM,CAAE,MAAAY,EAAO,eAAAC,EAAgB,gBAAAC,EAAiB,UAAAC,CAAA,EAAcX,EAAA,EAE9D,OACEY,EAAAA,IAACC,EAAA,CACC,UAAAlB,EACA,MACEmB,EAAAA,KAACC,EAAA,CACC,GAAI,CACF,QAAS,OACT,WAAY,SACZ,IAAK,CAAA,EAGP,SAAA,CAAAH,EAAAA,IAACG,EAAA,CACC,GAAI,CACF,MAAO,EACP,OAAQ,EACR,aAAc,MACd,gBAAiBN,EACjB,WAAY,CAAA,CACd,CAAA,EAEFG,EAAAA,IAACI,EAAA,CACC,QAAQ,QACR,GAAI,CACF,MAAOL,EACP,SAAU,UACV,WAAY,GAAA,EAGb,SAAAH,CAAA,CAAA,CACH,CAAA,CAAA,EAGJ,QAAQ,SACR,GAAI,CACF,gBAAAE,EACA,MAAOd,EAAM,QAAQ,gBAAgBc,CAAe,EACpD,WAAY,IACZ,OAAQ,OACR,mBAAoB,CAClB,SAAU,IACV,SAAU,EAAA,CACZ,CACF,CAAA,CAGN,CAAC,CACH"}
@@ -34,4 +34,5 @@ export interface RobotSetupReadinessIndicatorProps {
34
34
  export declare const RobotSetupReadinessIndicator: (({ setupState, className }: RobotSetupReadinessIndicatorProps) => import("react/jsx-runtime").JSX.Element) & {
35
35
  displayName: string;
36
36
  };
37
+ export default RobotSetupReadinessIndicator;
37
38
  //# sourceMappingURL=RobotSetupReadinessIndicator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RobotSetupReadinessIndicator.d.ts","sourceRoot":"","sources":["../../src/components/RobotSetupReadinessIndicator.tsx"],"names":[],"mappings":"AAQA;;GAEG;AACH,oBAAY,wBAAwB;IAClC,0DAA0D;IAC1D,0BAA0B,+BAA+B;IACzD,4CAA4C;IAC5C,kBAAkB,uBAAuB;IACzC,mDAAmD;IACnD,SAAS,cAAc;IACvB,wDAAwD;IACxD,MAAM,WAAW;IACjB,+DAA+D;IAC/D,WAAW,gBAAgB;IAC3B,mCAAmC;IACnC,KAAK,UAAU;CAChB;AAED,MAAM,WAAW,iCAAiC;IAChD,qDAAqD;IACrD,UAAU,EAAE,wBAAwB,CAAA;IACpC,gCAAgC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,4BAA4B,+BACF,iCAAiC;;CAkHvE,CAAA"}
1
+ {"version":3,"file":"RobotSetupReadinessIndicator.d.ts","sourceRoot":"","sources":["../../src/components/RobotSetupReadinessIndicator.tsx"],"names":[],"mappings":"AAQA;;GAEG;AACH,oBAAY,wBAAwB;IAClC,0DAA0D;IAC1D,0BAA0B,+BAA+B;IACzD,4CAA4C;IAC5C,kBAAkB,uBAAuB;IACzC,mDAAmD;IACnD,SAAS,cAAc;IACvB,wDAAwD;IACxD,MAAM,WAAW;IACjB,+DAA+D;IAC/D,WAAW,gBAAgB;IAC3B,mCAAmC;IACnC,KAAK,UAAU;CAChB;AAED,MAAM,WAAW,iCAAiC;IAChD,qDAAqD;IACrD,UAAU,EAAE,wBAAwB,CAAA;IACpC,gCAAgC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,4BAA4B,+BACF,iCAAiC;;CAkHvE,CAAA;AAED,eAAe,4BAA4B,CAAA"}
@@ -0,0 +1,122 @@
1
+ import { jsx as r, jsxs as x } from "react/jsx-runtime";
2
+ import { useTheme as O } from "@mui/material/styles";
3
+ import b from "@mui/material/Box";
4
+ import T from "@mui/material/Chip";
5
+ import k from "@mui/material/Typography";
6
+ import { observer as N } from "mobx-react-lite";
7
+ import { useTranslation as I } from "react-i18next";
8
+ import { externalizeComponent as f } from "../externalizeComponent.js";
9
+ var D = /* @__PURE__ */ ((t) => (t.PRECONDITION_NOT_FULFILLED = "PRECONDITION_NOT_FULFILLED", t.ROBOT_DISCONNECTED = "ROBOT_DISCONNECTED", t.CELL_OPEN = "CELL_OPEN", t.E_STOP = "E_STOP", t.MANUAL_MODE = "MANUAL_MODE", t.READY = "READY", t))(D || {});
10
+ const M = f(
11
+ N(({ setupState: t, className: u }) => {
12
+ const e = O(), { t: o } = I(), C = () => {
13
+ var l, n, i, p, c, d, s;
14
+ switch (t) {
15
+ case "READY":
16
+ return {
17
+ label: o("RobotSetupReadinessIndicator.Ready.lb"),
18
+ indicatorColor: ((l = e.palette.tertiary) == null ? void 0 : l.main) || e.palette.primary.main,
19
+ backgroundColor: ((n = e.palette.backgroundPaperElevation) == null ? void 0 : n[11]) || e.palette.background.paper,
20
+ textColor: e.palette.secondary.contrastText
21
+ };
22
+ case "ROBOT_DISCONNECTED":
23
+ return {
24
+ label: o("RobotSetupReadinessIndicator.RobotDisconnected.lb"),
25
+ indicatorColor: e.palette.error.main,
26
+ backgroundColor: ((i = e.palette.backgroundPaperElevation) == null ? void 0 : i[11]) || e.palette.background.paper,
27
+ textColor: e.palette.secondary.contrastText
28
+ };
29
+ case "CELL_OPEN":
30
+ return {
31
+ label: o("RobotSetupReadinessIndicator.CellOpen.lb"),
32
+ indicatorColor: e.palette.error.main,
33
+ backgroundColor: ((p = e.palette.backgroundPaperElevation) == null ? void 0 : p[11]) || e.palette.background.paper,
34
+ textColor: e.palette.secondary.contrastText
35
+ };
36
+ case "E_STOP":
37
+ return {
38
+ label: o("RobotSetupReadinessIndicator.EStop.lb"),
39
+ indicatorColor: e.palette.error.main,
40
+ backgroundColor: ((c = e.palette.backgroundPaperElevation) == null ? void 0 : c[11]) || e.palette.background.paper,
41
+ textColor: e.palette.secondary.contrastText
42
+ };
43
+ case "MANUAL_MODE":
44
+ return {
45
+ label: o("RobotSetupReadinessIndicator.ManualMode.lb"),
46
+ indicatorColor: e.palette.error.main,
47
+ backgroundColor: ((d = e.palette.backgroundPaperElevation) == null ? void 0 : d[11]) || e.palette.background.paper,
48
+ textColor: e.palette.secondary.contrastText
49
+ };
50
+ default:
51
+ return {
52
+ label: o(
53
+ "RobotSetupReadinessIndicator.PreconditionNotFulfilled.lb"
54
+ ),
55
+ indicatorColor: e.palette.error.main,
56
+ backgroundColor: ((s = e.palette.backgroundPaperElevation) == null ? void 0 : s[11]) || e.palette.background.paper,
57
+ textColor: e.palette.secondary.contrastText
58
+ };
59
+ }
60
+ }, { label: E, indicatorColor: g, backgroundColor: a, textColor: m } = C();
61
+ return /* @__PURE__ */ r(
62
+ T,
63
+ {
64
+ className: u,
65
+ label: /* @__PURE__ */ x(
66
+ b,
67
+ {
68
+ sx: {
69
+ display: "flex",
70
+ alignItems: "center",
71
+ gap: 1
72
+ },
73
+ children: [
74
+ /* @__PURE__ */ r(
75
+ b,
76
+ {
77
+ sx: {
78
+ width: 8,
79
+ height: 8,
80
+ borderRadius: "50%",
81
+ backgroundColor: g,
82
+ flexShrink: 0
83
+ }
84
+ }
85
+ ),
86
+ /* @__PURE__ */ r(
87
+ k,
88
+ {
89
+ variant: "body2",
90
+ sx: {
91
+ color: m,
92
+ fontSize: "0.75rem",
93
+ // Smaller than body2
94
+ lineHeight: 1.2
95
+ },
96
+ children: E
97
+ }
98
+ )
99
+ ]
100
+ }
101
+ ),
102
+ variant: "filled",
103
+ sx: {
104
+ backgroundColor: a,
105
+ color: e.palette.getContrastText(a),
106
+ fontWeight: 500,
107
+ height: "auto",
108
+ "& .MuiChip-label": {
109
+ paddingX: 1.5,
110
+ paddingY: 0.5
111
+ }
112
+ }
113
+ }
114
+ );
115
+ })
116
+ );
117
+ export {
118
+ M as RobotSetupReadinessIndicator,
119
+ D as RobotSetupReadinessState,
120
+ M as default
121
+ };
122
+ //# sourceMappingURL=RobotSetupReadinessIndicator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RobotSetupReadinessIndicator.js","sources":["../../src/components/RobotSetupReadinessIndicator.tsx"],"sourcesContent":["import { useTheme } from \"@mui/material/styles\"\nimport Box from \"@mui/material/Box\"\nimport Chip from \"@mui/material/Chip\"\nimport Typography from \"@mui/material/Typography\"\nimport { observer } from \"mobx-react-lite\"\nimport { useTranslation } from \"react-i18next\"\nimport { externalizeComponent } from \"../externalizeComponent\"\n\n/**\n * Enum representing the robot setup readiness state\n */\nexport enum RobotSetupReadinessState {\n /** Preconditions are not fulfilled for robot operation */\n PRECONDITION_NOT_FULFILLED = \"PRECONDITION_NOT_FULFILLED\",\n /** Robot is disconnected from the system */\n ROBOT_DISCONNECTED = \"ROBOT_DISCONNECTED\",\n /** Safety cell is open and robot cannot operate */\n CELL_OPEN = \"CELL_OPEN\",\n /** Emergency stop is active and robot cannot operate */\n E_STOP = \"E_STOP\",\n /** Robot is in manual mode and requires manual intervention */\n MANUAL_MODE = \"MANUAL_MODE\",\n /** Robot is ready for operation */\n READY = \"READY\",\n}\n\nexport interface RobotSetupReadinessIndicatorProps {\n /** The current setup readiness state of the robot */\n setupState: RobotSetupReadinessState\n /** Additional CSS class name */\n className?: string\n}\n\n/**\n * A state indicator component that displays the current robot setup readiness state.\n *\n * Features:\n * - Shows six states: Precondition not fulfilled, Robot disconnected, Cell open, E-Stop, Manual mode, Ready\n * - Color-coded based on state (ready: tertiary/main, others: error/main)\n * - Rendered as Material-UI filled chip with paper-elevation-11 background\n * - Includes colored circle indicator (8px width)\n * - Localization support via react-i18next\n */\nexport const RobotSetupReadinessIndicator = externalizeComponent(\n observer(({ setupState, className }: RobotSetupReadinessIndicatorProps) => {\n const theme = useTheme()\n const { t } = useTranslation()\n\n const getStateInfo = () => {\n switch (setupState) {\n case RobotSetupReadinessState.READY:\n return {\n label: t(\"RobotSetupReadinessIndicator.Ready.lb\"),\n indicatorColor:\n theme.palette.tertiary?.main || theme.palette.primary.main,\n backgroundColor:\n theme.palette.backgroundPaperElevation?.[11] ||\n theme.palette.background.paper,\n textColor: theme.palette.secondary.contrastText,\n }\n case RobotSetupReadinessState.ROBOT_DISCONNECTED:\n return {\n label: t(\"RobotSetupReadinessIndicator.RobotDisconnected.lb\"),\n indicatorColor: theme.palette.error.main,\n backgroundColor:\n theme.palette.backgroundPaperElevation?.[11] ||\n theme.palette.background.paper,\n textColor: theme.palette.secondary.contrastText,\n }\n case RobotSetupReadinessState.CELL_OPEN:\n return {\n label: t(\"RobotSetupReadinessIndicator.CellOpen.lb\"),\n indicatorColor: theme.palette.error.main,\n backgroundColor:\n theme.palette.backgroundPaperElevation?.[11] ||\n theme.palette.background.paper,\n textColor: theme.palette.secondary.contrastText,\n }\n case RobotSetupReadinessState.E_STOP:\n return {\n label: t(\"RobotSetupReadinessIndicator.EStop.lb\"),\n indicatorColor: theme.palette.error.main,\n backgroundColor:\n theme.palette.backgroundPaperElevation?.[11] ||\n theme.palette.background.paper,\n textColor: theme.palette.secondary.contrastText,\n }\n case RobotSetupReadinessState.MANUAL_MODE:\n return {\n label: t(\"RobotSetupReadinessIndicator.ManualMode.lb\"),\n indicatorColor: theme.palette.error.main,\n backgroundColor:\n theme.palette.backgroundPaperElevation?.[11] ||\n theme.palette.background.paper,\n textColor: theme.palette.secondary.contrastText,\n }\n default:\n return {\n label: t(\n \"RobotSetupReadinessIndicator.PreconditionNotFulfilled.lb\",\n ),\n indicatorColor: theme.palette.error.main,\n backgroundColor:\n theme.palette.backgroundPaperElevation?.[11] ||\n theme.palette.background.paper,\n textColor: theme.palette.secondary.contrastText,\n }\n }\n }\n\n const { label, indicatorColor, backgroundColor, textColor } = getStateInfo()\n\n return (\n <Chip\n className={className}\n label={\n <Box\n sx={{\n display: \"flex\",\n alignItems: \"center\",\n gap: 1,\n }}\n >\n <Box\n sx={{\n width: 8,\n height: 8,\n borderRadius: \"50%\",\n backgroundColor: indicatorColor,\n flexShrink: 0,\n }}\n />\n <Typography\n variant=\"body2\"\n sx={{\n color: textColor,\n fontSize: \"0.75rem\", // Smaller than body2\n lineHeight: 1.2,\n }}\n >\n {label}\n </Typography>\n </Box>\n }\n variant=\"filled\"\n sx={{\n backgroundColor,\n color: theme.palette.getContrastText(backgroundColor),\n fontWeight: 500,\n height: \"auto\",\n \"& .MuiChip-label\": {\n paddingX: 1.5,\n paddingY: 0.5,\n },\n }}\n />\n )\n }),\n)\n\nexport default RobotSetupReadinessIndicator\n"],"names":["RobotSetupReadinessState","RobotSetupReadinessIndicator","externalizeComponent","observer","setupState","className","theme","useTheme","t","useTranslation","getStateInfo","_a","_b","_c","_d","_e","_f","_g","label","indicatorColor","backgroundColor","textColor","jsx","Chip","jsxs","Box","Typography"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const c=require("react/jsx-runtime"),s=require("@mui/material/styles"),d=require("@mui/material/Fab"),n=s.styled(d,{shouldForwardProp:e=>e!=="selected"})(({theme:e})=>{var r,t,o;return{borderRadius:"20px","&:hover":{background:(r=e.palette.backgroundPaperElevation)==null?void 0:r[7]},variants:[{props:({selected:a})=>!a,style:{background:(t=e.palette.backgroundPaperElevation)==null?void 0:t[0],color:e.palette.action.disabled,"> img":{opacity:.4}}},{props:({selected:a})=>a,style:{background:(o=e.palette.backgroundPaperElevation)==null?void 0:o[11],border:`1px solid ${e.palette.divider}`,color:e.palette.primary.contrastText}}]}}),l=e=>{const{ref:r,...t}=e;return c.jsx(n,{ref:r,selected:e.selected,...t,color:"secondary",variant:"circular"})};exports.SelectableFab=l;exports.default=l;
2
+ //# sourceMappingURL=SelectableFab.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectableFab.cjs","sources":["../../src/components/SelectableFab.tsx"],"sourcesContent":["import { styled } from \"@mui/material/styles\"\nimport Fab, { type FabProps } from \"@mui/material/Fab\"\nconst StyledSelectableFab = styled(Fab, {\n shouldForwardProp: (prop) => prop !== \"selected\",\n})<CodeFabProps>(({ theme }) => ({\n borderRadius: \"20px\",\n\n \"&:hover\": {\n background: theme.palette.backgroundPaperElevation?.[7],\n },\n\n variants: [\n {\n props: ({ selected }) => !selected,\n style: {\n background: theme.palette.backgroundPaperElevation?.[0],\n color: theme.palette.action.disabled,\n \"> img\": {\n opacity: 0.4,\n },\n },\n },\n {\n props: ({ selected }) => selected,\n style: {\n background: theme.palette.backgroundPaperElevation?.[11],\n border: `1px solid ${theme.palette.divider}`,\n color: theme.palette.primary.contrastText,\n },\n },\n ],\n}))\n\ntype CodeFabProps = {\n selected?: boolean\n ref?: React.Ref<HTMLButtonElement>\n} & Omit<FabProps, \"variant\" | \"color\">\n\nexport const SelectableFab = (props: CodeFabProps) => {\n const { ref, ...otherProps } = props\n return (\n <StyledSelectableFab\n ref={ref}\n selected={props.selected}\n {...otherProps}\n color={\"secondary\"}\n variant=\"circular\"\n />\n )\n}\n\nexport default SelectableFab\n"],"names":["StyledSelectableFab","styled","Fab","prop","theme","_a","selected","_b","_c","SelectableFab","props","ref","otherProps","jsx"],"mappings":"kNAEMA,EAAsBC,EAAAA,OAAOC,EAAK,CACtC,kBAAoBC,GAASA,IAAS,UACxC,CAAC,EAAgB,CAAC,CAAE,MAAAC,KAAM,WAAO,OAC/B,aAAc,OAEd,UAAW,CACT,YAAYC,EAAAD,EAAM,QAAQ,2BAAd,YAAAC,EAAyC,EAAC,EAGxD,SAAU,CACR,CACE,MAAO,CAAC,CAAE,SAAAC,CAAA,IAAe,CAACA,EAC1B,MAAO,CACL,YAAYC,EAAAH,EAAM,QAAQ,2BAAd,YAAAG,EAAyC,GACrD,MAAOH,EAAM,QAAQ,OAAO,SAC5B,QAAS,CACP,QAAS,EAAA,CACX,CACF,EAEF,CACE,MAAO,CAAC,CAAE,SAAAE,CAAA,IAAeA,EACzB,MAAO,CACL,YAAYE,EAAAJ,EAAM,QAAQ,2BAAd,YAAAI,EAAyC,IACrD,OAAQ,aAAaJ,EAAM,QAAQ,OAAO,GAC1C,MAAOA,EAAM,QAAQ,QAAQ,YAAA,CAC/B,CACF,CAEJ,EAAE,EAOWK,EAAiBC,GAAwB,CACpD,KAAM,CAAE,IAAAC,EAAK,GAAGC,CAAA,EAAeF,EAC/B,OACEG,EAAAA,IAACb,EAAA,CACC,IAAAW,EACA,SAAUD,EAAM,SACf,GAAGE,EACJ,MAAO,YACP,QAAQ,UAAA,CAAA,CAGd"}
@@ -4,5 +4,5 @@ type CodeFabProps = {
4
4
  ref?: React.Ref<HTMLButtonElement>;
5
5
  } & Omit<FabProps, "variant" | "color">;
6
6
  export declare const SelectableFab: (props: CodeFabProps) => import("react/jsx-runtime").JSX.Element;
7
- export {};
7
+ export default SelectableFab;
8
8
  //# sourceMappingURL=SelectableFab.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectableFab.d.ts","sourceRoot":"","sources":["../../src/components/SelectableFab.tsx"],"names":[],"mappings":"AACA,OAAY,EAAE,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAgCtD,KAAK,YAAY,GAAG;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;CACnC,GAAG,IAAI,CAAC,QAAQ,EAAE,SAAS,GAAG,OAAO,CAAC,CAAA;AAEvC,eAAO,MAAM,aAAa,GAAI,OAAO,YAAY,4CAWhD,CAAA"}
1
+ {"version":3,"file":"SelectableFab.d.ts","sourceRoot":"","sources":["../../src/components/SelectableFab.tsx"],"names":[],"mappings":"AACA,OAAY,EAAE,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAgCtD,KAAK,YAAY,GAAG;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;CACnC,GAAG,IAAI,CAAC,QAAQ,EAAE,SAAS,GAAG,OAAO,CAAC,CAAA;AAEvC,eAAO,MAAM,aAAa,GAAI,OAAO,YAAY,4CAWhD,CAAA;AAED,eAAe,aAAa,CAAA"}
@@ -0,0 +1,51 @@
1
+ import { jsx as l } from "react/jsx-runtime";
2
+ import { styled as c } from "@mui/material/styles";
3
+ import d from "@mui/material/Fab";
4
+ const p = c(d, {
5
+ shouldForwardProp: (r) => r !== "selected"
6
+ })(({ theme: r }) => {
7
+ var e, o, t;
8
+ return {
9
+ borderRadius: "20px",
10
+ "&:hover": {
11
+ background: (e = r.palette.backgroundPaperElevation) == null ? void 0 : e[7]
12
+ },
13
+ variants: [
14
+ {
15
+ props: ({ selected: a }) => !a,
16
+ style: {
17
+ background: (o = r.palette.backgroundPaperElevation) == null ? void 0 : o[0],
18
+ color: r.palette.action.disabled,
19
+ "> img": {
20
+ opacity: 0.4
21
+ }
22
+ }
23
+ },
24
+ {
25
+ props: ({ selected: a }) => a,
26
+ style: {
27
+ background: (t = r.palette.backgroundPaperElevation) == null ? void 0 : t[11],
28
+ border: `1px solid ${r.palette.divider}`,
29
+ color: r.palette.primary.contrastText
30
+ }
31
+ }
32
+ ]
33
+ };
34
+ }), b = (r) => {
35
+ const { ref: e, ...o } = r;
36
+ return /* @__PURE__ */ l(
37
+ p,
38
+ {
39
+ ref: e,
40
+ selected: r.selected,
41
+ ...o,
42
+ color: "secondary",
43
+ variant: "circular"
44
+ }
45
+ );
46
+ };
47
+ export {
48
+ b as SelectableFab,
49
+ b as default
50
+ };
51
+ //# sourceMappingURL=SelectableFab.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectableFab.js","sources":["../../src/components/SelectableFab.tsx"],"sourcesContent":["import { styled } from \"@mui/material/styles\"\nimport Fab, { type FabProps } from \"@mui/material/Fab\"\nconst StyledSelectableFab = styled(Fab, {\n shouldForwardProp: (prop) => prop !== \"selected\",\n})<CodeFabProps>(({ theme }) => ({\n borderRadius: \"20px\",\n\n \"&:hover\": {\n background: theme.palette.backgroundPaperElevation?.[7],\n },\n\n variants: [\n {\n props: ({ selected }) => !selected,\n style: {\n background: theme.palette.backgroundPaperElevation?.[0],\n color: theme.palette.action.disabled,\n \"> img\": {\n opacity: 0.4,\n },\n },\n },\n {\n props: ({ selected }) => selected,\n style: {\n background: theme.palette.backgroundPaperElevation?.[11],\n border: `1px solid ${theme.palette.divider}`,\n color: theme.palette.primary.contrastText,\n },\n },\n ],\n}))\n\ntype CodeFabProps = {\n selected?: boolean\n ref?: React.Ref<HTMLButtonElement>\n} & Omit<FabProps, \"variant\" | \"color\">\n\nexport const SelectableFab = (props: CodeFabProps) => {\n const { ref, ...otherProps } = props\n return (\n <StyledSelectableFab\n ref={ref}\n selected={props.selected}\n {...otherProps}\n color={\"secondary\"}\n variant=\"circular\"\n />\n )\n}\n\nexport default SelectableFab\n"],"names":["StyledSelectableFab","styled","Fab","prop","theme","_a","selected","_b","_c","SelectableFab","props","ref","otherProps","jsx"],"mappings":";;;AAEA,MAAMA,IAAsBC,EAAOC,GAAK;AAAA,EACtC,mBAAmB,CAACC,MAASA,MAAS;AACxC,CAAC,EAAgB,CAAC,EAAE,OAAAC,QAAM;;AAAO;AAAA,IAC/B,cAAc;AAAA,IAEd,WAAW;AAAA,MACT,aAAYC,IAAAD,EAAM,QAAQ,6BAAd,gBAAAC,EAAyC;AAAA,IAAC;AAAA,IAGxD,UAAU;AAAA,MACR;AAAA,QACE,OAAO,CAAC,EAAE,UAAAC,EAAA,MAAe,CAACA;AAAA,QAC1B,OAAO;AAAA,UACL,aAAYC,IAAAH,EAAM,QAAQ,6BAAd,gBAAAG,EAAyC;AAAA,UACrD,OAAOH,EAAM,QAAQ,OAAO;AAAA,UAC5B,SAAS;AAAA,YACP,SAAS;AAAA,UAAA;AAAA,QACX;AAAA,MACF;AAAA,MAEF;AAAA,QACE,OAAO,CAAC,EAAE,UAAAE,EAAA,MAAeA;AAAA,QACzB,OAAO;AAAA,UACL,aAAYE,IAAAJ,EAAM,QAAQ,6BAAd,gBAAAI,EAAyC;AAAA,UACrD,QAAQ,aAAaJ,EAAM,QAAQ,OAAO;AAAA,UAC1C,OAAOA,EAAM,QAAQ,QAAQ;AAAA,QAAA;AAAA,MAC/B;AAAA,IACF;AAAA,EAEJ;AAAA,CAAE,GAOWK,IAAgB,CAACC,MAAwB;AACpD,QAAM,EAAE,KAAAC,GAAK,GAAGC,EAAA,IAAeF;AAC/B,SACE,gBAAAG;AAAA,IAACb;AAAA,IAAA;AAAA,MACC,KAAAW;AAAA,MACA,UAAUD,EAAM;AAAA,MACf,GAAGE;AAAA,MACJ,OAAO;AAAA,MACP,SAAQ;AAAA,IAAA;AAAA,EAAA;AAGd;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("react/jsx-runtime"),P=require("@mui/material/Badge"),d=require("@mui/material/Box"),R=require("@mui/material/Tab"),S=require("@mui/material/Tabs"),z=require("mobx-react-lite"),y=require("react"),Z=require("../externalizeComponent.cjs");function A(u){const{children:n,value:s,index:l,...r}=u;return o.jsx("div",{role:"tabpanel",hidden:s!==l,id:`tabpanel-${l}`,"aria-labelledby":`tab-${l}`,...r,children:s===l&&o.jsx(d,{children:n})})}function E({children:u,...n}){const{fullWidth:s,indicator:l,onChange:r,orientation:v,scrollButtons:f,selectionFollowsFocus:c,textColor:p,value:g,variant:b,...x}=n;return o.jsx(d,{...x,children:u})}const B=Z.externalizeComponent(z.observer(u=>{const{items:n,activeTab:s,defaultActiveTab:l=0,onTabChange:r,sx:v,ref:f}=u,c=s!==void 0,[p,g]=y.useState(l),b=c?s:p;y.useEffect(()=>{c||n.length!==0&&(p<0||p>n.length-1)&&g(0)},[n.length,c,p]);const x=(e,a)=>{c||g(a),r==null||r(a)};return o.jsxs(d,{ref:f,sx:{height:"100%",display:"flex",flexDirection:"column",...v},children:[o.jsx(d,{sx:{px:0,py:0,overflow:"visible",position:"relative",paddingTop:e=>e.spacing(2),paddingRight:e=>e.spacing(2.5)},children:o.jsx(S,{value:b,onChange:x,sx:{minHeight:"32px",backgroundColor:"transparent",overflow:"visible","& .MuiTabs-indicator":{display:"none"},"& .MuiTabs-flexContainer":{gap:2,overflow:"visible",paddingTop:0,paddingBottom:0},"& .MuiTabs-scroller":{overflow:"visible !important"},"& .MuiTab-root":{overflow:"visible"}},children:n.map((e,a)=>{var T,j,w;const C=()=>{if(!e.badge)return;const i=e.badge.content,t=e.badge.max;return typeof i=="number"&&t&&i>t?`${t}+`:i},m=()=>{if(!e.badge)return!1;const i=e.badge.content,t=e.badge.showZero;return!(i===0&&!t)},q=C(),M=m(),k=()=>{c||g(a),r==null||r(a)},h=o.jsx(R,{label:e.label,icon:e.icon,iconPosition:"start",disableRipple:!0,onClick:k,sx:{minHeight:"32px",height:"32px",padding:"0px 10px",borderRadius:"12px",backgroundColor:i=>{var t;return((t=i.palette.backgroundPaperElevation)==null?void 0:t[11])||"#32344B"},color:"text.primary",opacity:b===a?1:.38,fontSize:"13px",transition:"all 0.2s ease-in-out",position:"relative",overflow:"visible","&:hover":{opacity:b===a?1:.6},"&.Mui-selected":{opacity:1,backgroundColor:i=>{var t;return((t=i.palette.backgroundPaperElevation)==null?void 0:t[11])||"#32344B"},color:"text.primary"},"&:focus":{outline:"none"},"&:active":{transform:"none"}}},e.id);return M?o.jsx(E,{component:"span",sx:{display:"inline-flex"},children:o.jsx(P,{badgeContent:q,color:((T=e.badge)==null?void 0:T.color)||"error",max:(j=e.badge)==null?void 0:j.max,showZero:(w=e.badge)==null?void 0:w.showZero,anchorOrigin:{vertical:"top",horizontal:"right"},overlap:"rectangular",sx:{"& .MuiBadge-badge":{opacity:"1 !important"}},children:h})},e.id):h})})}),o.jsx(d,{sx:{mt:e=>e.spacing(2),borderBottom:1,borderColor:"divider"}}),o.jsx(d,{sx:{flex:1,overflow:"auto"},children:n.map((e,a)=>o.jsx(A,{value:b,index:a,children:e.content},e.id))})]})}));exports.TabBar=B;exports.default=B;
2
+ //# sourceMappingURL=TabBar.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TabBar.cjs","sources":["../../src/components/TabBar.tsx"],"sourcesContent":["import type { SxProps } from \"@mui/material/styles\"\nimport Badge from \"@mui/material/Badge\"\nimport Box from \"@mui/material/Box\"\nimport Tab from \"@mui/material/Tab\"\nimport Tabs from \"@mui/material/Tabs\"\nimport { observer } from \"mobx-react-lite\"\nimport { useEffect, useState } from \"react\"\nimport { externalizeComponent } from \"../externalizeComponent\"\n\nexport interface TabItem {\n /** Unique identifier for the tab */\n id: string\n /** Label text for the tab */\n label: string\n /** Content to display when tab is active */\n content: React.ReactNode\n /** Optional icon component to display with the tab */\n icon?: React.ReactElement\n /** Optional badge configuration */\n badge?: {\n /** Badge content (number or string) */\n content: React.ReactNode\n /** Badge color variant */\n color?:\n | \"default\"\n | \"primary\"\n | \"secondary\"\n | \"error\"\n | \"info\"\n | \"success\"\n | \"warning\"\n /** Maximum number to display (e.g., 99+) */\n max?: number\n /** Show badge even when content is zero */\n showZero?: boolean\n }\n}\n\nexport interface TabBarProps {\n /** Array of tab items to display */\n items: TabItem[]\n /** Controlled active tab index */\n activeTab?: number\n /** Default active tab index */\n defaultActiveTab?: number\n /** Callback when tab changes */\n onTabChange?: (index: number) => void\n /** Additional styling */\n sx?: SxProps\n /** Ref to the root container element */\n ref?: React.Ref<HTMLDivElement>\n}\n\ninterface TabPanelProps {\n children?: React.ReactNode\n index: number\n value: number\n}\n\nfunction TabPanel(props: TabPanelProps) {\n const { children, value, index, ...other } = props\n\n return (\n <div\n role=\"tabpanel\"\n hidden={value !== index}\n id={`tabpanel-${index}`}\n aria-labelledby={`tab-${index}`}\n {...other}\n >\n {value === index && <Box>{children}</Box>}\n </div>\n )\n}\n\n/**\n * Wrapper component that filters out MUI Tabs internal props\n * to prevent them from being passed to DOM elements\n */\ninterface TabWrapperProps {\n children: React.ReactNode\n // biome-ignore lint/suspicious/noExplicitAny: pre-biome code\n [key: string]: any\n}\n\nfunction TabWrapper({ children, ...props }: TabWrapperProps) {\n // Filter out MUI Tabs internal props that shouldn't reach the DOM\n const {\n fullWidth,\n indicator,\n onChange,\n orientation,\n scrollButtons,\n selectionFollowsFocus,\n textColor,\n value,\n variant,\n ...cleanProps\n } = props\n\n return <Box {...cleanProps}>{children}</Box>\n}\n\n/**\n * A styled tab bar component with configurable tabs and content.\n * Features the same styling as the Wandelbots design system with rounded tabs\n * and smooth transitions.\n */\nexport const TabBar = externalizeComponent(\n observer((props: TabBarProps) => {\n const {\n items,\n activeTab,\n defaultActiveTab = 0,\n onTabChange,\n sx,\n ref,\n } = props\n const isControlled = activeTab !== undefined\n const [uncontrolledActiveTab, setUncontrolledActiveTab] =\n useState(defaultActiveTab)\n\n // biome-ignore lint/style/noNonNullAssertion: pre-biome code\n const currentValue = isControlled ? activeTab! : uncontrolledActiveTab\n\n // Keep uncontrolled state in range when items change\n useEffect(() => {\n if (isControlled) return\n if (items.length === 0) return\n if (\n uncontrolledActiveTab < 0 ||\n uncontrolledActiveTab > items.length - 1\n ) {\n setUncontrolledActiveTab(0)\n }\n }, [items.length, isControlled, uncontrolledActiveTab])\n\n const handleTabChange = (\n _event: React.SyntheticEvent,\n newValue: number,\n ) => {\n if (!isControlled) {\n setUncontrolledActiveTab(newValue)\n }\n onTabChange?.(newValue)\n }\n\n return (\n <Box\n ref={ref}\n sx={{ height: \"100%\", display: \"flex\", flexDirection: \"column\", ...sx }}\n >\n {/* Tabs */}\n <Box\n sx={{\n px: 0,\n py: 0,\n overflow: \"visible\",\n position: \"relative\",\n // Extra padding to prevent badge clipping\n // Top: accommodates badge positioned at top: -6px with 20px height\n // Right: accommodates badge positioned at right: -8px with 20px width\n paddingTop: (theme) => theme.spacing(2), // 16px\n paddingRight: (theme) => theme.spacing(2.5), // 20px\n }}\n >\n <Tabs\n value={currentValue}\n onChange={handleTabChange}\n sx={{\n minHeight: \"32px\",\n backgroundColor: \"transparent\",\n overflow: \"visible\",\n \"& .MuiTabs-indicator\": {\n display: \"none\", // Hide the default indicator\n },\n \"& .MuiTabs-flexContainer\": {\n gap: 2,\n overflow: \"visible\",\n paddingTop: 0,\n paddingBottom: 0,\n },\n \"& .MuiTabs-scroller\": {\n overflow: \"visible !important\",\n },\n \"& .MuiTab-root\": {\n overflow: \"visible\",\n },\n }}\n >\n {items.map((item, index) => {\n // Helper functions for badge logic\n const getBadgeContent = () => {\n if (!item.badge) return undefined\n const content = item.badge.content\n const max = item.badge.max\n\n // Handle numeric content with max limit\n if (typeof content === \"number\" && max && content > max) {\n return `${max}+`\n }\n\n return content\n }\n\n const shouldShowBadge = () => {\n if (!item.badge) return false\n const content = item.badge.content\n const showZero = item.badge.showZero\n\n // If content is 0 and showZero is false, hide badge\n if (content === 0 && !showZero) return false\n\n return true\n }\n\n const badgeContent = getBadgeContent()\n const showBadge = shouldShowBadge()\n\n const handleTabClick = () => {\n if (!isControlled) {\n setUncontrolledActiveTab(index)\n }\n onTabChange?.(index)\n }\n\n const tab = (\n <Tab\n key={item.id}\n label={item.label}\n icon={item.icon}\n iconPosition=\"start\"\n disableRipple\n onClick={handleTabClick}\n sx={{\n minHeight: \"32px\",\n height: \"32px\",\n padding: \"0px 10px\",\n borderRadius: \"12px\",\n backgroundColor: (theme) =>\n theme.palette.backgroundPaperElevation?.[11] || \"#32344B\",\n color: \"text.primary\",\n opacity: currentValue === index ? 1 : 0.38,\n fontSize: \"13px\",\n transition: \"all 0.2s ease-in-out\",\n position: \"relative\",\n overflow: \"visible\",\n \"&:hover\": {\n opacity: currentValue === index ? 1 : 0.6,\n },\n \"&.Mui-selected\": {\n opacity: 1,\n backgroundColor: (theme) =>\n theme.palette.backgroundPaperElevation?.[11] ||\n \"#32344B\",\n color: \"text.primary\",\n },\n \"&:focus\": {\n outline: \"none\",\n },\n \"&:active\": {\n transform: \"none\",\n },\n }}\n />\n )\n\n if (!showBadge) {\n return tab\n }\n\n return (\n <TabWrapper\n key={item.id}\n component=\"span\"\n sx={{ display: \"inline-flex\" }}\n >\n <Badge\n badgeContent={badgeContent}\n color={item.badge?.color || \"error\"}\n max={item.badge?.max}\n showZero={item.badge?.showZero}\n anchorOrigin={{\n vertical: \"top\",\n horizontal: \"right\",\n }}\n overlap=\"rectangular\"\n sx={{\n \"& .MuiBadge-badge\": {\n // Ensure badge doesn't inherit tab opacity\n opacity: \"1 !important\",\n },\n }}\n >\n {tab}\n </Badge>\n </TabWrapper>\n )\n })}\n </Tabs>\n </Box>\n\n {/* Border line */}\n <Box\n sx={{\n mt: (theme) => theme.spacing(2),\n borderBottom: 1,\n borderColor: \"divider\",\n }}\n />\n\n {/* Tab Content */}\n <Box sx={{ flex: 1, overflow: \"auto\" }}>\n {items.map((item, index) => (\n <TabPanel key={item.id} value={currentValue} index={index}>\n {item.content}\n </TabPanel>\n ))}\n </Box>\n </Box>\n )\n }),\n)\n\nexport default TabBar\n"],"names":["TabPanel","props","children","value","index","other","jsx","Box","TabWrapper","fullWidth","indicator","onChange","orientation","scrollButtons","selectionFollowsFocus","textColor","variant","cleanProps","TabBar","externalizeComponent","observer","items","activeTab","defaultActiveTab","onTabChange","sx","ref","isControlled","uncontrolledActiveTab","setUncontrolledActiveTab","useState","currentValue","useEffect","handleTabChange","_event","newValue","jsxs","theme","Tabs","item","getBadgeContent","content","max","shouldShowBadge","showZero","badgeContent","showBadge","handleTabClick","tab","Tab","_a","Badge","_b","_c"],"mappings":"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"}
@@ -42,4 +42,5 @@ export interface TabBarProps {
42
42
  export declare const TabBar: ((props: TabBarProps) => import("react/jsx-runtime").JSX.Element) & {
43
43
  displayName: string;
44
44
  };
45
+ export default TabBar;
45
46
  //# sourceMappingURL=TabBar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TabBar.d.ts","sourceRoot":"","sources":["../../src/components/TabBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AASnD,MAAM,WAAW,OAAO;IACtB,oCAAoC;IACpC,EAAE,EAAE,MAAM,CAAA;IACV,6BAA6B;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,4CAA4C;IAC5C,OAAO,EAAE,KAAK,CAAC,SAAS,CAAA;IACxB,sDAAsD;IACtD,IAAI,CAAC,EAAE,KAAK,CAAC,YAAY,CAAA;IACzB,mCAAmC;IACnC,KAAK,CAAC,EAAE;QACN,uCAAuC;QACvC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAA;QACxB,0BAA0B;QAC1B,KAAK,CAAC,EACF,SAAS,GACT,SAAS,GACT,WAAW,GACX,OAAO,GACP,MAAM,GACN,SAAS,GACT,SAAS,CAAA;QACb,4CAA4C;QAC5C,GAAG,CAAC,EAAE,MAAM,CAAA;QACZ,2CAA2C;QAC3C,QAAQ,CAAC,EAAE,OAAO,CAAA;KACnB,CAAA;CACF;AAED,MAAM,WAAW,WAAW;IAC1B,oCAAoC;IACpC,KAAK,EAAE,OAAO,EAAE,CAAA;IAChB,kCAAkC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,+BAA+B;IAC/B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,gCAAgC;IAChC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACrC,yBAAyB;IACzB,EAAE,CAAC,EAAE,OAAO,CAAA;IACZ,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;CAChC;AAoDD;;;;GAIG;AACH,eAAO,MAAM,MAAM,WACA,WAAW;;CAqN7B,CAAA"}
1
+ {"version":3,"file":"TabBar.d.ts","sourceRoot":"","sources":["../../src/components/TabBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AASnD,MAAM,WAAW,OAAO;IACtB,oCAAoC;IACpC,EAAE,EAAE,MAAM,CAAA;IACV,6BAA6B;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,4CAA4C;IAC5C,OAAO,EAAE,KAAK,CAAC,SAAS,CAAA;IACxB,sDAAsD;IACtD,IAAI,CAAC,EAAE,KAAK,CAAC,YAAY,CAAA;IACzB,mCAAmC;IACnC,KAAK,CAAC,EAAE;QACN,uCAAuC;QACvC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAA;QACxB,0BAA0B;QAC1B,KAAK,CAAC,EACF,SAAS,GACT,SAAS,GACT,WAAW,GACX,OAAO,GACP,MAAM,GACN,SAAS,GACT,SAAS,CAAA;QACb,4CAA4C;QAC5C,GAAG,CAAC,EAAE,MAAM,CAAA;QACZ,2CAA2C;QAC3C,QAAQ,CAAC,EAAE,OAAO,CAAA;KACnB,CAAA;CACF;AAED,MAAM,WAAW,WAAW;IAC1B,oCAAoC;IACpC,KAAK,EAAE,OAAO,EAAE,CAAA;IAChB,kCAAkC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,+BAA+B;IAC/B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,gCAAgC;IAChC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACrC,yBAAyB;IACzB,EAAE,CAAC,EAAE,OAAO,CAAA;IACZ,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;CAChC;AAoDD;;;;GAIG;AACH,eAAO,MAAM,MAAM,WACA,WAAW;;CAqN7B,CAAA;AAED,eAAe,MAAM,CAAA"}