@elice/material-exercise 1.260305.0 → 1.260430.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (253) hide show
  1. package/cjs/components/material-exercise/MaterialExercise.js +113 -17
  2. package/cjs/components/material-exercise/context/ExerciseProvider.d.ts +3 -1
  3. package/cjs/components/material-exercise/context/index.js +0 -7
  4. package/cjs/components/material-exercise/context/recoil.d.ts +0 -44
  5. package/cjs/components/material-exercise/context/recoil.js +0 -108
  6. package/cjs/components/material-exercise/context/recoilTypes.d.ts +0 -7
  7. package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.js +52 -7
  8. package/cjs/components/material-exercise/exercise-menu/ExerciseMenu.d.ts +1 -1
  9. package/cjs/components/material-exercise/exercise-menu/ExerciseMenu.js +1 -18
  10. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.js +2 -4
  11. package/cjs/components/material-exercise/exercise-menu/locales/en.json.js +1 -1
  12. package/cjs/components/material-exercise/exercise-menu/locales/ko.json.js +1 -1
  13. package/cjs/components/material-exercise/exercise-runner/ExerciseRunner.js +27 -57
  14. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerController.js +34 -7
  15. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.d.ts +1 -1
  16. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js +13 -219
  17. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.d.ts +2 -2
  18. package/cjs/components/material-exercise/exercise-runner/action/ControllerActionCancel.d.ts +3 -0
  19. package/cjs/components/material-exercise/exercise-runner/action/ControllerActionCancel.js +44 -0
  20. package/cjs/components/material-exercise/exercise-runner/action/ControllerActionGrade.d.ts +3 -0
  21. package/cjs/components/material-exercise/exercise-runner/action/ControllerActionGrade.js +58 -0
  22. package/cjs/components/material-exercise/exercise-runner/action/ControllerActionRun.d.ts +3 -0
  23. package/cjs/components/material-exercise/exercise-runner/action/ControllerActionRun.js +44 -0
  24. package/cjs/components/material-exercise/exercise-runner/action/ControllerActionSyncRequest.d.ts +3 -0
  25. package/cjs/components/material-exercise/exercise-runner/action/ControllerActionSyncRequest.js +44 -0
  26. package/cjs/components/material-exercise/exercise-runner/action/index.d.ts +5 -0
  27. package/cjs/components/material-exercise/exercise-runner/action/index.js +15 -0
  28. package/cjs/components/material-exercise/exercise-runner/action/useControllerActionCancel.d.ts +14 -0
  29. package/cjs/components/material-exercise/exercise-runner/action/useControllerActionCancel.js +52 -0
  30. package/cjs/components/material-exercise/exercise-runner/action/useControllerActionGrade.d.ts +16 -0
  31. package/cjs/components/material-exercise/exercise-runner/action/useControllerActionGrade.js +74 -0
  32. package/cjs/components/material-exercise/exercise-runner/action/useControllerActionRun.d.ts +14 -0
  33. package/cjs/components/material-exercise/exercise-runner/action/useControllerActionRun.js +65 -0
  34. package/cjs/components/material-exercise/exercise-runner/action/useControllerActionSyncRequest.d.ts +15 -0
  35. package/cjs/components/material-exercise/exercise-runner/action/useControllerActionSyncRequest.js +68 -0
  36. package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoConnectionGuideDialog.d.ts +3 -0
  37. package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoConnectionGuideDialog.js +163 -0
  38. package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoConnectionGuideDialogNativeMock.d.ts +3 -0
  39. package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoConnectionGuideDialogNativeMock.js +188 -0
  40. package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoConnectionGuideDialogSteps.d.ts +3 -0
  41. package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoConnectionGuideDialogSteps.js +128 -0
  42. package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoControllerActionCompile.d.ts +3 -0
  43. package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoControllerActionCompile.js +78 -0
  44. package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoControllerActionUpload.d.ts +3 -0
  45. package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoControllerActionUpload.js +98 -0
  46. package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoControllerButtonGroup.d.ts +3 -0
  47. package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoControllerButtonGroup.js +24 -0
  48. package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoControllerStatusMessage.d.ts +3 -0
  49. package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoControllerStatusMessage.js +201 -0
  50. package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoErrorDialog.d.ts +3 -0
  51. package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoErrorDialog.js +125 -0
  52. package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoHelpDialog.d.ts +3 -0
  53. package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoHelpDialog.js +179 -0
  54. package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoHelpDialogButton.d.ts +3 -0
  55. package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoHelpDialogButton.js +29 -0
  56. package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoHelpDialogChecklist.d.ts +3 -0
  57. package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoHelpDialogChecklist.js +94 -0
  58. package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoProvider.d.ts +16 -0
  59. package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoProvider.js +105 -0
  60. package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoProviderApiBinder.d.ts +12 -0
  61. package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoProviderApiBinder.js +94 -0
  62. package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoProviderFlashWriter.d.ts +7 -0
  63. package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoProviderFlashWriter.js +95 -0
  64. package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoProviderSessionWriter.d.ts +7 -0
  65. package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoProviderSessionWriter.js +70 -0
  66. package/cjs/components/material-exercise/exercise-runner/arduino/_context.d.ts +35 -0
  67. package/cjs/components/material-exercise/exercise-runner/arduino/_context.js +18 -0
  68. package/cjs/components/material-exercise/exercise-runner/arduino/index.d.ts +6 -0
  69. package/cjs/components/material-exercise/exercise-runner/arduino/index.js +13 -0
  70. package/cjs/components/material-exercise/exercise-runner/arduino/useArduinoRunIntent.d.ts +9 -0
  71. package/cjs/components/material-exercise/exercise-runner/arduino/useArduinoRunIntent.js +38 -0
  72. package/cjs/components/material-exercise/exercise-runner/arduino/useArduinoTerminalWriter.d.ts +10 -0
  73. package/cjs/components/material-exercise/exercise-runner/arduino/useArduinoTerminalWriter.js +33 -0
  74. package/cjs/components/material-exercise/exercise-runner/locales/en.json.js +1 -1
  75. package/cjs/components/material-exercise/exercise-runner/locales/ja.json.js +1 -1
  76. package/cjs/components/material-exercise/exercise-runner/locales/ko.json.js +1 -1
  77. package/cjs/components/material-exercise/exercise-runner/locales/th.json.js +1 -1
  78. package/cjs/components/shared/exercise-version-list/ExerciseVersionList.js +18 -2
  79. package/cjs/components/shared/exercise-version-list/ExerciseVersionListItem.d.ts +1 -0
  80. package/cjs/components/shared/file-tabs/FileTab.js +70 -8
  81. package/cjs/components/shared/file-tabs/FileTabs.js +24 -3
  82. package/cjs/components/shared/file-tree/FileTreeListItemContent.js +103 -14
  83. package/cjs/components/shared/file-tree/FileTreeListItemContentInput.js +24 -3
  84. package/cjs/components/shared/file-tree/FileTreeListItems.js +28 -3
  85. package/cjs/components/shared/file-tree/file-tree-toolbar/FileTreeToolbar.js +7 -2
  86. package/cjs/components/shared/material-modal/MaterialModal.d.ts +1 -0
  87. package/cjs/components/shared/material-modal/MaterialModal.js +34 -6
  88. package/cjs/components/shared/monaco-editor/utils/prettier/config.d.ts +1 -1
  89. package/cjs/components/shared/monaco-editor/utils/prettier/config.js +1 -1
  90. package/cjs/hooks/index.d.ts +0 -1
  91. package/cjs/hooks/index.js +0 -2
  92. package/es/components/material-exercise/MaterialExercise.js +97 -2
  93. package/es/components/material-exercise/context/ExerciseProvider.d.ts +3 -1
  94. package/es/components/material-exercise/context/index.js +1 -1
  95. package/es/components/material-exercise/context/recoil.d.ts +0 -44
  96. package/es/components/material-exercise/context/recoil.js +1 -102
  97. package/es/components/material-exercise/context/recoilTypes.d.ts +0 -7
  98. package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.js +46 -2
  99. package/es/components/material-exercise/exercise-menu/ExerciseMenu.d.ts +1 -1
  100. package/es/components/material-exercise/exercise-menu/ExerciseMenu.js +2 -18
  101. package/es/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.js +3 -3
  102. package/es/components/material-exercise/exercise-menu/locales/en.json.js +1 -1
  103. package/es/components/material-exercise/exercise-menu/locales/ko.json.js +1 -1
  104. package/es/components/material-exercise/exercise-runner/ExerciseRunner.js +28 -58
  105. package/es/components/material-exercise/exercise-runner/ExerciseRunnerController.js +34 -7
  106. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.d.ts +1 -1
  107. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js +13 -214
  108. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.d.ts +2 -2
  109. package/es/components/material-exercise/exercise-runner/action/ControllerActionCancel.d.ts +3 -0
  110. package/es/components/material-exercise/exercise-runner/action/ControllerActionCancel.js +40 -0
  111. package/es/components/material-exercise/exercise-runner/action/ControllerActionGrade.d.ts +3 -0
  112. package/es/components/material-exercise/exercise-runner/action/ControllerActionGrade.js +54 -0
  113. package/es/components/material-exercise/exercise-runner/action/ControllerActionRun.d.ts +3 -0
  114. package/es/components/material-exercise/exercise-runner/action/ControllerActionRun.js +40 -0
  115. package/es/components/material-exercise/exercise-runner/action/ControllerActionSyncRequest.d.ts +3 -0
  116. package/es/components/material-exercise/exercise-runner/action/ControllerActionSyncRequest.js +40 -0
  117. package/es/components/material-exercise/exercise-runner/action/index.d.ts +5 -0
  118. package/es/components/material-exercise/exercise-runner/action/index.js +5 -0
  119. package/es/components/material-exercise/exercise-runner/action/useControllerActionCancel.d.ts +14 -0
  120. package/es/components/material-exercise/exercise-runner/action/useControllerActionCancel.js +46 -0
  121. package/es/components/material-exercise/exercise-runner/action/useControllerActionGrade.d.ts +16 -0
  122. package/es/components/material-exercise/exercise-runner/action/useControllerActionGrade.js +68 -0
  123. package/es/components/material-exercise/exercise-runner/action/useControllerActionRun.d.ts +14 -0
  124. package/es/components/material-exercise/exercise-runner/action/useControllerActionRun.js +59 -0
  125. package/es/components/material-exercise/exercise-runner/action/useControllerActionSyncRequest.d.ts +15 -0
  126. package/es/components/material-exercise/exercise-runner/action/useControllerActionSyncRequest.js +62 -0
  127. package/es/components/material-exercise/exercise-runner/arduino/ArduinoConnectionGuideDialog.d.ts +3 -0
  128. package/es/components/material-exercise/exercise-runner/arduino/ArduinoConnectionGuideDialog.js +148 -0
  129. package/es/components/material-exercise/exercise-runner/arduino/ArduinoConnectionGuideDialogNativeMock.d.ts +3 -0
  130. package/es/components/material-exercise/exercise-runner/arduino/ArduinoConnectionGuideDialogNativeMock.js +177 -0
  131. package/es/components/material-exercise/exercise-runner/arduino/ArduinoConnectionGuideDialogSteps.d.ts +3 -0
  132. package/es/components/material-exercise/exercise-runner/arduino/ArduinoConnectionGuideDialogSteps.js +118 -0
  133. package/es/components/material-exercise/exercise-runner/arduino/ArduinoControllerActionCompile.d.ts +3 -0
  134. package/es/components/material-exercise/exercise-runner/arduino/ArduinoControllerActionCompile.js +70 -0
  135. package/es/components/material-exercise/exercise-runner/arduino/ArduinoControllerActionUpload.d.ts +3 -0
  136. package/es/components/material-exercise/exercise-runner/arduino/ArduinoControllerActionUpload.js +90 -0
  137. package/es/components/material-exercise/exercise-runner/arduino/ArduinoControllerButtonGroup.d.ts +3 -0
  138. package/es/components/material-exercise/exercise-runner/arduino/ArduinoControllerButtonGroup.js +20 -0
  139. package/es/components/material-exercise/exercise-runner/arduino/ArduinoControllerStatusMessage.d.ts +3 -0
  140. package/es/components/material-exercise/exercise-runner/arduino/ArduinoControllerStatusMessage.js +197 -0
  141. package/es/components/material-exercise/exercise-runner/arduino/ArduinoErrorDialog.d.ts +3 -0
  142. package/es/components/material-exercise/exercise-runner/arduino/ArduinoErrorDialog.js +112 -0
  143. package/es/components/material-exercise/exercise-runner/arduino/ArduinoHelpDialog.d.ts +3 -0
  144. package/es/components/material-exercise/exercise-runner/arduino/ArduinoHelpDialog.js +161 -0
  145. package/es/components/material-exercise/exercise-runner/arduino/ArduinoHelpDialogButton.d.ts +3 -0
  146. package/es/components/material-exercise/exercise-runner/arduino/ArduinoHelpDialogButton.js +25 -0
  147. package/es/components/material-exercise/exercise-runner/arduino/ArduinoHelpDialogChecklist.d.ts +3 -0
  148. package/es/components/material-exercise/exercise-runner/arduino/ArduinoHelpDialogChecklist.js +84 -0
  149. package/es/components/material-exercise/exercise-runner/arduino/ArduinoProvider.d.ts +16 -0
  150. package/es/components/material-exercise/exercise-runner/arduino/ArduinoProvider.js +97 -0
  151. package/es/components/material-exercise/exercise-runner/arduino/ArduinoProviderApiBinder.d.ts +12 -0
  152. package/es/components/material-exercise/exercise-runner/arduino/ArduinoProviderApiBinder.js +86 -0
  153. package/es/components/material-exercise/exercise-runner/arduino/ArduinoProviderFlashWriter.d.ts +7 -0
  154. package/es/components/material-exercise/exercise-runner/arduino/ArduinoProviderFlashWriter.js +87 -0
  155. package/es/components/material-exercise/exercise-runner/arduino/ArduinoProviderSessionWriter.d.ts +7 -0
  156. package/es/components/material-exercise/exercise-runner/arduino/ArduinoProviderSessionWriter.js +62 -0
  157. package/es/components/material-exercise/exercise-runner/arduino/_context.d.ts +35 -0
  158. package/es/components/material-exercise/exercise-runner/arduino/_context.js +15 -0
  159. package/es/components/material-exercise/exercise-runner/arduino/index.d.ts +6 -0
  160. package/es/components/material-exercise/exercise-runner/arduino/index.js +4 -0
  161. package/es/components/material-exercise/exercise-runner/arduino/useArduinoRunIntent.d.ts +9 -0
  162. package/es/components/material-exercise/exercise-runner/arduino/useArduinoRunIntent.js +32 -0
  163. package/es/components/material-exercise/exercise-runner/arduino/useArduinoTerminalWriter.d.ts +10 -0
  164. package/es/components/material-exercise/exercise-runner/arduino/useArduinoTerminalWriter.js +27 -0
  165. package/es/components/material-exercise/exercise-runner/locales/en.json.js +1 -1
  166. package/es/components/material-exercise/exercise-runner/locales/ja.json.js +1 -1
  167. package/es/components/material-exercise/exercise-runner/locales/ko.json.js +1 -1
  168. package/es/components/material-exercise/exercise-runner/locales/th.json.js +1 -1
  169. package/es/components/shared/exercise-version-list/ExerciseVersionList.js +13 -1
  170. package/es/components/shared/exercise-version-list/ExerciseVersionListItem.d.ts +1 -0
  171. package/es/components/shared/file-tabs/FileTab.js +62 -1
  172. package/es/components/shared/file-tabs/FileTabs.js +21 -1
  173. package/es/components/shared/file-tree/FileTreeListItemContent.js +90 -2
  174. package/es/components/shared/file-tree/FileTreeListItemContentInput.js +21 -1
  175. package/es/components/shared/file-tree/FileTreeListItems.js +22 -1
  176. package/es/components/shared/file-tree/file-tree-toolbar/FileTreeToolbar.js +5 -1
  177. package/es/components/shared/material-modal/MaterialModal.d.ts +1 -0
  178. package/es/components/shared/material-modal/MaterialModal.js +26 -2
  179. package/es/components/shared/monaco-editor/utils/prettier/config.d.ts +1 -1
  180. package/es/components/shared/monaco-editor/utils/prettier/config.js +1 -1
  181. package/es/hooks/index.d.ts +0 -1
  182. package/es/hooks/index.js +0 -1
  183. package/package.json +34 -21
  184. package/cjs/components/material-exercise/MaterialExercise.styled.d.ts +0 -66
  185. package/cjs/components/material-exercise/MaterialExercise.styled.js +0 -119
  186. package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.d.ts +0 -24
  187. package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.js +0 -62
  188. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.d.ts +0 -3
  189. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.js +0 -33
  190. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.d.ts +0 -3
  191. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.js +0 -178
  192. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.d.ts +0 -3
  193. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.js +0 -169
  194. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.d.ts +0 -3
  195. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.js +0 -120
  196. package/cjs/components/shared/exercise-version-list/ExerciseVersionList.styled.d.ts +0 -5
  197. package/cjs/components/shared/exercise-version-list/ExerciseVersionList.styled.js +0 -22
  198. package/cjs/components/shared/file-tabs/FileTab.styled.d.ts +0 -33
  199. package/cjs/components/shared/file-tabs/FileTab.styled.js +0 -77
  200. package/cjs/components/shared/file-tabs/FileTabs.styled.d.ts +0 -12
  201. package/cjs/components/shared/file-tabs/FileTabs.styled.js +0 -31
  202. package/cjs/components/shared/file-tree/FileTreeListItemContent.styled.d.ts +0 -62
  203. package/cjs/components/shared/file-tree/FileTreeListItemContent.styled.js +0 -108
  204. package/cjs/components/shared/file-tree/FileTreeListItemContentInput.styled.d.ts +0 -7
  205. package/cjs/components/shared/file-tree/FileTreeListItemContentInput.styled.js +0 -31
  206. package/cjs/components/shared/file-tree/FileTreeListItems.styled.d.ts +0 -8
  207. package/cjs/components/shared/file-tree/FileTreeListItems.styled.js +0 -32
  208. package/cjs/components/shared/file-tree/FileTreeToolbar.styled.d.ts +0 -4
  209. package/cjs/components/shared/file-tree/FileTreeToolbar.styled.js +0 -14
  210. package/cjs/components/shared/material-modal/MaterialModal.styled.d.ts +0 -20
  211. package/cjs/components/shared/material-modal/MaterialModal.styled.js +0 -39
  212. package/cjs/constants/arduino.d.ts +0 -35
  213. package/cjs/constants/arduino.js +0 -73
  214. package/cjs/hooks/useArduino.d.ts +0 -14
  215. package/cjs/hooks/useArduino.js +0 -589
  216. package/cjs/typings/arduino.d.ts +0 -77
  217. package/cjs/utils/arduino.d.ts +0 -43
  218. package/cjs/utils/arduino.js +0 -82
  219. package/es/components/material-exercise/MaterialExercise.styled.d.ts +0 -66
  220. package/es/components/material-exercise/MaterialExercise.styled.js +0 -100
  221. package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.d.ts +0 -24
  222. package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.js +0 -49
  223. package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.d.ts +0 -3
  224. package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.js +0 -29
  225. package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.d.ts +0 -3
  226. package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.js +0 -170
  227. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.d.ts +0 -3
  228. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.js +0 -161
  229. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.d.ts +0 -3
  230. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.js +0 -112
  231. package/es/components/shared/exercise-version-list/ExerciseVersionList.styled.d.ts +0 -5
  232. package/es/components/shared/exercise-version-list/ExerciseVersionList.styled.js +0 -16
  233. package/es/components/shared/file-tabs/FileTab.styled.d.ts +0 -33
  234. package/es/components/shared/file-tabs/FileTab.styled.js +0 -65
  235. package/es/components/shared/file-tabs/FileTabs.styled.d.ts +0 -12
  236. package/es/components/shared/file-tabs/FileTabs.styled.js +0 -24
  237. package/es/components/shared/file-tree/FileTreeListItemContent.styled.d.ts +0 -62
  238. package/es/components/shared/file-tree/FileTreeListItemContent.styled.js +0 -94
  239. package/es/components/shared/file-tree/FileTreeListItemContentInput.styled.d.ts +0 -7
  240. package/es/components/shared/file-tree/FileTreeListItemContentInput.styled.js +0 -24
  241. package/es/components/shared/file-tree/FileTreeListItems.styled.d.ts +0 -8
  242. package/es/components/shared/file-tree/FileTreeListItems.styled.js +0 -25
  243. package/es/components/shared/file-tree/FileTreeToolbar.styled.d.ts +0 -4
  244. package/es/components/shared/file-tree/FileTreeToolbar.styled.js +0 -8
  245. package/es/components/shared/material-modal/MaterialModal.styled.d.ts +0 -20
  246. package/es/components/shared/material-modal/MaterialModal.styled.js +0 -29
  247. package/es/constants/arduino.d.ts +0 -35
  248. package/es/constants/arduino.js +0 -62
  249. package/es/hooks/useArduino.d.ts +0 -14
  250. package/es/hooks/useArduino.js +0 -583
  251. package/es/typings/arduino.d.ts +0 -77
  252. package/es/utils/arduino.d.ts +0 -43
  253. package/es/utils/arduino.js +0 -75
