@wandelbots/wandelbots-js-react-components 5.5.0 → 5.5.1-pr.fix-standardize-output.591.0e6ee47

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (874) hide show
  1. package/dist/3d.cjs +1 -2
  2. package/dist/3d.d.ts +0 -1
  3. package/dist/3d.js +0 -1
  4. package/dist/Setup.d.ts +0 -1
  5. package/dist/chunks/JoggingPanel-CQH_oXTB.js +586 -0
  6. package/dist/chunks/JoggingPanel-DZN2Y39k.cjs +2 -0
  7. package/dist/chunks/controller-type-virtual-BuJWQOvV.cjs +1 -0
  8. package/dist/{components/safetyBar/icons/controller-type-physical.svg.js → chunks/controller-type-virtual-CWOoMRfl.js} +10 -6
  9. package/dist/chunks/externalizeComponent-DOwkaDcw.cjs +2 -0
  10. package/dist/chunks/externalizeComponent-eiCc5DIh.js +209 -0
  11. package/dist/chunks/jog-plus-CAUurv4S.js +15 -0
  12. package/dist/chunks/jog-plus-Dy1r7-r5.cjs +1 -0
  13. package/dist/chunks/operation-mode-manual-Di4Z1KM1.js +20 -0
  14. package/dist/chunks/operation-mode-manual-eHwVILeI.cjs +1 -0
  15. package/dist/chunks/robot-CrNbCELh.cjs +1 -0
  16. package/dist/{icons/robot.svg.js → chunks/robot-D97QEl_l.js} +2 -3
  17. package/dist/chunks/rotation-CIOAnn9q.cjs +1 -0
  18. package/dist/chunks/rotation-Dm5YL3NM.js +25 -0
  19. package/dist/chunks/safety-state-stop-Bg0VUsM4.js +30 -0
  20. package/dist/chunks/safety-state-stop-CNxVYiap.cjs +1 -0
  21. package/dist/chunks/theming-Chx_tewl.cjs +3 -0
  22. package/dist/chunks/theming-Cw6qwBM7.js +600 -0
  23. package/dist/chunks/wbLogo-CObCmqTw.js +30 -0
  24. package/dist/chunks/wbLogo-G_IfZ03l.cjs +1 -0
  25. package/dist/components/3d-viewport/CoordinateSystemTransform.cjs +1 -0
  26. package/dist/components/3d-viewport/CoordinateSystemTransform.d.ts +0 -1
  27. package/dist/components/3d-viewport/CoordinateSystemTransform.js +37 -0
  28. package/dist/components/3d-viewport/PresetEnvironment.cjs +0 -1
  29. package/dist/components/3d-viewport/PresetEnvironment.d.ts +0 -1
  30. package/dist/components/3d-viewport/PresetEnvironment.js +0 -1
  31. package/dist/components/3d-viewport/SafetyZonesRenderer.cjs +1 -2
  32. package/dist/components/3d-viewport/SafetyZonesRenderer.d.ts +0 -1
  33. package/dist/components/3d-viewport/SafetyZonesRenderer.js +0 -1
  34. package/dist/components/3d-viewport/TrajectoryRenderer.cjs +0 -1
  35. package/dist/components/3d-viewport/TrajectoryRenderer.d.ts +0 -1
  36. package/dist/components/3d-viewport/TrajectoryRenderer.js +0 -1
  37. package/dist/components/3d-viewport/collider/ColliderCollection.cjs +1 -2
  38. package/dist/components/3d-viewport/collider/ColliderCollection.d.ts +0 -1
  39. package/dist/components/3d-viewport/collider/ColliderCollection.js +0 -1
  40. package/dist/components/3d-viewport/collider/ColliderElement.cjs +1 -2
  41. package/dist/components/3d-viewport/collider/ColliderElement.d.ts +0 -1
  42. package/dist/components/3d-viewport/collider/ColliderElement.js +0 -1
  43. package/dist/components/3d-viewport/collider/CollisionSceneRenderer.cjs +1 -2
  44. package/dist/components/3d-viewport/collider/CollisionSceneRenderer.d.ts +0 -1
  45. package/dist/components/3d-viewport/collider/CollisionSceneRenderer.js +0 -1
  46. package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.cjs +0 -1
  47. package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.d.ts +0 -1
  48. package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.js +0 -1
  49. package/dist/components/AppHeader.cjs +1 -2
  50. package/dist/components/AppHeader.d.ts +0 -1
  51. package/dist/components/AppHeader.js +40 -34
  52. package/dist/components/ConsoleFilter.cjs +0 -1
  53. package/dist/components/ConsoleFilter.d.ts +0 -1
  54. package/dist/components/ConsoleFilter.js +0 -1
  55. package/dist/components/CopyableText.cjs +0 -1
  56. package/dist/components/CopyableText.d.ts +0 -1
  57. package/dist/components/CopyableText.js +0 -1
  58. package/dist/components/CycleTimer/CycleTimer.cjs +1 -0
  59. package/dist/components/CycleTimer/CycleTimer.d.ts +0 -1
  60. package/dist/components/CycleTimer/CycleTimer.js +5 -0
  61. package/dist/components/CycleTimer/DefaultVariant.cjs +1 -2
  62. package/dist/components/CycleTimer/DefaultVariant.d.ts +0 -1
  63. package/dist/components/CycleTimer/DefaultVariant.js +0 -1
  64. package/dist/components/CycleTimer/SmallVariant.cjs +0 -1
  65. package/dist/components/CycleTimer/SmallVariant.d.ts +0 -1
  66. package/dist/components/CycleTimer/SmallVariant.js +0 -1
  67. package/dist/components/CycleTimer/index.cjs +1 -2
  68. package/dist/components/CycleTimer/index.d.ts +0 -1
  69. package/dist/components/CycleTimer/index.js +1 -2
  70. package/dist/components/CycleTimer/types.cjs +1 -0
  71. package/dist/components/CycleTimer/types.d.ts +0 -1
  72. package/dist/components/CycleTimer/types.js +1 -0
  73. package/dist/components/CycleTimer/useAnimations.cjs +0 -1
  74. package/dist/components/CycleTimer/useAnimations.d.ts +0 -1
  75. package/dist/components/CycleTimer/useAnimations.js +9 -2
  76. package/dist/components/CycleTimer/useTimerLogic.cjs +1 -2
  77. package/dist/components/CycleTimer/useTimerLogic.d.ts +0 -1
  78. package/dist/components/CycleTimer/useTimerLogic.js +0 -1
  79. package/dist/components/CycleTimer/utils.cjs +1 -2
  80. package/dist/components/CycleTimer/utils.d.ts +0 -1
  81. package/dist/components/CycleTimer/utils.js +19 -11
  82. package/dist/components/CycleTimer.cjs +0 -1
  83. package/dist/components/CycleTimer.d.ts +0 -1
  84. package/dist/components/CycleTimer.js +0 -1
  85. package/dist/components/DataGrid.cjs +1 -2
  86. package/dist/components/DataGrid.d.ts +0 -1
  87. package/dist/components/DataGrid.js +1 -2
  88. package/dist/components/LoadingCover.cjs +1 -2
  89. package/dist/components/LoadingCover.d.ts +0 -1
  90. package/dist/components/LoadingCover.js +0 -1
  91. package/dist/components/LogPanel.cjs +1 -2
  92. package/dist/components/LogPanel.d.ts +0 -1
  93. package/dist/components/LogPanel.js +1 -2
  94. package/dist/components/LogStore.cjs +0 -1
  95. package/dist/components/LogStore.d.ts +0 -1
  96. package/dist/components/LogStore.js +0 -1
  97. package/dist/components/LogViewer.cjs +1 -2
  98. package/dist/components/LogViewer.d.ts +0 -1
  99. package/dist/components/LogViewer.js +1 -2
  100. package/dist/components/ProgramControl.cjs +1 -2
  101. package/dist/components/ProgramControl.d.ts +0 -1
  102. package/dist/components/ProgramControl.js +6 -7
  103. package/dist/components/ProgramStateIndicator.cjs +1 -2
  104. package/dist/components/ProgramStateIndicator.d.ts +0 -1
  105. package/dist/components/ProgramStateIndicator.js +28 -29
  106. package/dist/components/RobotCard.cjs +1 -2
  107. package/dist/components/RobotCard.d.ts +0 -1
  108. package/dist/components/RobotCard.js +1 -2
  109. package/dist/components/RobotListItem.cjs +1 -2
  110. package/dist/components/RobotListItem.d.ts +0 -1
  111. package/dist/components/RobotListItem.js +25 -26
  112. package/dist/components/RobotSetupReadinessIndicator.cjs +1 -2
  113. package/dist/components/RobotSetupReadinessIndicator.d.ts +0 -1
  114. package/dist/components/RobotSetupReadinessIndicator.js +1 -2
  115. package/dist/components/SelectableFab.cjs +0 -1
  116. package/dist/components/SelectableFab.d.ts +0 -1
  117. package/dist/components/SelectableFab.js +0 -1
  118. package/dist/components/TabBar.cjs +1 -2
  119. package/dist/components/TabBar.d.ts +0 -1
  120. package/dist/components/TabBar.js +1 -2
  121. package/dist/components/ThemeSelect.cjs +1 -0
  122. package/dist/components/ThemeSelect.d.ts +0 -1
  123. package/dist/components/ThemeSelect.js +38 -0
  124. package/dist/components/Timer/Timer.cjs +1 -0
  125. package/dist/components/Timer/Timer.d.ts +0 -1
  126. package/dist/components/Timer/Timer.js +5 -0
  127. package/dist/components/Timer/TimerDefaultVariant.cjs +0 -1
  128. package/dist/components/Timer/TimerDefaultVariant.d.ts +0 -1
  129. package/dist/components/Timer/TimerDefaultVariant.js +0 -1
  130. package/dist/components/Timer/TimerSmallVariant.cjs +0 -1
  131. package/dist/components/Timer/TimerSmallVariant.d.ts +0 -1
  132. package/dist/components/Timer/TimerSmallVariant.js +0 -1
  133. package/dist/components/Timer/index.cjs +1 -2
  134. package/dist/components/Timer/index.d.ts +0 -1
  135. package/dist/components/Timer/index.js +11 -12
  136. package/dist/components/Timer/types.cjs +1 -0
  137. package/dist/components/Timer/types.d.ts +0 -1
  138. package/dist/components/Timer/types.js +1 -0
  139. package/dist/components/Timer/useTimerAnimations.cjs +0 -1
  140. package/dist/components/Timer/useTimerAnimations.d.ts +0 -1
  141. package/dist/components/Timer/useTimerAnimations.js +5 -2
  142. package/dist/components/Timer/useTimerLogic.cjs +0 -1
  143. package/dist/components/Timer/useTimerLogic.d.ts +0 -1
  144. package/dist/components/Timer/useTimerLogic.js +0 -1
  145. package/dist/components/Timer/utils.cjs +1 -2
  146. package/dist/components/Timer/utils.d.ts +0 -1
  147. package/dist/components/Timer/utils.js +10 -10
  148. package/dist/components/Timer.cjs +0 -1
  149. package/dist/components/Timer.d.ts +0 -1
  150. package/dist/components/Timer.js +0 -1
  151. package/dist/components/TransparentOverlay.cjs +1 -0
  152. package/dist/components/TransparentOverlay.d.ts +0 -1
  153. package/dist/components/TransparentOverlay.js +26 -0
  154. package/dist/components/VelocitySlider.cjs +1 -2
  155. package/dist/components/VelocitySlider.d.ts +0 -1
  156. package/dist/components/VelocitySlider.js +8 -9
  157. package/dist/components/experimental/utils/AdornedSelect.cjs +0 -1
  158. package/dist/components/experimental/utils/AdornedSelect.d.ts +0 -1
  159. package/dist/components/experimental/utils/AdornedSelect.js +0 -1
  160. package/dist/components/jogging/JoggingBlocked.cjs +0 -1
  161. package/dist/components/jogging/JoggingBlocked.d.ts +0 -1
  162. package/dist/components/jogging/JoggingBlocked.js +0 -1
  163. package/dist/components/jogging/JoggingCartesianAxisControl.cjs +1 -2
  164. package/dist/components/jogging/JoggingCartesianAxisControl.d.ts +0 -1
  165. package/dist/components/jogging/JoggingCartesianAxisControl.js +18 -20
  166. package/dist/components/jogging/JoggingCartesianTab.cjs +1 -2
  167. package/dist/components/jogging/JoggingCartesianTab.d.ts +0 -1
  168. package/dist/components/jogging/JoggingCartesianTab.js +37 -41
  169. package/dist/components/jogging/JoggingFreedriveTab.cjs +1 -0
  170. package/dist/components/jogging/JoggingFreedriveTab.d.ts +0 -1
  171. package/dist/components/jogging/JoggingFreedriveTab.js +6 -0
  172. package/dist/components/jogging/JoggingJointLimitDetector.cjs +1 -2
  173. package/dist/components/jogging/JoggingJointLimitDetector.d.ts +0 -1
  174. package/dist/components/jogging/JoggingJointLimitDetector.js +4 -5
  175. package/dist/components/jogging/JoggingJointTab.cjs +1 -2
  176. package/dist/components/jogging/JoggingJointTab.d.ts +0 -1
  177. package/dist/components/jogging/JoggingJointTab.js +0 -1
  178. package/dist/components/jogging/JoggingJointValueControl.cjs +1 -2
  179. package/dist/components/jogging/JoggingJointValueControl.d.ts +0 -1
  180. package/dist/components/jogging/JoggingJointValueControl.js +7 -8
  181. package/dist/components/jogging/JoggingOptions.cjs +1 -2
  182. package/dist/components/jogging/JoggingOptions.d.ts +0 -1
  183. package/dist/components/jogging/JoggingOptions.js +0 -1
  184. package/dist/components/jogging/JoggingPanel.cjs +1 -2
  185. package/dist/components/jogging/JoggingPanel.d.ts +0 -1
  186. package/dist/components/jogging/JoggingPanel.js +21 -119
  187. package/dist/components/jogging/JoggingStore.cjs +1 -2
  188. package/dist/components/jogging/JoggingStore.d.ts +0 -1
  189. package/dist/components/jogging/JoggingStore.js +2 -3
  190. package/dist/components/jogging/JoggingToggleButtonGroup.cjs +0 -1
  191. package/dist/components/jogging/JoggingToggleButtonGroup.d.ts +0 -1
  192. package/dist/components/jogging/JoggingToggleButtonGroup.js +0 -1
  193. package/dist/components/jogging/JoggingVelocitySlider.cjs +0 -1
  194. package/dist/components/jogging/JoggingVelocitySlider.d.ts +0 -1
  195. package/dist/components/jogging/JoggingVelocitySlider.js +0 -1
  196. package/dist/components/jogging/PoseCartesianValues.cjs +1 -2
  197. package/dist/components/jogging/PoseCartesianValues.d.ts +0 -1
  198. package/dist/components/jogging/PoseCartesianValues.js +4 -5
  199. package/dist/components/jogging/PoseJointValues.cjs +1 -2
  200. package/dist/components/jogging/PoseJointValues.d.ts +0 -1
  201. package/dist/components/jogging/PoseJointValues.js +1 -2
  202. package/dist/components/modal/NoMotionGroupModal.cjs +0 -1
  203. package/dist/components/modal/NoMotionGroupModal.d.ts +0 -1
  204. package/dist/components/modal/NoMotionGroupModal.js +0 -1
  205. package/dist/components/robots/AxisConfig.cjs +0 -1
  206. package/dist/components/robots/AxisConfig.d.ts +0 -1
  207. package/dist/components/robots/AxisConfig.js +0 -1
  208. package/dist/components/robots/DHLinearAxis.cjs +1 -2
  209. package/dist/components/robots/DHLinearAxis.d.ts +0 -1
  210. package/dist/components/robots/DHLinearAxis.js +0 -1
  211. package/dist/components/robots/DHRobot.cjs +1 -2
  212. package/dist/components/robots/DHRobot.d.ts +0 -1
  213. package/dist/components/robots/DHRobot.js +0 -1
  214. package/dist/components/robots/GenericRobot.cjs +0 -1
  215. package/dist/components/robots/GenericRobot.d.ts +0 -1
  216. package/dist/components/robots/GenericRobot.js +0 -1
  217. package/dist/components/robots/LinearAxis.cjs +1 -2
  218. package/dist/components/robots/LinearAxis.d.ts +0 -1
  219. package/dist/components/robots/LinearAxis.js +0 -1
  220. package/dist/components/robots/LinearAxisAnimator.cjs +1 -2
  221. package/dist/components/robots/LinearAxisAnimator.d.ts +0 -1
  222. package/dist/components/robots/LinearAxisAnimator.js +0 -1
  223. package/dist/components/robots/MotionGroupVisualizer.cjs +1 -2
  224. package/dist/components/robots/MotionGroupVisualizer.d.ts +0 -1
  225. package/dist/components/robots/MotionGroupVisualizer.js +4 -5
  226. package/dist/components/robots/Robot.cjs +1 -2
  227. package/dist/components/robots/Robot.d.ts +0 -1
  228. package/dist/components/robots/Robot.js +0 -1
  229. package/dist/components/robots/RobotAnimator.cjs +1 -2
  230. package/dist/components/robots/RobotAnimator.d.ts +0 -1
  231. package/dist/components/robots/RobotAnimator.js +0 -1
  232. package/dist/components/robots/SupportedLinearAxis.cjs +1 -2
  233. package/dist/components/robots/SupportedLinearAxis.d.ts +0 -1
  234. package/dist/components/robots/SupportedLinearAxis.js +7 -8
  235. package/dist/components/robots/SupportedRobot.cjs +1 -2
  236. package/dist/components/robots/SupportedRobot.d.ts +0 -1
  237. package/dist/components/robots/SupportedRobot.js +6 -7
  238. package/dist/components/robots/ghostStyle.cjs +0 -1
  239. package/dist/components/robots/ghostStyle.d.ts +0 -1
  240. package/dist/components/robots/ghostStyle.js +0 -1
  241. package/dist/components/robots/manufacturerHomePositions.cjs +0 -1
  242. package/dist/components/robots/manufacturerHomePositions.d.ts +0 -1
  243. package/dist/components/robots/manufacturerHomePositions.js +0 -1
  244. package/dist/components/robots/robotModelLogic.cjs +1 -2
  245. package/dist/components/robots/robotModelLogic.d.ts +0 -1
  246. package/dist/components/robots/robotModelLogic.js +58 -34
  247. package/dist/components/safetyBar/ControllerTypeIndicator.cjs +1 -2
  248. package/dist/components/safetyBar/ControllerTypeIndicator.d.ts +0 -1
  249. package/dist/components/safetyBar/ControllerTypeIndicator.js +10 -12
  250. package/dist/components/safetyBar/IndicatorWithExplanation.cjs +0 -1
  251. package/dist/components/safetyBar/IndicatorWithExplanation.d.ts +0 -1
  252. package/dist/components/safetyBar/IndicatorWithExplanation.js +0 -1
  253. package/dist/components/safetyBar/OperationModeIndicator.cjs +1 -2
  254. package/dist/components/safetyBar/OperationModeIndicator.d.ts +0 -1
  255. package/dist/components/safetyBar/OperationModeIndicator.js +21 -24
  256. package/dist/components/safetyBar/SafetyBar.cjs +1 -2
  257. package/dist/components/safetyBar/SafetyBar.d.ts +0 -1
  258. package/dist/components/safetyBar/SafetyBar.js +15 -16
  259. package/dist/components/safetyBar/SafetyStateIndicator.cjs +1 -2
  260. package/dist/components/safetyBar/SafetyStateIndicator.d.ts +0 -1
  261. package/dist/components/safetyBar/SafetyStateIndicator.js +25 -30
  262. package/dist/components/safetyBar/icons/index.cjs +1 -0
  263. package/dist/components/safetyBar/icons/index.d.ts +0 -1
  264. package/dist/components/safetyBar/icons/index.js +15 -0
  265. package/dist/components/utils/converters.cjs +1 -2
  266. package/dist/components/utils/converters.d.ts +0 -1
  267. package/dist/components/utils/converters.js +26 -11
  268. package/dist/components/utils/errorHandling.cjs +1 -2
  269. package/dist/components/utils/errorHandling.d.ts +0 -1
  270. package/dist/components/utils/errorHandling.js +17 -9
  271. package/dist/components/utils/hooks.cjs +0 -1
  272. package/dist/components/utils/hooks.d.ts +0 -1
  273. package/dist/components/utils/hooks.js +3 -4
  274. package/dist/components/utils/interpolation.cjs +0 -1
  275. package/dist/components/utils/interpolation.d.ts +0 -1
  276. package/dist/components/utils/interpolation.js +0 -1
  277. package/dist/core.cjs +1 -2
  278. package/dist/core.d.ts +0 -1
  279. package/dist/core.js +70 -75
  280. package/dist/externalizeComponent.d.ts +0 -1
  281. package/dist/i18n/config.d.ts +0 -1
  282. package/dist/icons/DropdownArrowIcon.d.ts +0 -1
  283. package/dist/icons/index.d.ts +0 -1
  284. package/dist/index.cjs +1 -2
  285. package/dist/index.d.ts +0 -1
  286. package/dist/index.js +120 -140
  287. package/dist/lib/ConnectedMotionGroup.d.ts +0 -1
  288. package/dist/lib/JoggerConnection.d.ts +0 -1
  289. package/dist/lib/MotionStreamConnection.d.ts +0 -1
  290. package/dist/lib/motionStateUpdate.d.ts +0 -1
  291. package/dist/themes/createDarkTheme.d.ts +0 -1
  292. package/dist/themes/createLightTheme.d.ts +0 -1
  293. package/dist/themes/themeTypes.d.ts +0 -1
  294. package/dist/themes/theming.d.ts +0 -1
  295. package/dist/wb-icons.cjs +1 -2
  296. package/dist/wb-icons.d.ts +0 -1
  297. package/dist/wb-icons.js +28 -44
  298. package/package.json +5 -6
  299. package/dist/3d.cjs.map +0 -1
  300. package/dist/3d.d.ts.map +0 -1
  301. package/dist/3d.js.map +0 -1
  302. package/dist/Setup.d.ts.map +0 -1
  303. package/dist/components/3d-viewport/CoordinateSystemTransform.d.ts.map +0 -1
  304. package/dist/components/3d-viewport/PresetEnvironment.cjs.map +0 -1
  305. package/dist/components/3d-viewport/PresetEnvironment.d.ts.map +0 -1
  306. package/dist/components/3d-viewport/PresetEnvironment.js.map +0 -1
  307. package/dist/components/3d-viewport/SafetyZonesRenderer.cjs.map +0 -1
  308. package/dist/components/3d-viewport/SafetyZonesRenderer.d.ts.map +0 -1
  309. package/dist/components/3d-viewport/SafetyZonesRenderer.js.map +0 -1
  310. package/dist/components/3d-viewport/TrajectoryRenderer.cjs.map +0 -1
  311. package/dist/components/3d-viewport/TrajectoryRenderer.d.ts.map +0 -1
  312. package/dist/components/3d-viewport/TrajectoryRenderer.js.map +0 -1
  313. package/dist/components/3d-viewport/collider/ColliderCollection.cjs.map +0 -1
  314. package/dist/components/3d-viewport/collider/ColliderCollection.d.ts.map +0 -1
  315. package/dist/components/3d-viewport/collider/ColliderCollection.js.map +0 -1
  316. package/dist/components/3d-viewport/collider/ColliderElement.cjs.map +0 -1
  317. package/dist/components/3d-viewport/collider/ColliderElement.d.ts.map +0 -1
  318. package/dist/components/3d-viewport/collider/ColliderElement.js.map +0 -1
  319. package/dist/components/3d-viewport/collider/CollisionSceneRenderer.cjs.map +0 -1
  320. package/dist/components/3d-viewport/collider/CollisionSceneRenderer.d.ts.map +0 -1
  321. package/dist/components/3d-viewport/collider/CollisionSceneRenderer.js.map +0 -1
  322. package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.cjs.map +0 -1
  323. package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.d.ts.map +0 -1
  324. package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.js.map +0 -1
  325. package/dist/components/AppHeader.cjs.map +0 -1
  326. package/dist/components/AppHeader.d.ts.map +0 -1
  327. package/dist/components/AppHeader.js.map +0 -1
  328. package/dist/components/ConsoleFilter.cjs.map +0 -1
  329. package/dist/components/ConsoleFilter.d.ts.map +0 -1
  330. package/dist/components/ConsoleFilter.js.map +0 -1
  331. package/dist/components/CopyableText.cjs.map +0 -1
  332. package/dist/components/CopyableText.d.ts.map +0 -1
  333. package/dist/components/CopyableText.js.map +0 -1
  334. package/dist/components/CycleTimer/CycleTimer.d.ts.map +0 -1
  335. package/dist/components/CycleTimer/DefaultVariant.cjs.map +0 -1
  336. package/dist/components/CycleTimer/DefaultVariant.d.ts.map +0 -1
  337. package/dist/components/CycleTimer/DefaultVariant.js.map +0 -1
  338. package/dist/components/CycleTimer/SmallVariant.cjs.map +0 -1
  339. package/dist/components/CycleTimer/SmallVariant.d.ts.map +0 -1
  340. package/dist/components/CycleTimer/SmallVariant.js.map +0 -1
  341. package/dist/components/CycleTimer/index.cjs.map +0 -1
  342. package/dist/components/CycleTimer/index.d.ts.map +0 -1
  343. package/dist/components/CycleTimer/index.js.map +0 -1
  344. package/dist/components/CycleTimer/types.d.ts.map +0 -1
  345. package/dist/components/CycleTimer/useAnimations.cjs.map +0 -1
  346. package/dist/components/CycleTimer/useAnimations.d.ts.map +0 -1
  347. package/dist/components/CycleTimer/useAnimations.js.map +0 -1
  348. package/dist/components/CycleTimer/useTimerLogic.cjs.map +0 -1
  349. package/dist/components/CycleTimer/useTimerLogic.d.ts.map +0 -1
  350. package/dist/components/CycleTimer/useTimerLogic.js.map +0 -1
  351. package/dist/components/CycleTimer/utils.cjs.map +0 -1
  352. package/dist/components/CycleTimer/utils.d.ts.map +0 -1
  353. package/dist/components/CycleTimer/utils.js.map +0 -1
  354. package/dist/components/CycleTimer.cjs.map +0 -1
  355. package/dist/components/CycleTimer.d.ts.map +0 -1
  356. package/dist/components/CycleTimer.js.map +0 -1
  357. package/dist/components/DataGrid.cjs.map +0 -1
  358. package/dist/components/DataGrid.d.ts.map +0 -1
  359. package/dist/components/DataGrid.js.map +0 -1
  360. package/dist/components/LoadingCover.cjs.map +0 -1
  361. package/dist/components/LoadingCover.d.ts.map +0 -1
  362. package/dist/components/LoadingCover.js.map +0 -1
  363. package/dist/components/LogPanel.cjs.map +0 -1
  364. package/dist/components/LogPanel.d.ts.map +0 -1
  365. package/dist/components/LogPanel.js.map +0 -1
  366. package/dist/components/LogStore.cjs.map +0 -1
  367. package/dist/components/LogStore.d.ts.map +0 -1
  368. package/dist/components/LogStore.js.map +0 -1
  369. package/dist/components/LogViewer.cjs.map +0 -1
  370. package/dist/components/LogViewer.d.ts.map +0 -1
  371. package/dist/components/LogViewer.js.map +0 -1
  372. package/dist/components/ProgramControl.cjs.map +0 -1
  373. package/dist/components/ProgramControl.d.ts.map +0 -1
  374. package/dist/components/ProgramControl.js.map +0 -1
  375. package/dist/components/ProgramStateIndicator.cjs.map +0 -1
  376. package/dist/components/ProgramStateIndicator.d.ts.map +0 -1
  377. package/dist/components/ProgramStateIndicator.js.map +0 -1
  378. package/dist/components/RobotCard.cjs.map +0 -1
  379. package/dist/components/RobotCard.d.ts.map +0 -1
  380. package/dist/components/RobotCard.js.map +0 -1
  381. package/dist/components/RobotListItem.cjs.map +0 -1
  382. package/dist/components/RobotListItem.d.ts.map +0 -1
  383. package/dist/components/RobotListItem.js.map +0 -1
  384. package/dist/components/RobotSetupReadinessIndicator.cjs.map +0 -1
  385. package/dist/components/RobotSetupReadinessIndicator.d.ts.map +0 -1
  386. package/dist/components/RobotSetupReadinessIndicator.js.map +0 -1
  387. package/dist/components/RobotSetupReadinessIndicator.test.d.ts +0 -2
  388. package/dist/components/RobotSetupReadinessIndicator.test.d.ts.map +0 -1
  389. package/dist/components/SelectableFab.cjs.map +0 -1
  390. package/dist/components/SelectableFab.d.ts.map +0 -1
  391. package/dist/components/SelectableFab.js.map +0 -1
  392. package/dist/components/TabBar.cjs.map +0 -1
  393. package/dist/components/TabBar.d.ts.map +0 -1
  394. package/dist/components/TabBar.js.map +0 -1
  395. package/dist/components/ThemeSelect.d.ts.map +0 -1
  396. package/dist/components/Timer/Timer.d.ts.map +0 -1
  397. package/dist/components/Timer/TimerDefaultVariant.cjs.map +0 -1
  398. package/dist/components/Timer/TimerDefaultVariant.d.ts.map +0 -1
  399. package/dist/components/Timer/TimerDefaultVariant.js.map +0 -1
  400. package/dist/components/Timer/TimerSmallVariant.cjs.map +0 -1
  401. package/dist/components/Timer/TimerSmallVariant.d.ts.map +0 -1
  402. package/dist/components/Timer/TimerSmallVariant.js.map +0 -1
  403. package/dist/components/Timer/index.cjs.map +0 -1
  404. package/dist/components/Timer/index.d.ts.map +0 -1
  405. package/dist/components/Timer/index.js.map +0 -1
  406. package/dist/components/Timer/types.d.ts.map +0 -1
  407. package/dist/components/Timer/useTimerAnimations.cjs.map +0 -1
  408. package/dist/components/Timer/useTimerAnimations.d.ts.map +0 -1
  409. package/dist/components/Timer/useTimerAnimations.js.map +0 -1
  410. package/dist/components/Timer/useTimerLogic.cjs.map +0 -1
  411. package/dist/components/Timer/useTimerLogic.d.ts.map +0 -1
  412. package/dist/components/Timer/useTimerLogic.js.map +0 -1
  413. package/dist/components/Timer/utils.cjs.map +0 -1
  414. package/dist/components/Timer/utils.d.ts.map +0 -1
  415. package/dist/components/Timer/utils.js.map +0 -1
  416. package/dist/components/Timer.cjs.map +0 -1
  417. package/dist/components/Timer.d.ts.map +0 -1
  418. package/dist/components/Timer.js.map +0 -1
  419. package/dist/components/TransparentOverlay.d.ts.map +0 -1
  420. package/dist/components/VelocitySlider.cjs.map +0 -1
  421. package/dist/components/VelocitySlider.d.ts.map +0 -1
  422. package/dist/components/VelocitySlider.js.map +0 -1
  423. package/dist/components/experimental/utils/AdornedSelect.cjs.map +0 -1
  424. package/dist/components/experimental/utils/AdornedSelect.d.ts.map +0 -1
  425. package/dist/components/experimental/utils/AdornedSelect.js.map +0 -1
  426. package/dist/components/jogging/JoggingBlocked.cjs.map +0 -1
  427. package/dist/components/jogging/JoggingBlocked.d.ts.map +0 -1
  428. package/dist/components/jogging/JoggingBlocked.js.map +0 -1
  429. package/dist/components/jogging/JoggingCartesianAxisControl.cjs.map +0 -1
  430. package/dist/components/jogging/JoggingCartesianAxisControl.d.ts.map +0 -1
  431. package/dist/components/jogging/JoggingCartesianAxisControl.js.map +0 -1
  432. package/dist/components/jogging/JoggingCartesianTab.cjs.map +0 -1
  433. package/dist/components/jogging/JoggingCartesianTab.d.ts.map +0 -1
  434. package/dist/components/jogging/JoggingCartesianTab.js.map +0 -1
  435. package/dist/components/jogging/JoggingFreedriveTab.d.ts.map +0 -1
  436. package/dist/components/jogging/JoggingJointLimitDetector.cjs.map +0 -1
  437. package/dist/components/jogging/JoggingJointLimitDetector.d.ts.map +0 -1
  438. package/dist/components/jogging/JoggingJointLimitDetector.js.map +0 -1
  439. package/dist/components/jogging/JoggingJointTab.cjs.map +0 -1
  440. package/dist/components/jogging/JoggingJointTab.d.ts.map +0 -1
  441. package/dist/components/jogging/JoggingJointTab.js.map +0 -1
  442. package/dist/components/jogging/JoggingJointValueControl.cjs.map +0 -1
  443. package/dist/components/jogging/JoggingJointValueControl.d.ts.map +0 -1
  444. package/dist/components/jogging/JoggingJointValueControl.js.map +0 -1
  445. package/dist/components/jogging/JoggingOptions.cjs.map +0 -1
  446. package/dist/components/jogging/JoggingOptions.d.ts.map +0 -1
  447. package/dist/components/jogging/JoggingOptions.js.map +0 -1
  448. package/dist/components/jogging/JoggingPanel.cjs.map +0 -1
  449. package/dist/components/jogging/JoggingPanel.d.ts.map +0 -1
  450. package/dist/components/jogging/JoggingPanel.js.map +0 -1
  451. package/dist/components/jogging/JoggingPanel.test.d.ts +0 -2
  452. package/dist/components/jogging/JoggingPanel.test.d.ts.map +0 -1
  453. package/dist/components/jogging/JoggingStore.cjs.map +0 -1
  454. package/dist/components/jogging/JoggingStore.d.ts.map +0 -1
  455. package/dist/components/jogging/JoggingStore.js.map +0 -1
  456. package/dist/components/jogging/JoggingToggleButtonGroup.cjs.map +0 -1
  457. package/dist/components/jogging/JoggingToggleButtonGroup.d.ts.map +0 -1
  458. package/dist/components/jogging/JoggingToggleButtonGroup.js.map +0 -1
  459. package/dist/components/jogging/JoggingVelocitySlider.cjs.map +0 -1
  460. package/dist/components/jogging/JoggingVelocitySlider.d.ts.map +0 -1
  461. package/dist/components/jogging/JoggingVelocitySlider.js.map +0 -1
  462. package/dist/components/jogging/PoseCartesianValues.cjs.map +0 -1
  463. package/dist/components/jogging/PoseCartesianValues.d.ts.map +0 -1
  464. package/dist/components/jogging/PoseCartesianValues.js.map +0 -1
  465. package/dist/components/jogging/PoseJointValues.cjs.map +0 -1
  466. package/dist/components/jogging/PoseJointValues.d.ts.map +0 -1
  467. package/dist/components/jogging/PoseJointValues.js.map +0 -1
  468. package/dist/components/jogging/__fixtures__/motionStreamMockData.d.ts +0 -11
  469. package/dist/components/jogging/__fixtures__/motionStreamMockData.d.ts.map +0 -1
  470. package/dist/components/modal/NoMotionGroupModal.cjs.map +0 -1
  471. package/dist/components/modal/NoMotionGroupModal.d.ts.map +0 -1
  472. package/dist/components/modal/NoMotionGroupModal.js.map +0 -1
  473. package/dist/components/robots/AxisConfig.cjs.map +0 -1
  474. package/dist/components/robots/AxisConfig.d.ts.map +0 -1
  475. package/dist/components/robots/AxisConfig.js.map +0 -1
  476. package/dist/components/robots/DHLinearAxis.cjs.map +0 -1
  477. package/dist/components/robots/DHLinearAxis.d.ts.map +0 -1
  478. package/dist/components/robots/DHLinearAxis.js.map +0 -1
  479. package/dist/components/robots/DHRobot.cjs.map +0 -1
  480. package/dist/components/robots/DHRobot.d.ts.map +0 -1
  481. package/dist/components/robots/DHRobot.js.map +0 -1
  482. package/dist/components/robots/GenericRobot.cjs.map +0 -1
  483. package/dist/components/robots/GenericRobot.d.ts.map +0 -1
  484. package/dist/components/robots/GenericRobot.js.map +0 -1
  485. package/dist/components/robots/LinearAxis.cjs.map +0 -1
  486. package/dist/components/robots/LinearAxis.d.ts.map +0 -1
  487. package/dist/components/robots/LinearAxis.js.map +0 -1
  488. package/dist/components/robots/LinearAxisAnimator.cjs.map +0 -1
  489. package/dist/components/robots/LinearAxisAnimator.d.ts.map +0 -1
  490. package/dist/components/robots/LinearAxisAnimator.js.map +0 -1
  491. package/dist/components/robots/MotionGroupVisualizer.cjs.map +0 -1
  492. package/dist/components/robots/MotionGroupVisualizer.d.ts.map +0 -1
  493. package/dist/components/robots/MotionGroupVisualizer.js.map +0 -1
  494. package/dist/components/robots/Robot.cjs.map +0 -1
  495. package/dist/components/robots/Robot.d.ts.map +0 -1
  496. package/dist/components/robots/Robot.js.map +0 -1
  497. package/dist/components/robots/RobotAnimator.cjs.map +0 -1
  498. package/dist/components/robots/RobotAnimator.d.ts.map +0 -1
  499. package/dist/components/robots/RobotAnimator.js.map +0 -1
  500. package/dist/components/robots/RobotAnimator.test.d.ts +0 -2
  501. package/dist/components/robots/RobotAnimator.test.d.ts.map +0 -1
  502. package/dist/components/robots/SupportedLinearAxis.cjs.map +0 -1
  503. package/dist/components/robots/SupportedLinearAxis.d.ts.map +0 -1
  504. package/dist/components/robots/SupportedLinearAxis.js.map +0 -1
  505. package/dist/components/robots/SupportedRobot.cjs.map +0 -1
  506. package/dist/components/robots/SupportedRobot.d.ts.map +0 -1
  507. package/dist/components/robots/SupportedRobot.js.map +0 -1
  508. package/dist/components/robots/ghostStyle.cjs.map +0 -1
  509. package/dist/components/robots/ghostStyle.d.ts.map +0 -1
  510. package/dist/components/robots/ghostStyle.js.map +0 -1
  511. package/dist/components/robots/manufacturerHomePositions.cjs.map +0 -1
  512. package/dist/components/robots/manufacturerHomePositions.d.ts.map +0 -1
  513. package/dist/components/robots/manufacturerHomePositions.js.map +0 -1
  514. package/dist/components/robots/robotModelLogic.cjs.map +0 -1
  515. package/dist/components/robots/robotModelLogic.d.ts.map +0 -1
  516. package/dist/components/robots/robotModelLogic.js.map +0 -1
  517. package/dist/components/safetyBar/ControllerTypeIndicator.cjs.map +0 -1
  518. package/dist/components/safetyBar/ControllerTypeIndicator.d.ts.map +0 -1
  519. package/dist/components/safetyBar/ControllerTypeIndicator.js.map +0 -1
  520. package/dist/components/safetyBar/IndicatorWithExplanation.cjs.map +0 -1
  521. package/dist/components/safetyBar/IndicatorWithExplanation.d.ts.map +0 -1
  522. package/dist/components/safetyBar/IndicatorWithExplanation.js.map +0 -1
  523. package/dist/components/safetyBar/OperationModeIndicator.cjs.map +0 -1
  524. package/dist/components/safetyBar/OperationModeIndicator.d.ts.map +0 -1
  525. package/dist/components/safetyBar/OperationModeIndicator.js.map +0 -1
  526. package/dist/components/safetyBar/SafetyBar.cjs.map +0 -1
  527. package/dist/components/safetyBar/SafetyBar.d.ts.map +0 -1
  528. package/dist/components/safetyBar/SafetyBar.js.map +0 -1
  529. package/dist/components/safetyBar/SafetyStateIndicator.cjs.map +0 -1
  530. package/dist/components/safetyBar/SafetyStateIndicator.d.ts.map +0 -1
  531. package/dist/components/safetyBar/SafetyStateIndicator.js.map +0 -1
  532. package/dist/components/safetyBar/icons/controller-type-physical.svg.cjs +0 -2
  533. package/dist/components/safetyBar/icons/controller-type-physical.svg.cjs.map +0 -1
  534. package/dist/components/safetyBar/icons/controller-type-physical.svg.d.ts +0 -3
  535. package/dist/components/safetyBar/icons/controller-type-physical.svg.js.map +0 -1
  536. package/dist/components/safetyBar/icons/controller-type-virtual.svg.cjs +0 -2
  537. package/dist/components/safetyBar/icons/controller-type-virtual.svg.cjs.map +0 -1
  538. package/dist/components/safetyBar/icons/controller-type-virtual.svg.d.ts +0 -3
  539. package/dist/components/safetyBar/icons/controller-type-virtual.svg.js +0 -11
  540. package/dist/components/safetyBar/icons/controller-type-virtual.svg.js.map +0 -1
  541. package/dist/components/safetyBar/icons/index.d.ts.map +0 -1
  542. package/dist/components/safetyBar/icons/operation-mode-automatic.svg.cjs +0 -2
  543. package/dist/components/safetyBar/icons/operation-mode-automatic.svg.cjs.map +0 -1
  544. package/dist/components/safetyBar/icons/operation-mode-automatic.svg.d.ts +0 -3
  545. package/dist/components/safetyBar/icons/operation-mode-automatic.svg.js +0 -11
  546. package/dist/components/safetyBar/icons/operation-mode-automatic.svg.js.map +0 -1
  547. package/dist/components/safetyBar/icons/operation-mode-error.svg.cjs +0 -2
  548. package/dist/components/safetyBar/icons/operation-mode-error.svg.cjs.map +0 -1
  549. package/dist/components/safetyBar/icons/operation-mode-error.svg.d.ts +0 -3
  550. package/dist/components/safetyBar/icons/operation-mode-error.svg.js +0 -11
  551. package/dist/components/safetyBar/icons/operation-mode-error.svg.js.map +0 -1
  552. package/dist/components/safetyBar/icons/operation-mode-manual.svg.cjs +0 -2
  553. package/dist/components/safetyBar/icons/operation-mode-manual.svg.cjs.map +0 -1
  554. package/dist/components/safetyBar/icons/operation-mode-manual.svg.d.ts +0 -3
  555. package/dist/components/safetyBar/icons/operation-mode-manual.svg.js +0 -11
  556. package/dist/components/safetyBar/icons/operation-mode-manual.svg.js.map +0 -1
  557. package/dist/components/safetyBar/icons/safety-state-error.svg.cjs +0 -2
  558. package/dist/components/safetyBar/icons/safety-state-error.svg.cjs.map +0 -1
  559. package/dist/components/safetyBar/icons/safety-state-error.svg.d.ts +0 -3
  560. package/dist/components/safetyBar/icons/safety-state-error.svg.js +0 -11
  561. package/dist/components/safetyBar/icons/safety-state-error.svg.js.map +0 -1
  562. package/dist/components/safetyBar/icons/safety-state-estop.svg.cjs +0 -2
  563. package/dist/components/safetyBar/icons/safety-state-estop.svg.cjs.map +0 -1
  564. package/dist/components/safetyBar/icons/safety-state-estop.svg.d.ts +0 -3
  565. package/dist/components/safetyBar/icons/safety-state-estop.svg.js +0 -11
  566. package/dist/components/safetyBar/icons/safety-state-estop.svg.js.map +0 -1
  567. package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.cjs +0 -2
  568. package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.cjs.map +0 -1
  569. package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.d.ts +0 -3
  570. package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.js +0 -11
  571. package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.js.map +0 -1
  572. package/dist/components/safetyBar/icons/safety-state-normal.svg.cjs +0 -2
  573. package/dist/components/safetyBar/icons/safety-state-normal.svg.cjs.map +0 -1
  574. package/dist/components/safetyBar/icons/safety-state-normal.svg.d.ts +0 -3
  575. package/dist/components/safetyBar/icons/safety-state-normal.svg.js +0 -11
  576. package/dist/components/safetyBar/icons/safety-state-normal.svg.js.map +0 -1
  577. package/dist/components/safetyBar/icons/safety-state-stop.svg.cjs +0 -2
  578. package/dist/components/safetyBar/icons/safety-state-stop.svg.cjs.map +0 -1
  579. package/dist/components/safetyBar/icons/safety-state-stop.svg.d.ts +0 -3
  580. package/dist/components/safetyBar/icons/safety-state-stop.svg.js +0 -11
  581. package/dist/components/safetyBar/icons/safety-state-stop.svg.js.map +0 -1
  582. package/dist/components/utils/converters.cjs.map +0 -1
  583. package/dist/components/utils/converters.d.ts.map +0 -1
  584. package/dist/components/utils/converters.js.map +0 -1
  585. package/dist/components/utils/errorHandling.cjs.map +0 -1
  586. package/dist/components/utils/errorHandling.d.ts.map +0 -1
  587. package/dist/components/utils/errorHandling.js.map +0 -1
  588. package/dist/components/utils/errorHandling.test.d.ts +0 -2
  589. package/dist/components/utils/errorHandling.test.d.ts.map +0 -1
  590. package/dist/components/utils/hooks.cjs.map +0 -1
  591. package/dist/components/utils/hooks.d.ts.map +0 -1
  592. package/dist/components/utils/hooks.js.map +0 -1
  593. package/dist/components/utils/interpolation.cjs.map +0 -1
  594. package/dist/components/utils/interpolation.d.ts.map +0 -1
  595. package/dist/components/utils/interpolation.js.map +0 -1
  596. package/dist/components/utils/interpolation.test.d.ts +0 -2
  597. package/dist/components/utils/interpolation.test.d.ts.map +0 -1
  598. package/dist/core.cjs.map +0 -1
  599. package/dist/core.d.ts.map +0 -1
  600. package/dist/core.js.map +0 -1
  601. package/dist/externalizeComponent.cjs +0 -2
  602. package/dist/externalizeComponent.cjs.map +0 -1
  603. package/dist/externalizeComponent.d.ts.map +0 -1
  604. package/dist/externalizeComponent.js +0 -13
  605. package/dist/externalizeComponent.js.map +0 -1
  606. package/dist/i18n/config.cjs +0 -2
  607. package/dist/i18n/config.cjs.map +0 -1
  608. package/dist/i18n/config.d.ts.map +0 -1
  609. package/dist/i18n/config.js +0 -25
  610. package/dist/i18n/config.js.map +0 -1
  611. package/dist/i18n/locales/de/translations.json.cjs +0 -3
  612. package/dist/i18n/locales/de/translations.json.cjs.map +0 -1
  613. package/dist/i18n/locales/de/translations.json.js +0 -94
  614. package/dist/i18n/locales/de/translations.json.js.map +0 -1
  615. package/dist/i18n/locales/en/translations.json.cjs +0 -2
  616. package/dist/i18n/locales/en/translations.json.cjs.map +0 -1
  617. package/dist/i18n/locales/en/translations.json.js +0 -94
  618. package/dist/i18n/locales/en/translations.json.js.map +0 -1
  619. package/dist/icons/DropdownArrowIcon.cjs +0 -2
  620. package/dist/icons/DropdownArrowIcon.cjs.map +0 -1
  621. package/dist/icons/DropdownArrowIcon.d.ts.map +0 -1
  622. package/dist/icons/DropdownArrowIcon.js +0 -14
  623. package/dist/icons/DropdownArrowIcon.js.map +0 -1
  624. package/dist/icons/axis-x.svg.cjs +0 -2
  625. package/dist/icons/axis-x.svg.cjs.map +0 -1
  626. package/dist/icons/axis-x.svg.d.ts +0 -3
  627. package/dist/icons/axis-x.svg.js +0 -11
  628. package/dist/icons/axis-x.svg.js.map +0 -1
  629. package/dist/icons/axis-y.svg.cjs +0 -2
  630. package/dist/icons/axis-y.svg.cjs.map +0 -1
  631. package/dist/icons/axis-y.svg.d.ts +0 -3
  632. package/dist/icons/axis-y.svg.js +0 -11
  633. package/dist/icons/axis-y.svg.js.map +0 -1
  634. package/dist/icons/axis-z.svg.cjs +0 -2
  635. package/dist/icons/axis-z.svg.cjs.map +0 -1
  636. package/dist/icons/axis-z.svg.d.ts +0 -3
  637. package/dist/icons/axis-z.svg.js +0 -11
  638. package/dist/icons/axis-z.svg.js.map +0 -1
  639. package/dist/icons/home.svg.cjs +0 -2
  640. package/dist/icons/home.svg.cjs.map +0 -1
  641. package/dist/icons/home.svg.d.ts +0 -3
  642. package/dist/icons/home.svg.js +0 -11
  643. package/dist/icons/home.svg.js.map +0 -1
  644. package/dist/icons/index.d.ts.map +0 -1
  645. package/dist/icons/jog-minus.svg.cjs +0 -2
  646. package/dist/icons/jog-minus.svg.cjs.map +0 -1
  647. package/dist/icons/jog-minus.svg.d.ts +0 -3
  648. package/dist/icons/jog-minus.svg.js +0 -11
  649. package/dist/icons/jog-minus.svg.js.map +0 -1
  650. package/dist/icons/jog-plus.svg.cjs +0 -2
  651. package/dist/icons/jog-plus.svg.cjs.map +0 -1
  652. package/dist/icons/jog-plus.svg.d.ts +0 -3
  653. package/dist/icons/jog-plus.svg.js +0 -11
  654. package/dist/icons/jog-plus.svg.js.map +0 -1
  655. package/dist/icons/jogging.svg.cjs +0 -2
  656. package/dist/icons/jogging.svg.cjs.map +0 -1
  657. package/dist/icons/jogging.svg.d.ts +0 -3
  658. package/dist/icons/jogging.svg.js +0 -11
  659. package/dist/icons/jogging.svg.js.map +0 -1
  660. package/dist/icons/orientation-coord-system.svg.cjs +0 -2
  661. package/dist/icons/orientation-coord-system.svg.cjs.map +0 -1
  662. package/dist/icons/orientation-coord-system.svg.d.ts +0 -3
  663. package/dist/icons/orientation-coord-system.svg.js +0 -11
  664. package/dist/icons/orientation-coord-system.svg.js.map +0 -1
  665. package/dist/icons/orientation-tool.svg.cjs +0 -2
  666. package/dist/icons/orientation-tool.svg.cjs.map +0 -1
  667. package/dist/icons/orientation-tool.svg.d.ts +0 -3
  668. package/dist/icons/orientation-tool.svg.js +0 -11
  669. package/dist/icons/orientation-tool.svg.js.map +0 -1
  670. package/dist/icons/robot.svg.cjs +0 -2
  671. package/dist/icons/robot.svg.cjs.map +0 -1
  672. package/dist/icons/robot.svg.d.ts +0 -3
  673. package/dist/icons/robot.svg.js.map +0 -1
  674. package/dist/icons/rotation.svg.cjs +0 -2
  675. package/dist/icons/rotation.svg.cjs.map +0 -1
  676. package/dist/icons/rotation.svg.d.ts +0 -3
  677. package/dist/icons/rotation.svg.js +0 -11
  678. package/dist/icons/rotation.svg.js.map +0 -1
  679. package/dist/icons/wbLogo.svg.cjs +0 -2
  680. package/dist/icons/wbLogo.svg.cjs.map +0 -1
  681. package/dist/icons/wbLogo.svg.d.ts +0 -3
  682. package/dist/icons/wbLogo.svg.js +0 -11
  683. package/dist/icons/wbLogo.svg.js.map +0 -1
  684. package/dist/index.cjs.map +0 -1
  685. package/dist/index.d.ts.map +0 -1
  686. package/dist/index.js.map +0 -1
  687. package/dist/lib/ConnectedMotionGroup.cjs +0 -4
  688. package/dist/lib/ConnectedMotionGroup.cjs.map +0 -1
  689. package/dist/lib/ConnectedMotionGroup.d.ts.map +0 -1
  690. package/dist/lib/ConnectedMotionGroup.js +0 -250
  691. package/dist/lib/ConnectedMotionGroup.js.map +0 -1
  692. package/dist/lib/JoggerConnection.cjs +0 -2
  693. package/dist/lib/JoggerConnection.cjs.map +0 -1
  694. package/dist/lib/JoggerConnection.d.ts.map +0 -1
  695. package/dist/lib/JoggerConnection.js +0 -342
  696. package/dist/lib/JoggerConnection.js.map +0 -1
  697. package/dist/lib/JoggerConnection.test.d.ts +0 -2
  698. package/dist/lib/JoggerConnection.test.d.ts.map +0 -1
  699. package/dist/lib/MotionStreamConnection.cjs +0 -3
  700. package/dist/lib/MotionStreamConnection.cjs.map +0 -1
  701. package/dist/lib/MotionStreamConnection.d.ts.map +0 -1
  702. package/dist/lib/MotionStreamConnection.js +0 -94
  703. package/dist/lib/MotionStreamConnection.js.map +0 -1
  704. package/dist/lib/MotionStreamConnection.test.d.ts +0 -2
  705. package/dist/lib/MotionStreamConnection.test.d.ts.map +0 -1
  706. package/dist/lib/motionStateUpdate.cjs +0 -2
  707. package/dist/lib/motionStateUpdate.cjs.map +0 -1
  708. package/dist/lib/motionStateUpdate.d.ts.map +0 -1
  709. package/dist/lib/motionStateUpdate.js +0 -49
  710. package/dist/lib/motionStateUpdate.js.map +0 -1
  711. package/dist/lib/motionStateUpdate.test.d.ts +0 -2
  712. package/dist/lib/motionStateUpdate.test.d.ts.map +0 -1
  713. package/dist/test/consumer.test.d.ts +0 -2
  714. package/dist/test/consumer.test.d.ts.map +0 -1
  715. package/dist/test/setup.d.ts +0 -2
  716. package/dist/test/setup.d.ts.map +0 -1
  717. package/dist/themes/createDarkTheme.cjs +0 -2
  718. package/dist/themes/createDarkTheme.cjs.map +0 -1
  719. package/dist/themes/createDarkTheme.d.ts.map +0 -1
  720. package/dist/themes/createDarkTheme.js +0 -344
  721. package/dist/themes/createDarkTheme.js.map +0 -1
  722. package/dist/themes/createLightTheme.cjs +0 -2
  723. package/dist/themes/createLightTheme.cjs.map +0 -1
  724. package/dist/themes/createLightTheme.d.ts.map +0 -1
  725. package/dist/themes/createLightTheme.js +0 -9
  726. package/dist/themes/createLightTheme.js.map +0 -1
  727. package/dist/themes/themeTypes.d.ts.map +0 -1
  728. package/dist/themes/theming.cjs +0 -2
  729. package/dist/themes/theming.cjs.map +0 -1
  730. package/dist/themes/theming.d.ts.map +0 -1
  731. package/dist/themes/theming.js +0 -14
  732. package/dist/themes/theming.js.map +0 -1
  733. package/dist/wb-icons.cjs.map +0 -1
  734. package/dist/wb-icons.d.ts.map +0 -1
  735. package/dist/wb-icons.js.map +0 -1
  736. package/src/3d.ts +0 -18
  737. package/src/Setup.tsx +0 -33
  738. package/src/components/3d-viewport/CoordinateSystemTransform.tsx +0 -57
  739. package/src/components/3d-viewport/PresetEnvironment.tsx +0 -81
  740. package/src/components/3d-viewport/SafetyZonesRenderer.tsx +0 -198
  741. package/src/components/3d-viewport/TrajectoryRenderer.tsx +0 -41
  742. package/src/components/3d-viewport/collider/ColliderCollection.tsx +0 -35
  743. package/src/components/3d-viewport/collider/ColliderElement.tsx +0 -36
  744. package/src/components/3d-viewport/collider/CollisionSceneRenderer.tsx +0 -26
  745. package/src/components/3d-viewport/collider/colliderShapeToBufferGeometry.ts +0 -48
  746. package/src/components/AppHeader.md +0 -84
  747. package/src/components/AppHeader.tsx +0 -197
  748. package/src/components/ConsoleFilter.tsx +0 -24
  749. package/src/components/CopyableText.tsx +0 -89
  750. package/src/components/CycleTimer/CycleTimer.ts +0 -8
  751. package/src/components/CycleTimer/DefaultVariant.tsx +0 -326
  752. package/src/components/CycleTimer/SmallVariant.tsx +0 -229
  753. package/src/components/CycleTimer/index.tsx +0 -158
  754. package/src/components/CycleTimer/types.ts +0 -58
  755. package/src/components/CycleTimer/useAnimations.ts +0 -202
  756. package/src/components/CycleTimer/useTimerLogic.ts +0 -330
  757. package/src/components/CycleTimer/utils.ts +0 -122
  758. package/src/components/CycleTimer.tsx +0 -8
  759. package/src/components/DataGrid.tsx +0 -664
  760. package/src/components/LoadingCover.tsx +0 -91
  761. package/src/components/LogPanel.tsx +0 -71
  762. package/src/components/LogStore.ts +0 -46
  763. package/src/components/LogViewer.tsx +0 -368
  764. package/src/components/ProgramControl.tsx +0 -267
  765. package/src/components/ProgramStateIndicator.tsx +0 -195
  766. package/src/components/RobotCard.tsx +0 -495
  767. package/src/components/RobotListItem.tsx +0 -155
  768. package/src/components/RobotSetupReadinessIndicator.test.tsx +0 -60
  769. package/src/components/RobotSetupReadinessIndicator.tsx +0 -161
  770. package/src/components/SelectableFab.tsx +0 -52
  771. package/src/components/TabBar.tsx +0 -325
  772. package/src/components/ThemeSelect.tsx +0 -51
  773. package/src/components/Timer/Timer.ts +0 -4
  774. package/src/components/Timer/TimerDefaultVariant.tsx +0 -143
  775. package/src/components/Timer/TimerSmallVariant.tsx +0 -141
  776. package/src/components/Timer/index.tsx +0 -103
  777. package/src/components/Timer/types.ts +0 -38
  778. package/src/components/Timer/useTimerAnimations.ts +0 -94
  779. package/src/components/Timer/useTimerLogic.ts +0 -214
  780. package/src/components/Timer/utils.ts +0 -87
  781. package/src/components/Timer.ts +0 -4
  782. package/src/components/TransparentOverlay.tsx +0 -28
  783. package/src/components/VelocitySlider.tsx +0 -117
  784. package/src/components/experimental/utils/AdornedSelect.tsx +0 -38
  785. package/src/components/jogging/JoggingBlocked.tsx +0 -43
  786. package/src/components/jogging/JoggingCartesianAxisControl.tsx +0 -237
  787. package/src/components/jogging/JoggingCartesianTab.tsx +0 -349
  788. package/src/components/jogging/JoggingFreedriveTab.tsx +0 -8
  789. package/src/components/jogging/JoggingJointLimitDetector.tsx +0 -57
  790. package/src/components/jogging/JoggingJointTab.tsx +0 -126
  791. package/src/components/jogging/JoggingJointValueControl.tsx +0 -293
  792. package/src/components/jogging/JoggingOptions.tsx +0 -163
  793. package/src/components/jogging/JoggingPanel.test.tsx +0 -645
  794. package/src/components/jogging/JoggingPanel.tsx +0 -204
  795. package/src/components/jogging/JoggingStore.ts +0 -485
  796. package/src/components/jogging/JoggingToggleButtonGroup.tsx +0 -25
  797. package/src/components/jogging/JoggingVelocitySlider.tsx +0 -39
  798. package/src/components/jogging/PoseCartesianValues.tsx +0 -55
  799. package/src/components/jogging/PoseJointValues.tsx +0 -54
  800. package/src/components/jogging/__fixtures__/motionStreamMockData.ts +0 -136
  801. package/src/components/modal/NoMotionGroupModal.tsx +0 -91
  802. package/src/components/robots/AxisConfig.ts +0 -3
  803. package/src/components/robots/DHLinearAxis.tsx +0 -147
  804. package/src/components/robots/DHRobot.tsx +0 -152
  805. package/src/components/robots/GenericRobot.tsx +0 -137
  806. package/src/components/robots/LinearAxis.tsx +0 -74
  807. package/src/components/robots/LinearAxisAnimator.tsx +0 -118
  808. package/src/components/robots/MotionGroupVisualizer.tsx +0 -73
  809. package/src/components/robots/Robot.tsx +0 -57
  810. package/src/components/robots/RobotAnimator.test.tsx +0 -98
  811. package/src/components/robots/RobotAnimator.tsx +0 -116
  812. package/src/components/robots/SupportedLinearAxis.tsx +0 -110
  813. package/src/components/robots/SupportedRobot.tsx +0 -111
  814. package/src/components/robots/ghostStyle.ts +0 -71
  815. package/src/components/robots/manufacturerHomePositions.ts +0 -76
  816. package/src/components/robots/robotModelLogic.ts +0 -158
  817. package/src/components/safetyBar/ControllerTypeIndicator.tsx +0 -79
  818. package/src/components/safetyBar/IndicatorWithExplanation.tsx +0 -137
  819. package/src/components/safetyBar/OperationModeIndicator.tsx +0 -98
  820. package/src/components/safetyBar/SafetyBar.tsx +0 -72
  821. package/src/components/safetyBar/SafetyStateIndicator.tsx +0 -163
  822. package/src/components/safetyBar/icons/controller-type-physical.svg +0 -1
  823. package/src/components/safetyBar/icons/controller-type-virtual.svg +0 -1
  824. package/src/components/safetyBar/icons/index.ts +0 -10
  825. package/src/components/safetyBar/icons/operation-mode-automatic.svg +0 -1
  826. package/src/components/safetyBar/icons/operation-mode-error.svg +0 -1
  827. package/src/components/safetyBar/icons/operation-mode-manual.svg +0 -1
  828. package/src/components/safetyBar/icons/safety-state-error.svg +0 -1
  829. package/src/components/safetyBar/icons/safety-state-estop.svg +0 -1
  830. package/src/components/safetyBar/icons/safety-state-manual-action-required.svg +0 -1
  831. package/src/components/safetyBar/icons/safety-state-normal.svg +0 -1
  832. package/src/components/safetyBar/icons/safety-state-stop.svg +0 -1
  833. package/src/components/utils/converters.ts +0 -90
  834. package/src/components/utils/errorHandling.test.ts +0 -41
  835. package/src/components/utils/errorHandling.ts +0 -38
  836. package/src/components/utils/hooks.tsx +0 -55
  837. package/src/components/utils/interpolation.test.ts +0 -1138
  838. package/src/components/utils/interpolation.ts +0 -380
  839. package/src/core.ts +0 -33
  840. package/src/declarations.d.ts +0 -10
  841. package/src/env.d.ts +0 -3
  842. package/src/externalizeComponent.tsx +0 -28
  843. package/src/i18n/config.ts +0 -26
  844. package/src/i18n/locales/de/translations.json +0 -89
  845. package/src/i18n/locales/en/translations.json +0 -90
  846. package/src/icons/DropdownArrowIcon.tsx +0 -12
  847. package/src/icons/axis-x.svg +0 -1
  848. package/src/icons/axis-y.svg +0 -1
  849. package/src/icons/axis-z.svg +0 -1
  850. package/src/icons/home.svg +0 -1
  851. package/src/icons/index.ts +0 -12
  852. package/src/icons/jog-minus.svg +0 -5
  853. package/src/icons/jog-plus.svg +0 -9
  854. package/src/icons/jogging.svg +0 -1
  855. package/src/icons/orientation-coord-system.svg +0 -1
  856. package/src/icons/orientation-tool.svg +0 -1
  857. package/src/icons/robot.svg +0 -1
  858. package/src/icons/rotation.svg +0 -3
  859. package/src/icons/wbLogo.svg +0 -1
  860. package/src/index.ts +0 -4
  861. package/src/lib/ConnectedMotionGroup.ts +0 -441
  862. package/src/lib/JoggerConnection.test.ts +0 -122
  863. package/src/lib/JoggerConnection.ts +0 -694
  864. package/src/lib/MotionStreamConnection.test.ts +0 -23
  865. package/src/lib/MotionStreamConnection.ts +0 -186
  866. package/src/lib/motionStateUpdate.test.ts +0 -28
  867. package/src/lib/motionStateUpdate.ts +0 -117
  868. package/src/test/consumer.test.ts +0 -230
  869. package/src/test/setup.ts +0 -111
  870. package/src/themes/createDarkTheme.ts +0 -343
  871. package/src/themes/createLightTheme.ts +0 -8
  872. package/src/themes/themeTypes.ts +0 -96
  873. package/src/themes/theming.ts +0 -29
  874. package/src/wb-icons.ts +0 -3
