@elice/material-exercise 1.230325.0 → 1.230418.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (373) hide show
  1. package/cjs/_virtual/_rollupPluginBabelHelpers.js +526 -0
  2. package/cjs/components/material-exercise/MaterialExercise.js +44 -63
  3. package/cjs/components/material-exercise/MaterialExercise.styled.js +20 -23
  4. package/cjs/components/material-exercise/MaterialExerciseMobile.js +19 -15
  5. package/cjs/components/material-exercise/context/ExerciseIntlProvider.js +9 -13
  6. package/cjs/components/material-exercise/context/ExerciseProvider.js +83 -81
  7. package/cjs/components/material-exercise/context/ExerciseProviderNoImage.js +16 -16
  8. package/cjs/components/material-exercise/context/context.js +1 -1
  9. package/cjs/components/material-exercise/context/locales/noImage.en.json.js +3 -1
  10. package/cjs/components/material-exercise/context/locales/noImage.ko.json.js +3 -1
  11. package/cjs/components/material-exercise/context/recoil.d.ts +2 -1
  12. package/cjs/components/material-exercise/context/recoil.js +562 -373
  13. package/cjs/components/material-exercise/context/recoilTypes.js +0 -5
  14. package/cjs/components/material-exercise/context/subjects.js +3 -6
  15. package/cjs/components/material-exercise/context/types.d.ts +8 -1
  16. package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.d.ts +2 -2
  17. package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.js +78 -65
  18. package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.js +8 -8
  19. package/cjs/components/material-exercise/exercise-code-history/locales/en.json.js +7 -0
  20. package/cjs/components/material-exercise/exercise-code-history/locales/ko.json.js +7 -0
  21. package/cjs/components/material-exercise/exercise-file/ExerciseFile.js +20 -21
  22. package/cjs/components/material-exercise/exercise-file-editor/ExerciseFileEditor.js +228 -199
  23. package/cjs/components/material-exercise/exercise-file-editor/ExerciseFileReadOnlyBanner.js +8 -10
  24. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabs.js +35 -32
  25. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabsFileTreeButton.js +57 -48
  26. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.js +6 -4
  27. package/cjs/components/material-exercise/exercise-file-tabs/locales/fileTreeButton.en.json.js +3 -1
  28. package/cjs/components/material-exercise/exercise-file-tabs/locales/fileTreeButton.ko.json.js +3 -1
  29. package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTree.js +327 -231
  30. package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.js +6 -4
  31. package/cjs/components/material-exercise/exercise-file-tree/locales/en.json.js +3 -1
  32. package/cjs/components/material-exercise/exercise-file-tree/locales/ko.json.js +3 -1
  33. package/cjs/components/material-exercise/exercise-file-viewer/ExerciseFileViewer.js +17 -17
  34. package/cjs/components/material-exercise/exercise-menu/ExerciseMenu.js +13 -14
  35. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.js +6 -6
  36. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.js +47 -38
  37. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuDropdown.js +60 -42
  38. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuReset.js +29 -22
  39. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.js +45 -56
  40. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.js +12 -12
  41. package/cjs/components/material-exercise/exercise-menu/locales/en.json.js +3 -1
  42. package/cjs/components/material-exercise/exercise-menu/locales/ko.json.js +3 -1
  43. package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdown.js +28 -20
  44. package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.js +5 -3
  45. package/cjs/components/material-exercise/exercise-preview/ExercisePreview.js +30 -41
  46. package/cjs/components/material-exercise/exercise-preview/ExercisePreviewDisplayModeButton.js +17 -12
  47. package/cjs/components/material-exercise/exercise-preview/locales/en.json.js +3 -1
  48. package/cjs/components/material-exercise/exercise-preview/locales/ko.json.js +3 -1
  49. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpane.js +24 -33
  50. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpaneEditorPerference.js +13 -8
  51. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpaneEnvironment.js +84 -83
  52. package/cjs/components/material-exercise/exercise-rightpane/locales/en.json.js +3 -1
  53. package/cjs/components/material-exercise/exercise-rightpane/locales/ko.json.js +3 -1
  54. package/cjs/components/material-exercise/exercise-room/ExerciseRoom.js +20 -12
  55. package/cjs/components/material-exercise/exercise-room/ExerciseRoom.styled.js +14 -12
  56. package/cjs/components/material-exercise/exercise-room/ExerciseRoomDetail.js +239 -147
  57. package/cjs/components/material-exercise/exercise-room/ExerciseRoomList.js +92 -63
  58. package/cjs/components/material-exercise/exercise-room/helpers/exerciseRoomPermissionStringConvertor.js +2 -8
  59. package/cjs/components/material-exercise/exercise-room/locales/en.json.js +3 -1
  60. package/cjs/components/material-exercise/exercise-room/locales/ko.json.js +3 -1
  61. package/cjs/components/material-exercise/exercise-runner/ExerciseRunner.js +224 -223
  62. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerContext.js +1 -1
  63. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerController.js +13 -13
  64. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.js +30 -26
  65. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.js +26 -26
  66. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js +79 -95
  67. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.js +27 -27
  68. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerRunningInfo.js +54 -60
  69. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusIndicator.js +5 -5
  70. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusMessage.js +10 -13
  71. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerTimer.js +29 -26
  72. package/cjs/components/material-exercise/exercise-runner/locales/en.json.js +3 -1
  73. package/cjs/components/material-exercise/exercise-runner/locales/ko.json.js +3 -1
  74. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.d.ts +2 -2
  75. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.js +290 -180
  76. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.styled.js +8 -8
  77. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistoryOutput.js +41 -45
  78. package/cjs/components/material-exercise/exercise-submit-history/locales/en.json.js +7 -0
  79. package/cjs/components/material-exercise/exercise-submit-history/locales/ko.json.js +7 -0
  80. package/cjs/components/shared/exercise-menu-button/ExerciseMenuButton.js +19 -17
  81. package/cjs/components/shared/exercise-shimmer/ExerciseFileShimmer.js +5 -4
  82. package/cjs/components/shared/exercise-shimmer/ExerciseFileTabShimmer.js +15 -14
  83. package/cjs/components/shared/exercise-shimmer/ExerciseFileTabsShimmer.js +7 -6
  84. package/cjs/components/shared/exercise-shimmer/ExerciseFileTreeListItemShimmer.js +17 -16
  85. package/cjs/components/shared/exercise-shimmer/ExerciseFileTreeListShimmer.js +18 -11
  86. package/cjs/components/shared/exercise-version-list/ExerciseVersionList.js +5 -4
  87. package/cjs/components/shared/exercise-version-list/ExerciseVersionList.styled.js +1 -1
  88. package/cjs/components/shared/exercise-version-list/ExerciseVersionListItem.js +8 -7
  89. package/cjs/components/shared/exercise-version-list/ExerciseVersionListItem.styled.js +9 -5
  90. package/cjs/components/shared/file-icon/FileIcon.js +23 -23
  91. package/cjs/components/shared/file-tabs/FileTab.js +32 -43
  92. package/cjs/components/shared/file-tabs/FileTab.styled.js +26 -22
  93. package/cjs/components/shared/file-tabs/FileTabs.js +55 -49
  94. package/cjs/components/shared/file-tabs/FileTabs.styled.js +2 -2
  95. package/cjs/components/shared/file-tabs/util.js +29 -18
  96. package/cjs/components/shared/file-tree/FileTree.js +11 -11
  97. package/cjs/components/shared/file-tree/FileTreeConfig.js +24 -23
  98. package/cjs/components/shared/file-tree/FileTreeList.js +35 -41
  99. package/cjs/components/shared/file-tree/FileTreeListItemContent.js +75 -91
  100. package/cjs/components/shared/file-tree/FileTreeListItemContent.styled.js +29 -40
  101. package/cjs/components/shared/file-tree/FileTreeListItemContentInput.js +77 -101
  102. package/cjs/components/shared/file-tree/FileTreeListItemContentInput.styled.js +6 -6
  103. package/cjs/components/shared/file-tree/FileTreeListItemContentMenu.js +51 -86
  104. package/cjs/components/shared/file-tree/FileTreeListItems.js +150 -153
  105. package/cjs/components/shared/file-tree/FileTreeListItems.styled.js +2 -2
  106. package/cjs/components/shared/file-tree/FileTreeToolbar.js +30 -41
  107. package/cjs/components/shared/file-tree/FileTreeToolbar.styled.js +1 -1
  108. package/cjs/components/shared/file-tree/context/FileTreeContext.js +91 -97
  109. package/cjs/components/shared/file-tree/locales/en.json.js +3 -1
  110. package/cjs/components/shared/file-tree/locales/ko.json.js +3 -1
  111. package/cjs/components/shared/file-tree/utils/fileTreeFiles.js +20 -22
  112. package/cjs/components/shared/file-tree/utils/fileTreeGenerator.js +193 -173
  113. package/cjs/components/shared/file-tree/utils/fileTreeInput.js +0 -1
  114. package/cjs/components/shared/file-tree/utils/fileTreeItem.js +1 -1
  115. package/cjs/components/shared/file-tree/utils/fileTreePath.js +5 -7
  116. package/cjs/components/shared/file-viewer/FileViewer.js +59 -60
  117. package/cjs/components/shared/file-viewer/FileViewerCsv.js +145 -101
  118. package/cjs/components/shared/file-viewer/FileViewerImage.js +7 -8
  119. package/cjs/components/shared/file-viewer/FileViewerIpynb.js +20 -14
  120. package/cjs/components/shared/file-viewer/FileViewerNonViewable.js +28 -34
  121. package/cjs/components/shared/file-viewer/FileViewerText.js +23 -16
  122. package/cjs/components/shared/file-viewer/locales/en.json.js +3 -1
  123. package/cjs/components/shared/file-viewer/locales/ko.json.js +3 -1
  124. package/cjs/components/shared/file-viewer/locales/nonViewable.en.json.js +3 -1
  125. package/cjs/components/shared/file-viewer/locales/nonViewable.ko.json.js +3 -1
  126. package/cjs/components/shared/material-modal/MaterialModal.js +10 -12
  127. package/cjs/components/shared/material-modal/MaterialModal.styled.js +5 -5
  128. package/cjs/components/shared/monaco-editor/MonacoEditor.js +123 -149
  129. package/cjs/components/shared/monaco-editor/MonacoEditorLazy.js +10 -8
  130. package/cjs/components/shared/monaco-editor/MonacoEditorMobile.js +49 -58
  131. package/cjs/components/shared/monaco-editor/MonacoEditorPerferenceForm.js +78 -85
  132. package/cjs/components/shared/monaco-editor/constants/grammars/index.js +131 -52
  133. package/cjs/components/shared/monaco-editor/constants/monaco/preferences.js +5 -9
  134. package/cjs/components/shared/monaco-editor/constants/themes/index.js +80 -32
  135. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventChange.js +10 -13
  136. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventCursor.js +14 -18
  137. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventScroll.js +8 -9
  138. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoMarkers.js +54 -72
  139. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoOptions.js +14 -15
  140. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoTheme.js +8 -9
  141. package/cjs/components/shared/monaco-editor/editor-languages/css/formatter.js +36 -12
  142. package/cjs/components/shared/monaco-editor/editor-languages/css/index.js +5 -8
  143. package/cjs/components/shared/monaco-editor/editor-languages/html/formatter.js +36 -12
  144. package/cjs/components/shared/monaco-editor/editor-languages/html/index.js +3 -6
  145. package/cjs/components/shared/monaco-editor/editor-languages/index.js +3 -1
  146. package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/_helper.js +1 -1
  147. package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/express.js +3 -2
  148. package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/propTypes.js +3 -2
  149. package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/react.js +3 -2
  150. package/cjs/components/shared/monaco-editor/editor-languages/typescript/formatter.js +36 -12
  151. package/cjs/components/shared/monaco-editor/editor-languages/typescript/index.js +18 -24
  152. package/cjs/components/shared/monaco-editor/hooks/useEditorOptions.js +12 -9
  153. package/cjs/components/shared/monaco-editor/locales/en.json.js +3 -1
  154. package/cjs/components/shared/monaco-editor/locales/ko.json.js +3 -1
  155. package/cjs/components/shared/monaco-editor/utils/emmet/abbreviationActions.js +18 -28
  156. package/cjs/components/shared/monaco-editor/utils/emmet/emmet.js +0 -3
  157. package/cjs/components/shared/monaco-editor/utils/emmet/registerProvider.js +12 -8
  158. package/cjs/components/shared/monaco-editor/utils/grammar/index.js +70 -32
  159. package/cjs/components/shared/monaco-editor/utils/grammar/onigasm.js +25 -7
  160. package/cjs/components/shared/monaco-editor/utils/grammar/textmate.js +67 -43
  161. package/cjs/components/shared/monaco-editor/utils/monacoLanguage.js +9 -19
  162. package/cjs/components/shared/monaco-editor/utils/monacoPreference.js +6 -5
  163. package/cjs/components/shared/monaco-editor/utils/prettier/config.js +2 -3
  164. package/cjs/components/shared/monaco-editor/utils/prettier/index.js +30 -9
  165. package/cjs/components/shared/monaco-editor/utils/theme/convert.js +20 -26
  166. package/cjs/components/shared/monaco-editor/utils/theme/index.js +22 -5
  167. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursor.js +77 -75
  168. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorManager.js +82 -93
  169. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorWidget.js +125 -135
  170. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelection.js +148 -160
  171. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelectionManager.js +104 -118
  172. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/styles.js +2 -2
  173. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/configCompat.js +1 -3
  174. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/data.js +2 -3
  175. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/emmetHelper.js +218 -329
  176. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/utils.js +3 -6
  177. package/cjs/components/shared/no-vnc/NoVnc.js +93 -90
  178. package/cjs/components/shared/no-vnc/NoVncLazy.js +7 -5
  179. package/cjs/components/shared/preview-container/PreviewContainer.js +7 -10
  180. package/cjs/components/shared/web-browser/WebBrowser.js +54 -59
  181. package/cjs/components/shared/xterm/Xterm.js +112 -105
  182. package/cjs/components/shared/xterm/XtermLazy.js +7 -5
  183. package/cjs/components/shared/xterm/locales/en.json.js +3 -1
  184. package/cjs/components/shared/xterm/locales/ko.json.js +3 -1
  185. package/cjs/constants/arduino.js +10 -10
  186. package/cjs/constants/shortcutKeyMap.js +5 -5
  187. package/cjs/constants/stylesheets.js +7 -10
  188. package/cjs/hooks/useArduino.js +327 -255
  189. package/cjs/hooks/useExerciseFile.js +24 -24
  190. package/cjs/hooks/useExericseShortcut.js +6 -5
  191. package/cjs/hooks/useMaterialExerciseFileUrl.js +54 -37
  192. package/cjs/hooks/useRunnerRoomWebSocket.js +58 -56
  193. package/cjs/hooks/useStdioTextConcator.js +18 -12
  194. package/cjs/hooks/useStdioWebSocket.js +41 -67
  195. package/cjs/hooks/useUsercodeEditWebSocket.js +230 -252
  196. package/cjs/hooks/useUsercodeHistory.js +121 -82
  197. package/cjs/index.js +4 -4
  198. package/cjs/utils/arduino.js +23 -25
  199. package/cjs/utils/exerciseFile.js +8 -16
  200. package/cjs/utils/runner.js +29 -25
  201. package/es/_virtual/_rollupPluginBabelHelpers.js +504 -0
  202. package/es/components/material-exercise/MaterialExercise.js +33 -54
  203. package/es/components/material-exercise/MaterialExercise.styled.js +20 -23
  204. package/es/components/material-exercise/MaterialExerciseMobile.js +15 -13
  205. package/es/components/material-exercise/context/ExerciseIntlProvider.js +9 -13
  206. package/es/components/material-exercise/context/ExerciseProvider.js +79 -79
  207. package/es/components/material-exercise/context/ExerciseProviderNoImage.js +11 -13
  208. package/es/components/material-exercise/context/context.js +1 -1
  209. package/es/components/material-exercise/context/recoil.d.ts +2 -1
  210. package/es/components/material-exercise/context/recoil.js +563 -374
  211. package/es/components/material-exercise/context/recoilTypes.js +0 -5
  212. package/es/components/material-exercise/context/subjects.js +3 -6
  213. package/es/components/material-exercise/context/types.d.ts +8 -1
  214. package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.d.ts +2 -2
  215. package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.js +73 -62
  216. package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.js +8 -8
  217. package/es/components/material-exercise/exercise-code-history/locales/en.json.js +3 -0
  218. package/es/components/material-exercise/exercise-code-history/locales/ko.json.js +3 -0
  219. package/es/components/material-exercise/exercise-file/ExerciseFile.js +15 -18
  220. package/es/components/material-exercise/exercise-file-editor/ExerciseFileEditor.js +222 -195
  221. package/es/components/material-exercise/exercise-file-editor/ExerciseFileReadOnlyBanner.js +5 -9
  222. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabs.js +31 -28
  223. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabsFileTreeButton.js +52 -45
  224. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.js +1 -1
  225. package/es/components/material-exercise/exercise-file-tree/ExerciseFileTree.js +321 -225
  226. package/es/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.js +1 -1
  227. package/es/components/material-exercise/exercise-file-viewer/ExerciseFileViewer.js +12 -14
  228. package/es/components/material-exercise/exercise-menu/ExerciseMenu.js +7 -10
  229. package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.js +3 -5
  230. package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.js +43 -36
  231. package/es/components/material-exercise/exercise-menu/ExerciseMenuDropdown.js +53 -37
  232. package/es/components/material-exercise/exercise-menu/ExerciseMenuReset.js +25 -20
  233. package/es/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.js +41 -54
  234. package/es/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.js +12 -12
  235. package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdown.js +25 -19
  236. package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.js +1 -1
  237. package/es/components/material-exercise/exercise-preview/ExercisePreview.js +21 -34
  238. package/es/components/material-exercise/exercise-preview/ExercisePreviewDisplayModeButton.js +13 -10
  239. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpane.js +17 -28
  240. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpaneEditorPerference.js +9 -6
  241. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpaneEnvironment.js +81 -82
  242. package/es/components/material-exercise/exercise-room/ExerciseRoom.js +13 -7
  243. package/es/components/material-exercise/exercise-room/ExerciseRoom.styled.js +14 -12
  244. package/es/components/material-exercise/exercise-room/ExerciseRoomDetail.js +236 -146
  245. package/es/components/material-exercise/exercise-room/ExerciseRoomList.js +90 -63
  246. package/es/components/material-exercise/exercise-room/helpers/exerciseRoomPermissionStringConvertor.js +2 -8
  247. package/es/components/material-exercise/exercise-runner/ExerciseRunner.js +218 -219
  248. package/es/components/material-exercise/exercise-runner/ExerciseRunnerContext.js +1 -1
  249. package/es/components/material-exercise/exercise-runner/ExerciseRunnerController.js +7 -9
  250. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.js +27 -25
  251. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.js +22 -24
  252. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js +76 -94
  253. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.js +24 -26
  254. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerRunningInfo.js +51 -59
  255. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusIndicator.js +2 -4
  256. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusMessage.js +6 -11
  257. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerTimer.js +26 -25
  258. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.d.ts +2 -2
  259. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.js +284 -174
  260. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.styled.js +8 -8
  261. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistoryOutput.js +38 -44
  262. package/es/components/material-exercise/exercise-submit-history/locales/en.json.js +3 -0
  263. package/es/components/material-exercise/exercise-submit-history/locales/ko.json.js +3 -0
  264. package/es/components/shared/exercise-menu-button/ExerciseMenuButton.js +16 -16
  265. package/es/components/shared/exercise-shimmer/ExerciseFileShimmer.js +2 -3
  266. package/es/components/shared/exercise-shimmer/ExerciseFileTabShimmer.js +12 -13
  267. package/es/components/shared/exercise-shimmer/ExerciseFileTabsShimmer.js +2 -3
  268. package/es/components/shared/exercise-shimmer/ExerciseFileTreeListItemShimmer.js +14 -15
  269. package/es/components/shared/exercise-shimmer/ExerciseFileTreeListShimmer.js +15 -10
  270. package/es/components/shared/exercise-version-list/ExerciseVersionList.js +2 -3
  271. package/es/components/shared/exercise-version-list/ExerciseVersionList.styled.js +1 -1
  272. package/es/components/shared/exercise-version-list/ExerciseVersionListItem.js +5 -6
  273. package/es/components/shared/exercise-version-list/ExerciseVersionListItem.styled.js +9 -5
  274. package/es/components/shared/file-icon/FileIcon.js +20 -22
  275. package/es/components/shared/file-tabs/FileTab.js +28 -41
  276. package/es/components/shared/file-tabs/FileTab.styled.js +26 -22
  277. package/es/components/shared/file-tabs/FileTabs.js +52 -48
  278. package/es/components/shared/file-tabs/FileTabs.styled.js +2 -2
  279. package/es/components/shared/file-tabs/util.js +29 -18
  280. package/es/components/shared/file-tree/FileTree.js +3 -5
  281. package/es/components/shared/file-tree/FileTreeConfig.js +21 -22
  282. package/es/components/shared/file-tree/FileTreeList.js +31 -39
  283. package/es/components/shared/file-tree/FileTreeListItemContent.js +67 -85
  284. package/es/components/shared/file-tree/FileTreeListItemContent.styled.js +29 -40
  285. package/es/components/shared/file-tree/FileTreeListItemContentInput.js +74 -100
  286. package/es/components/shared/file-tree/FileTreeListItemContentInput.styled.js +6 -6
  287. package/es/components/shared/file-tree/FileTreeListItemContentMenu.js +48 -85
  288. package/es/components/shared/file-tree/FileTreeListItems.js +147 -152
  289. package/es/components/shared/file-tree/FileTreeListItems.styled.js +2 -2
  290. package/es/components/shared/file-tree/FileTreeToolbar.js +24 -37
  291. package/es/components/shared/file-tree/FileTreeToolbar.styled.js +1 -1
  292. package/es/components/shared/file-tree/context/FileTreeContext.js +91 -97
  293. package/es/components/shared/file-tree/utils/fileTreeFiles.js +20 -22
  294. package/es/components/shared/file-tree/utils/fileTreeGenerator.js +193 -173
  295. package/es/components/shared/file-tree/utils/fileTreeInput.js +0 -1
  296. package/es/components/shared/file-tree/utils/fileTreeItem.js +1 -1
  297. package/es/components/shared/file-tree/utils/fileTreePath.js +5 -7
  298. package/es/components/shared/file-viewer/FileViewer.js +52 -53
  299. package/es/components/shared/file-viewer/FileViewerCsv.js +141 -99
  300. package/es/components/shared/file-viewer/FileViewerImage.js +3 -6
  301. package/es/components/shared/file-viewer/FileViewerIpynb.js +16 -12
  302. package/es/components/shared/file-viewer/FileViewerNonViewable.js +22 -30
  303. package/es/components/shared/file-viewer/FileViewerText.js +18 -13
  304. package/es/components/shared/material-modal/MaterialModal.js +7 -11
  305. package/es/components/shared/material-modal/MaterialModal.styled.js +5 -5
  306. package/es/components/shared/monaco-editor/MonacoEditor.js +119 -147
  307. package/es/components/shared/monaco-editor/MonacoEditorLazy.js +6 -4
  308. package/es/components/shared/monaco-editor/MonacoEditorMobile.js +45 -56
  309. package/es/components/shared/monaco-editor/MonacoEditorPerferenceForm.js +73 -82
  310. package/es/components/shared/monaco-editor/constants/grammars/index.js +131 -52
  311. package/es/components/shared/monaco-editor/constants/monaco/preferences.js +5 -9
  312. package/es/components/shared/monaco-editor/constants/themes/index.js +80 -32
  313. package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventChange.js +10 -13
  314. package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventCursor.js +14 -18
  315. package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventScroll.js +8 -9
  316. package/es/components/shared/monaco-editor/editor-hooks/useMonacoMarkers.js +54 -72
  317. package/es/components/shared/monaco-editor/editor-hooks/useMonacoOptions.js +14 -15
  318. package/es/components/shared/monaco-editor/editor-hooks/useMonacoTheme.js +8 -9
  319. package/es/components/shared/monaco-editor/editor-languages/css/formatter.js +33 -11
  320. package/es/components/shared/monaco-editor/editor-languages/css/index.js +2 -5
  321. package/es/components/shared/monaco-editor/editor-languages/html/formatter.js +33 -11
  322. package/es/components/shared/monaco-editor/editor-languages/html/index.js +2 -5
  323. package/es/components/shared/monaco-editor/editor-languages/typescript/dts/_helper.js +1 -1
  324. package/es/components/shared/monaco-editor/editor-languages/typescript/dts/express.js +0 -1
  325. package/es/components/shared/monaco-editor/editor-languages/typescript/dts/propTypes.js +0 -1
  326. package/es/components/shared/monaco-editor/editor-languages/typescript/dts/react.js +0 -1
  327. package/es/components/shared/monaco-editor/editor-languages/typescript/formatter.js +33 -11
  328. package/es/components/shared/monaco-editor/editor-languages/typescript/index.js +10 -16
  329. package/es/components/shared/monaco-editor/hooks/useEditorOptions.js +12 -9
  330. package/es/components/shared/monaco-editor/utils/emmet/abbreviationActions.js +18 -28
  331. package/es/components/shared/monaco-editor/utils/emmet/emmet.js +0 -3
  332. package/es/components/shared/monaco-editor/utils/emmet/registerProvider.js +12 -8
  333. package/es/components/shared/monaco-editor/utils/grammar/index.js +67 -31
  334. package/es/components/shared/monaco-editor/utils/grammar/onigasm.js +25 -7
  335. package/es/components/shared/monaco-editor/utils/grammar/textmate.js +67 -43
  336. package/es/components/shared/monaco-editor/utils/monacoLanguage.js +9 -19
  337. package/es/components/shared/monaco-editor/utils/monacoPreference.js +6 -5
  338. package/es/components/shared/monaco-editor/utils/prettier/config.js +2 -3
  339. package/es/components/shared/monaco-editor/utils/prettier/index.js +27 -8
  340. package/es/components/shared/monaco-editor/utils/theme/convert.js +20 -26
  341. package/es/components/shared/monaco-editor/utils/theme/index.js +22 -5
  342. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursor.js +77 -75
  343. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorManager.js +82 -93
  344. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorWidget.js +125 -135
  345. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelection.js +148 -160
  346. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelectionManager.js +104 -118
  347. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/styles.js +2 -2
  348. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/configCompat.js +1 -3
  349. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/data.js +2 -3
  350. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/emmetHelper.js +219 -330
  351. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/utils.js +3 -6
  352. package/es/components/shared/no-vnc/NoVnc.js +89 -88
  353. package/es/components/shared/no-vnc/NoVncLazy.js +4 -2
  354. package/es/components/shared/preview-container/PreviewContainer.js +7 -10
  355. package/es/components/shared/web-browser/WebBrowser.js +49 -56
  356. package/es/components/shared/xterm/Xterm.js +107 -102
  357. package/es/components/shared/xterm/XtermLazy.js +4 -2
  358. package/es/constants/arduino.js +10 -10
  359. package/es/constants/shortcutKeyMap.js +3 -5
  360. package/es/constants/stylesheets.js +7 -10
  361. package/es/hooks/useArduino.js +327 -255
  362. package/es/hooks/useExerciseFile.js +24 -24
  363. package/es/hooks/useExericseShortcut.js +6 -5
  364. package/es/hooks/useMaterialExerciseFileUrl.js +55 -38
  365. package/es/hooks/useRunnerRoomWebSocket.js +58 -56
  366. package/es/hooks/useStdioTextConcator.js +18 -12
  367. package/es/hooks/useStdioWebSocket.js +41 -67
  368. package/es/hooks/useUsercodeEditWebSocket.js +230 -252
  369. package/es/hooks/useUsercodeHistory.js +122 -83
  370. package/es/utils/arduino.js +23 -25
  371. package/es/utils/exerciseFile.js +8 -16
  372. package/es/utils/runner.js +29 -25
  373. package/package.json +8 -8
