@elice/material-exercise 1.230328.0 → 1.230418.1

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
@@ -14,34 +14,34 @@ var exerciseFile = require('../utils/exerciseFile.js');
14
14
  /**
15
15
  * Check whether the exercise file is editable.
16
16
  */
17
-
18
- const useExerciseFileEditable = filename => {
19
- const {
20
- materialExerciseId,
21
- exerciseRoomId
22
- } = React.useContext(context.ExerciseContext);
23
- const exercise = recoil.useRecoilValue(recoil$1.exerciseState(materialExerciseId));
24
- const exerciseRoom = recoil.useRecoilValue(recoil$1.exerciseRoomState(exerciseRoomId));
25
- return React.useMemo(() => exerciseFile.checkExerciseFileEditable(filename, {
26
- exercise,
27
- exerciseRoom
28
- }), [filename, exercise, exerciseRoom]);
17
+ var useExerciseFileEditable = function useExerciseFileEditable(filename) {
18
+ var _useContext = React.useContext(context.ExerciseContext),
19
+ materialExerciseId = _useContext.materialExerciseId,
20
+ exerciseRoomId = _useContext.exerciseRoomId;
21
+ var exercise = recoil.useRecoilValue(recoil$1.exerciseState(materialExerciseId));
22
+ var exerciseRoom = recoil.useRecoilValue(recoil$1.exerciseRoomState(exerciseRoomId));
23
+ return React.useMemo(function () {
24
+ return exerciseFile.checkExerciseFileEditable(filename, {
25
+ exercise: exercise,
26
+ exerciseRoom: exerciseRoom
27
+ });
28
+ }, [filename, exercise, exerciseRoom]);
29
29
  };
30
30
  /**
31
31
  * Check whether the exercise file is resettable.
32
32
  */
33
-
34
- const useExerciseFileResettable = filename => {
35
- const {
36
- materialExerciseId,
37
- exerciseRoomId
38
- } = React.useContext(context.ExerciseContext);
39
- const exercise = recoil.useRecoilValue(recoil$1.exerciseState(materialExerciseId));
40
- const exerciseRoom = recoil.useRecoilValue(recoil$1.exerciseRoomState(exerciseRoomId));
41
- return React.useMemo(() => exerciseFile.checkExerciseFileResettable(filename, {
42
- exercise,
43
- exerciseRoom
44
- }), [filename, exercise, exerciseRoom]);
33
+ var useExerciseFileResettable = function useExerciseFileResettable(filename) {
34
+ var _useContext2 = React.useContext(context.ExerciseContext),
35
+ materialExerciseId = _useContext2.materialExerciseId,
36
+ exerciseRoomId = _useContext2.exerciseRoomId;
37
+ var exercise = recoil.useRecoilValue(recoil$1.exerciseState(materialExerciseId));
38
+ var exerciseRoom = recoil.useRecoilValue(recoil$1.exerciseRoomState(exerciseRoomId));
39
+ return React.useMemo(function () {
40
+ return exerciseFile.checkExerciseFileResettable(filename, {
41
+ exercise: exercise,
42
+ exerciseRoom: exerciseRoom
43
+ });
44
+ }, [filename, exercise, exerciseRoom]);
45
45
  };
46
46
 
47
47
  exports.useExerciseFileEditable = useExerciseFileEditable;
@@ -5,16 +5,17 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var reactUse = require('react-use');
6
6
  var shortcutKeyMap = require('../constants/shortcutKeyMap.js');
7
7
 
8
- const useExericseShortcut = (name, fn) => {
9
- const keys = shortcutKeyMap[name];
10
- reactUse.useKey(e => {
11
- 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)) {
8
+ var useExericseShortcut = function useExericseShortcut(name, fn) {
9
+ var keys = shortcutKeyMap["default"][name];
10
+ reactUse.useKey(function (e) {
11
+ if (keys && keys.some(function (key) {
12
+ return key.key === e.key && key.metaKey === e.metaKey && key.ctrlKey === e.ctrlKey && key.shiftKey === e.shiftKey && key.altKey === e.altKey;
13
+ })) {
12
14
  // console.log(e);
13
15
  e.preventDefault();
14
16
  e.stopPropagation();
15
17
  return true;
16
18
  }
17
-
18
19
  return false;
19
20
  }, fn, {
20
21
  event: 'keydown'
@@ -2,6 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ var _rollupPluginBabelHelpers = require('../_virtual/_rollupPluginBabelHelpers.js');
5
6
  var React = require('react');
6
7
  var apiClient = require('@elice/api-client');
7
8
 
@@ -9,51 +10,67 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
9
10
 
10
11
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
11
12
 
12
- const useMaterialExerciseFileUrl = ({
13
- filename,
14
- exercise,
15
- exerciseRoomId,
16
- onError
17
- }) => {
18
- const [fileUrl, setFileUrl] = React__default["default"].useState(null); //
13
+ var useMaterialExerciseFileUrl = function useMaterialExerciseFileUrl(_ref) {
14
+ var filename = _ref.filename,
15
+ exercise = _ref.exercise,
16
+ exerciseRoomId = _ref.exerciseRoomId,
17
+ onError = _ref.onError;
18
+ var _React$useState = React__default["default"].useState(null),
19
+ _React$useState2 = _rollupPluginBabelHelpers.slicedToArray(_React$useState, 2),
20
+ fileUrl = _React$useState2[0],
21
+ setFileUrl = _React$useState2[1];
22
+ //
19
23
  // Fetch file url.
20
24
  //
21
-
22
- React__default["default"].useEffect(() => {
23
- const abortCtrl = new AbortController();
24
- const exerciseImage = exercise === null || exercise === void 0 ? void 0 : exercise.readyExerciseImage;
25
-
25
+ React__default["default"].useEffect(function () {
26
+ var abortCtrl = new AbortController();
27
+ var exerciseImage = exercise === null || exercise === void 0 ? void 0 : exercise.readyExerciseImage;
26
28
  if (!exerciseImage || !filename) {
27
29
  return;
28
30
  }
29
-
30
- (async () => {
31
- var _a;
32
-
33
- const exerciseImageFileList = (_a = exerciseImage.filelist) !== null && _a !== void 0 ? _a : []; // origin from exercise image
34
-
35
- if (exerciseImageFileList.includes(filename)) {
36
- return apiClient.getOrgMaterialExerciseExerciseImageExerciseFileGet({
37
- exerciseImageId: exerciseImage.id,
38
- filename
39
- }, {
40
- signal: abortCtrl.signal
41
- }).then(res => res.exerciseFile.url).catch(() => null);
42
- } // origin from exercise room
43
- else {
44
- return apiClient.getOrgMaterialExerciseExerciseRoomUserFileGet({
45
- exerciseRoomId,
46
- filename
47
- }, {
48
- signal: abortCtrl.signal
49
- }).then(res => res.userFile.url).catch(() => null);
50
- }
51
- })().then(setFileUrl).catch(onError);
52
- return () => {
31
+ _rollupPluginBabelHelpers.asyncToGenerator( /*#__PURE__*/_rollupPluginBabelHelpers.regeneratorRuntime().mark(function _callee() {
32
+ var _a, exerciseImageFileList;
33
+ return _rollupPluginBabelHelpers.regeneratorRuntime().wrap(function _callee$(_context) {
34
+ while (1) switch (_context.prev = _context.next) {
35
+ case 0:
36
+ exerciseImageFileList = (_a = exerciseImage.filelist) !== null && _a !== void 0 ? _a : []; // origin from exercise image
37
+ if (!exerciseImageFileList.includes(filename)) {
38
+ _context.next = 5;
39
+ break;
40
+ }
41
+ return _context.abrupt("return", apiClient.getOrgMaterialExerciseExerciseImageExerciseFileGet({
42
+ exerciseImageId: exerciseImage.id,
43
+ filename: filename
44
+ }, {
45
+ signal: abortCtrl.signal
46
+ }).then(function (res) {
47
+ return res.exerciseFile.url;
48
+ }).catch(function () {
49
+ return null;
50
+ }));
51
+ case 5:
52
+ return _context.abrupt("return", apiClient.getOrgMaterialExerciseExerciseRoomUserFileGet({
53
+ exerciseRoomId: exerciseRoomId,
54
+ filename: filename
55
+ }, {
56
+ signal: abortCtrl.signal
57
+ }).then(function (res) {
58
+ return res.userFile.url;
59
+ }).catch(function () {
60
+ return null;
61
+ }));
62
+ case 6:
63
+ case "end":
64
+ return _context.stop();
65
+ }
66
+ }, _callee);
67
+ }))().then(setFileUrl).catch(onError);
68
+ return function () {
53
69
  abortCtrl.abort();
54
70
  setFileUrl(null);
55
71
  };
56
- }, // eslint-disable-next-line react-hooks/exhaustive-deps
72
+ },
73
+ // eslint-disable-next-line react-hooks/exhaustive-deps
57
74
  [exercise, exerciseRoomId, filename]);
58
75
  return fileUrl;
59
76
  };
@@ -2,6 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ var _rollupPluginBabelHelpers = require('../_virtual/_rollupPluginBabelHelpers.js');
5
6
  var React = require('react');
6
7
  var apiClient = require('@elice/api-client');
7
8
  var materialSharedUtils = require('@elice/material-shared-utils');
@@ -10,42 +11,44 @@ var humps = require('humps');
10
11
 
11
12
  //
12
13
  //
13
-
14
- const MAX_WEBSOCKET_RETRY_COUNT = 5;
14
+ //
15
+ var MAX_WEBSOCKET_RETRY_COUNT = 5;
15
16
  /**
16
17
  *
17
18
  */
18
-
19
- const useRunnerRoomWebSocket = ({
20
- exerciseRoomId
21
- }) => {
22
- const _return = React.useRef({});
23
-
24
- const {
25
- apiWsOriginUrl
26
- } = materialSharedUtils.useMaterialConfig();
27
- const isReady = materialSharedUtils.useMaterialConfigApiClientUpdate(apiClient.config.init);
28
- const websocket$1 = React.useRef(null);
29
- const [websocketReadyState, setWebSocketReadyState] = React.useState(websocket.EliceWebSocket.CLOSED);
30
- const [isRunning, setRunning] = React.useState(false);
31
- const [roomConnectionInfo, setRoomConnectionInfo] = React.useState(null); //
19
+ var useRunnerRoomWebSocket = function useRunnerRoomWebSocket(_ref) {
20
+ var exerciseRoomId = _ref.exerciseRoomId;
21
+ var _return = React.useRef({});
22
+ var _useMaterialConfig = materialSharedUtils.useMaterialConfig(),
23
+ apiWsOriginUrl = _useMaterialConfig.apiWsOriginUrl;
24
+ var isReady = materialSharedUtils.useMaterialConfigApiClientUpdate(apiClient.config.init);
25
+ var websocket$1 = React.useRef(null);
26
+ var _useState = React.useState(websocket.EliceWebSocket.CLOSED),
27
+ _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
28
+ websocketReadyState = _useState2[0],
29
+ setWebSocketReadyState = _useState2[1];
30
+ var _useState3 = React.useState(false),
31
+ _useState4 = _rollupPluginBabelHelpers.slicedToArray(_useState3, 2),
32
+ isRunning = _useState4[0],
33
+ setRunning = _useState4[1];
34
+ var _useState5 = React.useState(null),
35
+ _useState6 = _rollupPluginBabelHelpers.slicedToArray(_useState5, 2),
36
+ roomConnectionInfo = _useState6[0],
37
+ setRoomConnectionInfo = _useState6[1];
38
+ //
32
39
  // =============== websocket ===============
33
40
  //
34
-
35
41
  /**
36
42
  * Reconnect websocket.
37
43
  */
38
-
39
- const reconnect = React.useCallback(() => {
44
+ var reconnect = React.useCallback(function () {
40
45
  var _a;
41
-
42
46
  (_a = websocket$1.current) === null || _a === void 0 ? void 0 : _a.reconnect();
43
47
  }, []);
44
48
  /**
45
49
  * Websocket on open.
46
50
  */
47
-
48
- const wsOpen = () => {
51
+ var wsOpen = function wsOpen() {
49
52
  if (websocket$1.current) {
50
53
  setWebSocketReadyState(websocket$1.current.readyState);
51
54
  }
@@ -53,9 +56,7 @@ const useRunnerRoomWebSocket = ({
53
56
  /**
54
57
  * Websocket on close.
55
58
  */
56
-
57
-
58
- const wsClose = () => {
59
+ var wsClose = function wsClose() {
59
60
  if (websocket$1.current) {
60
61
  setWebSocketReadyState(websocket$1.current.readyState);
61
62
  }
@@ -63,9 +64,7 @@ const useRunnerRoomWebSocket = ({
63
64
  /**
64
65
  * Websocket on error.
65
66
  */
66
-
67
-
68
- const wsError = () => {
67
+ var wsError = function wsError() {
69
68
  if (websocket$1.current) {
70
69
  setWebSocketReadyState(websocket$1.current.readyState);
71
70
  }
@@ -73,20 +72,15 @@ const useRunnerRoomWebSocket = ({
73
72
  /**
74
73
  * Websocket on message.
75
74
  */
76
-
77
-
78
- const wsMessage = e => {
79
- const msg = humps.camelizeKeys(e.data);
80
-
75
+ var wsMessage = function wsMessage(e) {
76
+ var msg = humps.camelizeKeys(e.data);
81
77
  switch (msg.type) {
82
78
  case 'ROOM_PREPARED':
83
79
  wsMessageRoomPrepared(msg);
84
80
  break;
85
-
86
81
  case 'EXECUTE_CONTAINER':
87
82
  wsMessageExecuteContainer();
88
83
  break;
89
-
90
84
  case 'EXECUTE_DONE':
91
85
  wsMessageExecuteDone();
92
86
  break;
@@ -95,9 +89,7 @@ const useRunnerRoomWebSocket = ({
95
89
  /**
96
90
  * Websocket on `ROOM_PREPARED` message.
97
91
  */
98
-
99
-
100
- const wsMessageRoomPrepared = msg => {
92
+ var wsMessageRoomPrepared = function wsMessageRoomPrepared(msg) {
101
93
  setRoomConnectionInfo(Object.assign(Object.assign({}, msg.data.forwarder), {
102
94
  roomToken: msg.data.roomToken
103
95
  }));
@@ -105,35 +97,44 @@ const useRunnerRoomWebSocket = ({
105
97
  /**
106
98
  * Websocket on `EXECUTE_CONTAINER` message.
107
99
  */
108
-
109
-
110
- const wsMessageExecuteContainer = msg => {
100
+ var wsMessageExecuteContainer = function wsMessageExecuteContainer(msg) {
111
101
  setRunning(true);
112
102
  };
113
103
  /**
114
104
  * Websocket on `EXECUTE_DONE` message.
115
105
  */
116
-
117
-
118
- const wsMessageExecuteDone = msg => {
106
+ var wsMessageExecuteDone = function wsMessageExecuteDone(msg) {
119
107
  setRunning(false);
120
108
  };
121
109
  /**
122
110
  * Create usercode websocket url.
123
111
  */
124
-
125
-
126
- const createUsercodeUrl = React.useCallback(async () => Promise.resolve(`${apiWsOriginUrl}/runner_room`).then(url => apiClient.postOrgRunnerRoomExerciseRoomJoin({
127
- exerciseRoomId
128
- }).then(data => `${url}/${data.roomToken}`).catch(() => `${url}/`)), [apiWsOriginUrl, exerciseRoomId]); //
112
+ var createUsercodeUrl = React.useCallback( /*#__PURE__*/_rollupPluginBabelHelpers.asyncToGenerator( /*#__PURE__*/_rollupPluginBabelHelpers.regeneratorRuntime().mark(function _callee() {
113
+ return _rollupPluginBabelHelpers.regeneratorRuntime().wrap(function _callee$(_context) {
114
+ while (1) switch (_context.prev = _context.next) {
115
+ case 0:
116
+ return _context.abrupt("return", Promise.resolve("".concat(apiWsOriginUrl, "/runner_room")).then(function (url) {
117
+ return apiClient.postOrgRunnerRoomExerciseRoomJoin({
118
+ exerciseRoomId: exerciseRoomId
119
+ }).then(function (data) {
120
+ return "".concat(url, "/").concat(data.roomToken);
121
+ }).catch(function () {
122
+ return "".concat(url, "/");
123
+ });
124
+ }));
125
+ case 1:
126
+ case "end":
127
+ return _context.stop();
128
+ }
129
+ }, _callee);
130
+ })), [apiWsOriginUrl, exerciseRoomId]);
131
+ //
129
132
  // Initialize websocket.
130
133
  //
131
-
132
- React.useEffect(() => {
134
+ React.useEffect(function () {
133
135
  if (!isReady) {
134
136
  return;
135
137
  }
136
-
137
138
  websocket$1.current = new websocket.EliceWebSocket(createUsercodeUrl, undefined, {
138
139
  maxRetries: MAX_WEBSOCKET_RETRY_COUNT
139
140
  });
@@ -141,16 +142,17 @@ const useRunnerRoomWebSocket = ({
141
142
  websocket$1.current.onclose = wsClose;
142
143
  websocket$1.current.onmessage = wsMessage;
143
144
  websocket$1.current.onerror = wsError;
144
- return () => {
145
+ return function () {
145
146
  if (websocket$1.current) {
146
147
  websocket$1.current.close();
147
148
  }
148
149
  };
149
- }, // eslint-disable-next-line react-hooks/exhaustive-deps
150
- [isReady, createUsercodeUrl]); //
150
+ },
151
+ // eslint-disable-next-line react-hooks/exhaustive-deps
152
+ [isReady, createUsercodeUrl]);
153
+ //
151
154
  //
152
155
  //
153
-
154
156
  _return.current.isRunning = isRunning;
155
157
  _return.current.roomConnectionInfo = roomConnectionInfo;
156
158
  _return.current.readyState = websocketReadyState;
@@ -2,6 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ var _rollupPluginBabelHelpers = require('../_virtual/_rollupPluginBabelHelpers.js');
5
6
  var React = require('react');
6
7
  var recoil = require('recoil');
7
8
  var recoil$1 = require('../components/material-exercise/context/recoil.js');
@@ -14,26 +15,31 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
14
15
 
15
16
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
16
17
 
17
- const useStdioTextConcator = done => {
18
- const RUNNER_AND_STDIO_DELAY_SAFETY_FACTOR = 1000;
19
- const [text, setText] = React__default["default"].useState('');
20
- const isRunning = recoil.useRecoilValue(recoil$1.exerciseRunnerRunningState);
21
- React__default["default"].useEffect(() => {
18
+ var useStdioTextConcator = function useStdioTextConcator(done) {
19
+ var RUNNER_AND_STDIO_DELAY_SAFETY_FACTOR = 1000;
20
+ var _React$useState = React__default["default"].useState(''),
21
+ _React$useState2 = _rollupPluginBabelHelpers.slicedToArray(_React$useState, 2),
22
+ text = _React$useState2[0],
23
+ setText = _React$useState2[1];
24
+ var isRunning = recoil.useRecoilValue(recoil$1.exerciseRunnerRunningState);
25
+ React__default["default"].useEffect(function () {
22
26
  if (isRunning) {
23
27
  setText('');
24
28
  } else {
25
- setTimeout(() => {
29
+ setTimeout(function () {
26
30
  done(text);
27
31
  }, RUNNER_AND_STDIO_DELAY_SAFETY_FACTOR);
28
- } // eslint-disable-next-line react-hooks/exhaustive-deps
29
-
32
+ }
33
+ // eslint-disable-next-line react-hooks/exhaustive-deps
30
34
  }, [isRunning]);
31
- const updateStdioTextConcator = React__default["default"].useCallback(text => {
32
- setText(state => state.concat(text));
35
+ var updateStdioTextConcator = React__default["default"].useCallback(function (text) {
36
+ setText(function (state) {
37
+ return state.concat(text);
38
+ });
33
39
  }, []);
34
40
  return {
35
- updateStdioTextConcator,
36
- done
41
+ updateStdioTextConcator: updateStdioTextConcator,
42
+ done: done
37
43
  };
38
44
  };
39
45