@@ -6,7 +6,6 @@ var _rollupPluginBabelHelpers = require('../../../_virtual/_rollupPluginBabelHel
6
6
  var _styled = require('@emotion/styled/base');
7
7
  var jsxRuntime = require('react/jsx-runtime');
8
8
  var React = require('react');
9
- var reactUse = require('react-use');
10
9
  var apiClient = require('@elice/api-client');
11
10
  var blocks = require('@elice/blocks');
12
11
  var designTokens = require('@elice/design-tokens');
@@ -20,10 +19,10 @@ var ExerciseRunnerController = require('./ExerciseRunnerController.js');
20
19
  var en = require('./locales/en.json.js');
21
20
  var ko = require('./locales/ko.json.js');
22
21
  var recoil$1 = require('../context/recoil.js');
23
- var useArduino = require('../../../hooks/useArduino.js');
24
22
  var useRunnerRoomWebSocket = require('../../../hooks/useRunnerRoomWebSocket.js');
25
23
  var useStdioWebSocket = require('../../../hooks/useStdioWebSocket.js');
26
24
  var subjects = require('../context/subjects.js');
25
+ var ArduinoProvider = require('./arduino/ArduinoProvider.js');
27
26
  var XtermLazy = require('../../shared/xterm/XtermLazy.js');
28
27
  var async = require('../../../utils/async.js');
29
28
  var runner = require('../../../utils/runner.js');
@@ -111,26 +110,8 @@ var ExerciseRunner = function ExerciseRunner(_ref) {
111
110
  var arduinoTextBuffer = React__default.default.useRef('');
112
111
  var runnerRunTypeRef = React__default.default.useRef(runnerRunTypeState);
113
112
  var xterm = React__default.default.useRef(null);
114
- /**
115
- * Handle text received from arduino serial output.
116
- */
117
- var handleArduinoDigitalOutput = function handleArduinoDigitalOutput(text) {
118
- var _a;
119
- (_a = xterm.current) === null || _a === void 0 ? void 0 : _a.write(text);
120
- };
121
- // Arduino
122
- var arduino = useArduino.useArduino({
123
- writeTerminal: handleArduinoDigitalOutput
124
- });
113
+ var arduinoBridgeApi = React__default.default.useRef(null);
125
114
  var isArduinoExercise = (exercise === null || exercise === void 0 ? void 0 : exercise.envType) === types.enums.ExerciseEnvType.Arduino;
126
- /**
127
- * Handle destroy arduino client.
128
- */
129
- var handleArduinoDistroy = React__default.default.useCallback(function () {
130
- if (isArduinoExercise) {
131
- arduino.destroy();
132
- }
133
- }, [isArduinoExercise, arduino]);
134
115
  /**
135
116
  * Handle text received from stdio websocket.
136
117
  */
@@ -153,10 +134,11 @@ var ExerciseRunner = function ExerciseRunner(_ref) {
153
134
  * Handle file received from stdio websocket.
154
135
  */
155
136
  var handleWsStdioFileReceive = function handleWsStdioFileReceive(stdioFile) {
137
+ var _a;
156
138
  // arduino exercise
157
139
  if (isArduinoExercise) {
158
140
  if ('filename' in stdioFile && stdioFile.filename.startsWith('firmware') && stdioFile.filename.endsWith('hex')) {
159
- arduino.uploadHexFile(stdioFile);
141
+ (_a = arduinoBridgeApi.current) === null || _a === void 0 ? void 0 : _a.handleIncomingHex(stdioFile.data);
160
142
  }
161
143
  return;
162
144
  }
@@ -416,7 +398,7 @@ var ExerciseRunner = function ExerciseRunner(_ref) {
416
398
  * Handle input requests for arduino.
417
399
  */
418
400
  var handleXtermArduinoInputRequest = function handleXtermArduinoInputRequest(_char) {
419
- var _a, _b, _c;
401
+ var _a, _b, _c, _d;
420
402
  switch (_char) {
421
403
  // backspace
422
404
  case "\x7F":
@@ -427,13 +409,13 @@ var ExerciseRunner = function ExerciseRunner(_ref) {
427
409
  case '\r':
428
410
  if (arduinoTextBuffer.current.length) {
429
411
  (_b = xterm.current) === null || _b === void 0 ? void 0 : _b.write('\r\n');
430
- arduino.sendText(arduinoTextBuffer.current);
412
+ (_c = arduinoBridgeApi.current) === null || _c === void 0 ? void 0 : _c.sendText(arduinoTextBuffer.current);
431
413
  arduinoTextBuffer.current = '';
432
414
  }
433
415
  break;
434
416
  // any char
435
417
  default:
436
- (_c = xterm.current) === null || _c === void 0 ? void 0 : _c.write(_char);
418
+ (_d = xterm.current) === null || _d === void 0 ? void 0 : _d.write(_char);
437
419
  arduinoTextBuffer.current = "".concat(arduinoTextBuffer.current).concat(_char);
438
420
  break;
439
421
  }
@@ -449,24 +431,6 @@ var ExerciseRunner = function ExerciseRunner(_ref) {
449
431
  }
450
432
  };
451
433
  //
452
- // Initialize Arduino devices.
453
- //
454
- React__default.default.useEffect(function () {
455
- if (!isArduinoExercise) {
456
- return;
457
- }
458
- void arduino.init();
459
- return function () {
460
- void arduino.destroy();
461
- };
462
- },
463
- // eslint-disable-next-line react-hooks/exhaustive-deps
464
- [exercise]);
465
- //
466
- // Destroy arduino client when unload window.
467
- //
468
- reactUse.useEvent('beforeunload', handleArduinoDistroy, window);
469
- //
470
434
  // Update runner room websocket state.
471
435
  //
472
436
  React__default.default.useEffect(function () {
@@ -603,23 +567,29 @@ var ExerciseRunner = function ExerciseRunner(_ref) {
603
567
  //
604
568
  //
605
569
  //
570
+ var runnerBody = jsxRuntime.jsxs(ExerciseRunnerContext.ExerciseRunnerContext.Provider, {
571
+ value: {
572
+ onSubmit: handleRunnerSubmit,
573
+ onCancel: handleRunnerCancel,
574
+ onSyncRequest: handleRunnerSyncRequest
575
+ },
576
+ children: [jsxRuntime.jsx(ExerciseRunnerController.default, {}), jsxRuntime.jsxs(blocks.Flex, {
577
+ auto: true,
578
+ style: {
579
+ minHeight: 0
580
+ },
581
+ overflow: "hidden",
582
+ children: [renderPreview(), renderXterm(), renderRunnerSubmitErrorDialog()]
583
+ })]
584
+ });
606
585
  return jsxRuntime.jsx(intl.RawEliceIntlProvider, {
607
586
  value: __intl,
608
587
  children: jsxRuntime.jsx(StyledExerciseRunner, {
609
- children: jsxRuntime.jsxs(ExerciseRunnerContext.ExerciseRunnerContext.Provider, {
610
- value: {
611
- onSubmit: handleRunnerSubmit,
612
- onCancel: handleRunnerCancel,
613
- onSyncRequest: handleRunnerSyncRequest
614
- },
615
- children: [jsxRuntime.jsx(ExerciseRunnerController.default, {}), jsxRuntime.jsxs(blocks.Flex, {
616
- auto: true,
617
- style: {
618
- minHeight: 0
619
- },
620
- overflow: "hidden",
621
- children: [renderPreview(), renderXterm(), renderRunnerSubmitErrorDialog()]
622
- })]
588
+ children: jsxRuntime.jsx(ArduinoProvider.default, {
589
+ enabled: isArduinoExercise,
590
+ xtermRef: xterm,
591
+ apiRef: arduinoBridgeApi,
592
+ children: runnerBody
623
593
  })
624
594
  })
625
595
  });
@@ -9,12 +9,12 @@ var blocks = require('@elice/blocks');
9
9
  var types = require('@elice/types');
10
10
  var recoil = require('recoil');
11
11
  var stylesheets = require('../../../constants/stylesheets.js');
12
- var ExerciseRunnerControllerArduinoAgentModal = require('./ExerciseRunnerControllerArduinoAgentModal.js');
13
- var ExerciseRunnerControllerArduinoStatusMessage = require('./ExerciseRunnerControllerArduinoStatusMessage.js');
14
12
  var ExerciseRunnerControllerButtonGroup = require('./ExerciseRunnerControllerButtonGroup.js');
15
13
  var ExerciseRunnerControllerRunningInfo = require('./ExerciseRunnerControllerRunningInfo.js');
16
14
  var ExerciseRunnerControllerStatusMessage = require('./ExerciseRunnerControllerStatusMessage.js');
17
15
  var ExerciseRunnerControllerTimer = require('./ExerciseRunnerControllerTimer.js');
16
+ var ArduinoControllerButtonGroup = require('./arduino/ArduinoControllerButtonGroup.js');
17
+ var ArduinoControllerStatusMessage = require('./arduino/ArduinoControllerStatusMessage.js');
18
18
  var context = require('../context/context.js');
19
19
  var recoil$1 = require('../context/recoil.js');
20
20
  var useExerciseFile = require('../../../hooks/useExerciseFile.js');
@@ -32,20 +32,47 @@ var ExerciseRunnerController = function ExerciseRunnerController() {
32
32
  var _React$useContext = React__default.default.useContext(context.ExerciseContext),
33
33
  materialExerciseId = _React$useContext.materialExerciseId;
34
34
  var exercise = recoil.useRecoilValue(recoil$1.exerciseState(materialExerciseId));
35
- var isArduinoExercise = (exercise === null || exercise === void 0 ? void 0 : exercise.envType) === types.enums.ExerciseEnvType.Arduino;
36
35
  var activeFilename = recoil.useRecoilValue(recoil$1.exerciseActiveFilenameState);
37
36
  var isFileEditable = useExerciseFile.useExerciseFileEditable(activeFilename);
37
+ /**
38
+ *
39
+ */
40
+ var renderControllerButtonGroup = function renderControllerButtonGroup() {
41
+ switch (exercise === null || exercise === void 0 ? void 0 : exercise.envType) {
42
+ case types.enums.ExerciseEnvType.Arduino:
43
+ return jsxRuntime.jsx(ArduinoControllerButtonGroup.default, {});
44
+ default:
45
+ return jsxRuntime.jsx(ExerciseRunnerControllerButtonGroup.default, {});
46
+ }
47
+ };
48
+ /**
49
+ *
50
+ */
51
+ var renderControllerStatusMessage = function renderControllerStatusMessage() {
52
+ if (!isFileEditable) {
53
+ return null;
54
+ }
55
+ switch (exercise === null || exercise === void 0 ? void 0 : exercise.envType) {
56
+ case types.enums.ExerciseEnvType.Arduino:
57
+ return jsxRuntime.jsx(ArduinoControllerStatusMessage.default, {});
58
+ default:
59
+ return jsxRuntime.jsx(ExerciseRunnerControllerStatusMessage.default, {});
60
+ }
61
+ };
62
+ //
63
+ //
64
+ //
38
65
  return jsxRuntime.jsxs(StyledController, {
39
66
  children: [jsxRuntime.jsxs(blocks.Flex, {
40
67
  align: "center",
41
- children: [jsxRuntime.jsx(ExerciseRunnerControllerButtonGroup.default, {}), jsxRuntime.jsx(blocks.Hspace, {
68
+ children: [renderControllerButtonGroup(), jsxRuntime.jsx(blocks.Hspace, {
42
69
  width: 1
43
70
  }), jsxRuntime.jsx(ExerciseRunnerControllerRunningInfo.default, {}), jsxRuntime.jsx(ExerciseRunnerControllerTimer.default, {})]
44
- }), isFileEditable ? jsxRuntime.jsxs(blocks.Flex, {
71
+ }), jsxRuntime.jsx(blocks.Flex, {
45
72
  column: true,
46
73
  align: "flex-end",
47
- children: [jsxRuntime.jsx(ExerciseRunnerControllerStatusMessage.default, {}), isArduinoExercise ? jsxRuntime.jsx(ExerciseRunnerControllerArduinoStatusMessage.default, {}) : null]
48
- }) : null, isArduinoExercise ? jsxRuntime.jsx(ExerciseRunnerControllerArduinoAgentModal.default, {}) : null]
74
+ children: renderControllerStatusMessage()
75
+ })]
49
76
  });
50
77
  };
51
78
 
@@ -1,3 +1,3 @@
1
- import React from 'react';
1
+ import type React from 'react';
2
2
  declare const ExerciseRunnerControllerButtonGroup: React.VFC;
3
3
  export default ExerciseRunnerControllerButtonGroup;
@@ -2,228 +2,22 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var _rollupPluginBabelHelpers = require('../../../_virtual/_rollupPluginBabelHelpers.js');
6
- var _styled = require('@emotion/styled/base');
7
5
  var jsxRuntime = require('react/jsx-runtime');
8
- var React = require('react');
9
- var blocks = require('@elice/blocks');
10
- var intl = require('@elice/intl');
11
- var muiSystem = require('@elice/mui-system');
12
- var types = require('@elice/types');
13
- var websocket = require('@elice/websocket');
14
- var recoil = require('recoil');
15
- var ExerciseRunnerContext = require('./ExerciseRunnerContext.js');
16
- var recoil$1 = require('../context/recoil.js');
17
- var useExericseShortcut = require('../../../hooks/useExericseShortcut.js');
18
- var context = require('../context/context.js');
19
- var useExerciseFile = require('../../../hooks/useExerciseFile.js');
20
- var subjects = require('../context/subjects.js');
6
+ var material = require('@mui/material');
7
+ var ControllerActionRun = require('./action/ControllerActionRun.js');
8
+ var ControllerActionGrade = require('./action/ControllerActionGrade.js');
9
+ var ControllerActionCancel = require('./action/ControllerActionCancel.js');
10
+ var ControllerActionSyncRequest = require('./action/ControllerActionSyncRequest.js');
21
11
 
22
- function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
23
-
24
- var _styled__default = /*#__PURE__*/_interopDefaultCompat(_styled);
25
- var React__default = /*#__PURE__*/_interopDefaultCompat(React);
26
-
27
- function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
28
- var StyledControllerButton = /*#__PURE__*/_styled__default.default(blocks.Button, {
29
- target: "e45p2z2"
30
- })("position:relative;transition:none;&.eb-button--role-danger{border-color:", muiSystem.colors.red[700], ";background-color:", muiSystem.colors.red[700], ";}");
31
- var StyledControllerButtonWrap = /*#__PURE__*/_styled__default.default("div", {
32
- target: "e45p2z1"
33
- })("production" === "production" ? {
34
- name: "zjik7",
35
- styles: "display:flex"
36
- } : {
37
- name: "zjik7",
38
- styles: "display:flex",
39
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__
40
- });
41
- var StyledControllerButtonGroup = /*#__PURE__*/_styled__default.default("div", {
42
- target: "e45p2z0"
43
- })("display:flex;flex-direction:row;align-items:center;>", StyledControllerButtonWrap, ",>", StyledControllerButton, "{margin-right:0.5rem;&:last-child{margin-right:0;}}");
12
+ //
13
+ //
14
+ //
44
15
  var ExerciseRunnerControllerButtonGroup = function ExerciseRunnerControllerButtonGroup() {
45
- var _a;
46
- var intl$1 = intl.useRawEliceIntl();
47
- var _React$useContext = React__default.default.useContext(context.ExerciseContext),
48
- materialExerciseId = _React$useContext.materialExerciseId;
49
- var _React$useContext2 = React__default.default.useContext(ExerciseRunnerContext.ExerciseRunnerContext),
50
- onSubmit = _React$useContext2.onSubmit,
51
- onSyncRequest = _React$useContext2.onSyncRequest,
52
- onCancel = _React$useContext2.onCancel;
53
- var activeFilename = recoil.useRecoilValue(recoil$1.exerciseActiveFilenameState);
54
- var isFileEditable = useExerciseFile.useExerciseFileEditable(activeFilename);
55
- var runnerWebsocketStatus = recoil.useRecoilValue(recoil$1.exerciseWebSocketTotalStatusQuery([].concat(_rollupPluginBabelHelpers.toConsumableArray(isFileEditable ? ['usercodeEdit'] : []), ['runnerRoom', 'stdio'])));
56
- var exercise = recoil.useRecoilValue(recoil$1.exerciseState(materialExerciseId));
57
- var exerciseRunType = recoil.useRecoilValue(recoil$1.exerciseRunnerRunTypeState);
58
- var exerciseWithNoGrade = Boolean(exercise === null || exercise === void 0 ? void 0 : exercise.isNoSubmitGrade);
59
- var lecture = recoil.useRecoilValue(recoil$1.exerciseLectureState(exercise === null || exercise === void 0 ? void 0 : exercise._lectureId));
60
- var isTestLecture = (lecture === null || lecture === void 0 ? void 0 : lecture.lectureType) === types.enums.LectureType.Test;
61
- var isTestLectureCompleted = (lecture === null || lecture === void 0 ? void 0 : lecture.testAdmissionStatus) === types.enums.TestAdmissionStatus.Completed;
62
- // runner states
63
- var isSubmitting = recoil.useRecoilValue(recoil$1.exerciseRunnerSubmittingState);
64
- var isRunning = recoil.useRecoilValue(recoil$1.exerciseRunnerRunningState);
65
- var isConnecting = runnerWebsocketStatus === websocket.EliceWebSocket.CONNECTING;
66
- var isNotReady = runnerWebsocketStatus !== websocket.EliceWebSocket.OPEN;
67
- // arduino
68
- var isArduinoExercise = (exercise === null || exercise === void 0 ? void 0 : exercise.envType) === types.enums.ExerciseEnvType.Arduino;
69
- var arduinoUploadProgress = recoil.useRecoilValue(recoil$1.exerciseArduinoUploadProgressState);
70
- var arduinoOpenedPortName = recoil.useRecoilValue(recoil$1.exerciseArduinoOpenedPortNameState);
71
- //
72
- // ========= ui states =========
73
- //
74
- // submit run
75
- var isSubmitRunHidden = isRunning;
76
- var isSubmitRunArduinoDisabled = isArduinoExercise ? arduinoUploadProgress !== 'ready' && arduinoUploadProgress !== 'error' || !arduinoOpenedPortName : false;
77
- var isSubmitRunDisabled = isSubmitRunHidden || isSubmitRunArduinoDisabled || isNotReady || isConnecting || isSubmitting;
78
- // submit grade
79
- var isSubmitGradeHidden = isRunning;
80
- var isSubmitGradeDisabled = isSubmitGradeHidden || exerciseWithNoGrade || isTestLecture && isTestLectureCompleted || isNotReady || isConnecting || isSubmitting;
81
- // cancel
82
- var isCancelHidden = !isRunning;
83
- var isCancelDisabled = isCancelHidden || isNotReady || isConnecting;
84
- // sync request
85
- var isSyncRequestHidden = !isRunning || !((_a = exercise === null || exercise === void 0 ? void 0 : exercise.readyExerciseImage) === null || _a === void 0 ? void 0 : _a.httpPort);
86
- var isSyncRequestDisabled = isSyncRequestHidden || isNotReady || isConnecting;
87
- //
88
- //
89
- //
90
- /**
91
- * Submit to run
92
- */
93
- var handleSubmitRun = function handleSubmitRun() {
94
- if (!isSubmitRunDisabled) {
95
- void onSubmit(types.enums.ExerciseRunType.Run);
96
- }
97
- };
98
- /**
99
- * Submit to grade
100
- */
101
- var handleSubmitGrade = function handleSubmitGrade() {
102
- if (!isSubmitGradeDisabled) {
103
- void onSubmit(types.enums.ExerciseRunType.Grade);
104
- }
105
- };
106
- /**
107
- * Cancel
108
- */
109
- var handleCancel = function handleCancel() {
110
- if (!isCancelDisabled) {
111
- onCancel();
112
- }
113
- };
114
- /**
115
- * Sync request
116
- */
117
- var handleSyncRequest = function handleSyncRequest() {
118
- if (!isSyncRequestDisabled) {
119
- onSyncRequest();
120
- }
121
- };
122
- //
123
- // keyboard shortcuts to control runner
124
- //
125
- useExericseShortcut.useExericseShortcut('RUNNER_SUBMIT_RUN', handleSubmitRun);
126
- useExericseShortcut.useExericseShortcut('RUNNER_SUBMIT_GRADE', handleSubmitGrade);
127
- useExericseShortcut.useExericseShortcut('RUNNER_CANCEL', handleCancel);
128
- useExericseShortcut.useExericseShortcut('RUNNER_SYNC_REQUEST', handleSyncRequest);
129
- //
130
- // handle save action emitted by file editor
131
- //
132
- React__default.default.useEffect(function () {
133
- var saveActionSub = subjects.exerciseFileEditorSaveAction$.subscribe(handleSyncRequest);
134
- return function () {
135
- saveActionSub.unsubscribe();
136
- };
137
- },
138
- // eslint-disable-next-line react-hooks/exhaustive-deps
139
- [isSyncRequestDisabled]);
140
- /**
141
- * Submit to run button
142
- */
143
- var renderSubmitRunButton = function renderSubmitRunButton() {
144
- if (isSubmitRunHidden) {
145
- return null;
146
- }
147
- return jsxRuntime.jsx(StyledControllerButton, {
148
- size: "tiny",
149
- loading: isConnecting || isSubmitting && exerciseRunType === types.enums.ExerciseRunType.Run,
150
- disabled: isSubmitRunDisabled,
151
- onClick: handleSubmitRun,
152
- children: isArduinoExercise ? intl$1.formatMessage({
153
- id: 'exerciseRunner.controller.buttonGroup.button.compile'
154
- }) : intl$1.formatMessage({
155
- id: 'exerciseRunner.controller.buttonGroup.button.run'
156
- })
157
- });
158
- };
159
- /**
160
- * Submit to grade button
161
- */
162
- var renderSubmitGradeButton = function renderSubmitGradeButton() {
163
- if (isSubmitGradeHidden) {
164
- return null;
165
- }
166
- return jsxRuntime.jsx(blocks.Tooltip, {
167
- dark: true,
168
- title: exerciseWithNoGrade ? intl$1.formatMessage({
169
- id: 'exerciseRunner.controller.buttonGroup.button.submit.tooltip.noSubmit'
170
- }) : undefined,
171
- placement: "top",
172
- children: jsxRuntime.jsx(StyledControllerButtonWrap, {
173
- children: jsxRuntime.jsx(StyledControllerButton, {
174
- size: "tiny",
175
- role: "secondary",
176
- loading: isConnecting || isSubmitting && exerciseRunType === types.enums.ExerciseRunType.Grade,
177
- disabled: isSubmitGradeDisabled,
178
- onClick: handleSubmitGrade,
179
- children: intl$1.formatMessage({
180
- id: 'exerciseRunner.controller.buttonGroup.button.submit'
181
- })
182
- })
183
- })
184
- });
185
- };
186
- /**
187
- * Cancel button
188
- */
189
- var renderCancelButton = function renderCancelButton() {
190
- if (isCancelHidden) {
191
- return null;
192
- }
193
- return jsxRuntime.jsx(StyledControllerButton, {
194
- size: "tiny",
195
- role: "danger",
196
- loading: isConnecting,
197
- disabled: isCancelDisabled,
198
- onClick: handleCancel,
199
- children: intl$1.formatMessage({
200
- id: 'exerciseRunner.controller.buttonGroup.button.stop'
201
- })
202
- });
203
- };
204
- /**
205
- * Sync request button
206
- */
207
- var renderSyncRequestButton = function renderSyncRequestButton() {
208
- if (isSyncRequestHidden) {
209
- return null;
210
- }
211
- return jsxRuntime.jsx(StyledControllerButton, {
212
- size: "tiny",
213
- role: "secondary",
214
- loading: isConnecting,
215
- disabled: isSyncRequestDisabled,
216
- onClick: handleSyncRequest,
217
- children: intl$1.formatMessage({
218
- id: 'exerciseRunner.controller.buttonGroup.button.syncRequest'
219
- })
220
- });
221
- };
222
- //
223
- //
224
- //
225
- return jsxRuntime.jsxs(StyledControllerButtonGroup, {
226
- children: [renderSubmitRunButton(), renderSubmitGradeButton(), renderCancelButton(), renderSyncRequestButton()]
16
+ return jsxRuntime.jsxs(material.Stack, {
17
+ direction: "row",
18
+ alignItems: "center",
19
+ gap: "0.5rem",
20
+ children: [jsxRuntime.jsx(ControllerActionRun.default, {}), jsxRuntime.jsx(ControllerActionGrade.default, {}), jsxRuntime.jsx(ControllerActionCancel.default, {}), jsxRuntime.jsx(ControllerActionSyncRequest.default, {})]
227
21
  });
228
22
  };
229
23
 
@@ -1,6 +1,6 @@
1
1
  import type React from 'react';
2
- interface ExerciseRunnerControllerCodeHelpRequestButtonProps {
2
+ interface CodeHelpRequestButtonProps {
3
3
  onClick: () => void;
4
4
  }
5
- declare const ExerciseRunnerControllerCodeHelpRequestButton: React.FC<ExerciseRunnerControllerCodeHelpRequestButtonProps>;
5
+ declare const ExerciseRunnerControllerCodeHelpRequestButton: React.FC<CodeHelpRequestButtonProps>;
6
6
  export default ExerciseRunnerControllerCodeHelpRequestButton;
@@ -0,0 +1,3 @@
1
+ import type React from 'react';
2
+ declare const ControllerActionCancel: React.VFC;
3
+ export default ControllerActionCancel;
@@ -0,0 +1,44 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+ var intl = require('@elice/intl');
7
+ var lab = require('@mui/lab');
8
+ var useControllerActionCancel = require('./useControllerActionCancel.js');
9
+ var useExericseShortcut = require('../../../../hooks/useExericseShortcut.js');
10
+
11
+ //
12
+ //
13
+ //
14
+ var ControllerActionCancel = function ControllerActionCancel() {
15
+ var intl$1 = intl.useRawEliceIntl();
16
+ var _useControllerActionC = useControllerActionCancel.useControllerActionCancel(),
17
+ isHidden = _useControllerActionC.isHidden,
18
+ isDisabled = _useControllerActionC.isDisabled,
19
+ isLoading = _useControllerActionC.isLoading,
20
+ cancel = _useControllerActionC.cancel;
21
+ //
22
+ // register the shortcut
23
+ //
24
+ useExericseShortcut.useExericseShortcut('RUNNER_CANCEL', cancel);
25
+ //
26
+ //
27
+ //
28
+ if (isHidden) {
29
+ return null;
30
+ }
31
+ return jsxRuntime.jsx(lab.LoadingButton, {
32
+ size: "small",
33
+ variant: "contained",
34
+ color: "error",
35
+ loading: isLoading,
36
+ disabled: isDisabled,
37
+ onClick: cancel,
38
+ children: intl$1.formatMessage({
39
+ id: 'exerciseRunner.controller.buttonGroup.button.stop'
40
+ })
41
+ });
42
+ };
43
+
44
+ exports.default = ControllerActionCancel;
@@ -0,0 +1,3 @@
1
+ import type React from 'react';
2
+ declare const ControllerActionGrade: React.VFC;
3
+ export default ControllerActionGrade;
@@ -0,0 +1,58 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+ var intl = require('@elice/intl');
7
+ var lab = require('@mui/lab');
8
+ var material = require('@mui/material');
9
+ var useControllerActionGrade = require('./useControllerActionGrade.js');
10
+ var useExericseShortcut = require('../../../../hooks/useExericseShortcut.js');
11
+
12
+ //
13
+ //
14
+ //
15
+ var ControllerActionGrade = function ControllerActionGrade() {
16
+ var intl$1 = intl.useRawEliceIntl();
17
+ var _useControllerActionG = useControllerActionGrade.useControllerActionGrade(),
18
+ isHidden = _useControllerActionG.isHidden,
19
+ isDisabled = _useControllerActionG.isDisabled,
20
+ isLoading = _useControllerActionG.isLoading,
21
+ isNoGrade = _useControllerActionG.isNoGrade,
22
+ grade = _useControllerActionG.grade;
23
+ //
24
+ // register the shortcut
25
+ //
26
+ useExericseShortcut.useExericseShortcut('RUNNER_SUBMIT_GRADE', grade);
27
+ //
28
+ //
29
+ //
30
+ if (isHidden) {
31
+ return null;
32
+ }
33
+ return jsxRuntime.jsx(material.Tooltip, {
34
+ title: isNoGrade ? intl$1.formatMessage({
35
+ id: 'exerciseRunner.controller.buttonGroup.button.submit.tooltip.noSubmit'
36
+ }) : '',
37
+ placement: "top",
38
+ children: jsxRuntime.jsx(material.Box, {
39
+ component: "span",
40
+ sx: {
41
+ display: 'inline-flex'
42
+ },
43
+ children: jsxRuntime.jsx(lab.LoadingButton, {
44
+ size: "small",
45
+ variant: "contained",
46
+ color: "info",
47
+ loading: isLoading,
48
+ disabled: isDisabled,
49
+ onClick: grade,
50
+ children: intl$1.formatMessage({
51
+ id: 'exerciseRunner.controller.buttonGroup.button.submit'
52
+ })
53
+ })
54
+ })
55
+ });
56
+ };
57
+
58
+ exports.default = ControllerActionGrade;
@@ -0,0 +1,3 @@
1
+ import type React from 'react';
2
+ declare const ControllerActionRun: React.VFC;
3
+ export default ControllerActionRun;
@@ -0,0 +1,44 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+ var intl = require('@elice/intl');
7
+ var lab = require('@mui/lab');
8
+ var useControllerActionRun = require('./useControllerActionRun.js');
9
+ var useExericseShortcut = require('../../../../hooks/useExericseShortcut.js');
10
+
11
+ //
12
+ //
13
+ //
14
+ var ControllerActionRun = function ControllerActionRun() {
15
+ var intl$1 = intl.useRawEliceIntl();
16
+ var _useControllerActionR = useControllerActionRun.useControllerActionRun(),
17
+ isHidden = _useControllerActionR.isHidden,
18
+ isDisabled = _useControllerActionR.isDisabled,
19
+ isLoading = _useControllerActionR.isLoading,
20
+ run = _useControllerActionR.run;
21
+ //
22
+ // register the shortcut
23
+ //
24
+ useExericseShortcut.useExericseShortcut('RUNNER_SUBMIT_RUN', run);
25
+ //
26
+ //
27
+ //
28
+ if (isHidden) {
29
+ return null;
30
+ }
31
+ return jsxRuntime.jsx(lab.LoadingButton, {
32
+ size: "small",
33
+ variant: "contained",
34
+ color: "primary",
35
+ loading: isLoading,
36
+ disabled: isDisabled,
37
+ onClick: run,
38
+ children: intl$1.formatMessage({
39
+ id: 'exerciseRunner.controller.buttonGroup.button.run'
40
+ })
41
+ });
42
+ };
43
+
44
+ exports.default = ControllerActionRun;
@@ -0,0 +1,3 @@
1
+ import type React from 'react';
2
+ declare const ControllerActionSyncRequest: React.VFC;
3
+ export default ControllerActionSyncRequest;