@elice/material-exercise 1.240718.0-trasncript.2 → 1.240718.2

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 (459) hide show
  1. package/cjs/assets/empty.png.js +2 -1
  2. package/cjs/components/material-exercise/MaterialExercise.d.ts +1 -1
  3. package/cjs/components/material-exercise/MaterialExercise.js +75 -111
  4. package/cjs/components/material-exercise/MaterialExercise.styled.js +14 -18
  5. package/cjs/components/material-exercise/MaterialExerciseMobile.d.ts +1 -1
  6. package/cjs/components/material-exercise/MaterialExerciseMobile.js +7 -17
  7. package/cjs/components/material-exercise/context/ExerciseProvider.js +58 -68
  8. package/cjs/components/material-exercise/context/ExerciseProviderNoImage.js +30 -39
  9. package/cjs/components/material-exercise/context/context.js +1 -5
  10. package/cjs/components/material-exercise/context/recoil.js +293 -542
  11. package/cjs/components/material-exercise/context/subjects.js +4 -4
  12. package/cjs/components/material-exercise/context/types.d.ts +2 -2
  13. package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.js +78 -100
  14. package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.js +8 -12
  15. package/cjs/components/material-exercise/exercise-file/ExerciseFile.js +27 -30
  16. package/cjs/components/material-exercise/exercise-file-editor/ExerciseFileEditor.js +149 -225
  17. package/cjs/components/material-exercise/exercise-file-editor/ExerciseFileReadOnlyBanner.js +13 -20
  18. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabs.js +29 -49
  19. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.d.ts +2 -1
  20. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.js +4 -10
  21. package/cjs/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/ExerciseFileTabsFileTreeButton.js +36 -53
  22. package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTree.js +211 -353
  23. package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.d.ts +2 -1
  24. package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.js +4 -10
  25. package/cjs/components/material-exercise/exercise-file-viewer/ExerciseFileViewer.js +15 -18
  26. package/cjs/components/material-exercise/exercise-menu/ExerciseMenu.js +12 -21
  27. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.js +11 -12
  28. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.js +80 -123
  29. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuDropdown.js +67 -100
  30. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuReset.js +22 -40
  31. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.js +119 -144
  32. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.js +13 -17
  33. package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdown.js +19 -32
  34. package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.d.ts +2 -1
  35. package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.js +4 -10
  36. package/cjs/components/material-exercise/exercise-preview/ExercisePreview.js +24 -31
  37. package/cjs/components/material-exercise/exercise-preview/ExercisePreviewDisplayModeButton.js +6 -13
  38. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpane.js +35 -51
  39. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpaneEditorPerference.js +6 -14
  40. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpaneEnvironment.js +78 -90
  41. package/cjs/components/material-exercise/exercise-room/ExerciseRoom.js +12 -25
  42. package/cjs/components/material-exercise/exercise-room/ExerciseRoom.styled.js +12 -18
  43. package/cjs/components/material-exercise/exercise-room/ExerciseRoomDetail.js +349 -504
  44. package/cjs/components/material-exercise/exercise-room/ExerciseRoomList.js +132 -197
  45. package/cjs/components/material-exercise/exercise-room/helpers/exerciseRoomPermissionStringConvertor.js +2 -2
  46. package/cjs/components/material-exercise/exercise-runner/ExerciseRunner.js +142 -205
  47. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerContext.js +1 -5
  48. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerController.js +16 -25
  49. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.js +86 -118
  50. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.js +19 -33
  51. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js +82 -95
  52. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.js +52 -68
  53. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerRunningInfo.js +87 -136
  54. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusIndicator.js +2 -6
  55. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusMessage.js +15 -21
  56. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerTimer.js +23 -36
  57. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.js +248 -402
  58. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.styled.js +8 -12
  59. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistoryOutput.js +50 -74
  60. package/cjs/components/shared/exercise-menu-button/ExerciseMenuButton.js +23 -32
  61. package/cjs/components/shared/exercise-shimmer/ExerciseFileShimmer.js +38 -44
  62. package/cjs/components/shared/exercise-shimmer/ExerciseFileTabShimmer.js +20 -26
  63. package/cjs/components/shared/exercise-shimmer/ExerciseFileTabsShimmer.js +8 -14
  64. package/cjs/components/shared/exercise-shimmer/ExerciseFileTreeListItemShimmer.js +22 -28
  65. package/cjs/components/shared/exercise-shimmer/ExerciseFileTreeListShimmer.js +9 -24
  66. package/cjs/components/shared/exercise-version-list/ExerciseVersionList.js +5 -6
  67. package/cjs/components/shared/exercise-version-list/ExerciseVersionList.styled.js +1 -5
  68. package/cjs/components/shared/exercise-version-list/ExerciseVersionListItem.js +10 -10
  69. package/cjs/components/shared/exercise-version-list/ExerciseVersionListItem.styled.js +5 -13
  70. package/cjs/components/shared/file-icon/FileIcon.js +16 -23
  71. package/cjs/components/shared/file-tabs/FileTab.js +33 -47
  72. package/cjs/components/shared/file-tabs/FileTab.styled.js +15 -23
  73. package/cjs/components/shared/file-tabs/FileTabs.js +39 -66
  74. package/cjs/components/shared/file-tabs/FileTabs.styled.js +2 -6
  75. package/cjs/components/shared/file-tabs/util.js +14 -27
  76. package/cjs/components/shared/file-tree/FileTree.js +10 -20
  77. package/cjs/components/shared/file-tree/FileTreeConfig.js +40 -46
  78. package/cjs/components/shared/file-tree/FileTreeList.js +40 -43
  79. package/cjs/components/shared/file-tree/FileTreeListItemContent.js +99 -128
  80. package/cjs/components/shared/file-tree/FileTreeListItemContent.styled.js +21 -29
  81. package/cjs/components/shared/file-tree/FileTreeListItemContentInput.js +96 -106
  82. package/cjs/components/shared/file-tree/FileTreeListItemContentInput.styled.js +6 -10
  83. package/cjs/components/shared/file-tree/FileTreeListItemContentMenu.js +91 -133
  84. package/cjs/components/shared/file-tree/FileTreeListItems.js +137 -149
  85. package/cjs/components/shared/file-tree/FileTreeListItems.styled.js +2 -6
  86. package/cjs/components/shared/file-tree/FileTreeToolbar.styled.js +1 -5
  87. package/cjs/components/shared/file-tree/context/FileTreeContext.d.ts +1 -1
  88. package/cjs/components/shared/file-tree/context/FileTreeContext.js +79 -101
  89. package/cjs/components/shared/file-tree/file-tree-toolbar/FileTreeToolbar.js +54 -59
  90. package/cjs/components/shared/file-tree/utils/fileTreeFiles.js +20 -24
  91. package/cjs/components/shared/file-tree/utils/fileTreeGenerator.js +146 -193
  92. package/cjs/components/shared/file-tree/utils/fileTreeInput.js +0 -11
  93. package/cjs/components/shared/file-tree/utils/fileTreeItem.js +1 -1
  94. package/cjs/components/shared/file-tree/utils/fileTreePath.js +6 -5
  95. package/cjs/components/shared/file-viewer/FileViewer.js +46 -76
  96. package/cjs/components/shared/file-viewer/FileViewerCsv.js +167 -262
  97. package/cjs/components/shared/file-viewer/FileViewerImage.js +12 -16
  98. package/cjs/components/shared/file-viewer/FileViewerIpynb.js +11 -27
  99. package/cjs/components/shared/file-viewer/FileViewerNonViewable.js +47 -65
  100. package/cjs/components/shared/file-viewer/FileViewerText.js +11 -23
  101. package/cjs/components/shared/material-modal/MaterialModal.js +11 -20
  102. package/cjs/components/shared/material-modal/MaterialModal.styled.js +5 -9
  103. package/cjs/components/shared/monaco-editor/MonacoEditor.js +74 -102
  104. package/cjs/components/shared/monaco-editor/MonacoEditorLazy.js +7 -15
  105. package/cjs/components/shared/monaco-editor/MonacoEditorMobile.js +34 -49
  106. package/cjs/components/shared/monaco-editor/MonacoEditorPerferenceForm.js +194 -249
  107. package/cjs/components/shared/monaco-editor/constants/grammars/index.js +28 -82
  108. package/cjs/components/shared/monaco-editor/constants/monaco/preferences.js +5 -5
  109. package/cjs/components/shared/monaco-editor/constants/themes/index.js +17 -49
  110. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventChange.js +10 -11
  111. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventCursor.js +14 -15
  112. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventScroll.js +8 -9
  113. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoMarkers.js +30 -34
  114. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoOptions.js +7 -9
  115. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoTheme.js +6 -6
  116. package/cjs/components/shared/monaco-editor/editor-languages/css/formatter.js +10 -33
  117. package/cjs/components/shared/monaco-editor/editor-languages/css/index.js +2 -3
  118. package/cjs/components/shared/monaco-editor/editor-languages/html/formatter.js +10 -33
  119. package/cjs/components/shared/monaco-editor/editor-languages/html/index.js +2 -3
  120. package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/_helper.js +1 -1
  121. package/cjs/components/shared/monaco-editor/editor-languages/typescript/formatter.js +10 -37
  122. package/cjs/components/shared/monaco-editor/editor-languages/typescript/index.js +5 -6
  123. package/cjs/components/shared/monaco-editor/hooks/useEditorOptions.js +5 -11
  124. package/cjs/components/shared/monaco-editor/utils/emmet/abbreviationActions.js +12 -10
  125. package/cjs/components/shared/monaco-editor/utils/emmet/registerProvider.js +6 -12
  126. package/cjs/components/shared/monaco-editor/utils/grammar/index.js +24 -67
  127. package/cjs/components/shared/monaco-editor/utils/grammar/onigasm.js +6 -25
  128. package/cjs/components/shared/monaco-editor/utils/grammar/textmate.js +37 -70
  129. package/cjs/components/shared/monaco-editor/utils/monacoLanguage.js +7 -8
  130. package/cjs/components/shared/monaco-editor/utils/monacoPreference.js +4 -6
  131. package/cjs/components/shared/monaco-editor/utils/prettier/config.js +2 -2
  132. package/cjs/components/shared/monaco-editor/utils/prettier/index.js +7 -27
  133. package/cjs/components/shared/monaco-editor/utils/theme/convert.js +14 -24
  134. package/cjs/components/shared/monaco-editor/utils/theme/index.js +3 -22
  135. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursor.js +56 -77
  136. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorManager.js +68 -82
  137. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorWidget.js +93 -120
  138. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelection.js +132 -155
  139. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelectionManager.js +92 -104
  140. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/styles.js +2 -2
  141. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/configCompat.js +6 -1
  142. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/data.js +2 -2
  143. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/emmetHelper.js +158 -177
  144. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/utils.js +3 -3
  145. package/cjs/components/shared/no-vnc/NoVnc.js +78 -118
  146. package/cjs/components/shared/no-vnc/NoVncLazy.js +7 -15
  147. package/cjs/components/shared/preview-container/PreviewContainer.js +13 -18
  148. package/cjs/components/shared/web-browser/WebBrowser.js +52 -74
  149. package/cjs/components/shared/xterm/Xterm.js +57 -82
  150. package/cjs/components/shared/xterm/XtermLazy.js +7 -15
  151. package/cjs/constants/arduino.js +10 -10
  152. package/cjs/constants/color.js +1 -1
  153. package/cjs/constants/shortcutKeyMap.js +1 -3
  154. package/cjs/constants/stylesheets.js +5 -7
  155. package/cjs/hooks/useArduino.js +141 -282
  156. package/cjs/hooks/useExerciseFile.js +22 -24
  157. package/cjs/hooks/useExericseShortcut.js +4 -6
  158. package/cjs/hooks/useMaterialExerciseFileUrl.js +33 -55
  159. package/cjs/hooks/useRunnerRoomWebSocket.js +27 -51
  160. package/cjs/hooks/useStdioTextConcator.js +11 -15
  161. package/cjs/hooks/useStdioWebSocket.js +28 -32
  162. package/cjs/hooks/useUsercodeEditWebSocket.js +158 -238
  163. package/cjs/hooks/useUsercodeHistory.js +63 -115
  164. package/cjs/utils/arduino.js +11 -23
  165. package/cjs/utils/exerciseFile.js +10 -8
  166. package/cjs/utils/runner.js +17 -33
  167. package/es/assets/empty.png.js +2 -1
  168. package/es/components/material-exercise/MaterialExercise.d.ts +1 -1
  169. package/es/components/material-exercise/MaterialExercise.js +75 -107
  170. package/es/components/material-exercise/MaterialExercise.styled.js +14 -14
  171. package/es/components/material-exercise/MaterialExerciseMobile.d.ts +1 -1
  172. package/es/components/material-exercise/MaterialExerciseMobile.js +7 -13
  173. package/es/components/material-exercise/context/ExerciseProvider.js +58 -63
  174. package/es/components/material-exercise/context/ExerciseProviderNoImage.js +30 -35
  175. package/es/components/material-exercise/context/context.js +1 -1
  176. package/es/components/material-exercise/context/recoil.js +290 -535
  177. package/es/components/material-exercise/context/subjects.js +4 -4
  178. package/es/components/material-exercise/context/types.d.ts +2 -2
  179. package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.js +78 -95
  180. package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.js +8 -8
  181. package/es/components/material-exercise/exercise-file/ExerciseFile.js +27 -25
  182. package/es/components/material-exercise/exercise-file-editor/ExerciseFileEditor.js +149 -221
  183. package/es/components/material-exercise/exercise-file-editor/ExerciseFileReadOnlyBanner.js +13 -15
  184. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabs.js +29 -44
  185. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.d.ts +2 -1
  186. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.js +4 -6
  187. package/es/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/ExerciseFileTabsFileTreeButton.js +36 -48
  188. package/es/components/material-exercise/exercise-file-tree/ExerciseFileTree.js +211 -348
  189. package/es/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.d.ts +2 -1
  190. package/es/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.js +4 -6
  191. package/es/components/material-exercise/exercise-file-viewer/ExerciseFileViewer.js +15 -14
  192. package/es/components/material-exercise/exercise-menu/ExerciseMenu.js +12 -16
  193. package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.js +11 -12
  194. package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.js +80 -119
  195. package/es/components/material-exercise/exercise-menu/ExerciseMenuDropdown.js +67 -96
  196. package/es/components/material-exercise/exercise-menu/ExerciseMenuReset.js +23 -41
  197. package/es/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.js +122 -143
  198. package/es/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.js +13 -13
  199. package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdown.js +19 -28
  200. package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.d.ts +2 -1
  201. package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.js +4 -6
  202. package/es/components/material-exercise/exercise-preview/ExercisePreview.js +24 -26
  203. package/es/components/material-exercise/exercise-preview/ExercisePreviewDisplayModeButton.js +7 -14
  204. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpane.js +35 -47
  205. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpaneEditorPerference.js +6 -10
  206. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpaneEnvironment.js +78 -85
  207. package/es/components/material-exercise/exercise-room/ExerciseRoom.js +12 -21
  208. package/es/components/material-exercise/exercise-room/ExerciseRoom.styled.js +12 -14
  209. package/es/components/material-exercise/exercise-room/ExerciseRoomDetail.js +349 -498
  210. package/es/components/material-exercise/exercise-room/ExerciseRoomList.js +133 -193
  211. package/es/components/material-exercise/exercise-room/helpers/exerciseRoomPermissionStringConvertor.js +2 -2
  212. package/es/components/material-exercise/exercise-runner/ExerciseRunner.js +142 -200
  213. package/es/components/material-exercise/exercise-runner/ExerciseRunnerContext.js +1 -1
  214. package/es/components/material-exercise/exercise-runner/ExerciseRunnerController.js +16 -20
  215. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.js +85 -112
  216. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.js +20 -30
  217. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js +82 -90
  218. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.js +52 -63
  219. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerRunningInfo.js +87 -131
  220. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusIndicator.js +2 -2
  221. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusMessage.js +15 -17
  222. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerTimer.js +23 -31
  223. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.js +250 -399
  224. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.styled.js +8 -8
  225. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistoryOutput.js +49 -68
  226. package/es/components/shared/exercise-menu-button/ExerciseMenuButton.js +24 -29
  227. package/es/components/shared/exercise-shimmer/ExerciseFileShimmer.js +38 -40
  228. package/es/components/shared/exercise-shimmer/ExerciseFileTabShimmer.js +20 -22
  229. package/es/components/shared/exercise-shimmer/ExerciseFileTabsShimmer.js +8 -10
  230. package/es/components/shared/exercise-shimmer/ExerciseFileTreeListItemShimmer.js +22 -24
  231. package/es/components/shared/exercise-shimmer/ExerciseFileTreeListShimmer.js +9 -19
  232. package/es/components/shared/exercise-version-list/ExerciseVersionList.js +5 -6
  233. package/es/components/shared/exercise-version-list/ExerciseVersionList.styled.js +1 -1
  234. package/es/components/shared/exercise-version-list/ExerciseVersionListItem.js +10 -10
  235. package/es/components/shared/exercise-version-list/ExerciseVersionListItem.styled.js +5 -9
  236. package/es/components/shared/file-icon/FileIcon.js +16 -19
  237. package/es/components/shared/file-tabs/FileTab.js +33 -43
  238. package/es/components/shared/file-tabs/FileTab.styled.js +15 -19
  239. package/es/components/shared/file-tabs/FileTabs.js +40 -62
  240. package/es/components/shared/file-tabs/FileTabs.styled.js +2 -2
  241. package/es/components/shared/file-tabs/util.js +14 -27
  242. package/es/components/shared/file-tree/FileTree.js +10 -16
  243. package/es/components/shared/file-tree/FileTreeConfig.js +39 -39
  244. package/es/components/shared/file-tree/FileTreeList.js +40 -38
  245. package/es/components/shared/file-tree/FileTreeListItemContent.js +99 -124
  246. package/es/components/shared/file-tree/FileTreeListItemContent.styled.js +21 -25
  247. package/es/components/shared/file-tree/FileTreeListItemContentInput.js +96 -102
  248. package/es/components/shared/file-tree/FileTreeListItemContentInput.styled.js +6 -6
  249. package/es/components/shared/file-tree/FileTreeListItemContentMenu.js +91 -129
  250. package/es/components/shared/file-tree/FileTreeListItems.js +137 -149
  251. package/es/components/shared/file-tree/FileTreeListItems.styled.js +2 -2
  252. package/es/components/shared/file-tree/FileTreeToolbar.styled.js +1 -1
  253. package/es/components/shared/file-tree/context/FileTreeContext.d.ts +1 -1
  254. package/es/components/shared/file-tree/context/FileTreeContext.js +79 -97
  255. package/es/components/shared/file-tree/file-tree-toolbar/FileTreeToolbar.js +54 -55
  256. package/es/components/shared/file-tree/utils/fileTreeFiles.js +20 -20
  257. package/es/components/shared/file-tree/utils/fileTreeGenerator.js +146 -193
  258. package/es/components/shared/file-tree/utils/fileTreeInput.js +1 -11
  259. package/es/components/shared/file-tree/utils/fileTreeItem.js +1 -1
  260. package/es/components/shared/file-tree/utils/fileTreePath.js +6 -5
  261. package/es/components/shared/file-viewer/FileViewer.js +46 -69
  262. package/es/components/shared/file-viewer/FileViewerCsv.js +167 -257
  263. package/es/components/shared/file-viewer/FileViewerImage.js +12 -12
  264. package/es/components/shared/file-viewer/FileViewerIpynb.js +11 -21
  265. package/es/components/shared/file-viewer/FileViewerNonViewable.js +47 -60
  266. package/es/components/shared/file-viewer/FileViewerText.js +11 -19
  267. package/es/components/shared/material-modal/MaterialModal.js +11 -20
  268. package/es/components/shared/material-modal/MaterialModal.styled.js +5 -5
  269. package/es/components/shared/monaco-editor/MonacoEditor.js +72 -95
  270. package/es/components/shared/monaco-editor/MonacoEditorLazy.js +7 -11
  271. package/es/components/shared/monaco-editor/MonacoEditorMobile.js +32 -43
  272. package/es/components/shared/monaco-editor/MonacoEditorPerferenceForm.js +194 -244
  273. package/es/components/shared/monaco-editor/constants/grammars/index.js +28 -82
  274. package/es/components/shared/monaco-editor/constants/monaco/preferences.js +5 -5
  275. package/es/components/shared/monaco-editor/constants/themes/index.js +17 -49
  276. package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventChange.js +10 -11
  277. package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventCursor.js +14 -15
  278. package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventScroll.js +8 -9
  279. package/es/components/shared/monaco-editor/editor-hooks/useMonacoMarkers.js +30 -34
  280. package/es/components/shared/monaco-editor/editor-hooks/useMonacoOptions.js +7 -9
  281. package/es/components/shared/monaco-editor/editor-hooks/useMonacoTheme.js +6 -6
  282. package/es/components/shared/monaco-editor/editor-languages/css/formatter.js +10 -33
  283. package/es/components/shared/monaco-editor/editor-languages/html/formatter.js +10 -33
  284. package/es/components/shared/monaco-editor/editor-languages/typescript/dts/_helper.js +1 -1
  285. package/es/components/shared/monaco-editor/editor-languages/typescript/formatter.js +10 -37
  286. package/es/components/shared/monaco-editor/editor-languages/typescript/index.js +3 -3
  287. package/es/components/shared/monaco-editor/hooks/useEditorOptions.js +5 -11
  288. package/es/components/shared/monaco-editor/utils/emmet/abbreviationActions.js +12 -10
  289. package/es/components/shared/monaco-editor/utils/emmet/registerProvider.js +6 -12
  290. package/es/components/shared/monaco-editor/utils/grammar/index.js +24 -67
  291. package/es/components/shared/monaco-editor/utils/grammar/onigasm.js +6 -25
  292. package/es/components/shared/monaco-editor/utils/grammar/textmate.js +35 -67
  293. package/es/components/shared/monaco-editor/utils/monacoLanguage.js +5 -5
  294. package/es/components/shared/monaco-editor/utils/monacoPreference.js +4 -6
  295. package/es/components/shared/monaco-editor/utils/prettier/config.js +2 -2
  296. package/es/components/shared/monaco-editor/utils/prettier/index.js +7 -27
  297. package/es/components/shared/monaco-editor/utils/theme/convert.js +13 -19
  298. package/es/components/shared/monaco-editor/utils/theme/index.js +3 -22
  299. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursor.js +56 -77
  300. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorManager.js +68 -82
  301. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorWidget.js +93 -120
  302. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelection.js +130 -152
  303. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelectionManager.js +92 -104
  304. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/styles.js +2 -2
  305. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/configCompat.js +6 -1
  306. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/data.js +2 -2
  307. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/emmetHelper.js +156 -171
  308. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/utils.js +3 -3
  309. package/es/components/shared/no-vnc/NoVnc.js +71 -99
  310. package/es/components/shared/no-vnc/NoVncLazy.js +7 -11
  311. package/es/components/shared/preview-container/PreviewContainer.js +14 -15
  312. package/es/components/shared/web-browser/WebBrowser.js +52 -69
  313. package/es/components/shared/xterm/Xterm.js +57 -77
  314. package/es/components/shared/xterm/XtermLazy.js +7 -11
  315. package/es/constants/arduino.js +10 -10
  316. package/es/constants/color.js +1 -1
  317. package/es/constants/shortcutKeyMap.js +1 -3
  318. package/es/constants/stylesheets.js +5 -7
  319. package/es/hooks/useArduino.js +141 -278
  320. package/es/hooks/useExerciseFile.js +22 -24
  321. package/es/hooks/useExericseShortcut.js +4 -6
  322. package/es/hooks/useMaterialExerciseFileUrl.js +34 -52
  323. package/es/hooks/useRunnerRoomWebSocket.js +27 -51
  324. package/es/hooks/useStdioTextConcator.js +11 -11
  325. package/es/hooks/useStdioWebSocket.js +28 -32
  326. package/es/hooks/useUsercodeEditWebSocket.js +157 -232
  327. package/es/hooks/useUsercodeHistory.js +63 -115
  328. package/es/utils/arduino.js +12 -24
  329. package/es/utils/exerciseFile.js +10 -8
  330. package/es/utils/runner.js +17 -33
  331. package/package.json +15 -11
  332. package/cjs/_virtual/_rollupPluginBabelHelpers.js +0 -519
  333. package/cjs/components/index.js +0 -25
  334. package/cjs/components/locales/index.js +0 -13
  335. package/cjs/components/material-exercise/context/index.js +0 -57
  336. package/cjs/components/material-exercise/exercise-code-history/index.js +0 -7
  337. package/cjs/components/material-exercise/exercise-code-history/locales/index.js +0 -13
  338. package/cjs/components/material-exercise/exercise-file/index.js +0 -7
  339. package/cjs/components/material-exercise/exercise-file-editor/index.js +0 -7
  340. package/cjs/components/material-exercise/exercise-file-editor/locales/index.js +0 -13
  341. package/cjs/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/index.js +0 -7
  342. package/cjs/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/locales/index.js +0 -13
  343. package/cjs/components/material-exercise/exercise-file-tabs/index.js +0 -9
  344. package/cjs/components/material-exercise/exercise-file-tabs/locales/index.js +0 -13
  345. package/cjs/components/material-exercise/exercise-file-tree/index.js +0 -9
  346. package/cjs/components/material-exercise/exercise-file-tree/locales/index.js +0 -13
  347. package/cjs/components/material-exercise/exercise-file-viewer/index.js +0 -7
  348. package/cjs/components/material-exercise/exercise-menu/index.js +0 -7
  349. package/cjs/components/material-exercise/exercise-menu/locales/index.js +0 -13
  350. package/cjs/components/material-exercise/exercise-multilang-dropdown/index.js +0 -9
  351. package/cjs/components/material-exercise/exercise-preview/index.js +0 -7
  352. package/cjs/components/material-exercise/exercise-preview/locales/index.js +0 -13
  353. package/cjs/components/material-exercise/exercise-rightpane/index.js +0 -7
  354. package/cjs/components/material-exercise/exercise-rightpane/locales/index.js +0 -13
  355. package/cjs/components/material-exercise/exercise-room/helpers/index.js +0 -7
  356. package/cjs/components/material-exercise/exercise-room/index.js +0 -7
  357. package/cjs/components/material-exercise/exercise-room/locales/index.js +0 -13
  358. package/cjs/components/material-exercise/exercise-runner/index.js +0 -7
  359. package/cjs/components/material-exercise/exercise-runner/locales/index.js +0 -13
  360. package/cjs/components/material-exercise/exercise-submit-history/index.js +0 -7
  361. package/cjs/components/material-exercise/exercise-submit-history/locales/index.js +0 -13
  362. package/cjs/components/material-exercise/index.js +0 -9
  363. package/cjs/components/shared/exercise-menu-button/index.js +0 -7
  364. package/cjs/components/shared/exercise-shimmer/index.js +0 -15
  365. package/cjs/components/shared/exercise-version-list/index.js +0 -9
  366. package/cjs/components/shared/file-icon/index.js +0 -7
  367. package/cjs/components/shared/file-tabs/index.js +0 -7
  368. package/cjs/components/shared/file-tree/context/index.js +0 -9
  369. package/cjs/components/shared/file-tree/file-tree-toolbar/index.js +0 -7
  370. package/cjs/components/shared/file-tree/file-tree-toolbar/locales/index.js +0 -13
  371. package/cjs/components/shared/file-tree/index.js +0 -7
  372. package/cjs/components/shared/file-tree/locales/index.js +0 -13
  373. package/cjs/components/shared/file-tree/utils/index.js +0 -20
  374. package/cjs/components/shared/file-viewer/index.js +0 -7
  375. package/cjs/components/shared/file-viewer/locales/index.js +0 -21
  376. package/cjs/components/shared/material-modal/index.js +0 -7
  377. package/cjs/components/shared/monaco-editor/constants/index.js +0 -13
  378. package/cjs/components/shared/monaco-editor/constants/monaco/index.js +0 -11
  379. package/cjs/components/shared/monaco-editor/editor-hooks/index.js +0 -17
  380. package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/index.js +0 -11
  381. package/cjs/components/shared/monaco-editor/hooks/index.js +0 -7
  382. package/cjs/components/shared/monaco-editor/index.js +0 -21
  383. package/cjs/components/shared/monaco-editor/locales/index.js +0 -13
  384. package/cjs/components/shared/monaco-editor/utils/emmet/index.js +0 -9
  385. package/cjs/components/shared/monaco-editor/utils/index.js +0 -9
  386. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/index.js +0 -12
  387. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/index.js +0 -11
  388. package/cjs/components/shared/no-vnc/index.js +0 -7
  389. package/cjs/components/shared/preview-container/index.js +0 -9
  390. package/cjs/components/shared/web-browser/index.js +0 -7
  391. package/cjs/components/shared/xterm/index.js +0 -7
  392. package/cjs/components/shared/xterm/locales/index.js +0 -13
  393. package/cjs/constants/index.js +0 -7
  394. package/cjs/hooks/index.js +0 -20
  395. package/cjs/utils/index.js +0 -10
  396. package/es/_virtual/_rollupPluginBabelHelpers.js +0 -499
  397. package/es/components/index.js +0 -8
  398. package/es/components/locales/index.js +0 -4
  399. package/es/components/material-exercise/context/index.js +0 -5
  400. package/es/components/material-exercise/exercise-code-history/index.js +0 -1
  401. package/es/components/material-exercise/exercise-code-history/locales/index.js +0 -4
  402. package/es/components/material-exercise/exercise-file/index.js +0 -1
  403. package/es/components/material-exercise/exercise-file-editor/index.js +0 -1
  404. package/es/components/material-exercise/exercise-file-editor/locales/index.js +0 -4
  405. package/es/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/index.js +0 -1
  406. package/es/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/locales/index.js +0 -4
  407. package/es/components/material-exercise/exercise-file-tabs/index.js +0 -2
  408. package/es/components/material-exercise/exercise-file-tabs/locales/index.js +0 -4
  409. package/es/components/material-exercise/exercise-file-tree/index.js +0 -2
  410. package/es/components/material-exercise/exercise-file-tree/locales/index.js +0 -4
  411. package/es/components/material-exercise/exercise-file-viewer/index.js +0 -1
  412. package/es/components/material-exercise/exercise-menu/index.js +0 -1
  413. package/es/components/material-exercise/exercise-menu/locales/index.js +0 -4
  414. package/es/components/material-exercise/exercise-multilang-dropdown/index.js +0 -2
  415. package/es/components/material-exercise/exercise-preview/index.js +0 -1
  416. package/es/components/material-exercise/exercise-preview/locales/index.js +0 -4
  417. package/es/components/material-exercise/exercise-rightpane/index.js +0 -1
  418. package/es/components/material-exercise/exercise-rightpane/locales/index.js +0 -4
  419. package/es/components/material-exercise/exercise-room/helpers/index.js +0 -1
  420. package/es/components/material-exercise/exercise-room/index.js +0 -1
  421. package/es/components/material-exercise/exercise-room/locales/index.js +0 -4
  422. package/es/components/material-exercise/exercise-runner/index.js +0 -1
  423. package/es/components/material-exercise/exercise-runner/locales/index.js +0 -4
  424. package/es/components/material-exercise/exercise-submit-history/index.js +0 -1
  425. package/es/components/material-exercise/exercise-submit-history/locales/index.js +0 -4
  426. package/es/components/material-exercise/index.js +0 -2
  427. package/es/components/shared/exercise-menu-button/index.js +0 -1
  428. package/es/components/shared/exercise-shimmer/index.js +0 -5
  429. package/es/components/shared/exercise-version-list/index.js +0 -2
  430. package/es/components/shared/file-icon/index.js +0 -1
  431. package/es/components/shared/file-tabs/index.js +0 -1
  432. package/es/components/shared/file-tree/context/index.js +0 -1
  433. package/es/components/shared/file-tree/file-tree-toolbar/index.js +0 -1
  434. package/es/components/shared/file-tree/file-tree-toolbar/locales/index.js +0 -4
  435. package/es/components/shared/file-tree/index.js +0 -1
  436. package/es/components/shared/file-tree/locales/index.js +0 -4
  437. package/es/components/shared/file-tree/utils/index.js +0 -5
  438. package/es/components/shared/file-viewer/index.js +0 -1
  439. package/es/components/shared/file-viewer/locales/index.js +0 -8
  440. package/es/components/shared/material-modal/index.js +0 -1
  441. package/es/components/shared/monaco-editor/constants/index.js +0 -2
  442. package/es/components/shared/monaco-editor/constants/monaco/index.js +0 -1
  443. package/es/components/shared/monaco-editor/editor-hooks/index.js +0 -6
  444. package/es/components/shared/monaco-editor/editor-languages/typescript/dts/index.js +0 -3
  445. package/es/components/shared/monaco-editor/hooks/index.js +0 -1
  446. package/es/components/shared/monaco-editor/index.js +0 -6
  447. package/es/components/shared/monaco-editor/locales/index.js +0 -4
  448. package/es/components/shared/monaco-editor/utils/emmet/index.js +0 -1
  449. package/es/components/shared/monaco-editor/utils/index.js +0 -2
  450. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/index.js +0 -3
  451. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/index.js +0 -2
  452. package/es/components/shared/no-vnc/index.js +0 -1
  453. package/es/components/shared/preview-container/index.js +0 -1
  454. package/es/components/shared/web-browser/index.js +0 -1
  455. package/es/components/shared/xterm/index.js +0 -1
  456. package/es/components/shared/xterm/locales/index.js +0 -4
  457. package/es/constants/index.js +0 -1
  458. package/es/hooks/index.js +0 -7
  459. package/es/utils/index.js +0 -2
