@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
@@ -2,6 +2,6 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- 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":"コードを実行できません。"};
5
+ 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":"コードを実行できません。"};
6
6
 
7
7
  exports.default = ja;
@@ -2,6 +2,6 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- 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":"실습을 실행할 수 없습니다"};
5
+ 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":"실습을 실행할 수 없습니다"};
6
6
 
7
7
  exports.default = messageKo;
@@ -2,6 +2,6 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- 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":"ไม่สามารถรันโค้ดได้"};
5
+ 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":"ไม่สามารถรันโค้ดได้"};
6
6
 
7
7
  exports.default = th;
@@ -2,12 +2,28 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ var _styled = require('@emotion/styled/base');
5
6
  var jsxRuntime = require('react/jsx-runtime');
6
- var ExerciseVersionList_styled = require('./ExerciseVersionList.styled.js');
7
+ var blocks = require('@elice/blocks');
7
8
 
9
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
10
+
11
+ var _styled__default = /*#__PURE__*/_interopDefaultCompat(_styled);
12
+
13
+ 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)."; }
14
+ var StyledVersionList = /*#__PURE__*/_styled__default.default(blocks.List, {
15
+ target: "e1plvajs0"
16
+ })("production" === "production" ? {
17
+ name: "1uke1dw",
18
+ styles: "height:100%;padding:0;overflow:scroll;background-color:transparent;&>last-of-type{border:none;}"
19
+ } : {
20
+ name: "1uke1dw",
21
+ styles: "height:100%;padding:0;overflow:scroll;background-color:transparent;&>last-of-type{border:none;}",
22
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
23
+ });
8
24
  var ExerciseVersionList = function ExerciseVersionList(_ref) {
9
25
  var children = _ref.children;
10
- return jsxRuntime.jsx(ExerciseVersionList_styled.StyledVersionList, {
26
+ return jsxRuntime.jsx(StyledVersionList, {
11
27
  children: children
12
28
  });
13
29
  };
@@ -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;
@@ -2,17 +2,79 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ var _styled = require('@emotion/styled/base');
5
6
  var tslib = require('tslib');
6
7
  var jsxRuntime = require('react/jsx-runtime');
7
8
  var React = require('react');
9
+ var blocks = require('@elice/blocks');
10
+ var designTokens = require('@elice/design-tokens');
8
11
  var icons = require('@elice/icons');
9
- var FileTab_styled = require('./FileTab.styled.js');
12
+ var react = require('@emotion/react');
10
13
  var FileIcon = require('../file-icon/FileIcon.js');
11
14
 
12
15
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
13
16
 
17
+ var _styled__default = /*#__PURE__*/_interopDefaultCompat(_styled);
14
18
  var React__default = /*#__PURE__*/_interopDefaultCompat(React);
15
19
 
20
+ 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)."; }
21
+ var TAB_MIN_WIDTH = '7rem';
22
+ var TAB_VERTICAL_BORDER_WIDTH = '1.5px';
23
+ var TAB_BACKGROUND_COLOR = designTokens.base.color.navy8;
24
+ var TAB_ACTIVE_BACKGROUND_COLOR = designTokens.base.color.navy9;
25
+ var TAB_HOVERED_BACKGROUND_COLOR = designTokens.base.color.navy7;
26
+ // ========== Tab label ==========
27
+ var StyledTabLabel = /*#__PURE__*/_styled__default.default("div", {
28
+ target: "eb5vmnz6"
29
+ })("production" === "production" ? {
30
+ name: "1v2fhdm",
31
+ styles: "flex:1;display:flex;align-items:center;overflow:hidden;pointer-events:none;user-select:none;&>*{margin-right:0.5rem;}"
32
+ } : {
33
+ name: "1v2fhdm",
34
+ styles: "flex:1;display:flex;align-items:center;overflow:hidden;pointer-events:none;user-select:none;&>*{margin-right:0.5rem;}",
35
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
36
+ });
37
+ var StyledTabLabelFilename = /*#__PURE__*/_styled__default.default(blocks.Text, {
38
+ target: "eb5vmnz5"
39
+ })("color:", designTokens.base.color.gray4, ";font-weight:500;");
40
+ var StyledTabLabelDirname = /*#__PURE__*/_styled__default.default(blocks.Text, {
41
+ target: "eb5vmnz4"
42
+ })("production" === "production" ? {
43
+ name: "f3vz0n",
44
+ styles: "font-weight:500"
45
+ } : {
46
+ name: "f3vz0n",
47
+ styles: "font-weight:500",
48
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
49
+ });
50
+ var StyledTabCloseButton = /*#__PURE__*/_styled__default.default(blocks.IconButton, {
51
+ target: "eb5vmnz3"
52
+ })("production" === "production" ? {
53
+ name: "19zzndm",
54
+ styles: "flex:0 0 auto;margin-right:0.25rem!important;opacity:0;transition:opacity 150ms ease-in-out"
55
+ } : {
56
+ name: "19zzndm",
57
+ styles: "flex:0 0 auto;margin-right:0.25rem!important;opacity:0;transition:opacity 150ms ease-in-out",
58
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
59
+ });
60
+ // ========== Tab content ==========
61
+ var StyledTabContent = /*#__PURE__*/_styled__default.default("div", {
62
+ target: "eb5vmnz2"
63
+ })("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:", designTokens.base.color.gray3, ";}", StyledTabCloseButton, "{opacity:1;}}");
64
+ // ========== Tab active border ==========
65
+ var StyledTabActiveBorder = /*#__PURE__*/_styled__default.default("div", {
66
+ target: "eb5vmnz1"
67
+ })("height:", TAB_VERTICAL_BORDER_WIDTH, ";background-color:", designTokens.base.color.primary5, ";opacity:0;");
68
+ // ========== Tab ==========
69
+ var cssTabActive = /*#__PURE__*/react.css("background-color:", TAB_ACTIVE_BACKGROUND_COLOR, ";", StyledTabLabelFilename, "{color:", designTokens.base.color.gray3, ";}", StyledTabCloseButton, "{opacity:1;}", StyledTabActiveBorder, "{opacity:1;}");
70
+ var cssTabHovered = /*#__PURE__*/react.css("background-color:", TAB_HOVERED_BACKGROUND_COLOR, ";", StyledTabLabelFilename, "{color:", designTokens.base.color.gray3, ";}");
71
+ var StyledTab = /*#__PURE__*/_styled__default.default("div", {
72
+ target: "eb5vmnz0"
73
+ })("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 ", designTokens.base.color.navy7, ";cursor:pointer;", function (props) {
74
+ return props.active && cssTabActive;
75
+ }, " ", function (props) {
76
+ return props.hovered && cssTabHovered;
77
+ }, ";");
16
78
  var EMPTY_CHUNKS = [];
17
79
  var FileTab = function FileTab(_a) {
18
80
  var fullname = _a.fullname,
@@ -53,7 +115,7 @@ var FileTab = function FileTab(_a) {
53
115
  * File name
54
116
  */
55
117
  var renderTabFileName = function renderTabFileName() {
56
- return jsxRuntime.jsx(FileTab_styled.StyledTabLabelFilename, {
118
+ return jsxRuntime.jsx(StyledTabLabelFilename, {
57
119
  noWrap: true,
58
120
  size: "tiny",
59
121
  children: filename
@@ -67,7 +129,7 @@ var FileTab = function FileTab(_a) {
67
129
  return null;
68
130
  }
69
131
  var parentDir = chunks.slice().pop();
70
- return jsxRuntime.jsx(FileTab_styled.StyledTabLabelDirname, {
132
+ return jsxRuntime.jsx(StyledTabLabelDirname, {
71
133
  noWrap: true,
72
134
  role: "gray5",
73
135
  size: "tiny",
@@ -78,7 +140,7 @@ var FileTab = function FileTab(_a) {
78
140
  * File
79
141
  */
80
142
  var renderTabFile = function renderTabFile() {
81
- return jsxRuntime.jsxs(FileTab_styled.StyledTabLabel, {
143
+ return jsxRuntime.jsxs(StyledTabLabel, {
82
144
  children: [renderTabFileIcon(), renderTabFileName(), renderTabFileDirName()]
83
145
  });
84
146
  };
@@ -86,7 +148,7 @@ var FileTab = function FileTab(_a) {
86
148
  * Tab close icon
87
149
  */
88
150
  var renderTabCloseButton = function renderTabCloseButton() {
89
- return jsxRuntime.jsx(FileTab_styled.StyledTabCloseButton, {
151
+ return jsxRuntime.jsx(StyledTabCloseButton, {
90
152
  transparent: true,
91
153
  icon: icons.eilMathsignMultiplyBasic,
92
154
  role: "gray5",
@@ -103,7 +165,7 @@ var FileTab = function FileTab(_a) {
103
165
  //
104
166
  //
105
167
  //
106
- return jsxRuntime.jsxs(FileTab_styled.StyledTab, Object.assign({}, eventListeners, {
168
+ return jsxRuntime.jsxs(StyledTab, Object.assign({}, eventListeners, {
107
169
  draggable: true,
108
170
  active: active,
109
171
  hovered: hovered,
@@ -113,9 +175,9 @@ var FileTab = function FileTab(_a) {
113
175
  title: "~/".concat(fullname),
114
176
  tabIndex: -1,
115
177
  ref: tabElRef,
116
- children: [jsxRuntime.jsxs(FileTab_styled.StyledTabContent, {
178
+ children: [jsxRuntime.jsxs(StyledTabContent, {
117
179
  children: [renderTabFile(), renderTabCloseButton()]
118
- }), jsxRuntime.jsx(FileTab_styled.StyledTabActiveBorder, {})]
180
+ }), jsxRuntime.jsx(StyledTabActiveBorder, {})]
119
181
  }));
120
182
  };
121
183
 
@@ -3,18 +3,39 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _rollupPluginBabelHelpers = require('../../../_virtual/_rollupPluginBabelHelpers.js');
6
+ var _styled = require('@emotion/styled/base');
6
7
  var jsxRuntime = require('react/jsx-runtime');
7
8
  var React = require('react');
9
+ var designTokens = require('@elice/design-tokens');
8
10
  var throttle = require('lodash/throttle');
11
+ var stylesheets = require('../../../constants/stylesheets.js');
9
12
  var FileTab = require('./FileTab.js');
10
13
  var util = require('./util.js');
11
- var FileTabs_styled = require('./FileTabs.styled.js');
12
14
 
13
15
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
14
16
 
17
+ var _styled__default = /*#__PURE__*/_interopDefaultCompat(_styled);
15
18
  var React__default = /*#__PURE__*/_interopDefaultCompat(React);
16
19
  var throttle__default = /*#__PURE__*/_interopDefaultCompat(throttle);
17
20
 
21
+ 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)."; }
22
+ var StyledTabs = /*#__PURE__*/_styled__default.default("div", {
23
+ target: "ep0ecmj1"
24
+ })("display:flex;align-items:flex-end;box-sizing:border-box;flex-direction:row;height:2.25rem;font-family:inherit;background:", designTokens.base.color.navy8, ";overflow-x:overlay;overflow-y:hidden;scrollbar-width:none;", stylesheets.getMaterialScrollBarCss({
25
+ height: '2px',
26
+ borderRadius: '2px',
27
+ hideable: true
28
+ }), ";");
29
+ var StyledTabsDropZone = /*#__PURE__*/_styled__default.default("div", {
30
+ target: "ep0ecmj0"
31
+ })("production" === "production" ? {
32
+ name: "uysyag",
33
+ styles: "flex:1;height:100%;background-color:transparent"
34
+ } : {
35
+ name: "uysyag",
36
+ styles: "flex:1;height:100%;background-color:transparent",
37
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
38
+ });
18
39
  var FileTabs = function FileTabs(_ref) {
19
40
  var openedTabs = _ref.openedTabs,
20
41
  activeTab = _ref.activeTab,
@@ -106,7 +127,7 @@ var FileTabs = function FileTabs(_ref) {
106
127
  * Tab drop zone.
107
128
  */
108
129
  var renderTabsDropZone = function renderTabsDropZone() {
109
- return jsxRuntime.jsx(FileTabs_styled.StyledTabsDropZone, {
130
+ return jsxRuntime.jsx(StyledTabsDropZone, {
110
131
  onDragOver: getTabDragOverHandler(tabs.length - 1),
111
132
  onDrop: handleTabDrop
112
133
  });
@@ -114,7 +135,7 @@ var FileTabs = function FileTabs(_ref) {
114
135
  //
115
136
  //
116
137
  //
117
- return jsxRuntime.jsxs(FileTabs_styled.StyledTabs, {
138
+ return jsxRuntime.jsxs(StyledTabs, {
118
139
  role: "tablist",
119
140
  children: [renderTabs(), renderTabsDropZone()]
120
141
  });
@@ -3,21 +3,110 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _rollupPluginBabelHelpers = require('../../../_virtual/_rollupPluginBabelHelpers.js');
6
+ var _styled = require('@emotion/styled/base');
6
7
  var jsxRuntime = require('react/jsx-runtime');
7
8
  var React = require('react');
8
9
  var blocks = require('@elice/blocks');
9
10
  var designTokens = require('@elice/design-tokens');
10
11
  var icons = require('@elice/icons');
12
+ var react = require('@emotion/react');
11
13
  var FileTreeListItemContentInput = require('./FileTreeListItemContentInput.js');
12
14
  var FileTreeListItemContentMenu = require('./FileTreeListItemContentMenu.js');
13
- var FileTreeListItemContent_styled = require('./FileTreeListItemContent.styled.js');
14
15
  var FileIcon = require('../file-icon/FileIcon.js');
15
16
  var FileTreeContext = require('./context/FileTreeContext.js');
16
17
 
17
18
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
18
19
 
20
+ var _styled__default = /*#__PURE__*/_interopDefaultCompat(_styled);
19
21
  var React__default = /*#__PURE__*/_interopDefaultCompat(React);
20
22
 
23
+ 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)."; }
24
+ //
25
+ //
26
+ //
27
+ var CONTENT_MIN_HEIGHT = 28; // 1.75rem
28
+ var CONTENT_LEFT_BORDER_WIDTH = 3; // 0.1875rem
29
+ var CONTENT_RIGHT_PADDING = 12; // 0.75rem
30
+ var CONTENT_LABEL_VERTICAL_PADDING = 4; // 0.25rem
31
+ var CONTENT_LABEL_ICON_SIZE = 16; // 1rem
32
+ var CONTENT_LABEL_ICON_AFTER_MARGIN = 4; // 1rem
33
+ var CONTENT_LABEL_DIR_ARROW_PADDING = 4; // 0.25rem
34
+ var CONTENT_LABEL_DIR_ARROW_SIZE = 12; // 0.75rem
35
+ var CONTENT_LABEL_MENU_BUTTON_SIZE = CONTENT_MIN_HEIGHT - CONTENT_LABEL_VERTICAL_PADDING * 2;
36
+ //
37
+ //
38
+ //
39
+ /**
40
+ * indent
41
+ */
42
+ var StyledContentIndents = /*#__PURE__*/_styled__default.default("div", {
43
+ target: "e1mtizjs8"
44
+ })();
45
+ var StyledContentIndentGuide = /*#__PURE__*/_styled__default.default("div", {
46
+ target: "e1mtizjs7"
47
+ })("display:inline-block;height:100%;border-right:0.5px solid ", designTokens.base.color.gray7, ";");
48
+ /**
49
+ * label
50
+ */
51
+ var StyledContentLabel = /*#__PURE__*/_styled__default.default("div", {
52
+ target: "e1mtizjs6"
53
+ })("flex:1;display:flex;align-items:center;padding-top:", CONTENT_LABEL_VERTICAL_PADDING, "px;padding-bottom:", CONTENT_LABEL_VERTICAL_PADDING, "px;overflow:hidden;");
54
+ /**
55
+ * label > dir arrow
56
+ */
57
+ var StyledContentLabelDirArrowWrap = /*#__PURE__*/_styled__default.default("div", {
58
+ target: "e1mtizjs5"
59
+ })("flex:0 0 ", CONTENT_LABEL_DIR_ARROW_SIZE + CONTENT_LABEL_DIR_ARROW_PADDING * 2, "px;display:flex;justify-content:center;align-items:center;padding:", CONTENT_LABEL_DIR_ARROW_PADDING, ";height:", CONTENT_LABEL_DIR_ARROW_SIZE, "px;");
60
+ /**
61
+ * label > icon
62
+ */
63
+ var StyledContentLabelIconWrap = /*#__PURE__*/_styled__default.default("div", {
64
+ target: "e1mtizjs4"
65
+ })("flex:0 0 ", CONTENT_LABEL_ICON_SIZE + CONTENT_LABEL_ICON_AFTER_MARGIN, "px;display:flex;margin-right:", CONTENT_LABEL_ICON_AFTER_MARGIN, "px;height:", CONTENT_LABEL_ICON_SIZE, "px;");
66
+ /**
67
+ * label > filename
68
+ */
69
+ var StyledContentLabelFilename = /*#__PURE__*/_styled__default.default(blocks.Text, {
70
+ target: "e1mtizjs3"
71
+ })("flex:1;margin-right:0.125rem;color:", designTokens.base.color.gray4, ";font-weight:500;");
72
+ /**
73
+ * label > status icon
74
+ */
75
+ var StyledContentLabelStatusIcon = /*#__PURE__*/_styled__default.default(blocks.Icon, {
76
+ target: "e1mtizjs2"
77
+ })("production" === "production" ? {
78
+ name: "129lf1x",
79
+ styles: "margin-left:0.25rem;margin-right:0;&:last-of-type{margin-right:0.25rem;}"
80
+ } : {
81
+ name: "129lf1x",
82
+ styles: "margin-left:0.25rem;margin-right:0;&:last-of-type{margin-right:0.25rem;}",
83
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
84
+ });
85
+ /**
86
+ * label > menu button
87
+ */
88
+ var StyledContentLabelMenuButton = /*#__PURE__*/_styled__default.default(blocks.IconButton, {
89
+ target: "e1mtizjs1"
90
+ })("flex:0 0 ", CONTENT_LABEL_MENU_BUTTON_SIZE, "px;width:", CONTENT_LABEL_MENU_BUTTON_SIZE, "px!important;height:", CONTENT_LABEL_MENU_BUTTON_SIZE, "px!important;opacity:0;transition:opacity 150ms ease-in-out;");
91
+ //
92
+ //
93
+ //
94
+ var cssStyledContentActive = /*#__PURE__*/react.css("border-left-color:", designTokens.base.color.primary4, ";background-color:", designTokens.base.color.navy7, ";", StyledContentLabelFilename, "{color:", designTokens.base.color.gray3, ";}");
95
+ var cssStyledContentDragging = "production" === "production" ? {
96
+ name: "1ym7stk",
97
+ styles: "border-left-color:transparent!important;background-color:transparent!important"
98
+ } : {
99
+ name: "1ym7stk",
100
+ styles: "border-left-color:transparent!important;background-color:transparent!important",
101
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
102
+ };
103
+ var StyledContent = /*#__PURE__*/_styled__default.default("div", {
104
+ target: "e1mtizjs0"
105
+ })("display:flex;padding-right:", CONTENT_RIGHT_PADDING, "px;width:100%;min-width:0;min-height:", CONTENT_MIN_HEIGHT, "px;border-left-width:", CONTENT_LEFT_BORDER_WIDTH, "px;border-left-style:solid;border-left-color:transparent;user-select:none;", function (props) {
106
+ return props.active && cssStyledContentActive;
107
+ }, " ", function (props) {
108
+ return props.isDragging && cssStyledContentDragging;
109
+ }, " &:hover{background-color:", designTokens.base.color.navy8, ";", StyledContentLabelFilename, "{color:", designTokens.base.color.gray3, ";}", StyledContentLabelMenuButton, "{opacity:1;}}");
21
110
  var ITEM_IDENT_WIDTH = 8; // 0.5rem
22
111
  var FileTreeListItemContent = function FileTreeListItemContent(_ref) {
23
112
  var node = _ref.node,
@@ -43,12 +132,12 @@ var FileTreeListItemContent = function FileTreeListItemContent(_ref) {
43
132
  var contentIndents = React__default.default.useMemo(function () {
44
133
  var depth = (node.path.match(/\//g) || []).length;
45
134
  var counts = depth === 0 ? 0 : indent * depth;
46
- return jsxRuntime.jsx(FileTreeListItemContent_styled.StyledContentIndents, {
135
+ return jsxRuntime.jsx(StyledContentIndents, {
47
136
  style: {
48
137
  flex: "0 0 ".concat(ITEM_IDENT_WIDTH * counts, "px")
49
138
  },
50
139
  children: Array(counts).fill(0).map(function (_, index) {
51
- return jsxRuntime.jsx(FileTreeListItemContent_styled.StyledContentIndentGuide, {
140
+ return jsxRuntime.jsx(StyledContentIndentGuide, {
52
141
  style: {
53
142
  width: "".concat(ITEM_IDENT_WIDTH, "px")
54
143
  }
@@ -87,9 +176,9 @@ var FileTreeListItemContent = function FileTreeListItemContent(_ref) {
87
176
  var renderContentDirectoryExpandArrow = function renderContentDirectoryExpandArrow() {
88
177
  // new or directory
89
178
  if (isNewItem || !node.isDirectory) {
90
- return jsxRuntime.jsx(FileTreeListItemContent_styled.StyledContentLabelDirArrowWrap, {});
179
+ return jsxRuntime.jsx(StyledContentLabelDirArrowWrap, {});
91
180
  }
92
- return jsxRuntime.jsx(FileTreeListItemContent_styled.StyledContentLabelDirArrowWrap, {
181
+ return jsxRuntime.jsx(StyledContentLabelDirArrowWrap, {
93
182
  children: jsxRuntime.jsx(blocks.Icon, {
94
183
  icon: icons.eilArrowDownwardsSingle,
95
184
  size: "tiny",
@@ -104,7 +193,7 @@ var FileTreeListItemContent = function FileTreeListItemContent(_ref) {
104
193
  var renderContentIcon = function renderContentIcon() {
105
194
  // new
106
195
  if (isNewItem) {
107
- return jsxRuntime.jsx(FileTreeListItemContent_styled.StyledContentLabelIconWrap, {
196
+ return jsxRuntime.jsx(StyledContentLabelIconWrap, {
108
197
  children: jsxRuntime.jsx(FileIcon.default, {
109
198
  filename: "newfile",
110
199
  directory: (newInput === null || newInput === void 0 ? void 0 : newInput.type) === 'directory',
@@ -115,7 +204,7 @@ var FileTreeListItemContent = function FileTreeListItemContent(_ref) {
115
204
  }
116
205
  // checkbox for file
117
206
  if (mode === 'checkbox' && !node.isDirectory) {
118
- return jsxRuntime.jsx(FileTreeListItemContent_styled.StyledContentLabelIconWrap, {
207
+ return jsxRuntime.jsx(StyledContentLabelIconWrap, {
119
208
  children: jsxRuntime.jsx(blocks.Checkbox, {
120
209
  dark: true,
121
210
  value: node.isInitialOpen,
@@ -128,7 +217,7 @@ var FileTreeListItemContent = function FileTreeListItemContent(_ref) {
128
217
  })
129
218
  });
130
219
  }
131
- return jsxRuntime.jsx(FileTreeListItemContent_styled.StyledContentLabelIconWrap, {
220
+ return jsxRuntime.jsx(StyledContentLabelIconWrap, {
132
221
  children: jsxRuntime.jsx(FileIcon.default, {
133
222
  filename: node.title,
134
223
  directory: node.isDirectory,
@@ -170,7 +259,7 @@ var FileTreeListItemContent = function FileTreeListItemContent(_ref) {
170
259
  })
171
260
  });
172
261
  }
173
- return jsxRuntime.jsx(FileTreeListItemContent_styled.StyledContentLabelFilename, {
262
+ return jsxRuntime.jsx(StyledContentLabelFilename, {
174
263
  block: true,
175
264
  ellipsis: true,
176
265
  size: "tiny",
@@ -187,7 +276,7 @@ var FileTreeListItemContent = function FileTreeListItemContent(_ref) {
187
276
  }
188
277
  // hidden
189
278
  if (node.isHidden) {
190
- return jsxRuntime.jsx(FileTreeListItemContent_styled.StyledContentLabelStatusIcon, {
279
+ return jsxRuntime.jsx(StyledContentLabelStatusIcon, {
191
280
  icon: icons.eilVisibilityOff,
192
281
  color: designTokens.base.color.gray4,
193
282
  size: "small"
@@ -195,7 +284,7 @@ var FileTreeListItemContent = function FileTreeListItemContent(_ref) {
195
284
  }
196
285
  // readonly
197
286
  if (node.isReadonly) {
198
- return jsxRuntime.jsx(FileTreeListItemContent_styled.StyledContentLabelStatusIcon, {
287
+ return jsxRuntime.jsx(StyledContentLabelStatusIcon, {
199
288
  icon: icons.eilLockOn,
200
289
  color: designTokens.base.color.gray4,
201
290
  size: "small"
@@ -212,7 +301,7 @@ var FileTreeListItemContent = function FileTreeListItemContent(_ref) {
212
301
  return null;
213
302
  }
214
303
  return jsxRuntime.jsxs(jsxRuntime.Fragment, {
215
- children: [jsxRuntime.jsx(FileTreeListItemContent_styled.StyledContentLabelMenuButton, {
304
+ children: [jsxRuntime.jsx(StyledContentLabelMenuButton, {
216
305
  transparent: true,
217
306
  icon: icons.eilMoreVertical,
218
307
  size: "tiny",
@@ -234,13 +323,13 @@ var FileTreeListItemContent = function FileTreeListItemContent(_ref) {
234
323
  //
235
324
  //
236
325
  //
237
- return jsxRuntime.jsxs(FileTreeListItemContent_styled.StyledContent, {
326
+ return jsxRuntime.jsxs(StyledContent, {
238
327
  title: "~/".concat(node.path),
239
328
  active: activePath === node.path,
240
329
  isDragging: dropzonePath !== null,
241
330
  onClick: handleClick,
242
331
  onContextMenu: handleContextMenu,
243
- children: [contentIndents, jsxRuntime.jsxs(FileTreeListItemContent_styled.StyledContentLabel, {
332
+ children: [contentIndents, jsxRuntime.jsxs(StyledContentLabel, {
244
333
  children: [renderContentDirectoryExpandArrow(), renderContentIcon(), renderContentFilename(), renderContentStatusIcon(), renderContentMenuButton()]
245
334
  })]
246
335
  });