@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
@@ -0,0 +1,105 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _rollupPluginBabelHelpers = require('../../../../_virtual/_rollupPluginBabelHelpers.js');
6
+ var tslib = require('tslib');
7
+ var jsxRuntime = require('react/jsx-runtime');
8
+ var React = require('react');
9
+ var mcuBridge = require('@elice/mcu-bridge');
10
+ var _context = require('./_context.js');
11
+ var ArduinoConnectionGuideDialog = require('./ArduinoConnectionGuideDialog.js');
12
+ var ArduinoErrorDialog = require('./ArduinoErrorDialog.js');
13
+ var ArduinoHelpDialog = require('./ArduinoHelpDialog.js');
14
+ var ArduinoProviderApiBinder = require('./ArduinoProviderApiBinder.js');
15
+ var ArduinoProviderFlashWriter = require('./ArduinoProviderFlashWriter.js');
16
+ var ArduinoProviderSessionWriter = require('./ArduinoProviderSessionWriter.js');
17
+ var useArduinoRunIntent = require('./useArduinoRunIntent.js');
18
+
19
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
20
+
21
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
22
+
23
+ //
24
+ //
25
+ //
26
+ var ArduinoBridgeProvider = function ArduinoBridgeProvider(_ref) {
27
+ var xtermRef = _ref.xtermRef,
28
+ apiRef = _ref.apiRef,
29
+ children = _ref.children;
30
+ var _useFlash = mcuBridge.useFlash(),
31
+ isFlashing = _useFlash.isFlashing;
32
+ var _useArduinoRunIntent = useArduinoRunIntent.useArduinoRunIntent(),
33
+ pendingIntent = _useArduinoRunIntent.pendingIntent,
34
+ pendingIntentRef = _useArduinoRunIntent.pendingIntentRef,
35
+ setRunIntent = _useArduinoRunIntent.setRunIntent,
36
+ clearRunIntent = _useArduinoRunIntent.clearRunIntent;
37
+ var permissionPhase = mcuBridge.usePermissionPhase();
38
+ var _React$useState = React__default.default.useState(null),
39
+ _React$useState2 = _rollupPluginBabelHelpers.slicedToArray(_React$useState, 2),
40
+ connectionIntent = _React$useState2[0],
41
+ setConnectionIntent = _React$useState2[1];
42
+ var _React$useState3 = React__default.default.useState(false),
43
+ _React$useState4 = _rollupPluginBabelHelpers.slicedToArray(_React$useState3, 2),
44
+ isHelpDialogOpen = _React$useState4[0],
45
+ setHelpDialogOpen = _React$useState4[1];
46
+ var openHelpDialog = React__default.default.useCallback(function () {
47
+ return setHelpDialogOpen(true);
48
+ }, []);
49
+ var closeHelpDialog = React__default.default.useCallback(function () {
50
+ return setHelpDialogOpen(false);
51
+ }, []);
52
+ React.useEffect(function () {
53
+ mcuBridge.setupMCUBridge([mcuBridge.ArduinoUnoDriver, mcuBridge.ArduinoMegaDriver]);
54
+ }, []);
55
+ // Clear the variant tag once the picker resolves so it can't bleed into
56
+ // an unrelated future connect flow.
57
+ React.useEffect(function () {
58
+ if (permissionPhase === 'granted') {
59
+ setConnectionIntent(null);
60
+ }
61
+ }, [permissionPhase]);
62
+ //
63
+ //
64
+ //
65
+ return jsxRuntime.jsxs(_context.ArduinoBridgeContext.Provider, {
66
+ value: {
67
+ setPendingIntent: setRunIntent,
68
+ isPending: pendingIntent !== null,
69
+ isFlashing: isFlashing,
70
+ connectionIntent: connectionIntent,
71
+ setConnectionIntent: setConnectionIntent,
72
+ isHelpDialogOpen: isHelpDialogOpen,
73
+ openHelpDialog: openHelpDialog,
74
+ closeHelpDialog: closeHelpDialog
75
+ },
76
+ children: [children, jsxRuntime.jsx(ArduinoProviderSessionWriter.default, {
77
+ xtermRef: xtermRef
78
+ }), jsxRuntime.jsx(ArduinoProviderFlashWriter.default, {
79
+ xtermRef: xtermRef
80
+ }), jsxRuntime.jsx(ArduinoProviderApiBinder.default, {
81
+ apiRef: apiRef,
82
+ xtermRef: xtermRef,
83
+ pendingIntentRef: pendingIntentRef,
84
+ clearRunIntent: clearRunIntent
85
+ }), jsxRuntime.jsx(ArduinoConnectionGuideDialog.default, {}), jsxRuntime.jsx(ArduinoHelpDialog.default, {}), jsxRuntime.jsx(ArduinoErrorDialog.default, {})]
86
+ });
87
+ };
88
+ //
89
+ //
90
+ //
91
+ var ArduinoBridgeProvider$1 = (function (_a) {
92
+ var enabled = _a.enabled,
93
+ children = _a.children,
94
+ rest = tslib.__rest(_a, ["enabled", "children"]);
95
+ if (!enabled) {
96
+ return jsxRuntime.jsx(jsxRuntime.Fragment, {
97
+ children: children
98
+ });
99
+ }
100
+ return jsxRuntime.jsx(ArduinoBridgeProvider, Object.assign({}, rest, {
101
+ children: children
102
+ }));
103
+ });
104
+
105
+ exports.default = ArduinoBridgeProvider$1;
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import type { XtermApis } from "../../../shared/xterm/Xterm";
3
+ import type { ArduinoBridgeIntent } from './_context';
4
+ import type { ArduinoBridgeApi } from './ArduinoProvider';
5
+ export interface ArduinoProviderApiBinderProps {
6
+ apiRef: React.MutableRefObject<ArduinoBridgeApi | null>;
7
+ xtermRef: React.RefObject<XtermApis | null>;
8
+ pendingIntentRef: React.MutableRefObject<ArduinoBridgeIntent | null>;
9
+ clearRunIntent: () => void;
10
+ }
11
+ declare const ArduinoProviderApiBinder: React.FC<ArduinoProviderApiBinderProps>;
12
+ export default ArduinoProviderApiBinder;
@@ -0,0 +1,94 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var React = require('react');
6
+ var intl = require('@elice/intl');
7
+ var mcuBridge = require('@elice/mcu-bridge');
8
+ var useArduinoTerminalWriter = require('./useArduinoTerminalWriter.js');
9
+
10
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
11
+
12
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
13
+
14
+ //
15
+ //
16
+ //
17
+ function decodeHexDataUrl(dataUrl) {
18
+ var base64 = dataUrl.includes(',') ? dataUrl.split(',')[1] : dataUrl;
19
+ var binary = atob(base64);
20
+ var bytes = new Uint8Array(binary.length);
21
+ for (var i = 0; i < binary.length; i += 1) {
22
+ bytes[i] = binary.charCodeAt(i);
23
+ }
24
+ return bytes;
25
+ }
26
+ //
27
+ //
28
+ //
29
+ var ArduinoProviderApiBinder = function ArduinoProviderApiBinder(_ref) {
30
+ var apiRef = _ref.apiRef,
31
+ xtermRef = _ref.xtermRef,
32
+ pendingIntentRef = _ref.pendingIntentRef,
33
+ clearRunIntent = _ref.clearRunIntent;
34
+ var intl$1 = intl.useRawEliceIntl();
35
+ var session = mcuBridge.useSession();
36
+ var _useFlash = mcuBridge.useFlash(),
37
+ flash = _useFlash.flash;
38
+ var _useArduinoTerminalWr = useArduinoTerminalWriter.useArduinoTerminalWriter({
39
+ xtermRef: xtermRef
40
+ }),
41
+ writeSystemMessage = _useArduinoTerminalWr.writeSystemMessage;
42
+ //
43
+ // Expose imperative API to the parent runner via ref.
44
+ //
45
+ React__default.default.useEffect(function () {
46
+ apiRef.current = {
47
+ handleIncomingHex: function handleIncomingHex(dataUrl) {
48
+ var intent = pendingIntentRef.current;
49
+ clearRunIntent();
50
+ if (intent !== 'upload') {
51
+ if (intent === 'compile') {
52
+ writeSystemMessage(intl$1.formatMessage({
53
+ id: 'exerciseRunner.arduino.terminal.compile.done'
54
+ }));
55
+ }
56
+ return;
57
+ }
58
+ if (!session) {
59
+ writeSystemMessage(intl$1.formatMessage({
60
+ id: 'exerciseRunner.arduino.terminal.board.notConnected'
61
+ }));
62
+ return;
63
+ }
64
+ writeSystemMessage(intl$1.formatMessage({
65
+ id: 'exerciseRunner.arduino.terminal.compile.done'
66
+ }));
67
+ var bytes;
68
+ try {
69
+ bytes = decodeHexDataUrl(dataUrl);
70
+ } catch (_a) {
71
+ writeSystemMessage(intl$1.formatMessage({
72
+ id: 'exerciseRunner.arduino.terminal.firmware.readFail'
73
+ }));
74
+ return;
75
+ }
76
+ void flash(bytes)["catch"](function () {
77
+ // Error already surfaced through the progress writer.
78
+ });
79
+ },
80
+ sendText: function sendText(text) {
81
+ if (!session) {
82
+ return;
83
+ }
84
+ void session.writeText(text);
85
+ }
86
+ };
87
+ return function () {
88
+ apiRef.current = null;
89
+ };
90
+ }, [apiRef, session, flash, pendingIntentRef, clearRunIntent, writeSystemMessage, intl$1]);
91
+ return null;
92
+ };
93
+
94
+ exports.default = ArduinoProviderApiBinder;
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import type { XtermApis } from "../../../shared/xterm/Xterm";
3
+ export interface ArduinoProviderFlashWriterProps {
4
+ xtermRef: React.RefObject<XtermApis | null>;
5
+ }
6
+ declare const ArduinoProviderFlashWriter: React.FC<ArduinoProviderFlashWriterProps>;
7
+ export default ArduinoProviderFlashWriter;
@@ -0,0 +1,95 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var React = require('react');
6
+ var intl = require('@elice/intl');
7
+ var mcuBridge = require('@elice/mcu-bridge');
8
+ var useArduinoTerminalWriter = require('./useArduinoTerminalWriter.js');
9
+
10
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
11
+
12
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
13
+
14
+ //
15
+ //
16
+ //
17
+ var UPLOAD_PROGRESS_THROTTLE_MS = 200;
18
+ var ArduinoProviderFlashWriter = function ArduinoProviderFlashWriter(_ref) {
19
+ var xtermRef = _ref.xtermRef;
20
+ var intl$1 = intl.useRawEliceIntl();
21
+ var _useFlash = mcuBridge.useFlash(),
22
+ progress = _useFlash.progress;
23
+ var _useArduinoTerminalWr = useArduinoTerminalWriter.useArduinoTerminalWriter({
24
+ xtermRef: xtermRef
25
+ }),
26
+ writeSystemMessage = _useArduinoTerminalWr.writeSystemMessage;
27
+ var lastStageRef = React__default.default.useRef(null);
28
+ var lastUploadWriteAtRef = React__default.default.useRef(0);
29
+ //
30
+ // Translate flash progress into terminal messages.
31
+ //
32
+ React__default.default.useEffect(function () {
33
+ var _a, _b;
34
+ if (!progress) {
35
+ lastStageRef.current = null;
36
+ lastUploadWriteAtRef.current = 0;
37
+ return;
38
+ }
39
+ var stage = progress.stage,
40
+ percent = progress.percent;
41
+ var isStageChange = lastStageRef.current !== stage;
42
+ lastStageRef.current = stage;
43
+ switch (stage) {
44
+ case 'start':
45
+ writeSystemMessage(intl$1.formatMessage({
46
+ id: 'exerciseRunner.arduino.terminal.upload.start'
47
+ }));
48
+ return;
49
+ case 'upload':
50
+ {
51
+ var now = Date.now();
52
+ if (!isStageChange && now - lastUploadWriteAtRef.current < UPLOAD_PROGRESS_THROTTLE_MS) {
53
+ return;
54
+ }
55
+ lastUploadWriteAtRef.current = now;
56
+ writeSystemMessage(intl$1.formatMessage({
57
+ id: 'exerciseRunner.arduino.terminal.upload.progress'
58
+ }, {
59
+ percent: percent
60
+ }));
61
+ return;
62
+ }
63
+ case 'verify':
64
+ if (isStageChange) {
65
+ writeSystemMessage(intl$1.formatMessage({
66
+ id: 'exerciseRunner.arduino.terminal.upload.verifying'
67
+ }));
68
+ }
69
+ return;
70
+ case 'done':
71
+ if (isStageChange) {
72
+ writeSystemMessage(intl$1.formatMessage({
73
+ id: 'exerciseRunner.arduino.terminal.upload.done'
74
+ }));
75
+ }
76
+ return;
77
+ case 'error':
78
+ if (isStageChange) {
79
+ writeSystemMessage(intl$1.formatMessage({
80
+ id: 'exerciseRunner.arduino.terminal.upload.error'
81
+ }, {
82
+ error: (_b = (_a = progress.error) === null || _a === void 0 ? void 0 : _a.message) !== null && _b !== void 0 ? _b : intl$1.formatMessage({
83
+ id: 'exerciseRunner.arduino.terminal.upload.errorUnknown'
84
+ })
85
+ }));
86
+ }
87
+ return;
88
+ default:
89
+ return;
90
+ }
91
+ }, [progress, writeSystemMessage, intl$1]);
92
+ return null;
93
+ };
94
+
95
+ exports.default = ArduinoProviderFlashWriter;
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import type { XtermApis } from "../../../shared/xterm/Xterm";
3
+ export interface ArduinoProviderSessionWriterProps {
4
+ xtermRef: React.RefObject<XtermApis | null>;
5
+ }
6
+ declare const ArduinoProviderSessionWriter: React.FC<ArduinoProviderSessionWriterProps>;
7
+ export default ArduinoProviderSessionWriter;
@@ -0,0 +1,70 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var React = require('react');
6
+ var intl = require('@elice/intl');
7
+ var mcuBridge = require('@elice/mcu-bridge');
8
+ var useArduinoTerminalWriter = require('./useArduinoTerminalWriter.js');
9
+
10
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
11
+
12
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
13
+
14
+ //
15
+ //
16
+ //
17
+ var ArduinoProviderSessionWriter = function ArduinoProviderSessionWriter(_ref) {
18
+ var xtermRef = _ref.xtermRef;
19
+ var intl$1 = intl.useRawEliceIntl();
20
+ var session = mcuBridge.useSession();
21
+ var previousSessionRef = React__default.default.useRef(null);
22
+ var _useArduinoTerminalWr = useArduinoTerminalWriter.useArduinoTerminalWriter({
23
+ xtermRef: xtermRef
24
+ }),
25
+ write = _useArduinoTerminalWr.write,
26
+ writeSystemMessage = _useArduinoTerminalWr.writeSystemMessage;
27
+ //
28
+ // Pipe board serial output into xterm.
29
+ //
30
+ React__default.default.useEffect(function () {
31
+ if (!session) {
32
+ return;
33
+ }
34
+ var decoder = new TextDecoder();
35
+ return session.events.on('serial', function (chunk) {
36
+ write(decoder.decode(chunk));
37
+ });
38
+ }, [session, write]);
39
+ //
40
+ // Print board attach/detach lifecycle messages.
41
+ //
42
+ React__default.default.useEffect(function () {
43
+ var previous = previousSessionRef.current;
44
+ previousSessionRef.current = session;
45
+ if (!previous && session) {
46
+ writeSystemMessage(intl$1.formatMessage({
47
+ id: 'exerciseRunner.arduino.terminal.session.connected'
48
+ }, {
49
+ device: session.driver.board.name
50
+ }));
51
+ return;
52
+ }
53
+ if (previous && !session) {
54
+ writeSystemMessage(intl$1.formatMessage({
55
+ id: 'exerciseRunner.arduino.terminal.session.disconnected'
56
+ }));
57
+ return;
58
+ }
59
+ if (previous && session && previous !== session) {
60
+ writeSystemMessage(intl$1.formatMessage({
61
+ id: 'exerciseRunner.arduino.terminal.session.reconnected'
62
+ }, {
63
+ device: session.driver.board.name
64
+ }));
65
+ }
66
+ }, [session, writeSystemMessage, intl$1]);
67
+ return null;
68
+ };
69
+
70
+ exports.default = ArduinoProviderSessionWriter;
@@ -0,0 +1,35 @@
1
+ export type ArduinoBridgeIntent = 'compile' | 'upload';
2
+ export type ArduinoConnectionIntent = 'connect' | 'upload';
3
+ interface ArduinoBridgeContextValue {
4
+ /**
5
+ * Intent set by the Compile / Upload buttons just before the runner submit
6
+ * fires. The provider reads it when the compiled hex arrives over the stdio
7
+ * WebSocket to decide whether to flash.
8
+ */
9
+ setPendingIntent: (intent: ArduinoBridgeIntent) => void;
10
+ /**
11
+ * `true` between a Compile/Upload click and the arrival of the hex (or the
12
+ * flash terminating). Buttons gate themselves on this so a second click
13
+ * cannot overwrite the pending intent mid-round-trip.
14
+ */
15
+ isPending: boolean;
16
+ /** Readback for the button group to know when a flash is in flight. */
17
+ isFlashing: boolean;
18
+ /**
19
+ * Picks the connection-guide dialog's copy variant. The guide's open state
20
+ * is derived from `permissionStore.phase`; this only chooses the wording.
21
+ */
22
+ connectionIntent: ArduinoConnectionIntent | null;
23
+ setConnectionIntent: (intent: ArduinoConnectionIntent | null) => void;
24
+ /**
25
+ * Help dialog opened by the controller-area help button (and auto-opened
26
+ * once on first visit). Only the open flag lives here — the dialog owns
27
+ * its `wasAutoOpened` and `dontShowAgain` form state internally.
28
+ */
29
+ isHelpDialogOpen: boolean;
30
+ openHelpDialog: () => void;
31
+ closeHelpDialog: () => void;
32
+ }
33
+ export declare const ArduinoBridgeContext: import("react").Context<ArduinoBridgeContextValue | null>;
34
+ export declare const useArduinoBridge: () => ArduinoBridgeContextValue;
35
+ export {};
@@ -0,0 +1,18 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+
5
+ //
6
+ //
7
+ //
8
+ var ArduinoBridgeContext = React.createContext(null);
9
+ var useArduinoBridge = function useArduinoBridge() {
10
+ var ctx = React.useContext(ArduinoBridgeContext);
11
+ if (!ctx) {
12
+ throw new Error('useArduinoBridge must be used inside <ArduinoBridgeProvider>.');
13
+ }
14
+ return ctx;
15
+ };
16
+
17
+ exports.ArduinoBridgeContext = ArduinoBridgeContext;
18
+ exports.useArduinoBridge = useArduinoBridge;
@@ -0,0 +1,6 @@
1
+ export { default as ArduinoBridgeProvider } from './ArduinoProvider';
2
+ export { useArduinoBridge } from './_context';
3
+ export { default as ArduinoControllerButtonGroup } from './ArduinoControllerButtonGroup';
4
+ export { default as ArduinoControllerStatusMessage } from './ArduinoControllerStatusMessage';
5
+ export type { ArduinoBridgeApi, ArduinoBridgeProviderProps } from './ArduinoProvider';
6
+ export type { ArduinoBridgeIntent } from './_context';
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ var ArduinoProvider = require('./ArduinoProvider.js');
4
+ var _context = require('./_context.js');
5
+ var ArduinoControllerButtonGroup = require('./ArduinoControllerButtonGroup.js');
6
+ var ArduinoControllerStatusMessage = require('./ArduinoControllerStatusMessage.js');
7
+
8
+
9
+
10
+ exports.ArduinoBridgeProvider = ArduinoProvider.default;
11
+ exports.useArduinoBridge = _context.useArduinoBridge;
12
+ exports.ArduinoControllerButtonGroup = ArduinoControllerButtonGroup.default;
13
+ exports.ArduinoControllerStatusMessage = ArduinoControllerStatusMessage.default;
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import type { ArduinoBridgeIntent } from './_context';
3
+ export interface UseArduinoRunIntentReturn {
4
+ pendingIntent: ArduinoBridgeIntent | null;
5
+ pendingIntentRef: React.MutableRefObject<ArduinoBridgeIntent | null>;
6
+ setRunIntent: (intent: ArduinoBridgeIntent) => void;
7
+ clearRunIntent: () => void;
8
+ }
9
+ export declare const useArduinoRunIntent: () => UseArduinoRunIntentReturn;
@@ -0,0 +1,38 @@
1
+ 'use strict';
2
+
3
+ var _rollupPluginBabelHelpers = require('../../../../_virtual/_rollupPluginBabelHelpers.js');
4
+ var React = require('react');
5
+
6
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
7
+
8
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
9
+
10
+ //
11
+ //
12
+ //
13
+ var useArduinoRunIntent = function useArduinoRunIntent() {
14
+ var _return = React__default.default.useRef({});
15
+ var _React$useState = React__default.default.useState(null),
16
+ _React$useState2 = _rollupPluginBabelHelpers.slicedToArray(_React$useState, 2),
17
+ pendingIntent = _React$useState2[0],
18
+ setPendingIntent = _React$useState2[1];
19
+ var pendingIntentRef = React__default.default.useRef(null);
20
+ var setRunIntent = React__default.default.useCallback(function (intent) {
21
+ pendingIntentRef.current = intent;
22
+ setPendingIntent(intent);
23
+ }, []);
24
+ var clearRunIntent = React__default.default.useCallback(function () {
25
+ pendingIntentRef.current = null;
26
+ setPendingIntent(null);
27
+ }, []);
28
+ //
29
+ //
30
+ //
31
+ _return.current.pendingIntent = pendingIntent;
32
+ _return.current.pendingIntentRef = pendingIntentRef;
33
+ _return.current.setRunIntent = setRunIntent;
34
+ _return.current.clearRunIntent = clearRunIntent;
35
+ return _return.current;
36
+ };
37
+
38
+ exports.useArduinoRunIntent = useArduinoRunIntent;
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import type { XtermApis } from "../../../shared/xterm/Xterm";
3
+ export interface UseArduinoTerminalWriterParams {
4
+ xtermRef: React.RefObject<XtermApis | null>;
5
+ }
6
+ export interface UseArduinoTerminalWriterReturn {
7
+ write: (text: string) => void;
8
+ writeSystemMessage: (text: string) => void;
9
+ }
10
+ export declare const useArduinoTerminalWriter: ({ xtermRef }: UseArduinoTerminalWriterParams) => UseArduinoTerminalWriterReturn;
@@ -0,0 +1,33 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+
5
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
6
+
7
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
8
+
9
+ //
10
+ //
11
+ //
12
+ var ANSI_WRAP = function ANSI_WRAP(text) {
13
+ return "\x1B[1m\x1B[38;5;221m".concat(text, "\x1B[0m");
14
+ };
15
+ var useArduinoTerminalWriter = function useArduinoTerminalWriter(_ref) {
16
+ var xtermRef = _ref.xtermRef;
17
+ var _return = React__default.default.useRef({});
18
+ var write = React__default.default.useCallback(function (text) {
19
+ var _a;
20
+ (_a = xtermRef.current) === null || _a === void 0 ? void 0 : _a.write(text);
21
+ }, [xtermRef]);
22
+ var writeSystemMessage = React__default.default.useCallback(function (text) {
23
+ write(ANSI_WRAP(text));
24
+ }, [write]);
25
+ //
26
+ //
27
+ //
28
+ _return.current.write = write;
29
+ _return.current.writeSystemMessage = writeSystemMessage;
30
+ return _return.current;
31
+ };
32
+
33
+ exports.useArduinoTerminalWriter = useArduinoTerminalWriter;
@@ -2,6 +2,6 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var messageEn = {"exerciseRunner.controller.arduino.connectionStatus.connected":"Connected to Arduino","exerciseRunner.controller.arduino.connectionStatus.connectedDevice":"Connected to {device}","exerciseRunner.controller.arduino.connectionStatus.connecting":"Connecting to Elice Arduino Agent","exerciseRunner.controller.arduino.connectionStatus.disconnected":"Disconnected from Elice Arduino Agent","exerciseRunner.controller.arduino.connectionStatus.noDevice":"No connected device","exerciseRunner.controller.arduino.connectionStatus.reconnecting":"Connecting to Elice Arduino Agent","exerciseRunner.controller.arduino.connectionStatus.uploading":"Uploading...","exerciseRunner.controller.arduino.agent.title":"Connect to Agent","exerciseRunner.controller.arduino.agent.instruction.install":"1. Install Elice arduino agent","exerciseRunner.controller.arduino.agent.instruction.install.detail":"Install 'elice-arduino-agent' program to connect to arduino.","exerciseRunner.controller.arduino.agent.instruction.install.window":"Download for Windows","exerciseRunner.controller.arduino.agent.instruction.install.mac":"Download for MacOS","exerciseRunner.controller.arduino.agent.instruction.connect":"2. Connect to arduino","exerciseRunner.controller.arduino.agent.instruction.connect.detail":"After the download is completed, it should be connected to exercise environment. If connection is unavailable, please follow the manual.\nClick the button below to read the manual.","exerciseRunner.controller.arduino.agent.instruction.connect.button":"Go to Manual","exerciseRunner.controller.arduino.agent.instruction.close":"Close","exerciseRunner.controller.buttonGroup.button.compile":"Compile","exerciseRunner.controller.buttonGroup.button.helpRequest":"Ask about the dragged code","exerciseRunner.controller.buttonGroup.button.run":"Run","exerciseRunner.controller.buttonGroup.button.stop":"Stop","exerciseRunner.controller.buttonGroup.button.submit":"Submit","exerciseRunner.controller.buttonGroup.button.submit.tooltip.noSubmit":"Exercise without submission","exerciseRunner.controller.buttonGroup.button.syncRequest":"Sync code","exerciseRunner.controller.buttonGroup.button.tooltip.aiHelp":"Ask any questions you may have.","exerciseRunner.controller.runningInfo.error.fetch":"An error occurred while fetching running info","exerciseRunner.controller.runningInfo.lastRunningDatetime":"Last running datetime","exerciseRunner.controller.runningInfo.lastSubmitDatetime":"Last submit datetime","exerciseRunner.controller.runningInfo.lastSubmitScore":"Last submit score","exerciseRunner.controller.runningInfo.score":"{score}","exerciseRunner.controller.statusMessage.closed":"Editor disconnected","exerciseRunner.controller.statusMessage.connecting":"Connecting to editor...","exerciseRunner.controller.statusMessage.open":"Editor connected","exerciseRunner.controller.tooltip.closed":"The connection to the code server is currently unstable, so your edits may not be saved.\nPlease check your network and try again.","exerciseRunner.controller.timer.runningRemainingTime":"Remaining: {remainingTime}","exerciseRunner.submitErrorDialog.action.confirm":"OK","exerciseRunner.submitErrorDialog.action.reload":"Reload page","exerciseRunner.submitErrorDialog.body.commonError":"An error occurred while running the code.\nPlease refresh and try again.","exerciseRunner.submitErrorDialog.body.exceedSubmitGradeLimit":"You have exceeded the allowed number of lab submissions.","exerciseRunner.submitErrorDialog.body.expiredExerciseImage":"The exercise image has been updated.\nPlease refresh and try again.","exerciseRunner.submitErrorDialog.body.networkError":"An error occurred while running the code.\nPlease refresh and try again.\nIf the problem persists, please check the network status.","exerciseRunner.submitErrorDialog.body.notForSubmitGrade":"This exercise is not allowed to be submitted.","exerciseRunner.submitErrorDialog.body.notPreparedRoom":"The exercise room is being prepared.\nPlease try again later.","exerciseRunner.submitErrorDialog.body.roomIsBusy":"The exercise room is running.\nPlease wait a moment.","exerciseRunner.submitErrorDialog.body.unknown":"An error occurred while running the code.\nPlease try again later.","exerciseRunner.submitErrorDialog.title":"Unable to run the code"};
5
+ var messageEn = {"exerciseRunner.arduino.error.close":"Close","exerciseRunner.arduino.error.title":"Arduino connection error","exerciseRunner.arduino.help.button":"Help","exerciseRunner.arduino.help.title":"🤖 Welcome to the Arduino Lab!","exerciseRunner.arduino.help.greeting":"Write code in here to make a real Arduino board do things. Follow the steps below in order.","exerciseRunner.arduino.help.checklist.1.title":"Plug your Arduino board into the computer","exerciseRunner.arduino.help.checklist.1.body":"Connect the board with a USB cable, then click the [Connect] button next to the menu.","exerciseRunner.arduino.help.checklist.2.title":"Write code and press [Verify]","exerciseRunner.arduino.help.checklist.2.body":"Verify checks your code for problems before sending it.","exerciseRunner.arduino.help.checklist.3.title":"Press [Upload] to send it to the board","exerciseRunner.arduino.help.checklist.3.body":"Your program is sent to the Arduino board. Watch the serial window below for the results.","exerciseRunner.arduino.help.checklist.4.title":"If it works, press [Submit]!","exerciseRunner.arduino.help.checklist.4.body":"Submitting grades your code automatically and shows your score.","exerciseRunner.arduino.help.manual.title":"Need a usage guide?","exerciseRunner.arduino.help.manual.detail":"See the official manual for usage details.","exerciseRunner.arduino.help.dontShowAgain":"Don't show again","exerciseRunner.arduino.help.close":"Close","exerciseRunner.arduino.connectGuide.body":"For security, the browser shows the board picker directly. Find the small window under the address bar at the top-left of the screen and pick your Arduino board.","exerciseRunner.arduino.connectGuide.footer":"Don't see the window? Check the lock icon next to the address bar.","exerciseRunner.arduino.connectGuide.preview.cancel":"Cancel","exerciseRunner.arduino.connectGuide.preview.connect":"Connect","exerciseRunner.arduino.connectGuide.preview.host":"{host} wants to connect to a serial port","exerciseRunner.arduino.connectGuide.preview.label":"It will look like this","exerciseRunner.arduino.connectGuide.steps.1":"Click the entry whose name starts with {usbmodem} or {usbserial}.","exerciseRunner.arduino.connectGuide.steps.2":"Press the {connect} button at the bottom right to connect.","exerciseRunner.arduino.connectGuide.steps.3":"If you click {cancel} by mistake, you can try again.","exerciseRunner.arduino.connectGuide.title.connect":"Select your board in the browser","exerciseRunner.arduino.connectGuide.title.upload":"Let's connect the board first","exerciseRunner.arduino.connectGuide.upload.note":"Connecting the board is required to upload. Once connected, the upload will start automatically.","exerciseRunner.arduino.terminal.board.notConnected":"/* Arduino is not connected. Please connect and try again. */\n","exerciseRunner.arduino.terminal.compile.done":"/* Compile complete. */\n","exerciseRunner.arduino.terminal.firmware.readFail":"/* Failed to read the firmware file. */\n","exerciseRunner.arduino.terminal.session.connected":"/* [connected] {device} */\n","exerciseRunner.arduino.terminal.session.disconnected":"/* [disconnected] */\n","exerciseRunner.arduino.terminal.session.reconnected":"/* [reconnected] {device} */\n","exerciseRunner.arduino.terminal.upload.done":"/* Upload complete. */\n","exerciseRunner.arduino.terminal.upload.error":"/* Error: {error} */\n","exerciseRunner.arduino.terminal.upload.errorUnknown":"Unknown","exerciseRunner.arduino.terminal.upload.progress":"/* Uploading... ({percent}%) */\r","exerciseRunner.arduino.terminal.upload.start":"/* Starting upload. */\n","exerciseRunner.arduino.terminal.upload.verifying":"/* Verifying... */\n","exerciseRunner.controller.arduino.boardStatus.connected":"{device} connected","exerciseRunner.controller.arduino.boardStatus.connectedNoName":"Board connected","exerciseRunner.controller.arduino.boardStatus.disconnected":"Disconnected","exerciseRunner.controller.arduino.boardStatus.idle":"Arduino board not connected","exerciseRunner.controller.arduino.boardStatus.reconnecting":"Reconnecting","exerciseRunner.controller.arduino.button.compile":"Compile","exerciseRunner.controller.arduino.button.connect":"Connect","exerciseRunner.controller.arduino.button.disconnect":"Disconnect","exerciseRunner.controller.arduino.button.upload":"Upload","exerciseRunner.controller.arduino.button.verify":"Verify","exerciseRunner.controller.buttonGroup.button.helpRequest":"Ask about the dragged code","exerciseRunner.controller.buttonGroup.button.run":"Run","exerciseRunner.controller.buttonGroup.button.stop":"Stop","exerciseRunner.controller.buttonGroup.button.submit":"Submit","exerciseRunner.controller.buttonGroup.button.submit.tooltip.noSubmit":"Exercise without submission","exerciseRunner.controller.buttonGroup.button.syncRequest":"Sync code","exerciseRunner.controller.runningInfo.error.fetch":"An error occurred while fetching running info","exerciseRunner.controller.runningInfo.lastRunningDatetime":"Last running datetime","exerciseRunner.controller.runningInfo.lastSubmitDatetime":"Last submit datetime","exerciseRunner.controller.runningInfo.lastSubmitScore":"Last submit score","exerciseRunner.controller.runningInfo.score":"{score}","exerciseRunner.controller.statusMessage.closed":"Editor disconnected","exerciseRunner.controller.statusMessage.connecting":"Connecting to editor...","exerciseRunner.controller.statusMessage.open":"Editor connected","exerciseRunner.controller.timer.runningRemainingTime":"Remaining: {remainingTime}","exerciseRunner.controller.tooltip.closed":"The connection to the code server is currently unstable, so your edits may not be saved.\nPlease check your network and try again.","exerciseRunner.submitErrorDialog.action.confirm":"OK","exerciseRunner.submitErrorDialog.action.reload":"Reload page","exerciseRunner.submitErrorDialog.body.commonError":"An error occurred while running the code.\nPlease refresh and try again.","exerciseRunner.submitErrorDialog.body.exceedSubmitGradeLimit":"You have exceeded the allowed number of lab submissions.","exerciseRunner.submitErrorDialog.body.expiredExerciseImage":"The exercise image has been updated.\nPlease refresh and try again.","exerciseRunner.submitErrorDialog.body.networkError":"An error occurred while running the code.\nPlease refresh and try again.\nIf the problem persists, please check the network status.","exerciseRunner.submitErrorDialog.body.notForSubmitGrade":"This exercise is not allowed to be submitted.","exerciseRunner.submitErrorDialog.body.notPreparedRoom":"The exercise room is being prepared.\nPlease try again later.","exerciseRunner.submitErrorDialog.body.roomIsBusy":"The exercise room is running.\nPlease wait a moment.","exerciseRunner.submitErrorDialog.body.unknown":"An error occurred while running the code.\nPlease try again later.","exerciseRunner.submitErrorDialog.title":"Unable to run the code"};
6
6
 
7
7
  exports.default = messageEn;