package/dist/wb-icons.js CHANGED
@@ -1,47 +1,31 @@
1
- import { default as e } from "./components/safetyBar/icons/controller-type-physical.svg.js";
2
- import { default as r } from "./components/safetyBar/icons/controller-type-virtual.svg.js";
3
- import { default as n } from "./components/safetyBar/icons/operation-mode-automatic.svg.js";
4
- import { default as s } from "./components/safetyBar/icons/operation-mode-error.svg.js";
5
- import { default as u } from "./components/safetyBar/icons/operation-mode-manual.svg.js";
6
- import { default as m } from "./components/safetyBar/icons/safety-state-error.svg.js";
7
- import { default as x } from "./components/safetyBar/icons/safety-state-estop.svg.js";
8
- import { default as i } from "./components/safetyBar/icons/safety-state-manual-action-required.svg.js";
9
- import { default as y } from "./components/safetyBar/icons/safety-state-normal.svg.js";
10
- import { default as M } from "./components/safetyBar/icons/safety-state-stop.svg.js";
11
- import { default as O } from "./icons/axis-x.svg.js";
12
- import { default as E } from "./icons/axis-y.svg.js";
13
- import { default as R } from "./icons/axis-z.svg.js";
14
- import { default as P } from "./icons/home.svg.js";
15
- import { default as h } from "./icons/jog-minus.svg.js";
16
- import { default as B } from "./icons/jog-plus.svg.js";
17
- import { default as L } from "./icons/jogging.svg.js";
18
- import { default as V } from "./icons/orientation-coord-system.svg.js";
19
- import { default as X } from "./icons/orientation-tool.svg.js";
20
- import { default as Z } from "./icons/robot.svg.js";
21
- import { default as k } from "./icons/rotation.svg.js";
22
- import { default as w } from "./icons/wbLogo.svg.js";
1
+ import { F as t, a as n } from "./chunks/controller-type-virtual-CWOoMRfl.js";
2
+ import { F as r, a as s, b as c } from "./chunks/operation-mode-manual-Di4Z1KM1.js";
3
+ import { F as i, a as p, b as f, c as S, d as l } from "./chunks/safety-state-stop-Bg0VUsM4.js";
4
+ import { F as x, a as y, b as d, c as u } from "./chunks/rotation-Dm5YL3NM.js";
5
+ import { F as g, a as M, b, c as A, d as O } from "./chunks/wbLogo-CObCmqTw.js";
6
+ import { F as E, a as J } from "./chunks/jog-plus-CAUurv4S.js";
7
+ import { F as T } from "./chunks/robot-D97QEl_l.js";
23
8
  export {
24
- O as AxisXIcon,
25
- E as AxisYIcon,
26
- R as AxisZIcon,
27
- e as ControllerTypePhysicalIcon,
28
- r as ControllerTypeVirtualIcon,
29
- P as HomeIcon,
30
- h as JogMinusIcon,
31
- B as JogPlusIcon,
32
- L as JoggingIcon,
33
- n as OperationModeAutomaticIcon,
9
+ x as AxisXIcon,
10
+ y as AxisYIcon,
11
+ d as AxisZIcon,
12
+ t as ControllerTypePhysicalIcon,
13
+ n as ControllerTypeVirtualIcon,
14
+ g as HomeIcon,
15
+ E as JogMinusIcon,
16
+ J as JogPlusIcon,
17
+ M as JoggingIcon,
18
+ r as OperationModeAutomaticIcon,
34
19
  s as OperationModeErrorIcon,
35
- u as OperationModeManualIcon,
36
- V as OrientationCoordSystemIcon,
37
- X as OrientationToolIcon,
38
- Z as RobotIcon,
39
- k as RotationIcon,
40
- m as SafetyStateErrorIcon,
41
- x as SafetyStateEstopIcon,
42
- i as SafetyStateManualActionRequiredIcon,
43
- y as SafetyStateNormalIcon,
44
- M as SafetyStateStopIcon,
45
- w as WBLogoIcon
20
+ c as OperationModeManualIcon,
21
+ b as OrientationCoordSystemIcon,
22
+ A as OrientationToolIcon,
23
+ T as RobotIcon,
24
+ u as RotationIcon,
25
+ i as SafetyStateErrorIcon,
26
+ p as SafetyStateEstopIcon,
27
+ f as SafetyStateManualActionRequiredIcon,
28
+ S as SafetyStateNormalIcon,
29
+ l as SafetyStateStopIcon,
30
+ O as WBLogoIcon
46
31
  };