@@ -1,128 +1,167 @@
1
+ import { slicedToArray as _slicedToArray, asyncToGenerator as _asyncToGenerator, regeneratorRuntime as _regeneratorRuntime, toConsumableArray as _toConsumableArray } from '../_virtual/_rollupPluginBabelHelpers.js';
1
2
  import { useRef, useState, useEffect } from 'react';
2
3
  import { useMount } from 'react-use';
3
- import { getOrgMaterialExerciseUsercodeOpList, getOrgMaterialExerciseUsercodeGet } from '@elice/api-client';
4
+ import { getOrgMaterialExerciseUsercodeGet, getOrgMaterialExerciseUsercodeOpList } from '@elice/api-client';
4
5
  import { type } from 'ot-text-unicode';
5
6
 
6
- const OP_FETCHING_COUNT = 100;
7
- const useUsercodeHistory = (exerciseRoomId, filename) => {
8
- const latestDocRef = useRef('');
9
- const [ops, setOps] = useState([]);
10
- const [doc, setDoc] = useState('');
11
- const [version, setVersion] = useState();
12
- const [latestVersion, setLatestVersion] = useState();
13
- const [hasMoreVersion, setHasMoreVersion] = useState(false);
7
+ var OP_FETCHING_COUNT = 100;
8
+ var useUsercodeHistory = function useUsercodeHistory(exerciseRoomId, filename) {
9
+ var latestDocRef = useRef('');
10
+ var _useState = useState([]),
11
+ _useState2 = _slicedToArray(_useState, 2),
12
+ ops = _useState2[0],
13
+ setOps = _useState2[1];
14
+ var _useState3 = useState(''),
15
+ _useState4 = _slicedToArray(_useState3, 2),
16
+ doc = _useState4[0],
17
+ setDoc = _useState4[1];
18
+ var _useState5 = useState(),
19
+ _useState6 = _slicedToArray(_useState5, 2),
20
+ version = _useState6[0],
21
+ setVersion = _useState6[1];
22
+ var _useState7 = useState(),
23
+ _useState8 = _slicedToArray(_useState7, 2),
24
+ latestVersion = _useState8[0],
25
+ setLatestVersion = _useState8[1];
26
+ var _useState9 = useState(false),
27
+ _useState10 = _slicedToArray(_useState9, 2),
28
+ hasMoreVersion = _useState10[0],
29
+ setHasMoreVersion = _useState10[1];
14
30
  /**
15
31
  *
16
32
  */
17
-
18
- const inverseApplyOp = (doc, op) => {
33
+ var inverseApplyOp = function inverseApplyOp(doc, op) {
19
34
  if (typeof type.invert !== 'function') {
20
35
  return doc;
21
36
  }
22
-
23
37
  return type.apply(doc, type.invert(op));
24
38
  };
25
39
  /**
26
40
  *
27
41
  */
28
-
29
-
30
- const applyOps = selectedVersion => {
42
+ var applyOps = function applyOps(selectedVersion) {
31
43
  if (!latestVersion) {
32
44
  return;
33
45
  }
34
-
35
- setDoc(ops.slice(0, latestVersion - selectedVersion).reduce((newDoc, op) => inverseApplyOp(newDoc, op.ots), latestDocRef.current));
46
+ setDoc(ops.slice(0, latestVersion - selectedVersion).reduce(function (newDoc, op) {
47
+ return inverseApplyOp(newDoc, op.ots);
48
+ }, latestDocRef.current));
36
49
  };
37
50
  /**
38
51
  *
39
52
  */
40
-
41
-
42
- const loadMoreVersions = async () => {
43
- if (!filename) {
44
- return;
45
- }
46
-
47
- const {
48
- ops: newOps
49
- } = await getOrgMaterialExerciseUsercodeOpList({
50
- exerciseRoomId,
51
- filename,
52
- offset: ops.length,
53
- count: OP_FETCHING_COUNT,
54
- isOpComposed: false
55
- });
56
- setOps(prev => [...prev, ...newOps]);
57
- };
53
+ var loadMoreVersions = /*#__PURE__*/function () {
54
+ var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
55
+ var _yield$getOrgMaterial, newOps;
56
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
57
+ while (1) switch (_context.prev = _context.next) {
58
+ case 0:
59
+ if (filename) {
60
+ _context.next = 2;
61
+ break;
62
+ }
63
+ return _context.abrupt("return");
64
+ case 2:
65
+ _context.next = 4;
66
+ return getOrgMaterialExerciseUsercodeOpList({
67
+ exerciseRoomId: exerciseRoomId,
68
+ filename: filename,
69
+ offset: ops.length,
70
+ count: OP_FETCHING_COUNT,
71
+ isOpComposed: false
72
+ });
73
+ case 4:
74
+ _yield$getOrgMaterial = _context.sent;
75
+ newOps = _yield$getOrgMaterial.ops;
76
+ setOps(function (prev) {
77
+ return [].concat(_toConsumableArray(prev), _toConsumableArray(newOps));
78
+ });
79
+ case 7:
80
+ case "end":
81
+ return _context.stop();
82
+ }
83
+ }, _callee);
84
+ }));
85
+ return function loadMoreVersions() {
86
+ return _ref.apply(this, arguments);
87
+ };
88
+ }();
58
89
  /**
59
90
  *
60
91
  */
