@elice/material-exercise 1.230328.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 (369) 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.js +559 -371
  12. package/cjs/components/material-exercise/context/recoilTypes.js +0 -5
  13. package/cjs/components/material-exercise/context/subjects.js +3 -6
  14. package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.d.ts +2 -2
  15. package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.js +78 -65
  16. package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.js +8 -8
  17. package/cjs/components/material-exercise/exercise-code-history/locales/en.json.js +7 -0
  18. package/cjs/components/material-exercise/exercise-code-history/locales/ko.json.js +7 -0
  19. package/cjs/components/material-exercise/exercise-file/ExerciseFile.js +20 -21
  20. package/cjs/components/material-exercise/exercise-file-editor/ExerciseFileEditor.js +225 -198
  21. package/cjs/components/material-exercise/exercise-file-editor/ExerciseFileReadOnlyBanner.js +8 -10
  22. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabs.js +35 -32
  23. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabsFileTreeButton.js +57 -48
  24. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.js +6 -4
  25. package/cjs/components/material-exercise/exercise-file-tabs/locales/fileTreeButton.en.json.js +3 -1
  26. package/cjs/components/material-exercise/exercise-file-tabs/locales/fileTreeButton.ko.json.js +3 -1
  27. package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTree.js +327 -231
  28. package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.js +6 -4
  29. package/cjs/components/material-exercise/exercise-file-tree/locales/en.json.js +3 -1
  30. package/cjs/components/material-exercise/exercise-file-tree/locales/ko.json.js +3 -1
  31. package/cjs/components/material-exercise/exercise-file-viewer/ExerciseFileViewer.js +17 -17
  32. package/cjs/components/material-exercise/exercise-menu/ExerciseMenu.js +13 -14
  33. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.js +6 -6
  34. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.js +47 -38
  35. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuDropdown.js +60 -42
  36. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuReset.js +29 -22
  37. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.js +45 -56
  38. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.js +12 -12
  39. package/cjs/components/material-exercise/exercise-menu/locales/en.json.js +3 -1
  40. package/cjs/components/material-exercise/exercise-menu/locales/ko.json.js +3 -1
  41. package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdown.js +28 -20
  42. package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.js +5 -3
  43. package/cjs/components/material-exercise/exercise-preview/ExercisePreview.js +30 -41
  44. package/cjs/components/material-exercise/exercise-preview/ExercisePreviewDisplayModeButton.js +17 -12
  45. package/cjs/components/material-exercise/exercise-preview/locales/en.json.js +3 -1
  46. package/cjs/components/material-exercise/exercise-preview/locales/ko.json.js +3 -1
  47. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpane.js +24 -33
  48. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpaneEditorPerference.js +13 -8
  49. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpaneEnvironment.js +84 -83
  50. package/cjs/components/material-exercise/exercise-rightpane/locales/en.json.js +3 -1
  51. package/cjs/components/material-exercise/exercise-rightpane/locales/ko.json.js +3 -1
  52. package/cjs/components/material-exercise/exercise-room/ExerciseRoom.js +20 -12
  53. package/cjs/components/material-exercise/exercise-room/ExerciseRoom.styled.js +14 -12
  54. package/cjs/components/material-exercise/exercise-room/ExerciseRoomDetail.js +239 -147
  55. package/cjs/components/material-exercise/exercise-room/ExerciseRoomList.js +92 -63
  56. package/cjs/components/material-exercise/exercise-room/helpers/exerciseRoomPermissionStringConvertor.js +2 -8
  57. package/cjs/components/material-exercise/exercise-room/locales/en.json.js +3 -1
  58. package/cjs/components/material-exercise/exercise-room/locales/ko.json.js +3 -1
  59. package/cjs/components/material-exercise/exercise-runner/ExerciseRunner.js +219 -220
  60. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerContext.js +1 -1
  61. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerController.js +13 -13
  62. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.js +30 -26
  63. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.js +26 -26
  64. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js +70 -95
  65. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.js +27 -27
  66. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerRunningInfo.js +54 -60
  67. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusIndicator.js +5 -5
  68. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusMessage.js +10 -13
  69. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerTimer.js +29 -26
  70. package/cjs/components/material-exercise/exercise-runner/locales/en.json.js +3 -1
  71. package/cjs/components/material-exercise/exercise-runner/locales/ko.json.js +3 -1
  72. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.d.ts +2 -2
  73. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.js +290 -180
  74. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.styled.js +8 -8
  75. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistoryOutput.js +41 -45
  76. package/cjs/components/material-exercise/exercise-submit-history/locales/en.json.js +7 -0
  77. package/cjs/components/material-exercise/exercise-submit-history/locales/ko.json.js +7 -0
  78. package/cjs/components/shared/exercise-menu-button/ExerciseMenuButton.js +19 -17
  79. package/cjs/components/shared/exercise-shimmer/ExerciseFileShimmer.js +5 -4
  80. package/cjs/components/shared/exercise-shimmer/ExerciseFileTabShimmer.js +15 -14
  81. package/cjs/components/shared/exercise-shimmer/ExerciseFileTabsShimmer.js +7 -6
  82. package/cjs/components/shared/exercise-shimmer/ExerciseFileTreeListItemShimmer.js +17 -16
  83. package/cjs/components/shared/exercise-shimmer/ExerciseFileTreeListShimmer.js +18 -11
  84. package/cjs/components/shared/exercise-version-list/ExerciseVersionList.js +5 -4
  85. package/cjs/components/shared/exercise-version-list/ExerciseVersionList.styled.js +1 -1
  86. package/cjs/components/shared/exercise-version-list/ExerciseVersionListItem.js +8 -7
  87. package/cjs/components/shared/exercise-version-list/ExerciseVersionListItem.styled.js +9 -5
  88. package/cjs/components/shared/file-icon/FileIcon.js +23 -23
  89. package/cjs/components/shared/file-tabs/FileTab.js +32 -43
  90. package/cjs/components/shared/file-tabs/FileTab.styled.js +26 -22
  91. package/cjs/components/shared/file-tabs/FileTabs.js +55 -49
  92. package/cjs/components/shared/file-tabs/FileTabs.styled.js +2 -2
  93. package/cjs/components/shared/file-tabs/util.js +29 -18
  94. package/cjs/components/shared/file-tree/FileTree.js +11 -11
  95. package/cjs/components/shared/file-tree/FileTreeConfig.js +24 -23
  96. package/cjs/components/shared/file-tree/FileTreeList.js +35 -41
  97. package/cjs/components/shared/file-tree/FileTreeListItemContent.js +75 -91
  98. package/cjs/components/shared/file-tree/FileTreeListItemContent.styled.js +29 -40
  99. package/cjs/components/shared/file-tree/FileTreeListItemContentInput.js +77 -101
  100. package/cjs/components/shared/file-tree/FileTreeListItemContentInput.styled.js +6 -6
  101. package/cjs/components/shared/file-tree/FileTreeListItemContentMenu.js +51 -86
  102. package/cjs/components/shared/file-tree/FileTreeListItems.js +150 -153
  103. package/cjs/components/shared/file-tree/FileTreeListItems.styled.js +2 -2
  104. package/cjs/components/shared/file-tree/FileTreeToolbar.js +30 -41
  105. package/cjs/components/shared/file-tree/FileTreeToolbar.styled.js +1 -1
  106. package/cjs/components/shared/file-tree/context/FileTreeContext.js +91 -97
  107. package/cjs/components/shared/file-tree/locales/en.json.js +3 -1
  108. package/cjs/components/shared/file-tree/locales/ko.json.js +3 -1
  109. package/cjs/components/shared/file-tree/utils/fileTreeFiles.js +20 -22
  110. package/cjs/components/shared/file-tree/utils/fileTreeGenerator.js +193 -173
  111. package/cjs/components/shared/file-tree/utils/fileTreeInput.js +0 -1
  112. package/cjs/components/shared/file-tree/utils/fileTreeItem.js +1 -1
  113. package/cjs/components/shared/file-tree/utils/fileTreePath.js +5 -7
  114. package/cjs/components/shared/file-viewer/FileViewer.js +59 -60
  115. package/cjs/components/shared/file-viewer/FileViewerCsv.js +145 -101
  116. package/cjs/components/shared/file-viewer/FileViewerImage.js +7 -8
  117. package/cjs/components/shared/file-viewer/FileViewerIpynb.js +20 -14
  118. package/cjs/components/shared/file-viewer/FileViewerNonViewable.js +28 -34
  119. package/cjs/components/shared/file-viewer/FileViewerText.js +23 -16
  120. package/cjs/components/shared/file-viewer/locales/en.json.js +3 -1
  121. package/cjs/components/shared/file-viewer/locales/ko.json.js +3 -1
  122. package/cjs/components/shared/file-viewer/locales/nonViewable.en.json.js +3 -1
  123. package/cjs/components/shared/file-viewer/locales/nonViewable.ko.json.js +3 -1
  124. package/cjs/components/shared/material-modal/MaterialModal.js +10 -12
  125. package/cjs/components/shared/material-modal/MaterialModal.styled.js +5 -5
  126. package/cjs/components/shared/monaco-editor/MonacoEditor.js +123 -149
  127. package/cjs/components/shared/monaco-editor/MonacoEditorLazy.js +10 -8
  128. package/cjs/components/shared/monaco-editor/MonacoEditorMobile.js +49 -58
  129. package/cjs/components/shared/monaco-editor/MonacoEditorPerferenceForm.js +78 -85
  130. package/cjs/components/shared/monaco-editor/constants/grammars/index.js +131 -52
  131. package/cjs/components/shared/monaco-editor/constants/monaco/preferences.js +5 -9
  132. package/cjs/components/shared/monaco-editor/constants/themes/index.js +80 -32
  133. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventChange.js +10 -13
  134. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventCursor.js +14 -18
  135. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventScroll.js +8 -9
  136. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoMarkers.js +54 -72
  137. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoOptions.js +14 -15
  138. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoTheme.js +8 -9
  139. package/cjs/components/shared/monaco-editor/editor-languages/css/formatter.js +36 -12
  140. package/cjs/components/shared/monaco-editor/editor-languages/css/index.js +5 -8
  141. package/cjs/components/shared/monaco-editor/editor-languages/html/formatter.js +36 -12
  142. package/cjs/components/shared/monaco-editor/editor-languages/html/index.js +3 -6
  143. package/cjs/components/shared/monaco-editor/editor-languages/index.js +3 -1
  144. package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/_helper.js +1 -1
  145. package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/express.js +3 -2
  146. package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/propTypes.js +3 -2
  147. package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/react.js +3 -2
  148. package/cjs/components/shared/monaco-editor/editor-languages/typescript/formatter.js +36 -12
  149. package/cjs/components/shared/monaco-editor/editor-languages/typescript/index.js +18 -24
  150. package/cjs/components/shared/monaco-editor/hooks/useEditorOptions.js +12 -9
  151. package/cjs/components/shared/monaco-editor/locales/en.json.js +3 -1
  152. package/cjs/components/shared/monaco-editor/locales/ko.json.js +3 -1
  153. package/cjs/components/shared/monaco-editor/utils/emmet/abbreviationActions.js +18 -28
  154. package/cjs/components/shared/monaco-editor/utils/emmet/emmet.js +0 -3
  155. package/cjs/components/shared/monaco-editor/utils/emmet/registerProvider.js +12 -8
  156. package/cjs/components/shared/monaco-editor/utils/grammar/index.js +70 -32
  157. package/cjs/components/shared/monaco-editor/utils/grammar/onigasm.js +25 -7
  158. package/cjs/components/shared/monaco-editor/utils/grammar/textmate.js +67 -43
  159. package/cjs/components/shared/monaco-editor/utils/monacoLanguage.js +9 -19
  160. package/cjs/components/shared/monaco-editor/utils/monacoPreference.js +6 -5
  161. package/cjs/components/shared/monaco-editor/utils/prettier/config.js +2 -3
  162. package/cjs/components/shared/monaco-editor/utils/prettier/index.js +30 -9
  163. package/cjs/components/shared/monaco-editor/utils/theme/convert.js +20 -26
  164. package/cjs/components/shared/monaco-editor/utils/theme/index.js +22 -5
  165. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursor.js +77 -75
  166. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorManager.js +82 -93
  167. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorWidget.js +125 -135
  168. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelection.js +148 -160
  169. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelectionManager.js +104 -118
  170. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/styles.js +2 -2
  171. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/configCompat.js +1 -3
  172. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/data.js +2 -3
  173. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/emmetHelper.js +218 -329
  174. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/utils.js +3 -6
  175. package/cjs/components/shared/no-vnc/NoVnc.js +93 -90
  176. package/cjs/components/shared/no-vnc/NoVncLazy.js +7 -5
  177. package/cjs/components/shared/preview-container/PreviewContainer.js +7 -10
  178. package/cjs/components/shared/web-browser/WebBrowser.js +54 -59
  179. package/cjs/components/shared/xterm/Xterm.js +112 -105
  180. package/cjs/components/shared/xterm/XtermLazy.js +7 -5
  181. package/cjs/components/shared/xterm/locales/en.json.js +3 -1
  182. package/cjs/components/shared/xterm/locales/ko.json.js +3 -1
  183. package/cjs/constants/arduino.js +10 -10
  184. package/cjs/constants/shortcutKeyMap.js +5 -5
  185. package/cjs/constants/stylesheets.js +7 -10
  186. package/cjs/hooks/useArduino.js +327 -255
  187. package/cjs/hooks/useExerciseFile.js +24 -24
  188. package/cjs/hooks/useExericseShortcut.js +6 -5
  189. package/cjs/hooks/useMaterialExerciseFileUrl.js +54 -37
  190. package/cjs/hooks/useRunnerRoomWebSocket.js +58 -56
  191. package/cjs/hooks/useStdioTextConcator.js +18 -12
  192. package/cjs/hooks/useStdioWebSocket.js +41 -67
  193. package/cjs/hooks/useUsercodeEditWebSocket.js +230 -252
  194. package/cjs/hooks/useUsercodeHistory.js +121 -82
  195. package/cjs/index.js +4 -4
  196. package/cjs/utils/arduino.js +23 -25
  197. package/cjs/utils/exerciseFile.js +8 -16
  198. package/cjs/utils/runner.js +29 -25
  199. package/es/_virtual/_rollupPluginBabelHelpers.js +504 -0
  200. package/es/components/material-exercise/MaterialExercise.js +33 -54
  201. package/es/components/material-exercise/MaterialExercise.styled.js +20 -23
  202. package/es/components/material-exercise/MaterialExerciseMobile.js +15 -13
  203. package/es/components/material-exercise/context/ExerciseIntlProvider.js +9 -13
  204. package/es/components/material-exercise/context/ExerciseProvider.js +79 -79
  205. package/es/components/material-exercise/context/ExerciseProviderNoImage.js +11 -13
  206. package/es/components/material-exercise/context/context.js +1 -1
  207. package/es/components/material-exercise/context/recoil.js +560 -372
  208. package/es/components/material-exercise/context/recoilTypes.js +0 -5
  209. package/es/components/material-exercise/context/subjects.js +3 -6
  210. package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.d.ts +2 -2
  211. package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.js +73 -62
  212. package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.js +8 -8
  213. package/es/components/material-exercise/exercise-code-history/locales/en.json.js +3 -0
  214. package/es/components/material-exercise/exercise-code-history/locales/ko.json.js +3 -0
  215. package/es/components/material-exercise/exercise-file/ExerciseFile.js +15 -18
  216. package/es/components/material-exercise/exercise-file-editor/ExerciseFileEditor.js +218 -193
  217. package/es/components/material-exercise/exercise-file-editor/ExerciseFileReadOnlyBanner.js +5 -9
  218. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabs.js +31 -28
  219. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabsFileTreeButton.js +52 -45
  220. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.js +1 -1
  221. package/es/components/material-exercise/exercise-file-tree/ExerciseFileTree.js +321 -225
  222. package/es/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.js +1 -1
  223. package/es/components/material-exercise/exercise-file-viewer/ExerciseFileViewer.js +12 -14
  224. package/es/components/material-exercise/exercise-menu/ExerciseMenu.js +7 -10
  225. package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.js +3 -5
  226. package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.js +43 -36
  227. package/es/components/material-exercise/exercise-menu/ExerciseMenuDropdown.js +53 -37
  228. package/es/components/material-exercise/exercise-menu/ExerciseMenuReset.js +25 -20
  229. package/es/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.js +41 -54
  230. package/es/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.js +12 -12
  231. package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdown.js +25 -19
  232. package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.js +1 -1
  233. package/es/components/material-exercise/exercise-preview/ExercisePreview.js +21 -34
  234. package/es/components/material-exercise/exercise-preview/ExercisePreviewDisplayModeButton.js +13 -10
  235. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpane.js +17 -28
  236. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpaneEditorPerference.js +9 -6
  237. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpaneEnvironment.js +81 -82
  238. package/es/components/material-exercise/exercise-room/ExerciseRoom.js +13 -7
  239. package/es/components/material-exercise/exercise-room/ExerciseRoom.styled.js +14 -12
  240. package/es/components/material-exercise/exercise-room/ExerciseRoomDetail.js +236 -146
  241. package/es/components/material-exercise/exercise-room/ExerciseRoomList.js +90 -63
  242. package/es/components/material-exercise/exercise-room/helpers/exerciseRoomPermissionStringConvertor.js +2 -8
  243. package/es/components/material-exercise/exercise-runner/ExerciseRunner.js +212 -215
  244. package/es/components/material-exercise/exercise-runner/ExerciseRunnerContext.js +1 -1
  245. package/es/components/material-exercise/exercise-runner/ExerciseRunnerController.js +7 -9
  246. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.js +27 -25
  247. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.js +22 -24
  248. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js +66 -93
  249. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.js +24 -26
  250. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerRunningInfo.js +51 -59
  251. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusIndicator.js +2 -4
  252. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusMessage.js +6 -11
  253. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerTimer.js +26 -25
  254. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.d.ts +2 -2
  255. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.js +284 -174
  256. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.styled.js +8 -8
  257. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistoryOutput.js +38 -44
  258. package/es/components/material-exercise/exercise-submit-history/locales/en.json.js +3 -0
  259. package/es/components/material-exercise/exercise-submit-history/locales/ko.json.js +3 -0
  260. package/es/components/shared/exercise-menu-button/ExerciseMenuButton.js +16 -16
  261. package/es/components/shared/exercise-shimmer/ExerciseFileShimmer.js +2 -3
  262. package/es/components/shared/exercise-shimmer/ExerciseFileTabShimmer.js +12 -13
  263. package/es/components/shared/exercise-shimmer/ExerciseFileTabsShimmer.js +2 -3
  264. package/es/components/shared/exercise-shimmer/ExerciseFileTreeListItemShimmer.js +14 -15
  265. package/es/components/shared/exercise-shimmer/ExerciseFileTreeListShimmer.js +15 -10
  266. package/es/components/shared/exercise-version-list/ExerciseVersionList.js +2 -3
  267. package/es/components/shared/exercise-version-list/ExerciseVersionList.styled.js +1 -1
  268. package/es/components/shared/exercise-version-list/ExerciseVersionListItem.js +5 -6
  269. package/es/components/shared/exercise-version-list/ExerciseVersionListItem.styled.js +9 -5
  270. package/es/components/shared/file-icon/FileIcon.js +20 -22
  271. package/es/components/shared/file-tabs/FileTab.js +28 -41
  272. package/es/components/shared/file-tabs/FileTab.styled.js +26 -22
  273. package/es/components/shared/file-tabs/FileTabs.js +52 -48
  274. package/es/components/shared/file-tabs/FileTabs.styled.js +2 -2
  275. package/es/components/shared/file-tabs/util.js +29 -18
  276. package/es/components/shared/file-tree/FileTree.js +3 -5
  277. package/es/components/shared/file-tree/FileTreeConfig.js +21 -22
  278. package/es/components/shared/file-tree/FileTreeList.js +31 -39
  279. package/es/components/shared/file-tree/FileTreeListItemContent.js +67 -85
  280. package/es/components/shared/file-tree/FileTreeListItemContent.styled.js +29 -40
  281. package/es/components/shared/file-tree/FileTreeListItemContentInput.js +74 -100
  282. package/es/components/shared/file-tree/FileTreeListItemContentInput.styled.js +6 -6
  283. package/es/components/shared/file-tree/FileTreeListItemContentMenu.js +48 -85
  284. package/es/components/shared/file-tree/FileTreeListItems.js +147 -152
  285. package/es/components/shared/file-tree/FileTreeListItems.styled.js +2 -2
  286. package/es/components/shared/file-tree/FileTreeToolbar.js +24 -37
  287. package/es/components/shared/file-tree/FileTreeToolbar.styled.js +1 -1
  288. package/es/components/shared/file-tree/context/FileTreeContext.js +91 -97
  289. package/es/components/shared/file-tree/utils/fileTreeFiles.js +20 -22
  290. package/es/components/shared/file-tree/utils/fileTreeGenerator.js +193 -173
  291. package/es/components/shared/file-tree/utils/fileTreeInput.js +0 -1
  292. package/es/components/shared/file-tree/utils/fileTreeItem.js +1 -1
  293. package/es/components/shared/file-tree/utils/fileTreePath.js +5 -7
  294. package/es/components/shared/file-viewer/FileViewer.js +52 -53
  295. package/es/components/shared/file-viewer/FileViewerCsv.js +141 -99
  296. package/es/components/shared/file-viewer/FileViewerImage.js +3 -6
  297. package/es/components/shared/file-viewer/FileViewerIpynb.js +16 -12
  298. package/es/components/shared/file-viewer/FileViewerNonViewable.js +22 -30
  299. package/es/components/shared/file-viewer/FileViewerText.js +18 -13
  300. package/es/components/shared/material-modal/MaterialModal.js +7 -11
  301. package/es/components/shared/material-modal/MaterialModal.styled.js +5 -5
  302. package/es/components/shared/monaco-editor/MonacoEditor.js +119 -147
  303. package/es/components/shared/monaco-editor/MonacoEditorLazy.js +6 -4
  304. package/es/components/shared/monaco-editor/MonacoEditorMobile.js +45 -56
  305. package/es/components/shared/monaco-editor/MonacoEditorPerferenceForm.js +73 -82
  306. package/es/components/shared/monaco-editor/constants/grammars/index.js +131 -52
  307. package/es/components/shared/monaco-editor/constants/monaco/preferences.js +5 -9
  308. package/es/components/shared/monaco-editor/constants/themes/index.js +80 -32
  309. package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventChange.js +10 -13
  310. package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventCursor.js +14 -18
  311. package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventScroll.js +8 -9
  312. package/es/components/shared/monaco-editor/editor-hooks/useMonacoMarkers.js +54 -72
  313. package/es/components/shared/monaco-editor/editor-hooks/useMonacoOptions.js +14 -15
  314. package/es/components/shared/monaco-editor/editor-hooks/useMonacoTheme.js +8 -9
  315. package/es/components/shared/monaco-editor/editor-languages/css/formatter.js +33 -11
  316. package/es/components/shared/monaco-editor/editor-languages/css/index.js +2 -5
  317. package/es/components/shared/monaco-editor/editor-languages/html/formatter.js +33 -11
  318. package/es/components/shared/monaco-editor/editor-languages/html/index.js +2 -5
  319. package/es/components/shared/monaco-editor/editor-languages/typescript/dts/_helper.js +1 -1
  320. package/es/components/shared/monaco-editor/editor-languages/typescript/dts/express.js +0 -1
  321. package/es/components/shared/monaco-editor/editor-languages/typescript/dts/propTypes.js +0 -1
  322. package/es/components/shared/monaco-editor/editor-languages/typescript/dts/react.js +0 -1
  323. package/es/components/shared/monaco-editor/editor-languages/typescript/formatter.js +33 -11
  324. package/es/components/shared/monaco-editor/editor-languages/typescript/index.js +10 -16
  325. package/es/components/shared/monaco-editor/hooks/useEditorOptions.js +12 -9
  326. package/es/components/shared/monaco-editor/utils/emmet/abbreviationActions.js +18 -28
  327. package/es/components/shared/monaco-editor/utils/emmet/emmet.js +0 -3
  328. package/es/components/shared/monaco-editor/utils/emmet/registerProvider.js +12 -8
  329. package/es/components/shared/monaco-editor/utils/grammar/index.js +67 -31
  330. package/es/components/shared/monaco-editor/utils/grammar/onigasm.js +25 -7
  331. package/es/components/shared/monaco-editor/utils/grammar/textmate.js +67 -43
  332. package/es/components/shared/monaco-editor/utils/monacoLanguage.js +9 -19
  333. package/es/components/shared/monaco-editor/utils/monacoPreference.js +6 -5
  334. package/es/components/shared/monaco-editor/utils/prettier/config.js +2 -3
  335. package/es/components/shared/monaco-editor/utils/prettier/index.js +27 -8
  336. package/es/components/shared/monaco-editor/utils/theme/convert.js +20 -26
  337. package/es/components/shared/monaco-editor/utils/theme/index.js +22 -5
  338. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursor.js +77 -75
  339. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorManager.js +82 -93
  340. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorWidget.js +125 -135
  341. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelection.js +148 -160
  342. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelectionManager.js +104 -118
  343. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/styles.js +2 -2
  344. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/configCompat.js +1 -3
  345. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/data.js +2 -3
  346. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/emmetHelper.js +219 -330
  347. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/utils.js +3 -6
  348. package/es/components/shared/no-vnc/NoVnc.js +89 -88
  349. package/es/components/shared/no-vnc/NoVncLazy.js +4 -2
  350. package/es/components/shared/preview-container/PreviewContainer.js +7 -10
  351. package/es/components/shared/web-browser/WebBrowser.js +49 -56
  352. package/es/components/shared/xterm/Xterm.js +107 -102
  353. package/es/components/shared/xterm/XtermLazy.js +4 -2
  354. package/es/constants/arduino.js +10 -10
  355. package/es/constants/shortcutKeyMap.js +3 -5
  356. package/es/constants/stylesheets.js +7 -10
  357. package/es/hooks/useArduino.js +327 -255
  358. package/es/hooks/useExerciseFile.js +24 -24
  359. package/es/hooks/useExericseShortcut.js +6 -5
  360. package/es/hooks/useMaterialExerciseFileUrl.js +55 -38
  361. package/es/hooks/useRunnerRoomWebSocket.js +58 -56
  362. package/es/hooks/useStdioTextConcator.js +18 -12
  363. package/es/hooks/useStdioWebSocket.js +41 -67
  364. package/es/hooks/useUsercodeEditWebSocket.js +230 -252
  365. package/es/hooks/useUsercodeHistory.js +122 -83
  366. package/es/utils/arduino.js +23 -25
  367. package/es/utils/exerciseFile.js +8 -16
  368. package/es/utils/runner.js +29 -25
  369. 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