@elice/material-exercise 1.230325.0 → 1.230418.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 (373) hide show
  1. package/cjs/_virtual/_rollupPluginBabelHelpers.js +526 -0
  2. package/cjs/components/material-exercise/MaterialExercise.js +44 -63
  3. package/cjs/components/material-exercise/MaterialExercise.styled.js +20 -23
  4. package/cjs/components/material-exercise/MaterialExerciseMobile.js +19 -15
  5. package/cjs/components/material-exercise/context/ExerciseIntlProvider.js +9 -13
  6. package/cjs/components/material-exercise/context/ExerciseProvider.js +83 -81
  7. package/cjs/components/material-exercise/context/ExerciseProviderNoImage.js +16 -16
  8. package/cjs/components/material-exercise/context/context.js +1 -1
  9. package/cjs/components/material-exercise/context/locales/noImage.en.json.js +3 -1
  10. package/cjs/components/material-exercise/context/locales/noImage.ko.json.js +3 -1
  11. package/cjs/components/material-exercise/context/recoil.d.ts +2 -1
  12. package/cjs/components/material-exercise/context/recoil.js +562 -373
  13. package/cjs/components/material-exercise/context/recoilTypes.js +0 -5
  14. package/cjs/components/material-exercise/context/subjects.js +3 -6
  15. package/cjs/components/material-exercise/context/types.d.ts +8 -1
  16. package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.d.ts +2 -2
  17. package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.js +78 -65
  18. package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.js +8 -8
  19. package/cjs/components/material-exercise/exercise-code-history/locales/en.json.js +7 -0
  20. package/cjs/components/material-exercise/exercise-code-history/locales/ko.json.js +7 -0
  21. package/cjs/components/material-exercise/exercise-file/ExerciseFile.js +20 -21
  22. package/cjs/components/material-exercise/exercise-file-editor/ExerciseFileEditor.js +228 -199
  23. package/cjs/components/material-exercise/exercise-file-editor/ExerciseFileReadOnlyBanner.js +8 -10
  24. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabs.js +35 -32
  25. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabsFileTreeButton.js +57 -48
  26. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.js +6 -4
  27. package/cjs/components/material-exercise/exercise-file-tabs/locales/fileTreeButton.en.json.js +3 -1
  28. package/cjs/components/material-exercise/exercise-file-tabs/locales/fileTreeButton.ko.json.js +3 -1
  29. package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTree.js +327 -231
  30. package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.js +6 -4
  31. package/cjs/components/material-exercise/exercise-file-tree/locales/en.json.js +3 -1
  32. package/cjs/components/material-exercise/exercise-file-tree/locales/ko.json.js +3 -1
  33. package/cjs/components/material-exercise/exercise-file-viewer/ExerciseFileViewer.js +17 -17
  34. package/cjs/components/material-exercise/exercise-menu/ExerciseMenu.js +13 -14
  35. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.js +6 -6
  36. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.js +47 -38
  37. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuDropdown.js +60 -42
  38. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuReset.js +29 -22
  39. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.js +45 -56
  40. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.js +12 -12
  41. package/cjs/components/material-exercise/exercise-menu/locales/en.json.js +3 -1
  42. package/cjs/components/material-exercise/exercise-menu/locales/ko.json.js +3 -1
  43. package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdown.js +28 -20
  44. package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.js +5 -3
  45. package/cjs/components/material-exercise/exercise-preview/ExercisePreview.js +30 -41
  46. package/cjs/components/material-exercise/exercise-preview/ExercisePreviewDisplayModeButton.js +17 -12
  47. package/cjs/components/material-exercise/exercise-preview/locales/en.json.js +3 -1
  48. package/cjs/components/material-exercise/exercise-preview/locales/ko.json.js +3 -1
  49. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpane.js +24 -33
  50. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpaneEditorPerference.js +13 -8
  51. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpaneEnvironment.js +84 -83
  52. package/cjs/components/material-exercise/exercise-rightpane/locales/en.json.js +3 -1
  53. package/cjs/components/material-exercise/exercise-rightpane/locales/ko.json.js +3 -1
  54. package/cjs/components/material-exercise/exercise-room/ExerciseRoom.js +20 -12
  55. package/cjs/components/material-exercise/exercise-room/ExerciseRoom.styled.js +14 -12
  56. package/cjs/components/material-exercise/exercise-room/ExerciseRoomDetail.js +239 -147
  57. package/cjs/components/material-exercise/exercise-room/ExerciseRoomList.js +92 -63
  58. package/cjs/components/material-exercise/exercise-room/helpers/exerciseRoomPermissionStringConvertor.js +2 -8
  59. package/cjs/components/material-exercise/exercise-room/locales/en.json.js +3 -1
  60. package/cjs/components/material-exercise/exercise-room/locales/ko.json.js +3 -1
  61. package/cjs/components/material-exercise/exercise-runner/ExerciseRunner.js +224 -223
  62. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerContext.js +1 -1
  63. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerController.js +13 -13
  64. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.js +30 -26
  65. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.js +26 -26
  66. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js +79 -95
  67. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.js +27 -27
  68. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerRunningInfo.js +54 -60
  69. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusIndicator.js +5 -5
  70. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusMessage.js +10 -13
  71. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerTimer.js +29 -26
  72. package/cjs/components/material-exercise/exercise-runner/locales/en.json.js +3 -1
  73. package/cjs/components/material-exercise/exercise-runner/locales/ko.json.js +3 -1
  74. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.d.ts +2 -2
  75. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.js +290 -180
  76. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.styled.js +8 -8
  77. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistoryOutput.js +41 -45
  78. package/cjs/components/material-exercise/exercise-submit-history/locales/en.json.js +7 -0
  79. package/cjs/components/material-exercise/exercise-submit-history/locales/ko.json.js +7 -0
  80. package/cjs/components/shared/exercise-menu-button/ExerciseMenuButton.js +19 -17
  81. package/cjs/components/shared/exercise-shimmer/ExerciseFileShimmer.js +5 -4
  82. package/cjs/components/shared/exercise-shimmer/ExerciseFileTabShimmer.js +15 -14
  83. package/cjs/components/shared/exercise-shimmer/ExerciseFileTabsShimmer.js +7 -6
  84. package/cjs/components/shared/exercise-shimmer/ExerciseFileTreeListItemShimmer.js +17 -16
  85. package/cjs/components/shared/exercise-shimmer/ExerciseFileTreeListShimmer.js +18 -11
  86. package/cjs/components/shared/exercise-version-list/ExerciseVersionList.js +5 -4
  87. package/cjs/components/shared/exercise-version-list/ExerciseVersionList.styled.js +1 -1
  88. package/cjs/components/shared/exercise-version-list/ExerciseVersionListItem.js +8 -7
  89. package/cjs/components/shared/exercise-version-list/ExerciseVersionListItem.styled.js +9 -5
  90. package/cjs/components/shared/file-icon/FileIcon.js +23 -23
  91. package/cjs/components/shared/file-tabs/FileTab.js +32 -43
  92. package/cjs/components/shared/file-tabs/FileTab.styled.js +26 -22
  93. package/cjs/components/shared/file-tabs/FileTabs.js +55 -49
  94. package/cjs/components/shared/file-tabs/FileTabs.styled.js +2 -2
  95. package/cjs/components/shared/file-tabs/util.js +29 -18
  96. package/cjs/components/shared/file-tree/FileTree.js +11 -11
  97. package/cjs/components/shared/file-tree/FileTreeConfig.js +24 -23
  98. package/cjs/components/shared/file-tree/FileTreeList.js +35 -41
  99. package/cjs/components/shared/file-tree/FileTreeListItemContent.js +75 -91
  100. package/cjs/components/shared/file-tree/FileTreeListItemContent.styled.js +29 -40
  101. package/cjs/components/shared/file-tree/FileTreeListItemContentInput.js +77 -101
  102. package/cjs/components/shared/file-tree/FileTreeListItemContentInput.styled.js +6 -6
  103. package/cjs/components/shared/file-tree/FileTreeListItemContentMenu.js +51 -86
  104. package/cjs/components/shared/file-tree/FileTreeListItems.js +150 -153
  105. package/cjs/components/shared/file-tree/FileTreeListItems.styled.js +2 -2
  106. package/cjs/components/shared/file-tree/FileTreeToolbar.js +30 -41
  107. package/cjs/components/shared/file-tree/FileTreeToolbar.styled.js +1 -1
  108. package/cjs/components/shared/file-tree/context/FileTreeContext.js +91 -97
  109. package/cjs/components/shared/file-tree/locales/en.json.js +3 -1
  110. package/cjs/components/shared/file-tree/locales/ko.json.js +3 -1
  111. package/cjs/components/shared/file-tree/utils/fileTreeFiles.js +20 -22
  112. package/cjs/components/shared/file-tree/utils/fileTreeGenerator.js +193 -173
  113. package/cjs/components/shared/file-tree/utils/fileTreeInput.js +0 -1
  114. package/cjs/components/shared/file-tree/utils/fileTreeItem.js +1 -1
  115. package/cjs/components/shared/file-tree/utils/fileTreePath.js +5 -7
  116. package/cjs/components/shared/file-viewer/FileViewer.js +59 -60
  117. package/cjs/components/shared/file-viewer/FileViewerCsv.js +145 -101
  118. package/cjs/components/shared/file-viewer/FileViewerImage.js +7 -8
  119. package/cjs/components/shared/file-viewer/FileViewerIpynb.js +20 -14
  120. package/cjs/components/shared/file-viewer/FileViewerNonViewable.js +28 -34
  121. package/cjs/components/shared/file-viewer/FileViewerText.js +23 -16
  122. package/cjs/components/shared/file-viewer/locales/en.json.js +3 -1
  123. package/cjs/components/shared/file-viewer/locales/ko.json.js +3 -1
  124. package/cjs/components/shared/file-viewer/locales/nonViewable.en.json.js +3 -1
  125. package/cjs/components/shared/file-viewer/locales/nonViewable.ko.json.js +3 -1
  126. package/cjs/components/shared/material-modal/MaterialModal.js +10 -12
  127. package/cjs/components/shared/material-modal/MaterialModal.styled.js +5 -5
  128. package/cjs/components/shared/monaco-editor/MonacoEditor.js +123 -149
  129. package/cjs/components/shared/monaco-editor/MonacoEditorLazy.js +10 -8
  130. package/cjs/components/shared/monaco-editor/MonacoEditorMobile.js +49 -58
  131. package/cjs/components/shared/monaco-editor/MonacoEditorPerferenceForm.js +78 -85
  132. package/cjs/components/shared/monaco-editor/constants/grammars/index.js +131 -52
  133. package/cjs/components/shared/monaco-editor/constants/monaco/preferences.js +5 -9
  134. package/cjs/components/shared/monaco-editor/constants/themes/index.js +80 -32
  135. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventChange.js +10 -13
  136. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventCursor.js +14 -18
  137. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventScroll.js +8 -9
  138. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoMarkers.js +54 -72
  139. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoOptions.js +14 -15
  140. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoTheme.js +8 -9
  141. package/cjs/components/shared/monaco-editor/editor-languages/css/formatter.js +36 -12
  142. package/cjs/components/shared/monaco-editor/editor-languages/css/index.js +5 -8
  143. package/cjs/components/shared/monaco-editor/editor-languages/html/formatter.js +36 -12
  144. package/cjs/components/shared/monaco-editor/editor-languages/html/index.js +3 -6
  145. package/cjs/components/shared/monaco-editor/editor-languages/index.js +3 -1
  146. package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/_helper.js +1 -1
  147. package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/express.js +3 -2
  148. package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/propTypes.js +3 -2
  149. package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/react.js +3 -2
  150. package/cjs/components/shared/monaco-editor/editor-languages/typescript/formatter.js +36 -12
  151. package/cjs/components/shared/monaco-editor/editor-languages/typescript/index.js +18 -24
  152. package/cjs/components/shared/monaco-editor/hooks/useEditorOptions.js +12 -9
  153. package/cjs/components/shared/monaco-editor/locales/en.json.js +3 -1
  154. package/cjs/components/shared/monaco-editor/locales/ko.json.js +3 -1
  155. package/cjs/components/shared/monaco-editor/utils/emmet/abbreviationActions.js +18 -28
  156. package/cjs/components/shared/monaco-editor/utils/emmet/emmet.js +0 -3
  157. package/cjs/components/shared/monaco-editor/utils/emmet/registerProvider.js +12 -8
  158. package/cjs/components/shared/monaco-editor/utils/grammar/index.js +70 -32
  159. package/cjs/components/shared/monaco-editor/utils/grammar/onigasm.js +25 -7
  160. package/cjs/components/shared/monaco-editor/utils/grammar/textmate.js +67 -43
  161. package/cjs/components/shared/monaco-editor/utils/monacoLanguage.js +9 -19
  162. package/cjs/components/shared/monaco-editor/utils/monacoPreference.js +6 -5
  163. package/cjs/components/shared/monaco-editor/utils/prettier/config.js +2 -3
  164. package/cjs/components/shared/monaco-editor/utils/prettier/index.js +30 -9
  165. package/cjs/components/shared/monaco-editor/utils/theme/convert.js +20 -26
  166. package/cjs/components/shared/monaco-editor/utils/theme/index.js +22 -5
  167. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursor.js +77 -75
  168. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorManager.js +82 -93
  169. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorWidget.js +125 -135
  170. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelection.js +148 -160
  171. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelectionManager.js +104 -118
  172. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/styles.js +2 -2
  173. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/configCompat.js +1 -3
  174. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/data.js +2 -3
  175. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/emmetHelper.js +218 -329
  176. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/utils.js +3 -6
  177. package/cjs/components/shared/no-vnc/NoVnc.js +93 -90
  178. package/cjs/components/shared/no-vnc/NoVncLazy.js +7 -5
  179. package/cjs/components/shared/preview-container/PreviewContainer.js +7 -10
  180. package/cjs/components/shared/web-browser/WebBrowser.js +54 -59
  181. package/cjs/components/shared/xterm/Xterm.js +112 -105
  182. package/cjs/components/shared/xterm/XtermLazy.js +7 -5
  183. package/cjs/components/shared/xterm/locales/en.json.js +3 -1
  184. package/cjs/components/shared/xterm/locales/ko.json.js +3 -1
  185. package/cjs/constants/arduino.js +10 -10
  186. package/cjs/constants/shortcutKeyMap.js +5 -5
  187. package/cjs/constants/stylesheets.js +7 -10
  188. package/cjs/hooks/useArduino.js +327 -255
  189. package/cjs/hooks/useExerciseFile.js +24 -24
  190. package/cjs/hooks/useExericseShortcut.js +6 -5
  191. package/cjs/hooks/useMaterialExerciseFileUrl.js +54 -37
  192. package/cjs/hooks/useRunnerRoomWebSocket.js +58 -56
  193. package/cjs/hooks/useStdioTextConcator.js +18 -12
  194. package/cjs/hooks/useStdioWebSocket.js +41 -67
  195. package/cjs/hooks/useUsercodeEditWebSocket.js +230 -252
  196. package/cjs/hooks/useUsercodeHistory.js +121 -82
  197. package/cjs/index.js +4 -4
  198. package/cjs/utils/arduino.js +23 -25
  199. package/cjs/utils/exerciseFile.js +8 -16
  200. package/cjs/utils/runner.js +29 -25
  201. package/es/_virtual/_rollupPluginBabelHelpers.js +504 -0
  202. package/es/components/material-exercise/MaterialExercise.js +33 -54
  203. package/es/components/material-exercise/MaterialExercise.styled.js +20 -23
  204. package/es/components/material-exercise/MaterialExerciseMobile.js +15 -13
  205. package/es/components/material-exercise/context/ExerciseIntlProvider.js +9 -13
  206. package/es/components/material-exercise/context/ExerciseProvider.js +79 -79
  207. package/es/components/material-exercise/context/ExerciseProviderNoImage.js +11 -13
  208. package/es/components/material-exercise/context/context.js +1 -1
  209. package/es/components/material-exercise/context/recoil.d.ts +2 -1
  210. package/es/components/material-exercise/context/recoil.js +563 -374
  211. package/es/components/material-exercise/context/recoilTypes.js +0 -5
  212. package/es/components/material-exercise/context/subjects.js +3 -6
  213. package/es/components/material-exercise/context/types.d.ts +8 -1
  214. package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.d.ts +2 -2
  215. package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.js +73 -62
  216. package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.js +8 -8
  217. package/es/components/material-exercise/exercise-code-history/locales/en.json.js +3 -0
  218. package/es/components/material-exercise/exercise-code-history/locales/ko.json.js +3 -0
  219. package/es/components/material-exercise/exercise-file/ExerciseFile.js +15 -18
  220. package/es/components/material-exercise/exercise-file-editor/ExerciseFileEditor.js +222 -195
  221. package/es/components/material-exercise/exercise-file-editor/ExerciseFileReadOnlyBanner.js +5 -9
  222. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabs.js +31 -28
  223. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabsFileTreeButton.js +52 -45
  224. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.js +1 -1
  225. package/es/components/material-exercise/exercise-file-tree/ExerciseFileTree.js +321 -225
  226. package/es/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.js +1 -1
  227. package/es/components/material-exercise/exercise-file-viewer/ExerciseFileViewer.js +12 -14
  228. package/es/components/material-exercise/exercise-menu/ExerciseMenu.js +7 -10
  229. package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.js +3 -5
  230. package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.js +43 -36
  231. package/es/components/material-exercise/exercise-menu/ExerciseMenuDropdown.js +53 -37
  232. package/es/components/material-exercise/exercise-menu/ExerciseMenuReset.js +25 -20
  233. package/es/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.js +41 -54
  234. package/es/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.js +12 -12
  235. package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdown.js +25 -19
  236. package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.js +1 -1
  237. package/es/components/material-exercise/exercise-preview/ExercisePreview.js +21 -34
  238. package/es/components/material-exercise/exercise-preview/ExercisePreviewDisplayModeButton.js +13 -10
  239. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpane.js +17 -28
  240. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpaneEditorPerference.js +9 -6
  241. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpaneEnvironment.js +81 -82
  242. package/es/components/material-exercise/exercise-room/ExerciseRoom.js +13 -7
  243. package/es/components/material-exercise/exercise-room/ExerciseRoom.styled.js +14 -12
  244. package/es/components/material-exercise/exercise-room/ExerciseRoomDetail.js +236 -146
  245. package/es/components/material-exercise/exercise-room/ExerciseRoomList.js +90 -63
  246. package/es/components/material-exercise/exercise-room/helpers/exerciseRoomPermissionStringConvertor.js +2 -8
  247. package/es/components/material-exercise/exercise-runner/ExerciseRunner.js +218 -219
  248. package/es/components/material-exercise/exercise-runner/ExerciseRunnerContext.js +1 -1
  249. package/es/components/material-exercise/exercise-runner/ExerciseRunnerController.js +7 -9
  250. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.js +27 -25
  251. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.js +22 -24
  252. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js +76 -94
  253. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.js +24 -26
  254. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerRunningInfo.js +51 -59
  255. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusIndicator.js +2 -4
  256. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusMessage.js +6 -11
  257. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerTimer.js +26 -25
  258. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.d.ts +2 -2
  259. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.js +284 -174
  260. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.styled.js +8 -8
  261. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistoryOutput.js +38 -44
  262. package/es/components/material-exercise/exercise-submit-history/locales/en.json.js +3 -0
  263. package/es/components/material-exercise/exercise-submit-history/locales/ko.json.js +3 -0
  264. package/es/components/shared/exercise-menu-button/ExerciseMenuButton.js +16 -16
  265. package/es/components/shared/exercise-shimmer/ExerciseFileShimmer.js +2 -3
  266. package/es/components/shared/exercise-shimmer/ExerciseFileTabShimmer.js +12 -13
  267. package/es/components/shared/exercise-shimmer/ExerciseFileTabsShimmer.js +2 -3
  268. package/es/components/shared/exercise-shimmer/ExerciseFileTreeListItemShimmer.js +14 -15
  269. package/es/components/shared/exercise-shimmer/ExerciseFileTreeListShimmer.js +15 -10
  270. package/es/components/shared/exercise-version-list/ExerciseVersionList.js +2 -3
  271. package/es/components/shared/exercise-version-list/ExerciseVersionList.styled.js +1 -1
  272. package/es/components/shared/exercise-version-list/ExerciseVersionListItem.js +5 -6
  273. package/es/components/shared/exercise-version-list/ExerciseVersionListItem.styled.js +9 -5
  274. package/es/components/shared/file-icon/FileIcon.js +20 -22
  275. package/es/components/shared/file-tabs/FileTab.js +28 -41
  276. package/es/components/shared/file-tabs/FileTab.styled.js +26 -22
  277. package/es/components/shared/file-tabs/FileTabs.js +52 -48
  278. package/es/components/shared/file-tabs/FileTabs.styled.js +2 -2
  279. package/es/components/shared/file-tabs/util.js +29 -18
  280. package/es/components/shared/file-tree/FileTree.js +3 -5
  281. package/es/components/shared/file-tree/FileTreeConfig.js +21 -22
  282. package/es/components/shared/file-tree/FileTreeList.js +31 -39
  283. package/es/components/shared/file-tree/FileTreeListItemContent.js +67 -85
  284. package/es/components/shared/file-tree/FileTreeListItemContent.styled.js +29 -40
  285. package/es/components/shared/file-tree/FileTreeListItemContentInput.js +74 -100
  286. package/es/components/shared/file-tree/FileTreeListItemContentInput.styled.js +6 -6
  287. package/es/components/shared/file-tree/FileTreeListItemContentMenu.js +48 -85
  288. package/es/components/shared/file-tree/FileTreeListItems.js +147 -152
  289. package/es/components/shared/file-tree/FileTreeListItems.styled.js +2 -2
  290. package/es/components/shared/file-tree/FileTreeToolbar.js +24 -37
  291. package/es/components/shared/file-tree/FileTreeToolbar.styled.js +1 -1
  292. package/es/components/shared/file-tree/context/FileTreeContext.js +91 -97
  293. package/es/components/shared/file-tree/utils/fileTreeFiles.js +20 -22
  294. package/es/components/shared/file-tree/utils/fileTreeGenerator.js +193 -173
  295. package/es/components/shared/file-tree/utils/fileTreeInput.js +0 -1
  296. package/es/components/shared/file-tree/utils/fileTreeItem.js +1 -1
  297. package/es/components/shared/file-tree/utils/fileTreePath.js +5 -7
  298. package/es/components/shared/file-viewer/FileViewer.js +52 -53
  299. package/es/components/shared/file-viewer/FileViewerCsv.js +141 -99
  300. package/es/components/shared/file-viewer/FileViewerImage.js +3 -6
  301. package/es/components/shared/file-viewer/FileViewerIpynb.js +16 -12
  302. package/es/components/shared/file-viewer/FileViewerNonViewable.js +22 -30
  303. package/es/components/shared/file-viewer/FileViewerText.js +18 -13
  304. package/es/components/shared/material-modal/MaterialModal.js +7 -11
  305. package/es/components/shared/material-modal/MaterialModal.styled.js +5 -5
  306. package/es/components/shared/monaco-editor/MonacoEditor.js +119 -147
  307. package/es/components/shared/monaco-editor/MonacoEditorLazy.js +6 -4
  308. package/es/components/shared/monaco-editor/MonacoEditorMobile.js +45 -56
  309. package/es/components/shared/monaco-editor/MonacoEditorPerferenceForm.js +73 -82
  310. package/es/components/shared/monaco-editor/constants/grammars/index.js +131 -52
  311. package/es/components/shared/monaco-editor/constants/monaco/preferences.js +5 -9
  312. package/es/components/shared/monaco-editor/constants/themes/index.js +80 -32
  313. package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventChange.js +10 -13
  314. package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventCursor.js +14 -18
  315. package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventScroll.js +8 -9
  316. package/es/components/shared/monaco-editor/editor-hooks/useMonacoMarkers.js +54 -72
  317. package/es/components/shared/monaco-editor/editor-hooks/useMonacoOptions.js +14 -15
  318. package/es/components/shared/monaco-editor/editor-hooks/useMonacoTheme.js +8 -9
  319. package/es/components/shared/monaco-editor/editor-languages/css/formatter.js +33 -11
  320. package/es/components/shared/monaco-editor/editor-languages/css/index.js +2 -5
  321. package/es/components/shared/monaco-editor/editor-languages/html/formatter.js +33 -11
  322. package/es/components/shared/monaco-editor/editor-languages/html/index.js +2 -5
  323. package/es/components/shared/monaco-editor/editor-languages/typescript/dts/_helper.js +1 -1
  324. package/es/components/shared/monaco-editor/editor-languages/typescript/dts/express.js +0 -1
  325. package/es/components/shared/monaco-editor/editor-languages/typescript/dts/propTypes.js +0 -1
  326. package/es/components/shared/monaco-editor/editor-languages/typescript/dts/react.js +0 -1
  327. package/es/components/shared/monaco-editor/editor-languages/typescript/formatter.js +33 -11
  328. package/es/components/shared/monaco-editor/editor-languages/typescript/index.js +10 -16
  329. package/es/components/shared/monaco-editor/hooks/useEditorOptions.js +12 -9
  330. package/es/components/shared/monaco-editor/utils/emmet/abbreviationActions.js +18 -28
  331. package/es/components/shared/monaco-editor/utils/emmet/emmet.js +0 -3
  332. package/es/components/shared/monaco-editor/utils/emmet/registerProvider.js +12 -8
  333. package/es/components/shared/monaco-editor/utils/grammar/index.js +67 -31
  334. package/es/components/shared/monaco-editor/utils/grammar/onigasm.js +25 -7
  335. package/es/components/shared/monaco-editor/utils/grammar/textmate.js +67 -43
  336. package/es/components/shared/monaco-editor/utils/monacoLanguage.js +9 -19
  337. package/es/components/shared/monaco-editor/utils/monacoPreference.js +6 -5
  338. package/es/components/shared/monaco-editor/utils/prettier/config.js +2 -3
  339. package/es/components/shared/monaco-editor/utils/prettier/index.js +27 -8
  340. package/es/components/shared/monaco-editor/utils/theme/convert.js +20 -26
  341. package/es/components/shared/monaco-editor/utils/theme/index.js +22 -5
  342. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursor.js +77 -75
  343. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorManager.js +82 -93
  344. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorWidget.js +125 -135
  345. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelection.js +148 -160
  346. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelectionManager.js +104 -118
  347. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/styles.js +2 -2
  348. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/configCompat.js +1 -3
  349. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/data.js +2 -3
  350. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/emmetHelper.js +219 -330
  351. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/utils.js +3 -6
  352. package/es/components/shared/no-vnc/NoVnc.js +89 -88
  353. package/es/components/shared/no-vnc/NoVncLazy.js +4 -2
  354. package/es/components/shared/preview-container/PreviewContainer.js +7 -10
  355. package/es/components/shared/web-browser/WebBrowser.js +49 -56
  356. package/es/components/shared/xterm/Xterm.js +107 -102
  357. package/es/components/shared/xterm/XtermLazy.js +4 -2
  358. package/es/constants/arduino.js +10 -10
  359. package/es/constants/shortcutKeyMap.js +3 -5
  360. package/es/constants/stylesheets.js +7 -10
  361. package/es/hooks/useArduino.js +327 -255
  362. package/es/hooks/useExerciseFile.js +24 -24
  363. package/es/hooks/useExericseShortcut.js +6 -5
  364. package/es/hooks/useMaterialExerciseFileUrl.js +55 -38
  365. package/es/hooks/useRunnerRoomWebSocket.js +58 -56
  366. package/es/hooks/useStdioTextConcator.js +18 -12
  367. package/es/hooks/useStdioWebSocket.js +41 -67
  368. package/es/hooks/useUsercodeEditWebSocket.js +230 -252
  369. package/es/hooks/useUsercodeHistory.js +122 -83
  370. package/es/utils/arduino.js +23 -25
  371. package/es/utils/exerciseFile.js +8 -16
  372. package/es/utils/runner.js +29 -25
  373. package/package.json +8 -8
