@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,87 @@
1
+ import React from 'react';
2
+ import { useRawEliceIntl } from '@elice/intl';
3
+ import { useFlash } from '@elice/mcu-bridge';
4
+ import { useArduinoTerminalWriter } from './useArduinoTerminalWriter.js';
5
+
6
+ //
7
+ //
8
+ //
9
+ var UPLOAD_PROGRESS_THROTTLE_MS = 200;
10
+ var ArduinoProviderFlashWriter = function ArduinoProviderFlashWriter(_ref) {
11
+ var xtermRef = _ref.xtermRef;
12
+ var intl = useRawEliceIntl();
13
+ var _useFlash = useFlash(),
14
+ progress = _useFlash.progress;
15
+ var _useArduinoTerminalWr = useArduinoTerminalWriter({
16
+ xtermRef: xtermRef
17
+ }),
18
+ writeSystemMessage = _useArduinoTerminalWr.writeSystemMessage;
19
+ var lastStageRef = React.useRef(null);
20
+ var lastUploadWriteAtRef = React.useRef(0);
21
+ //
22
+ // Translate flash progress into terminal messages.
23
+ //
24
+ React.useEffect(function () {
25
+ var _a, _b;
26
+ if (!progress) {
27
+ lastStageRef.current = null;
28
+ lastUploadWriteAtRef.current = 0;
29
+ return;
30
+ }
31
+ var stage = progress.stage,
32
+ percent = progress.percent;
33
+ var isStageChange = lastStageRef.current !== stage;
34
+ lastStageRef.current = stage;
35
+ switch (stage) {
36
+ case 'start':
37
+ writeSystemMessage(intl.formatMessage({
38
+ id: 'exerciseRunner.arduino.terminal.upload.start'
39
+ }));
40
+ return;
41
+ case 'upload':
42
+ {
43
+ var now = Date.now();
44
+ if (!isStageChange && now - lastUploadWriteAtRef.current < UPLOAD_PROGRESS_THROTTLE_MS) {
45
+ return;
46
+ }
47
+ lastUploadWriteAtRef.current = now;
48
+ writeSystemMessage(intl.formatMessage({
49
+ id: 'exerciseRunner.arduino.terminal.upload.progress'
50
+ }, {
51
+ percent: percent
52
+ }));
53
+ return;
54
+ }
55
+ case 'verify':
56
+ if (isStageChange) {
57
+ writeSystemMessage(intl.formatMessage({
58
+ id: 'exerciseRunner.arduino.terminal.upload.verifying'
59
+ }));
60
+ }
61
+ return;
62
+ case 'done':
63
+ if (isStageChange) {
64
+ writeSystemMessage(intl.formatMessage({
65
+ id: 'exerciseRunner.arduino.terminal.upload.done'
66
+ }));
67
+ }
68
+ return;
69
+ case 'error':
70
+ if (isStageChange) {
71
+ writeSystemMessage(intl.formatMessage({
72
+ id: 'exerciseRunner.arduino.terminal.upload.error'
73
+ }, {
74
+ error: (_b = (_a = progress.error) === null || _a === void 0 ? void 0 : _a.message) !== null && _b !== void 0 ? _b : intl.formatMessage({
75
+ id: 'exerciseRunner.arduino.terminal.upload.errorUnknown'
76
+ })
77
+ }));
78
+ }
79
+ return;
80
+ default:
81
+ return;
82
+ }
83
+ }, [progress, writeSystemMessage, intl]);
84
+ return null;
85
+ };
86
+
87
+ export { ArduinoProviderFlashWriter as default };
@@ -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,62 @@
1
+ import React from 'react';
2
+ import { useRawEliceIntl } from '@elice/intl';
3
+ import { useSession } from '@elice/mcu-bridge';
4
+ import { useArduinoTerminalWriter } from './useArduinoTerminalWriter.js';
5
+
6
+ //
7
+ //
8
+ //
9
+ var ArduinoProviderSessionWriter = function ArduinoProviderSessionWriter(_ref) {
10
+ var xtermRef = _ref.xtermRef;
11
+ var intl = useRawEliceIntl();
12
+ var session = useSession();
13
+ var previousSessionRef = React.useRef(null);
14
+ var _useArduinoTerminalWr = useArduinoTerminalWriter({
15
+ xtermRef: xtermRef
16
+ }),
17
+ write = _useArduinoTerminalWr.write,
18
+ writeSystemMessage = _useArduinoTerminalWr.writeSystemMessage;
19
+ //
20
+ // Pipe board serial output into xterm.
21
+ //
22
+ React.useEffect(function () {
23
+ if (!session) {
24
+ return;
25
+ }
26
+ var decoder = new TextDecoder();
27
+ return session.events.on('serial', function (chunk) {
28
+ write(decoder.decode(chunk));
29
+ });
30
+ }, [session, write]);
31
+ //
32
+ // Print board attach/detach lifecycle messages.
33
+ //
34
+ React.useEffect(function () {
35
+ var previous = previousSessionRef.current;
36
+ previousSessionRef.current = session;
37
+ if (!previous && session) {
38
+ writeSystemMessage(intl.formatMessage({
39
+ id: 'exerciseRunner.arduino.terminal.session.connected'
40
+ }, {
41
+ device: session.driver.board.name
42
+ }));
43
+ return;
44
+ }
45
+ if (previous && !session) {
46
+ writeSystemMessage(intl.formatMessage({
47
+ id: 'exerciseRunner.arduino.terminal.session.disconnected'
48
+ }));
49
+ return;
50
+ }
51
+ if (previous && session && previous !== session) {
52
+ writeSystemMessage(intl.formatMessage({
53
+ id: 'exerciseRunner.arduino.terminal.session.reconnected'
54
+ }, {
55
+ device: session.driver.board.name
56
+ }));
57
+ }
58
+ }, [session, writeSystemMessage, intl]);
59
+ return null;
60
+ };
61
+
62
+ export { ArduinoProviderSessionWriter as default };
@@ -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,15 @@
1
+ import { createContext, useContext } from 'react';
2
+
3
+ //
4
+ //
5
+ //
6
+ var ArduinoBridgeContext = createContext(null);
7
+ var useArduinoBridge = function useArduinoBridge() {
8
+ var ctx = useContext(ArduinoBridgeContext);
9
+ if (!ctx) {
10
+ throw new Error('useArduinoBridge must be used inside <ArduinoBridgeProvider>.');
11
+ }
12
+ return ctx;
13
+ };
14
+
15
+ export { ArduinoBridgeContext, 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,4 @@
1
+ export { default as ArduinoBridgeProvider } from './ArduinoProvider.js';
2
+ export { useArduinoBridge } from './_context.js';
3
+ export { default as ArduinoControllerButtonGroup } from './ArduinoControllerButtonGroup.js';
4
+ export { default as ArduinoControllerStatusMessage } from './ArduinoControllerStatusMessage.js';
@@ -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,32 @@
1
+ import { slicedToArray as _slicedToArray } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import React from 'react';
3
+
4
+ //
5
+ //
6
+ //
7
+ var useArduinoRunIntent = function useArduinoRunIntent() {
8
+ var _return = React.useRef({});
9
+ var _React$useState = React.useState(null),
10
+ _React$useState2 = _slicedToArray(_React$useState, 2),
11
+ pendingIntent = _React$useState2[0],
12
+ setPendingIntent = _React$useState2[1];
13
+ var pendingIntentRef = React.useRef(null);
14
+ var setRunIntent = React.useCallback(function (intent) {
15
+ pendingIntentRef.current = intent;
16
+ setPendingIntent(intent);
17
+ }, []);
18
+ var clearRunIntent = React.useCallback(function () {
19
+ pendingIntentRef.current = null;
20
+ setPendingIntent(null);
21
+ }, []);
22
+ //
23
+ //
24
+ //
25
+ _return.current.pendingIntent = pendingIntent;
26
+ _return.current.pendingIntentRef = pendingIntentRef;
27
+ _return.current.setRunIntent = setRunIntent;
28
+ _return.current.clearRunIntent = clearRunIntent;
29
+ return _return.current;
30
+ };
31
+
32
+ export { 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,27 @@
1
+ import React from 'react';
2
+
3
+ //
4
+ //
5
+ //
6
+ var ANSI_WRAP = function ANSI_WRAP(text) {
7
+ return "\x1B[1m\x1B[38;5;221m".concat(text, "\x1B[0m");
8
+ };
9
+ var useArduinoTerminalWriter = function useArduinoTerminalWriter(_ref) {
10
+ var xtermRef = _ref.xtermRef;
11
+ var _return = React.useRef({});
12
+ var write = React.useCallback(function (text) {
13
+ var _a;
14
+ (_a = xtermRef.current) === null || _a === void 0 ? void 0 : _a.write(text);
15
+ }, [xtermRef]);
16
+ var writeSystemMessage = React.useCallback(function (text) {
17
+ write(ANSI_WRAP(text));
18
+ }, [write]);
19
+ //
20
+ //
21
+ //
22
+ _return.current.write = write;
23
+ _return.current.writeSystemMessage = writeSystemMessage;
24
+ return _return.current;
25
+ };
26
+
27
+ export { useArduinoTerminalWriter };
@@ -1,3 +1,3 @@
1
- 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"};
1
+ 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"};
2
2
 
3
3
  export { messageEn as default };
@@ -1,3 +1,3 @@
1
- var ja = {"exerciseRunner.controller.arduino.connectionStatus.connected":"Arduinoに接続されました","exerciseRunner.controller.arduino.connectionStatus.connectedDevice":"{device}に接続されました","exerciseRunner.controller.arduino.connectionStatus.connecting":"Elice Arduino エージェントに接続中","exerciseRunner.controller.arduino.connectionStatus.disconnected":"Elice Arduino エージェントから切断されました","exerciseRunner.controller.arduino.connectionStatus.noDevice":"接続されたデバイスはありません。","exerciseRunner.controller.arduino.connectionStatus.reconnecting":"Elice Arduino エージェントに接続中","exerciseRunner.controller.arduino.connectionStatus.uploading":"アップロード中...","exerciseRunner.controller.arduino.agent.title":"エージェントに接続します","exerciseRunner.controller.arduino.agent.instruction.install":"1. Elice Arduino エージェントをインストールします。","exerciseRunner.controller.arduino.agent.instruction.install.detail":"'elice-arduino-agent' プログラムをインストールして Arduino に接続してください。","exerciseRunner.controller.arduino.agent.instruction.install.window":"Windows用のダウンロード","exerciseRunner.controller.arduino.agent.instruction.install.mac":"MacOS用のダウンロード","exerciseRunner.controller.arduino.agent.instruction.connect":"2. Arduinoに接続します。","exerciseRunner.controller.arduino.agent.instruction.connect.detail":"ダウンロードが完了したら、運動環境に接続する必要があります。接続できない場合は、マニュアルに従ってください。\nマニュアルを読むために下のボタンをクリックしてください。","exerciseRunner.controller.arduino.agent.instruction.connect.button":"マニュアルを参照してください。","exerciseRunner.controller.arduino.agent.instruction.close":"閉じる","exerciseRunner.controller.buttonGroup.button.compile":"コンパイル","exerciseRunner.controller.buttonGroup.button.helpRequest":"ドラッグしたコードの質問","exerciseRunner.controller.buttonGroup.button.run":"ラン","exerciseRunner.controller.buttonGroup.button.stop":"停止","exerciseRunner.controller.buttonGroup.button.submit":"提出","exerciseRunner.controller.buttonGroup.button.submit.tooltip.noSubmit":"提出なしの運動","exerciseRunner.controller.buttonGroup.button.syncRequest":"コードを同期します","exerciseRunner.controller.buttonGroup.button.tooltip.aiHelp":"どんな質問がありますか。","exerciseRunner.controller.runningInfo.error.fetch":"ランニング情報を取得中にエラーが発生しました。","exerciseRunner.controller.runningInfo.lastRunningDatetime":"最終実行日時","exerciseRunner.controller.runningInfo.lastSubmitDatetime":"最終送信日時","exerciseRunner.controller.runningInfo.lastSubmitScore":"最後に提出したスコア","exerciseRunner.controller.runningInfo.score":"{得点}","exerciseRunner.controller.statusMessage.closed":"エディタが切断されました。","exerciseRunner.controller.statusMessage.connecting":"エディタへの接続中...","exerciseRunner.controller.statusMessage.open":"エディターが接続されました","exerciseRunner.controller.tooltip.closed":"現在、コードサーバーとの接続が不安定なため、編集内容が反映されない可能性があります。\nネットワークの状態を確認してから作業を続けてください。","exerciseRunner.controller.timer.runningRemainingTime":"残り時間: {remainingTime}","exerciseRunner.submitErrorDialog.action.confirm":"OK","exerciseRunner.submitErrorDialog.action.reload":"ページをリロードしてください。","exerciseRunner.submitErrorDialog.body.commonError":"コードを実行中にエラーが発生しました。\nページを更新してもう一度お試しください。","exerciseRunner.submitErrorDialog.body.exceedSubmitGradeLimit":"許可された実験提出回数を超えています。","exerciseRunner.submitErrorDialog.body.expiredExerciseImage":"エクササイズ画像が更新されました。\nもう一度更新してやり直してください。","exerciseRunner.submitErrorDialog.body.networkError":"コードを実行中にエラーが発生しました。\nページを更新して、もう一度お試しください。\n問題が解決しない場合は、ネットワークの状態を確認してください。","exerciseRunner.submitErrorDialog.body.notForSubmitGrade":"この演習は提出してはいけません。","exerciseRunner.submitErrorDialog.body.notPreparedRoom":"エクササイズルームは準備中です。\n後で再試行してください。","exerciseRunner.submitErrorDialog.body.roomIsBusy":"運動室は稼働しています。\n少々お待ちください。","exerciseRunner.submitErrorDialog.body.unknown":"コードの実行中にエラーが発生しました。\n後でもう一度お試しください。","exerciseRunner.submitErrorDialog.title":"コードを実行できません。"};
1
+ var ja = {"exerciseRunner.arduino.connectGuide.body":"セキュリティのため、ブラウザがボード選択ウィンドウを直接表示します。画面左上のアドレスバー下に表示される小さなウィンドウから Arduino ボードを選択してください。","exerciseRunner.arduino.connectGuide.footer":"ウィンドウが表示されない場合は、アドレスバーの鍵アイコンを確認してください。","exerciseRunner.arduino.connectGuide.preview.cancel":"キャンセル","exerciseRunner.arduino.connectGuide.preview.connect":"接続","exerciseRunner.arduino.connectGuide.preview.host":"{host} がシリアルポートに接続しようとしています","exerciseRunner.arduino.connectGuide.preview.label":"このようなウィンドウが表示されます","exerciseRunner.arduino.connectGuide.steps.1":"{usbmodem} または {usbserial} で始まる名前の項目をクリックしてください。","exerciseRunner.arduino.connectGuide.steps.2":"右下の {connect} ボタンを押すと接続されます。","exerciseRunner.arduino.connectGuide.steps.3":"誤って {cancel} を押した場合は、もう一度試すことができます。","exerciseRunner.arduino.connectGuide.title.connect":"ブラウザでボードを選択してください","exerciseRunner.arduino.connectGuide.title.upload":"まずボードを接続します","exerciseRunner.arduino.connectGuide.upload.note":"アップロードにはボードの接続が必要です。接続が完了するとすぐにアップロードが始まります。","exerciseRunner.arduino.error.close":"閉じる","exerciseRunner.arduino.error.title":"Arduino 接続エラー","exerciseRunner.arduino.help.button":"ヘルプ","exerciseRunner.arduino.help.checklist.1.body":"USB ケーブルでボードをコンピュータに接続し、メニューの隣にある [接続] ボタンをクリックしてください。","exerciseRunner.arduino.help.checklist.1.title":"Arduino ボードをコンピュータに接続します","exerciseRunner.arduino.help.checklist.2.body":"確認では、送信前にコードに問題がないかチェックします。","exerciseRunner.arduino.help.checklist.2.title":"コードを書いて [確認] を押します","exerciseRunner.arduino.help.checklist.3.body":"Arduino ボードに作成したプログラムが送信されます。下のシリアルウィンドウで結果を確認できます。","exerciseRunner.arduino.help.checklist.3.title":"[アップロード] でボードに送信します","exerciseRunner.arduino.help.checklist.4.body":"提出すると自動的に採点され、点数が表示されます。","exerciseRunner.arduino.help.checklist.4.title":"うまく動いたら [提出]!","exerciseRunner.arduino.help.close":"閉じる","exerciseRunner.arduino.help.dontShowAgain":"次回から表示しない","exerciseRunner.arduino.help.greeting":"ここにコードを書いて、本物の Arduino ボードを動かしてみましょう。下の手順を順番に進めてください。","exerciseRunner.arduino.help.manual.detail":"公式マニュアルで詳しい使い方を確認できます。","exerciseRunner.arduino.help.manual.title":"使い方を知りたいですか?","exerciseRunner.arduino.help.title":"🤖 Arduino ラボへようこそ!","exerciseRunner.arduino.terminal.board.notConnected":"/* Arduino が接続されていません。接続後もう一度お試しください。 */\n","exerciseRunner.arduino.terminal.compile.done":"/* コンパイルが完了しました。 */\n","exerciseRunner.arduino.terminal.firmware.readFail":"/* ファームウェアファイルを読み取れませんでした。 */\n","exerciseRunner.arduino.terminal.session.connected":"/* [接続] {device} */\n","exerciseRunner.arduino.terminal.session.disconnected":"/* [切断] */\n","exerciseRunner.arduino.terminal.session.reconnected":"/* [再接続] {device} */\n","exerciseRunner.arduino.terminal.upload.done":"/* アップロードが完了しました。 */\n","exerciseRunner.arduino.terminal.upload.error":"/* エラーが発生しました: {error} */\n","exerciseRunner.arduino.terminal.upload.errorUnknown":"不明","exerciseRunner.arduino.terminal.upload.progress":"/* アップロード中... ({percent}%) */\r","exerciseRunner.arduino.terminal.upload.start":"/* アップロードを開始します。 */\n","exerciseRunner.arduino.terminal.upload.verifying":"/* 確認中... */\n","exerciseRunner.controller.arduino.boardStatus.connected":"{device} 接続済み","exerciseRunner.controller.arduino.boardStatus.connectedNoName":"ボード接続済み","exerciseRunner.controller.arduino.boardStatus.disconnected":"切断","exerciseRunner.controller.arduino.boardStatus.idle":"Arduino ボード未接続","exerciseRunner.controller.arduino.boardStatus.reconnecting":"再接続中","exerciseRunner.controller.arduino.button.compile":"コンパイル","exerciseRunner.controller.arduino.button.connect":"接続","exerciseRunner.controller.arduino.button.disconnect":"切断","exerciseRunner.controller.arduino.button.upload":"アップロード","exerciseRunner.controller.arduino.button.verify":"確認","exerciseRunner.controller.buttonGroup.button.helpRequest":"ドラッグしたコードの質問","exerciseRunner.controller.buttonGroup.button.run":"ラン","exerciseRunner.controller.buttonGroup.button.stop":"停止","exerciseRunner.controller.buttonGroup.button.submit":"提出","exerciseRunner.controller.buttonGroup.button.submit.tooltip.noSubmit":"提出なしの運動","exerciseRunner.controller.buttonGroup.button.syncRequest":"コードを同期します","exerciseRunner.controller.runningInfo.error.fetch":"ランニング情報を取得中にエラーが発生しました。","exerciseRunner.controller.runningInfo.lastRunningDatetime":"最終実行日時","exerciseRunner.controller.runningInfo.lastSubmitDatetime":"最終送信日時","exerciseRunner.controller.runningInfo.lastSubmitScore":"最後に提出したスコア","exerciseRunner.controller.runningInfo.score":"{score}","exerciseRunner.controller.statusMessage.closed":"エディタが切断されました。","exerciseRunner.controller.statusMessage.connecting":"エディタへの接続中...","exerciseRunner.controller.statusMessage.open":"エディターが接続されました","exerciseRunner.controller.timer.runningRemainingTime":"残り時間: {remainingTime}","exerciseRunner.controller.tooltip.closed":"現在、コードサーバーとの接続が不安定なため、編集内容が反映されない可能性があります。\nネットワークの状態を確認してから作業を続けてください。","exerciseRunner.submitErrorDialog.action.confirm":"OK","exerciseRunner.submitErrorDialog.action.reload":"ページをリロードしてください。","exerciseRunner.submitErrorDialog.body.commonError":"コードを実行中にエラーが発生しました。\nページを更新してもう一度お試しください。","exerciseRunner.submitErrorDialog.body.exceedSubmitGradeLimit":"許可された実験提出回数を超えています。","exerciseRunner.submitErrorDialog.body.expiredExerciseImage":"エクササイズ画像が更新されました。\nもう一度更新してやり直してください。","exerciseRunner.submitErrorDialog.body.networkError":"コードを実行中にエラーが発生しました。\nページを更新して、もう一度お試しください。\n問題が解決しない場合は、ネットワークの状態を確認してください。","exerciseRunner.submitErrorDialog.body.notForSubmitGrade":"この演習は提出してはいけません。","exerciseRunner.submitErrorDialog.body.notPreparedRoom":"エクササイズルームは準備中です。\n後で再試行してください。","exerciseRunner.submitErrorDialog.body.roomIsBusy":"運動室は稼働しています。\n少々お待ちください。","exerciseRunner.submitErrorDialog.body.unknown":"コードの実行中にエラーが発生しました。\n後でもう一度お試しください。","exerciseRunner.submitErrorDialog.title":"コードを実行できません。"};
2
2
 
3
3
  export { ja as default };
@@ -1,3 +1,3 @@
1
- var messageKo = {"exerciseRunner.controller.arduino.connectionStatus.connected":"아두이노 기기 연결됨","exerciseRunner.controller.arduino.connectionStatus.connectedDevice":"{device} 연결됨","exerciseRunner.controller.arduino.connectionStatus.connecting":"엘리스 아두이노 에이전트 연결 ","exerciseRunner.controller.arduino.connectionStatus.disconnected":"엘리스 아두이노 에이전트 연결 끊김","exerciseRunner.controller.arduino.connectionStatus.noDevice":"연결된 기기 없음","exerciseRunner.controller.arduino.connectionStatus.reconnecting":"엘리스 아두이노 에이전트 연결 ","exerciseRunner.controller.arduino.connectionStatus.uploading":"업로드 ","exerciseRunner.controller.arduino.agent.title":"에이전트 연결","exerciseRunner.controller.arduino.agent.instruction.install":"1. 엘리스 아두이노 에이전트 설치하기","exerciseRunner.controller.arduino.agent.instruction.install.detail":"아두이노와 연결하기 위해 ‘엘리스 아두이노 에이전트'를 설치해주세요.","exerciseRunner.controller.arduino.agent.instruction.install.window":"Windows 설치","exerciseRunner.controller.arduino.agent.instruction.install.mac":"MacOS 설치","exerciseRunner.controller.arduino.agent.instruction.connect":"2. 연결하기","exerciseRunner.controller.arduino.agent.instruction.connect.detail":"다운로드를 완료하였다면 실습 환경과 연결이 필요합니다. 연결되지 않을 경우 매뉴얼을 확인하세요.\n아래 버튼을 클릭해 매뉴얼을 확인하실있습니다.","exerciseRunner.controller.arduino.agent.instruction.connect.button":"매뉴얼 이동","exerciseRunner.controller.arduino.agent.instruction.close":"닫기","exerciseRunner.controller.buttonGroup.button.compile":"컴파일","exerciseRunner.controller.buttonGroup.button.helpRequest":"드래그한 코드 질문","exerciseRunner.controller.buttonGroup.button.run":"실행","exerciseRunner.controller.buttonGroup.button.stop":"정지","exerciseRunner.controller.buttonGroup.button.submit":"제출","exerciseRunner.controller.buttonGroup.button.submit.tooltip.noSubmit":"실행만 가능한 실습입니다.","exerciseRunner.controller.buttonGroup.button.syncRequest":"코드 동기화","exerciseRunner.controller.buttonGroup.button.tooltip.aiHelp":"궁금한 사항을 질문해 보세요.","exerciseRunner.controller.runningInfo.error.fetch":"최종 실행 내역을 가져오는데 문제가 발생하였습니다.","exerciseRunner.controller.runningInfo.lastRunningDatetime":"최종 실행 시간","exerciseRunner.controller.runningInfo.lastSubmitDatetime":"최종 제출 시간","exerciseRunner.controller.runningInfo.lastSubmitScore":"최종 제출 점수","exerciseRunner.controller.runningInfo.score":"{score} 점","exerciseRunner.controller.statusMessage.closed":"에디터 연결 끊김","exerciseRunner.controller.statusMessage.connecting":"에디터 연결 중...","exerciseRunner.controller.statusMessage.open":"에디터 연결됨","exerciseRunner.controller.tooltip.closed":"현재 코드 서버와 네트워크 연결 상태가 불안정하여 편집 내용이 반영되지 않습니다.\n네트워크 상태를 확인하여 코드 작성을 진행해주세요.","exerciseRunner.controller.timer.runningRemainingTime":"실행 제한시간: {remainingTime}","exerciseRunner.submitErrorDialog.action.confirm":"확인","exerciseRunner.submitErrorDialog.action.reload":"새로고침","exerciseRunner.submitErrorDialog.body.commonError":"코드 실행 중 오류가 발생했습니다.\n새로고침 후 다시 시도해주세요.","exerciseRunner.submitErrorDialog.body.exceedSubmitGradeLimit":"실습 제출 허용 횟수를 초과했습니다.","exerciseRunner.submitErrorDialog.body.expiredExerciseImage":"실습환경이 업데이트 되었습니다.\n새로고침 후 다시 시도해주세요.","exerciseRunner.submitErrorDialog.body.networkError":"코드 실행 중 오류가 발생했습니다.\n새로고침 후 다시 시도해주세요.\n문제가 계속되면 네트워크 상태를 확인해주세요.","exerciseRunner.submitErrorDialog.body.notForSubmitGrade":"제출이 허용되지 않은 실습입니다.","exerciseRunner.submitErrorDialog.body.notPreparedRoom":"실습환경이 준비 중입니다.\n잠시 후 다시 시도해주세요.","exerciseRunner.submitErrorDialog.body.roomIsBusy":"실습을 실행하고 있습니다.\n잠시만 기다려 주세요.","exerciseRunner.submitErrorDialog.body.unknown":"코드 실행 중 오류가 발생했습니다.\n잠시 후 다시 시도해주세요.","exerciseRunner.submitErrorDialog.title":"실습을 실행할 수 없습니다"};
1
+ var messageKo = {"exerciseRunner.arduino.error.close":"닫기","exerciseRunner.arduino.error.title":"아두이노 연결 오류","exerciseRunner.arduino.help.button":"도움말","exerciseRunner.arduino.help.title":"🤖 아두이노 실습실에 오신 걸 환영해요!","exerciseRunner.arduino.help.greeting":" 실습실에서는 코드를 작성해서 진짜 아두이노 보드를 움직여볼 수 있어요. 아래 단계를 차례로 따라해보세요.","exerciseRunner.arduino.help.checklist.1.title":"아두이노 보드를 컴퓨터에 연결해요","exerciseRunner.arduino.help.checklist.1.body":"USB 케이블로 보드를 컴퓨터에 꽂은 뒤, 메뉴 옆 [연결하기] 버튼을 누르세요.","exerciseRunner.arduino.help.checklist.2.title":"코드를 작성하고 [확인]을 눌러요","exerciseRunner.arduino.help.checklist.2.body":"확인 버튼은 코드에 문제가 없는지 검사해줘요.","exerciseRunner.arduino.help.checklist.3.title":"[업로드]로 보드에 전송해요","exerciseRunner.arduino.help.checklist.3.body":"아두이노 보드에 작성한 프로그램을 보내요. 아래 시리얼 창에서 결과를 볼 수 있어요.","exerciseRunner.arduino.help.checklist.4.title":" 동작하면 [제출]!","exerciseRunner.arduino.help.checklist.4.body":"제출하면 자동으로 채점이 되고 점수를 알려줘요.","exerciseRunner.arduino.help.manual.title":"사용 방법이 궁금하신가요?","exerciseRunner.arduino.help.manual.detail":"공식 매뉴얼에서 자세한 사용법을 확인할 수 있어요.","exerciseRunner.arduino.help.dontShowAgain":"다시 보지 않기","exerciseRunner.arduino.help.close":"닫기","exerciseRunner.arduino.connectGuide.body":"보안을 위해 브라우저가 직접 보드 선택 창을 띄워요. 화면 왼쪽 위 주소창 아래에 나타나는 작은 창에서 내 아두이노 보드를 골라주세요.","exerciseRunner.arduino.connectGuide.footer":"창이 안 보이면 주소창 옆 자물쇠 아이콘을 확인해보세요","exerciseRunner.arduino.connectGuide.preview.cancel":"취소","exerciseRunner.arduino.connectGuide.preview.connect":"연결","exerciseRunner.arduino.connectGuide.preview.host":"{host}에서 시리얼 포트에 연결하려고 합니다.","exerciseRunner.arduino.connectGuide.preview.label":"이렇게 생긴 창이 떠요","exerciseRunner.arduino.connectGuide.steps.1":"이름이 {usbmodem} 또는 {usbserial}로 시작하는 항목을 클릭하세요.","exerciseRunner.arduino.connectGuide.steps.2":"오른쪽 아래 {connect} 버튼을 누르면 연결돼요.","exerciseRunner.arduino.connectGuide.steps.3":"실수로 {cancel}을 눌러도 다시 시도할 수 있어요.","exerciseRunner.arduino.connectGuide.title.connect":"브라우저에서 보드 선택해주세요","exerciseRunner.arduino.connectGuide.title.upload":"보드를 먼저 연결할게요","exerciseRunner.arduino.connectGuide.upload.note":"업로드를 위해 보드 연결이 필요해요. 연결이 끝나면 바로 업로드가 시작돼요.","exerciseRunner.arduino.terminal.board.notConnected":"/* 아두이노가 연결되어 있지 않습니다. 연결 후 다시 시도해 주세요. */\n","exerciseRunner.arduino.terminal.compile.done":"/* 컴파일이 완료되었습니다. */\n","exerciseRunner.arduino.terminal.firmware.readFail":"/* 펌웨어 파일을 읽지 못했습니다. */\n","exerciseRunner.arduino.terminal.session.connected":"/* [연결됨] {device} */\n","exerciseRunner.arduino.terminal.session.disconnected":"/* [연결 끊김] */\n","exerciseRunner.arduino.terminal.session.reconnected":"/* [재연결] {device} */\n","exerciseRunner.arduino.terminal.upload.done":"/* 업로드가 완료되었습니다. */\n","exerciseRunner.arduino.terminal.upload.error":"/* 에러가 발생했습니다: {error} */\n","exerciseRunner.arduino.terminal.upload.errorUnknown":"알 없음","exerciseRunner.arduino.terminal.upload.progress":"/* 업로드 중입니다... ({percent}%) */\r","exerciseRunner.arduino.terminal.upload.start":"/* 업로드를 시작합니다. */\n","exerciseRunner.arduino.terminal.upload.verifying":"/* 확인 중입니다... */\n","exerciseRunner.controller.arduino.boardStatus.connected":"{device} 연결됨","exerciseRunner.controller.arduino.boardStatus.connectedNoName":"보드 연결됨","exerciseRunner.controller.arduino.boardStatus.disconnected":"연결 끊김","exerciseRunner.controller.arduino.boardStatus.idle":"아두이노 보드 연결 안 됨","exerciseRunner.controller.arduino.boardStatus.reconnecting":"재연결 중","exerciseRunner.controller.arduino.button.compile":"컴파일(확인)","exerciseRunner.controller.arduino.button.connect":"연결하기","exerciseRunner.controller.arduino.button.disconnect":"연결 해제","exerciseRunner.controller.arduino.button.upload":"업로드","exerciseRunner.controller.arduino.button.verify":"확인","exerciseRunner.controller.buttonGroup.button.helpRequest":"드래그한 코드 질문","exerciseRunner.controller.buttonGroup.button.run":"실행","exerciseRunner.controller.buttonGroup.button.stop":"정지","exerciseRunner.controller.buttonGroup.button.submit":"제출","exerciseRunner.controller.buttonGroup.button.submit.tooltip.noSubmit":"실행만 가능한 실습입니다.","exerciseRunner.controller.buttonGroup.button.syncRequest":"코드 동기화","exerciseRunner.controller.runningInfo.error.fetch":"최종 실행 내역을 가져오는데 문제가 발생하였습니다.","exerciseRunner.controller.runningInfo.lastRunningDatetime":"최종 실행 시간","exerciseRunner.controller.runningInfo.lastSubmitDatetime":"최종 제출 시간","exerciseRunner.controller.runningInfo.lastSubmitScore":"최종 제출 점수","exerciseRunner.controller.runningInfo.score":"{score} 점","exerciseRunner.controller.statusMessage.closed":"에디터 연결 끊김","exerciseRunner.controller.statusMessage.connecting":"에디터 연결 중...","exerciseRunner.controller.statusMessage.open":"에디터 연결됨","exerciseRunner.controller.timer.runningRemainingTime":"실행 제한시간: {remainingTime}","exerciseRunner.controller.tooltip.closed":"현재 코드 서버와 네트워크 연결 상태가 불안정하여 편집 내용이 반영되지 않습니다.\n네트워크 상태를 확인하여 코드 작성을 진행해주세요.","exerciseRunner.submitErrorDialog.action.confirm":"확인","exerciseRunner.submitErrorDialog.action.reload":"새로고침","exerciseRunner.submitErrorDialog.body.commonError":"코드 실행 중 오류가 발생했습니다.\n새로고침 후 다시 시도해주세요.","exerciseRunner.submitErrorDialog.body.exceedSubmitGradeLimit":"실습 제출 허용 횟수를 초과했습니다.","exerciseRunner.submitErrorDialog.body.expiredExerciseImage":"실습환경이 업데이트 되었습니다.\n새로고침 후 다시 시도해주세요.","exerciseRunner.submitErrorDialog.body.networkError":"코드 실행 중 오류가 발생했습니다.\n새로고침 후 다시 시도해주세요.\n문제가 계속되면 네트워크 상태를 확인해주세요.","exerciseRunner.submitErrorDialog.body.notForSubmitGrade":"제출이 허용되지 않은 실습입니다.","exerciseRunner.submitErrorDialog.body.notPreparedRoom":"실습환경이 준비 중입니다.\n잠시 후 다시 시도해주세요.","exerciseRunner.submitErrorDialog.body.roomIsBusy":"실습을 실행하고 있습니다.\n잠시만 기다려 주세요.","exerciseRunner.submitErrorDialog.body.unknown":"코드 실행 중 오류가 발생했습니다.\n잠시 후 다시 시도해주세요.","exerciseRunner.submitErrorDialog.title":"실습을 실행할 수 없습니다"};
2
2
 
3
3
  export { messageKo as default };
@@ -1,3 +1,3 @@
1
- var th = {"exerciseRunner.controller.arduino.connectionStatus.connected":"เชื่อมต่อกับ Arduino แล้ว","exerciseRunner.controller.arduino.connectionStatus.connectedDevice":"เชื่อมต่อกับ {device}","exerciseRunner.controller.arduino.connectionStatus.connecting":"กำลังเชื่อมต่อกับ Arduino Agent","exerciseRunner.controller.arduino.connectionStatus.disconnected":"ตัดการเชื่อมต่อกับ Arduino Agent","exerciseRunner.controller.arduino.connectionStatus.noDevice":"ไม่พบอุปกรณ์ที่เชื่อมต่อ","exerciseRunner.controller.arduino.connectionStatus.reconnecting":"กำลังเชื่อมต่อกับ Arduino Agent ใหม่","exerciseRunner.controller.arduino.connectionStatus.uploading":"กำลังอัปโหลด...","exerciseRunner.controller.arduino.agent.title":"เชื่อมต่อ Agent","exerciseRunner.controller.arduino.agent.instruction.install":"1. ติดตั้ง Arduino Agent","exerciseRunner.controller.arduino.agent.instruction.install.detail":"ติดตั้งโปรแกรม 'elice-arduino-agent' เพื่อเชื่อมต่อกับ Arduino ค่ะ.","exerciseRunner.controller.arduino.agent.instruction.install.window":"ดาวน์โหลดสำหรับ Windows","exerciseRunner.controller.arduino.agent.instruction.install.mac":"ดาวน์โหลดสำหรับ MacOS","exerciseRunner.controller.arduino.agent.instruction.connect":"2. เชื่อมต่อกับ Arduino","exerciseRunner.controller.arduino.agent.instruction.connect.detail":"หลังจากการดาวน์โหลดเสร็จสิ้นแล้ว ควรเชื่อมต่อกับสภาพแวดล้อมการฝึกหัด หากไม่สามารถเชื่อมต่อได้ โปรดทำตามคู่มือ\nคลิกที่ปุ่มด้านล่างเพื่ออ่านคู่มือ","exerciseRunner.controller.arduino.agent.instruction.connect.button":"ไปที่คู่มือ","exerciseRunner.controller.arduino.agent.instruction.close":"ปิด","exerciseRunner.controller.buttonGroup.button.compile":"คอมไพล์","exerciseRunner.controller.buttonGroup.button.helpRequest":"ถามเกี่ยวกับโค้ดที่ลาก","exerciseRunner.controller.buttonGroup.button.run":"เรียกใช้งาน","exerciseRunner.controller.buttonGroup.button.stop":"หยุด","exerciseRunner.controller.buttonGroup.button.submit":"ส่ง","exerciseRunner.controller.buttonGroup.button.submit.tooltip.noSubmit":"การฝึกอบรมนี้รองรับเฉพาะการรันเท่านั้น","exerciseRunner.controller.buttonGroup.button.syncRequest":"ซิงค์โค้ด","exerciseRunner.controller.buttonGroup.button.tooltip.aiHelp":"ถามคำถามได้เลยค่ะ","exerciseRunner.controller.runningInfo.error.fetch":"เกิดข้อผิดพลาดขณะดึงข้อมูลการทำงานใหม่","exerciseRunner.controller.runningInfo.lastRunningDatetime":"วันที่และเวลาที่ทำการเรียกใช้ครั้งล่าสุด","exerciseRunner.controller.runningInfo.lastSubmitDatetime":"เวลาส่งครั้งล่าสุด","exerciseRunner.controller.runningInfo.lastSubmitScore":"คะแนนส่งครั้งล่าสุด","exerciseRunner.controller.runningInfo.score":"{score} คะแนน","exerciseRunner.controller.statusMessage.closed":"การเชื่อมต่อกับ Editor ถูกยกเลิก","exerciseRunner.controller.statusMessage.connecting":"กำลังเชื่อมต่อกับ Editor...","exerciseRunner.controller.statusMessage.open":"เชื่อมต่อกับ Editor สำเร็จ","exerciseRunner.controller.tooltip.closed":"ขณะนี้การเชื่อมต่อกับเซิร์ฟเวอร์โค้ดไม่เสถียร การแก้ไขของคุณอาจไม่ถูกบันทึก\nกรุณาตรวจสอบเครือข่ายของคุณก่อนดำเนินการต่อ","exerciseRunner.controller.timer.runningRemainingTime":"เวลาที่เหลืออยู่: {remainingTime}","exerciseRunner.submitErrorDialog.action.confirm":"ยืนยัน","exerciseRunner.submitErrorDialog.action.reload":"โหลดหน้าใหม่","exerciseRunner.submitErrorDialog.body.commonError":"เกิดข้อผิดพลาดขณะรันโค้ด\nโปรดรีเฟรชและลองอีกครั้ง","exerciseRunner.submitErrorDialog.body.exceedSubmitGradeLimit":"คุณส่งเกินจำนวนที่กำหนด","exerciseRunner.submitErrorDialog.body.expiredExerciseImage":"สภาพแวดล้อมการฝึกอบรมหมดอายุ กรุณารีเฟรชและลองอีกครั้ง","exerciseRunner.submitErrorDialog.body.networkError":"เกิดข้อผิดพลาดขณะรันโค้ด กรุณารีเฟรชและลองอีกครั้ง\nหากยังมีปัญหา กรุณาตรวจสอบสภาพการเชื่อมต่ออินเทอร์เน็ต","exerciseRunner.submitErrorDialog.body.notForSubmitGrade":"การส่งผลงานสำหรับการฝึกอบรมนี้ไม่ถูกต้อง","exerciseRunner.submitErrorDialog.body.notPreparedRoom":"สภาพแวดล้อมการฝึกอบรมกำลังถูกตั้งค่า กรุณารอสักครู่และลองอีกครั้ง","exerciseRunner.submitErrorDialog.body.roomIsBusy":"มีการรันโค้ดอยู่ในขณะนี้ กรุณารอจนกว่าจะเสร็จสิ้น","exerciseRunner.submitErrorDialog.body.unknown":"เกิดข้อผิดพลาดขณะรันโค้ด กรุณารอสักครู่และลองอีกครั้ง","exerciseRunner.submitErrorDialog.title":"ไม่สามารถรันโค้ดได้"};
1
+ var th = {"exerciseRunner.arduino.connectGuide.body":"เพื่อความปลอดภัย เบราว์เซอร์จะแสดงหน้าต่างเลือกบอร์ดให้โดยตรง โปรดมองหาหน้าต่างเล็กๆ ใต้แถบที่อยู่บริเวณซ้ายบนของหน้าจอ แล้วเลือกบอร์ด Arduino ของคุณ","exerciseRunner.arduino.connectGuide.footer":"ถ้ามองไม่เห็นหน้าต่าง ลองตรวจสอบไอคอนกุญแจข้างแถบที่อยู่","exerciseRunner.arduino.connectGuide.preview.cancel":"ยกเลิก","exerciseRunner.arduino.connectGuide.preview.connect":"เชื่อมต่อ","exerciseRunner.arduino.connectGuide.preview.host":"{host} ต้องการเชื่อมต่อกับพอร์ตอนุกรม","exerciseRunner.arduino.connectGuide.preview.label":"หน้าต่างจะมีลักษณะแบบนี้","exerciseRunner.arduino.connectGuide.steps.1":"คลิกที่รายการที่มีชื่อขึ้นต้นด้วย {usbmodem} หรือ {usbserial}","exerciseRunner.arduino.connectGuide.steps.2":"กดปุ่ม {connect} ที่มุมขวาล่างเพื่อเชื่อมต่อ","exerciseRunner.arduino.connectGuide.steps.3":"ถ้าเผลอกด {cancel} ก็สามารถลองใหม่ได้","exerciseRunner.arduino.connectGuide.title.connect":"เลือกบอร์ดในเบราว์เซอร์","exerciseRunner.arduino.connectGuide.title.upload":"เชื่อมต่อบอร์ดก่อน","exerciseRunner.arduino.connectGuide.upload.note":"การอัปโหลดต้องใช้การเชื่อมต่อบอร์ด เมื่อเชื่อมต่อเสร็จ การอัปโหลดจะเริ่มทันที","exerciseRunner.arduino.error.close":"ปิด","exerciseRunner.arduino.error.title":"เกิดข้อผิดพลาดในการเชื่อมต่อ Arduino","exerciseRunner.arduino.help.button":"วิธีใช้","exerciseRunner.arduino.help.checklist.1.body":"เชื่อมต่อบอร์ดกับคอมพิวเตอร์ด้วยสาย USB จากนั้นคลิกปุ่ม [เชื่อมต่อ] ที่อยู่ข้างเมนู","exerciseRunner.arduino.help.checklist.1.title":"เชื่อมต่อบอร์ด Arduino กับคอมพิวเตอร์","exerciseRunner.arduino.help.checklist.2.body":"ปุ่มตรวจสอบจะตรวจหาปัญหาในโค้ดก่อนที่จะส่ง","exerciseRunner.arduino.help.checklist.2.title":"เขียนโค้ดและกด [ตรวจสอบ]","exerciseRunner.arduino.help.checklist.3.body":"โปรแกรมของคุณจะถูกส่งไปยังบอร์ด Arduino ดูผลลัพธ์ในหน้าต่างซีเรียลด้านล่าง","exerciseRunner.arduino.help.checklist.3.title":"กด [อัปโหลด] เพื่อส่งไปยังบอร์ด","exerciseRunner.arduino.help.checklist.4.body":"การส่งจะตรวจให้คะแนนโค้ดของคุณโดยอัตโนมัติและแสดงคะแนน","exerciseRunner.arduino.help.checklist.4.title":"ถ้าใช้ได้ดี กด [ส่ง]!","exerciseRunner.arduino.help.close":"ปิด","exerciseRunner.arduino.help.dontShowAgain":"ไม่ต้องแสดงอีก","exerciseRunner.arduino.help.greeting":"เขียนโค้ดที่นี่เพื่อทำให้บอร์ด Arduino จริงทำงาน ทำตามขั้นตอนด้านล่างตามลำดับ","exerciseRunner.arduino.help.manual.detail":"ดูคู่มืออย่างเป็นทางการสำหรับรายละเอียดการใช้งาน","exerciseRunner.arduino.help.manual.title":"ต้องการคู่มือการใช้งาน?","exerciseRunner.arduino.help.title":"🤖 ยินดีต้อนรับสู่ห้องแล็บ Arduino!","exerciseRunner.arduino.terminal.board.notConnected":"/* Arduino ไม่ได้เชื่อมต่อ กรุณาเชื่อมต่อแล้วลองใหม่ */\n","exerciseRunner.arduino.terminal.compile.done":"/* คอมไพล์เสร็จสมบูรณ์ */\n","exerciseRunner.arduino.terminal.firmware.readFail":"/* อ่านไฟล์เฟิร์มแวร์ไม่สำเร็จ */\n","exerciseRunner.arduino.terminal.session.connected":"/* [เชื่อมต่อแล้ว] {device} */\n","exerciseRunner.arduino.terminal.session.disconnected":"/* [ตัดการเชื่อมต่อ] */\n","exerciseRunner.arduino.terminal.session.reconnected":"/* [เชื่อมต่อใหม่] {device} */\n","exerciseRunner.arduino.terminal.upload.done":"/* อัปโหลดเสร็จสมบูรณ์ */\n","exerciseRunner.arduino.terminal.upload.error":"/* เกิดข้อผิดพลาด: {error} */\n","exerciseRunner.arduino.terminal.upload.errorUnknown":"ไม่ทราบ","exerciseRunner.arduino.terminal.upload.progress":"/* กำลังอัปโหลด... ({percent}%) */\r","exerciseRunner.arduino.terminal.upload.start":"/* เริ่มอัปโหลด */\n","exerciseRunner.arduino.terminal.upload.verifying":"/* กำลังตรวจสอบ... */\n","exerciseRunner.controller.arduino.boardStatus.connected":"{device} เชื่อมต่อแล้ว","exerciseRunner.controller.arduino.boardStatus.connectedNoName":"เชื่อมต่อบอร์ดแล้ว","exerciseRunner.controller.arduino.boardStatus.disconnected":"ตัดการเชื่อมต่อ","exerciseRunner.controller.arduino.boardStatus.idle":"ไม่ได้เชื่อมต่อบอร์ด Arduino","exerciseRunner.controller.arduino.boardStatus.reconnecting":"กำลังเชื่อมต่อใหม่","exerciseRunner.controller.arduino.button.compile":"คอมไพล์","exerciseRunner.controller.arduino.button.connect":"เชื่อมต่อ","exerciseRunner.controller.arduino.button.disconnect":"ตัดการเชื่อมต่อ","exerciseRunner.controller.arduino.button.upload":"อัปโหลด","exerciseRunner.controller.arduino.button.verify":"ตรวจสอบ","exerciseRunner.controller.buttonGroup.button.helpRequest":"ถามเกี่ยวกับโค้ดที่ลาก","exerciseRunner.controller.buttonGroup.button.run":"เรียกใช้งาน","exerciseRunner.controller.buttonGroup.button.stop":"หยุด","exerciseRunner.controller.buttonGroup.button.submit":"ส่ง","exerciseRunner.controller.buttonGroup.button.submit.tooltip.noSubmit":"การฝึกอบรมนี้รองรับเฉพาะการรันเท่านั้น","exerciseRunner.controller.buttonGroup.button.syncRequest":"ซิงค์โค้ด","exerciseRunner.controller.runningInfo.error.fetch":"เกิดข้อผิดพลาดขณะดึงข้อมูลการทำงานใหม่","exerciseRunner.controller.runningInfo.lastRunningDatetime":"วันที่และเวลาที่ทำการเรียกใช้ครั้งล่าสุด","exerciseRunner.controller.runningInfo.lastSubmitDatetime":"เวลาส่งครั้งล่าสุด","exerciseRunner.controller.runningInfo.lastSubmitScore":"คะแนนส่งครั้งล่าสุด","exerciseRunner.controller.runningInfo.score":"{score} คะแนน","exerciseRunner.controller.statusMessage.closed":"การเชื่อมต่อกับ Editor ถูกยกเลิก","exerciseRunner.controller.statusMessage.connecting":"กำลังเชื่อมต่อกับ Editor...","exerciseRunner.controller.statusMessage.open":"เชื่อมต่อกับ Editor สำเร็จ","exerciseRunner.controller.timer.runningRemainingTime":"เวลาที่เหลืออยู่: {remainingTime}","exerciseRunner.controller.tooltip.closed":"ขณะนี้การเชื่อมต่อกับเซิร์ฟเวอร์โค้ดไม่เสถียร การแก้ไขของคุณอาจไม่ถูกบันทึก\nกรุณาตรวจสอบเครือข่ายของคุณก่อนดำเนินการต่อ","exerciseRunner.submitErrorDialog.action.confirm":"ยืนยัน","exerciseRunner.submitErrorDialog.action.reload":"โหลดหน้าใหม่","exerciseRunner.submitErrorDialog.body.commonError":"เกิดข้อผิดพลาดขณะรันโค้ด\nโปรดรีเฟรชและลองอีกครั้ง","exerciseRunner.submitErrorDialog.body.exceedSubmitGradeLimit":"คุณส่งเกินจำนวนที่กำหนด","exerciseRunner.submitErrorDialog.body.expiredExerciseImage":"สภาพแวดล้อมการฝึกอบรมหมดอายุ กรุณารีเฟรชและลองอีกครั้ง","exerciseRunner.submitErrorDialog.body.networkError":"เกิดข้อผิดพลาดขณะรันโค้ด กรุณารีเฟรชและลองอีกครั้ง\nหากยังมีปัญหา กรุณาตรวจสอบสภาพการเชื่อมต่ออินเทอร์เน็ต","exerciseRunner.submitErrorDialog.body.notForSubmitGrade":"การส่งผลงานสำหรับการฝึกอบรมนี้ไม่ถูกต้อง","exerciseRunner.submitErrorDialog.body.notPreparedRoom":"สภาพแวดล้อมการฝึกอบรมกำลังถูกตั้งค่า กรุณารอสักครู่และลองอีกครั้ง","exerciseRunner.submitErrorDialog.body.roomIsBusy":"มีการรันโค้ดอยู่ในขณะนี้ กรุณารอจนกว่าจะเสร็จสิ้น","exerciseRunner.submitErrorDialog.body.unknown":"เกิดข้อผิดพลาดขณะรันโค้ด กรุณารอสักครู่และลองอีกครั้ง","exerciseRunner.submitErrorDialog.title":"ไม่สามารถรันโค้ดได้"};
2
2
 
3
3
  export { th as default };
@@ -1,6 +1,18 @@
1
+ import _styled from '@emotion/styled/base';
1
2
  import { jsx } from 'react/jsx-runtime';
2
- import { StyledVersionList } from './ExerciseVersionList.styled.js';
3
+ import { List } from '@elice/blocks';
3
4
 
5
+ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
6
+ var StyledVersionList = /*#__PURE__*/_styled(List, {
7
+ target: "e1plvajs0"
8
+ })("production" === "production" ? {
9
+ name: "1uke1dw",
10
+ styles: "height:100%;padding:0;overflow:scroll;background-color:transparent;&>last-of-type{border:none;}"
11
+ } : {
12
+ name: "1uke1dw",
13
+ styles: "height:100%;padding:0;overflow:scroll;background-color:transparent;&>last-of-type{border:none;}",
14
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
15
+ });
4
16
  var ExerciseVersionList = function ExerciseVersionList(_ref) {
5
17
  var children = _ref.children;
6
18
  return jsx(StyledVersionList, {
@@ -1,5 +1,6 @@
1
1
  import type React from 'react';
2
2
  interface ExerciseVersionListItemProps {
3
+ children?: React.ReactNode;
3
4
  selected?: boolean;
4
5
  style?: React.CSSProperties;
5
6
  onClick?: () => void;
@@ -1,10 +1,71 @@
1
+ import _styled from '@emotion/styled/base';
1
2
  import { __rest } from 'tslib';
2
3
  import { jsxs, jsx } from 'react/jsx-runtime';
3
4
  import React from 'react';
5
+ import { Text, IconButton } from '@elice/blocks';
6
+ import { base } from '@elice/design-tokens';
4
7
  import { eilMathsignMultiplyBasic } from '@elice/icons';
5
- import { StyledTab, StyledTabContent, StyledTabActiveBorder, StyledTabLabel, StyledTabCloseButton, StyledTabLabelFilename, StyledTabLabelDirname } from './FileTab.styled.js';
8
+ import { css } from '@emotion/react';
6
9
  import FileIcon from '../file-icon/FileIcon.js';
7
10
 
11
+ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
12
+ var TAB_MIN_WIDTH = '7rem';
13
+ var TAB_VERTICAL_BORDER_WIDTH = '1.5px';
14
+ var TAB_BACKGROUND_COLOR = base.color.navy8;
15
+ var TAB_ACTIVE_BACKGROUND_COLOR = base.color.navy9;
16
+ var TAB_HOVERED_BACKGROUND_COLOR = base.color.navy7;
17
+ // ========== Tab label ==========
18
+ var StyledTabLabel = /*#__PURE__*/_styled("div", {
19
+ target: "eb5vmnz6"
20
+ })("production" === "production" ? {
21
+ name: "1v2fhdm",
22
+ styles: "flex:1;display:flex;align-items:center;overflow:hidden;pointer-events:none;user-select:none;&>*{margin-right:0.5rem;}"
23
+ } : {
24
+ name: "1v2fhdm",
25
+ styles: "flex:1;display:flex;align-items:center;overflow:hidden;pointer-events:none;user-select:none;&>*{margin-right:0.5rem;}",
26
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
27
+ });
28
+ var StyledTabLabelFilename = /*#__PURE__*/_styled(Text, {
29
+ target: "eb5vmnz5"
30
+ })("color:", base.color.gray4, ";font-weight:500;");
31
+ var StyledTabLabelDirname = /*#__PURE__*/_styled(Text, {
32
+ target: "eb5vmnz4"
33
+ })("production" === "production" ? {
34
+ name: "f3vz0n",
35
+ styles: "font-weight:500"
36
+ } : {
37
+ name: "f3vz0n",
38
+ styles: "font-weight:500",
39
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
40
+ });
41
+ var StyledTabCloseButton = /*#__PURE__*/_styled(IconButton, {
42
+ target: "eb5vmnz3"
43
+ })("production" === "production" ? {
44
+ name: "19zzndm",
45
+ styles: "flex:0 0 auto;margin-right:0.25rem!important;opacity:0;transition:opacity 150ms ease-in-out"
46
+ } : {
47
+ name: "19zzndm",
48
+ styles: "flex:0 0 auto;margin-right:0.25rem!important;opacity:0;transition:opacity 150ms ease-in-out",
49
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
50
+ });
51
+ // ========== Tab content ==========
52
+ var StyledTabContent = /*#__PURE__*/_styled("div", {
53
+ target: "eb5vmnz2"
54
+ })("display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding-left:0.5rem;height:calc(100% - ", TAB_VERTICAL_BORDER_WIDTH, ");&:hover{", StyledTabLabelFilename, "{color:", base.color.gray3, ";}", StyledTabCloseButton, "{opacity:1;}}");
55
+ // ========== Tab active border ==========
56
+ var StyledTabActiveBorder = /*#__PURE__*/_styled("div", {
57
+ target: "eb5vmnz1"
58
+ })("height:", TAB_VERTICAL_BORDER_WIDTH, ";background-color:", base.color.primary5, ";opacity:0;");
59
+ // ========== Tab ==========
60
+ var cssTabActive = /*#__PURE__*/css("background-color:", TAB_ACTIVE_BACKGROUND_COLOR, ";", StyledTabLabelFilename, "{color:", base.color.gray3, ";}", StyledTabCloseButton, "{opacity:1;}", StyledTabActiveBorder, "{opacity:1;}");
61
+ var cssTabHovered = /*#__PURE__*/css("background-color:", TAB_HOVERED_BACKGROUND_COLOR, ";", StyledTabLabelFilename, "{color:", base.color.gray3, ";}");
62
+ var StyledTab = /*#__PURE__*/_styled("div", {
63
+ target: "eb5vmnz0"
64
+ })("padding-top:", TAB_VERTICAL_BORDER_WIDTH, ";width:", TAB_MIN_WIDTH, ";min-width:fit-content;height:100%;background-color:", TAB_BACKGROUND_COLOR, ";border-right:1px solid ", base.color.navy7, ";cursor:pointer;", function (props) {
65
+ return props.active && cssTabActive;
66
+ }, " ", function (props) {
67
+ return props.hovered && cssTabHovered;
68
+ }, ";");
8
69
  var EMPTY_CHUNKS = [];
9
70
  var FileTab = function FileTab(_a) {
10
71
  var fullname = _a.fullname,