47
- //# sourceMappingURL=wb-icons.js.map
package/package.json CHANGED
@@ -1,13 +1,12 @@
1
1
  {
2
2
  "name": "@wandelbots/wandelbots-js-react-components",
3
- "version": "5.5.0",
3
+ "version": "5.5.1-pr.fix-standardize-output.591.0e6ee47",
4
4
  "description": "React UI toolkit for building applications on top of the Wandelbots platform",
5
5
  "type": "module",
6
6
  "sideEffects": false,
7
7
  "packageManager": "pnpm@10.33.0",
8
8
  "files": [
9
9
  "dist",
10
- "src",
11
10
  "README.md"
12
11
  ],
13
12
  "module": "./dist/index.js",
@@ -34,10 +33,10 @@
34
33
  "require": "./dist/wb-icons.cjs"
35
34
  },
36
35
  "./package.json": "./package.json",
37
- "./*": {
38
- "types": "./dist/*.d.ts",
39
- "import": "./dist/*.js",
40
- "require": "./dist/*.cjs"
36
+ "./components/*": {
37
+ "types": "./dist/components/*.d.ts",
38
+ "import": "./dist/components/*.js",
39
+ "require": "./dist/components/*.cjs"
41
40
  }
42
41
  },
43
42
  "types": "./dist/index.d.ts",