61
-
62
-
63
- const changeVersion = selectedVersion => {
92
+ var changeVersion = function changeVersion(selectedVersion) {
64
93
  if (selectedVersion === version) {
65
94
  return;
66
95
  }
67
-
68
96
  setVersion(selectedVersion);
69
97
  applyOps(selectedVersion);
70
- }; //
98
+ };
71
99
  //
72
100
  //
73
-
74
-
75
- useMount(() => {
101
+ //
102
+ useMount(function () {
76
103
  if (!filename) {
77
104
  return;
78
105
  }
79
-
80
- void (async () => {
81
- try {
82
- const [{
83
- usercode
84
- }, {
85
- ops
86
- }] = await Promise.all([getOrgMaterialExerciseUsercodeGet({
87
- exerciseRoomId,
88
- filename
89
- }), getOrgMaterialExerciseUsercodeOpList({
90
- exerciseRoomId,
91
- filename,
92
- offset: 0,
93
- count: OP_FETCHING_COUNT,
94
- isOpComposed: false
95
- })]);
96
- latestDocRef.current = usercode.content;
97
- setDoc(usercode.content);
98
- setOps(ops);
99
- setVersion(ops[0].version);
100
- setLatestVersion(ops[0].version);
101
-
102
- if (ops.length < ops[0].version) {
103
- setHasMoreVersion(true);
106
+ void _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
107
+ var _yield$Promise$all, _yield$Promise$all2, usercode, _ops;
108
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
109
+ while (1) switch (_context2.prev = _context2.next) {
110
+ case 0:
111
+ _context2.prev = 0;
112
+ _context2.next = 3;
113
+ return Promise.all([getOrgMaterialExerciseUsercodeGet({
114
+ exerciseRoomId: exerciseRoomId,
115
+ filename: filename
116
+ }), getOrgMaterialExerciseUsercodeOpList({
117
+ exerciseRoomId: exerciseRoomId,
118
+ filename: filename,
119
+ offset: 0,
120
+ count: OP_FETCHING_COUNT,
121
+ isOpComposed: false
122
+ })]);
123
+ case 3:
124
+ _yield$Promise$all = _context2.sent;
125
+ _yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 2);
126
+ usercode = _yield$Promise$all2[0].usercode;
127
+ _ops = _yield$Promise$all2[1].ops;
128
+ latestDocRef.current = usercode.content;
129
+ setDoc(usercode.content);
130
+ setOps(_ops);
131
+ setVersion(_ops[0].version);
132
+ setLatestVersion(_ops[0].version);
133
+ if (_ops.length < _ops[0].version) {
134
+ setHasMoreVersion(true);
135
+ }
136
+ _context2.next = 17;
137
+ break;
138
+ case 15:
139
+ _context2.prev = 15;
140
+ _context2.t0 = _context2["catch"](0);
141
+ case 17:
142
+ case "end":
143
+ return _context2.stop();
104
144
  }
105
- } catch (_) {//
106
- }
107
- })();
108
- }); //
145
+ }, _callee2, null, [[0, 15]]);
146
+ }))();
147
+ });
109
148
  //
