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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (874) hide show
  1. package/dist/3d.cjs +2 -1
  2. package/dist/3d.cjs.map +1 -0
  3. package/dist/3d.d.ts +1 -0
  4. package/dist/3d.d.ts.map +1 -0
  5. package/dist/3d.js +1 -0
  6. package/dist/3d.js.map +1 -0
  7. package/dist/Setup.d.ts +1 -0
  8. package/dist/Setup.d.ts.map +1 -0
  9. package/dist/components/3d-viewport/CoordinateSystemTransform.d.ts +1 -0
  10. package/dist/components/3d-viewport/CoordinateSystemTransform.d.ts.map +1 -0
  11. package/dist/components/3d-viewport/PresetEnvironment.cjs +1 -0
  12. package/dist/components/3d-viewport/PresetEnvironment.cjs.map +1 -0
  13. package/dist/components/3d-viewport/PresetEnvironment.d.ts +1 -0
  14. package/dist/components/3d-viewport/PresetEnvironment.d.ts.map +1 -0
  15. package/dist/components/3d-viewport/PresetEnvironment.js +1 -0
  16. package/dist/components/3d-viewport/PresetEnvironment.js.map +1 -0
  17. package/dist/components/3d-viewport/SafetyZonesRenderer.cjs +2 -1
  18. package/dist/components/3d-viewport/SafetyZonesRenderer.cjs.map +1 -0
  19. package/dist/components/3d-viewport/SafetyZonesRenderer.d.ts +1 -0
  20. package/dist/components/3d-viewport/SafetyZonesRenderer.d.ts.map +1 -0
  21. package/dist/components/3d-viewport/SafetyZonesRenderer.js +1 -0
  22. package/dist/components/3d-viewport/SafetyZonesRenderer.js.map +1 -0
  23. package/dist/components/3d-viewport/TrajectoryRenderer.cjs +1 -0
  24. package/dist/components/3d-viewport/TrajectoryRenderer.cjs.map +1 -0
  25. package/dist/components/3d-viewport/TrajectoryRenderer.d.ts +1 -0
  26. package/dist/components/3d-viewport/TrajectoryRenderer.d.ts.map +1 -0
  27. package/dist/components/3d-viewport/TrajectoryRenderer.js +1 -0
  28. package/dist/components/3d-viewport/TrajectoryRenderer.js.map +1 -0
  29. package/dist/components/3d-viewport/collider/ColliderCollection.cjs +2 -1
  30. package/dist/components/3d-viewport/collider/ColliderCollection.cjs.map +1 -0
  31. package/dist/components/3d-viewport/collider/ColliderCollection.d.ts +1 -0
  32. package/dist/components/3d-viewport/collider/ColliderCollection.d.ts.map +1 -0
  33. package/dist/components/3d-viewport/collider/ColliderCollection.js +1 -0
  34. package/dist/components/3d-viewport/collider/ColliderCollection.js.map +1 -0
  35. package/dist/components/3d-viewport/collider/ColliderElement.cjs +2 -1
  36. package/dist/components/3d-viewport/collider/ColliderElement.cjs.map +1 -0
  37. package/dist/components/3d-viewport/collider/ColliderElement.d.ts +1 -0
  38. package/dist/components/3d-viewport/collider/ColliderElement.d.ts.map +1 -0
  39. package/dist/components/3d-viewport/collider/ColliderElement.js +1 -0
  40. package/dist/components/3d-viewport/collider/ColliderElement.js.map +1 -0
  41. package/dist/components/3d-viewport/collider/CollisionSceneRenderer.cjs +2 -1
  42. package/dist/components/3d-viewport/collider/CollisionSceneRenderer.cjs.map +1 -0
  43. package/dist/components/3d-viewport/collider/CollisionSceneRenderer.d.ts +1 -0
  44. package/dist/components/3d-viewport/collider/CollisionSceneRenderer.d.ts.map +1 -0
  45. package/dist/components/3d-viewport/collider/CollisionSceneRenderer.js +1 -0
  46. package/dist/components/3d-viewport/collider/CollisionSceneRenderer.js.map +1 -0
  47. package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.cjs +1 -0
  48. package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.cjs.map +1 -0
  49. package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.d.ts +1 -0
  50. package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.d.ts.map +1 -0
  51. package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.js +1 -0
  52. package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.js.map +1 -0
  53. package/dist/components/AppHeader.cjs +2 -1
  54. package/dist/components/AppHeader.cjs.map +1 -0
  55. package/dist/components/AppHeader.d.ts +1 -0
  56. package/dist/components/AppHeader.d.ts.map +1 -0
  57. package/dist/components/AppHeader.js +34 -40
  58. package/dist/components/AppHeader.js.map +1 -0
  59. package/dist/components/ConsoleFilter.cjs +1 -0
  60. package/dist/components/ConsoleFilter.cjs.map +1 -0
  61. package/dist/components/ConsoleFilter.d.ts +1 -0
  62. package/dist/components/ConsoleFilter.d.ts.map +1 -0
  63. package/dist/components/ConsoleFilter.js +1 -0
  64. package/dist/components/ConsoleFilter.js.map +1 -0
  65. package/dist/components/CopyableText.cjs +1 -0
  66. package/dist/components/CopyableText.cjs.map +1 -0
  67. package/dist/components/CopyableText.d.ts +1 -0
  68. package/dist/components/CopyableText.d.ts.map +1 -0
  69. package/dist/components/CopyableText.js +1 -0
  70. package/dist/components/CopyableText.js.map +1 -0
  71. package/dist/components/CycleTimer/CycleTimer.d.ts +1 -0
  72. package/dist/components/CycleTimer/CycleTimer.d.ts.map +1 -0
  73. package/dist/components/CycleTimer/DefaultVariant.cjs +2 -1
  74. package/dist/components/CycleTimer/DefaultVariant.cjs.map +1 -0
  75. package/dist/components/CycleTimer/DefaultVariant.d.ts +1 -0
  76. package/dist/components/CycleTimer/DefaultVariant.d.ts.map +1 -0
  77. package/dist/components/CycleTimer/DefaultVariant.js +1 -0
  78. package/dist/components/CycleTimer/DefaultVariant.js.map +1 -0
  79. package/dist/components/CycleTimer/SmallVariant.cjs +1 -0
  80. package/dist/components/CycleTimer/SmallVariant.cjs.map +1 -0
  81. package/dist/components/CycleTimer/SmallVariant.d.ts +1 -0
  82. package/dist/components/CycleTimer/SmallVariant.d.ts.map +1 -0
  83. package/dist/components/CycleTimer/SmallVariant.js +1 -0
  84. package/dist/components/CycleTimer/SmallVariant.js.map +1 -0
  85. package/dist/components/CycleTimer/index.cjs +2 -1
  86. package/dist/components/CycleTimer/index.cjs.map +1 -0
  87. package/dist/components/CycleTimer/index.d.ts +1 -0
  88. package/dist/components/CycleTimer/index.d.ts.map +1 -0
  89. package/dist/components/CycleTimer/index.js +2 -1
  90. package/dist/components/CycleTimer/index.js.map +1 -0
  91. package/dist/components/CycleTimer/types.d.ts +1 -0
  92. package/dist/components/CycleTimer/types.d.ts.map +1 -0
  93. package/dist/components/CycleTimer/useAnimations.cjs +1 -0
  94. package/dist/components/CycleTimer/useAnimations.cjs.map +1 -0
  95. package/dist/components/CycleTimer/useAnimations.d.ts +1 -0
  96. package/dist/components/CycleTimer/useAnimations.d.ts.map +1 -0
  97. package/dist/components/CycleTimer/useAnimations.js +2 -9
  98. package/dist/components/CycleTimer/useAnimations.js.map +1 -0
  99. package/dist/components/CycleTimer/useTimerLogic.cjs +2 -1
  100. package/dist/components/CycleTimer/useTimerLogic.cjs.map +1 -0
  101. package/dist/components/CycleTimer/useTimerLogic.d.ts +1 -0
  102. package/dist/components/CycleTimer/useTimerLogic.d.ts.map +1 -0
  103. package/dist/components/CycleTimer/useTimerLogic.js +1 -0
  104. package/dist/components/CycleTimer/useTimerLogic.js.map +1 -0
  105. package/dist/components/CycleTimer/utils.cjs +2 -1
  106. package/dist/components/CycleTimer/utils.cjs.map +1 -0
  107. package/dist/components/CycleTimer/utils.d.ts +1 -0
  108. package/dist/components/CycleTimer/utils.d.ts.map +1 -0
  109. package/dist/components/CycleTimer/utils.js +11 -19
  110. package/dist/components/CycleTimer/utils.js.map +1 -0
  111. package/dist/components/CycleTimer.cjs +1 -0
  112. package/dist/components/CycleTimer.cjs.map +1 -0
  113. package/dist/components/CycleTimer.d.ts +1 -0
  114. package/dist/components/CycleTimer.d.ts.map +1 -0
  115. package/dist/components/CycleTimer.js +1 -0
  116. package/dist/components/CycleTimer.js.map +1 -0
  117. package/dist/components/DataGrid.cjs +2 -1
  118. package/dist/components/DataGrid.cjs.map +1 -0
  119. package/dist/components/DataGrid.d.ts +1 -0
  120. package/dist/components/DataGrid.d.ts.map +1 -0
  121. package/dist/components/DataGrid.js +2 -1
  122. package/dist/components/DataGrid.js.map +1 -0
  123. package/dist/components/LoadingCover.cjs +2 -1
  124. package/dist/components/LoadingCover.cjs.map +1 -0
  125. package/dist/components/LoadingCover.d.ts +1 -0
  126. package/dist/components/LoadingCover.d.ts.map +1 -0
  127. package/dist/components/LoadingCover.js +1 -0
  128. package/dist/components/LoadingCover.js.map +1 -0
  129. package/dist/components/LogPanel.cjs +2 -1
  130. package/dist/components/LogPanel.cjs.map +1 -0
  131. package/dist/components/LogPanel.d.ts +1 -0
  132. package/dist/components/LogPanel.d.ts.map +1 -0
  133. package/dist/components/LogPanel.js +2 -1
  134. package/dist/components/LogPanel.js.map +1 -0
  135. package/dist/components/LogStore.cjs +1 -0
  136. package/dist/components/LogStore.cjs.map +1 -0
  137. package/dist/components/LogStore.d.ts +1 -0
  138. package/dist/components/LogStore.d.ts.map +1 -0
  139. package/dist/components/LogStore.js +1 -0
  140. package/dist/components/LogStore.js.map +1 -0
  141. package/dist/components/LogViewer.cjs +2 -1
  142. package/dist/components/LogViewer.cjs.map +1 -0
  143. package/dist/components/LogViewer.d.ts +1 -0
  144. package/dist/components/LogViewer.d.ts.map +1 -0
  145. package/dist/components/LogViewer.js +2 -1
  146. package/dist/components/LogViewer.js.map +1 -0
  147. package/dist/components/ProgramControl.cjs +2 -1
  148. package/dist/components/ProgramControl.cjs.map +1 -0
  149. package/dist/components/ProgramControl.d.ts +1 -0
  150. package/dist/components/ProgramControl.d.ts.map +1 -0
  151. package/dist/components/ProgramControl.js +7 -6
  152. package/dist/components/ProgramControl.js.map +1 -0
  153. package/dist/components/ProgramStateIndicator.cjs +2 -1
  154. package/dist/components/ProgramStateIndicator.cjs.map +1 -0
  155. package/dist/components/ProgramStateIndicator.d.ts +1 -0
  156. package/dist/components/ProgramStateIndicator.d.ts.map +1 -0
  157. package/dist/components/ProgramStateIndicator.js +29 -28
  158. package/dist/components/ProgramStateIndicator.js.map +1 -0
  159. package/dist/components/RobotCard.cjs +2 -1
  160. package/dist/components/RobotCard.cjs.map +1 -0
  161. package/dist/components/RobotCard.d.ts +1 -0
  162. package/dist/components/RobotCard.d.ts.map +1 -0
  163. package/dist/components/RobotCard.js +2 -1
  164. package/dist/components/RobotCard.js.map +1 -0
  165. package/dist/components/RobotListItem.cjs +2 -1
  166. package/dist/components/RobotListItem.cjs.map +1 -0
  167. package/dist/components/RobotListItem.d.ts +1 -0
  168. package/dist/components/RobotListItem.d.ts.map +1 -0
  169. package/dist/components/RobotListItem.js +26 -25
  170. package/dist/components/RobotListItem.js.map +1 -0
  171. package/dist/components/RobotSetupReadinessIndicator.cjs +2 -1
  172. package/dist/components/RobotSetupReadinessIndicator.cjs.map +1 -0
  173. package/dist/components/RobotSetupReadinessIndicator.d.ts +1 -0
  174. package/dist/components/RobotSetupReadinessIndicator.d.ts.map +1 -0
  175. package/dist/components/RobotSetupReadinessIndicator.js +2 -1
  176. package/dist/components/RobotSetupReadinessIndicator.js.map +1 -0
  177. package/dist/components/RobotSetupReadinessIndicator.test.d.ts +2 -0
  178. package/dist/components/RobotSetupReadinessIndicator.test.d.ts.map +1 -0
  179. package/dist/components/SelectableFab.cjs +1 -0
  180. package/dist/components/SelectableFab.cjs.map +1 -0
  181. package/dist/components/SelectableFab.d.ts +1 -0
  182. package/dist/components/SelectableFab.d.ts.map +1 -0
  183. package/dist/components/SelectableFab.js +1 -0
  184. package/dist/components/SelectableFab.js.map +1 -0
  185. package/dist/components/TabBar.cjs +2 -1
  186. package/dist/components/TabBar.cjs.map +1 -0
  187. package/dist/components/TabBar.d.ts +1 -0
  188. package/dist/components/TabBar.d.ts.map +1 -0
  189. package/dist/components/TabBar.js +2 -1
  190. package/dist/components/TabBar.js.map +1 -0
  191. package/dist/components/ThemeSelect.d.ts +1 -0
  192. package/dist/components/ThemeSelect.d.ts.map +1 -0
  193. package/dist/components/Timer/Timer.d.ts +1 -0
  194. package/dist/components/Timer/Timer.d.ts.map +1 -0
  195. package/dist/components/Timer/TimerDefaultVariant.cjs +1 -0
  196. package/dist/components/Timer/TimerDefaultVariant.cjs.map +1 -0
  197. package/dist/components/Timer/TimerDefaultVariant.d.ts +1 -0
  198. package/dist/components/Timer/TimerDefaultVariant.d.ts.map +1 -0
  199. package/dist/components/Timer/TimerDefaultVariant.js +1 -0
  200. package/dist/components/Timer/TimerDefaultVariant.js.map +1 -0
  201. package/dist/components/Timer/TimerSmallVariant.cjs +1 -0
  202. package/dist/components/Timer/TimerSmallVariant.cjs.map +1 -0
  203. package/dist/components/Timer/TimerSmallVariant.d.ts +1 -0
  204. package/dist/components/Timer/TimerSmallVariant.d.ts.map +1 -0
  205. package/dist/components/Timer/TimerSmallVariant.js +1 -0
  206. package/dist/components/Timer/TimerSmallVariant.js.map +1 -0
  207. package/dist/components/Timer/index.cjs +2 -1
  208. package/dist/components/Timer/index.cjs.map +1 -0
  209. package/dist/components/Timer/index.d.ts +1 -0
  210. package/dist/components/Timer/index.d.ts.map +1 -0
  211. package/dist/components/Timer/index.js +12 -11
  212. package/dist/components/Timer/index.js.map +1 -0
  213. package/dist/components/Timer/types.d.ts +1 -0
  214. package/dist/components/Timer/types.d.ts.map +1 -0
  215. package/dist/components/Timer/useTimerAnimations.cjs +1 -0
  216. package/dist/components/Timer/useTimerAnimations.cjs.map +1 -0
  217. package/dist/components/Timer/useTimerAnimations.d.ts +1 -0
  218. package/dist/components/Timer/useTimerAnimations.d.ts.map +1 -0
  219. package/dist/components/Timer/useTimerAnimations.js +2 -5
  220. package/dist/components/Timer/useTimerAnimations.js.map +1 -0
  221. package/dist/components/Timer/useTimerLogic.cjs +1 -0
  222. package/dist/components/Timer/useTimerLogic.cjs.map +1 -0
  223. package/dist/components/Timer/useTimerLogic.d.ts +1 -0
  224. package/dist/components/Timer/useTimerLogic.d.ts.map +1 -0
  225. package/dist/components/Timer/useTimerLogic.js +1 -0
  226. package/dist/components/Timer/useTimerLogic.js.map +1 -0
  227. package/dist/components/Timer/utils.cjs +2 -1
  228. package/dist/components/Timer/utils.cjs.map +1 -0
  229. package/dist/components/Timer/utils.d.ts +1 -0
  230. package/dist/components/Timer/utils.d.ts.map +1 -0
  231. package/dist/components/Timer/utils.js +10 -10
  232. package/dist/components/Timer/utils.js.map +1 -0
  233. package/dist/components/Timer.cjs +1 -0
  234. package/dist/components/Timer.cjs.map +1 -0
  235. package/dist/components/Timer.d.ts +1 -0
  236. package/dist/components/Timer.d.ts.map +1 -0
  237. package/dist/components/Timer.js +1 -0
  238. package/dist/components/Timer.js.map +1 -0
  239. package/dist/components/TransparentOverlay.d.ts +1 -0
  240. package/dist/components/TransparentOverlay.d.ts.map +1 -0
  241. package/dist/components/VelocitySlider.cjs +1 -0
  242. package/dist/components/VelocitySlider.cjs.map +1 -0
  243. package/dist/components/VelocitySlider.d.ts +1 -0
  244. package/dist/components/VelocitySlider.d.ts.map +1 -0
  245. package/dist/components/VelocitySlider.js +1 -0
  246. package/dist/components/VelocitySlider.js.map +1 -0
  247. package/dist/components/experimental/utils/AdornedSelect.cjs +1 -0
  248. package/dist/components/experimental/utils/AdornedSelect.cjs.map +1 -0
  249. package/dist/components/experimental/utils/AdornedSelect.d.ts +1 -0
  250. package/dist/components/experimental/utils/AdornedSelect.d.ts.map +1 -0
  251. package/dist/components/experimental/utils/AdornedSelect.js +1 -0
  252. package/dist/components/experimental/utils/AdornedSelect.js.map +1 -0
  253. package/dist/components/jogging/JoggingBlocked.cjs +1 -0
  254. package/dist/components/jogging/JoggingBlocked.cjs.map +1 -0
  255. package/dist/components/jogging/JoggingBlocked.d.ts +1 -0
  256. package/dist/components/jogging/JoggingBlocked.d.ts.map +1 -0
  257. package/dist/components/jogging/JoggingBlocked.js +1 -0
  258. package/dist/components/jogging/JoggingBlocked.js.map +1 -0
  259. package/dist/components/jogging/JoggingCartesianAxisControl.cjs +2 -1
  260. package/dist/components/jogging/JoggingCartesianAxisControl.cjs.map +1 -0
  261. package/dist/components/jogging/JoggingCartesianAxisControl.d.ts +1 -0
  262. package/dist/components/jogging/JoggingCartesianAxisControl.d.ts.map +1 -0
  263. package/dist/components/jogging/JoggingCartesianAxisControl.js +20 -18
  264. package/dist/components/jogging/JoggingCartesianAxisControl.js.map +1 -0
  265. package/dist/components/jogging/JoggingCartesianTab.cjs +2 -1
  266. package/dist/components/jogging/JoggingCartesianTab.cjs.map +1 -0
  267. package/dist/components/jogging/JoggingCartesianTab.d.ts +1 -0
  268. package/dist/components/jogging/JoggingCartesianTab.d.ts.map +1 -0
  269. package/dist/components/jogging/JoggingCartesianTab.js +41 -37
  270. package/dist/components/jogging/JoggingCartesianTab.js.map +1 -0
  271. package/dist/components/jogging/JoggingFreedriveTab.d.ts +1 -0
  272. package/dist/components/jogging/JoggingFreedriveTab.d.ts.map +1 -0
  273. package/dist/components/jogging/JoggingJointLimitDetector.cjs +1 -0
  274. package/dist/components/jogging/JoggingJointLimitDetector.cjs.map +1 -0
  275. package/dist/components/jogging/JoggingJointLimitDetector.d.ts +1 -0
  276. package/dist/components/jogging/JoggingJointLimitDetector.d.ts.map +1 -0
  277. package/dist/components/jogging/JoggingJointLimitDetector.js +1 -0
  278. package/dist/components/jogging/JoggingJointLimitDetector.js.map +1 -0
  279. package/dist/components/jogging/JoggingJointTab.cjs +2 -1
  280. package/dist/components/jogging/JoggingJointTab.cjs.map +1 -0
  281. package/dist/components/jogging/JoggingJointTab.d.ts +1 -0
  282. package/dist/components/jogging/JoggingJointTab.d.ts.map +1 -0
  283. package/dist/components/jogging/JoggingJointTab.js +1 -0
  284. package/dist/components/jogging/JoggingJointTab.js.map +1 -0
  285. package/dist/components/jogging/JoggingJointValueControl.cjs +2 -1
  286. package/dist/components/jogging/JoggingJointValueControl.cjs.map +1 -0
  287. package/dist/components/jogging/JoggingJointValueControl.d.ts +1 -0
  288. package/dist/components/jogging/JoggingJointValueControl.d.ts.map +1 -0
  289. package/dist/components/jogging/JoggingJointValueControl.js +2 -1
  290. package/dist/components/jogging/JoggingJointValueControl.js.map +1 -0
  291. package/dist/components/jogging/JoggingOptions.cjs +2 -1
  292. package/dist/components/jogging/JoggingOptions.cjs.map +1 -0
  293. package/dist/components/jogging/JoggingOptions.d.ts +1 -0
  294. package/dist/components/jogging/JoggingOptions.d.ts.map +1 -0
  295. package/dist/components/jogging/JoggingOptions.js +1 -0
  296. package/dist/components/jogging/JoggingOptions.js.map +1 -0
  297. package/dist/components/jogging/JoggingPanel.cjs +2 -1
  298. package/dist/components/jogging/JoggingPanel.cjs.map +1 -0
  299. package/dist/components/jogging/JoggingPanel.d.ts +1 -0
  300. package/dist/components/jogging/JoggingPanel.d.ts.map +1 -0
  301. package/dist/components/jogging/JoggingPanel.js +119 -21
  302. package/dist/components/jogging/JoggingPanel.js.map +1 -0
  303. package/dist/components/jogging/JoggingPanel.test.d.ts +2 -0
  304. package/dist/components/jogging/JoggingPanel.test.d.ts.map +1 -0
  305. package/dist/components/jogging/JoggingStore.cjs +1 -0
  306. package/dist/components/jogging/JoggingStore.cjs.map +1 -0
  307. package/dist/components/jogging/JoggingStore.d.ts +1 -0
  308. package/dist/components/jogging/JoggingStore.d.ts.map +1 -0
  309. package/dist/components/jogging/JoggingStore.js +1 -0
  310. package/dist/components/jogging/JoggingStore.js.map +1 -0
  311. package/dist/components/jogging/JoggingToggleButtonGroup.cjs +1 -0
  312. package/dist/components/jogging/JoggingToggleButtonGroup.cjs.map +1 -0
  313. package/dist/components/jogging/JoggingToggleButtonGroup.d.ts +1 -0
  314. package/dist/components/jogging/JoggingToggleButtonGroup.d.ts.map +1 -0
  315. package/dist/components/jogging/JoggingToggleButtonGroup.js +1 -0
  316. package/dist/components/jogging/JoggingToggleButtonGroup.js.map +1 -0
  317. package/dist/components/jogging/JoggingVelocitySlider.cjs +1 -0
  318. package/dist/components/jogging/JoggingVelocitySlider.cjs.map +1 -0
  319. package/dist/components/jogging/JoggingVelocitySlider.d.ts +1 -0
  320. package/dist/components/jogging/JoggingVelocitySlider.d.ts.map +1 -0
  321. package/dist/components/jogging/JoggingVelocitySlider.js +1 -0
  322. package/dist/components/jogging/JoggingVelocitySlider.js.map +1 -0
  323. package/dist/components/jogging/PoseCartesianValues.cjs +2 -1
  324. package/dist/components/jogging/PoseCartesianValues.cjs.map +1 -0
  325. package/dist/components/jogging/PoseCartesianValues.d.ts +1 -0
  326. package/dist/components/jogging/PoseCartesianValues.d.ts.map +1 -0
  327. package/dist/components/jogging/PoseCartesianValues.js +5 -4
  328. package/dist/components/jogging/PoseCartesianValues.js.map +1 -0
  329. package/dist/components/jogging/PoseJointValues.cjs +2 -1
  330. package/dist/components/jogging/PoseJointValues.cjs.map +1 -0
  331. package/dist/components/jogging/PoseJointValues.d.ts +1 -0
  332. package/dist/components/jogging/PoseJointValues.d.ts.map +1 -0
  333. package/dist/components/jogging/PoseJointValues.js +2 -1
  334. package/dist/components/jogging/PoseJointValues.js.map +1 -0
  335. package/dist/components/jogging/__fixtures__/motionStreamMockData.d.ts +11 -0
  336. package/dist/components/jogging/__fixtures__/motionStreamMockData.d.ts.map +1 -0
  337. package/dist/components/modal/NoMotionGroupModal.cjs +1 -0
  338. package/dist/components/modal/NoMotionGroupModal.cjs.map +1 -0
  339. package/dist/components/modal/NoMotionGroupModal.d.ts +1 -0
  340. package/dist/components/modal/NoMotionGroupModal.d.ts.map +1 -0
  341. package/dist/components/modal/NoMotionGroupModal.js +1 -0
  342. package/dist/components/modal/NoMotionGroupModal.js.map +1 -0
  343. package/dist/components/robots/AxisConfig.cjs +1 -0
  344. package/dist/components/robots/AxisConfig.cjs.map +1 -0
  345. package/dist/components/robots/AxisConfig.d.ts +1 -0
  346. package/dist/components/robots/AxisConfig.d.ts.map +1 -0
  347. package/dist/components/robots/AxisConfig.js +1 -0
  348. package/dist/components/robots/AxisConfig.js.map +1 -0
  349. package/dist/components/robots/DHLinearAxis.cjs +2 -1
  350. package/dist/components/robots/DHLinearAxis.cjs.map +1 -0
  351. package/dist/components/robots/DHLinearAxis.d.ts +1 -0
  352. package/dist/components/robots/DHLinearAxis.d.ts.map +1 -0
  353. package/dist/components/robots/DHLinearAxis.js +1 -0
  354. package/dist/components/robots/DHLinearAxis.js.map +1 -0
  355. package/dist/components/robots/DHRobot.cjs +2 -1
  356. package/dist/components/robots/DHRobot.cjs.map +1 -0
  357. package/dist/components/robots/DHRobot.d.ts +1 -0
  358. package/dist/components/robots/DHRobot.d.ts.map +1 -0
  359. package/dist/components/robots/DHRobot.js +1 -0
  360. package/dist/components/robots/DHRobot.js.map +1 -0
  361. package/dist/components/robots/GenericRobot.cjs +1 -0
  362. package/dist/components/robots/GenericRobot.cjs.map +1 -0
  363. package/dist/components/robots/GenericRobot.d.ts +1 -0
  364. package/dist/components/robots/GenericRobot.d.ts.map +1 -0
  365. package/dist/components/robots/GenericRobot.js +1 -0
  366. package/dist/components/robots/GenericRobot.js.map +1 -0
  367. package/dist/components/robots/LinearAxis.cjs +2 -1
  368. package/dist/components/robots/LinearAxis.cjs.map +1 -0
  369. package/dist/components/robots/LinearAxis.d.ts +1 -0
  370. package/dist/components/robots/LinearAxis.d.ts.map +1 -0
  371. package/dist/components/robots/LinearAxis.js +1 -0
  372. package/dist/components/robots/LinearAxis.js.map +1 -0
  373. package/dist/components/robots/LinearAxisAnimator.cjs +2 -1
  374. package/dist/components/robots/LinearAxisAnimator.cjs.map +1 -0
  375. package/dist/components/robots/LinearAxisAnimator.d.ts +1 -0
  376. package/dist/components/robots/LinearAxisAnimator.d.ts.map +1 -0
  377. package/dist/components/robots/LinearAxisAnimator.js +1 -0
  378. package/dist/components/robots/LinearAxisAnimator.js.map +1 -0
  379. package/dist/components/robots/MotionGroupVisualizer.cjs +2 -1
  380. package/dist/components/robots/MotionGroupVisualizer.cjs.map +1 -0
  381. package/dist/components/robots/MotionGroupVisualizer.d.ts +1 -0
  382. package/dist/components/robots/MotionGroupVisualizer.d.ts.map +1 -0
  383. package/dist/components/robots/MotionGroupVisualizer.js +5 -4
  384. package/dist/components/robots/MotionGroupVisualizer.js.map +1 -0
  385. package/dist/components/robots/Robot.cjs +2 -1
  386. package/dist/components/robots/Robot.cjs.map +1 -0
  387. package/dist/components/robots/Robot.d.ts +1 -0
  388. package/dist/components/robots/Robot.d.ts.map +1 -0
  389. package/dist/components/robots/Robot.js +1 -0
  390. package/dist/components/robots/Robot.js.map +1 -0
  391. package/dist/components/robots/RobotAnimator.cjs +2 -1
  392. package/dist/components/robots/RobotAnimator.cjs.map +1 -0
  393. package/dist/components/robots/RobotAnimator.d.ts +1 -0
  394. package/dist/components/robots/RobotAnimator.d.ts.map +1 -0
  395. package/dist/components/robots/RobotAnimator.js +1 -0
  396. package/dist/components/robots/RobotAnimator.js.map +1 -0
  397. package/dist/components/robots/RobotAnimator.test.d.ts +2 -0
  398. package/dist/components/robots/RobotAnimator.test.d.ts.map +1 -0
  399. package/dist/components/robots/SupportedLinearAxis.cjs +2 -1
  400. package/dist/components/robots/SupportedLinearAxis.cjs.map +1 -0
  401. package/dist/components/robots/SupportedLinearAxis.d.ts +1 -0
  402. package/dist/components/robots/SupportedLinearAxis.d.ts.map +1 -0
  403. package/dist/components/robots/SupportedLinearAxis.js +8 -7
  404. package/dist/components/robots/SupportedLinearAxis.js.map +1 -0
  405. package/dist/components/robots/SupportedRobot.cjs +2 -1
  406. package/dist/components/robots/SupportedRobot.cjs.map +1 -0
  407. package/dist/components/robots/SupportedRobot.d.ts +1 -0
  408. package/dist/components/robots/SupportedRobot.d.ts.map +1 -0
  409. package/dist/components/robots/SupportedRobot.js +7 -6
  410. package/dist/components/robots/SupportedRobot.js.map +1 -0
  411. package/dist/components/robots/ghostStyle.cjs +1 -0
  412. package/dist/components/robots/ghostStyle.cjs.map +1 -0
  413. package/dist/components/robots/ghostStyle.d.ts +1 -0
  414. package/dist/components/robots/ghostStyle.d.ts.map +1 -0
  415. package/dist/components/robots/ghostStyle.js +1 -0
  416. package/dist/components/robots/ghostStyle.js.map +1 -0
  417. package/dist/components/robots/manufacturerHomePositions.cjs +1 -0
  418. package/dist/components/robots/manufacturerHomePositions.cjs.map +1 -0
  419. package/dist/components/robots/manufacturerHomePositions.d.ts +1 -0
  420. package/dist/components/robots/manufacturerHomePositions.d.ts.map +1 -0
  421. package/dist/components/robots/manufacturerHomePositions.js +1 -0
  422. package/dist/components/robots/manufacturerHomePositions.js.map +1 -0
  423. package/dist/components/robots/robotModelLogic.cjs +2 -1
  424. package/dist/components/robots/robotModelLogic.cjs.map +1 -0
  425. package/dist/components/robots/robotModelLogic.d.ts +1 -0
  426. package/dist/components/robots/robotModelLogic.d.ts.map +1 -0
  427. package/dist/components/robots/robotModelLogic.js +34 -58
  428. package/dist/components/robots/robotModelLogic.js.map +1 -0
  429. package/dist/components/safetyBar/ControllerTypeIndicator.cjs +2 -1
  430. package/dist/components/safetyBar/ControllerTypeIndicator.cjs.map +1 -0
  431. package/dist/components/safetyBar/ControllerTypeIndicator.d.ts +1 -0
  432. package/dist/components/safetyBar/ControllerTypeIndicator.d.ts.map +1 -0
  433. package/dist/components/safetyBar/ControllerTypeIndicator.js +12 -10
  434. package/dist/components/safetyBar/ControllerTypeIndicator.js.map +1 -0
  435. package/dist/components/safetyBar/IndicatorWithExplanation.cjs +1 -0
  436. package/dist/components/safetyBar/IndicatorWithExplanation.cjs.map +1 -0
  437. package/dist/components/safetyBar/IndicatorWithExplanation.d.ts +1 -0
  438. package/dist/components/safetyBar/IndicatorWithExplanation.d.ts.map +1 -0
  439. package/dist/components/safetyBar/IndicatorWithExplanation.js +1 -0
  440. package/dist/components/safetyBar/IndicatorWithExplanation.js.map +1 -0
  441. package/dist/components/safetyBar/OperationModeIndicator.cjs +2 -1
  442. package/dist/components/safetyBar/OperationModeIndicator.cjs.map +1 -0
  443. package/dist/components/safetyBar/OperationModeIndicator.d.ts +1 -0
  444. package/dist/components/safetyBar/OperationModeIndicator.d.ts.map +1 -0
  445. package/dist/components/safetyBar/OperationModeIndicator.js +24 -21
  446. package/dist/components/safetyBar/OperationModeIndicator.js.map +1 -0
  447. package/dist/components/safetyBar/SafetyBar.cjs +2 -1
  448. package/dist/components/safetyBar/SafetyBar.cjs.map +1 -0
  449. package/dist/components/safetyBar/SafetyBar.d.ts +1 -0
  450. package/dist/components/safetyBar/SafetyBar.d.ts.map +1 -0
  451. package/dist/components/safetyBar/SafetyBar.js +16 -15
  452. package/dist/components/safetyBar/SafetyBar.js.map +1 -0
  453. package/dist/components/safetyBar/SafetyStateIndicator.cjs +2 -1
  454. package/dist/components/safetyBar/SafetyStateIndicator.cjs.map +1 -0
  455. package/dist/components/safetyBar/SafetyStateIndicator.d.ts +1 -0
  456. package/dist/components/safetyBar/SafetyStateIndicator.d.ts.map +1 -0
  457. package/dist/components/safetyBar/SafetyStateIndicator.js +30 -25
  458. package/dist/components/safetyBar/SafetyStateIndicator.js.map +1 -0
  459. package/dist/components/safetyBar/icons/controller-type-physical.svg.cjs +2 -0
  460. package/dist/components/safetyBar/icons/controller-type-physical.svg.cjs.map +1 -0
  461. package/dist/components/safetyBar/icons/controller-type-physical.svg.d.ts +3 -0
  462. package/dist/{chunks/controller-type-virtual-CWOoMRfl.js → components/safetyBar/icons/controller-type-physical.svg.js} +6 -10
  463. package/dist/components/safetyBar/icons/controller-type-physical.svg.js.map +1 -0
  464. package/dist/components/safetyBar/icons/controller-type-virtual.svg.cjs +2 -0
  465. package/dist/components/safetyBar/icons/controller-type-virtual.svg.cjs.map +1 -0
  466. package/dist/components/safetyBar/icons/controller-type-virtual.svg.d.ts +3 -0
  467. package/dist/components/safetyBar/icons/controller-type-virtual.svg.js +11 -0
  468. package/dist/components/safetyBar/icons/controller-type-virtual.svg.js.map +1 -0
  469. package/dist/components/safetyBar/icons/index.d.ts +1 -0
  470. package/dist/components/safetyBar/icons/index.d.ts.map +1 -0
  471. package/dist/components/safetyBar/icons/operation-mode-automatic.svg.cjs +2 -0
  472. package/dist/components/safetyBar/icons/operation-mode-automatic.svg.cjs.map +1 -0
  473. package/dist/components/safetyBar/icons/operation-mode-automatic.svg.d.ts +3 -0
  474. package/dist/components/safetyBar/icons/operation-mode-automatic.svg.js +11 -0
  475. package/dist/components/safetyBar/icons/operation-mode-automatic.svg.js.map +1 -0
  476. package/dist/components/safetyBar/icons/operation-mode-error.svg.cjs +2 -0
  477. package/dist/components/safetyBar/icons/operation-mode-error.svg.cjs.map +1 -0
  478. package/dist/components/safetyBar/icons/operation-mode-error.svg.d.ts +3 -0
  479. package/dist/components/safetyBar/icons/operation-mode-error.svg.js +11 -0
  480. package/dist/components/safetyBar/icons/operation-mode-error.svg.js.map +1 -0
  481. package/dist/components/safetyBar/icons/operation-mode-manual.svg.cjs +2 -0
  482. package/dist/components/safetyBar/icons/operation-mode-manual.svg.cjs.map +1 -0
  483. package/dist/components/safetyBar/icons/operation-mode-manual.svg.d.ts +3 -0
  484. package/dist/components/safetyBar/icons/operation-mode-manual.svg.js +11 -0
  485. package/dist/components/safetyBar/icons/operation-mode-manual.svg.js.map +1 -0
  486. package/dist/components/safetyBar/icons/safety-state-error.svg.cjs +2 -0
  487. package/dist/components/safetyBar/icons/safety-state-error.svg.cjs.map +1 -0
  488. package/dist/components/safetyBar/icons/safety-state-error.svg.d.ts +3 -0
  489. package/dist/components/safetyBar/icons/safety-state-error.svg.js +11 -0
  490. package/dist/components/safetyBar/icons/safety-state-error.svg.js.map +1 -0
  491. package/dist/components/safetyBar/icons/safety-state-estop.svg.cjs +2 -0
  492. package/dist/components/safetyBar/icons/safety-state-estop.svg.cjs.map +1 -0
  493. package/dist/components/safetyBar/icons/safety-state-estop.svg.d.ts +3 -0
  494. package/dist/components/safetyBar/icons/safety-state-estop.svg.js +11 -0
  495. package/dist/components/safetyBar/icons/safety-state-estop.svg.js.map +1 -0
  496. package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.cjs +2 -0
  497. package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.cjs.map +1 -0
  498. package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.d.ts +3 -0
  499. package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.js +11 -0
  500. package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.js.map +1 -0
  501. package/dist/components/safetyBar/icons/safety-state-normal.svg.cjs +2 -0
  502. package/dist/components/safetyBar/icons/safety-state-normal.svg.cjs.map +1 -0
  503. package/dist/components/safetyBar/icons/safety-state-normal.svg.d.ts +3 -0
  504. package/dist/components/safetyBar/icons/safety-state-normal.svg.js +11 -0
  505. package/dist/components/safetyBar/icons/safety-state-normal.svg.js.map +1 -0
  506. package/dist/components/safetyBar/icons/safety-state-stop.svg.cjs +2 -0
  507. package/dist/components/safetyBar/icons/safety-state-stop.svg.cjs.map +1 -0
  508. package/dist/components/safetyBar/icons/safety-state-stop.svg.d.ts +3 -0
  509. package/dist/components/safetyBar/icons/safety-state-stop.svg.js +11 -0
  510. package/dist/components/safetyBar/icons/safety-state-stop.svg.js.map +1 -0
  511. package/dist/components/utils/converters.cjs +2 -1
  512. package/dist/components/utils/converters.cjs.map +1 -0
  513. package/dist/components/utils/converters.d.ts +1 -0
  514. package/dist/components/utils/converters.d.ts.map +1 -0
  515. package/dist/components/utils/converters.js +11 -26
  516. package/dist/components/utils/converters.js.map +1 -0
  517. package/dist/components/utils/errorHandling.cjs +2 -1
  518. package/dist/components/utils/errorHandling.cjs.map +1 -0
  519. package/dist/components/utils/errorHandling.d.ts +1 -0
  520. package/dist/components/utils/errorHandling.d.ts.map +1 -0
  521. package/dist/components/utils/errorHandling.js +9 -17
  522. package/dist/components/utils/errorHandling.js.map +1 -0
  523. package/dist/components/utils/errorHandling.test.d.ts +2 -0
  524. package/dist/components/utils/errorHandling.test.d.ts.map +1 -0
  525. package/dist/components/utils/hooks.cjs +1 -0
  526. package/dist/components/utils/hooks.cjs.map +1 -0
  527. package/dist/components/utils/hooks.d.ts +1 -0
  528. package/dist/components/utils/hooks.d.ts.map +1 -0
  529. package/dist/components/utils/hooks.js +4 -3
  530. package/dist/components/utils/hooks.js.map +1 -0
  531. package/dist/components/utils/interpolation.cjs +1 -0
  532. package/dist/components/utils/interpolation.cjs.map +1 -0
  533. package/dist/components/utils/interpolation.d.ts +1 -0
  534. package/dist/components/utils/interpolation.d.ts.map +1 -0
  535. package/dist/components/utils/interpolation.js +1 -0
  536. package/dist/components/utils/interpolation.js.map +1 -0
  537. package/dist/components/utils/interpolation.test.d.ts +2 -0
  538. package/dist/components/utils/interpolation.test.d.ts.map +1 -0
  539. package/dist/core.cjs +2 -1
  540. package/dist/core.cjs.map +1 -0
  541. package/dist/core.d.ts +1 -0
  542. package/dist/core.d.ts.map +1 -0
  543. package/dist/core.js +75 -70
  544. package/dist/core.js.map +1 -0
  545. package/dist/externalizeComponent.cjs +2 -0
  546. package/dist/externalizeComponent.cjs.map +1 -0
  547. package/dist/externalizeComponent.d.ts +1 -0
  548. package/dist/externalizeComponent.d.ts.map +1 -0
  549. package/dist/externalizeComponent.js +13 -0
  550. package/dist/externalizeComponent.js.map +1 -0
  551. package/dist/i18n/config.cjs +2 -0
  552. package/dist/i18n/config.cjs.map +1 -0
  553. package/dist/i18n/config.d.ts +1 -0
  554. package/dist/i18n/config.d.ts.map +1 -0
  555. package/dist/i18n/config.js +25 -0
  556. package/dist/i18n/config.js.map +1 -0
  557. package/dist/i18n/locales/de/translations.json.cjs +3 -0
  558. package/dist/i18n/locales/de/translations.json.cjs.map +1 -0
  559. package/dist/i18n/locales/de/translations.json.js +94 -0
  560. package/dist/i18n/locales/de/translations.json.js.map +1 -0
  561. package/dist/i18n/locales/en/translations.json.cjs +2 -0
  562. package/dist/i18n/locales/en/translations.json.cjs.map +1 -0
  563. package/dist/i18n/locales/en/translations.json.js +94 -0
  564. package/dist/i18n/locales/en/translations.json.js.map +1 -0
  565. package/dist/icons/DropdownArrowIcon.cjs +2 -0
  566. package/dist/icons/DropdownArrowIcon.cjs.map +1 -0
  567. package/dist/icons/DropdownArrowIcon.d.ts +1 -0
  568. package/dist/icons/DropdownArrowIcon.d.ts.map +1 -0
  569. package/dist/icons/DropdownArrowIcon.js +14 -0
  570. package/dist/icons/DropdownArrowIcon.js.map +1 -0
  571. package/dist/icons/axis-x.svg.cjs +2 -0
  572. package/dist/icons/axis-x.svg.cjs.map +1 -0
  573. package/dist/icons/axis-x.svg.d.ts +3 -0
  574. package/dist/icons/axis-x.svg.js +11 -0
  575. package/dist/icons/axis-x.svg.js.map +1 -0
  576. package/dist/icons/axis-y.svg.cjs +2 -0
  577. package/dist/icons/axis-y.svg.cjs.map +1 -0
  578. package/dist/icons/axis-y.svg.d.ts +3 -0
  579. package/dist/icons/axis-y.svg.js +11 -0
  580. package/dist/icons/axis-y.svg.js.map +1 -0
  581. package/dist/icons/axis-z.svg.cjs +2 -0
  582. package/dist/icons/axis-z.svg.cjs.map +1 -0
  583. package/dist/icons/axis-z.svg.d.ts +3 -0
  584. package/dist/icons/axis-z.svg.js +11 -0
  585. package/dist/icons/axis-z.svg.js.map +1 -0
  586. package/dist/icons/home.svg.cjs +2 -0
  587. package/dist/icons/home.svg.cjs.map +1 -0
  588. package/dist/icons/home.svg.d.ts +3 -0
  589. package/dist/icons/home.svg.js +11 -0
  590. package/dist/icons/home.svg.js.map +1 -0
  591. package/dist/icons/index.d.ts +1 -0
  592. package/dist/icons/index.d.ts.map +1 -0
  593. package/dist/icons/jog-minus.svg.cjs +2 -0
  594. package/dist/icons/jog-minus.svg.cjs.map +1 -0
  595. package/dist/icons/jog-minus.svg.d.ts +3 -0
  596. package/dist/icons/jog-minus.svg.js +11 -0
  597. package/dist/icons/jog-minus.svg.js.map +1 -0
  598. package/dist/icons/jog-plus.svg.cjs +2 -0
  599. package/dist/icons/jog-plus.svg.cjs.map +1 -0
  600. package/dist/icons/jog-plus.svg.d.ts +3 -0
  601. package/dist/icons/jog-plus.svg.js +11 -0
  602. package/dist/icons/jog-plus.svg.js.map +1 -0
  603. package/dist/icons/jogging.svg.cjs +2 -0
  604. package/dist/icons/jogging.svg.cjs.map +1 -0
  605. package/dist/icons/jogging.svg.d.ts +3 -0
  606. package/dist/icons/jogging.svg.js +11 -0
  607. package/dist/icons/jogging.svg.js.map +1 -0
  608. package/dist/icons/orientation-coord-system.svg.cjs +2 -0
  609. package/dist/icons/orientation-coord-system.svg.cjs.map +1 -0
  610. package/dist/icons/orientation-coord-system.svg.d.ts +3 -0
  611. package/dist/icons/orientation-coord-system.svg.js +11 -0
  612. package/dist/icons/orientation-coord-system.svg.js.map +1 -0
  613. package/dist/icons/orientation-tool.svg.cjs +2 -0
  614. package/dist/icons/orientation-tool.svg.cjs.map +1 -0
  615. package/dist/icons/orientation-tool.svg.d.ts +3 -0
  616. package/dist/icons/orientation-tool.svg.js +11 -0
  617. package/dist/icons/orientation-tool.svg.js.map +1 -0
  618. package/dist/icons/robot.svg.cjs +2 -0
  619. package/dist/icons/robot.svg.cjs.map +1 -0
  620. package/dist/icons/robot.svg.d.ts +3 -0
  621. package/dist/{chunks/robot-D97QEl_l.js → icons/robot.svg.js} +3 -2
  622. package/dist/icons/robot.svg.js.map +1 -0
  623. package/dist/icons/rotation.svg.cjs +2 -0
  624. package/dist/icons/rotation.svg.cjs.map +1 -0
  625. package/dist/icons/rotation.svg.d.ts +3 -0
  626. package/dist/icons/rotation.svg.js +11 -0
  627. package/dist/icons/rotation.svg.js.map +1 -0
  628. package/dist/icons/wbLogo.svg.cjs +2 -0
  629. package/dist/icons/wbLogo.svg.cjs.map +1 -0
  630. package/dist/icons/wbLogo.svg.d.ts +3 -0
  631. package/dist/icons/wbLogo.svg.js +11 -0
  632. package/dist/icons/wbLogo.svg.js.map +1 -0
  633. package/dist/index.cjs +2 -1
  634. package/dist/index.cjs.map +1 -0
  635. package/dist/index.d.ts +1 -0
  636. package/dist/index.d.ts.map +1 -0
  637. package/dist/index.js +140 -120
  638. package/dist/index.js.map +1 -0
  639. package/dist/lib/ConnectedMotionGroup.cjs +4 -0
  640. package/dist/lib/ConnectedMotionGroup.cjs.map +1 -0
  641. package/dist/lib/ConnectedMotionGroup.d.ts +1 -0
  642. package/dist/lib/ConnectedMotionGroup.d.ts.map +1 -0
  643. package/dist/lib/ConnectedMotionGroup.js +250 -0
  644. package/dist/lib/ConnectedMotionGroup.js.map +1 -0
  645. package/dist/lib/JoggerConnection.cjs +2 -0
  646. package/dist/lib/JoggerConnection.cjs.map +1 -0
  647. package/dist/lib/JoggerConnection.d.ts +1 -0
  648. package/dist/lib/JoggerConnection.d.ts.map +1 -0
  649. package/dist/lib/JoggerConnection.js +342 -0
  650. package/dist/lib/JoggerConnection.js.map +1 -0
  651. package/dist/lib/JoggerConnection.test.d.ts +2 -0
  652. package/dist/lib/JoggerConnection.test.d.ts.map +1 -0
  653. package/dist/lib/MotionStreamConnection.cjs +3 -0
  654. package/dist/lib/MotionStreamConnection.cjs.map +1 -0
  655. package/dist/lib/MotionStreamConnection.d.ts +1 -0
  656. package/dist/lib/MotionStreamConnection.d.ts.map +1 -0
  657. package/dist/lib/MotionStreamConnection.js +94 -0
  658. package/dist/lib/MotionStreamConnection.js.map +1 -0
  659. package/dist/lib/MotionStreamConnection.test.d.ts +2 -0
  660. package/dist/lib/MotionStreamConnection.test.d.ts.map +1 -0
  661. package/dist/lib/motionStateUpdate.cjs +2 -0
  662. package/dist/lib/motionStateUpdate.cjs.map +1 -0
  663. package/dist/lib/motionStateUpdate.d.ts +1 -0
  664. package/dist/lib/motionStateUpdate.d.ts.map +1 -0
  665. package/dist/lib/motionStateUpdate.js +49 -0
  666. package/dist/lib/motionStateUpdate.js.map +1 -0
  667. package/dist/lib/motionStateUpdate.test.d.ts +2 -0
  668. package/dist/lib/motionStateUpdate.test.d.ts.map +1 -0
  669. package/dist/test/consumer.test.d.ts +2 -0
  670. package/dist/test/consumer.test.d.ts.map +1 -0
  671. package/dist/test/setup.d.ts +2 -0
  672. package/dist/test/setup.d.ts.map +1 -0
  673. package/dist/themes/createDarkTheme.cjs +2 -0
  674. package/dist/themes/createDarkTheme.cjs.map +1 -0
  675. package/dist/themes/createDarkTheme.d.ts +1 -0
  676. package/dist/themes/createDarkTheme.d.ts.map +1 -0
  677. package/dist/themes/createDarkTheme.js +344 -0
  678. package/dist/themes/createDarkTheme.js.map +1 -0
  679. package/dist/themes/createLightTheme.cjs +2 -0
  680. package/dist/themes/createLightTheme.cjs.map +1 -0
  681. package/dist/themes/createLightTheme.d.ts +1 -0
  682. package/dist/themes/createLightTheme.d.ts.map +1 -0
  683. package/dist/themes/createLightTheme.js +9 -0
  684. package/dist/themes/createLightTheme.js.map +1 -0
  685. package/dist/themes/themeTypes.d.ts +1 -0
  686. package/dist/themes/themeTypes.d.ts.map +1 -0
  687. package/dist/themes/theming.cjs +2 -0
  688. package/dist/themes/theming.cjs.map +1 -0
  689. package/dist/themes/theming.d.ts +1 -0
  690. package/dist/themes/theming.d.ts.map +1 -0
  691. package/dist/themes/theming.js +14 -0
  692. package/dist/themes/theming.js.map +1 -0
  693. package/dist/wb-icons.cjs +2 -1
  694. package/dist/wb-icons.cjs.map +1 -0
  695. package/dist/wb-icons.d.ts +1 -0
  696. package/dist/wb-icons.d.ts.map +1 -0
  697. package/dist/wb-icons.js +44 -28
  698. package/dist/wb-icons.js.map +1 -0
  699. package/package.json +6 -5
  700. package/src/3d.ts +18 -0
  701. package/src/Setup.tsx +33 -0
  702. package/src/components/3d-viewport/CoordinateSystemTransform.tsx +57 -0
  703. package/src/components/3d-viewport/PresetEnvironment.tsx +81 -0
  704. package/src/components/3d-viewport/SafetyZonesRenderer.tsx +198 -0
  705. package/src/components/3d-viewport/TrajectoryRenderer.tsx +41 -0
  706. package/src/components/3d-viewport/collider/ColliderCollection.tsx +35 -0
  707. package/src/components/3d-viewport/collider/ColliderElement.tsx +36 -0
  708. package/src/components/3d-viewport/collider/CollisionSceneRenderer.tsx +26 -0
  709. package/src/components/3d-viewport/collider/colliderShapeToBufferGeometry.ts +48 -0
  710. package/src/components/AppHeader.md +84 -0
  711. package/src/components/AppHeader.tsx +197 -0
  712. package/src/components/ConsoleFilter.tsx +24 -0
  713. package/src/components/CopyableText.tsx +89 -0
  714. package/src/components/CycleTimer/CycleTimer.ts +8 -0
  715. package/src/components/CycleTimer/DefaultVariant.tsx +326 -0
  716. package/src/components/CycleTimer/SmallVariant.tsx +229 -0
  717. package/src/components/CycleTimer/index.tsx +158 -0
  718. package/src/components/CycleTimer/types.ts +58 -0
  719. package/src/components/CycleTimer/useAnimations.ts +202 -0
  720. package/src/components/CycleTimer/useTimerLogic.ts +330 -0
  721. package/src/components/CycleTimer/utils.ts +122 -0
  722. package/src/components/CycleTimer.tsx +8 -0
  723. package/src/components/DataGrid.tsx +664 -0
  724. package/src/components/LoadingCover.tsx +91 -0
  725. package/src/components/LogPanel.tsx +71 -0
  726. package/src/components/LogStore.ts +46 -0
  727. package/src/components/LogViewer.tsx +368 -0
  728. package/src/components/ProgramControl.tsx +267 -0
  729. package/src/components/ProgramStateIndicator.tsx +195 -0
  730. package/src/components/RobotCard.tsx +495 -0
  731. package/src/components/RobotListItem.tsx +155 -0
  732. package/src/components/RobotSetupReadinessIndicator.test.tsx +60 -0
  733. package/src/components/RobotSetupReadinessIndicator.tsx +161 -0
  734. package/src/components/SelectableFab.tsx +52 -0
  735. package/src/components/TabBar.tsx +325 -0
  736. package/src/components/ThemeSelect.tsx +51 -0
  737. package/src/components/Timer/Timer.ts +4 -0
  738. package/src/components/Timer/TimerDefaultVariant.tsx +143 -0
  739. package/src/components/Timer/TimerSmallVariant.tsx +141 -0
  740. package/src/components/Timer/index.tsx +103 -0
  741. package/src/components/Timer/types.ts +38 -0
  742. package/src/components/Timer/useTimerAnimations.ts +94 -0
  743. package/src/components/Timer/useTimerLogic.ts +214 -0
  744. package/src/components/Timer/utils.ts +87 -0
  745. package/src/components/Timer.ts +4 -0
  746. package/src/components/TransparentOverlay.tsx +28 -0
  747. package/src/components/VelocitySlider.tsx +117 -0
  748. package/src/components/experimental/utils/AdornedSelect.tsx +38 -0
  749. package/src/components/jogging/JoggingBlocked.tsx +43 -0
  750. package/src/components/jogging/JoggingCartesianAxisControl.tsx +237 -0
  751. package/src/components/jogging/JoggingCartesianTab.tsx +349 -0
  752. package/src/components/jogging/JoggingFreedriveTab.tsx +8 -0
  753. package/src/components/jogging/JoggingJointLimitDetector.tsx +57 -0
  754. package/src/components/jogging/JoggingJointTab.tsx +126 -0
  755. package/src/components/jogging/JoggingJointValueControl.tsx +293 -0
  756. package/src/components/jogging/JoggingOptions.tsx +163 -0
  757. package/src/components/jogging/JoggingPanel.test.tsx +645 -0
  758. package/src/components/jogging/JoggingPanel.tsx +204 -0
  759. package/src/components/jogging/JoggingStore.ts +485 -0
  760. package/src/components/jogging/JoggingToggleButtonGroup.tsx +25 -0
  761. package/src/components/jogging/JoggingVelocitySlider.tsx +39 -0
  762. package/src/components/jogging/PoseCartesianValues.tsx +55 -0
  763. package/src/components/jogging/PoseJointValues.tsx +54 -0
  764. package/src/components/jogging/__fixtures__/motionStreamMockData.ts +136 -0
  765. package/src/components/modal/NoMotionGroupModal.tsx +91 -0
  766. package/src/components/robots/AxisConfig.ts +3 -0
  767. package/src/components/robots/DHLinearAxis.tsx +147 -0
  768. package/src/components/robots/DHRobot.tsx +152 -0
  769. package/src/components/robots/GenericRobot.tsx +137 -0
  770. package/src/components/robots/LinearAxis.tsx +74 -0
  771. package/src/components/robots/LinearAxisAnimator.tsx +118 -0
  772. package/src/components/robots/MotionGroupVisualizer.tsx +73 -0
  773. package/src/components/robots/Robot.tsx +57 -0
  774. package/src/components/robots/RobotAnimator.test.tsx +98 -0
  775. package/src/components/robots/RobotAnimator.tsx +116 -0
  776. package/src/components/robots/SupportedLinearAxis.tsx +110 -0
  777. package/src/components/robots/SupportedRobot.tsx +111 -0
  778. package/src/components/robots/ghostStyle.ts +71 -0
  779. package/src/components/robots/manufacturerHomePositions.ts +76 -0
  780. package/src/components/robots/robotModelLogic.ts +158 -0
  781. package/src/components/safetyBar/ControllerTypeIndicator.tsx +79 -0
  782. package/src/components/safetyBar/IndicatorWithExplanation.tsx +137 -0
  783. package/src/components/safetyBar/OperationModeIndicator.tsx +98 -0
  784. package/src/components/safetyBar/SafetyBar.tsx +72 -0
  785. package/src/components/safetyBar/SafetyStateIndicator.tsx +163 -0
  786. package/src/components/safetyBar/icons/controller-type-physical.svg +1 -0
  787. package/src/components/safetyBar/icons/controller-type-virtual.svg +1 -0
  788. package/src/components/safetyBar/icons/index.ts +10 -0
  789. package/src/components/safetyBar/icons/operation-mode-automatic.svg +1 -0
  790. package/src/components/safetyBar/icons/operation-mode-error.svg +1 -0
  791. package/src/components/safetyBar/icons/operation-mode-manual.svg +1 -0
  792. package/src/components/safetyBar/icons/safety-state-error.svg +1 -0
  793. package/src/components/safetyBar/icons/safety-state-estop.svg +1 -0
  794. package/src/components/safetyBar/icons/safety-state-manual-action-required.svg +1 -0
  795. package/src/components/safetyBar/icons/safety-state-normal.svg +1 -0
  796. package/src/components/safetyBar/icons/safety-state-stop.svg +1 -0
  797. package/src/components/utils/converters.ts +90 -0
  798. package/src/components/utils/errorHandling.test.ts +41 -0
  799. package/src/components/utils/errorHandling.ts +38 -0
  800. package/src/components/utils/hooks.tsx +55 -0
  801. package/src/components/utils/interpolation.test.ts +1138 -0
  802. package/src/components/utils/interpolation.ts +380 -0
  803. package/src/core.ts +33 -0
  804. package/src/declarations.d.ts +10 -0
  805. package/src/env.d.ts +3 -0
  806. package/src/externalizeComponent.tsx +28 -0
  807. package/src/i18n/config.ts +26 -0
  808. package/src/i18n/locales/de/translations.json +89 -0
  809. package/src/i18n/locales/en/translations.json +90 -0
  810. package/src/icons/DropdownArrowIcon.tsx +12 -0
  811. package/src/icons/axis-x.svg +1 -0
  812. package/src/icons/axis-y.svg +1 -0
  813. package/src/icons/axis-z.svg +1 -0
  814. package/src/icons/home.svg +1 -0
  815. package/src/icons/index.ts +12 -0
  816. package/src/icons/jog-minus.svg +5 -0
  817. package/src/icons/jog-plus.svg +9 -0
  818. package/src/icons/jogging.svg +1 -0
  819. package/src/icons/orientation-coord-system.svg +1 -0
  820. package/src/icons/orientation-tool.svg +1 -0
  821. package/src/icons/robot.svg +1 -0
  822. package/src/icons/rotation.svg +3 -0
  823. package/src/icons/wbLogo.svg +1 -0
  824. package/src/index.ts +4 -0
  825. package/src/lib/ConnectedMotionGroup.ts +441 -0
  826. package/src/lib/JoggerConnection.test.ts +122 -0
  827. package/src/lib/JoggerConnection.ts +694 -0
  828. package/src/lib/MotionStreamConnection.test.ts +23 -0
  829. package/src/lib/MotionStreamConnection.ts +186 -0
  830. package/src/lib/motionStateUpdate.test.ts +28 -0
  831. package/src/lib/motionStateUpdate.ts +117 -0
  832. package/src/test/consumer.test.ts +257 -0
  833. package/src/test/setup.ts +111 -0
  834. package/src/themes/createDarkTheme.ts +343 -0
  835. package/src/themes/createLightTheme.ts +8 -0
  836. package/src/themes/themeTypes.ts +96 -0
  837. package/src/themes/theming.ts +29 -0
  838. package/src/wb-icons.ts +3 -0
  839. package/dist/chunks/JoggingPanel-CQH_oXTB.js +0 -586
  840. package/dist/chunks/JoggingPanel-DZN2Y39k.cjs +0 -2
  841. package/dist/chunks/controller-type-virtual-BuJWQOvV.cjs +0 -1
  842. package/dist/chunks/externalizeComponent-DOwkaDcw.cjs +0 -2
  843. package/dist/chunks/externalizeComponent-eiCc5DIh.js +0 -209
  844. package/dist/chunks/jog-plus-CAUurv4S.js +0 -15
  845. package/dist/chunks/jog-plus-Dy1r7-r5.cjs +0 -1
  846. package/dist/chunks/operation-mode-manual-Di4Z1KM1.js +0 -20
  847. package/dist/chunks/operation-mode-manual-eHwVILeI.cjs +0 -1
  848. package/dist/chunks/robot-CrNbCELh.cjs +0 -1
  849. package/dist/chunks/rotation-CIOAnn9q.cjs +0 -1
  850. package/dist/chunks/rotation-Dm5YL3NM.js +0 -25
  851. package/dist/chunks/safety-state-stop-Bg0VUsM4.js +0 -30
  852. package/dist/chunks/safety-state-stop-CNxVYiap.cjs +0 -1
  853. package/dist/chunks/theming-Chx_tewl.cjs +0 -3
  854. package/dist/chunks/theming-Cw6qwBM7.js +0 -600
  855. package/dist/chunks/wbLogo-CObCmqTw.js +0 -30
  856. package/dist/chunks/wbLogo-G_IfZ03l.cjs +0 -1
  857. package/dist/components/3d-viewport/CoordinateSystemTransform.cjs +0 -1
  858. package/dist/components/3d-viewport/CoordinateSystemTransform.js +0 -37
  859. package/dist/components/CycleTimer/CycleTimer.cjs +0 -1
  860. package/dist/components/CycleTimer/CycleTimer.js +0 -5
  861. package/dist/components/CycleTimer/types.cjs +0 -1
  862. package/dist/components/CycleTimer/types.js +0 -1
  863. package/dist/components/ThemeSelect.cjs +0 -1
  864. package/dist/components/ThemeSelect.js +0 -38
  865. package/dist/components/Timer/Timer.cjs +0 -1
  866. package/dist/components/Timer/Timer.js +0 -5
  867. package/dist/components/Timer/types.cjs +0 -1
  868. package/dist/components/Timer/types.js +0 -1
  869. package/dist/components/TransparentOverlay.cjs +0 -1
  870. package/dist/components/TransparentOverlay.js +0 -26
  871. package/dist/components/jogging/JoggingFreedriveTab.cjs +0 -1
  872. package/dist/components/jogging/JoggingFreedriveTab.js +0 -6
  873. package/dist/components/safetyBar/icons/index.cjs +0 -1
  874. package/dist/components/safetyBar/icons/index.js +0 -15