package/dist/3d.cjs.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"3d.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
package/dist/3d.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"3d.d.ts","sourceRoot":"","sources":["../src/3d.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,0DAA0D,CAAA;AAC5G,cAAc,4CAA4C,CAAA;AAC1D,cAAc,8CAA8C,CAAA;AAC5D,cAAc,6CAA6C,CAAA;AAC3D,cAAc,wBAAwB,CAAA;AACtC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,gCAAgC,CAAA;AAC9C,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,+CAA+C,CAAA;AACtD,cAAc,2BAA2B,CAAA;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAA;AACrE,cAAc,yCAAyC,CAAA;AACvD,cAAc,oCAAoC,CAAA;AAClD,cAAc,2CAA2C,CAAA"}
package/dist/3d.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"3d.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Setup.d.ts","sourceRoot":"","sources":["../src/Setup.tsx"],"names":[],"mappings":"AACA,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAC7D,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAA;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAG/B,KAAK,KAAK,GAAG,KAAK,CAAC,iBAAiB,CAClC,WAAW,GAAG;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CACF,CAAA;AAED,eAAO,MAAM,KAAK,GAAI,yEAOnB,KAAK,4CAUP,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"CoordinateSystemTransform.d.ts","sourceRoot":"","sources":["../../../src/components/3d-viewport/CoordinateSystemTransform.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC;;;GAGG;AACH,eAAO,MAAM,yBAAyB,GAAI,iCAGvC;IACD,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC,QAAQ,EAAE,SAAS,CAAA;CACpB,4CAwCA,CAAA;AAED,eAAe,yBAAyB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"PresetEnvironment.cjs","sources":["../../../src/components/3d-viewport/PresetEnvironment.tsx"],"sourcesContent":["import { Environment, Lightformer } from \"@react-three/drei\"\n\n/**\n * Renders a preset environment for the 3D scene.\n * This component wraps the scene with an `Environment` component\n * and builds a lightmap build with `Lightformers`.\n */\nexport function PresetEnvironment() {\n return (\n <Environment>\n <Lightformers />\n </Environment>\n )\n}\n\nfunction Lightformers({ positions = [2, 0, 2, 0, 2, 0, 2, 0] }) {\n return (\n <>\n {/* Ceiling */}\n <Lightformer\n intensity={5}\n rotation-x={Math.PI / 2}\n position={[0, 5, -9]}\n scale={[10, 10, 1]}\n />\n <group rotation={[0, 0.5, 0]}>\n <group>\n {positions.map((x, i) => (\n <Lightformer\n // biome-ignore lint/suspicious/noArrayIndexKey: pre-biome code\n key={i}\n form=\"circle\"\n intensity={5}\n rotation={[Math.PI / 2, 0, 0]}\n position={[x, 4, i * 4]}\n scale={[3, 1, 1]}\n />\n ))}\n </group>\n </group>\n {/* Sides */}\n <Lightformer\n intensity={40}\n rotation-y={Math.PI / 2}\n position={[-5, 1, -1]}\n scale={[20, 0.1, 1]}\n />\n <Lightformer\n intensity={20}\n rotation-y={-Math.PI}\n position={[-5, -2, -1]}\n scale={[20, 0.1, 1]}\n />\n\n <Lightformer\n rotation-y={Math.PI / 2}\n position={[-5, -1, -1]}\n scale={[20, 0.5, 1]}\n intensity={5}\n />\n <Lightformer\n rotation-y={-Math.PI / 2}\n position={[10, 1, 0]}\n scale={[20, 1, 1]}\n intensity={10}\n />\n\n {/* Key */}\n <Lightformer\n form=\"ring\"\n color=\"white\"\n intensity={5}\n scale={10}\n position={[-15, 4, -18]}\n target={[0, 0, 0]}\n />\n </>\n )\n}\n\nexport default PresetEnvironment\n"],"names":["PresetEnvironment","jsx","Environment","Lightformers","positions","jsxs","Fragment","Lightformer","x","i"],"mappings":"gLAOO,SAASA,GAAoB,CAClC,OACEC,EAAAA,IAACC,EAAAA,YAAA,CACC,SAAAD,EAAAA,IAACE,EAAA,CAAA,CAAa,EAChB,CAEJ,CAEA,SAASA,EAAa,CAAE,UAAAC,EAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,GAAK,CAC9D,OACEC,EAAAA,KAAAC,WAAA,CAEE,SAAA,CAAAL,EAAAA,IAACM,EAAAA,YAAA,CACC,UAAW,EACX,aAAY,KAAK,GAAK,EACtB,SAAU,CAAC,EAAG,EAAG,EAAE,EACnB,MAAO,CAAC,GAAI,GAAI,CAAC,CAAA,CAAA,EAEnBN,EAAAA,IAAC,QAAA,CAAM,SAAU,CAAC,EAAG,GAAK,CAAC,EACzB,SAAAA,EAAAA,IAAC,QAAA,CACE,SAAAG,EAAU,IAAI,CAACI,EAAGC,IACjBR,EAAAA,IAACM,EAAAA,YAAA,CAGC,KAAK,SACL,UAAW,EACX,SAAU,CAAC,KAAK,GAAK,EAAG,EAAG,CAAC,EAC5B,SAAU,CAACC,EAAG,EAAGC,EAAI,CAAC,EACtB,MAAO,CAAC,EAAG,EAAG,CAAC,CAAA,EALVA,CAAA,CAOR,EACH,CAAA,CACF,EAEAR,EAAAA,IAACM,EAAAA,YAAA,CACC,UAAW,GACX,aAAY,KAAK,GAAK,EACtB,SAAU,CAAC,GAAI,EAAG,EAAE,EACpB,MAAO,CAAC,GAAI,GAAK,CAAC,CAAA,CAAA,EAEpBN,EAAAA,IAACM,EAAAA,YAAA,CACC,UAAW,GACX,aAAY,CAAC,KAAK,GAClB,SAAU,CAAC,GAAI,GAAI,EAAE,EACrB,MAAO,CAAC,GAAI,GAAK,CAAC,CAAA,CAAA,EAGpBN,EAAAA,IAACM,EAAAA,YAAA,CACC,aAAY,KAAK,GAAK,EACtB,SAAU,CAAC,GAAI,GAAI,EAAE,EACrB,MAAO,CAAC,GAAI,GAAK,CAAC,EAClB,UAAW,CAAA,CAAA,EAEbN,EAAAA,IAACM,EAAAA,YAAA,CACC,aAAY,CAAC,KAAK,GAAK,EACvB,SAAU,CAAC,GAAI,EAAG,CAAC,EACnB,MAAO,CAAC,GAAI,EAAG,CAAC,EAChB,UAAW,EAAA,CAAA,EAIbN,EAAAA,IAACM,EAAAA,YAAA,CACC,KAAK,OACL,MAAM,QACN,UAAW,EACX,MAAO,GACP,SAAU,CAAC,IAAK,EAAG,GAAG,EACtB,OAAQ,CAAC,EAAG,EAAG,CAAC,CAAA,CAAA,CAClB,EACF,CAEJ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"PresetEnvironment.d.ts","sourceRoot":"","sources":["../../../src/components/3d-viewport/PresetEnvironment.tsx"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,wBAAgB,iBAAiB,4CAMhC;AAmED,eAAe,iBAAiB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"PresetEnvironment.js","sources":["../../../src/components/3d-viewport/PresetEnvironment.tsx"],"sourcesContent":["import { Environment, Lightformer } from \"@react-three/drei\"\n\n/**\n * Renders a preset environment for the 3D scene.\n * This component wraps the scene with an `Environment` component\n * and builds a lightmap build with `Lightformers`.\n */\nexport function PresetEnvironment() {\n return (\n <Environment>\n <Lightformers />\n </Environment>\n )\n}\n\nfunction Lightformers({ positions = [2, 0, 2, 0, 2, 0, 2, 0] }) {\n return (\n <>\n {/* Ceiling */}\n <Lightformer\n intensity={5}\n rotation-x={Math.PI / 2}\n position={[0, 5, -9]}\n scale={[10, 10, 1]}\n />\n <group rotation={[0, 0.5, 0]}>\n <group>\n {positions.map((x, i) => (\n <Lightformer\n // biome-ignore lint/suspicious/noArrayIndexKey: pre-biome code\n key={i}\n form=\"circle\"\n intensity={5}\n rotation={[Math.PI / 2, 0, 0]}\n position={[x, 4, i * 4]}\n scale={[3, 1, 1]}\n />\n ))}\n </group>\n </group>\n {/* Sides */}\n <Lightformer\n intensity={40}\n rotation-y={Math.PI / 2}\n position={[-5, 1, -1]}\n scale={[20, 0.1, 1]}\n />\n <Lightformer\n intensity={20}\n rotation-y={-Math.PI}\n position={[-5, -2, -1]}\n scale={[20, 0.1, 1]}\n />\n\n <Lightformer\n rotation-y={Math.PI / 2}\n position={[-5, -1, -1]}\n scale={[20, 0.5, 1]}\n intensity={5}\n />\n <Lightformer\n rotation-y={-Math.PI / 2}\n position={[10, 1, 0]}\n scale={[20, 1, 1]}\n intensity={10}\n />\n\n {/* Key */}\n <Lightformer\n form=\"ring\"\n color=\"white\"\n intensity={5}\n scale={10}\n position={[-15, 4, -18]}\n target={[0, 0, 0]}\n />\n </>\n )\n}\n\nexport default PresetEnvironment\n"],"names":["PresetEnvironment","jsx","Environment","Lightformers","positions","jsxs","Fragment","Lightformer","x","i"],"mappings":";;AAOO,SAASA,IAAoB;AAClC,SACE,gBAAAC,EAACC,GAAA,EACC,UAAA,gBAAAD,EAACE,GAAA,CAAA,CAAa,GAChB;AAEJ;AAEA,SAASA,EAAa,EAAE,WAAAC,IAAY,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,KAAK;AAC9D,SACE,gBAAAC,EAAAC,GAAA,EAEE,UAAA;AAAA,IAAA,gBAAAL;AAAA,MAACM;AAAA,MAAA;AAAA,QACC,WAAW;AAAA,QACX,cAAY,KAAK,KAAK;AAAA,QACtB,UAAU,CAAC,GAAG,GAAG,EAAE;AAAA,QACnB,OAAO,CAAC,IAAI,IAAI,CAAC;AAAA,MAAA;AAAA,IAAA;AAAA,IAEnB,gBAAAN,EAAC,SAAA,EAAM,UAAU,CAAC,GAAG,KAAK,CAAC,GACzB,UAAA,gBAAAA,EAAC,SAAA,EACE,UAAAG,EAAU,IAAI,CAACI,GAAGC,MACjB,gBAAAR;AAAA,MAACM;AAAA,MAAA;AAAA,QAGC,MAAK;AAAA,QACL,WAAW;AAAA,QACX,UAAU,CAAC,KAAK,KAAK,GAAG,GAAG,CAAC;AAAA,QAC5B,UAAU,CAACC,GAAG,GAAGC,IAAI,CAAC;AAAA,QACtB,OAAO,CAAC,GAAG,GAAG,CAAC;AAAA,MAAA;AAAA,MALVA;AAAA,IAAA,CAOR,GACH,EAAA,CACF;AAAA,IAEA,gBAAAR;AAAA,MAACM;AAAA,MAAA;AAAA,QACC,WAAW;AAAA,QACX,cAAY,KAAK,KAAK;AAAA,QACtB,UAAU,CAAC,IAAI,GAAG,EAAE;AAAA,QACpB,OAAO,CAAC,IAAI,KAAK,CAAC;AAAA,MAAA;AAAA,IAAA;AAAA,IAEpB,gBAAAN;AAAA,MAACM;AAAA,MAAA;AAAA,QACC,WAAW;AAAA,QACX,cAAY,CAAC,KAAK;AAAA,QAClB,UAAU,CAAC,IAAI,IAAI,EAAE;AAAA,QACrB,OAAO,CAAC,IAAI,KAAK,CAAC;AAAA,MAAA;AAAA,IAAA;AAAA,IAGpB,gBAAAN;AAAA,MAACM;AAAA,MAAA;AAAA,QACC,cAAY,KAAK,KAAK;AAAA,QACtB,UAAU,CAAC,IAAI,IAAI,EAAE;AAAA,QACrB,OAAO,CAAC,IAAI,KAAK,CAAC;AAAA,QAClB,WAAW;AAAA,MAAA;AAAA,IAAA;AAAA,IAEb,gBAAAN;AAAA,MAACM;AAAA,MAAA;AAAA,QACC,cAAY,CAAC,KAAK,KAAK;AAAA,QACvB,UAAU,CAAC,IAAI,GAAG,CAAC;AAAA,QACnB,OAAO,CAAC,IAAI,GAAG,CAAC;AAAA,QAChB,WAAW;AAAA,MAAA;AAAA,IAAA;AAAA,IAIb,gBAAAN;AAAA,MAACM;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,OAAM;AAAA,QACN,WAAW;AAAA,QACX,OAAO;AAAA,QACP,UAAU,CAAC,KAAK,GAAG,GAAG;AAAA,QACtB,QAAQ,CAAC,GAAG,GAAG,CAAC;AAAA,MAAA;AAAA,IAAA;AAAA,EAClB,GACF;AAEJ;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"SafetyZonesRenderer.cjs","sources":["../../../src/components/3d-viewport/SafetyZonesRenderer.tsx"],"sourcesContent":["import type { ThreeElements } from \"@react-three/fiber\"\nimport { useMemo } from \"react\"\nimport * as THREE from \"three\"\nimport { ConvexGeometry, RoundedBoxGeometry } from \"three-stdlib\"\n\nimport type {\n Capsule,\n Collider,\n ConvexHull,\n DHParameter,\n MotionGroupDescription,\n RectangularCapsule,\n Sphere,\n} from \"@wandelbots/nova-js/v2\"\n\nimport {\n dhParametersToPlaneSize,\n orientationToQuaternion,\n verticesToCoplanarity,\n} from \"../utils/converters\"\n\nexport type SafetyZonesRendererProps = {\n safetyZones: MotionGroupDescription[\"safety_zones\"]\n dhParameters?: DHParameter[]\n} & ThreeElements[\"group\"]\n\nexport function SafetyZonesRenderer({\n safetyZones,\n dhParameters,\n ...props\n}: SafetyZonesRendererProps) {\n /**\n * Common material properties for safety zone meshes\n */\n const safetyZoneMaterialProps = {\n attach: \"material\" as const,\n color: \"#009f4d\",\n opacity: 0.2,\n depthTest: false,\n depthWrite: false,\n transparent: true,\n polygonOffset: true,\n }\n\n /**\n * Plane size for the plane safety zones, returns the reach distance\n * of the robot\n */\n const planeSize = dhParametersToPlaneSize(dhParameters ?? [])\n\n /**\n * Helper function to render plane, sphere, and capsule meshes\n * @param id number\n * @param zone Collider\n */\n const renderMesh = (id: number, zone: Collider) => {\n if (!zone?.pose?.position || !zone?.pose?.orientation) {\n return null\n }\n\n const position = new THREE.Vector3(\n zone.pose.position[0] / 1000,\n zone.pose.position[1] / 1000,\n zone.pose.position[2] / 1000,\n )\n const orientation = new THREE.Vector3(\n zone.pose.orientation[0],\n zone.pose.orientation[1],\n zone.pose.orientation[2],\n )\n\n let geometry: React.ReactElement | null\n\n const materialProps =\n zone.shape.shape_type === \"plane\"\n ? { ...safetyZoneMaterialProps, side: THREE.DoubleSide }\n : { ...safetyZoneMaterialProps, side: THREE.FrontSide }\n\n switch (zone.shape.shape_type) {\n /**\n * Plane shape, uses DH parameters to calculate the size of the plane (reach distance of a robot)\n */\n case \"plane\":\n geometry = <planeGeometry args={[planeSize, planeSize]} />\n break\n\n /**\n * Sphere shape\n */\n case \"sphere\": {\n const radius = (zone?.shape as Sphere).radius / 1000\n geometry = <sphereGeometry args={[radius]} />\n break\n }\n\n /**\n * Capsule shape\n */\n case \"capsule\": {\n const capsuleRadius = (zone?.shape as Capsule).radius / 1000\n const height = (zone?.shape as Capsule).cylinder_height / 1000\n geometry = <capsuleGeometry args={[capsuleRadius, height]} />\n break\n }\n\n /**\n * Convex hull, checks at first if the vertices are coplanar - if yes, adds a small offset for\n * renderer to be able to visualize the convex hull.\n */\n case \"convex_hull\": {\n const vertices = (zone?.shape as ConvexHull).vertices.map(\n (v) => new THREE.Vector3(v[0] / 1000, v[1] / 1000, v[2] / 1000),\n )\n // Check if the vertices are on the same plane\n const coplanarityResult = verticesToCoplanarity(vertices)\n if (coplanarityResult.isCoplanar && coplanarityResult.normal) {\n const offset = 0.0001\n const newVertex = new THREE.Vector3().addVectors(\n vertices[0],\n coplanarityResult.normal.multiplyScalar(offset),\n )\n vertices.push(newVertex)\n }\n try {\n geometry = (\n <primitive\n object={new ConvexGeometry(vertices)}\n attach=\"geometry\"\n />\n )\n } catch (error) {\n console.log(\"Error creating ConvexGeometry:\", error)\n return null\n }\n break\n }\n\n /**\n * Convex hull around four spheres. Sphere center points in x/y-plane,\n * offset by either combination \"+/- sizeX\" or \"+/- sizeY\".\n * Alternative description: Rectangle in x/y-plane with a 3D padding (source: nova-api docs)\n *\n * Basically a rounded box with a rectangular cross-section.\n */\n case \"rectangular_capsule\": {\n const shape = zone.shape as RectangularCapsule\n const rcRadius = shape.radius / 1000\n const width = shape.sphere_center_distance_x / 1000\n const height = shape.sphere_center_distance_y / 1000\n const depth = rcRadius * 2\n\n geometry = (\n <primitive\n object={new RoundedBoxGeometry(width, height, depth, 2, rcRadius)}\n attach=\"geometry\"\n />\n )\n break\n }\n\n default: {\n console.warn(\n \"Unsupported safety zone shape type:\",\n zone.shape.shape_type,\n )\n geometry = null\n }\n }\n\n return (\n <mesh\n key={`safety-zone-${zone.shape.shape_type}-${id}`}\n renderOrder={id}\n position={position}\n quaternion={orientationToQuaternion(orientation)}\n >\n {geometry}\n <meshStandardMaterial {...materialProps} polygonOffsetFactor={-id} />\n </mesh>\n )\n }\n\n /**\n * Helper variable render safety zones\n */\n // biome-ignore lint/correctness/useExhaustiveDependencies: pre-biome code\n const renderedSafetyZones = useMemo(() => {\n return Object.values(safetyZones ?? {}).map(\n (zone: Collider, index: number) => {\n return renderMesh(index, zone)\n },\n )\n }, [safetyZones, planeSize])\n\n return <group {...props}>{renderedSafetyZones}</group>\n}\n\nexport default SafetyZonesRenderer\n"],"names":["SafetyZonesRenderer","safetyZones","dhParameters","props","safetyZoneMaterialProps","planeSize","dhParametersToPlaneSize","renderMesh","id","zone","_a","_b","position","THREE","orientation","geometry","materialProps","radius","jsx","capsuleRadius","height","vertices","v","coplanarityResult","verticesToCoplanarity","newVertex","ConvexGeometry","error","shape","rcRadius","width","depth","RoundedBoxGeometry","jsxs","orientationToQuaternion","renderedSafetyZones","useMemo","index"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"SafetyZonesRenderer.d.ts","sourceRoot":"","sources":["../../../src/components/3d-viewport/SafetyZonesRenderer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAKvD,OAAO,KAAK,EAIV,WAAW,EACX,sBAAsB,EAGvB,MAAM,wBAAwB,CAAA;AAQ/B,MAAM,MAAM,wBAAwB,GAAG;IACrC,WAAW,EAAE,sBAAsB,CAAC,cAAc,CAAC,CAAA;IACnD,YAAY,CAAC,EAAE,WAAW,EAAE,CAAA;CAC7B,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;AAE1B,wBAAgB,mBAAmB,CAAC,EAClC,WAAW,EACX,YAAY,EACZ,GAAG,KAAK,EACT,EAAE,wBAAwB,2CAqK1B;AAED,eAAe,mBAAmB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"SafetyZonesRenderer.js","sources":["../../../src/components/3d-viewport/SafetyZonesRenderer.tsx"],"sourcesContent":["import type { ThreeElements } from \"@react-three/fiber\"\nimport { useMemo } from \"react\"\nimport * as THREE from \"three\"\nimport { ConvexGeometry, RoundedBoxGeometry } from \"three-stdlib\"\n\nimport type {\n Capsule,\n Collider,\n ConvexHull,\n DHParameter,\n MotionGroupDescription,\n RectangularCapsule,\n Sphere,\n} from \"@wandelbots/nova-js/v2\"\n\nimport {\n dhParametersToPlaneSize,\n orientationToQuaternion,\n verticesToCoplanarity,\n} from \"../utils/converters\"\n\nexport type SafetyZonesRendererProps = {\n safetyZones: MotionGroupDescription[\"safety_zones\"]\n dhParameters?: DHParameter[]\n} & ThreeElements[\"group\"]\n\nexport function SafetyZonesRenderer({\n safetyZones,\n dhParameters,\n ...props\n}: SafetyZonesRendererProps) {\n /**\n * Common material properties for safety zone meshes\n */\n const safetyZoneMaterialProps = {\n attach: \"material\" as const,\n color: \"#009f4d\",\n opacity: 0.2,\n depthTest: false,\n depthWrite: false,\n transparent: true,\n polygonOffset: true,\n }\n\n /**\n * Plane size for the plane safety zones, returns the reach distance\n * of the robot\n */\n const planeSize = dhParametersToPlaneSize(dhParameters ?? [])\n\n /**\n * Helper function to render plane, sphere, and capsule meshes\n * @param id number\n * @param zone Collider\n */\n const renderMesh = (id: number, zone: Collider) => {\n if (!zone?.pose?.position || !zone?.pose?.orientation) {\n return null\n }\n\n const position = new THREE.Vector3(\n zone.pose.position[0] / 1000,\n zone.pose.position[1] / 1000,\n zone.pose.position[2] / 1000,\n )\n const orientation = new THREE.Vector3(\n zone.pose.orientation[0],\n zone.pose.orientation[1],\n zone.pose.orientation[2],\n )\n\n let geometry: React.ReactElement | null\n\n const materialProps =\n zone.shape.shape_type === \"plane\"\n ? { ...safetyZoneMaterialProps, side: THREE.DoubleSide }\n : { ...safetyZoneMaterialProps, side: THREE.FrontSide }\n\n switch (zone.shape.shape_type) {\n /**\n * Plane shape, uses DH parameters to calculate the size of the plane (reach distance of a robot)\n */\n case \"plane\":\n geometry = <planeGeometry args={[planeSize, planeSize]} />\n break\n\n /**\n * Sphere shape\n */\n case \"sphere\": {\n const radius = (zone?.shape as Sphere).radius / 1000\n geometry = <sphereGeometry args={[radius]} />\n break\n }\n\n /**\n * Capsule shape\n */\n case \"capsule\": {\n const capsuleRadius = (zone?.shape as Capsule).radius / 1000\n const height = (zone?.shape as Capsule).cylinder_height / 1000\n geometry = <capsuleGeometry args={[capsuleRadius, height]} />\n break\n }\n\n /**\n * Convex hull, checks at first if the vertices are coplanar - if yes, adds a small offset for\n * renderer to be able to visualize the convex hull.\n */\n case \"convex_hull\": {\n const vertices = (zone?.shape as ConvexHull).vertices.map(\n (v) => new THREE.Vector3(v[0] / 1000, v[1] / 1000, v[2] / 1000),\n )\n // Check if the vertices are on the same plane\n const coplanarityResult = verticesToCoplanarity(vertices)\n if (coplanarityResult.isCoplanar && coplanarityResult.normal) {\n const offset = 0.0001\n const newVertex = new THREE.Vector3().addVectors(\n vertices[0],\n coplanarityResult.normal.multiplyScalar(offset),\n )\n vertices.push(newVertex)\n }\n try {\n geometry = (\n <primitive\n object={new ConvexGeometry(vertices)}\n attach=\"geometry\"\n />\n )\n } catch (error) {\n console.log(\"Error creating ConvexGeometry:\", error)\n return null\n }\n break\n }\n\n /**\n * Convex hull around four spheres. Sphere center points in x/y-plane,\n * offset by either combination \"+/- sizeX\" or \"+/- sizeY\".\n * Alternative description: Rectangle in x/y-plane with a 3D padding (source: nova-api docs)\n *\n * Basically a rounded box with a rectangular cross-section.\n */\n case \"rectangular_capsule\": {\n const shape = zone.shape as RectangularCapsule\n const rcRadius = shape.radius / 1000\n const width = shape.sphere_center_distance_x / 1000\n const height = shape.sphere_center_distance_y / 1000\n const depth = rcRadius * 2\n\n geometry = (\n <primitive\n object={new RoundedBoxGeometry(width, height, depth, 2, rcRadius)}\n attach=\"geometry\"\n />\n )\n break\n }\n\n default: {\n console.warn(\n \"Unsupported safety zone shape type:\",\n zone.shape.shape_type,\n )\n geometry = null\n }\n }\n\n return (\n <mesh\n key={`safety-zone-${zone.shape.shape_type}-${id}`}\n renderOrder={id}\n position={position}\n quaternion={orientationToQuaternion(orientation)}\n >\n {geometry}\n <meshStandardMaterial {...materialProps} polygonOffsetFactor={-id} />\n </mesh>\n )\n }\n\n /**\n * Helper variable render safety zones\n */\n // biome-ignore lint/correctness/useExhaustiveDependencies: pre-biome code\n const renderedSafetyZones = useMemo(() => {\n return Object.values(safetyZones ?? {}).map(\n (zone: Collider, index: number) => {\n return renderMesh(index, zone)\n },\n )\n }, [safetyZones, planeSize])\n\n return <group {...props}>{renderedSafetyZones}</group>\n}\n\nexport default SafetyZonesRenderer\n"],"names":["SafetyZonesRenderer","safetyZones","dhParameters","props","safetyZoneMaterialProps","planeSize","dhParametersToPlaneSize","renderMesh","id","zone","_a","_b","position","THREE","orientation","geometry","materialProps","radius","jsx","capsuleRadius","height","vertices","v","coplanarityResult","verticesToCoplanarity","newVertex","ConvexGeometry","error","shape","rcRadius","width","depth","RoundedBoxGeometry","jsxs","orientationToQuaternion","renderedSafetyZones","useMemo","index"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"TrajectoryRenderer.cjs","sources":["../../../src/components/3d-viewport/TrajectoryRenderer.tsx"],"sourcesContent":["import { Line } from \"@react-three/drei\"\nimport type { Pose } from \"@wandelbots/nova-js/v2\"\nimport * as THREE from \"three\"\n\nexport type TrajectoryRendererProps = {\n trajectory: Pose[]\n} & React.JSX.IntrinsicElements[\"group\"]\n\nexport function TrajectoryRenderer({\n trajectory,\n ...props\n}: TrajectoryRendererProps) {\n const points =\n trajectory\n ?.map((pose: Pose) => {\n if (pose.position && pose.position.length >= 3) {\n const [x, y, z] = pose.position\n if (Number.isFinite(x) && Number.isFinite(y) && Number.isFinite(z)) {\n return new THREE.Vector3(x / 1000, z / 1000, -y / 1000)\n }\n }\n return null\n })\n .filter((point): point is THREE.Vector3 => point !== null) || []\n\n return (\n <group {...props}>\n {points.length > 0 && (\n <Line\n points={points}\n lineWidth={3}\n polygonOffset={true}\n polygonOffsetFactor={10}\n polygonOffsetUnits={10}\n />\n )}\n </group>\n )\n}\n\nexport default TrajectoryRenderer\n"],"names":["TrajectoryRenderer","trajectory","props","points","pose","x","y","z","THREE","point","jsx","Line"],"mappings":"6dAQO,SAASA,EAAmB,CACjC,WAAAC,EACA,GAAGC,CACL,EAA4B,CAC1B,MAAMC,GACJF,GAAA,YAAAA,EACI,IAAKG,GAAe,CACpB,GAAIA,EAAK,UAAYA,EAAK,SAAS,QAAU,EAAG,CAC9C,KAAM,CAACC,EAAGC,EAAGC,CAAC,EAAIH,EAAK,SACvB,GAAI,OAAO,SAASC,CAAC,GAAK,OAAO,SAASC,CAAC,GAAK,OAAO,SAASC,CAAC,EAC/D,OAAO,IAAIC,EAAM,QAAQH,EAAI,IAAME,EAAI,IAAM,CAACD,EAAI,GAAI,CAE1D,CACA,OAAO,IACT,GACC,OAAQG,GAAkCA,IAAU,QAAS,CAAA,EAElE,aACG,QAAA,CAAO,GAAGP,EACR,SAAAC,EAAO,OAAS,GACfO,EAAAA,IAACC,EAAAA,KAAA,CACC,OAAAR,EACA,UAAW,EACX,cAAe,GACf,oBAAqB,GACrB,mBAAoB,EAAA,CAAA,EAG1B,CAEJ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"TrajectoryRenderer.d.ts","sourceRoot":"","sources":["../../../src/components/3d-viewport/TrajectoryRenderer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAGlD,MAAM,MAAM,uBAAuB,GAAG;IACpC,UAAU,EAAE,IAAI,EAAE,CAAA;CACnB,GAAG,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;AAExC,wBAAgB,kBAAkB,CAAC,EACjC,UAAU,EACV,GAAG,KAAK,EACT,EAAE,uBAAuB,2CA2BzB;AAED,eAAe,kBAAkB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"TrajectoryRenderer.js","sources":["../../../src/components/3d-viewport/TrajectoryRenderer.tsx"],"sourcesContent":["import { Line } from \"@react-three/drei\"\nimport type { Pose } from \"@wandelbots/nova-js/v2\"\nimport * as THREE from \"three\"\n\nexport type TrajectoryRendererProps = {\n trajectory: Pose[]\n} & React.JSX.IntrinsicElements[\"group\"]\n\nexport function TrajectoryRenderer({\n trajectory,\n ...props\n}: TrajectoryRendererProps) {\n const points =\n trajectory\n ?.map((pose: Pose) => {\n if (pose.position && pose.position.length >= 3) {\n const [x, y, z] = pose.position\n if (Number.isFinite(x) && Number.isFinite(y) && Number.isFinite(z)) {\n return new THREE.Vector3(x / 1000, z / 1000, -y / 1000)\n }\n }\n return null\n })\n .filter((point): point is THREE.Vector3 => point !== null) || []\n\n return (\n <group {...props}>\n {points.length > 0 && (\n <Line\n points={points}\n lineWidth={3}\n polygonOffset={true}\n polygonOffsetFactor={10}\n polygonOffsetUnits={10}\n />\n )}\n </group>\n )\n}\n\nexport default TrajectoryRenderer\n"],"names":["TrajectoryRenderer","trajectory","props","points","pose","x","y","z","THREE","point","jsx","Line"],"mappings":";;;AAQO,SAASA,EAAmB;AAAA,EACjC,YAAAC;AAAA,EACA,GAAGC;AACL,GAA4B;AAC1B,QAAMC,KACJF,KAAA,gBAAAA,EACI,IAAI,CAACG,MAAe;AACpB,QAAIA,EAAK,YAAYA,EAAK,SAAS,UAAU,GAAG;AAC9C,YAAM,CAACC,GAAGC,GAAGC,CAAC,IAAIH,EAAK;AACvB,UAAI,OAAO,SAASC,CAAC,KAAK,OAAO,SAASC,CAAC,KAAK,OAAO,SAASC,CAAC;AAC/D,eAAO,IAAIC,EAAM,QAAQH,IAAI,KAAME,IAAI,KAAM,CAACD,IAAI,GAAI;AAAA,IAE1D;AACA,WAAO;AAAA,EACT,GACC,OAAO,CAACG,MAAkCA,MAAU,UAAS,CAAA;AAElE,2BACG,SAAA,EAAO,GAAGP,GACR,UAAAC,EAAO,SAAS,KACf,gBAAAO;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,QAAAR;AAAA,MACA,WAAW;AAAA,MACX,eAAe;AAAA,MACf,qBAAqB;AAAA,MACrB,oBAAoB;AAAA,IAAA;AAAA,EAAA,GAG1B;AAEJ;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ColliderCollection.cjs","sources":["../../../../src/components/3d-viewport/collider/ColliderCollection.tsx"],"sourcesContent":["import type { ThreeElements } from \"@react-three/fiber\"\nimport type { Collider } from \"@wandelbots/nova-js/v2\"\nimport ColliderElement from \"./ColliderElement\"\n\nexport type MeshChildrenProvider = (\n key: string,\n collider: Collider,\n) => React.ReactNode\n\ntype ColliderCollectionProps = {\n name?: string\n colliders: Record<string, Collider>\n meshChildrenProvider: MeshChildrenProvider\n} & ThreeElements[\"group\"]\n\nexport default function ColliderCollection({\n name,\n colliders,\n meshChildrenProvider,\n ...props\n}: ColliderCollectionProps) {\n return (\n <group name={name} {...props}>\n {Object.entries(colliders).map(([colliderKey, collider]) => (\n <ColliderElement\n key={colliderKey}\n name={colliderKey}\n collider={collider}\n >\n {meshChildrenProvider(colliderKey, collider)}\n </ColliderElement>\n ))}\n </group>\n )\n}\n"],"names":["ColliderCollection","name","colliders","meshChildrenProvider","props","jsx","colliderKey","collider","ColliderElement"],"mappings":"oLAeA,SAAwBA,EAAmB,CACzC,KAAAC,EACA,UAAAC,EACA,qBAAAC,EACA,GAAGC,CACL,EAA4B,CAC1B,OACEC,EAAAA,IAAC,QAAA,CAAM,KAAAJ,EAAa,GAAGG,EACpB,SAAA,OAAO,QAAQF,CAAS,EAAE,IAAI,CAAC,CAACI,EAAaC,CAAQ,IACpDF,EAAAA,IAACG,EAAAA,QAAA,CAEC,KAAMF,EACN,SAAAC,EAEC,SAAAJ,EAAqBG,EAAaC,CAAQ,CAAA,EAJtCD,CAAA,CAMR,EACH,CAEJ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ColliderCollection.d.ts","sourceRoot":"","sources":["../../../../src/components/3d-viewport/collider/ColliderCollection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAGtD,MAAM,MAAM,oBAAoB,GAAG,CACjC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,QAAQ,KACf,KAAK,CAAC,SAAS,CAAA;AAEpB,KAAK,uBAAuB,GAAG;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IACnC,oBAAoB,EAAE,oBAAoB,CAAA;CAC3C,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;AAE1B,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,EACzC,IAAI,EACJ,SAAS,EACT,oBAAoB,EACpB,GAAG,KAAK,EACT,EAAE,uBAAuB,2CAczB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ColliderCollection.js","sources":["../../../../src/components/3d-viewport/collider/ColliderCollection.tsx"],"sourcesContent":["import type { ThreeElements } from \"@react-three/fiber\"\nimport type { Collider } from \"@wandelbots/nova-js/v2\"\nimport ColliderElement from \"./ColliderElement\"\n\nexport type MeshChildrenProvider = (\n key: string,\n collider: Collider,\n) => React.ReactNode\n\ntype ColliderCollectionProps = {\n name?: string\n colliders: Record<string, Collider>\n meshChildrenProvider: MeshChildrenProvider\n} & ThreeElements[\"group\"]\n\nexport default function ColliderCollection({\n name,\n colliders,\n meshChildrenProvider,\n ...props\n}: ColliderCollectionProps) {\n return (\n <group name={name} {...props}>\n {Object.entries(colliders).map(([colliderKey, collider]) => (\n <ColliderElement\n key={colliderKey}\n name={colliderKey}\n collider={collider}\n >\n {meshChildrenProvider(colliderKey, collider)}\n </ColliderElement>\n ))}\n </group>\n )\n}\n"],"names":["ColliderCollection","name","colliders","meshChildrenProvider","props","jsx","colliderKey","collider","ColliderElement"],"mappings":";;AAeA,SAAwBA,EAAmB;AAAA,EACzC,MAAAC;AAAA,EACA,WAAAC;AAAA,EACA,sBAAAC;AAAA,EACA,GAAGC;AACL,GAA4B;AAC1B,SACE,gBAAAC,EAAC,SAAA,EAAM,MAAAJ,GAAa,GAAGG,GACpB,UAAA,OAAO,QAAQF,CAAS,EAAE,IAAI,CAAC,CAACI,GAAaC,CAAQ,MACpD,gBAAAF;AAAA,IAACG;AAAA,IAAA;AAAA,MAEC,MAAMF;AAAA,MACN,UAAAC;AAAA,MAEC,UAAAJ,EAAqBG,GAAaC,CAAQ;AAAA,IAAA;AAAA,IAJtCD;AAAA,EAAA,CAMR,GACH;AAEJ;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ColliderElement.cjs","sources":["../../../../src/components/3d-viewport/collider/ColliderElement.tsx"],"sourcesContent":["import type { Collider } from \"@wandelbots/nova-js/v2\"\nimport type React from \"react\"\nimport * as THREE from \"three\"\nimport { colliderShapeToBufferGeometry } from \"./colliderShapeToBufferGeometry\"\n\ntype ColliderElementProps = {\n name?: string\n collider: Collider\n children?: React.ReactNode\n}\n\nexport default function ColliderElement({\n name,\n collider,\n children,\n}: ColliderElementProps) {\n const position = collider.pose?.position ?? [0, 0, 0]\n const rotation = collider.pose?.orientation ?? [0, 0, 0]\n if (collider.margin) {\n console.warn(`${name} margin is not supported`)\n }\n return (\n <mesh\n name={name}\n position={new THREE.Vector3(\n position[0],\n position[1],\n position[2],\n ).divideScalar(1000)}\n rotation={new THREE.Euler(rotation[0], rotation[1], rotation[2], \"XYZ\")}\n geometry={colliderShapeToBufferGeometry(collider.shape)}\n >\n {children}\n </mesh>\n )\n}\n"],"names":["ColliderElement","name","collider","children","position","_a","rotation","_b","jsx","THREE","colliderShapeToBufferGeometry"],"mappings":"+eAWA,SAAwBA,EAAgB,CACtC,KAAAC,EACA,SAAAC,EACA,SAAAC,CACF,EAAyB,SACvB,MAAMC,IAAWC,EAAAH,EAAS,OAAT,YAAAG,EAAe,WAAY,CAAC,EAAG,EAAG,CAAC,EAC9CC,IAAWC,EAAAL,EAAS,OAAT,YAAAK,EAAe,cAAe,CAAC,EAAG,EAAG,CAAC,EACvD,OAAIL,EAAS,QACX,QAAQ,KAAK,GAAGD,CAAI,0BAA0B,EAG9CO,EAAAA,IAAC,OAAA,CACC,KAAAP,EACA,SAAU,IAAIQ,EAAM,QAClBL,EAAS,CAAC,EACVA,EAAS,CAAC,EACVA,EAAS,CAAC,CAAA,EACV,aAAa,GAAI,EACnB,SAAU,IAAIK,EAAM,MAAMH,EAAS,CAAC,EAAGA,EAAS,CAAC,EAAGA,EAAS,CAAC,EAAG,KAAK,EACtE,SAAUI,EAAAA,8BAA8BR,EAAS,KAAK,EAErD,SAAAC,CAAA,CAAA,CAGP"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ColliderElement.d.ts","sourceRoot":"","sources":["../../../../src/components/3d-viewport/collider/ColliderElement.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,KAAK,oBAAoB,GAAG;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,QAAQ,CAAA;IAClB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC3B,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EACtC,IAAI,EACJ,QAAQ,EACR,QAAQ,GACT,EAAE,oBAAoB,2CAoBtB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ColliderElement.js","sources":["../../../../src/components/3d-viewport/collider/ColliderElement.tsx"],"sourcesContent":["import type { Collider } from \"@wandelbots/nova-js/v2\"\nimport type React from \"react\"\nimport * as THREE from \"three\"\nimport { colliderShapeToBufferGeometry } from \"./colliderShapeToBufferGeometry\"\n\ntype ColliderElementProps = {\n name?: string\n collider: Collider\n children?: React.ReactNode\n}\n\nexport default function ColliderElement({\n name,\n collider,\n children,\n}: ColliderElementProps) {\n const position = collider.pose?.position ?? [0, 0, 0]\n const rotation = collider.pose?.orientation ?? [0, 0, 0]\n if (collider.margin) {\n console.warn(`${name} margin is not supported`)\n }\n return (\n <mesh\n name={name}\n position={new THREE.Vector3(\n position[0],\n position[1],\n position[2],\n ).divideScalar(1000)}\n rotation={new THREE.Euler(rotation[0], rotation[1], rotation[2], \"XYZ\")}\n geometry={colliderShapeToBufferGeometry(collider.shape)}\n >\n {children}\n </mesh>\n )\n}\n"],"names":["ColliderElement","name","collider","children","position","_a","rotation","_b","jsx","THREE","colliderShapeToBufferGeometry"],"mappings":";;;AAWA,SAAwBA,EAAgB;AAAA,EACtC,MAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC;AACF,GAAyB;;AACvB,QAAMC,MAAWC,IAAAH,EAAS,SAAT,gBAAAG,EAAe,aAAY,CAAC,GAAG,GAAG,CAAC,GAC9CC,MAAWC,IAAAL,EAAS,SAAT,gBAAAK,EAAe,gBAAe,CAAC,GAAG,GAAG,CAAC;AACvD,SAAIL,EAAS,UACX,QAAQ,KAAK,GAAGD,CAAI,0BAA0B,GAG9C,gBAAAO;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAAP;AAAA,MACA,UAAU,IAAIQ,EAAM;AAAA,QAClBL,EAAS,CAAC;AAAA,QACVA,EAAS,CAAC;AAAA,QACVA,EAAS,CAAC;AAAA,MAAA,EACV,aAAa,GAAI;AAAA,MACnB,UAAU,IAAIK,EAAM,MAAMH,EAAS,CAAC,GAAGA,EAAS,CAAC,GAAGA,EAAS,CAAC,GAAG,KAAK;AAAA,MACtE,UAAUI,EAA8BR,EAAS,KAAK;AAAA,MAErD,UAAAC;AAAA,IAAA;AAAA,EAAA;AAGP;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"CollisionSceneRenderer.cjs","sources":["../../../../src/components/3d-viewport/collider/CollisionSceneRenderer.tsx"],"sourcesContent":["import type { CollisionSetup } from \"@wandelbots/nova-js/v2\"\nimport ColliderCollection, {\n type MeshChildrenProvider,\n} from \"./ColliderCollection\"\n\ntype CollisionSceneRendererProps = {\n scene: CollisionSetup\n meshChildrenProvider: MeshChildrenProvider\n}\n\nexport default function CollisionSceneRenderer({\n scene,\n meshChildrenProvider,\n}: CollisionSceneRendererProps) {\n const colliders = scene.colliders\n return (\n <group>\n {colliders && (\n <ColliderCollection\n meshChildrenProvider={meshChildrenProvider}\n colliders={colliders}\n />\n )}\n </group>\n )\n}\n"],"names":["CollisionSceneRenderer","scene","meshChildrenProvider","colliders","jsx","ColliderCollection"],"mappings":"uLAUA,SAAwBA,EAAuB,CAC7C,MAAAC,EACA,qBAAAC,CACF,EAAgC,CAC9B,MAAMC,EAAYF,EAAM,UACxB,OACEG,EAAAA,IAAC,SACE,SAAAD,GACCC,EAAAA,IAACC,EAAAA,QAAA,CACC,qBAAAH,EACA,UAAAC,CAAA,CAAA,EAGN,CAEJ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"CollisionSceneRenderer.d.ts","sourceRoot":"","sources":["../../../../src/components/3d-viewport/collider/CollisionSceneRenderer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAA2B,EACzB,KAAK,oBAAoB,EAC1B,MAAM,sBAAsB,CAAA;AAE7B,KAAK,2BAA2B,GAAG;IACjC,KAAK,EAAE,cAAc,CAAA;IACrB,oBAAoB,EAAE,oBAAoB,CAAA;CAC3C,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,EAC7C,KAAK,EACL,oBAAoB,GACrB,EAAE,2BAA2B,2CAY7B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"CollisionSceneRenderer.js","sources":["../../../../src/components/3d-viewport/collider/CollisionSceneRenderer.tsx"],"sourcesContent":["import type { CollisionSetup } from \"@wandelbots/nova-js/v2\"\nimport ColliderCollection, {\n type MeshChildrenProvider,\n} from \"./ColliderCollection\"\n\ntype CollisionSceneRendererProps = {\n scene: CollisionSetup\n meshChildrenProvider: MeshChildrenProvider\n}\n\nexport default function CollisionSceneRenderer({\n scene,\n meshChildrenProvider,\n}: CollisionSceneRendererProps) {\n const colliders = scene.colliders\n return (\n <group>\n {colliders && (\n <ColliderCollection\n meshChildrenProvider={meshChildrenProvider}\n colliders={colliders}\n />\n )}\n </group>\n )\n}\n"],"names":["CollisionSceneRenderer","scene","meshChildrenProvider","colliders","jsx","ColliderCollection"],"mappings":";;AAUA,SAAwBA,EAAuB;AAAA,EAC7C,OAAAC;AAAA,EACA,sBAAAC;AACF,GAAgC;AAC9B,QAAMC,IAAYF,EAAM;AACxB,SACE,gBAAAG,EAAC,WACE,UAAAD,KACC,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,sBAAAH;AAAA,MACA,WAAAC;AAAA,IAAA;AAAA,EAAA,GAGN;AAEJ;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"colliderShapeToBufferGeometry.cjs","sources":["../../../../src/components/3d-viewport/collider/colliderShapeToBufferGeometry.ts"],"sourcesContent":["import type { ColliderShape } from \"@wandelbots/nova-js/v2\"\nimport * as THREE from \"three\"\nimport { ConvexGeometry } from \"three-stdlib\"\n\nexport function colliderShapeToBufferGeometry(\n shape: ColliderShape,\n): THREE.BufferGeometry {\n const shapeType = shape.shape_type\n switch (shapeType) {\n case \"convex_hull\":\n return new ConvexGeometry(\n shape.vertices.map(\n (vertex) =>\n new THREE.Vector3(\n vertex[0] / 1000,\n vertex[1] / 1000,\n vertex[2] / 1000,\n ),\n ),\n )\n case \"box\":\n return new THREE.BoxGeometry(\n shape.size_x / 1000,\n shape.size_y / 1000,\n shape.size_z / 1000,\n )\n case \"sphere\":\n return new THREE.SphereGeometry(shape.radius / 1000)\n case \"capsule\":\n return new THREE.CapsuleGeometry(\n shape.radius / 1000,\n shape.cylinder_height / 1000,\n )\n case \"cylinder\":\n return new THREE.CylinderGeometry(\n shape.radius / 1000,\n shape.radius / 1000,\n shape.height / 1000,\n )\n case \"rectangle\": {\n return new THREE.BoxGeometry(shape.size_x / 1000, shape.size_y / 1000, 0)\n }\n default: {\n console.warn(`${shape.shape_type} is not supported`)\n return new THREE.BufferGeometry()\n }\n }\n}\n"],"names":["colliderShapeToBufferGeometry","shape","ConvexGeometry","vertex","THREE"],"mappings":"6ZAIO,SAASA,EACdC,EACsB,CAEtB,OADkBA,EAAM,WAChB,CACN,IAAK,cACH,OAAO,IAAIC,EAAAA,eACTD,EAAM,SAAS,IACZE,GACC,IAAIC,EAAM,QACRD,EAAO,CAAC,EAAI,IACZA,EAAO,CAAC,EAAI,IACZA,EAAO,CAAC,EAAI,GAAA,CACd,CACJ,EAEJ,IAAK,MACH,OAAO,IAAIC,EAAM,YACfH,EAAM,OAAS,IACfA,EAAM,OAAS,IACfA,EAAM,OAAS,GAAA,EAEnB,IAAK,SACH,OAAO,IAAIG,EAAM,eAAeH,EAAM,OAAS,GAAI,EACrD,IAAK,UACH,OAAO,IAAIG,EAAM,gBACfH,EAAM,OAAS,IACfA,EAAM,gBAAkB,GAAA,EAE5B,IAAK,WACH,OAAO,IAAIG,EAAM,iBACfH,EAAM,OAAS,IACfA,EAAM,OAAS,IACfA,EAAM,OAAS,GAAA,EAEnB,IAAK,YACH,OAAO,IAAIG,EAAM,YAAYH,EAAM,OAAS,IAAMA,EAAM,OAAS,IAAM,CAAC,EAE1E,QACE,eAAQ,KAAK,GAAGA,EAAM,UAAU,mBAAmB,EAC5C,IAAIG,EAAM,cACnB,CAEJ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"colliderShapeToBufferGeometry.d.ts","sourceRoot":"","sources":["../../../../src/components/3d-viewport/collider/colliderShapeToBufferGeometry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAC3D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,aAAa,GACnB,KAAK,CAAC,cAAc,CAyCtB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"colliderShapeToBufferGeometry.js","sources":["../../../../src/components/3d-viewport/collider/colliderShapeToBufferGeometry.ts"],"sourcesContent":["import type { ColliderShape } from \"@wandelbots/nova-js/v2\"\nimport * as THREE from \"three\"\nimport { ConvexGeometry } from \"three-stdlib\"\n\nexport function colliderShapeToBufferGeometry(\n shape: ColliderShape,\n): THREE.BufferGeometry {\n const shapeType = shape.shape_type\n switch (shapeType) {\n case \"convex_hull\":\n return new ConvexGeometry(\n shape.vertices.map(\n (vertex) =>\n new THREE.Vector3(\n vertex[0] / 1000,\n vertex[1] / 1000,\n vertex[2] / 1000,\n ),\n ),\n )\n case \"box\":\n return new THREE.BoxGeometry(\n shape.size_x / 1000,\n shape.size_y / 1000,\n shape.size_z / 1000,\n )\n case \"sphere\":\n return new THREE.SphereGeometry(shape.radius / 1000)\n case \"capsule\":\n return new THREE.CapsuleGeometry(\n shape.radius / 1000,\n shape.cylinder_height / 1000,\n )\n case \"cylinder\":\n return new THREE.CylinderGeometry(\n shape.radius / 1000,\n shape.radius / 1000,\n shape.height / 1000,\n )\n case \"rectangle\": {\n return new THREE.BoxGeometry(shape.size_x / 1000, shape.size_y / 1000, 0)\n }\n default: {\n console.warn(`${shape.shape_type} is not supported`)\n return new THREE.BufferGeometry()\n }\n }\n}\n"],"names":["colliderShapeToBufferGeometry","shape","ConvexGeometry","vertex","THREE"],"mappings":";;AAIO,SAASA,EACdC,GACsB;AAEtB,UADkBA,EAAM,YAChB;AAAA,IACN,KAAK;AACH,aAAO,IAAIC;AAAA,QACTD,EAAM,SAAS;AAAA,UACb,CAACE,MACC,IAAIC,EAAM;AAAA,YACRD,EAAO,CAAC,IAAI;AAAA,YACZA,EAAO,CAAC,IAAI;AAAA,YACZA,EAAO,CAAC,IAAI;AAAA,UAAA;AAAA,QACd;AAAA,MACJ;AAAA,IAEJ,KAAK;AACH,aAAO,IAAIC,EAAM;AAAA,QACfH,EAAM,SAAS;AAAA,QACfA,EAAM,SAAS;AAAA,QACfA,EAAM,SAAS;AAAA,MAAA;AAAA,IAEnB,KAAK;AACH,aAAO,IAAIG,EAAM,eAAeH,EAAM,SAAS,GAAI;AAAA,IACrD,KAAK;AACH,aAAO,IAAIG,EAAM;AAAA,QACfH,EAAM,SAAS;AAAA,QACfA,EAAM,kBAAkB;AAAA,MAAA;AAAA,IAE5B,KAAK;AACH,aAAO,IAAIG,EAAM;AAAA,QACfH,EAAM,SAAS;AAAA,QACfA,EAAM,SAAS;AAAA,QACfA,EAAM,SAAS;AAAA,MAAA;AAAA,IAEnB,KAAK;AACH,aAAO,IAAIG,EAAM,YAAYH,EAAM,SAAS,KAAMA,EAAM,SAAS,KAAM,CAAC;AAAA,IAE1E;AACE,qBAAQ,KAAK,GAAGA,EAAM,UAAU,mBAAmB,GAC5C,IAAIG,EAAM,eAAA;AAAA,EACnB;AAEJ;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"AppHeader.cjs","sources":["../../src/components/AppHeader.tsx"],"sourcesContent":["import { alpha, type SxProps } from \"@mui/material/styles\"\nimport AppBar from \"@mui/material/AppBar\"\nimport Backdrop from \"@mui/material/Backdrop\"\nimport Box from \"@mui/material/Box\"\nimport IconButton from \"@mui/material/IconButton\"\nimport Menu from \"@mui/material/Menu\"\nimport MenuItem from \"@mui/material/MenuItem\"\nimport Toolbar from \"@mui/material/Toolbar\"\nimport Typography from \"@mui/material/Typography\"\nimport { observer } from \"mobx-react-lite\"\nimport { type MouseEvent, type ReactNode, useState } from \"react\"\nimport { externalizeComponent } from \"../externalizeComponent\"\nimport { DropdownArrowIcon } from \"../icons/DropdownArrowIcon\"\n\nexport type AppItem = {\n /** Unique identifier for the app */\n id: string\n /** Display name of the app */\n name: string\n /** Icon component to display */\n icon: ReactNode\n /** URL or callback to navigate to the app */\n href?: string\n /** Click handler for the app */\n onClick?: () => void\n}\n\nexport type AppHeaderProps = {\n /** Current app icon */\n appIcon: ReactNode\n /** Current app name */\n appName: string\n /** List of other available apps */\n apps?: AppItem[]\n /** Callback when an app is selected */\n onAppSelect?: (app: AppItem) => void\n /** Disable the menu button */\n disabled?: boolean\n /** Additional styling */\n sx?: SxProps\n}\n\n/**\n * A top navigation header component that displays the current app and provides\n * a dropdown menu to navigate to other apps.\n */\nexport const AppHeader = externalizeComponent(\n observer((props: AppHeaderProps) => {\n const {\n appIcon,\n appName,\n apps = [],\n onAppSelect,\n disabled = false,\n sx,\n } = props\n const [anchorEl, setAnchorEl] = useState<HTMLElement | null>(null)\n const isMenuOpen = Boolean(anchorEl)\n\n const handleMenuOpen = (event: MouseEvent<HTMLElement>) => {\n setAnchorEl(event.currentTarget)\n }\n\n const handleMenuClose = () => {\n setAnchorEl(null)\n }\n\n const handleAppSelect = (app: AppItem) => {\n handleMenuClose()\n\n if (app.onClick) {\n app.onClick()\n } else if (app.href) {\n window.location.href = app.href\n }\n\n onAppSelect?.(app)\n }\n\n return (\n <>\n <AppBar\n position=\"static\"\n sx={{\n boxShadow: \"none\",\n backgroundImage: \"none\",\n \"& .MuiAppBar-root\": {\n backgroundImage: \"none\",\n backgroundColor: \"transparent\",\n },\n ...sx,\n }}\n >\n <Toolbar sx={{ minHeight: \"62px !important\" }}>\n {/* App Icon */}\n <Box sx={{ mr: 1, display: \"flex\", alignItems: \"center\" }}>\n {appIcon}\n </Box>\n\n {/* App Name and Dropdown */}\n <Box sx={{ display: \"flex\", alignItems: \"center\", flexGrow: 1 }}>\n <Typography\n component=\"h1\"\n sx={{\n fontWeight: \"bold\",\n fontSize: \"1rem\",\n }}\n >\n {appName}\n </Typography>\n\n {/* Dropdown Button */}\n {apps.length > 0 && (\n <IconButton\n color=\"inherit\"\n aria-label=\"switch app\"\n aria-controls=\"app-menu\"\n aria-haspopup=\"true\"\n onClick={handleMenuOpen}\n disabled={disabled}\n sx={{\n ml: 1,\n width: 28,\n height: 28,\n borderRadius: \"6px\",\n padding: 0,\n backgroundColor: (theme) =>\n alpha(theme.palette.common.white, 0.1),\n opacity: 1,\n \"&:hover\": {\n backgroundColor: (theme) =>\n alpha(theme.palette.common.white, 0.16),\n },\n \"& .MuiSvgIcon-root\": {\n fontSize: \"8px\",\n width: \"8px\",\n height: \"6px\",\n },\n }}\n >\n <DropdownArrowIcon />\n </IconButton>\n )}\n </Box>\n </Toolbar>\n </AppBar>\n\n {/* Backdrop for blur effect */}\n <Backdrop\n open={isMenuOpen}\n onClick={handleMenuClose}\n sx={{\n backdropFilter: \"blur(4px)\",\n backgroundColor: \"rgba(0, 0, 0, 0.3)\",\n zIndex: (theme) => theme.zIndex.modal - 1,\n }}\n />\n\n {/* Dropdown Menu */}\n <Menu\n id=\"app-menu\"\n anchorEl={anchorEl}\n open={isMenuOpen}\n onClose={handleMenuClose}\n anchorOrigin={{\n vertical: \"bottom\",\n horizontal: \"left\",\n }}\n transformOrigin={{\n vertical: \"top\",\n horizontal: \"left\",\n }}\n sx={{\n zIndex: (theme) => theme.zIndex.modal,\n \"& .MuiPaper-root\": {\n minWidth: 200,\n mt: 1,\n },\n }}\n >\n {apps.map((app) => (\n <MenuItem key={app.id} onClick={() => handleAppSelect(app)}>\n <Box sx={{ display: \"flex\", alignItems: \"center\" }}>\n {app.icon}\n </Box>\n <Typography variant=\"body1\" sx={{ ml: 2 }}>\n {app.name}\n </Typography>\n </MenuItem>\n ))}\n </Menu>\n </>\n )\n }),\n)\n\nexport default AppHeader\n"],"names":["AppHeader","externalizeComponent","observer","props","appIcon","appName","apps","onAppSelect","disabled","sx","anchorEl","setAnchorEl","useState","isMenuOpen","handleMenuOpen","event","handleMenuClose","handleAppSelect","app","jsxs","Fragment","jsx","AppBar","Toolbar","Box","Typography","IconButton","theme","alpha","DropdownArrowIcon","Backdrop","Menu","MenuItem"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"AppHeader.d.ts","sourceRoot":"","sources":["../../src/components/AppHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAU1D,OAAO,EAAmB,KAAK,SAAS,EAAY,MAAM,OAAO,CAAA;AAIjE,MAAM,MAAM,OAAO,GAAG;IACpB,oCAAoC;IACpC,EAAE,EAAE,MAAM,CAAA;IACV,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,gCAAgC;IAChC,IAAI,EAAE,SAAS,CAAA;IACf,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,gCAAgC;IAChC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,uBAAuB;IACvB,OAAO,EAAE,SAAS,CAAA;IAClB,uBAAuB;IACvB,OAAO,EAAE,MAAM,CAAA;IACf,mCAAmC;IACnC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAA;IAChB,uCAAuC;IACvC,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAA;IACpC,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,yBAAyB;IACzB,EAAE,CAAC,EAAE,OAAO,CAAA;CACb,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,SAAS,WACH,cAAc;;CAmJhC,CAAA;AAED,eAAe,SAAS,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"AppHeader.js","sources":["../../src/components/AppHeader.tsx"],"sourcesContent":["import { alpha, type SxProps } from \"@mui/material/styles\"\nimport AppBar from \"@mui/material/AppBar\"\nimport Backdrop from \"@mui/material/Backdrop\"\nimport Box from \"@mui/material/Box\"\nimport IconButton from \"@mui/material/IconButton\"\nimport Menu from \"@mui/material/Menu\"\nimport MenuItem from \"@mui/material/MenuItem\"\nimport Toolbar from \"@mui/material/Toolbar\"\nimport Typography from \"@mui/material/Typography\"\nimport { observer } from \"mobx-react-lite\"\nimport { type MouseEvent, type ReactNode, useState } from \"react\"\nimport { externalizeComponent } from \"../externalizeComponent\"\nimport { DropdownArrowIcon } from \"../icons/DropdownArrowIcon\"\n\nexport type AppItem = {\n /** Unique identifier for the app */\n id: string\n /** Display name of the app */\n name: string\n /** Icon component to display */\n icon: ReactNode\n /** URL or callback to navigate to the app */\n href?: string\n /** Click handler for the app */\n onClick?: () => void\n}\n\nexport type AppHeaderProps = {\n /** Current app icon */\n appIcon: ReactNode\n /** Current app name */\n appName: string\n /** List of other available apps */\n apps?: AppItem[]\n /** Callback when an app is selected */\n onAppSelect?: (app: AppItem) => void\n /** Disable the menu button */\n disabled?: boolean\n /** Additional styling */\n sx?: SxProps\n}\n\n/**\n * A top navigation header component that displays the current app and provides\n * a dropdown menu to navigate to other apps.\n */\nexport const AppHeader = externalizeComponent(\n observer((props: AppHeaderProps) => {\n const {\n appIcon,\n appName,\n apps = [],\n onAppSelect,\n disabled = false,\n sx,\n } = props\n const [anchorEl, setAnchorEl] = useState<HTMLElement | null>(null)\n const isMenuOpen = Boolean(anchorEl)\n\n const handleMenuOpen = (event: MouseEvent<HTMLElement>) => {\n setAnchorEl(event.currentTarget)\n }\n\n const handleMenuClose = () => {\n setAnchorEl(null)\n }\n\n const handleAppSelect = (app: AppItem) => {\n handleMenuClose()\n\n if (app.onClick) {\n app.onClick()\n } else if (app.href) {\n window.location.href = app.href\n }\n\n onAppSelect?.(app)\n }\n\n return (\n <>\n <AppBar\n position=\"static\"\n sx={{\n boxShadow: \"none\",\n backgroundImage: \"none\",\n \"& .MuiAppBar-root\": {\n backgroundImage: \"none\",\n backgroundColor: \"transparent\",\n },\n ...sx,\n }}\n >\n <Toolbar sx={{ minHeight: \"62px !important\" }}>\n {/* App Icon */}\n <Box sx={{ mr: 1, display: \"flex\", alignItems: \"center\" }}>\n {appIcon}\n </Box>\n\n {/* App Name and Dropdown */}\n <Box sx={{ display: \"flex\", alignItems: \"center\", flexGrow: 1 }}>\n <Typography\n component=\"h1\"\n sx={{\n fontWeight: \"bold\",\n fontSize: \"1rem\",\n }}\n >\n {appName}\n </Typography>\n\n {/* Dropdown Button */}\n {apps.length > 0 && (\n <IconButton\n color=\"inherit\"\n aria-label=\"switch app\"\n aria-controls=\"app-menu\"\n aria-haspopup=\"true\"\n onClick={handleMenuOpen}\n disabled={disabled}\n sx={{\n ml: 1,\n width: 28,\n height: 28,\n borderRadius: \"6px\",\n padding: 0,\n backgroundColor: (theme) =>\n alpha(theme.palette.common.white, 0.1),\n opacity: 1,\n \"&:hover\": {\n backgroundColor: (theme) =>\n alpha(theme.palette.common.white, 0.16),\n },\n \"& .MuiSvgIcon-root\": {\n fontSize: \"8px\",\n width: \"8px\",\n height: \"6px\",\n },\n }}\n >\n <DropdownArrowIcon />\n </IconButton>\n )}\n </Box>\n </Toolbar>\n </AppBar>\n\n {/* Backdrop for blur effect */}\n <Backdrop\n open={isMenuOpen}\n onClick={handleMenuClose}\n sx={{\n backdropFilter: \"blur(4px)\",\n backgroundColor: \"rgba(0, 0, 0, 0.3)\",\n zIndex: (theme) => theme.zIndex.modal - 1,\n }}\n />\n\n {/* Dropdown Menu */}\n <Menu\n id=\"app-menu\"\n anchorEl={anchorEl}\n open={isMenuOpen}\n onClose={handleMenuClose}\n anchorOrigin={{\n vertical: \"bottom\",\n horizontal: \"left\",\n }}\n transformOrigin={{\n vertical: \"top\",\n horizontal: \"left\",\n }}\n sx={{\n zIndex: (theme) => theme.zIndex.modal,\n \"& .MuiPaper-root\": {\n minWidth: 200,\n mt: 1,\n },\n }}\n >\n {apps.map((app) => (\n <MenuItem key={app.id} onClick={() => handleAppSelect(app)}>\n <Box sx={{ display: \"flex\", alignItems: \"center\" }}>\n {app.icon}\n </Box>\n <Typography variant=\"body1\" sx={{ ml: 2 }}>\n {app.name}\n </Typography>\n </MenuItem>\n ))}\n </Menu>\n </>\n )\n }),\n)\n\nexport default AppHeader\n"],"names":["AppHeader","externalizeComponent","observer","props","appIcon","appName","apps","onAppSelect","disabled","sx","anchorEl","setAnchorEl","useState","isMenuOpen","handleMenuOpen","event","handleMenuClose","handleAppSelect","app","jsxs","Fragment","jsx","AppBar","Toolbar","Box","Typography","IconButton","theme","alpha","DropdownArrowIcon","Backdrop","Menu","MenuItem"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ConsoleFilter.cjs","sources":["../../src/components/ConsoleFilter.tsx"],"sourcesContent":["\"use client\"\nimport { useEffect } from \"react\"\n\nconst defaultWarn = console.warn\n\nexport default function ConsoleFilter() {\n useEffect(() => {\n console.warn = (data) => {\n // This message is caused by a bug from useSpring in combination with Canvas \"demand\" frameloop.\n // For now we can only suppress this warning there are no sideeffects yet\n // See https://github.com/pmndrs/react-spring/issues/1586#issuecomment-915051856\n if (\n data ===\n \"Cannot call the manual advancement of rafz whilst frameLoop is not set as demand\"\n ) {\n return\n }\n\n defaultWarn(data)\n }\n }, [])\n\n return null\n}\n"],"names":["defaultWarn","ConsoleFilter","useEffect","data"],"mappings":"qIAGMA,EAAc,QAAQ,KAE5B,SAAwBC,GAAgB,CACtCC,OAAAA,EAAAA,UAAU,IAAM,CACd,QAAQ,KAAQC,GAAS,CAKrBA,IACA,oFAKFH,EAAYG,CAAI,CAClB,CACF,EAAG,CAAA,CAAE,EAEE,IACT"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ConsoleFilter.d.ts","sourceRoot":"","sources":["../../src/components/ConsoleFilter.tsx"],"names":[],"mappings":"AAKA,MAAM,CAAC,OAAO,UAAU,aAAa,SAkBpC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ConsoleFilter.js","sources":["../../src/components/ConsoleFilter.tsx"],"sourcesContent":["\"use client\"\nimport { useEffect } from \"react\"\n\nconst defaultWarn = console.warn\n\nexport default function ConsoleFilter() {\n useEffect(() => {\n console.warn = (data) => {\n // This message is caused by a bug from useSpring in combination with Canvas \"demand\" frameloop.\n // For now we can only suppress this warning there are no sideeffects yet\n // See https://github.com/pmndrs/react-spring/issues/1586#issuecomment-915051856\n if (\n data ===\n \"Cannot call the manual advancement of rafz whilst frameLoop is not set as demand\"\n ) {\n return\n }\n\n defaultWarn(data)\n }\n }, [])\n\n return null\n}\n"],"names":["defaultWarn","ConsoleFilter","useEffect","data"],"mappings":";AAGA,MAAMA,IAAc,QAAQ;AAE5B,SAAwBC,IAAgB;AACtC,SAAAC,EAAU,MAAM;AACd,YAAQ,OAAO,CAACC,MAAS;AAIvB,MACEA,MACA,sFAKFH,EAAYG,CAAI;AAAA,IAClB;AAAA,EACF,GAAG,CAAA,CAAE,GAEE;AACT;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"CopyableText.cjs","sources":["../../src/components/CopyableText.tsx"],"sourcesContent":["import { useTheme } from \"@mui/material/styles\"\nimport Stack from \"@mui/material/Stack\"\nimport Tooltip from \"@mui/material/Tooltip\"\nimport Typography from \"@mui/material/Typography\"\nimport { useEffect, useState } from \"react\"\n\nexport const CopyableText = (props: {\n label?: string\n value: string\n ref?: React.Ref<HTMLDivElement>\n}) => {\n const { value, ref } = props\n // Note: label prop is available but not currently used in the component\n const theme = useTheme()\n const [tooltipOpen, setTooltipOpen] = useState(false)\n\n async function onCopyText(): Promise<boolean> {\n if (!ref || !(\"current\" in ref)) {\n console.warn(\"No copy target found\")\n return false\n }\n try {\n await navigator.clipboard.writeText(value)\n console.log(\"Copied!\")\n setTooltipOpen(true)\n return true\n } catch (err) {\n // Direct clipboard copy is not available in non-secure contexts\n console.error(err)\n\n // Let's fall back to selecting the text so the user can manually copy easily\n const selection = window.getSelection()\n if (selection && ref && \"current\" in ref && ref.current) {\n const range = document.createRange()\n range.selectNodeContents(ref.current)\n selection.removeAllRanges()\n selection.addRange(range)\n }\n }\n return false\n }\n\n useEffect(() => {\n if (!tooltipOpen) {\n return\n }\n const timeoutId = setTimeout(() => setTooltipOpen(false), 3000)\n return () => {\n timeoutId ? clearTimeout(timeoutId) : {}\n }\n }, [tooltipOpen])\n\n return (\n <Tooltip open={tooltipOpen} title=\"Copied!\">\n <Stack\n justifyContent=\"center\"\n sx={{\n height: \"100%\",\n boxSizing: \"border-box\",\n padding: \"6px 12px\",\n background: theme.palette.backgroundPaperElevation?.[8],\n borderRadius: \"10px\",\n minWidth: \"0\",\n cursor: \"pointer\",\n }}\n onClick={() => onCopyText()}\n >\n <Typography\n ref={ref}\n align=\"center\"\n sx={{\n pointerEvents: \"none\",\n fontSize: \"12px\",\n color: theme.palette.text.primary,\n whiteSpace: \"nowrap\",\n minWidth: 0,\n textOverflow: \"ellipsis\",\n width: \"100%\",\n overflow: \"hidden\",\n }}\n >\n {value}\n </Typography>\n </Stack>\n </Tooltip>\n )\n}\n\nexport default CopyableText\n"],"names":["CopyableText","props","value","ref","theme","useTheme","tooltipOpen","setTooltipOpen","useState","onCopyText","err","selection","range","useEffect","timeoutId","jsx","Tooltip","Stack","_a","Typography"],"mappings":"gTAMaA,EAAgBC,GAIvB,OACJ,KAAM,CAAE,MAAAC,EAAO,IAAAC,CAAA,EAAQF,EAEjBG,EAAQC,EAAAA,SAAA,EACR,CAACC,EAAaC,CAAc,EAAIC,EAAAA,SAAS,EAAK,EAEpD,eAAeC,GAA+B,CAC5C,GAAI,CAACN,GAAO,EAAE,YAAaA,GACzB,eAAQ,KAAK,sBAAsB,EAC5B,GAET,GAAI,CACF,aAAM,UAAU,UAAU,UAAUD,CAAK,EACzC,QAAQ,IAAI,SAAS,EACrBK,EAAe,EAAI,EACZ,EACT,OAASG,EAAK,CAEZ,QAAQ,MAAMA,CAAG,EAGjB,MAAMC,EAAY,OAAO,aAAA,EACzB,GAAIA,GAAaR,GAAO,YAAaA,GAAOA,EAAI,QAAS,CACvD,MAAMS,EAAQ,SAAS,YAAA,EACvBA,EAAM,mBAAmBT,EAAI,OAAO,EACpCQ,EAAU,gBAAA,EACVA,EAAU,SAASC,CAAK,CAC1B,CACF,CACA,MAAO,EACT,CAEAC,OAAAA,EAAAA,UAAU,IAAM,CACd,GAAI,CAACP,EACH,OAEF,MAAMQ,EAAY,WAAW,IAAMP,EAAe,EAAK,EAAG,GAAI,EAC9D,MAAO,IAAM,CACXO,GAAY,aAAaA,CAAS,CACpC,CACF,EAAG,CAACR,CAAW,CAAC,EAGdS,EAAAA,IAACC,EAAA,CAAQ,KAAMV,EAAa,MAAM,UAChC,SAAAS,EAAAA,IAACE,EAAA,CACC,eAAe,SACf,GAAI,CACF,OAAQ,OACR,UAAW,aACX,QAAS,WACT,YAAYC,EAAAd,EAAM,QAAQ,2BAAd,YAAAc,EAAyC,GACrD,aAAc,OACd,SAAU,IACV,OAAQ,SAAA,EAEV,QAAS,IAAMT,EAAA,EAEf,SAAAM,EAAAA,IAACI,EAAA,CACC,IAAAhB,EACA,MAAM,SACN,GAAI,CACF,cAAe,OACf,SAAU,OACV,MAAOC,EAAM,QAAQ,KAAK,QAC1B,WAAY,SACZ,SAAU,EACV,aAAc,WACd,MAAO,OACP,SAAU,QAAA,EAGX,SAAAF,CAAA,CAAA,CACH,CAAA,EAEJ,CAEJ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"CopyableText.d.ts","sourceRoot":"","sources":["../../src/components/CopyableText.tsx"],"names":[],"mappings":"AAMA,eAAO,MAAM,YAAY,GAAI,OAAO;IAClC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;CAChC,4CA4EA,CAAA;AAED,eAAe,YAAY,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"CopyableText.js","sources":["../../src/components/CopyableText.tsx"],"sourcesContent":["import { useTheme } from \"@mui/material/styles\"\nimport Stack from \"@mui/material/Stack\"\nimport Tooltip from \"@mui/material/Tooltip\"\nimport Typography from \"@mui/material/Typography\"\nimport { useEffect, useState } from \"react\"\n\nexport const CopyableText = (props: {\n label?: string\n value: string\n ref?: React.Ref<HTMLDivElement>\n}) => {\n const { value, ref } = props\n // Note: label prop is available but not currently used in the component\n const theme = useTheme()\n const [tooltipOpen, setTooltipOpen] = useState(false)\n\n async function onCopyText(): Promise<boolean> {\n if (!ref || !(\"current\" in ref)) {\n console.warn(\"No copy target found\")\n return false\n }\n try {\n await navigator.clipboard.writeText(value)\n console.log(\"Copied!\")\n setTooltipOpen(true)\n return true\n } catch (err) {\n // Direct clipboard copy is not available in non-secure contexts\n console.error(err)\n\n // Let's fall back to selecting the text so the user can manually copy easily\n const selection = window.getSelection()\n if (selection && ref && \"current\" in ref && ref.current) {\n const range = document.createRange()\n range.selectNodeContents(ref.current)\n selection.removeAllRanges()\n selection.addRange(range)\n }\n }\n return false\n }\n\n useEffect(() => {\n if (!tooltipOpen) {\n return\n }\n const timeoutId = setTimeout(() => setTooltipOpen(false), 3000)\n return () => {\n timeoutId ? clearTimeout(timeoutId) : {}\n }\n }, [tooltipOpen])\n\n return (\n <Tooltip open={tooltipOpen} title=\"Copied!\">\n <Stack\n justifyContent=\"center\"\n sx={{\n height: \"100%\",\n boxSizing: \"border-box\",\n padding: \"6px 12px\",\n background: theme.palette.backgroundPaperElevation?.[8],\n borderRadius: \"10px\",\n minWidth: \"0\",\n cursor: \"pointer\",\n }}\n onClick={() => onCopyText()}\n >\n <Typography\n ref={ref}\n align=\"center\"\n sx={{\n pointerEvents: \"none\",\n fontSize: \"12px\",\n color: theme.palette.text.primary,\n whiteSpace: \"nowrap\",\n minWidth: 0,\n textOverflow: \"ellipsis\",\n width: \"100%\",\n overflow: \"hidden\",\n }}\n >\n {value}\n </Typography>\n </Stack>\n </Tooltip>\n )\n}\n\nexport default CopyableText\n"],"names":["CopyableText","props","value","ref","theme","useTheme","tooltipOpen","setTooltipOpen","useState","onCopyText","err","selection","range","useEffect","timeoutId","jsx","Tooltip","Stack","_a","Typography"],"mappings":";;;;;;AAMO,MAAMA,IAAe,CAACC,MAIvB;;AACJ,QAAM,EAAE,OAAAC,GAAO,KAAAC,EAAA,IAAQF,GAEjBG,IAAQC,EAAA,GACR,CAACC,GAAaC,CAAc,IAAIC,EAAS,EAAK;AAEpD,iBAAeC,IAA+B;AAC5C,QAAI,CAACN,KAAO,EAAE,aAAaA;AACzB,qBAAQ,KAAK,sBAAsB,GAC5B;AAET,QAAI;AACF,mBAAM,UAAU,UAAU,UAAUD,CAAK,GACzC,QAAQ,IAAI,SAAS,GACrBK,EAAe,EAAI,GACZ;AAAA,IACT,SAASG,GAAK;AAEZ,cAAQ,MAAMA,CAAG;AAGjB,YAAMC,IAAY,OAAO,aAAA;AACzB,UAAIA,KAAaR,KAAO,aAAaA,KAAOA,EAAI,SAAS;AACvD,cAAMS,IAAQ,SAAS,YAAA;AACvB,QAAAA,EAAM,mBAAmBT,EAAI,OAAO,GACpCQ,EAAU,gBAAA,GACVA,EAAU,SAASC,CAAK;AAAA,MAC1B;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAEA,SAAAC,EAAU,MAAM;AACd,QAAI,CAACP;AACH;AAEF,UAAMQ,IAAY,WAAW,MAAMP,EAAe,EAAK,GAAG,GAAI;AAC9D,WAAO,MAAM;AACX,MAAAO,KAAY,aAAaA,CAAS;AAAA,IACpC;AAAA,EACF,GAAG,CAACR,CAAW,CAAC,GAGd,gBAAAS,EAACC,GAAA,EAAQ,MAAMV,GAAa,OAAM,WAChC,UAAA,gBAAAS;AAAA,IAACE;AAAA,IAAA;AAAA,MACC,gBAAe;AAAA,MACf,IAAI;AAAA,QACF,QAAQ;AAAA,QACR,WAAW;AAAA,QACX,SAAS;AAAA,QACT,aAAYC,IAAAd,EAAM,QAAQ,6BAAd,gBAAAc,EAAyC;AAAA,QACrD,cAAc;AAAA,QACd,UAAU;AAAA,QACV,QAAQ;AAAA,MAAA;AAAA,MAEV,SAAS,MAAMT,EAAA;AAAA,MAEf,UAAA,gBAAAM;AAAA,QAACI;AAAA,QAAA;AAAA,UACC,KAAAhB;AAAA,UACA,OAAM;AAAA,UACN,IAAI;AAAA,YACF,eAAe;AAAA,YACf,UAAU;AAAA,YACV,OAAOC,EAAM,QAAQ,KAAK;AAAA,YAC1B,YAAY;AAAA,YACZ,UAAU;AAAA,YACV,cAAc;AAAA,YACd,OAAO;AAAA,YACP,UAAU;AAAA,UAAA;AAAA,UAGX,UAAAF;AAAA,QAAA;AAAA,MAAA;AAAA,IACH;AAAA,EAAA,GAEJ;AAEJ;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"CycleTimer.d.ts","sourceRoot":"","sources":["../../../src/components/CycleTimer/CycleTimer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,YAAY,EACV,kBAAkB,EAClB,eAAe,EACf,eAAe,GAChB,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAE,UAAU,IAAI,OAAO,EAAE,MAAM,SAAS,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DefaultVariant.cjs","sources":["../../../src/components/CycleTimer/DefaultVariant.tsx"],"sourcesContent":["import { useTheme } from \"@mui/material/styles\"\nimport Box from \"@mui/material/Box\"\nimport Fade from \"@mui/material/Fade\"\nimport Typography from \"@mui/material/Typography\"\nimport { Gauge } from \"@mui/x-charts/Gauge\"\nimport { useTranslation } from \"react-i18next\"\nimport type { AnimationState, TimerState } from \"./types\"\nimport { formatTime, formatTimeLocalized } from \"./utils\"\n\ninterface DefaultVariantProps {\n timerState: TimerState\n animationState: AnimationState\n hasError: boolean\n className?: string\n}\n\nexport const DefaultVariant = ({\n timerState,\n animationState,\n hasError,\n className,\n}: DefaultVariantProps) => {\n const { t, i18n } = useTranslation()\n const theme = useTheme()\n const { currentState, remainingTime, maxTime, currentProgress } = timerState\n const {\n showErrorAnimation,\n showPauseAnimation,\n showPulsatingText,\n pulsatingFinished,\n showLabels,\n showMainText,\n showIdlePulsating,\n idleDotsCount,\n } = animationState\n\n return (\n <Box\n className={className}\n sx={{\n position: \"relative\",\n width: 264,\n height: 264,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n }}\n >\n <Gauge\n width={264}\n height={264}\n value={currentState === \"idle\" ? 0 : currentProgress}\n valueMin={0}\n valueMax={100}\n innerRadius=\"85%\"\n outerRadius=\"100%\"\n margin={0}\n skipAnimation={true}\n text={() => \"\"}\n sx={{\n opacity: showPauseAnimation || showErrorAnimation ? 0.6 : 1,\n transition: \"opacity 0.5s ease-out\",\n \"& .MuiGauge-valueArc\": {\n fill: hasError\n ? theme.palette.error.light\n : theme.palette.success.main,\n transition: \"fill 0.5s ease-out\",\n },\n \"& .MuiGauge-referenceArc\": {\n fill: currentState === \"idle\" ? \"#171927\" : \"#171927\",\n stroke: \"transparent\",\n strokeWidth: 0,\n transition:\n \"fill 0.5s ease-out, stroke 0.5s ease-out, stroke-width 0.5s ease-out\",\n },\n \"& .MuiGauge-valueText\": {\n display: \"none\",\n },\n \"& .MuiGauge-text\": {\n display: \"none\",\n },\n }}\n />\n\n {/* Center content overlay */}\n <Box\n sx={{\n position: \"absolute\",\n top: \"50%\",\n left: \"50%\",\n transform: \"translate(-50%, -50%)\",\n width: 225,\n height: 225,\n borderRadius: \"50%\",\n backgroundColor: \"#292B3F\",\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\",\n textAlign: \"center\",\n gap: 1,\n transition: \"background-color 0.5s ease-out\",\n }}\n >\n {/* Top label */}\n <Box\n sx={{\n height: \"16px\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n marginBottom: 1,\n }}\n >\n <Fade\n in={\n showLabels &&\n !hasError &&\n currentState !== \"idle\" &&\n currentState !== \"success\"\n }\n timeout={300}\n >\n <Typography\n variant=\"body2\"\n sx={{\n fontSize: \"12px\",\n color:\n currentState === \"measured\"\n ? showPulsatingText || pulsatingFinished\n ? theme.palette.success.main\n : theme.palette.text.secondary\n : theme.palette.text.secondary,\n transition: \"color 0.8s ease-in-out\",\n }}\n >\n <span\n style={{\n opacity:\n currentState === \"measured\" && pulsatingFinished\n ? showPulsatingText\n ? 1\n : 0.6\n : 1,\n transition: \"opacity 2s ease-in-out\",\n }}\n >\n {currentState === \"measuring\"\n ? t(\"CycleTimer.CycleTime.lb\", \"Cycle Time\")\n : currentState === \"measured\"\n ? t(\"CycleTimer.CycleTime.lb\", \"Cycle Time\")\n : currentState === \"countdown\"\n ? t(\"CycleTimer.RemainingTime.lb\", \"Remaining Time\")\n : \"\"}\n </span>\n </Typography>\n </Fade>\n </Box>\n\n {/* Main display */}\n <Box\n sx={{\n position: \"relative\",\n height: \"48px\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n marginBottom: 0.5,\n }}\n >\n {/* Idle state text */}\n <Fade\n in={showMainText && currentState === \"idle\" && !hasError}\n timeout={200}\n >\n <Typography\n variant=\"body2\"\n sx={{\n position: \"absolute\",\n fontSize: \"12px\",\n fontWeight: 400,\n color: \"rgba(255, 255, 255, 0.7)\",\n lineHeight: \"166%\",\n letterSpacing: \"0.17px\",\n textAlign: \"center\",\n width: \"200px\",\n height: \"20px\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n }}\n >\n <span\n style={{\n opacity: showIdlePulsating ? 1 : 0.6,\n transition: \"opacity 2s ease-in-out\",\n }}\n >\n {t(\n \"CycleTimer.WaitingForCycle.lb\",\n \"Waiting for program cycle\",\n )}\n </span>\n <span\n style={{\n display: \"inline-block\",\n width: \"18px\",\n textAlign: \"left\",\n opacity: showIdlePulsating ? 1 : 0.6,\n transition: \"opacity 2s ease-in-out\",\n }}\n >\n {\".\".repeat(idleDotsCount)}\n </span>\n </Typography>\n </Fade>\n\n {/* Error text */}\n <Fade in={showMainText && hasError} timeout={200}>\n <Typography\n variant=\"h3\"\n sx={{\n position: \"absolute\",\n fontSize: \"40px\",\n fontWeight: 400,\n color: \"#FFFFFF\",\n lineHeight: \"116.7%\",\n }}\n >\n {t(\"CycleTimer.Error.lb\", \"Error\")}\n </Typography>\n </Fade>\n\n {/* Normal timer text */}\n <Fade\n in={\n showMainText &&\n !hasError &&\n currentState !== \"idle\" &&\n currentState !== \"success\"\n }\n timeout={300}\n >\n <Typography\n variant=\"h1\"\n sx={{\n position: \"absolute\",\n fontSize: \"48px\",\n fontWeight: 500,\n color: theme.palette.text.primary,\n lineHeight: 1,\n transition: \"color 0.8s ease-in-out\",\n }}\n >\n <span\n style={{\n opacity: 1,\n transition: \"opacity 2s ease-in-out\",\n }}\n >\n {formatTime(remainingTime)}\n </span>\n </Typography>\n </Fade>\n </Box>\n\n {/* Bottom label */}\n <Box\n sx={{\n height: \"16px\",\n display: \"flex\",\n marginTop: 0.5,\n alignItems: \"center\",\n justifyContent: \"center\",\n }}\n >\n <Fade\n in={\n showLabels &&\n !hasError &&\n currentState !== \"idle\" &&\n currentState !== \"success\"\n }\n timeout={300}\n >\n <Typography\n variant=\"body2\"\n sx={{\n fontSize: \"12px\",\n color:\n currentState === \"measured\"\n ? showPulsatingText || pulsatingFinished\n ? theme.palette.success.main\n : theme.palette.text.secondary\n : theme.palette.text.secondary,\n transition: \"color 0.8s ease-in-out\",\n }}\n >\n <span\n style={{\n opacity:\n currentState === \"measured\" && pulsatingFinished\n ? showPulsatingText\n ? 1\n : 0.6\n : 1,\n transition: \"opacity 2s ease-in-out\",\n }}\n >\n {currentState === \"measuring\"\n ? t(\"CycleTimer.Measuring.lb\", \"measuring...\")\n : currentState === \"measured\"\n ? t(\"CycleTimer.Determined.lb\", \"determined\")\n : currentState === \"countdown\" && maxTime !== null\n ? t(\"CycleTimer.OfTime.lb\", {\n time: formatTimeLocalized(maxTime, i18n.language),\n })\n : \"\"}\n </span>\n </Typography>\n </Fade>\n </Box>\n </Box>\n </Box>\n )\n}\n"],"names":["DefaultVariant","timerState","animationState","hasError","className","t","i18n","useTranslation","theme","useTheme","currentState","remainingTime","maxTime","currentProgress","showErrorAnimation","showPauseAnimation","showPulsatingText","pulsatingFinished","showLabels","showMainText","showIdlePulsating","idleDotsCount","jsxs","Box","jsx","Gauge","Fade","Typography","formatTimeLocalized"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DefaultVariant.d.ts","sourceRoot":"","sources":["../../../src/components/CycleTimer/DefaultVariant.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAGzD,UAAU,mBAAmB;IAC3B,UAAU,EAAE,UAAU,CAAA;IACtB,cAAc,EAAE,cAAc,CAAA;IAC9B,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,eAAO,MAAM,cAAc,GAAI,sDAK5B,mBAAmB,4CAgTrB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DefaultVariant.js","sources":["../../../src/components/CycleTimer/DefaultVariant.tsx"],"sourcesContent":["import { useTheme } from \"@mui/material/styles\"\nimport Box from \"@mui/material/Box\"\nimport Fade from \"@mui/material/Fade\"\nimport Typography from \"@mui/material/Typography\"\nimport { Gauge } from \"@mui/x-charts/Gauge\"\nimport { useTranslation } from \"react-i18next\"\nimport type { AnimationState, TimerState } from \"./types\"\nimport { formatTime, formatTimeLocalized } from \"./utils\"\n\ninterface DefaultVariantProps {\n timerState: TimerState\n animationState: AnimationState\n hasError: boolean\n className?: string\n}\n\nexport const DefaultVariant = ({\n timerState,\n animationState,\n hasError,\n className,\n}: DefaultVariantProps) => {\n const { t, i18n } = useTranslation()\n const theme = useTheme()\n const { currentState, remainingTime, maxTime, currentProgress } = timerState\n const {\n showErrorAnimation,\n showPauseAnimation,\n showPulsatingText,\n pulsatingFinished,\n showLabels,\n showMainText,\n showIdlePulsating,\n idleDotsCount,\n } = animationState\n\n return (\n <Box\n className={className}\n sx={{\n position: \"relative\",\n width: 264,\n height: 264,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n }}\n >\n <Gauge\n width={264}\n height={264}\n value={currentState === \"idle\" ? 0 : currentProgress}\n valueMin={0}\n valueMax={100}\n innerRadius=\"85%\"\n outerRadius=\"100%\"\n margin={0}\n skipAnimation={true}\n text={() => \"\"}\n sx={{\n opacity: showPauseAnimation || showErrorAnimation ? 0.6 : 1,\n transition: \"opacity 0.5s ease-out\",\n \"& .MuiGauge-valueArc\": {\n fill: hasError\n ? theme.palette.error.light\n : theme.palette.success.main,\n transition: \"fill 0.5s ease-out\",\n },\n \"& .MuiGauge-referenceArc\": {\n fill: currentState === \"idle\" ? \"#171927\" : \"#171927\",\n stroke: \"transparent\",\n strokeWidth: 0,\n transition:\n \"fill 0.5s ease-out, stroke 0.5s ease-out, stroke-width 0.5s ease-out\",\n },\n \"& .MuiGauge-valueText\": {\n display: \"none\",\n },\n \"& .MuiGauge-text\": {\n display: \"none\",\n },\n }}\n />\n\n {/* Center content overlay */}\n <Box\n sx={{\n position: \"absolute\",\n top: \"50%\",\n left: \"50%\",\n transform: \"translate(-50%, -50%)\",\n width: 225,\n height: 225,\n borderRadius: \"50%\",\n backgroundColor: \"#292B3F\",\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\",\n textAlign: \"center\",\n gap: 1,\n transition: \"background-color 0.5s ease-out\",\n }}\n >\n {/* Top label */}\n <Box\n sx={{\n height: \"16px\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n marginBottom: 1,\n }}\n >\n <Fade\n in={\n showLabels &&\n !hasError &&\n currentState !== \"idle\" &&\n currentState !== \"success\"\n }\n timeout={300}\n >\n <Typography\n variant=\"body2\"\n sx={{\n fontSize: \"12px\",\n color:\n currentState === \"measured\"\n ? showPulsatingText || pulsatingFinished\n ? theme.palette.success.main\n : theme.palette.text.secondary\n : theme.palette.text.secondary,\n transition: \"color 0.8s ease-in-out\",\n }}\n >\n <span\n style={{\n opacity:\n currentState === \"measured\" && pulsatingFinished\n ? showPulsatingText\n ? 1\n : 0.6\n : 1,\n transition: \"opacity 2s ease-in-out\",\n }}\n >\n {currentState === \"measuring\"\n ? t(\"CycleTimer.CycleTime.lb\", \"Cycle Time\")\n : currentState === \"measured\"\n ? t(\"CycleTimer.CycleTime.lb\", \"Cycle Time\")\n : currentState === \"countdown\"\n ? t(\"CycleTimer.RemainingTime.lb\", \"Remaining Time\")\n : \"\"}\n </span>\n </Typography>\n </Fade>\n </Box>\n\n {/* Main display */}\n <Box\n sx={{\n position: \"relative\",\n height: \"48px\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n marginBottom: 0.5,\n }}\n >\n {/* Idle state text */}\n <Fade\n in={showMainText && currentState === \"idle\" && !hasError}\n timeout={200}\n >\n <Typography\n variant=\"body2\"\n sx={{\n position: \"absolute\",\n fontSize: \"12px\",\n fontWeight: 400,\n color: \"rgba(255, 255, 255, 0.7)\",\n lineHeight: \"166%\",\n letterSpacing: \"0.17px\",\n textAlign: \"center\",\n width: \"200px\",\n height: \"20px\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n }}\n >\n <span\n style={{\n opacity: showIdlePulsating ? 1 : 0.6,\n transition: \"opacity 2s ease-in-out\",\n }}\n >\n {t(\n \"CycleTimer.WaitingForCycle.lb\",\n \"Waiting for program cycle\",\n )}\n </span>\n <span\n style={{\n display: \"inline-block\",\n width: \"18px\",\n textAlign: \"left\",\n opacity: showIdlePulsating ? 1 : 0.6,\n transition: \"opacity 2s ease-in-out\",\n }}\n >\n {\".\".repeat(idleDotsCount)}\n </span>\n </Typography>\n </Fade>\n\n {/* Error text */}\n <Fade in={showMainText && hasError} timeout={200}>\n <Typography\n variant=\"h3\"\n sx={{\n position: \"absolute\",\n fontSize: \"40px\",\n fontWeight: 400,\n color: \"#FFFFFF\",\n lineHeight: \"116.7%\",\n }}\n >\n {t(\"CycleTimer.Error.lb\", \"Error\")}\n </Typography>\n </Fade>\n\n {/* Normal timer text */}\n <Fade\n in={\n showMainText &&\n !hasError &&\n currentState !== \"idle\" &&\n currentState !== \"success\"\n }\n timeout={300}\n >\n <Typography\n variant=\"h1\"\n sx={{\n position: \"absolute\",\n fontSize: \"48px\",\n fontWeight: 500,\n color: theme.palette.text.primary,\n lineHeight: 1,\n transition: \"color 0.8s ease-in-out\",\n }}\n >\n <span\n style={{\n opacity: 1,\n transition: \"opacity 2s ease-in-out\",\n }}\n >\n {formatTime(remainingTime)}\n </span>\n </Typography>\n </Fade>\n </Box>\n\n {/* Bottom label */}\n <Box\n sx={{\n height: \"16px\",\n display: \"flex\",\n marginTop: 0.5,\n alignItems: \"center\",\n justifyContent: \"center\",\n }}\n >\n <Fade\n in={\n showLabels &&\n !hasError &&\n currentState !== \"idle\" &&\n currentState !== \"success\"\n }\n timeout={300}\n >\n <Typography\n variant=\"body2\"\n sx={{\n fontSize: \"12px\",\n color:\n currentState === \"measured\"\n ? showPulsatingText || pulsatingFinished\n ? theme.palette.success.main\n : theme.palette.text.secondary\n : theme.palette.text.secondary,\n transition: \"color 0.8s ease-in-out\",\n }}\n >\n <span\n style={{\n opacity:\n currentState === \"measured\" && pulsatingFinished\n ? showPulsatingText\n ? 1\n : 0.6\n : 1,\n transition: \"opacity 2s ease-in-out\",\n }}\n >\n {currentState === \"measuring\"\n ? t(\"CycleTimer.Measuring.lb\", \"measuring...\")\n : currentState === \"measured\"\n ? t(\"CycleTimer.Determined.lb\", \"determined\")\n : currentState === \"countdown\" && maxTime !== null\n ? t(\"CycleTimer.OfTime.lb\", {\n time: formatTimeLocalized(maxTime, i18n.language),\n })\n : \"\"}\n </span>\n </Typography>\n </Fade>\n </Box>\n </Box>\n </Box>\n )\n}\n"],"names":["DefaultVariant","timerState","animationState","hasError","className","t","i18n","useTranslation","theme","useTheme","currentState","remainingTime","maxTime","currentProgress","showErrorAnimation","showPauseAnimation","showPulsatingText","pulsatingFinished","showLabels","showMainText","showIdlePulsating","idleDotsCount","jsxs","Box","jsx","Gauge","Fade","Typography","formatTimeLocalized"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"SmallVariant.cjs","sources":["../../../src/components/CycleTimer/SmallVariant.tsx"],"sourcesContent":["import { useTheme } from \"@mui/material/styles\"\nimport Box from \"@mui/material/Box\"\nimport Typography from \"@mui/material/Typography\"\nimport { useTranslation } from \"react-i18next\"\nimport type { AnimationState, TimerState } from \"./types\"\nimport { formatTimeLocalized } from \"./utils\"\n\ninterface SmallVariantProps {\n timerState: TimerState\n animationState: AnimationState\n hasError: boolean\n compact: boolean\n className?: string\n}\n\nexport const SmallVariant = ({\n timerState,\n animationState,\n hasError,\n compact,\n className,\n}: SmallVariantProps) => {\n const { t, i18n } = useTranslation()\n const theme = useTheme()\n const { currentState, remainingTime, maxTime } = timerState\n const {\n showErrorAnimation,\n showPauseAnimation,\n showPulsatingText,\n pulsatingFinished,\n showIdlePulsating,\n idleDotsCount,\n } = animationState\n\n // Simple text-only mode for compact variant in certain states\n if (compact && currentState === \"idle\") {\n return (\n <Box\n className={className}\n sx={{\n display: \"flex\",\n alignItems: \"center\",\n m: 0,\n }}\n >\n <Typography\n variant=\"body2\"\n sx={{\n color: hasError\n ? theme.palette.error.light\n : theme.palette.text.primary,\n fontSize: \"14px\",\n transition: \"color 0.5s ease-out\",\n }}\n >\n {hasError\n ? t(\"CycleTimer.Error.lb\", \"Error\")\n : currentState === \"idle\"\n ? \"0s\"\n : formatTimeLocalized(remainingTime, i18n.language)}\n </Typography>\n </Box>\n )\n }\n\n return (\n <Box\n className={className}\n sx={{\n display: \"flex\",\n alignItems: \"center\",\n m: 0,\n gap: 1,\n }}\n >\n {/* Animated progress ring icon */}\n {!(currentState === \"idle\" && compact) && (\n <Box\n sx={{\n width: 20,\n height: 20,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n opacity: showPauseAnimation || showErrorAnimation ? 0.6 : 1,\n transition: \"opacity 0.5s ease-out\",\n }}\n >\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n style={{ transform: \"rotate(-90deg)\" }}\n role=\"img\"\n aria-label=\"Timer progress\"\n >\n {/* Background ring */}\n <circle\n cx=\"10\"\n cy=\"10\"\n r=\"8\"\n fill=\"none\"\n stroke={\n hasError\n ? theme.palette.error.light\n : currentState === \"measured\"\n ? showPulsatingText || pulsatingFinished\n ? theme.palette.success.main\n : theme.palette.text.secondary\n : theme.palette.success.main\n }\n strokeWidth=\"2\"\n opacity={\n currentState === \"measured\" && pulsatingFinished\n ? showPulsatingText\n ? 1\n : 0.6\n : 0.3\n }\n style={{\n transition: \"stroke 0.8s ease-in-out, opacity 2s ease-in-out\",\n }}\n />\n {/* Progress ring */}\n <circle\n cx=\"10\"\n cy=\"10\"\n r=\"8\"\n fill=\"none\"\n stroke={\n hasError\n ? theme.palette.error.light\n : currentState === \"measured\"\n ? showPulsatingText || pulsatingFinished\n ? theme.palette.success.main\n : theme.palette.text.secondary\n : theme.palette.success.main\n }\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeDasharray={`${2 * Math.PI * 8}`}\n strokeDashoffset={`${2 * Math.PI * 8 * (1 - (currentState === \"idle\" ? 0 : timerState.currentProgress) / 100)}`}\n style={{\n opacity:\n currentState === \"measured\" && pulsatingFinished\n ? showPulsatingText\n ? 1\n : 0.6\n : 1,\n transition:\n \"stroke-dashoffset 0.1s ease-out, stroke 0.8s ease-in-out, opacity 2s ease-in-out\",\n }}\n />\n </svg>\n </Box>\n )}\n\n {/* Timer text display */}\n <Typography\n variant=\"body2\"\n sx={{\n color: hasError\n ? theme.palette.error.light\n : currentState === \"idle\"\n ? \"rgba(255, 255, 255, 0.7)\"\n : currentState === \"measured\"\n ? showPulsatingText || pulsatingFinished\n ? theme.palette.success.main\n : theme.palette.text.secondary\n : theme.palette.text.primary,\n fontSize: \"14px\",\n lineHeight: \"normal\",\n letterSpacing: \"normal\",\n opacity:\n currentState === \"idle\"\n ? showIdlePulsating\n ? 1\n : 0.6\n : currentState === \"measured\" && pulsatingFinished\n ? showPulsatingText\n ? 1\n : 0.6\n : 1,\n transition:\n \"color 0.8s ease-in-out, font-size 0.3s ease-out, opacity 2s ease-in-out\",\n }}\n >\n {hasError ? (\n t(\"CycleTimer.Error.lb\", \"Error\")\n ) : currentState === \"idle\" ? (\n <>\n <span>\n {t(\"CycleTimer.WaitingForCycle.lb\", \"Waiting for program cycle\")}\n </span>\n <span\n style={{\n display: \"inline-block\",\n width: \"18px\",\n textAlign: \"left\",\n }}\n >\n {\".\".repeat(idleDotsCount)}\n </span>\n </>\n ) : currentState === \"measuring\" ? (\n compact ? (\n formatTimeLocalized(remainingTime, i18n.language)\n ) : (\n `${formatTimeLocalized(remainingTime, i18n.language)} / ${t(\"CycleTimer.Measuring.lb\", \"measuring...\")}`\n )\n ) : currentState === \"measured\" ? (\n compact ? (\n formatTimeLocalized(remainingTime, i18n.language)\n ) : (\n `${formatTimeLocalized(remainingTime, i18n.language)} / ${t(\"CycleTimer.Determined.lb\", \"determined\")}`\n )\n ) : currentState === \"countdown\" && maxTime !== null ? (\n compact ? (\n formatTimeLocalized(remainingTime, i18n.language)\n ) : (\n `${formatTimeLocalized(remainingTime, i18n.language)} / ${t(\"CycleTimer.Time.lb\", { time: formatTimeLocalized(maxTime, i18n.language) })}`\n )\n ) : (\n formatTimeLocalized(remainingTime, i18n.language)\n )}\n </Typography>\n </Box>\n )\n}\n"],"names":["SmallVariant","timerState","animationState","hasError","compact","className","t","i18n","useTranslation","theme","useTheme","currentState","remainingTime","maxTime","showErrorAnimation","showPauseAnimation","showPulsatingText","pulsatingFinished","showIdlePulsating","idleDotsCount","jsx","Box","Typography","formatTimeLocalized","jsxs","Fragment"],"mappings":"gRAeaA,EAAe,CAAC,CAC3B,WAAAC,EACA,eAAAC,EACA,SAAAC,EACA,QAAAC,EACA,UAAAC,CACF,IAAyB,CACvB,KAAM,CAAE,EAAAC,EAAG,KAAAC,CAAA,EAASC,iBAAA,EACdC,EAAQC,EAAAA,SAAA,EACR,CAAE,aAAAC,EAAc,cAAAC,EAAe,QAAAC,CAAA,EAAYZ,EAC3C,CACJ,mBAAAa,EACA,mBAAAC,EACA,kBAAAC,EACA,kBAAAC,EACA,kBAAAC,EACA,cAAAC,CAAA,EACEjB,EAGJ,OAAIE,GAAWO,IAAiB,OAE5BS,EAAAA,IAACC,EAAA,CACC,UAAAhB,EACA,GAAI,CACF,QAAS,OACT,WAAY,SACZ,EAAG,CAAA,EAGL,SAAAe,EAAAA,IAACE,EAAA,CACC,QAAQ,QACR,GAAI,CACF,MAAOnB,EACHM,EAAM,QAAQ,MAAM,MACpBA,EAAM,QAAQ,KAAK,QACvB,SAAU,OACV,WAAY,qBAAA,EAGb,SAAAN,EACGG,EAAE,sBAAuB,OAAO,EAChCK,IAAiB,OACf,KACAY,EAAAA,oBAAoBX,EAAeL,EAAK,QAAQ,CAAA,CAAA,CACxD,CAAA,EAMJiB,EAAAA,KAACH,EAAA,CACC,UAAAhB,EACA,GAAI,CACF,QAAS,OACT,WAAY,SACZ,EAAG,EACH,IAAK,CAAA,EAIN,SAAA,CAAA,EAAEM,IAAiB,QAAUP,IAC5BgB,EAAAA,IAACC,EAAA,CACC,GAAI,CACF,MAAO,GACP,OAAQ,GACR,QAAS,OACT,WAAY,SACZ,eAAgB,SAChB,QAASN,GAAsBD,EAAqB,GAAM,EAC1D,WAAY,uBAAA,EAGd,SAAAU,EAAAA,KAAC,MAAA,CACC,MAAM,KACN,OAAO,KACP,QAAQ,YACR,MAAO,CAAE,UAAW,gBAAA,EACpB,KAAK,MACL,aAAW,iBAGX,SAAA,CAAAJ,EAAAA,IAAC,SAAA,CACC,GAAG,KACH,GAAG,KACH,EAAE,IACF,KAAK,OACL,OACEjB,EACIM,EAAM,QAAQ,MAAM,MACpBE,IAAiB,WACfK,GAAqBC,EACnBR,EAAM,QAAQ,QAAQ,KACtBA,EAAM,QAAQ,KAAK,UACrBA,EAAM,QAAQ,QAAQ,KAE9B,YAAY,IACZ,QACEE,IAAiB,YAAcM,EAC3BD,EACE,EACA,GACF,GAEN,MAAO,CACL,WAAY,iDAAA,CACd,CAAA,EAGFI,EAAAA,IAAC,SAAA,CACC,GAAG,KACH,GAAG,KACH,EAAE,IACF,KAAK,OACL,OACEjB,EACIM,EAAM,QAAQ,MAAM,MACpBE,IAAiB,WACfK,GAAqBC,EACnBR,EAAM,QAAQ,QAAQ,KACtBA,EAAM,QAAQ,KAAK,UACrBA,EAAM,QAAQ,QAAQ,KAE9B,YAAY,IACZ,cAAc,QACd,gBAAiB,GAAG,EAAI,KAAK,GAAK,CAAC,GACnC,iBAAkB,GAAG,EAAI,KAAK,GAAK,GAAK,GAAKE,IAAiB,OAAS,EAAIV,EAAW,iBAAmB,IAAI,GAC7G,MAAO,CACL,QACEU,IAAiB,YAAcM,EAC3BD,EACE,EACA,GACF,EACN,WACE,kFAAA,CACJ,CAAA,CACF,CAAA,CAAA,CACF,CAAA,EAKJI,EAAAA,IAACE,EAAA,CACC,QAAQ,QACR,GAAI,CACF,MAAOnB,EACHM,EAAM,QAAQ,MAAM,MACpBE,IAAiB,OACf,2BACAA,IAAiB,WACfK,GAAqBC,EACnBR,EAAM,QAAQ,QAAQ,KACtBA,EAAM,QAAQ,KAAK,UACrBA,EAAM,QAAQ,KAAK,QAC3B,SAAU,OACV,WAAY,SACZ,cAAe,SACf,QACEE,IAAiB,OACbO,EACE,EACA,GACFP,IAAiB,YAAcM,EAC7BD,EACE,EACA,GACF,EACR,WACE,yEAAA,EAGH,WACCV,EAAE,sBAAuB,OAAO,EAC9BK,IAAiB,OACnBa,EAAAA,KAAAC,EAAAA,SAAA,CACE,SAAA,CAAAL,EAAAA,IAAC,OAAA,CACE,SAAAd,EAAE,gCAAiC,2BAA2B,EACjE,EACAc,EAAAA,IAAC,OAAA,CACC,MAAO,CACL,QAAS,eACT,MAAO,OACP,UAAW,MAAA,EAGZ,SAAA,IAAI,OAAOD,CAAa,CAAA,CAAA,CAC3B,CAAA,CACF,EACER,IAAiB,YACnBP,EACEmB,EAAAA,oBAAoBX,EAAeL,EAAK,QAAQ,EAEhD,GAAGgB,EAAAA,oBAAoBX,EAAeL,EAAK,QAAQ,CAAC,MAAMD,EAAE,0BAA2B,cAAc,CAAC,GAEtGK,IAAiB,WACnBP,EACEmB,sBAAoBX,EAAeL,EAAK,QAAQ,EAEhD,GAAGgB,EAAAA,oBAAoBX,EAAeL,EAAK,QAAQ,CAAC,MAAMD,EAAE,2BAA4B,YAAY,CAAC,GAErGK,IAAiB,aAAeE,IAAY,KAC9CT,EACEmB,EAAAA,oBAAoBX,EAAeL,EAAK,QAAQ,EAEhD,GAAGgB,EAAAA,oBAAoBX,EAAeL,EAAK,QAAQ,CAAC,MAAMD,EAAE,qBAAsB,CAAE,KAAMiB,sBAAoBV,EAASN,EAAK,QAAQ,CAAA,CAAG,CAAC,GAG1IgB,EAAAA,oBAAoBX,EAAeL,EAAK,QAAQ,CAAA,CAAA,CAEpD,CAAA,CAAA,CAGN"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"SmallVariant.d.ts","sourceRoot":"","sources":["../../../src/components/CycleTimer/SmallVariant.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAGzD,UAAU,iBAAiB;IACzB,UAAU,EAAE,UAAU,CAAA;IACtB,cAAc,EAAE,cAAc,CAAA;IAC9B,QAAQ,EAAE,OAAO,CAAA;IACjB,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,eAAO,MAAM,YAAY,GAAI,+DAM1B,iBAAiB,4CA+MnB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"SmallVariant.js","sources":["../../../src/components/CycleTimer/SmallVariant.tsx"],"sourcesContent":["import { useTheme } from \"@mui/material/styles\"\nimport Box from \"@mui/material/Box\"\nimport Typography from \"@mui/material/Typography\"\nimport { useTranslation } from \"react-i18next\"\nimport type { AnimationState, TimerState } from \"./types\"\nimport { formatTimeLocalized } from \"./utils\"\n\ninterface SmallVariantProps {\n timerState: TimerState\n animationState: AnimationState\n hasError: boolean\n compact: boolean\n className?: string\n}\n\nexport const SmallVariant = ({\n timerState,\n animationState,\n hasError,\n compact,\n className,\n}: SmallVariantProps) => {\n const { t, i18n } = useTranslation()\n const theme = useTheme()\n const { currentState, remainingTime, maxTime } = timerState\n const {\n showErrorAnimation,\n showPauseAnimation,\n showPulsatingText,\n pulsatingFinished,\n showIdlePulsating,\n idleDotsCount,\n } = animationState\n\n // Simple text-only mode for compact variant in certain states\n if (compact && currentState === \"idle\") {\n return (\n <Box\n className={className}\n sx={{\n display: \"flex\",\n alignItems: \"center\",\n m: 0,\n }}\n >\n <Typography\n variant=\"body2\"\n sx={{\n color: hasError\n ? theme.palette.error.light\n : theme.palette.text.primary,\n fontSize: \"14px\",\n transition: \"color 0.5s ease-out\",\n }}\n >\n {hasError\n ? t(\"CycleTimer.Error.lb\", \"Error\")\n : currentState === \"idle\"\n ? \"0s\"\n : formatTimeLocalized(remainingTime, i18n.language)}\n </Typography>\n </Box>\n )\n }\n\n return (\n <Box\n className={className}\n sx={{\n display: \"flex\",\n alignItems: \"center\",\n m: 0,\n gap: 1,\n }}\n >\n {/* Animated progress ring icon */}\n {!(currentState === \"idle\" && compact) && (\n <Box\n sx={{\n width: 20,\n height: 20,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n opacity: showPauseAnimation || showErrorAnimation ? 0.6 : 1,\n transition: \"opacity 0.5s ease-out\",\n }}\n >\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n style={{ transform: \"rotate(-90deg)\" }}\n role=\"img\"\n aria-label=\"Timer progress\"\n >\n {/* Background ring */}\n <circle\n cx=\"10\"\n cy=\"10\"\n r=\"8\"\n fill=\"none\"\n stroke={\n hasError\n ? theme.palette.error.light\n : currentState === \"measured\"\n ? showPulsatingText || pulsatingFinished\n ? theme.palette.success.main\n : theme.palette.text.secondary\n : theme.palette.success.main\n }\n strokeWidth=\"2\"\n opacity={\n currentState === \"measured\" && pulsatingFinished\n ? showPulsatingText\n ? 1\n : 0.6\n : 0.3\n }\n style={{\n transition: \"stroke 0.8s ease-in-out, opacity 2s ease-in-out\",\n }}\n />\n {/* Progress ring */}\n <circle\n cx=\"10\"\n cy=\"10\"\n r=\"8\"\n fill=\"none\"\n stroke={\n hasError\n ? theme.palette.error.light\n : currentState === \"measured\"\n ? showPulsatingText || pulsatingFinished\n ? theme.palette.success.main\n : theme.palette.text.secondary\n : theme.palette.success.main\n }\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeDasharray={`${2 * Math.PI * 8}`}\n strokeDashoffset={`${2 * Math.PI * 8 * (1 - (currentState === \"idle\" ? 0 : timerState.currentProgress) / 100)}`}\n style={{\n opacity:\n currentState === \"measured\" && pulsatingFinished\n ? showPulsatingText\n ? 1\n : 0.6\n : 1,\n transition:\n \"stroke-dashoffset 0.1s ease-out, stroke 0.8s ease-in-out, opacity 2s ease-in-out\",\n }}\n />\n </svg>\n </Box>\n )}\n\n {/* Timer text display */}\n <Typography\n variant=\"body2\"\n sx={{\n color: hasError\n ? theme.palette.error.light\n : currentState === \"idle\"\n ? \"rgba(255, 255, 255, 0.7)\"\n : currentState === \"measured\"\n ? showPulsatingText || pulsatingFinished\n ? theme.palette.success.main\n : theme.palette.text.secondary\n : theme.palette.text.primary,\n fontSize: \"14px\",\n lineHeight: \"normal\",\n letterSpacing: \"normal\",\n opacity:\n currentState === \"idle\"\n ? showIdlePulsating\n ? 1\n : 0.6\n : currentState === \"measured\" && pulsatingFinished\n ? showPulsatingText\n ? 1\n : 0.6\n : 1,\n transition:\n \"color 0.8s ease-in-out, font-size 0.3s ease-out, opacity 2s ease-in-out\",\n }}\n >\n {hasError ? (\n t(\"CycleTimer.Error.lb\", \"Error\")\n ) : currentState === \"idle\" ? (\n <>\n <span>\n {t(\"CycleTimer.WaitingForCycle.lb\", \"Waiting for program cycle\")}\n </span>\n <span\n style={{\n display: \"inline-block\",\n width: \"18px\",\n textAlign: \"left\",\n }}\n >\n {\".\".repeat(idleDotsCount)}\n </span>\n </>\n ) : currentState === \"measuring\" ? (\n compact ? (\n formatTimeLocalized(remainingTime, i18n.language)\n ) : (\n `${formatTimeLocalized(remainingTime, i18n.language)} / ${t(\"CycleTimer.Measuring.lb\", \"measuring...\")}`\n )\n ) : currentState === \"measured\" ? (\n compact ? (\n formatTimeLocalized(remainingTime, i18n.language)\n ) : (\n `${formatTimeLocalized(remainingTime, i18n.language)} / ${t(\"CycleTimer.Determined.lb\", \"determined\")}`\n )\n ) : currentState === \"countdown\" && maxTime !== null ? (\n compact ? (\n formatTimeLocalized(remainingTime, i18n.language)\n ) : (\n `${formatTimeLocalized(remainingTime, i18n.language)} / ${t(\"CycleTimer.Time.lb\", { time: formatTimeLocalized(maxTime, i18n.language) })}`\n )\n ) : (\n formatTimeLocalized(remainingTime, i18n.language)\n )}\n </Typography>\n </Box>\n )\n}\n"],"names":["SmallVariant","timerState","animationState","hasError","compact","className","t","i18n","useTranslation","theme","useTheme","currentState","remainingTime","maxTime","showErrorAnimation","showPauseAnimation","showPulsatingText","pulsatingFinished","showIdlePulsating","idleDotsCount","jsx","Box","Typography","formatTimeLocalized","jsxs","Fragment"],"mappings":"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"}