110
149
  //
111
-
112
- useEffect(() => {
150
+ //
151
+ useEffect(function () {
113
152
  setHasMoreVersion(latestVersion !== undefined && ops.length < latestVersion);
114
- }, [latestVersion, ops]); //
153
+ }, [latestVersion, ops]);
154
+ //
115
155
  //
116
156
  //
117
-
118
157
  return {
119
- doc,
120
- ops,
121
- version,
122
- latestVersion,
123
- hasMoreVersion,
124
- changeVersion,
125
- loadMoreVersions
158
+ doc: doc,
159
+ ops: ops,
160
+ version: version,
161
+ latestVersion: latestVersion,
162
+ hasMoreVersion: hasMoreVersion,
163
+ changeVersion: changeVersion,
164
+ loadMoreVersions: loadMoreVersions
126
165
  };
127
166
  };
128
167
 
@@ -1,76 +1,74 @@
1
+ import { createForOfIteratorHelper as _createForOfIteratorHelper } from '../_virtual/_rollupPluginBabelHelpers.js';
1
2
  import { ARDUINO_BOARD_NAMES, ARDUINO_BOARD_FQBN, ARDUINO_VENDOR_PRODUCT_IDS } from '../constants/arduino.js';
2
3
 
3
4
  /**
4
5
  * Create url to communicate with arduino.
5
6
  */