@@ -2,8 +2,6 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var _rollupPluginBabelHelpers = require('../../../_virtual/_rollupPluginBabelHelpers.js');
6
- var jsxRuntime = require('react/jsx-runtime');
7
5
  var React = require('react');
8
6
  var reactUse = require('react-use');
9
7
  var apiClient = require('@elice/api-client');
@@ -37,61 +35,57 @@ var ExerciseRunnerController = require('./ExerciseRunnerController.js');
37
35
  var en = require('./locales/en.json.js');
38
36
  var ko = require('./locales/ko.json.js');
39
37
 
40
- function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
41
-
42
- var React__default = /*#__PURE__*/_interopDefaultCompat(React);
43
- var styled__default = /*#__PURE__*/_interopDefaultCompat(styled);
44
-
45
- var EXERCISE_RUNNER_HORIZONTAL_RATIO = {
38
+ const EXERCISE_RUNNER_HORIZONTAL_RATIO = {
46
39
  PREVIEW: 0.3,
47
40
  XTERM: 0.7
48
41
  };
49
- var StyledExerciseRunner = styled__default.default.div.withConfig({
42
+ const StyledExerciseRunner = styled.div.withConfig({
50
43
  componentId: "sc-mp78g-0"
51
44
  })(["display:flex;flex-direction:column;width:100%;height:100%;background-color:", ";min-height:0;"], designTokens.base.color.navy8);
52
45
  /**
53
46
  *
54
47
  */
55
- var ExerciseRunner = function ExerciseRunner(_ref) {
56
- var exercisePreview = _ref.exercisePreview,
57
- __intl = _ref.__intl;
48
+ const ExerciseRunner = ({
49
+ exercisePreview,
50
+ __intl
51
+ }) => {
58
52
  var _a, _b, _c;
59
- var _React$useContext = React__default.default.useContext(context.ExerciseContext),
60
- onCodeHelpRequest = _React$useContext.onCodeHelpRequest,
61
- onStdioError = _React$useContext.onStdioError;
62
- var _React$useContext2 = React__default.default.useContext(context.ExerciseContext),
63
- materialExerciseId = _React$useContext2.materialExerciseId,
64
- exerciseRoomId = _React$useContext2.exerciseRoomId,
65
- locale = _React$useContext2.locale,
66
- onSubmit = _React$useContext2.onSubmit,
67
- onError = _React$useContext2.onError;
68
- var exercise = recoil.useRecoilValue(recoil$1.exerciseState(materialExerciseId));
69
- var _useRecoilValue = recoil.useRecoilValue(recoil$1.exerciseEditorPreferenceState),
70
- editorPreferenceFontSize = _useRecoilValue.fontSize;
53
+ const {
54
+ onCodeHelpRequest,
55
+ onStdioError
56
+ } = React.useContext(context.ExerciseContext);
57
+ const {
58
+ materialExerciseId,
59
+ exerciseRoomId,
60
+ locale,
61
+ onSubmit,
62
+ onError
63
+ } = React.useContext(context.ExerciseContext);
64
+ const exercise = recoil.useRecoilValue(recoil$1.exerciseState(materialExerciseId));
65
+ const {
66
+ fontSize: editorPreferenceFontSize
67
+ } = recoil.useRecoilValue(recoil$1.exerciseEditorPreferenceState);
71
68
  // runner states
72
- var setRunnerSubmitting = recoil.useSetRecoilState(recoil$1.exerciseRunnerSubmittingState);
73
- var setRunnerRunning = recoil.useSetRecoilState(recoil$1.exerciseRunnerRunningState);
74
- var _useRecoilState = recoil.useRecoilState(recoil$1.exerciseRunnerRunTypeState),
75
- _useRecoilState2 = _rollupPluginBabelHelpers.slicedToArray(_useRecoilState, 2),
76
- runnerRunTypeState = _useRecoilState2[0],
77
- setRunnerRunTypeState = _useRecoilState2[1];
78
- var setExerciseRunnerRoomConnectionInfo = recoil.useSetRecoilState(recoil$1.exerciseRunnerRoomConnectionInfoState);
79
- var setRunnerStdioFilesState = recoil.useSetRecoilState(recoil$1.exerciseRunnerStdioFilesState);
69
+ const setRunnerSubmitting = recoil.useSetRecoilState(recoil$1.exerciseRunnerSubmittingState);
70
+ const setRunnerRunning = recoil.useSetRecoilState(recoil$1.exerciseRunnerRunningState);
71
+ const [runnerRunTypeState, setRunnerRunTypeState] = recoil.useRecoilState(recoil$1.exerciseRunnerRunTypeState);
72
+ const setExerciseRunnerRoomConnectionInfo = recoil.useSetRecoilState(recoil$1.exerciseRunnerRoomConnectionInfoState);
73
+ const setRunnerStdioFilesState = recoil.useSetRecoilState(recoil$1.exerciseRunnerStdioFilesState);
80
74
  // preview states
81
- var exercisePreviewType = recoil.useRecoilValue(recoil$1.exercisePreviewTypeState(materialExerciseId));
82
- var exercisePreviewDisplayMode = recoil.useRecoilValue(recoil$1.exercisePreviewDisplayModeState);
75
+ const exercisePreviewType = recoil.useRecoilValue(recoil$1.exercisePreviewTypeState(materialExerciseId));
76
+ const exercisePreviewDisplayMode = recoil.useRecoilValue(recoil$1.exercisePreviewDisplayModeState);
83
77
  // monaco editor value
84
- var exerciseMonacoEditorApis = recoil.useRecoilValue(recoil$1.exerciseMonacoEditorApisState);
78
+ const exerciseMonacoEditorApis = recoil.useRecoilValue(recoil$1.exerciseMonacoEditorApisState);
85
79
  // websockets
86
- var setRunnerRoomWebSocketState = recoil.useSetRecoilState(recoil$1.exerciseWebsocketQuery('runnerRoom'));
87
- var setStdioWebSocketState = recoil.useSetRecoilState(recoil$1.exerciseWebsocketQuery('stdio'));
88
- var handleAiHelpibotError = function handleAiHelpibotError(text) {
80
+ const setRunnerRoomWebSocketState = recoil.useSetRecoilState(recoil$1.exerciseWebsocketQuery('runnerRoom'));
81
+ const setStdioWebSocketState = recoil.useSetRecoilState(recoil$1.exerciseWebsocketQuery('stdio'));
82
+ const handleAiHelpibotError = text => {
89
83
  var _a, _b, _c;
90
84
  // check whether error callback prop is defined
91
85
  if (!onStdioError && !onCodeHelpRequest) {
92
86
  return;
93
87
  }
94
- var error = runner.getProgrammingErrorResult(text);
88
+ const error = runner.getProgrammingErrorResult(text);
95
89
  if (!!error && typeof onStdioError === 'function') {
96
90
  onStdioError(error);
97
91
  }
@@ -105,33 +99,31 @@ var ExerciseRunner = function ExerciseRunner(_ref) {
105
99
  });
106
100
  }
107
101
  };
108
- var _useStdioTextConcator = useStdioTextConcator.useStdioTextConcator(handleAiHelpibotError),
109
- updateStdioTextConcator = _useStdioTextConcator.updateStdioTextConcator;
102
+ const {
103
+ updateStdioTextConcator
104
+ } = useStdioTextConcator.useStdioTextConcator(handleAiHelpibotError);
110
105
  // etc
111
- var exerciseContainerSize = recoil.useRecoilValue(recoil$1.exerciseContainerSizeState);
112
- var _React$useState = React__default.default.useState(null),
113
- _React$useState2 = _rollupPluginBabelHelpers.slicedToArray(_React$useState, 2),
114
- runnerSubmitErrorDialog = _React$useState2[0],
115
- setRunnerSubmitErrorDialog = _React$useState2[1];
116
- var arduinoTextBuffer = React__default.default.useRef('');
117
- var runnerRunTypeRef = React__default.default.useRef(runnerRunTypeState);
118
- var xterm = React__default.default.useRef(null);
106
+ const exerciseContainerSize = recoil.useRecoilValue(recoil$1.exerciseContainerSizeState);
107
+ const [runnerSubmitErrorDialog, setRunnerSubmitErrorDialog] = React.useState(null);
108
+ const arduinoTextBuffer = React.useRef('');
109
+ const runnerRunTypeRef = React.useRef(runnerRunTypeState);
110
+ const xterm = React.useRef(null);
119
111
  /**
120
112
  * Handle text received from arduino serial output.
121
113
  */
122
- var handleArduinoDigitalOutput = function handleArduinoDigitalOutput(text) {
114
+ const handleArduinoDigitalOutput = text => {
123
115
  var _a;
124
116
  (_a = xterm.current) === null || _a === void 0 ? void 0 : _a.write(text);
125
117
  };
126
118
  // Arduino
127
- var arduino = useArduino.useArduino({
119
+ const arduino = useArduino.useArduino({
128
120
  writeTerminal: handleArduinoDigitalOutput
129
121
  });
130
- var isArduinoExercise = (exercise === null || exercise === void 0 ? void 0 : exercise.envType) === types.enums.ExerciseEnvType.Arduino;
122
+ const isArduinoExercise = (exercise === null || exercise === void 0 ? void 0 : exercise.envType) === types.enums.ExerciseEnvType.Arduino;
131
123
  /**
132
124
  * Handle destroy arduino client.
133
125
  */
134
- var handleArduinoDistroy = React__default.default.useCallback(function () {
126
+ const handleArduinoDistroy = React.useCallback(() => {
135
127
  if (isArduinoExercise) {
136
128
  arduino.destroy();
137
129
  }
@@ -139,7 +131,7 @@ var ExerciseRunner = function ExerciseRunner(_ref) {
139
131
  /**
140
132
  * Handle text received from stdio websocket.
141
133
  */
142
- var handleWsStdioTextReceive = function handleWsStdioTextReceive(type, text) {
134
+ const handleWsStdioTextReceive = (type, text) => {
143
135
  var _a, _b, _c;
144
136
  switch (type) {
145
137
  case 'text':
@@ -157,7 +149,7 @@ var ExerciseRunner = function ExerciseRunner(_ref) {
157
149
  /**
158
150
  * Handle file received from stdio websocket.
159
151
  */
160
- var handleWsStdioFileReceive = function handleWsStdioFileReceive(stdioFile) {
152
+ const handleWsStdioFileReceive = stdioFile => {
161
153
  // arduino exercise
162
154
  if (isArduinoExercise) {
163
155
  if ('filename' in stdioFile && stdioFile.filename.startsWith('firmware') && stdioFile.filename.endsWith('hex')) {
@@ -166,20 +158,18 @@ var ExerciseRunner = function ExerciseRunner(_ref) {
166
158
  return;
167
159
  }
168
160
  // normal exercise
169
- setRunnerStdioFilesState(function (prevFiles) {
170
- return [].concat(_rollupPluginBabelHelpers.toConsumableArray(prevFiles), [stdioFile]);
171
- });
161
+ setRunnerStdioFilesState(prevFiles => [...prevFiles, stdioFile]);
172
162
  };
173
163
  /**
174
164
  * Runner room websocket
175
165
  */
176
- var wsRunnerRoom = useRunnerRoomWebSocket.useRunnerRoomWebSocket({
177
- exerciseRoomId: exerciseRoomId
166
+ const wsRunnerRoom = useRunnerRoomWebSocket.useRunnerRoomWebSocket({
167
+ exerciseRoomId
178
168
  });
179
169
  /**
180
170
  * Stdio websocket
181
171
  */
182
- var wsStdio = useStdioWebSocket.useStdioWebSocket({
172
+ const wsStdio = useStdioWebSocket.useStdioWebSocket({
183
173
  wsUri: (_a = wsRunnerRoom.roomConnectionInfo) === null || _a === void 0 ? void 0 : _a.wsUri,
184
174
  roomToken: (_b = wsRunnerRoom.roomConnectionInfo) === null || _b === void 0 ? void 0 : _b.roomToken,
185
175
  isTty: (_c = exercise === null || exercise === void 0 ? void 0 : exercise.readyExerciseImage) === null || _c === void 0 ? void 0 : _c.isTty,
@@ -189,7 +179,7 @@ var ExerciseRunner = function ExerciseRunner(_ref) {
189
179
  /**
190
180
  * Handle submit code error.
191
181
  */
192
- var handleRunnerSubmitError = function handleRunnerSubmitError(err) {
182
+ const handleRunnerSubmitError = err => {
193
183
  var _a, _b;
194
184
  switch ((_a = err.detail) === null || _a === void 0 ? void 0 : _a.failCode) {
195
185
  case 'room_type_mismatch':
@@ -205,9 +195,7 @@ var ExerciseRunner = function ExerciseRunner(_ref) {
205
195
  action: __intl.formatMessage({
206
196
  id: 'exerciseRunner.submitErrorDialog.action.reload'
207
197
  }),
208
- onAction: function onAction() {
209
- return window.location.reload();
210
- }
198
+ onAction: () => window.location.reload()
211
199
  });
212
200
  break;
213
201
  case 'invalid_room_token':
@@ -219,9 +207,7 @@ var ExerciseRunner = function ExerciseRunner(_ref) {
219
207
  action: __intl.formatMessage({
220
208
  id: 'exerciseRunner.submitErrorDialog.action.reload'
221
209
  }),
222
- onAction: function onAction() {
223
- return window.location.reload();
224
- }
210
+ onAction: () => window.location.reload()
225
211
  });
226
212
  break;
227
213
  case 'not_for_submit_grade':
@@ -244,9 +230,7 @@ var ExerciseRunner = function ExerciseRunner(_ref) {
244
230
  action: __intl.formatMessage({
245
231
  id: 'exerciseRunner.submitErrorDialog.action.reload'
246
232
  }),
247
- onAction: function onAction() {
248
- return window.location.reload();
249
- }
233
+ onAction: () => window.location.reload()
250
234
  });
251
235
  break;
252
236
  case 'not_prepared_room_forwarder':
@@ -299,89 +283,60 @@ var ExerciseRunner = function ExerciseRunner(_ref) {
299
283
  /**
300
284
  * Handle submit code to runner and run / grade.
301
285
  */
302
- var handleRunnerSubmit = /*#__PURE__*/function () {
303
- var _ref2 = _rollupPluginBabelHelpers.asyncToGenerator( /*#__PURE__*/_rollupPluginBabelHelpers.regeneratorRuntime().mark(function _callee(runType) {
304
- var _a, _b, _c, readyExerciseImage, roomToken;
305
- return _rollupPluginBabelHelpers.regeneratorRuntime().wrap(function _callee$(_context) {
306
- while (1) switch (_context.prev = _context.next) {
307
- case 0:
308
- readyExerciseImage = exercise === null || exercise === void 0 ? void 0 : exercise.readyExerciseImage;
309
- roomToken = (_a = wsRunnerRoom.roomConnectionInfo) === null || _a === void 0 ? void 0 : _a.roomToken;
310
- if (!(!readyExerciseImage || !roomToken)) {
311
- _context.next = 4;
312
- break;
313
- }
314
- return _context.abrupt("return");
315
- case 4:
316
- setRunnerStdioFilesState([]);
317
- setRunnerRunTypeState(runType);
318
- setRunnerSubmitting(true);
319
- return _context.abrupt("return", apiClient.postOrgMaterialExerciseExerciseRunningSubmit({
320
- roomToken: roomToken,
321
- runType: runType,
322
- exerciseImageId: readyExerciseImage.id,
323
- vncWidth: readyExerciseImage.isVnc ? Math.max((_b = readyExerciseImage.defaultVncWidth) !== null && _b !== void 0 ? _b : 0, 640) : undefined,
324
- vncHeight: readyExerciseImage.isVnc ? Math.max((_c = readyExerciseImage.defaultVncHeight) !== null && _c !== void 0 ? _c : 0, 480) : undefined
325
- }).then(function (res) {
326
- if (typeof onSubmit === 'function') {
327
- onSubmit(res);
328
- }
329
- }).catch(function (err) {
330
- setRunnerSubmitting(false);
331
- handleRunnerSubmitError(err);
332
- if (typeof onError === 'function') {
333
- onError(err);
334
- }
335
- }));
336
- case 8:
337
- case "end":
338
- return _context.stop();
339
- }
340
- }, _callee);
341
- }));
342
- return function handleRunnerSubmit(_x) {
343
- return _ref2.apply(this, arguments);
344
- };
345
- }();
286
+ const handleRunnerSubmit = async runType => {
287
+ var _a, _b, _c;
288
+ const readyExerciseImage = exercise === null || exercise === void 0 ? void 0 : exercise.readyExerciseImage;
289
+ const roomToken = (_a = wsRunnerRoom.roomConnectionInfo) === null || _a === void 0 ? void 0 : _a.roomToken;
290
+ if (!readyExerciseImage || !roomToken) {
291
+ return;
292
+ }
293
+ setRunnerStdioFilesState([]);
294
+ setRunnerRunTypeState(runType);
295
+ setRunnerSubmitting(true);
296
+ return apiClient.postOrgMaterialExerciseExerciseRunningSubmit({
297
+ roomToken,
298
+ runType,
299
+ exerciseImageId: readyExerciseImage.id,
300
+ vncWidth: readyExerciseImage.isVnc ? Math.max((_b = readyExerciseImage.defaultVncWidth) !== null && _b !== void 0 ? _b : 0, 640) : undefined,
301
+ vncHeight: readyExerciseImage.isVnc ? Math.max((_c = readyExerciseImage.defaultVncHeight) !== null && _c !== void 0 ? _c : 0, 480) : undefined
302
+ }).then(res => {
303
+ if (typeof onSubmit === 'function') {
304
+ onSubmit(res);
305
+ }
306
+ }).catch(err => {
307
+ setRunnerSubmitting(false);
308
+ handleRunnerSubmitError(err);
309
+ if (typeof onError === 'function') {
310
+ onError(err);
311
+ }
312
+ });
313
+ };
346
314
  /**
347
315
  * Handle runner to cancel running.
348
316
  */
349
- var handleRunnerCancel = /*#__PURE__*/function () {
350
- var _ref3 = _rollupPluginBabelHelpers.asyncToGenerator( /*#__PURE__*/_rollupPluginBabelHelpers.regeneratorRuntime().mark(function _callee2() {
351
- var _a, roomToken;
352
- return _rollupPluginBabelHelpers.regeneratorRuntime().wrap(function _callee2$(_context2) {
353
- while (1) switch (_context2.prev = _context2.next) {
354
- case 0:
355
- roomToken = (_a = wsRunnerRoom.roomConnectionInfo) === null || _a === void 0 ? void 0 : _a.roomToken;
356
- if (roomToken) {
357
- void apiClient.postOrgMaterialExerciseExerciseRunningCancel({
358
- roomToken: roomToken
359
- });
360
- }
361
- case 2:
362
- case "end":
363
- return _context2.stop();
364
- }
365
- }, _callee2);
366
- }));
367
- return function handleRunnerCancel() {
368
- return _ref3.apply(this, arguments);
369
- };
370
- }();
317
+ const handleRunnerCancel = async () => {
318
+ var _a;
319
+ const roomToken = (_a = wsRunnerRoom.roomConnectionInfo) === null || _a === void 0 ? void 0 : _a.roomToken;
320
+ if (roomToken) {
321
+ void apiClient.postOrgMaterialExerciseExerciseRunningCancel({
322
+ roomToken
323
+ });
324
+ }
325
+ };
371
326
  /**
372
327
  * Handle runner to request code sync.
373
328
  */
374
- var handleRunnerSyncRequest = function handleRunnerSyncRequest() {
329
+ const handleRunnerSyncRequest = () => {
375
330
  wsStdio.sendSync();
376
331
  };
377
332
  /**
378
333
  * Handle input requests for arduino.
379
334
  */
380
- var handleXtermArduinoInputRequest = function handleXtermArduinoInputRequest(char) {
335
+ const handleXtermArduinoInputRequest = char => {
381
336
  var _a, _b, _c;
382
337
  switch (char) {
383
338
  // backspace
384
- case "\x7F":
339
+ case '\u007f':
385
340
  (_a = xterm.current) === null || _a === void 0 ? void 0 : _a.write(' ');
386
341
  arduinoTextBuffer.current = arduinoTextBuffer.current.slice(0, -1);
387
342
  break;
@@ -396,14 +351,14 @@ var ExerciseRunner = function ExerciseRunner(_ref) {
396
351
  // any char
397
352
  default:
398
353
  (_c = xterm.current) === null || _c === void 0 ? void 0 : _c.write(char);
399
- arduinoTextBuffer.current = "".concat(arduinoTextBuffer.current).concat(char);
354
+ arduinoTextBuffer.current = `${arduinoTextBuffer.current}${char}`;
400
355
  break;
401
356
  }
402
357
  };
403
358
  /**
404
359
  * Handle input requests.
405
360
  */
406
- var handleXtermInputRequest = function handleXtermInputRequest(text) {
361
+ const handleXtermInputRequest = text => {
407
362
  if (isArduinoExercise) {
408
363
  handleXtermArduinoInputRequest(text);
409
364
  } else {
@@ -413,12 +368,12 @@ var ExerciseRunner = function ExerciseRunner(_ref) {
413
368
  //
414
369
  // Initialize Arduino devices.
415
370
  //
416
- React__default.default.useEffect(function () {
371
+ React.useEffect(() => {
417
372
  if (!isArduinoExercise) {
418
373
  return;
419
374
  }
420
375
  void arduino.init();
421
- return function () {
376
+ return () => {
422
377
  void arduino.destroy();
423
378
  };
424
379
  },
@@ -431,17 +386,13 @@ var ExerciseRunner = function ExerciseRunner(_ref) {
431
386
  //
432
387
  // Update runner room websocket state.
433
388
  //
434
- React__default.default.useEffect(function () {
435
- return setRunnerRoomWebSocketState(wsRunnerRoom.readyState);
436
- },
389
+ React.useEffect(() => setRunnerRoomWebSocketState(wsRunnerRoom.readyState),
437
390
  // eslint-disable-next-line react-hooks/exhaustive-deps
438
391
  [wsRunnerRoom.readyState]);
439
392
  //
440
393
  // Update stdio websocket state.
441
394
  //
442
- React__default.default.useEffect(function () {
443
- return setStdioWebSocketState(wsStdio.readyState);
444
- },
395
+ React.useEffect(() => setStdioWebSocketState(wsStdio.readyState),
445
396
  // eslint-disable-next-line react-hooks/exhaustive-deps
446
397
  [wsStdio.readyState]);
447
398
  //
@@ -449,17 +400,15 @@ var ExerciseRunner = function ExerciseRunner(_ref) {
449
400
  // whenever runner room's running status is changed.
450
401
  // (assume that sumbitting done when running status is changed)
451
402
  //
452
- React__default.default.useEffect(function () {
453
- return setRunnerSubmitting(false);
454
- },
403
+ React.useEffect(() => setRunnerSubmitting(false),
455
404
  // eslint-disable-next-line react-hooks/exhaustive-deps
456
405
  [wsRunnerRoom.isRunning]);
457
406
  //
458
407
  // Auto focus terminal when running.
459
408
  //
460
- React__default.default.useEffect(function () {
409
+ React.useEffect(() => {
461
410
  if (wsRunnerRoom.isRunning) {
462
- setTimeout(function () {
411
+ setTimeout(() => {
463
412
  var _a;
464
413
  return (_a = xterm.current) === null || _a === void 0 ? void 0 : _a.focus();
465
414
  }, 100);
@@ -470,31 +419,27 @@ var ExerciseRunner = function ExerciseRunner(_ref) {
470
419
  //
471
420
  // Bind runner run type to ref.
472
421
  //
473
- React__default.default.useEffect(function () {
422
+ React.useEffect(() => {
474
423
  runnerRunTypeRef.current = runnerRunTypeState;
475
424
  }, [runnerRunTypeState]);
476
425
  //
477
426
  // Update room connection info.
478
427
  //
479
- React__default.default.useEffect(function () {
480
- return setRunnerRunning(wsRunnerRoom.isRunning);
481
- },
428
+ React.useEffect(() => setRunnerRunning(wsRunnerRoom.isRunning),
482
429
  // eslint-disable-next-line react-hooks/exhaustive-deps
483
430
  [wsRunnerRoom.isRunning]);
484
431
  //
485
432
  // Update room connection info.
486
433
  //
487
- React__default.default.useEffect(function () {
488
- return setExerciseRunnerRoomConnectionInfo(wsRunnerRoom.roomConnectionInfo);
489
- },
434
+ React.useEffect(() => setExerciseRunnerRoomConnectionInfo(wsRunnerRoom.roomConnectionInfo),
490
435
  // eslint-disable-next-line react-hooks/exhaustive-deps
491
436
  [wsRunnerRoom.roomConnectionInfo]);
492
437
  //
493
438
  // handle send text request to runner stdio.
494
439
  //
495
- React__default.default.useEffect(function () {
496
- var textSendSub = subjects.exerciseRunnerTextSend$.subscribe(wsStdio.sendText);
497
- return function () {
440
+ React.useEffect(() => {
441
+ const textSendSub = subjects.exerciseRunnerTextSend$.subscribe(wsStdio.sendText);
442
+ return () => {
498
443
  textSendSub.unsubscribe();
499
444
  };
500
445
  },
@@ -503,14 +448,14 @@ var ExerciseRunner = function ExerciseRunner(_ref) {
503
448
  /**
504
449
  * Preview.
505
450
  */
506
- var renderPreview = function renderPreview() {
451
+ const renderPreview = () => {
507
452
  if (exercisePreviewType === recoilTypes.ExercisePreviewType.None) {
508
453
  return null;
509
454
  }
510
455
  if (exercisePreviewDisplayMode !== recoilTypes.ExercisePreviewDisplayMode.Mini) {
511
456
  return null;
512
457
  }
513
- return jsxRuntime.jsx(blocks.ResizableNext, Object.assign({}, stylesheets.MATERIAL_RESIZABLE_COMMON_PROPS, {
458
+ return React.createElement(blocks.ResizableNext, Object.assign({}, stylesheets.MATERIAL_RESIZABLE_COMMON_PROPS, {
514
459
  children: exercisePreview,
515
460
  initialWidth: exerciseContainerSize.width * EXERCISE_RUNNER_HORIZONTAL_RATIO.PREVIEW,
516
461
  resizeHandles: ['e'],
@@ -520,14 +465,14 @@ var ExerciseRunner = function ExerciseRunner(_ref) {
520
465
  /**
521
466
  * Xterm
522
467
  */
523
- var renderXterm = function renderXterm() {
468
+ const renderXterm = () => {
524
469
  // show system message when...
525
- var showSystemMessage =
470
+ const showSystemMessage =
526
471
  // - run type is grade
527
472
  runnerRunTypeState === types.enums.ExerciseRunType.Grade ||
528
473
  // - not an arduino exercise
529
474
  !isArduinoExercise;
530
- return jsxRuntime.jsx(XtermLazy.default, {
475
+ return React.createElement(XtermLazy.default, {
531
476
  isRunning: wsRunnerRoom.isRunning,
532
477
  fontSize: editorPreferenceFontSize,
533
478
  suppressSystemMessage: !showSystemMessage,
@@ -540,53 +485,45 @@ var ExerciseRunner = function ExerciseRunner(_ref) {
540
485
  /**
541
486
  * Runner submit error dialog.
542
487
  */
543
- var renderRunnerSubmitErrorDialog = function renderRunnerSubmitErrorDialog() {
488
+ const renderRunnerSubmitErrorDialog = () => {
544
489
  if (!runnerSubmitErrorDialog) {
545
490
  return null;
546
491
  }
547
- return jsxRuntime.jsx(blocks.Dialog, {
492
+ return React.createElement(blocks.Dialog, {
548
493
  type: "error",
549
494
  title: __intl.formatMessage({
550
495
  id: 'exerciseRunner.submitErrorDialog.title'
551
496
  }),
552
- body: "".concat(runnerSubmitErrorDialog.message, "\n(error code: ").concat(runnerSubmitErrorDialog.code, ")"),
553
- onHide: function onHide() {
554
- return setRunnerSubmitErrorDialog(null);
555
- },
556
- children: jsxRuntime.jsx(blocks.Dialog.ActionButton, {
557
- children: runnerSubmitErrorDialog.action,
558
- onClick: function onClick() {
559
- if (typeof runnerSubmitErrorDialog.onAction === 'function') {
560
- runnerSubmitErrorDialog.onAction();
561
- }
562
- setRunnerSubmitErrorDialog(null);
497
+ body: `${runnerSubmitErrorDialog.message}\n(error code: ${runnerSubmitErrorDialog.code})`,
498
+ onHide: () => setRunnerSubmitErrorDialog(null)
499
+ }, React.createElement(blocks.Dialog.ActionButton, {
500
+ children: runnerSubmitErrorDialog.action,
501
+ onClick: () => {
502
+ if (typeof runnerSubmitErrorDialog.onAction === 'function') {
503
+ runnerSubmitErrorDialog.onAction();
563
504
  }
564
- })
565
- });
505
+ setRunnerSubmitErrorDialog(null);
506
+ }
507
+ }));
566
508
  };
567
509
  //
568
510
  //
569
511
  //
570
- return jsxRuntime.jsx(intl.RawEliceIntlProvider, {
571
- value: __intl,
572
- children: jsxRuntime.jsx(StyledExerciseRunner, {
573
- children: jsxRuntime.jsxs(ExerciseRunnerContext.ExerciseRunnerContext.Provider, {
574
- value: {
575
- onSubmit: handleRunnerSubmit,
576
- onCancel: handleRunnerCancel,
577
- onSyncRequest: handleRunnerSyncRequest
578
- },
579
- children: [jsxRuntime.jsx(ExerciseRunnerController.default, {}), jsxRuntime.jsxs(blocks.Flex, {
580
- auto: true,
581
- style: {
582
- minHeight: 0
583
- },
584
- overflow: "hidden",
585
- children: [renderPreview(), renderXterm(), renderRunnerSubmitErrorDialog()]
586
- })]
587
- })
588
- })
589
- });
512
+ return React.createElement(intl.RawEliceIntlProvider, {
513
+ value: __intl
514
+ }, React.createElement(StyledExerciseRunner, null, React.createElement(ExerciseRunnerContext.ExerciseRunnerContext.Provider, {
515
+ value: {
516
+ onSubmit: handleRunnerSubmit,
517
+ onCancel: handleRunnerCancel,
518
+ onSyncRequest: handleRunnerSyncRequest
519
+ }
520
+ }, React.createElement(ExerciseRunnerController.default, null), React.createElement(blocks.Flex, {
521
+ auto: true,
522
+ style: {
523
+ minHeight: 0
524
+ },
525
+ overflow: "hidden"
526
+ }, renderPreview(), renderXterm(), renderRunnerSubmitErrorDialog()))));
590
527
  };
591
528
  var ExerciseRunner$1 = new intl.IntlComponentBuilder(ExerciseRunner).add('en', en.default).add('ko', ko.default).addAsync('th', Promise.resolve().then(function () { return require('./locales/th.json.js'); })).addAsync('ja', Promise.resolve().then(function () { return require('./locales/ja.json.js'); })).build();
592
529
 
@@ -2,10 +2,6 @@
2
2
 
3
3
  var React = require('react');
4
4
 
5
- function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
6
-
7
- var React__default = /*#__PURE__*/_interopDefaultCompat(React);
8
-
9
- var ExerciseRunnerContext = React__default.default.createContext(null);
5
+ const ExerciseRunnerContext = React.createContext(null);
10
6
 
11
7
  exports.ExerciseRunnerContext = ExerciseRunnerContext;