@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,40 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { useRawEliceIntl } from '@elice/intl';
3
+ import { LoadingButton } from '@mui/lab';
4
+ import { useControllerActionCancel } from './useControllerActionCancel.js';
5
+ import { useExericseShortcut } from '../../../../hooks/useExericseShortcut.js';
6
+
7
+ //
8
+ //
9
+ //
10
+ var ControllerActionCancel = function ControllerActionCancel() {
11
+ var intl = useRawEliceIntl();
12
+ var _useControllerActionC = useControllerActionCancel(),
13
+ isHidden = _useControllerActionC.isHidden,
14
+ isDisabled = _useControllerActionC.isDisabled,
15
+ isLoading = _useControllerActionC.isLoading,
16
+ cancel = _useControllerActionC.cancel;
17
+ //
18
+ // register the shortcut
19
+ //
20
+ useExericseShortcut('RUNNER_CANCEL', cancel);
21
+ //
22
+ //
23
+ //
24
+ if (isHidden) {
25
+ return null;
26
+ }
27
+ return jsx(LoadingButton, {
28
+ size: "small",
29
+ variant: "contained",
30
+ color: "error",
31
+ loading: isLoading,
32
+ disabled: isDisabled,
33
+ onClick: cancel,
34
+ children: intl.formatMessage({
35
+ id: 'exerciseRunner.controller.buttonGroup.button.stop'
36
+ })
37
+ });
38
+ };
39
+
40
+ export { ControllerActionCancel as default };
@@ -0,0 +1,3 @@
1
+ import type React from 'react';
2
+ declare const ControllerActionGrade: React.VFC;
3
+ export default ControllerActionGrade;
@@ -0,0 +1,54 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { useRawEliceIntl } from '@elice/intl';
3
+ import { LoadingButton } from '@mui/lab';
4
+ import { Tooltip, Box } from '@mui/material';
5
+ import { useControllerActionGrade } from './useControllerActionGrade.js';
6
+ import { useExericseShortcut } from '../../../../hooks/useExericseShortcut.js';
7
+
8
+ //
9
+ //
10
+ //
11
+ var ControllerActionGrade = function ControllerActionGrade() {
12
+ var intl = useRawEliceIntl();
13
+ var _useControllerActionG = useControllerActionGrade(),
14
+ isHidden = _useControllerActionG.isHidden,
15
+ isDisabled = _useControllerActionG.isDisabled,
16
+ isLoading = _useControllerActionG.isLoading,
17
+ isNoGrade = _useControllerActionG.isNoGrade,
18
+ grade = _useControllerActionG.grade;
19
+ //
20
+ // register the shortcut
21
+ //
22
+ useExericseShortcut('RUNNER_SUBMIT_GRADE', grade);
23
+ //
24
+ //
25
+ //
26
+ if (isHidden) {
27
+ return null;
28
+ }
29
+ return jsx(Tooltip, {
30
+ title: isNoGrade ? intl.formatMessage({
31
+ id: 'exerciseRunner.controller.buttonGroup.button.submit.tooltip.noSubmit'
32
+ }) : '',
33
+ placement: "top",
34
+ children: jsx(Box, {
35
+ component: "span",
36
+ sx: {
37
+ display: 'inline-flex'
38
+ },
39
+ children: jsx(LoadingButton, {
40
+ size: "small",
41
+ variant: "contained",
42
+ color: "info",
43
+ loading: isLoading,
44
+ disabled: isDisabled,
45
+ onClick: grade,
46
+ children: intl.formatMessage({
47
+ id: 'exerciseRunner.controller.buttonGroup.button.submit'
48
+ })
49
+ })
50
+ })
51
+ });
52
+ };
53
+
54
+ export { ControllerActionGrade as default };
@@ -0,0 +1,3 @@
1
+ import type React from 'react';
2
+ declare const ControllerActionRun: React.VFC;
3
+ export default ControllerActionRun;
@@ -0,0 +1,40 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { useRawEliceIntl } from '@elice/intl';
3
+ import { LoadingButton } from '@mui/lab';
4
+ import { useControllerActionRun } from './useControllerActionRun.js';
5
+ import { useExericseShortcut } from '../../../../hooks/useExericseShortcut.js';
6
+
7
+ //
8
+ //
9
+ //
10
+ var ControllerActionRun = function ControllerActionRun() {
11
+ var intl = useRawEliceIntl();
12
+ var _useControllerActionR = useControllerActionRun(),
13
+ isHidden = _useControllerActionR.isHidden,
14
+ isDisabled = _useControllerActionR.isDisabled,
15
+ isLoading = _useControllerActionR.isLoading,
16
+ run = _useControllerActionR.run;
17
+ //
18
+ // register the shortcut
19
+ //
20
+ useExericseShortcut('RUNNER_SUBMIT_RUN', run);
21
+ //
22
+ //
23
+ //
24
+ if (isHidden) {
25
+ return null;
26
+ }
27
+ return jsx(LoadingButton, {
28
+ size: "small",
29
+ variant: "contained",
30
+ color: "primary",
31
+ loading: isLoading,
32
+ disabled: isDisabled,
33
+ onClick: run,
34
+ children: intl.formatMessage({
35
+ id: 'exerciseRunner.controller.buttonGroup.button.run'
36
+ })
37
+ });
38
+ };
39
+
40
+ export { ControllerActionRun as default };
@@ -0,0 +1,3 @@
1
+ import type React from 'react';
2
+ declare const ControllerActionSyncRequest: React.VFC;
3
+ export default ControllerActionSyncRequest;
@@ -0,0 +1,40 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { useRawEliceIntl } from '@elice/intl';
3
+ import { LoadingButton } from '@mui/lab';
4
+ import { useControllerActionSyncRequest } from './useControllerActionSyncRequest.js';
5
+ import { useExericseShortcut } from '../../../../hooks/useExericseShortcut.js';
6
+
7
+ //
8
+ //
9
+ //
10
+ var ControllerActionSyncRequest = function ControllerActionSyncRequest() {
11
+ var intl = useRawEliceIntl();
12
+ var _useControllerActionS = useControllerActionSyncRequest(),
13
+ isHidden = _useControllerActionS.isHidden,
14
+ isDisabled = _useControllerActionS.isDisabled,
15
+ isLoading = _useControllerActionS.isLoading,
16
+ syncRequest = _useControllerActionS.syncRequest;
17
+ //
18
+ // register the shortcut
19
+ //
20
+ useExericseShortcut('RUNNER_SYNC_REQUEST', syncRequest);
21
+ //
22
+ //
23
+ //
24
+ if (isHidden) {
25
+ return null;
26
+ }
27
+ return jsx(LoadingButton, {
28
+ size: "small",
29
+ variant: "contained",
30
+ color: "secondary",
31
+ loading: isLoading,
32
+ disabled: isDisabled,
33
+ onClick: syncRequest,
34
+ children: intl.formatMessage({
35
+ id: 'exerciseRunner.controller.buttonGroup.button.syncRequest'
36
+ })
37
+ });
38
+ };
39
+
40
+ export { ControllerActionSyncRequest as default };
@@ -0,0 +1,5 @@
1
+ export { default as ControllerActionCancel } from './ControllerActionCancel';
2
+ export { default as ControllerActionGrade } from './ControllerActionGrade';
3
+ export { default as ControllerActionRun } from './ControllerActionRun';
4
+ export { default as ControllerActionSyncRequest } from './ControllerActionSyncRequest';
5
+ export { useControllerActionRun } from './useControllerActionRun';
@@ -0,0 +1,5 @@
1
+ export { default as ControllerActionCancel } from './ControllerActionCancel.js';
2
+ export { default as ControllerActionGrade } from './ControllerActionGrade.js';
3
+ export { default as ControllerActionRun } from './ControllerActionRun.js';
4
+ export { default as ControllerActionSyncRequest } from './ControllerActionSyncRequest.js';
5
+ export { useControllerActionRun } from './useControllerActionRun.js';
@@ -0,0 +1,14 @@
1
+ export interface UseControllerActionCancelReturn {
2
+ /** Whether the cancel button should be hidden. */
3
+ isHidden: boolean;
4
+ /** Whether the cancel button should be disabled. */
5
+ isDisabled: boolean;
6
+ /** Whether the cancel button should show a loading indicator. */
7
+ isLoading: boolean;
8
+ /** Cancel the running exercise. */
9
+ cancel: () => void;
10
+ }
11
+ /**
12
+ * Provides state and handler for the exercise runner's "cancel" action.
13
+ */
14
+ export declare const useControllerActionCancel: () => UseControllerActionCancelReturn;
@@ -0,0 +1,46 @@
1
+ import { toConsumableArray as _toConsumableArray } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import React from 'react';
3
+ import { EliceWebSocket } from '@elice/websocket';
4
+ import { useRecoilValue } from 'recoil';
5
+ import { ExerciseRunnerContext } from '../ExerciseRunnerContext.js';
6
+ import { exerciseActiveFilenameState, exerciseWebSocketTotalStatusQuery, exerciseRunnerRunningState } from '../../context/recoil.js';
7
+ import { useExerciseFileEditable } from '../../../../hooks/useExerciseFile.js';
8
+
9
+ //
10
+ //
11
+ //
12
+ /**
13
+ * Provides state and handler for the exercise runner's "cancel" action.
14
+ */
15
+ var useControllerActionCancel = function useControllerActionCancel() {
16
+ var _return = React.useRef({});
17
+ var _React$useContext = React.useContext(ExerciseRunnerContext),
18
+ onCancel = _React$useContext.onCancel;
19
+ var activeFilename = useRecoilValue(exerciseActiveFilenameState);
20
+ var isFileEditable = useExerciseFileEditable(activeFilename);
21
+ var runnerWebsocketStatus = useRecoilValue(exerciseWebSocketTotalStatusQuery([].concat(_toConsumableArray(isFileEditable ? ['usercodeEdit'] : []), ['runnerRoom', 'stdio'])));
22
+ var isRunning = useRecoilValue(exerciseRunnerRunningState);
23
+ var isConnecting = runnerWebsocketStatus === EliceWebSocket.CONNECTING;
24
+ var isNotReady = runnerWebsocketStatus !== EliceWebSocket.OPEN;
25
+ var isHidden = !isRunning;
26
+ var isDisabled = isHidden || isNotReady || isConnecting;
27
+ var isLoading = isConnecting;
28
+ /**
29
+ *
30
+ */
31
+ var cancel = React.useCallback(function () {
32
+ if (!isDisabled) {
33
+ onCancel();
34
+ }
35
+ }, [isDisabled, onCancel]);
36
+ //
37
+ //
38
+ //
39
+ _return.current.isHidden = isHidden;
40
+ _return.current.isDisabled = isDisabled;
41
+ _return.current.isLoading = isLoading;
42
+ _return.current.cancel = cancel;
43
+ return _return.current;
44
+ };
45
+
46
+ export { useControllerActionCancel };
@@ -0,0 +1,16 @@
1
+ export interface UseControllerActionGradeReturn {
2
+ /** Whether the grade button should be hidden. */
3
+ isHidden: boolean;
4
+ /** Whether the grade button should be disabled. */
5
+ isDisabled: boolean;
6
+ /** Whether the grade button should show a loading indicator. */
7
+ isLoading: boolean;
8
+ /** Whether grading is disallowed for this exercise (used to show tooltip). */
9
+ isNoGrade: boolean;
10
+ /** Submit the exercise to grade. Resolves when the submission completes. */
11
+ grade: () => Promise<void>;
12
+ }
13
+ /**
14
+ * Provides state and handler for the exercise runner's "grade" action.
15
+ */
16
+ export declare const useControllerActionGrade: () => UseControllerActionGradeReturn;
@@ -0,0 +1,68 @@
1
+ import { toConsumableArray as _toConsumableArray, asyncToGenerator as _asyncToGenerator, regenerator as _regenerator } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import React from 'react';
3
+ import { enums } from '@elice/types';
4
+ import { EliceWebSocket } from '@elice/websocket';
5
+ import { useRecoilValue } from 'recoil';
6
+ import { ExerciseRunnerContext } from '../ExerciseRunnerContext.js';
7
+ import { exerciseActiveFilenameState, exerciseWebSocketTotalStatusQuery, exerciseState, exerciseRunnerRunTypeState, exerciseLectureState, exerciseRunnerSubmittingState, exerciseRunnerRunningState } from '../../context/recoil.js';
8
+ import { ExerciseContext } from '../../context/context.js';
9
+ import { useExerciseFileEditable } from '../../../../hooks/useExerciseFile.js';
10
+
11
+ //
12
+ //
13
+ //
14
+ /**
15
+ * Provides state and handler for the exercise runner's "grade" action.
16
+ */
17
+ var useControllerActionGrade = function useControllerActionGrade() {
18
+ var _return = React.useRef({});
19
+ var _React$useContext = React.useContext(ExerciseContext),
20
+ materialExerciseId = _React$useContext.materialExerciseId;
21
+ var _React$useContext2 = React.useContext(ExerciseRunnerContext),
22
+ onSubmit = _React$useContext2.onSubmit;
23
+ var activeFilename = useRecoilValue(exerciseActiveFilenameState);
24
+ var isFileEditable = useExerciseFileEditable(activeFilename);
25
+ var runnerWebsocketStatus = useRecoilValue(exerciseWebSocketTotalStatusQuery([].concat(_toConsumableArray(isFileEditable ? ['usercodeEdit'] : []), ['runnerRoom', 'stdio'])));
26
+ var exercise = useRecoilValue(exerciseState(materialExerciseId));
27
+ var exerciseRunType = useRecoilValue(exerciseRunnerRunTypeState);
28
+ var isNoGrade = Boolean(exercise === null || exercise === void 0 ? void 0 : exercise.isNoSubmitGrade);
29
+ var lecture = useRecoilValue(exerciseLectureState(exercise === null || exercise === void 0 ? void 0 : exercise._lectureId));
30
+ var isTestLecture = (lecture === null || lecture === void 0 ? void 0 : lecture.lectureType) === enums.LectureType.Test;
31
+ var isTestLectureCompleted = (lecture === null || lecture === void 0 ? void 0 : lecture.testAdmissionStatus) === enums.TestAdmissionStatus.Completed;
32
+ var isSubmitting = useRecoilValue(exerciseRunnerSubmittingState);
33
+ var isRunning = useRecoilValue(exerciseRunnerRunningState);
34
+ var isConnecting = runnerWebsocketStatus === EliceWebSocket.CONNECTING;
35
+ var isNotReady = runnerWebsocketStatus !== EliceWebSocket.OPEN;
36
+ var isHidden = isRunning;
37
+ var isDisabled = isHidden || isNoGrade || isTestLecture && isTestLectureCompleted || isNotReady || isConnecting || isSubmitting;
38
+ var isLoading = isConnecting || isSubmitting && exerciseRunType === enums.ExerciseRunType.Grade;
39
+ /**
40
+ *
41
+ */
42
+ var grade = React.useCallback(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
43
+ return _regenerator().w(function (_context) {
44
+ while (1) switch (_context.n) {
45
+ case 0:
46
+ if (isDisabled) {
47
+ _context.n = 1;
48
+ break;
49
+ }
50
+ _context.n = 1;
51
+ return onSubmit(enums.ExerciseRunType.Grade);
52
+ case 1:
53
+ return _context.a(2);
54
+ }
55
+ }, _callee);
56
+ })), [isDisabled, onSubmit]);
57
+ //
58
+ //
59
+ //
60
+ _return.current.isHidden = isHidden;
61
+ _return.current.isDisabled = isDisabled;
62
+ _return.current.isLoading = isLoading;
63
+ _return.current.isNoGrade = isNoGrade;
64
+ _return.current.grade = grade;
65
+ return _return.current;
66
+ };
67
+
68
+ export { useControllerActionGrade };
@@ -0,0 +1,14 @@
1
+ export interface UseControllerActionRunReturn {
2
+ /** Whether the run button should be hidden. */
3
+ isHidden: boolean;
4
+ /** Whether the run button should be disabled. */
5
+ isDisabled: boolean;
6
+ /** Whether the run button should show a loading indicator. */
7
+ isLoading: boolean;
8
+ /** Submit the exercise to run. Resolves when the submission completes. */
9
+ run: () => Promise<void>;
10
+ }
11
+ /**
12
+ * Provides state and handler for the exercise runner's "run" action.
13
+ */
14
+ export declare const useControllerActionRun: () => UseControllerActionRunReturn;
@@ -0,0 +1,59 @@
1
+ import { toConsumableArray as _toConsumableArray, asyncToGenerator as _asyncToGenerator, regenerator as _regenerator } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import React from 'react';
3
+ import { enums } from '@elice/types';
4
+ import { EliceWebSocket } from '@elice/websocket';
5
+ import { useRecoilValue } from 'recoil';
6
+ import { ExerciseRunnerContext } from '../ExerciseRunnerContext.js';
7
+ import { exerciseActiveFilenameState, exerciseWebSocketTotalStatusQuery, exerciseRunnerRunTypeState, exerciseRunnerSubmittingState, exerciseRunnerRunningState } from '../../context/recoil.js';
8
+ import { useExerciseFileEditable } from '../../../../hooks/useExerciseFile.js';
9
+
10
+ //
11
+ //
12
+ //
13
+ /**
14
+ * Provides state and handler for the exercise runner's "run" action.
15
+ */
16
+ var useControllerActionRun = function useControllerActionRun() {
17
+ var _return = React.useRef({});
18
+ var _React$useContext = React.useContext(ExerciseRunnerContext),
19
+ onSubmit = _React$useContext.onSubmit;
20
+ var activeFilename = useRecoilValue(exerciseActiveFilenameState);
21
+ var isFileEditable = useExerciseFileEditable(activeFilename);
22
+ var runnerWebsocketStatus = useRecoilValue(exerciseWebSocketTotalStatusQuery([].concat(_toConsumableArray(isFileEditable ? ['usercodeEdit'] : []), ['runnerRoom', 'stdio'])));
23
+ var exerciseRunType = useRecoilValue(exerciseRunnerRunTypeState);
24
+ var isSubmitting = useRecoilValue(exerciseRunnerSubmittingState);
25
+ var isRunning = useRecoilValue(exerciseRunnerRunningState);
26
+ var isConnecting = runnerWebsocketStatus === EliceWebSocket.CONNECTING;
27
+ var isNotReady = runnerWebsocketStatus !== EliceWebSocket.OPEN;
28
+ var isHidden = isRunning;
29
+ var isDisabled = isHidden || isNotReady || isConnecting || isSubmitting;
30
+ var isLoading = isConnecting || isSubmitting && exerciseRunType === enums.ExerciseRunType.Run;
31
+ /**
32
+ *
33
+ */
34
+ var run = React.useCallback(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
35
+ return _regenerator().w(function (_context) {
36
+ while (1) switch (_context.n) {
37
+ case 0:
38
+ if (isDisabled) {
39
+ _context.n = 1;
40
+ break;
41
+ }
42
+ _context.n = 1;
43
+ return onSubmit(enums.ExerciseRunType.Run);
44
+ case 1:
45
+ return _context.a(2);
46
+ }
47
+ }, _callee);
48
+ })), [isDisabled, onSubmit]);
49
+ //
50
+ //
51
+ //
52
+ _return.current.isHidden = isHidden;
53
+ _return.current.isDisabled = isDisabled;
54
+ _return.current.isLoading = isLoading;
55
+ _return.current.run = run;
56
+ return _return.current;
57
+ };
58
+
59
+ export { useControllerActionRun };
@@ -0,0 +1,15 @@
1
+ export interface UseControllerActionSyncRequestReturn {
2
+ /** Whether the sync-request button should be hidden. */
3
+ isHidden: boolean;
4
+ /** Whether the sync-request button should be disabled. */
5
+ isDisabled: boolean;
6
+ /** Whether the sync-request button should show a loading indicator. */
7
+ isLoading: boolean;
8
+ /** Request the runner to sync the latest user code. */
9
+ syncRequest: () => void;
10
+ }
11
+ /**
12
+ * Provides state and handler for the exercise runner's "sync request" action,
13
+ * and forwards file-editor save actions to the same handler.
14
+ */
15
+ export declare const useControllerActionSyncRequest: () => UseControllerActionSyncRequestReturn;
@@ -0,0 +1,62 @@
1
+ import { toConsumableArray as _toConsumableArray } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import React from 'react';
3
+ import { EliceWebSocket } from '@elice/websocket';
4
+ import { useRecoilValue } from 'recoil';
5
+ import { ExerciseRunnerContext } from '../ExerciseRunnerContext.js';
6
+ import { ExerciseContext } from '../../context/context.js';
7
+ import { exerciseActiveFilenameState, exerciseWebSocketTotalStatusQuery, exerciseState, exerciseRunnerRunningState } from '../../context/recoil.js';
8
+ import { useExerciseFileEditable } from '../../../../hooks/useExerciseFile.js';
9
+ import { exerciseFileEditorSaveAction$ } from '../../context/subjects.js';
10
+
11
+ //
12
+ //
13
+ //
14
+ /**
15
+ * Provides state and handler for the exercise runner's "sync request" action,
16
+ * and forwards file-editor save actions to the same handler.
17
+ */
18
+ var useControllerActionSyncRequest = function useControllerActionSyncRequest() {
19
+ var _a;
20
+ var _return = React.useRef({});
21
+ var _React$useContext = React.useContext(ExerciseContext),
22
+ materialExerciseId = _React$useContext.materialExerciseId;
23
+ var _React$useContext2 = React.useContext(ExerciseRunnerContext),
24
+ onSyncRequest = _React$useContext2.onSyncRequest;
25
+ var activeFilename = useRecoilValue(exerciseActiveFilenameState);
26
+ var isFileEditable = useExerciseFileEditable(activeFilename);
27
+ var runnerWebsocketStatus = useRecoilValue(exerciseWebSocketTotalStatusQuery([].concat(_toConsumableArray(isFileEditable ? ['usercodeEdit'] : []), ['runnerRoom', 'stdio'])));
28
+ var exercise = useRecoilValue(exerciseState(materialExerciseId));
29
+ var isRunning = useRecoilValue(exerciseRunnerRunningState);
30
+ var isConnecting = runnerWebsocketStatus === EliceWebSocket.CONNECTING;
31
+ var isNotReady = runnerWebsocketStatus !== EliceWebSocket.OPEN;
32
+ var isHidden = !isRunning || !((_a = exercise === null || exercise === void 0 ? void 0 : exercise.readyExerciseImage) === null || _a === void 0 ? void 0 : _a.httpPort);
33
+ var isDisabled = isHidden || isNotReady || isConnecting;
34
+ var isLoading = isConnecting;
35
+ /**
36
+ *
37
+ */
38
+ var syncRequest = React.useCallback(function () {
39
+ if (!isDisabled) {
40
+ onSyncRequest();
41
+ }
42
+ }, [isDisabled, onSyncRequest]);
43
+ //
44
+ //
45
+ //
46
+ React.useEffect(function () {
47
+ var saveActionSub = exerciseFileEditorSaveAction$.subscribe(syncRequest);
48
+ return function () {
49
+ saveActionSub.unsubscribe();
50
+ };
51
+ }, [syncRequest]);
52
+ //
53
+ //
54
+ //
55
+ _return.current.isHidden = isHidden;
56
+ _return.current.isDisabled = isDisabled;
57
+ _return.current.isLoading = isLoading;
58
+ _return.current.syncRequest = syncRequest;
59
+ return _return.current;
60
+ };
61
+
62
+ export { useControllerActionSyncRequest };
@@ -0,0 +1,3 @@
1
+ import type React from 'react';
2
+ declare const ArduinoConnectionGuideDialog: React.VFC;
3
+ export default ArduinoConnectionGuideDialog;
@@ -0,0 +1,148 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { useRawEliceIntl } from '@elice/intl';
3
+ import { usePermissionPhase } from '@elice/mcu-bridge';
4
+ import ArrowUpwardIcon from '@mui/icons-material/ArrowUpward';
5
+ import Alert from '@mui/material/Alert';
6
+ import Dialog from '@mui/material/Dialog';
7
+ import DialogActions from '@mui/material/DialogActions';
8
+ import DialogContent from '@mui/material/DialogContent';
9
+ import DialogTitle from '@mui/material/DialogTitle';
10
+ import Stack from '@mui/material/Stack';
11
+ import Typography from '@mui/material/Typography';
12
+ import { useArduinoBridge } from './_context.js';
13
+ import ArduinoConnectionGuideDialogNativeMock from './ArduinoConnectionGuideDialogNativeMock.js';
14
+ import ArduinoConnectionGuideDialogSteps from './ArduinoConnectionGuideDialogSteps.js';
15
+
16
+ //
17
+ //
18
+ //
19
+ var ACCENT = '#7353ea';
20
+ var PREVIEW_BG = '#f6f8fb';
21
+ var PREVIEW_BORDER = '#e9ebf0';
22
+ //
23
+ //
24
+ //
25
+ var ArduinoConnectionGuideDialog = function ArduinoConnectionGuideDialog() {
26
+ var intl = useRawEliceIntl();
27
+ var phase = usePermissionPhase();
28
+ var _useArduinoBridge = useArduinoBridge(),
29
+ connectionIntent = _useArduinoBridge.connectionIntent;
30
+ var open = phase === 'requesting';
31
+ var isUpload = connectionIntent === 'upload';
32
+ /**
33
+ *
34
+ */
35
+ var renderTitle = function renderTitle() {
36
+ return intl.formatMessage({
37
+ id: isUpload ? 'exerciseRunner.arduino.connectGuide.title.upload' : 'exerciseRunner.arduino.connectGuide.title.connect'
38
+ });
39
+ };
40
+ /**
41
+ *
42
+ */
43
+ var renderUploadNotice = function renderUploadNotice() {
44
+ if (!isUpload) {
45
+ return null;
46
+ }
47
+ return jsx(Alert, {
48
+ severity: "info",
49
+ variant: "outlined",
50
+ icon: false,
51
+ children: intl.formatMessage({
52
+ id: 'exerciseRunner.arduino.connectGuide.upload.note'
53
+ })
54
+ });
55
+ };
56
+ /**
57
+ *
58
+ */
59
+ var renderPreview = function renderPreview() {
60
+ return jsxs(Stack, {
61
+ alignItems: "center",
62
+ spacing: 1.25,
63
+ sx: {
64
+ bgcolor: PREVIEW_BG,
65
+ border: "1px solid ".concat(PREVIEW_BORDER),
66
+ borderRadius: '10px',
67
+ p: '14px'
68
+ },
69
+ children: [jsxs(Stack, {
70
+ direction: "row",
71
+ spacing: 0.75,
72
+ alignItems: "center",
73
+ sx: {
74
+ color: ACCENT
75
+ },
76
+ children: [jsx(ArrowUpwardIcon, {
77
+ sx: {
78
+ fontSize: 11
79
+ }
80
+ }), jsx(Typography, {
81
+ sx: {
82
+ fontSize: 12,
83
+ fontWeight: 700,
84
+ letterSpacing: '-.01em',
85
+ color: ACCENT
86
+ },
87
+ children: intl.formatMessage({
88
+ id: 'exerciseRunner.arduino.connectGuide.preview.label'
89
+ })
90
+ })]
91
+ }), jsx(ArduinoConnectionGuideDialogNativeMock, {})]
92
+ });
93
+ };
94
+ /**
95
+ *
96
+ */
97
+ var renderActions = function renderActions() {
98
+ return jsx(DialogActions, {
99
+ sx: {
100
+ justifyContent: 'flex-start',
101
+ px: 3,
102
+ py: 2
103
+ },
104
+ children: jsx(Typography, {
105
+ variant: "caption",
106
+ color: "text.secondary",
107
+ children: intl.formatMessage({
108
+ id: 'exerciseRunner.arduino.connectGuide.footer'
109
+ })
110
+ })
111
+ });
112
+ };
113
+ //
114
+ //
115
+ //
116
+ // No onClose: open state is fully derived from the picker phase.
117
+ return jsxs(Dialog, {
118
+ disableEnforceFocus: true,
119
+ hideBackdrop: true,
120
+ fullWidth: true,
121
+ open: open,
122
+ maxWidth: "sm",
123
+ sx: {
124
+ pointerEvents: 'none'
125
+ },
126
+ PaperProps: {
127
+ sx: {
128
+ pointerEvents: 'auto'
129
+ }
130
+ },
131
+ children: [jsx(DialogTitle, {
132
+ children: renderTitle()
133
+ }), jsx(DialogContent, {
134
+ children: jsxs(Stack, {
135
+ spacing: 2,
136
+ children: [renderUploadNotice(), jsx(Typography, {
137
+ variant: "body2",
138
+ color: "text.secondary",
139
+ children: intl.formatMessage({
140
+ id: 'exerciseRunner.arduino.connectGuide.body'
141
+ })
142
+ }), renderPreview(), jsx(ArduinoConnectionGuideDialogSteps, {})]
143
+ })
144
+ }), renderActions()]
145
+ });
146
+ };
147
+
148
+ export { ArduinoConnectionGuideDialog as default };
@@ -0,0 +1,3 @@
1
+ import type React from 'react';
2
+ declare const ArduinoConnectionGuideDialogNativeMock: React.VFC;
3
+ export default ArduinoConnectionGuideDialogNativeMock;