@@ -1,39 +1,32 @@
1
- import { jsx as r, jsxs as e, Fragment as I } from "react/jsx-runtime";
2
- import { alpha as d } from "@mui/material/styles";
1
+ import { jsxs as e, Fragment as I, jsx as r } from "react/jsx-runtime";
2
+ import { alpha as p } from "@mui/material/styles";
3
3
  import k from "@mui/material/AppBar";
4
4
  import C from "@mui/material/Backdrop";
5
- import l from "@mui/material/Box";
5
+ import i from "@mui/material/Box";
6
6
  import w from "@mui/material/IconButton";
7
7
  import z from "@mui/material/Menu";
8
8
  import M from "@mui/material/MenuItem";
9
- import v from "@mui/material/Toolbar";
10
- import s from "@mui/material/Typography";
11
- import { observer as y } from "mobx-react-lite";
9
+ import y from "@mui/material/Toolbar";
10
+ import d from "@mui/material/Typography";
11
+ import { observer as v } from "mobx-react-lite";
12
12
  import { useState as B } from "react";
13
- import { e as L } from "../chunks/externalizeComponent-eiCc5DIh.js";
14
- import S from "@mui/material/SvgIcon";
15
- const A = (n) => /* @__PURE__ */ r(S, { ...n, viewBox: "0 0 10 8", children: /* @__PURE__ */ r(
16
- "path",
17
- {
18
- d: "M8.825 0.9125L5 4.72917L1.175 0.9125L0 2.0875L5 7.0875L10 2.0875L8.825 0.9125Z",
19
- fill: "currentColor",
20
- fillOpacity: "0.56"
21
- }
22
- ) }), J = L(
23
- y((n) => {
13
+ import { externalizeComponent as A } from "../externalizeComponent.js";
14
+ import { DropdownArrowIcon as S } from "../icons/DropdownArrowIcon.js";
15
+ const K = A(
16
+ v((s) => {
24
17
  const {
25
18
  appIcon: h,
26
19
  appName: f,
27
- apps: a = [],
28
- onAppSelect: t,
20
+ apps: l = [],
21
+ onAppSelect: n,
29
22
  disabled: x = !1,
30
23
  sx: u
31
- } = n, [c, m] = B(null), p = !!c, g = (o) => {
24
+ } = s, [a, m] = B(null), c = !!a, g = (o) => {
32
25
  m(o.currentTarget);
33
- }, i = () => {
26
+ }, t = () => {
34
27
  m(null);
35
28
  }, b = (o) => {
36
- i(), o.onClick ? o.onClick() : o.href && (window.location.href = o.href), t == null || t(o);
29
+ t(), o.onClick ? o.onClick() : o.href && (window.location.href = o.href), n == null || n(o);
37
30
  };
38
31
  return /* @__PURE__ */ e(I, { children: [
39
32
  /* @__PURE__ */ r(
@@ -49,11 +42,11 @@ const A = (n) => /* @__PURE__ */ r(S, { ...n, viewBox: "0 0 10 8", children: /*
49
42
  },
50
43
  ...u
51
44
  },
52
- children: /* @__PURE__ */ e(v, { sx: { minHeight: "62px !important" }, children: [
53
- /* @__PURE__ */ r(l, { sx: { mr: 1, display: "flex", alignItems: "center" }, children: h }),
54
- /* @__PURE__ */ e(l, { sx: { display: "flex", alignItems: "center", flexGrow: 1 }, children: [
45
+ children: /* @__PURE__ */ e(y, { sx: { minHeight: "62px !important" }, children: [
46
+ /* @__PURE__ */ r(i, { sx: { mr: 1, display: "flex", alignItems: "center" }, children: h }),
47
+ /* @__PURE__ */ e(i, { sx: { display: "flex", alignItems: "center", flexGrow: 1 }, children: [
55
48
  /* @__PURE__ */ r(
56
- s,
49
+ d,
57
50
  {
58
51
  component: "h1",
59
52
  sx: {
@@ -63,7 +56,7 @@ const A = (n) => /* @__PURE__ */ r(S, { ...n, viewBox: "0 0 10 8", children: /*
63
56
  children: f
64
57
  }
65
58
  ),
66
- a.length > 0 && /* @__PURE__ */ r(
59
+ l.length > 0 && /* @__PURE__ */ r(
67
60
  w,
68
61
  {
69
62
  color: "inherit",
@@ -78,10 +71,10 @@ const A = (n) => /* @__PURE__ */ r(S, { ...n, viewBox: "0 0 10 8", children: /*
78
71
  height: 28,
79
72
  borderRadius: "6px",
80
73
  padding: 0,
81
- backgroundColor: (o) => d(o.palette.common.white, 0.1),
74
+ backgroundColor: (o) => p(o.palette.common.white, 0.1),
82
75
  opacity: 1,
83
76
  "&:hover": {
84
- backgroundColor: (o) => d(o.palette.common.white, 0.16)
77
+ backgroundColor: (o) => p(o.palette.common.white, 0.16)
85
78
  },
86
79
  "& .MuiSvgIcon-root": {
87
80
  fontSize: "8px",
@@ -89,7 +82,7 @@ const A = (n) => /* @__PURE__ */ r(S, { ...n, viewBox: "0 0 10 8", children: /*
89
82
  height: "6px"
90
83
  }
91
84
  },
92
- children: /* @__PURE__ */ r(A, {})
85
+ children: /* @__PURE__ */ r(S, {})
93
86
  }
94
87
  )
95
88
  ] })
@@ -99,8 +92,8 @@ const A = (n) => /* @__PURE__ */ r(S, { ...n, viewBox: "0 0 10 8", children: /*
99
92
  /* @__PURE__ */ r(
100
93
  C,
101
94
  {
102
- open: p,
103
- onClick: i,
95
+ open: c,
96
+ onClick: t,
104
97
  sx: {
105
98
  backdropFilter: "blur(4px)",
106
99
  backgroundColor: "rgba(0, 0, 0, 0.3)",
@@ -112,9 +105,9 @@ const A = (n) => /* @__PURE__ */ r(S, { ...n, viewBox: "0 0 10 8", children: /*
112
105
  z,
113
106
  {
114
107
  id: "app-menu",
115
- anchorEl: c,
116
- open: p,
117
- onClose: i,
108
+ anchorEl: a,
109
+ open: c,
110
+ onClose: t,
118
111
  anchorOrigin: {
119
112
  vertical: "bottom",
120
113
  horizontal: "left"
@@ -130,9 +123,9 @@ const A = (n) => /* @__PURE__ */ r(S, { ...n, viewBox: "0 0 10 8", children: /*
130
123
  mt: 1
131
124
  }
132
125
  },
133
- children: a.map((o) => /* @__PURE__ */ e(M, { onClick: () => b(o), children: [
134
- /* @__PURE__ */ r(l, { sx: { display: "flex", alignItems: "center" }, children: o.icon }),
135
- /* @__PURE__ */ r(s, { variant: "body1", sx: { ml: 2 }, children: o.name })
126
+ children: l.map((o) => /* @__PURE__ */ e(M, { onClick: () => b(o), children: [
127
+ /* @__PURE__ */ r(i, { sx: { display: "flex", alignItems: "center" }, children: o.icon }),
128
+ /* @__PURE__ */ r(d, { variant: "body1", sx: { ml: 2 }, children: o.name })
136
129
  ] }, o.id))
137
130
  }
138
131
  )
@@ -140,6 +133,7 @@ const A = (n) => /* @__PURE__ */ r(S, { ...n, viewBox: "0 0 10 8", children: /*
140
133
  })
141
134
  );
142
135
  export {
143
- J as AppHeader,
144
- J as default
136
+ K as AppHeader,
137
+ K as default
145
138
  };
139
+ //# sourceMappingURL=AppHeader.js.map
@@ -0,0 +1 @@
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 +1,2 @@
1
1
  "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("react"),t=console.warn;function o(){return n.useEffect(()=>{console.warn=e=>{e!=="Cannot call the manual advancement of rafz whilst frameLoop is not set as demand"&&t(e)}},[]),null}exports.default=o;
2
+ //# sourceMappingURL=ConsoleFilter.cjs.map
@@ -0,0 +1 @@
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 +1,2 @@
1
1
  export default function ConsoleFilter(): null;
2
+ //# sourceMappingURL=ConsoleFilter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConsoleFilter.d.ts","sourceRoot":"","sources":["../../src/components/ConsoleFilter.tsx"],"names":[],"mappings":"AAKA,MAAM,CAAC,OAAO,UAAU,aAAa,SAkBpC"}
@@ -10,3 +10,4 @@ function a() {
10
10
  export {
11
11
  a as default
12
12
  };
13
+ //# sourceMappingURL=ConsoleFilter.js.map
@@ -0,0 +1 @@
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 +1,2 @@
1
1
  "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("react/jsx-runtime"),x=require("@mui/material/styles"),g=require("@mui/material/Stack"),h=require("@mui/material/Tooltip"),m=require("@mui/material/Typography"),u=require("react"),p=d=>{var a;const{value:i,ref:e}=d,c=x.useTheme(),[r,s]=u.useState(!1);async function f(){if(!e||!("current"in e))return console.warn("No copy target found"),!1;try{return await navigator.clipboard.writeText(i),console.log("Copied!"),s(!0),!0}catch(t){console.error(t);const o=window.getSelection();if(o&&e&&"current"in e&&e.current){const l=document.createRange();l.selectNodeContents(e.current),o.removeAllRanges(),o.addRange(l)}}return!1}return u.useEffect(()=>{if(!r)return;const t=setTimeout(()=>s(!1),3e3);return()=>{t&&clearTimeout(t)}},[r]),n.jsx(h,{open:r,title:"Copied!",children:n.jsx(g,{justifyContent:"center",sx:{height:"100%",boxSizing:"border-box",padding:"6px 12px",background:(a=c.palette.backgroundPaperElevation)==null?void 0:a[8],borderRadius:"10px",minWidth:"0",cursor:"pointer"},onClick:()=>f(),children:n.jsx(m,{ref:e,align:"center",sx:{pointerEvents:"none",fontSize:"12px",color:c.palette.text.primary,whiteSpace:"nowrap",minWidth:0,textOverflow:"ellipsis",width:"100%",overflow:"hidden"},children:i})})})};exports.CopyableText=p;exports.default=p;
2
+ //# sourceMappingURL=CopyableText.cjs.map
@@ -0,0 +1 @@
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"}
@@ -4,3 +4,4 @@ export declare const CopyableText: (props: {
4
4
  ref?: React.Ref<HTMLDivElement>;
5
5
  }) => import("react/jsx-runtime").JSX.Element;
6
6
  export default CopyableText;
7
+ //# sourceMappingURL=CopyableText.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -68,3 +68,4 @@ export {
68
68
  S as CopyableText,
69
69
  S as default
70
70
  };
71
+ //# sourceMappingURL=CopyableText.js.map
@@ -0,0 +1 @@
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,3 +1,4 @@
1
1
  export { CycleTimer } from "./index";
2
2
  export type { CycleTimerControls, CycleTimerProps, CycleTimerState, } from "./types";
3
3
  export { CycleTimer as default } from "./index";
4
+ //# sourceMappingURL=CycleTimer.d.ts.map
@@ -0,0 +1 @@
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 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),v=require("@mui/material/styles"),o=require("@mui/material/Box"),a=require("@mui/material/Fade"),r=require("@mui/material/Typography"),F=require("@mui/x-charts/Gauge"),M=require("react-i18next"),p=require("./utils.cjs"),S=({timerState:y,animationState:g,hasError:s,className:h})=>{const{t:n,i18n:f}=M.useTranslation(),i=v.useTheme(),{currentState:t,remainingTime:j,maxTime:d,currentProgress:T}=y,{showErrorAnimation:b,showPauseAnimation:C,showPulsatingText:l,pulsatingFinished:c,showLabels:m,showMainText:u,showIdlePulsating:x,idleDotsCount:w}=g;return e.jsxs(o,{className:h,sx:{position:"relative",width:264,height:264,display:"flex",alignItems:"center",justifyContent:"center"},children:[e.jsx(F.Gauge,{width:264,height:264,value:t==="idle"?0:T,valueMin:0,valueMax:100,innerRadius:"85%",outerRadius:"100%",margin:0,skipAnimation:!0,text:()=>"",sx:{opacity:C||b?.6:1,transition:"opacity 0.5s ease-out","& .MuiGauge-valueArc":{fill:s?i.palette.error.light:i.palette.success.main,transition:"fill 0.5s ease-out"},"& .MuiGauge-referenceArc":{fill:"#171927",stroke:"transparent",strokeWidth:0,transition:"fill 0.5s ease-out, stroke 0.5s ease-out, stroke-width 0.5s ease-out"},"& .MuiGauge-valueText":{display:"none"},"& .MuiGauge-text":{display:"none"}}}),e.jsxs(o,{sx:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:225,height:225,borderRadius:"50%",backgroundColor:"#292B3F",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",textAlign:"center",gap:1,transition:"background-color 0.5s ease-out"},children:[e.jsx(o,{sx:{height:"16px",display:"flex",alignItems:"center",justifyContent:"center",marginBottom:1},children:e.jsx(a,{in:m&&!s&&t!=="idle"&&t!=="success",timeout:300,children:e.jsx(r,{variant:"body2",sx:{fontSize:"12px",color:t==="measured"&&(l||c)?i.palette.success.main:i.palette.text.secondary,transition:"color 0.8s ease-in-out"},children:e.jsx("span",{style:{opacity:t==="measured"&&c?l?1:.6:1,transition:"opacity 2s ease-in-out"},children:t==="measuring"||t==="measured"?n("CycleTimer.CycleTime.lb","Cycle Time"):t==="countdown"?n("CycleTimer.RemainingTime.lb","Remaining Time"):""})})})}),e.jsxs(o,{sx:{position:"relative",height:"48px",display:"flex",alignItems:"center",justifyContent:"center",marginBottom:.5},children:[e.jsx(a,{in:u&&t==="idle"&&!s,timeout:200,children:e.jsxs(r,{variant:"body2",sx:{position:"absolute",fontSize:"12px",fontWeight:400,color:"rgba(255, 255, 255, 0.7)",lineHeight:"166%",letterSpacing:"0.17px",textAlign:"center",width:"200px",height:"20px",display:"flex",alignItems:"center",justifyContent:"center"},children:[e.jsx("span",{style:{opacity:x?1:.6,transition:"opacity 2s ease-in-out"},children:n("CycleTimer.WaitingForCycle.lb","Waiting for program cycle")}),e.jsx("span",{style:{display:"inline-block",width:"18px",textAlign:"left",opacity:x?1:.6,transition:"opacity 2s ease-in-out"},children:".".repeat(w)})]})}),e.jsx(a,{in:u&&s,timeout:200,children:e.jsx(r,{variant:"h3",sx:{position:"absolute",fontSize:"40px",fontWeight:400,color:"#FFFFFF",lineHeight:"116.7%"},children:n("CycleTimer.Error.lb","Error")})}),e.jsx(a,{in:u&&!s&&t!=="idle"&&t!=="success",timeout:300,children:e.jsx(r,{variant:"h1",sx:{position:"absolute",fontSize:"48px",fontWeight:500,color:i.palette.text.primary,lineHeight:1,transition:"color 0.8s ease-in-out"},children:e.jsx("span",{style:{opacity:1,transition:"opacity 2s ease-in-out"},children:p.formatTime(j)})})})]}),e.jsx(o,{sx:{height:"16px",display:"flex",marginTop:.5,alignItems:"center",justifyContent:"center"},children:e.jsx(a,{in:m&&!s&&t!=="idle"&&t!=="success",timeout:300,children:e.jsx(r,{variant:"body2",sx:{fontSize:"12px",color:t==="measured"&&(l||c)?i.palette.success.main:i.palette.text.secondary,transition:"color 0.8s ease-in-out"},children:e.jsx("span",{style:{opacity:t==="measured"&&c?l?1:.6:1,transition:"opacity 2s ease-in-out"},children:t==="measuring"?n("CycleTimer.Measuring.lb","measuring..."):t==="measured"?n("CycleTimer.Determined.lb","determined"):t==="countdown"&&d!==null?n("CycleTimer.OfTime.lb",{time:p.formatTimeLocalized(d,f.language)}):""})})})})]})]})};exports.DefaultVariant=S;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),v=require("@mui/material/styles"),a=require("@mui/material/Box"),o=require("@mui/material/Fade"),r=require("@mui/material/Typography"),F=require("@mui/x-charts/Gauge"),M=require("react-i18next"),p=require("./utils.cjs"),S=({timerState:y,animationState:g,hasError:s,className:h})=>{const{t:n,i18n:f}=M.useTranslation(),i=v.useTheme(),{currentState:t,remainingTime:j,maxTime:d,currentProgress:T}=y,{showErrorAnimation:b,showPauseAnimation:C,showPulsatingText:l,pulsatingFinished:c,showLabels:x,showMainText:u,showIdlePulsating:m,idleDotsCount:w}=g;return e.jsxs(a,{className:h,sx:{position:"relative",width:264,height:264,display:"flex",alignItems:"center",justifyContent:"center"},children:[e.jsx(F.Gauge,{width:264,height:264,value:t==="idle"?0:T,valueMin:0,valueMax:100,innerRadius:"85%",outerRadius:"100%",margin:0,skipAnimation:!0,text:()=>"",sx:{opacity:C||b?.6:1,transition:"opacity 0.5s ease-out","& .MuiGauge-valueArc":{fill:s?i.palette.error.light:i.palette.success.main,transition:"fill 0.5s ease-out"},"& .MuiGauge-referenceArc":{fill:"#171927",stroke:"transparent",strokeWidth:0,transition:"fill 0.5s ease-out, stroke 0.5s ease-out, stroke-width 0.5s ease-out"},"& .MuiGauge-valueText":{display:"none"},"& .MuiGauge-text":{display:"none"}}}),e.jsxs(a,{sx:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:225,height:225,borderRadius:"50%",backgroundColor:"#292B3F",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",textAlign:"center",gap:1,transition:"background-color 0.5s ease-out"},children:[e.jsx(a,{sx:{height:"16px",display:"flex",alignItems:"center",justifyContent:"center",marginBottom:1},children:e.jsx(o,{in:x&&!s&&t!=="idle"&&t!=="success",timeout:300,children:e.jsx(r,{variant:"body2",sx:{fontSize:"12px",color:t==="measured"&&(l||c)?i.palette.success.main:i.palette.text.secondary,transition:"color 0.8s ease-in-out"},children:e.jsx("span",{style:{opacity:t==="measured"&&c?l?1:.6:1,transition:"opacity 2s ease-in-out"},children:t==="measuring"||t==="measured"?n("CycleTimer.CycleTime.lb","Cycle Time"):t==="countdown"?n("CycleTimer.RemainingTime.lb","Remaining Time"):""})})})}),e.jsxs(a,{sx:{position:"relative",height:"48px",display:"flex",alignItems:"center",justifyContent:"center",marginBottom:.5},children:[e.jsx(o,{in:u&&t==="idle"&&!s,timeout:200,children:e.jsxs(r,{variant:"body2",sx:{position:"absolute",fontSize:"12px",fontWeight:400,color:"rgba(255, 255, 255, 0.7)",lineHeight:"166%",letterSpacing:"0.17px",textAlign:"center",width:"200px",height:"20px",display:"flex",alignItems:"center",justifyContent:"center"},children:[e.jsx("span",{style:{opacity:m?1:.6,transition:"opacity 2s ease-in-out"},children:n("CycleTimer.WaitingForCycle.lb","Waiting for program cycle")}),e.jsx("span",{style:{display:"inline-block",width:"18px",textAlign:"left",opacity:m?1:.6,transition:"opacity 2s ease-in-out"},children:".".repeat(w)})]})}),e.jsx(o,{in:u&&s,timeout:200,children:e.jsx(r,{variant:"h3",sx:{position:"absolute",fontSize:"40px",fontWeight:400,color:"#FFFFFF",lineHeight:"116.7%"},children:n("CycleTimer.Error.lb","Error")})}),e.jsx(o,{in:u&&!s&&t!=="idle"&&t!=="success",timeout:300,children:e.jsx(r,{variant:"h1",sx:{position:"absolute",fontSize:"48px",fontWeight:500,color:i.palette.text.primary,lineHeight:1,transition:"color 0.8s ease-in-out"},children:e.jsx("span",{style:{opacity:1,transition:"opacity 2s ease-in-out"},children:p.formatTime(j)})})})]}),e.jsx(a,{sx:{height:"16px",display:"flex",marginTop:.5,alignItems:"center",justifyContent:"center"},children:e.jsx(o,{in:x&&!s&&t!=="idle"&&t!=="success",timeout:300,children:e.jsx(r,{variant:"body2",sx:{fontSize:"12px",color:t==="measured"&&(l||c)?i.palette.success.main:i.palette.text.secondary,transition:"color 0.8s ease-in-out"},children:e.jsx("span",{style:{opacity:t==="measured"&&c?l?1:.6:1,transition:"opacity 2s ease-in-out"},children:t==="measuring"?n("CycleTimer.Measuring.lb","measuring..."):t==="measured"?n("CycleTimer.Determined.lb","determined"):t==="countdown"&&d!==null?n("CycleTimer.OfTime.lb",{time:p.formatTimeLocalized(d,f.language)}):""})})})})]})]})};exports.DefaultVariant=S;
2
+ //# sourceMappingURL=DefaultVariant.cjs.map
@@ -0,0 +1 @@
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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"}
@@ -7,3 +7,4 @@ interface DefaultVariantProps {
7
7
  }
8
8
  export declare const DefaultVariant: ({ timerState, animationState, hasError, className, }: DefaultVariantProps) => import("react/jsx-runtime").JSX.Element;
9
9
  export {};
10
+ //# sourceMappingURL=DefaultVariant.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -298,3 +298,4 @@ const P = ({
298
298
  export {
299
299
  P as DefaultVariant
300
300
  };
301
+ //# sourceMappingURL=DefaultVariant.js.map
@@ -0,0 +1 @@
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 +1,2 @@
1
1
  "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),b=require("@mui/material/styles"),u=require("@mui/material/Box"),p=require("@mui/material/Typography"),z=require("react-i18next"),r=require("./utils.cjs"),k=({timerState:d,animationState:x,hasError:n,compact:m,className:g})=>{const{t:l,i18n:a}=z.useTranslation(),t=b.useTheme(),{currentState:e,remainingTime:s,maxTime:y}=d,{showErrorAnimation:h,showPauseAnimation:f,showPulsatingText:o,pulsatingFinished:c,showIdlePulsating:T,idleDotsCount:j}=x;return m&&e==="idle"?i.jsx(u,{className:g,sx:{display:"flex",alignItems:"center",m:0},children:i.jsx(p,{variant:"body2",sx:{color:n?t.palette.error.light:t.palette.text.primary,fontSize:"14px",transition:"color 0.5s ease-out"},children:n?l("CycleTimer.Error.lb","Error"):e==="idle"?"0s":r.formatTimeLocalized(s,a.language)})}):i.jsxs(u,{className:g,sx:{display:"flex",alignItems:"center",m:0,gap:1},children:[!(e==="idle"&&m)&&i.jsx(u,{sx:{width:20,height:20,display:"flex",alignItems:"center",justifyContent:"center",opacity:f||h?.6:1,transition:"opacity 0.5s ease-out"},children:i.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 20 20",style:{transform:"rotate(-90deg)"},role:"img","aria-label":"Timer progress",children:[i.jsx("circle",{cx:"10",cy:"10",r:"8",fill:"none",stroke:n?t.palette.error.light:e==="measured"?o||c?t.palette.success.main:t.palette.text.secondary:t.palette.success.main,strokeWidth:"2",opacity:e==="measured"&&c?o?1:.6:.3,style:{transition:"stroke 0.8s ease-in-out, opacity 2s ease-in-out"}}),i.jsx("circle",{cx:"10",cy:"10",r:"8",fill:"none",stroke:n?t.palette.error.light:e==="measured"?o||c?t.palette.success.main:t.palette.text.secondary:t.palette.success.main,strokeWidth:"2",strokeLinecap:"round",strokeDasharray:`${2*Math.PI*8}`,strokeDashoffset:`${2*Math.PI*8*(1-(e==="idle"?0:d.currentProgress)/100)}`,style:{opacity:e==="measured"&&c?o?1:.6:1,transition:"stroke-dashoffset 0.1s ease-out, stroke 0.8s ease-in-out, opacity 2s ease-in-out"}})]})}),i.jsx(p,{variant:"body2",sx:{color:n?t.palette.error.light:e==="idle"?"rgba(255, 255, 255, 0.7)":e==="measured"?o||c?t.palette.success.main:t.palette.text.secondary:t.palette.text.primary,fontSize:"14px",lineHeight:"normal",letterSpacing:"normal",opacity:e==="idle"?T?1:.6:e==="measured"&&c?o?1:.6:1,transition:"color 0.8s ease-in-out, font-size 0.3s ease-out, opacity 2s ease-in-out"},children:n?l("CycleTimer.Error.lb","Error"):e==="idle"?i.jsxs(i.Fragment,{children:[i.jsx("span",{children:l("CycleTimer.WaitingForCycle.lb","Waiting for program cycle")}),i.jsx("span",{style:{display:"inline-block",width:"18px",textAlign:"left"},children:".".repeat(j)})]}):e==="measuring"?m?r.formatTimeLocalized(s,a.language):`${r.formatTimeLocalized(s,a.language)} / ${l("CycleTimer.Measuring.lb","measuring...")}`:e==="measured"?m?r.formatTimeLocalized(s,a.language):`${r.formatTimeLocalized(s,a.language)} / ${l("CycleTimer.Determined.lb","determined")}`:e==="countdown"&&y!==null?m?r.formatTimeLocalized(s,a.language):`${r.formatTimeLocalized(s,a.language)} / ${l("CycleTimer.Time.lb",{time:r.formatTimeLocalized(y,a.language)})}`:r.formatTimeLocalized(s,a.language)})]})};exports.SmallVariant=k;
2
+ //# sourceMappingURL=SmallVariant.cjs.map
@@ -0,0 +1 @@
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"}
@@ -8,3 +8,4 @@ interface SmallVariantProps {
8
8
  }
9
9
  export declare const SmallVariant: ({ timerState, animationState, hasError, compact, className, }: SmallVariantProps) => import("react/jsx-runtime").JSX.Element;
10
10
  export {};
11
+ //# sourceMappingURL=SmallVariant.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -147,3 +147,4 @@ const W = ({
147
147
  export {
148
148
  W as SmallVariant
149
149
  };
150
+ //# sourceMappingURL=SmallVariant.js.map
@@ -0,0 +1 @@
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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"}
@@ -1 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const g=require("react/jsx-runtime"),R=require("mobx-react-lite"),n=require("react"),b=require("../../chunks/externalizeComponent-DOwkaDcw.cjs"),j=require("./DefaultVariant.cjs"),I=require("./SmallVariant.cjs"),V=require("./useAnimations.cjs"),L=require("./useTimerLogic.cjs"),A=b.externalizeComponent(R.observer(({onCycleComplete:o,onCycleEnd:T,onMeasuringComplete:p,autoStart:_=!0,variant:q="default",compact:v=!1,className:a,hasError:r=!1})=>{const i=n.useRef(void 0),{animationState:s,triggerPauseAnimation:C,triggerErrorAnimation:x,clearErrorAnimation:y,startPulsatingAnimation:P,stopPulsatingAnimation:u,startIdleAnimations:c,stopIdleAnimations:l,triggerFadeTransition:m,setInitialAnimationState:f,cleanup:d}=V.useAnimations(),{timerState:e,controls:S}=L.useTimerLogic({autoStart:_,onCycleEnd:T,onMeasuringComplete:p,hasError:r,onPauseAnimation:C,onErrorAnimation:x,onClearErrorAnimation:y,onStartPulsating:P});return n.useEffect(()=>{const t=i.current;i.current!==void 0&&t!==e.currentState?(t==="measured"&&u(),t==="idle"&&l(),m()):f(),e.currentState==="idle"&&c(),i.current=e.currentState},[e.currentState,u,l,c,m,f]),n.useEffect(()=>{let t=!0;const E=setTimeout(()=>{t&&o(S)},0);return()=>{t=!1,clearTimeout(E)}},[o,S]),n.useEffect(()=>d,[d]),q==="small"?g.jsx(I.SmallVariant,{timerState:e,animationState:s,hasError:r,compact:v,className:a}):g.jsx(j.DefaultVariant,{timerState:e,animationState:s,hasError:r,className:a})}));exports.CycleTimer=A;exports.default=A;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const g=require("react/jsx-runtime"),I=require("mobx-react-lite"),r=require("react"),V=require("../../externalizeComponent.cjs"),C=require("./DefaultVariant.cjs"),L=require("./SmallVariant.cjs"),M=require("./useAnimations.cjs"),y=require("./useTimerLogic.cjs"),A=V.externalizeComponent(I.observer(({onCycleComplete:a,onCycleEnd:q,onMeasuringComplete:T,autoStart:p=!0,variant:v="default",compact:x=!1,className:o,hasError:i=!1})=>{const n=r.useRef(void 0),{animationState:u,triggerPauseAnimation:P,triggerErrorAnimation:E,clearErrorAnimation:R,startPulsatingAnimation:b,stopPulsatingAnimation:s,startIdleAnimations:c,stopIdleAnimations:l,triggerFadeTransition:m,setInitialAnimationState:f,cleanup:d}=M.useAnimations(),{timerState:e,controls:S}=y.useTimerLogic({autoStart:p,onCycleEnd:q,onMeasuringComplete:T,hasError:i,onPauseAnimation:P,onErrorAnimation:E,onClearErrorAnimation:R,onStartPulsating:b});return r.useEffect(()=>{const t=n.current;n.current!==void 0&&t!==e.currentState?(t==="measured"&&s(),t==="idle"&&l(),m()):f(),e.currentState==="idle"&&c(),n.current=e.currentState},[e.currentState,s,l,c,m,f]),r.useEffect(()=>{let t=!0;const j=setTimeout(()=>{t&&a(S)},0);return()=>{t=!1,clearTimeout(j)}},[a,S]),r.useEffect(()=>d,[d]),v==="small"?g.jsx(L.SmallVariant,{timerState:e,animationState:u,hasError:i,compact:x,className:o}):g.jsx(C.DefaultVariant,{timerState:e,animationState:u,hasError:i,className:o})}));exports.CycleTimer=A;exports.default=A;
2
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":["../../../src/components/CycleTimer/index.tsx"],"sourcesContent":["import { observer } from \"mobx-react-lite\"\nimport { useEffect, useRef } from \"react\"\nimport { externalizeComponent } from \"../../externalizeComponent\"\nimport { DefaultVariant } from \"./DefaultVariant\"\nimport { SmallVariant } from \"./SmallVariant\"\nimport type { CycleTimerProps } from \"./types\"\nimport { useAnimations } from \"./useAnimations\"\nimport { useTimerLogic } from \"./useTimerLogic\"\n\n/**\n * A circular gauge timer component for cycle-specific timing operations\n *\n * Features:\n * - Custom SVG circular gauge with 264px diameter and 40px thickness\n * - Multiple states: idle, measuring, measured, countdown, success\n * - Idle state: shows \"Waiting for program cycle\" with transparent inner circle\n * - Measuring state: counts up with \"Cycle Time\" / \"measuring...\" labels\n * - Measured state: shows final time with \"Cycle Time\" / \"determined\" labels in pulsating green\n * - Countdown mode: shows remaining time prominently, counts down to zero\n * - Success state: brief green flash after cycle completion\n * - Displays appropriate labels based on state\n * - Automatically counts down and triggers callback when reaching zero\n * - Full timer control: start, pause, resume functionality\n * - Support for starting with elapsed time (resume mid-cycle)\n * - Error state support: pauses timer and shows error styling (red color)\n * - Smooth fade transitions between different text states\n * - Pulsating text animation for completed measuring state\n * - Fully localized with i18next\n * - Material-UI theming integration\n * - Small variant with animated progress icon (gauge border only) next to text\n */\nexport const CycleTimer = externalizeComponent(\n observer(\n ({\n onCycleComplete,\n onCycleEnd,\n onMeasuringComplete,\n autoStart = true,\n variant = \"default\",\n compact = false,\n className,\n hasError = false,\n }: CycleTimerProps) => {\n const prevStateRef = useRef<string | undefined>(undefined)\n\n // Initialize animation hooks\n const {\n animationState,\n triggerPauseAnimation,\n triggerErrorAnimation,\n clearErrorAnimation,\n startPulsatingAnimation,\n stopPulsatingAnimation,\n startIdleAnimations,\n stopIdleAnimations,\n triggerFadeTransition,\n setInitialAnimationState,\n cleanup,\n } = useAnimations()\n\n // Initialize timer logic\n const { timerState, controls } = useTimerLogic({\n autoStart,\n onCycleEnd,\n onMeasuringComplete,\n hasError,\n onPauseAnimation: triggerPauseAnimation,\n onErrorAnimation: triggerErrorAnimation,\n onClearErrorAnimation: clearErrorAnimation,\n onStartPulsating: startPulsatingAnimation,\n })\n\n // Handle state changes with fade transitions\n useEffect(() => {\n const prevState = prevStateRef.current\n\n if (\n prevStateRef.current !== undefined &&\n prevState !== timerState.currentState\n ) {\n // Stop pulsating animation if leaving measured state\n if (prevState === \"measured\") {\n stopPulsatingAnimation()\n }\n\n // Stop idle animations if leaving idle state\n if (prevState === \"idle\") {\n stopIdleAnimations()\n }\n\n // Trigger fade transition\n triggerFadeTransition()\n } else {\n // No state change or first time - set initial state\n setInitialAnimationState()\n }\n\n // Start idle animations if entering idle state\n if (timerState.currentState === \"idle\") {\n startIdleAnimations()\n }\n\n prevStateRef.current = timerState.currentState\n }, [\n timerState.currentState,\n stopPulsatingAnimation,\n stopIdleAnimations,\n startIdleAnimations,\n triggerFadeTransition,\n setInitialAnimationState,\n ])\n\n // Provide controls to parent component\n useEffect(() => {\n let isMounted = true\n const timeoutId = setTimeout(() => {\n if (isMounted) {\n onCycleComplete(controls)\n }\n }, 0)\n\n return () => {\n isMounted = false\n clearTimeout(timeoutId)\n }\n }, [onCycleComplete, controls])\n\n // Cleanup on unmount\n useEffect(() => {\n return cleanup\n }, [cleanup])\n\n // Render appropriate variant\n if (variant === \"small\") {\n return (\n <SmallVariant\n timerState={timerState}\n animationState={animationState}\n hasError={hasError}\n compact={compact}\n className={className}\n />\n )\n }\n\n return (\n <DefaultVariant\n timerState={timerState}\n animationState={animationState}\n hasError={hasError}\n className={className}\n />\n )\n },\n ),\n)\n\nexport default CycleTimer\n"],"names":["CycleTimer","externalizeComponent","observer","onCycleComplete","onCycleEnd","onMeasuringComplete","autoStart","variant","compact","className","hasError","prevStateRef","useRef","animationState","triggerPauseAnimation","triggerErrorAnimation","clearErrorAnimation","startPulsatingAnimation","stopPulsatingAnimation","startIdleAnimations","stopIdleAnimations","triggerFadeTransition","setInitialAnimationState","cleanup","useAnimations","timerState","controls","useTimerLogic","useEffect","prevState","isMounted","timeoutId","jsx","SmallVariant","DefaultVariant"],"mappings":"iXA+BaA,EAAaC,EAAAA,qBACxBC,EAAAA,SACE,CAAC,CACC,gBAAAC,EACA,WAAAC,EACA,oBAAAC,EACA,UAAAC,EAAY,GACZ,QAAAC,EAAU,UACV,QAAAC,EAAU,GACV,UAAAC,EACA,SAAAC,EAAW,EAAA,IACU,CACrB,MAAMC,EAAeC,EAAAA,OAA2B,MAAS,EAGnD,CACJ,eAAAC,EACA,sBAAAC,EACA,sBAAAC,EACA,oBAAAC,EACA,wBAAAC,EACA,uBAAAC,EACA,oBAAAC,EACA,mBAAAC,EACA,sBAAAC,EACA,yBAAAC,EACA,QAAAC,CAAA,EACEC,gBAAA,EAGE,CAAE,WAAAC,EAAY,SAAAC,CAAA,EAAaC,gBAAc,CAC7C,UAAArB,EACA,WAAAF,EACA,oBAAAC,EACA,SAAAK,EACA,iBAAkBI,EAClB,iBAAkBC,EAClB,sBAAuBC,EACvB,iBAAkBC,CAAA,CACnB,EA+DD,OA5DAW,EAAAA,UAAU,IAAM,CACd,MAAMC,EAAYlB,EAAa,QAG7BA,EAAa,UAAY,QACzBkB,IAAcJ,EAAW,cAGrBI,IAAc,YAChBX,EAAA,EAIEW,IAAc,QAChBT,EAAA,EAIFC,EAAA,GAGAC,EAAA,EAIEG,EAAW,eAAiB,QAC9BN,EAAA,EAGFR,EAAa,QAAUc,EAAW,YACpC,EAAG,CACDA,EAAW,aACXP,EACAE,EACAD,EACAE,EACAC,CAAA,CACD,EAGDM,EAAAA,UAAU,IAAM,CACd,IAAIE,EAAY,GAChB,MAAMC,EAAY,WAAW,IAAM,CAC7BD,GACF3B,EAAgBuB,CAAQ,CAE5B,EAAG,CAAC,EAEJ,MAAO,IAAM,CACXI,EAAY,GACZ,aAAaC,CAAS,CACxB,CACF,EAAG,CAAC5B,EAAiBuB,CAAQ,CAAC,EAG9BE,EAAAA,UAAU,IACDL,EACN,CAACA,CAAO,CAAC,EAGRhB,IAAY,QAEZyB,EAAAA,IAACC,EAAAA,aAAA,CACC,WAAAR,EACA,eAAAZ,EACA,SAAAH,EACA,QAAAF,EACA,UAAAC,CAAA,CAAA,EAMJuB,EAAAA,IAACE,EAAAA,eAAA,CACC,WAAAT,EACA,eAAAZ,EACA,SAAAH,EACA,UAAAD,CAAA,CAAA,CAGN,CAAA,CAEJ"}
@@ -25,3 +25,4 @@ export declare const CycleTimer: (({ onCycleComplete, onCycleEnd, onMeasuringCom
25
25
  displayName: string;
26
26
  };
27
27
  export default CycleTimer;
28
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/CycleTimer/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAI9C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,UAAU,6GAWhB,eAAe;;CAiHrB,CAAA;AAED,eAAe,UAAU,CAAA"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as A } from "react/jsx-runtime";
2
2
  import { observer as b } from "mobx-react-lite";
3
3
  import { useRef as j, useEffect as n } from "react";
4
- import { e as z } from "../../chunks/externalizeComponent-eiCc5DIh.js";
4
+ import { externalizeComponent as z } from "../../externalizeComponent.js";
5
5
  import { DefaultVariant as C } from "./DefaultVariant.js";
6
6
  import { SmallVariant as D } from "./SmallVariant.js";
7
7
  import { useAnimations as F } from "./useAnimations.js";
@@ -83,3 +83,4 @@ export {
83
83
  J as CycleTimer,
84
84
  J as default
85
85
  };
86
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/CycleTimer/index.tsx"],"sourcesContent":["import { observer } from \"mobx-react-lite\"\nimport { useEffect, useRef } from \"react\"\nimport { externalizeComponent } from \"../../externalizeComponent\"\nimport { DefaultVariant } from \"./DefaultVariant\"\nimport { SmallVariant } from \"./SmallVariant\"\nimport type { CycleTimerProps } from \"./types\"\nimport { useAnimations } from \"./useAnimations\"\nimport { useTimerLogic } from \"./useTimerLogic\"\n\n/**\n * A circular gauge timer component for cycle-specific timing operations\n *\n * Features:\n * - Custom SVG circular gauge with 264px diameter and 40px thickness\n * - Multiple states: idle, measuring, measured, countdown, success\n * - Idle state: shows \"Waiting for program cycle\" with transparent inner circle\n * - Measuring state: counts up with \"Cycle Time\" / \"measuring...\" labels\n * - Measured state: shows final time with \"Cycle Time\" / \"determined\" labels in pulsating green\n * - Countdown mode: shows remaining time prominently, counts down to zero\n * - Success state: brief green flash after cycle completion\n * - Displays appropriate labels based on state\n * - Automatically counts down and triggers callback when reaching zero\n * - Full timer control: start, pause, resume functionality\n * - Support for starting with elapsed time (resume mid-cycle)\n * - Error state support: pauses timer and shows error styling (red color)\n * - Smooth fade transitions between different text states\n * - Pulsating text animation for completed measuring state\n * - Fully localized with i18next\n * - Material-UI theming integration\n * - Small variant with animated progress icon (gauge border only) next to text\n */\nexport const CycleTimer = externalizeComponent(\n observer(\n ({\n onCycleComplete,\n onCycleEnd,\n onMeasuringComplete,\n autoStart = true,\n variant = \"default\",\n compact = false,\n className,\n hasError = false,\n }: CycleTimerProps) => {\n const prevStateRef = useRef<string | undefined>(undefined)\n\n // Initialize animation hooks\n const {\n animationState,\n triggerPauseAnimation,\n triggerErrorAnimation,\n clearErrorAnimation,\n startPulsatingAnimation,\n stopPulsatingAnimation,\n startIdleAnimations,\n stopIdleAnimations,\n triggerFadeTransition,\n setInitialAnimationState,\n cleanup,\n } = useAnimations()\n\n // Initialize timer logic\n const { timerState, controls } = useTimerLogic({\n autoStart,\n onCycleEnd,\n onMeasuringComplete,\n hasError,\n onPauseAnimation: triggerPauseAnimation,\n onErrorAnimation: triggerErrorAnimation,\n onClearErrorAnimation: clearErrorAnimation,\n onStartPulsating: startPulsatingAnimation,\n })\n\n // Handle state changes with fade transitions\n useEffect(() => {\n const prevState = prevStateRef.current\n\n if (\n prevStateRef.current !== undefined &&\n prevState !== timerState.currentState\n ) {\n // Stop pulsating animation if leaving measured state\n if (prevState === \"measured\") {\n stopPulsatingAnimation()\n }\n\n // Stop idle animations if leaving idle state\n if (prevState === \"idle\") {\n stopIdleAnimations()\n }\n\n // Trigger fade transition\n triggerFadeTransition()\n } else {\n // No state change or first time - set initial state\n setInitialAnimationState()\n }\n\n // Start idle animations if entering idle state\n if (timerState.currentState === \"idle\") {\n startIdleAnimations()\n }\n\n prevStateRef.current = timerState.currentState\n }, [\n timerState.currentState,\n stopPulsatingAnimation,\n stopIdleAnimations,\n startIdleAnimations,\n triggerFadeTransition,\n setInitialAnimationState,\n ])\n\n // Provide controls to parent component\n useEffect(() => {\n let isMounted = true\n const timeoutId = setTimeout(() => {\n if (isMounted) {\n onCycleComplete(controls)\n }\n }, 0)\n\n return () => {\n isMounted = false\n clearTimeout(timeoutId)\n }\n }, [onCycleComplete, controls])\n\n // Cleanup on unmount\n useEffect(() => {\n return cleanup\n }, [cleanup])\n\n // Render appropriate variant\n if (variant === \"small\") {\n return (\n <SmallVariant\n timerState={timerState}\n animationState={animationState}\n hasError={hasError}\n compact={compact}\n className={className}\n />\n )\n }\n\n return (\n <DefaultVariant\n timerState={timerState}\n animationState={animationState}\n hasError={hasError}\n className={className}\n />\n )\n },\n ),\n)\n\nexport default CycleTimer\n"],"names":["CycleTimer","externalizeComponent","observer","onCycleComplete","onCycleEnd","onMeasuringComplete","autoStart","variant","compact","className","hasError","prevStateRef","useRef","animationState","triggerPauseAnimation","triggerErrorAnimation","clearErrorAnimation","startPulsatingAnimation","stopPulsatingAnimation","startIdleAnimations","stopIdleAnimations","triggerFadeTransition","setInitialAnimationState","cleanup","useAnimations","timerState","controls","useTimerLogic","useEffect","prevState","isMounted","timeoutId","jsx","SmallVariant","DefaultVariant"],"mappings":";;;;;;;;AA+BO,MAAMA,IAAaC;AAAA,EACxBC;AAAA,IACE,CAAC;AAAA,MACC,iBAAAC;AAAA,MACA,YAAAC;AAAA,MACA,qBAAAC;AAAA,MACA,WAAAC,IAAY;AAAA,MACZ,SAAAC,IAAU;AAAA,MACV,SAAAC,IAAU;AAAA,MACV,WAAAC;AAAA,MACA,UAAAC,IAAW;AAAA,IAAA,MACU;AACrB,YAAMC,IAAeC,EAA2B,MAAS,GAGnD;AAAA,QACJ,gBAAAC;AAAA,QACA,uBAAAC;AAAA,QACA,uBAAAC;AAAA,QACA,qBAAAC;AAAA,QACA,yBAAAC;AAAA,QACA,wBAAAC;AAAA,QACA,qBAAAC;AAAA,QACA,oBAAAC;AAAA,QACA,uBAAAC;AAAA,QACA,0BAAAC;AAAA,QACA,SAAAC;AAAA,MAAA,IACEC,EAAA,GAGE,EAAE,YAAAC,GAAY,UAAAC,EAAA,IAAaC,EAAc;AAAA,QAC7C,WAAArB;AAAA,QACA,YAAAF;AAAA,QACA,qBAAAC;AAAA,QACA,UAAAK;AAAA,QACA,kBAAkBI;AAAA,QAClB,kBAAkBC;AAAA,QAClB,uBAAuBC;AAAA,QACvB,kBAAkBC;AAAA,MAAA,CACnB;AA+DD,aA5DAW,EAAU,MAAM;AACd,cAAMC,IAAYlB,EAAa;AAE/B,QACEA,EAAa,YAAY,UACzBkB,MAAcJ,EAAW,gBAGrBI,MAAc,cAChBX,EAAA,GAIEW,MAAc,UAChBT,EAAA,GAIFC,EAAA,KAGAC,EAAA,GAIEG,EAAW,iBAAiB,UAC9BN,EAAA,GAGFR,EAAa,UAAUc,EAAW;AAAA,MACpC,GAAG;AAAA,QACDA,EAAW;AAAA,QACXP;AAAA,QACAE;AAAA,QACAD;AAAA,QACAE;AAAA,QACAC;AAAA,MAAA,CACD,GAGDM,EAAU,MAAM;AACd,YAAIE,IAAY;AAChB,cAAMC,IAAY,WAAW,MAAM;AACjC,UAAID,KACF3B,EAAgBuB,CAAQ;AAAA,QAE5B,GAAG,CAAC;AAEJ,eAAO,MAAM;AACX,UAAAI,IAAY,IACZ,aAAaC,CAAS;AAAA,QACxB;AAAA,MACF,GAAG,CAAC5B,GAAiBuB,CAAQ,CAAC,GAG9BE,EAAU,MACDL,GACN,CAACA,CAAO,CAAC,GAGRhB,MAAY,UAEZ,gBAAAyB;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,YAAAR;AAAA,UACA,gBAAAZ;AAAA,UACA,UAAAH;AAAA,UACA,SAAAF;AAAA,UACA,WAAAC;AAAA,QAAA;AAAA,MAAA,IAMJ,gBAAAuB;AAAA,QAACE;AAAA,QAAA;AAAA,UACC,YAAAT;AAAA,UACA,gBAAAZ;AAAA,UACA,UAAAH;AAAA,UACA,WAAAD;AAAA,QAAA;AAAA,MAAA;AAAA,IAGN;AAAA,EAAA;AAEJ;"}
@@ -47,3 +47,4 @@ export interface AnimationState {
47
47
  showIdlePulsating: boolean;
48
48
  idleDotsCount: number;
49
49
  }
50
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/CycleTimer/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GACvB,MAAM,GACN,WAAW,GACX,UAAU,GACV,WAAW,GACX,SAAS,CAAA;AAEb,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IACxE,cAAc,EAAE,CAAC,cAAc,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IACjD,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,iBAAiB,EAAE,MAAM,IAAI,CAAA;IAC7B,KAAK,EAAE,MAAM,IAAI,CAAA;IACjB,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,QAAQ,EAAE,MAAM,OAAO,CAAA;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,eAAe,EAAE,CAAC,QAAQ,EAAE,kBAAkB,KAAK,IAAI,CAAA;IACvD,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;IACvB,oDAAoD;IACpD,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAA;IAChC,uEAAuE;IACvE,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,kCAAkC;IAClC,OAAO,CAAC,EAAE,SAAS,GAAG,OAAO,CAAA;IAC7B,qFAAqF;IACrF,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,oFAAoF;IACpF,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,eAAe,CAAA;IAC7B,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,SAAS,EAAE,OAAO,CAAA;IAClB,aAAa,EAAE,OAAO,CAAA;IACtB,eAAe,EAAE,MAAM,CAAA;IACvB,qBAAqB,EAAE,OAAO,CAAA;CAC/B;AAED,MAAM,WAAW,cAAc;IAC7B,kBAAkB,EAAE,OAAO,CAAA;IAC3B,kBAAkB,EAAE,OAAO,CAAA;IAC3B,iBAAiB,EAAE,OAAO,CAAA;IAC1B,iBAAiB,EAAE,OAAO,CAAA;IAC1B,UAAU,EAAE,OAAO,CAAA;IACnB,YAAY,EAAE,OAAO,CAAA;IACrB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,aAAa,EAAE,MAAM,CAAA;CACtB"}
@@ -1 +1,2 @@
1
1
  "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react"),R=()=>{const[f,n]=t.useState({showPauseAnimation:!1,showErrorAnimation:!1,showPulsatingText:!1,pulsatingFinished:!1,showLabels:!0,showMainText:!0,showIdlePulsating:!1,idleDotsCount:0}),i=t.useRef(null),r=t.useRef(null),s=t.useRef(null),o=t.useRef(null),c=t.useRef(0),a=t.useRef(null),u=t.useRef(null),m=t.useCallback(()=>{n(e=>({...e,showPauseAnimation:!0})),i.current&&clearTimeout(i.current),i.current=setTimeout(()=>{n(e=>({...e,showPauseAnimation:!1}))},800)},[]),h=t.useCallback(()=>{n(e=>({...e,showErrorAnimation:!0})),r.current&&clearTimeout(r.current),r.current=setTimeout(()=>{n(e=>({...e,showErrorAnimation:!1}))},600)},[]),g=t.useCallback(()=>{n(e=>({...e,showErrorAnimation:!1})),r.current&&clearTimeout(r.current)},[]),w=t.useCallback(e=>{c.current=0,n(l=>({...l,showPulsatingText:!0,pulsatingFinished:!1})),setTimeout(()=>{n(l=>({...l,pulsatingFinished:!0})),s.current=setInterval(()=>{n(l=>({...l,showPulsatingText:!l.showPulsatingText}))},2e3),e&&e()},800)},[]),T=t.useCallback(()=>{s.current&&(clearInterval(s.current),s.current=null),n(e=>({...e,showPulsatingText:!1,pulsatingFinished:!1})),c.current=0},[]),d=t.useCallback(()=>{n(e=>({...e,showIdlePulsating:!0})),a.current=setInterval(()=>{n(e=>({...e,showIdlePulsating:!e.showIdlePulsating}))},2e3),u.current=setInterval(()=>{n(e=>({...e,idleDotsCount:(e.idleDotsCount+1)%4}))},800)},[]),A=t.useCallback(()=>{a.current&&(clearInterval(a.current),a.current=null),u.current&&(clearInterval(u.current),u.current=null),n(e=>({...e,showIdlePulsating:!1,idleDotsCount:0}))},[]),I=t.useCallback(()=>{n(e=>({...e,showLabels:!1,showMainText:!1})),o.current&&clearTimeout(o.current),o.current=setTimeout(()=>{n(e=>({...e,showLabels:!0,showMainText:!0}))},200)},[]),P=t.useCallback(()=>{n(e=>({...e,showLabels:!0,showMainText:!0}))},[]),b=t.useCallback(()=>{i.current&&clearTimeout(i.current),r.current&&clearTimeout(r.current),o.current&&clearTimeout(o.current),s.current&&clearInterval(s.current),a.current&&clearInterval(a.current),u.current&&clearInterval(u.current)},[]);return{animationState:f,triggerPauseAnimation:m,triggerErrorAnimation:h,clearErrorAnimation:g,startPulsatingAnimation:w,stopPulsatingAnimation:T,startIdleAnimations:d,stopIdleAnimations:A,triggerFadeTransition:I,setInitialAnimationState:P,cleanup:b}};exports.useAnimations=R;
2
+ //# sourceMappingURL=useAnimations.cjs.map