@@ -10,34 +10,34 @@ import { checkExerciseFileEditable, checkExerciseFileResettable } from '../utils
10
10
  /**
11
11
  * Check whether the exercise file is editable.
12
12
  */
13
-
14
- const useExerciseFileEditable = filename => {
15
- const {
16
- materialExerciseId,
17
- exerciseRoomId
18
- } = useContext(ExerciseContext);
19
- const exercise = useRecoilValue(exerciseState(materialExerciseId));
20
- const exerciseRoom = useRecoilValue(exerciseRoomState(exerciseRoomId));
21
- return useMemo(() => checkExerciseFileEditable(filename, {
22
- exercise,
23
- exerciseRoom
24
- }), [filename, exercise, exerciseRoom]);
13
+ var useExerciseFileEditable = function useExerciseFileEditable(filename) {
14
+ var _useContext = useContext(ExerciseContext),
15
+ materialExerciseId = _useContext.materialExerciseId,
16
+ exerciseRoomId = _useContext.exerciseRoomId;
17
+ var exercise = useRecoilValue(exerciseState(materialExerciseId));
18
+ var exerciseRoom = useRecoilValue(exerciseRoomState(exerciseRoomId));
19
+ return useMemo(function () {
20
+ return checkExerciseFileEditable(filename, {
21
+ exercise: exercise,
22
+ exerciseRoom: exerciseRoom
23
+ });
24
+ }, [filename, exercise, exerciseRoom]);
25
25
  };
26
26
  /**
27
27
  * Check whether the exercise file is resettable.
28
28
  */
29
-
30
- const useExerciseFileResettable = filename => {
31
- const {
32
- materialExerciseId,
33
- exerciseRoomId
34
- } = useContext(ExerciseContext);
35
- const exercise = useRecoilValue(exerciseState(materialExerciseId));
36
- const exerciseRoom = useRecoilValue(exerciseRoomState(exerciseRoomId));
37
- return useMemo(() => checkExerciseFileResettable(filename, {
38
- exercise,
39
- exerciseRoom
40
- }), [filename, exercise, exerciseRoom]);
29
+ var useExerciseFileResettable = function useExerciseFileResettable(filename) {
30
+ var _useContext2 = useContext(ExerciseContext),
31
+ materialExerciseId = _useContext2.materialExerciseId,
32
+ exerciseRoomId = _useContext2.exerciseRoomId;
33
+ var exercise = useRecoilValue(exerciseState(materialExerciseId));
34
+ var exerciseRoom = useRecoilValue(exerciseRoomState(exerciseRoomId));
35
+ return useMemo(function () {
36
+ return checkExerciseFileResettable(filename, {
37
+ exercise: exercise,
38
+ exerciseRoom: exerciseRoom
39
+ });
40
+ }, [filename, exercise, exerciseRoom]);
41
41
  };
42
42
 
43
43
  export { useExerciseFileEditable, useExerciseFileResettable };
@@ -1,16 +1,17 @@
1
1
  import { useKey } from 'react-use';
2
2
  import EXERCISE_SHORTCUT_KEY_MAP from '../constants/shortcutKeyMap.js';
3
3
 
4
- const useExericseShortcut = (name, fn) => {
5
- const keys = EXERCISE_SHORTCUT_KEY_MAP[name];
6
- useKey(e => {
7
- if (keys && keys.some(key => key.key === e.key && key.metaKey === e.metaKey && key.ctrlKey === e.ctrlKey && key.shiftKey === e.shiftKey && key.altKey === e.altKey)) {
4
+ var useExericseShortcut = function useExericseShortcut(name, fn) {
5
+ var keys = EXERCISE_SHORTCUT_KEY_MAP[name];
6
+ useKey(function (e) {
7
+ if (keys && keys.some(function (key) {
8
+ return key.key === e.key && key.metaKey === e.metaKey && key.ctrlKey === e.ctrlKey && key.shiftKey === e.shiftKey && key.altKey === e.altKey;
9
+ })) {
8
10
  // console.log(e);
9
11
  e.preventDefault();
10
12
  e.stopPropagation();
11
13
  return true;
12
14
  }
13
-
14
15
  return false;
15
16
  }, fn, {
16
17
  event: 'keydown'
@@ -1,51 +1,68 @@
1
+ import { slicedToArray as _slicedToArray, asyncToGenerator as _asyncToGenerator, regeneratorRuntime as _regeneratorRuntime } from '../_virtual/_rollupPluginBabelHelpers.js';
1
2
  import React from 'react';
2
- import { getOrgMaterialExerciseExerciseImageExerciseFileGet, getOrgMaterialExerciseExerciseRoomUserFileGet } from '@elice/api-client';
3
+ import { getOrgMaterialExerciseExerciseRoomUserFileGet, getOrgMaterialExerciseExerciseImageExerciseFileGet } from '@elice/api-client';
3
4
 
4
- const useMaterialExerciseFileUrl = ({
5
- filename,
6
- exercise,
7
- exerciseRoomId,
8
- onError
9
- }) => {
10
- const [fileUrl, setFileUrl] = React.useState(null); //
5
+ var useMaterialExerciseFileUrl = function useMaterialExerciseFileUrl(_ref) {
6
+ var filename = _ref.filename,
7
+ exercise = _ref.exercise,
8
+ exerciseRoomId = _ref.exerciseRoomId,
9
+ onError = _ref.onError;
10
+ var _React$useState = React.useState(null),
11
+ _React$useState2 = _slicedToArray(_React$useState, 2),
12
+ fileUrl = _React$useState2[0],
13
+ setFileUrl = _React$useState2[1];
14
+ //
11
15
  // Fetch file url.
12
16
  //
13
-
14
- React.useEffect(() => {
15
- const abortCtrl = new AbortController();
16
- const exerciseImage = exercise === null || exercise === void 0 ? void 0 : exercise.readyExerciseImage;
17
-
17
+ React.useEffect(function () {
18
+ var abortCtrl = new AbortController();
19
+ var exerciseImage = exercise === null || exercise === void 0 ? void 0 : exercise.readyExerciseImage;
18
20
  if (!exerciseImage || !filename) {
19
21
  return;
20
22
  }
21
-
22
- (async () => {
23
- var _a;
24
-
25
- const exerciseImageFileList = (_a = exerciseImage.filelist) !== null && _a !== void 0 ? _a : []; // origin from exercise image
26
-
27
- if (exerciseImageFileList.includes(filename)) {
28
- return getOrgMaterialExerciseExerciseImageExerciseFileGet({
29
- exerciseImageId: exerciseImage.id,
30
- filename
31
- }, {
32
- signal: abortCtrl.signal
33
- }).then(res => res.exerciseFile.url).catch(() => null);
34
- } // origin from exercise room
35
- else {
36
- return getOrgMaterialExerciseExerciseRoomUserFileGet({
37
- exerciseRoomId,
38
- filename
39
- }, {
40
- signal: abortCtrl.signal
41
- }).then(res => res.userFile.url).catch(() => null);
42
- }
43
- })().then(setFileUrl).catch(onError);
44
- return () => {
23
+ _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
24
+ var _a, exerciseImageFileList;
25
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
26
+ while (1) switch (_context.prev = _context.next) {
27
+ case 0:
28
+ exerciseImageFileList = (_a = exerciseImage.filelist) !== null && _a !== void 0 ? _a : []; // origin from exercise image
29
+ if (!exerciseImageFileList.includes(filename)) {
30
+ _context.next = 5;
31
+ break;
32
+ }
33
+ return _context.abrupt("return", getOrgMaterialExerciseExerciseImageExerciseFileGet({
34
+ exerciseImageId: exerciseImage.id,
35
+ filename: filename
36
+ }, {
37
+ signal: abortCtrl.signal
38
+ }).then(function (res) {
39
+ return res.exerciseFile.url;
40
+ }).catch(function () {
41
+ return null;
42
+ }));
43
+ case 5:
44
+ return _context.abrupt("return", getOrgMaterialExerciseExerciseRoomUserFileGet({
45
+ exerciseRoomId: exerciseRoomId,
46
+ filename: filename
47
+ }, {
48
+ signal: abortCtrl.signal
49
+ }).then(function (res) {
50
+ return res.userFile.url;
51
+ }).catch(function () {
52
+ return null;
53
+ }));
54
+ case 6:
55
+ case "end":
56
+ return _context.stop();
57
+ }
58
+ }, _callee);
59
+ }))().then(setFileUrl).catch(onError);
60
+ return function () {
45
61
  abortCtrl.abort();
46
62
  setFileUrl(null);
47
63
  };
48
- }, // eslint-disable-next-line react-hooks/exhaustive-deps
64
+ },
65
+ // eslint-disable-next-line react-hooks/exhaustive-deps
49
66
  [exercise, exerciseRoomId, filename]);
50
67
  return fileUrl;
51
68
  };
@@ -1,3 +1,4 @@
1
+ import { slicedToArray as _slicedToArray, asyncToGenerator as _asyncToGenerator, regeneratorRuntime as _regeneratorRuntime } from '../_virtual/_rollupPluginBabelHelpers.js';
1
2
  import { useRef, useState, useCallback, useEffect } from 'react';
2
3
  import { config, postOrgRunnerRoomExerciseRoomJoin } from '@elice/api-client';
3
4
  import { useMaterialConfig, useMaterialConfigApiClientUpdate } from '@elice/material-shared-utils';
@@ -6,42 +7,44 @@ import { camelizeKeys } from 'humps';
6
7
 
7
8
  //
8
9
  //
9
-
10
- const MAX_WEBSOCKET_RETRY_COUNT = 5;
10
+ //
11
+ var MAX_WEBSOCKET_RETRY_COUNT = 5;
11
12
  /**
12
13
  *
13
14
  */
14
-
15
- const useRunnerRoomWebSocket = ({
16
- exerciseRoomId
17
- }) => {
18
- const _return = useRef({});
19
-
20
- const {
21
- apiWsOriginUrl
22
- } = useMaterialConfig();
23
- const isReady = useMaterialConfigApiClientUpdate(config.init);
24
- const websocket = useRef(null);
25
- const [websocketReadyState, setWebSocketReadyState] = useState(EliceWebSocket.CLOSED);
26
- const [isRunning, setRunning] = useState(false);
27
- const [roomConnectionInfo, setRoomConnectionInfo] = useState(null); //
15
+ var useRunnerRoomWebSocket = function useRunnerRoomWebSocket(_ref) {
16
+ var exerciseRoomId = _ref.exerciseRoomId;
17
+ var _return = useRef({});
18
+ var _useMaterialConfig = useMaterialConfig(),
19
+ apiWsOriginUrl = _useMaterialConfig.apiWsOriginUrl;
20
+ var isReady = useMaterialConfigApiClientUpdate(config.init);
21
+ var websocket = useRef(null);
22
+ var _useState = useState(EliceWebSocket.CLOSED),
23
+ _useState2 = _slicedToArray(_useState, 2),
24
+ websocketReadyState = _useState2[0],
25
+ setWebSocketReadyState = _useState2[1];
26
+ var _useState3 = useState(false),
27
+ _useState4 = _slicedToArray(_useState3, 2),
28
+ isRunning = _useState4[0],
29
+ setRunning = _useState4[1];
30
+ var _useState5 = useState(null),
31
+ _useState6 = _slicedToArray(_useState5, 2),
32
+ roomConnectionInfo = _useState6[0],
33
+ setRoomConnectionInfo = _useState6[1];
34
+ //
28
35
  // =============== websocket ===============
29
36
  //
30
-
31
37
  /**
32
38
  * Reconnect websocket.
33
39
  */
34
-
35
- const reconnect = useCallback(() => {
40
+ var reconnect = useCallback(function () {
36
41
  var _a;
37
-
38
42
  (_a = websocket.current) === null || _a === void 0 ? void 0 : _a.reconnect();
39
43
  }, []);
40
44
  /**
41
45
  * Websocket on open.
42
46
  */
43
-
44
- const wsOpen = () => {
47
+ var wsOpen = function wsOpen() {
45
48
  if (websocket.current) {
46
49
  setWebSocketReadyState(websocket.current.readyState);
47
50
  }
@@ -49,9 +52,7 @@ const useRunnerRoomWebSocket = ({
49
52
  /**
50
53
  * Websocket on close.
51
54
  */
52
-
53
-
54
- const wsClose = () => {
55
+ var wsClose = function wsClose() {
55
56
  if (websocket.current) {
56
57
  setWebSocketReadyState(websocket.current.readyState);
57
58
  }
@@ -59,9 +60,7 @@ const useRunnerRoomWebSocket = ({
59
60
  /**
60
61
  * Websocket on error.
61
62
  */
62
-
63
-
64
- const wsError = () => {
63
+ var wsError = function wsError() {
65
64
  if (websocket.current) {
66
65
  setWebSocketReadyState(websocket.current.readyState);
67
66
  }
@@ -69,20 +68,15 @@ const useRunnerRoomWebSocket = ({
69
68
  /**
70
69
  * Websocket on message.
71
70
  */
72
-
73
-
74
- const wsMessage = e => {
75
- const msg = camelizeKeys(e.data);
76
-
71
+ var wsMessage = function wsMessage(e) {
72
+ var msg = camelizeKeys(e.data);
77
73
  switch (msg.type) {
78
74
  case 'ROOM_PREPARED':
79
75
  wsMessageRoomPrepared(msg);
80
76
  break;
81
-
82
77
  case 'EXECUTE_CONTAINER':
83
78
  wsMessageExecuteContainer();
84
79
  break;
85
-
86
80
  case 'EXECUTE_DONE':
87
81
  wsMessageExecuteDone();
88
82
  break;
@@ -91,9 +85,7 @@ const useRunnerRoomWebSocket = ({
91
85
  /**
92
86
  * Websocket on `ROOM_PREPARED` message.
93
87
  */
94
-
95
-
96
- const wsMessageRoomPrepared = msg => {
88
+ var wsMessageRoomPrepared = function wsMessageRoomPrepared(msg) {
97
89
  setRoomConnectionInfo(Object.assign(Object.assign({}, msg.data.forwarder), {
98
90
  roomToken: msg.data.roomToken
99
91
  }));
@@ -101,35 +93,44 @@ const useRunnerRoomWebSocket = ({
101
93
  /**
102
94
  * Websocket on `EXECUTE_CONTAINER` message.
103
95
  */
104
-
105
-
106
- const wsMessageExecuteContainer = msg => {
96
+ var wsMessageExecuteContainer = function wsMessageExecuteContainer(msg) {
107
97
  setRunning(true);
108
98
  };
109
99
  /**
110
100
  * Websocket on `EXECUTE_DONE` message.
111
101
  */
112
-
113
-
114
- const wsMessageExecuteDone = msg => {
102
+ var wsMessageExecuteDone = function wsMessageExecuteDone(msg) {
115
103
  setRunning(false);
116
104
  };
117
105
  /**
118
106
  * Create usercode websocket url.
119
107
  */
120
-
121
-
122
- const createUsercodeUrl = useCallback(async () => Promise.resolve(`${apiWsOriginUrl}/runner_room`).then(url => postOrgRunnerRoomExerciseRoomJoin({
123
- exerciseRoomId
124
- }).then(data => `${url}/${data.roomToken}`).catch(() => `${url}/`)), [apiWsOriginUrl, exerciseRoomId]); //
108
+ var createUsercodeUrl = useCallback( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
109
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
110
+ while (1) switch (_context.prev = _context.next) {
111
+ case 0:
112
+ return _context.abrupt("return", Promise.resolve("".concat(apiWsOriginUrl, "/runner_room")).then(function (url) {
113
+ return postOrgRunnerRoomExerciseRoomJoin({
114
+ exerciseRoomId: exerciseRoomId
115
+ }).then(function (data) {
116
+ return "".concat(url, "/").concat(data.roomToken);
117
+ }).catch(function () {
118
+ return "".concat(url, "/");
119
+ });
120
+ }));
121
+ case 1:
122
+ case "end":
123
+ return _context.stop();
124
+ }
125
+ }, _callee);
126
+ })), [apiWsOriginUrl, exerciseRoomId]);
127
+ //
125
128
  // Initialize websocket.
126
129
  //
127
-
128
- useEffect(() => {
130
+ useEffect(function () {
129
131
  if (!isReady) {
130
132
  return;
131
133
  }
132
-
133
134
  websocket.current = new EliceWebSocket(createUsercodeUrl, undefined, {
134
135
  maxRetries: MAX_WEBSOCKET_RETRY_COUNT
135
136
  });
@@ -137,16 +138,17 @@ const useRunnerRoomWebSocket = ({
137
138
  websocket.current.onclose = wsClose;
138
139
  websocket.current.onmessage = wsMessage;
139
140
  websocket.current.onerror = wsError;
140
- return () => {
141
+ return function () {
141
142
  if (websocket.current) {
142
143
  websocket.current.close();
143
144
  }
144
145
  };
145
- }, // eslint-disable-next-line react-hooks/exhaustive-deps
146
- [isReady, createUsercodeUrl]); //
146
+ },
147
+ // eslint-disable-next-line react-hooks/exhaustive-deps
148
+ [isReady, createUsercodeUrl]);
149
+ //
147
150
  //
148
151
  //
149
-
150
152
  _return.current.isRunning = isRunning;
151
153
  _return.current.roomConnectionInfo = roomConnectionInfo;
152
154
  _return.current.readyState = websocketReadyState;
@@ -1,3 +1,4 @@
1
+ import { slicedToArray as _slicedToArray } from '../_virtual/_rollupPluginBabelHelpers.js';
1
2
  import React from 'react';
2
3
  import { useRecoilValue } from 'recoil';
3
4
  import { exerciseRunnerRunningState } from '../components/material-exercise/context/recoil.js';
@@ -6,26 +7,31 @@ import '../components/material-exercise/context/recoilTypes.js';
6
7
  import '../components/material-exercise/context/subjects.js';
7
8
  import '../components/material-exercise/context/ExerciseProvider.js';
8
9
 
9
- const useStdioTextConcator = done => {
10
- const RUNNER_AND_STDIO_DELAY_SAFETY_FACTOR = 1000;
11
- const [text, setText] = React.useState('');
12
- const isRunning = useRecoilValue(exerciseRunnerRunningState);
13
- React.useEffect(() => {
10
+ var useStdioTextConcator = function useStdioTextConcator(done) {
11
+ var RUNNER_AND_STDIO_DELAY_SAFETY_FACTOR = 1000;
12
+ var _React$useState = React.useState(''),
13
+ _React$useState2 = _slicedToArray(_React$useState, 2),
14
+ text = _React$useState2[0],
15
+ setText = _React$useState2[1];
16
+ var isRunning = useRecoilValue(exerciseRunnerRunningState);
17
+ React.useEffect(function () {
14
18
  if (isRunning) {
15
19
  setText('');
16
20
  } else {
17
- setTimeout(() => {
21
+ setTimeout(function () {
18
22
  done(text);
19
23
  }, RUNNER_AND_STDIO_DELAY_SAFETY_FACTOR);
20
- } // eslint-disable-next-line react-hooks/exhaustive-deps
21
-
24
+ }
25
+ // eslint-disable-next-line react-hooks/exhaustive-deps
22
26
  }, [isRunning]);
23
- const updateStdioTextConcator = React.useCallback(text => {
24
- setText(state => state.concat(text));
27
+ var updateStdioTextConcator = React.useCallback(function (text) {
28
+ setText(function (state) {
29
+ return state.concat(text);
30
+ });
25
31
  }, []);
26
32
  return {
27
- updateStdioTextConcator,
28
- done
33
+ updateStdioTextConcator: updateStdioTextConcator,
34
+ done: done
29
35
  };
30
36
  };
31
37