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

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