6
-
7
7
  function createArduinoUrl(options) {
8
- const url = new URL(`${options.protocol}://127.0.0.1`);
9
-
8
+ var url = new URL("".concat(options.protocol, "://127.0.0.1"));
10
9
  if (options.pathname) {
11
10
  url.pathname = options.pathname;
12
11
  }
13
-
14
12
  if (options.port) {
15
13
  url.port = options.port.toString();
16
14
  }
17
-
18
15
  return url.href;
19
16
  }
20
17
  /**
21
18
  *
22
19
  */
23
-
24
20
  function getArduinoBoardType(port) {
25
- const boards = ARDUINO_VENDOR_PRODUCT_IDS;
26
-
27
- for (const board in boards) {
28
- for (const pair of boards[board]) {
29
- if (pair.vendorId === port.VendorID && pair.productId === port.ProductID) {
30
- return board;
21
+ var boards = ARDUINO_VENDOR_PRODUCT_IDS;
22
+ for (var board in boards) {
23
+ var _iterator = _createForOfIteratorHelper(boards[board]),
24
+ _step;
25
+ try {
26
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
27
+ var pair = _step.value;
28
+ if (pair.vendorId === port.VendorID && pair.productId === port.ProductID) {
29
+ return board;
30
+ }
31
31
  }
32
+ } catch (err) {
33
+ _iterator.e(err);
34
+ } finally {
35
+ _iterator.f();
32
36
  }
33
37
  }
34
-
35
38
  return null;
36
39
  }
37
40
  /**
38
41
  *
39
42
  */
40
-
41
43
  function getDisplayName(port) {
42
- const type = getArduinoBoardType(port);
43
- const displayName = type !== null && Object.keys(ARDUINO_BOARD_NAMES).includes(type) ? `${ARDUINO_BOARD_NAMES[type]}` : `Unsupported Device`;
44
+ var type = getArduinoBoardType(port);
45
+ var displayName = type !== null && Object.keys(ARDUINO_BOARD_NAMES).includes(type) ? "".concat(ARDUINO_BOARD_NAMES[type]) : "Unsupported Device";
44
46
  return displayName;
45
47
  }
46
48
  /**
47
49
  *
48
50
  */
49
-
50
51
  function getPortFromName(ports, name) {
51
52
  var _a;
52
-
53
- return (_a = ports.filter(port => port.Name === name)[0]) !== null && _a !== void 0 ? _a : null;
53
+ return (_a = ports.filter(function (port) {
54
+ return port.Name === name;
55
+ })[0]) !== null && _a !== void 0 ? _a : null;
54
56
  }
55
57
  /**
56
58
  *
57
59
  */
58
-
59
60
  function getFileContent(encoded) {
60
- const file = encoded.split(',');
61
+ var file = encoded.split(',');
61
62
  return file[1];
62
63
  }
63
64
  /**
64
65
  *
65
66
  */
66
-
67
67
  function getFQBN(device) {
68
- const type = getArduinoBoardType(device);
69
-
68
+ var type = getArduinoBoardType(device);
70
69
  if (type) {
71
70
  return ARDUINO_BOARD_FQBN[type];
72
71
  }
73
-
74
72
  return 'arduino:avr:uno';
75
73
  }
76
74
 
@@ -21,39 +21,31 @@
21
21
  //
22
22
  //
23
23
  //
24
-
25
24
  /**
26
25
  * Check whether the exercise file is editable.
27
26
  */
28
- const checkExerciseFileEditable = (filename, {
29
- exercise,
30
- exerciseRoom
31
- }) => {
27
+ var checkExerciseFileEditable = function checkExerciseFileEditable(filename, _ref) {
28
+ var exercise = _ref.exercise,
29
+ exerciseRoom = _ref.exerciseRoom;
32
30
  var _a;
33
-
34
31
  if (!filename) {
35
32
  return false;
36
33
  }
37
-
38
34
  return [(_a = exercise === null || exercise === void 0 ? void 0 : exercise.readyExerciseImage) === null || _a === void 0 ? void 0 : _a.taskFilelist.includes(filename), exerciseRoom === null || exerciseRoom === void 0 ? void 0 : exerciseRoom.taskFilelist.includes(filename)].some(Boolean);
39
35
  };
40
36
  /**
41
37
  * Check whether the exercise file is resettable.
42
38
  */
43
-
44
- const checkExerciseFileResettable = (filename, {
45
- exercise,
46
- exerciseRoom
47
- }) => {
39
+ var checkExerciseFileResettable = function checkExerciseFileResettable(filename, _ref2) {
40
+ var exercise = _ref2.exercise,
41
+ exerciseRoom = _ref2.exerciseRoom;
48
42
  var _a, _b, _c;
49
-
50
43
  if (!filename) {
51
44
  return false;
52
45
  }
53
-
54
46
  return [checkExerciseFileEditable(filename, {
55
- exercise,
56
- exerciseRoom
47
+ exercise: exercise,
48
+ exerciseRoom: exerciseRoom
57
49
  }), (_a = exercise === null || exercise === void 0 ? void 0 : exercise.readyExerciseImage) === null || _a === void 0 ? void 0 : _a.taskFilelist.includes(filename), !((_b = exercise === null || exercise === void 0 ? void 0 : exercise.readyExerciseImage) === null || _b === void 0 ? void 0 : _b.readOnlyFilelist.includes(filename)), !((_c = exercise === null || exercise === void 0 ? void 0 : exercise.readyExerciseImage) === null || _c === void 0 ? void 0 : _c.hiddenFilelist.includes(filename))].every(Boolean);
58
50
  };
59
51
 
@@ -2,72 +2,76 @@
2
2
  // This logic is based on the following spreadsheet.
3
3
  // https://docs.google.com/spreadsheets/d/1AeIf1eIlxp2MFR5hZijr-s304xVHMdtuAzcODS6nL-g/edit#gid=0
4
4
  //
5
-
6
5
  /**
7
6
  * Get Programming Error Results from text.
8
7
  */
9
8
  function getProgrammingErrorResult(text) {
10
9
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
11
-
12
- const escapedText = text.replace(/[\r|\\]/gm, '');
13
- const PythonRuntimeErrorRegex = new RegExp(/Traceback \(most recent call last\):\n\s*File "\S+", line \d+, in \S+\n\s*.*\n(.+\n)*\S+Error:\s.+/gm);
14
- const PythonSyntaxErrorRegex = new RegExp(/File "(.*?)", line (\d+)\n\s*.+\n\s*(\^+)\n(.+)Error:\s(.+)/gm);
15
- const CCCPCompileErrorRegex = new RegExp(/(.*?):(\d+):(\d+):\s+(warning|error|note):\s+(.*)(\n.+\n.+)?/gm);
16
- const CCCPRuntimeErrorRegex = new RegExp(/(\w+ fault)\s+\(.*\)/gm);
17
- const JavaCompileErrorRegex = new RegExp(/(.*?):(\d+):\s+error:\s+(.*)\n.+\n.+(\n\s*symbol.+)?(\n\s*location.+)?/gm);
18
- const JavaRuntimeErrorRegex = new RegExp(/^Exception in thread ".+" (.+)$\n((?:\s+at .+$\n)+)/gm);
19
- const JavascriptRuntimeErrorRegex = new RegExp(/(Uncaught )?(\w+Error):\s+(.*)\n((?:\s+at .+$\n)+)/gm);
20
-
10
+ var escapedText = text.replace(/[\r|\\]/gm, '');
11
+ var PythonRuntimeErrorRegex = new RegExp(/Traceback \(most recent call last\):\n\s*File "\S+", line \d+, in \S+\n\s*.*\n(.+\n)*\S+Error:\s.+/gm);
12
+ var PythonSyntaxErrorRegex = new RegExp(/File "(.*?)", line (\d+)\n\s*.+\n\s*(\^+)\n(.+)Error:\s(.+)/gm);
13
+ var CCCPCompileErrorRegex = new RegExp(/(.*?):(\d+):(\d+):\s+(warning|error|note):\s+(.*)(\n.+\n.+)?/gm);
14
+ var CCCPRuntimeErrorRegex = new RegExp(/(\w+ fault)\s+\(.*\)/gm);
15
+ var JavaCompileErrorRegex = new RegExp(/(.*?):(\d+):\s+error:\s+(.*)\n.+\n.+(\n\s*symbol.+)?(\n\s*location.+)?/gm);
16
+ var JavaRuntimeErrorRegex = new RegExp(/^Exception in thread ".+" (.+)$\n((?:\s+at .+$\n)+)/gm);
17
+ var JavascriptRuntimeErrorRegex = new RegExp(/(Uncaught )?(\w+Error):\s+(.*)\n((?:\s+at .+$\n)+)/gm);
21
18
  switch (true) {
22
19
  case PythonRuntimeErrorRegex.test(escapedText):
23
20
  return {
24
- errorCode: (_b = (_a = escapedText.match(PythonRuntimeErrorRegex)) === null || _a === void 0 ? void 0 : _a.reduce((acc, curr) => acc + '\n' + curr)) !== null && _b !== void 0 ? _b : '',
21
+ errorCode: (_b = (_a = escapedText.match(PythonRuntimeErrorRegex)) === null || _a === void 0 ? void 0 : _a.reduce(function (acc, curr) {
22
+ return acc + '\n' + curr;
23
+ })) !== null && _b !== void 0 ? _b : '',
25
24
  errorLangType: 'python',
26
25
  errorType: 'runtime'
27
26
  };
28
-
29
27
  case PythonSyntaxErrorRegex.test(escapedText):
30
28
  return {
31
- errorCode: (_d = (_c = escapedText.match(PythonSyntaxErrorRegex)) === null || _c === void 0 ? void 0 : _c.reduce((acc, curr) => acc + '\n' + curr)) !== null && _d !== void 0 ? _d : '',
29
+ errorCode: (_d = (_c = escapedText.match(PythonSyntaxErrorRegex)) === null || _c === void 0 ? void 0 : _c.reduce(function (acc, curr) {
30
+ return acc + '\n' + curr;
31
+ })) !== null && _d !== void 0 ? _d : '',
32
32
  errorLangType: 'python',
33
33
  errorType: 'syntax'
34
34
  };
35
-
36
35
  case CCCPCompileErrorRegex.test(escapedText):
37
36
  return {
38
- errorCode: (_f = (_e = escapedText.match(CCCPCompileErrorRegex)) === null || _e === void 0 ? void 0 : _e.reduce((acc, curr) => acc + '\n' + curr)) !== null && _f !== void 0 ? _f : '',
37
+ errorCode: (_f = (_e = escapedText.match(CCCPCompileErrorRegex)) === null || _e === void 0 ? void 0 : _e.reduce(function (acc, curr) {
38
+ return acc + '\n' + curr;
39
+ })) !== null && _f !== void 0 ? _f : '',
39
40
  errorLangType: 'c/cpp',
40
41
  errorType: 'compile'
41
42
  };
42
-
43
43
  case CCCPRuntimeErrorRegex.test(escapedText):
44
44
  return {
45
- errorCode: (_h = (_g = escapedText.match(CCCPRuntimeErrorRegex)) === null || _g === void 0 ? void 0 : _g.reduce((acc, curr) => acc + '\n' + curr)) !== null && _h !== void 0 ? _h : '',
45
+ errorCode: (_h = (_g = escapedText.match(CCCPRuntimeErrorRegex)) === null || _g === void 0 ? void 0 : _g.reduce(function (acc, curr) {
46
+ return acc + '\n' + curr;
47
+ })) !== null && _h !== void 0 ? _h : '',
46
48
  errorLangType: 'c/cpp',
47
49
  errorType: 'runtime'
48
50
  };
49
-
50
51
  case JavaCompileErrorRegex.test(escapedText):
51
52
  return {
52
- errorCode: (_k = (_j = escapedText.match(JavaCompileErrorRegex)) === null || _j === void 0 ? void 0 : _j.reduce((acc, curr) => acc + '\n' + curr)) !== null && _k !== void 0 ? _k : '',
53
+ errorCode: (_k = (_j = escapedText.match(JavaCompileErrorRegex)) === null || _j === void 0 ? void 0 : _j.reduce(function (acc, curr) {
54
+ return acc + '\n' + curr;
55
+ })) !== null && _k !== void 0 ? _k : '',
53
56
  errorLangType: 'java',
54
57
  errorType: 'compile'
55
58
  };
56
-
57
59
  case JavaRuntimeErrorRegex.test(escapedText):
58
60
  return {
59
- errorCode: (_m = (_l = escapedText.match(JavaRuntimeErrorRegex)) === null || _l === void 0 ? void 0 : _l.reduce((acc, curr) => acc + '\n' + curr)) !== null && _m !== void 0 ? _m : '',
61
+ errorCode: (_m = (_l = escapedText.match(JavaRuntimeErrorRegex)) === null || _l === void 0 ? void 0 : _l.reduce(function (acc, curr) {
62
+ return acc + '\n' + curr;
63
+ })) !== null && _m !== void 0 ? _m : '',
60
64
  errorLangType: 'java',
61
65
  errorType: 'runtime'
62
66
  };
63
-
64
67
  case JavascriptRuntimeErrorRegex.test(escapedText):
65
68
  return {
66
- errorCode: (_p = (_o = escapedText.match(JavascriptRuntimeErrorRegex)) === null || _o === void 0 ? void 0 : _o.reduce((acc, curr) => acc + '\n' + curr)) !== null && _p !== void 0 ? _p : '',
69
+ errorCode: (_p = (_o = escapedText.match(JavascriptRuntimeErrorRegex)) === null || _o === void 0 ? void 0 : _o.reduce(function (acc, curr) {
70
+ return acc + '\n' + curr;
71
+ })) !== null && _p !== void 0 ? _p : '',
67
72
  errorLangType: 'javascript',
68
73
  errorType: 'runtime'
69
74
  };
70
-
71
75
  default:
72
76
  return null;
73
77
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elice/material-exercise",
3
- "version": "1.230325.0",
3
+ "version": "1.230418.0",
4
4
  "description": "User view and editing components of Elice material exercise",
5
5
  "repository": "https://git.elicer.io/elice/frontend/library/elice-material",
6
6
  "license": "UNLICENSED",
@@ -29,14 +29,14 @@
29
29
  "clean": "del-cli \"es/*\" \"cjs/*\" \"dist/*\""
30
30
  },
31
31
  "peerDependencies": {
32
- "@elice/api-client": "1.230306.1",
32
+ "@elice/api-client": "^1.230413.0",
33
33
  "@elice/blocks": "^1.220803.0",
34
34
  "@elice/design-tokens": "^1.220803.0",
35
35
  "@elice/icons": "^1.220803.0",
36
36
  "@elice/markdown": "^1.220803.0",
37
37
  "@elice/material-shared-types": "*",
38
38
  "@elice/material-shared-utils": "*",
39
- "@elice/types": "^1.230306.0",
39
+ "@elice/types": "^1.230417.0",
40
40
  "@elice/websocket": "^1.220803.0",
41
41
  "humps": "^2.0.1",
42
42
  "lodash": "^4.17.21",
@@ -74,14 +74,14 @@
74
74
  "xterm-addon-fit": "^0.5.0"
75
75
  },
76
76
  "devDependencies": {
77
- "@elice/api-client": "1.230306.1",
77
+ "@elice/api-client": "^1.230413.0",
78
78
  "@elice/blocks": "^1.220803.0",
79
79
  "@elice/design-tokens": "^1.220803.0",
80
80
  "@elice/icons": "^1.220803.0",
81
81
  "@elice/markdown": "^1.220803.0",
82
- "@elice/material-shared-types": "1.230325.0",
83
- "@elice/material-shared-utils": "1.230325.0",
84
- "@elice/types": "^1.230306.0",
82
+ "@elice/material-shared-types": "1.230418.0",
83
+ "@elice/material-shared-utils": "1.230418.0",
84
+ "@elice/types": "^1.230417.0",
85
85
  "@elice/websocket": "^1.220803.0",
86
86
  "@types/classnames": "^2.3.1",
87
87
  "@types/color": "^3.0.3",
@@ -102,5 +102,5 @@
102
102
  "recoil": "^0.6.1",
103
103
  "styled-components": "^5.2.0"
104
104
  },
105
- "gitHead": "8895c0015d03f16997ce78d5f25e22258ce609f8"
105
+ "gitHead": "06d5f856939bdbb6bffa9eba30f2fab56d66129b"
106
106
  }