@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
@@ -2,10 +2,10 @@ import { base } from '@elice/design-tokens';
2
2
  import styled from 'styled-components';
3
3
  import { MATERIAL_DIVIDER_BORDER_VALUE } from '../../constants/stylesheets.js';
4
4
 
5
- const EXERCISE_FILE_TREE_MIN_WIDTH = 128;
6
- const EXERCISE_PREVIEW_MIN_WIDTH = 128;
7
- const EXERCISE_RUNNER_MIN_HEIGHT = 128;
8
- const EXERCISE_HORIZONTAL_RATIO = {
5
+ var EXERCISE_FILE_TREE_MIN_WIDTH = 128;
6
+ var EXERCISE_PREVIEW_MIN_WIDTH = 128;
7
+ var EXERCISE_RUNNER_MIN_HEIGHT = 128;
8
+ var EXERCISE_HORIZONTAL_RATIO = {
9
9
  FILETREE: 0.15,
10
10
  EDITOR: 0.45,
11
11
  PREVIEW: 0.4
@@ -17,8 +17,7 @@ const EXERCISE_HORIZONTAL_RATIO = {
17
17
  * - File (Editor)
18
18
  * - Runner
19
19
  */
20
-
21
- const StyledExerciseContainer = styled.div.withConfig({
20
+ var StyledExerciseContainer = styled.div.withConfig({
22
21
  componentId: "sc-9joi7g-0"
23
22
  })(["flex:1;display:flex;flex-direction:column;height:100%;min-width:0;min-height:0;"]);
24
23
  /**
@@ -27,8 +26,7 @@ const StyledExerciseContainer = styled.div.withConfig({
27
26
  * - FileTabs
28
27
  * - File (Editor)
29
28
  */
30
-
31
- const StyledExerciseMain = styled.div.withConfig({
29
+ var StyledExerciseMain = styled.div.withConfig({
32
30
  componentId: "sc-9joi7g-1"
33
31
  })(["flex:1;display:flex;width:100%;min-width:0;min-height:0;"]);
34
32
  /**
@@ -36,32 +34,31 @@ const StyledExerciseMain = styled.div.withConfig({
36
34
  * - FileTabs
37
35
  * - File (Editor)
38
36
  */
39
-
40
- const StyledExerciseFileAndTabWrap = styled.div.withConfig({
37
+ var StyledExerciseFileAndTabWrap = styled.div.withConfig({
41
38
  componentId: "sc-9joi7g-2"
42
39
  })(["flex:1;display:flex;flex-direction:column;height:100%;min-width:0;min-height:0;background-color:", ";"], base.color.navy9);
43
- const StyledExerciseFileWrap = styled.div.withConfig({
40
+ var StyledExerciseFileWrap = styled.div.withConfig({
44
41
  componentId: "sc-9joi7g-3"
45
- })(["flex:1;min-height:0;"]); // ========== Exercise FileTab ==========
46
-
47
- const StyledExerciseTabBar = styled.div.withConfig({
42
+ })(["flex:1;min-height:0;"]);
43
+ // ========== Exercise FileTab ==========
44
+ var StyledExerciseTabBar = styled.div.withConfig({
48
45
  componentId: "sc-9joi7g-4"
49
46
  })(["display:flex;border-bottom:", ";"], MATERIAL_DIVIDER_BORDER_VALUE);
50
- const StyledExerciseTabsWrap = styled.div.withConfig({
47
+ var StyledExerciseTabsWrap = styled.div.withConfig({
51
48
  componentId: "sc-9joi7g-5"
52
49
  })(["flex:1;min-width:0;"]);
53
- const StyledExerciseTabMenuWrap = styled.div.withConfig({
50
+ var StyledExerciseTabMenuWrap = styled.div.withConfig({
54
51
  componentId: "sc-9joi7g-6"
55
- })(["display:flex;justify-content:center;align-items:center;padding:0 0.5rem 0 1rem;background-color:", ";"], base.color.navy8); // ========== Exercise FileTree ==========
56
-
57
- const StyledExerciseFileTreeWrap = styled.div.withConfig({
52
+ })(["display:flex;justify-content:center;align-items:center;padding:0 0.5rem 0 1rem;background-color:", ";"], base.color.navy8);
53
+ // ========== Exercise FileTree ==========
54
+ var StyledExerciseFileTreeWrap = styled.div.withConfig({
58
55
  componentId: "sc-9joi7g-7"
59
56
  })(["flex:1;display:flex;flex-direction:column;min-width:0;height:100%;border-right:", ";"], MATERIAL_DIVIDER_BORDER_VALUE);
60
- const StyledxerciseFileTreeContaner = styled.div.withConfig({
57
+ var StyledxerciseFileTreeContaner = styled.div.withConfig({
61
58
  componentId: "sc-9joi7g-8"
62
- })(["display:flex;height:100%;max-width:auto;&[aria-hidden='true']{max-width:0;overflow:hidden;}"]); // ========== Exercise Runner ==========
63
-
64
- const StyledExerciseRunnerWrap = styled.div.withConfig({
59
+ })(["display:flex;height:100%;max-width:auto;&[aria-hidden='true']{max-width:0;overflow:hidden;}"]);
60
+ // ========== Exercise Runner ==========
61
+ var StyledExerciseRunnerWrap = styled.div.withConfig({
65
62
  componentId: "sc-9joi7g-9"
66
63
  })(["width:100%;height:100%;border-top:", ";"], MATERIAL_DIVIDER_BORDER_VALUE);
67
64
 
@@ -11,27 +11,29 @@ import ExerciseFile from './exercise-file/ExerciseFile.js';
11
11
 
12
12
  //
13
13
  //
14
-
14
+ //
15
15
  /**
16
16
  * Material exercise.
17
17
  */
18
-
19
- const MaterialExerciseMobile = ({
20
- filename
21
- }) => {
22
- const setExerciseActiveFilename = useSetRecoilState(exerciseActiveFilenameState);
23
- React.useEffect(() => setExerciseActiveFilename(filename), // eslint-disable-next-line react-hooks/exhaustive-deps
24
- [filename]); //
18
+ var MaterialExerciseMobile = function MaterialExerciseMobile(_ref) {
19
+ var filename = _ref.filename;
20
+ var setExerciseActiveFilename = useSetRecoilState(exerciseActiveFilenameState);
21
+ React.useEffect(function () {
22
+ return setExerciseActiveFilename(filename);
23
+ },
24
+ // eslint-disable-next-line react-hooks/exhaustive-deps
25
+ [filename]);
26
+ //
25
27
  //
26
28
  //
27
-
28
29
  return React.createElement(ExerciseFile, null);
29
- }; //
30
+ };
30
31
  //
31
32
  //
32
-
33
-
34
- var MaterialExerciseMobile$1 = withMaterial(props => React.createElement(ExerciseProvider, Object.assign({}, props), React.createElement(MaterialExerciseMobile, Object.assign({}, props))), config.init, {
33
+ //
34
+ var MaterialExerciseMobile$1 = withMaterial(function (props) {
35
+ return React.createElement(ExerciseProvider, Object.assign({}, props), React.createElement(MaterialExerciseMobile, Object.assign({}, props)));
36
+ }, config.init, {
35
37
  overrideRecoilScope: true
36
38
  });
37
39
 
@@ -4,16 +4,14 @@ import { ExerciseContext } from './context.js';
4
4
 
5
5
  //
6
6
  //
7
-
7
+ //
8
8
  /**
9
9
  *
10
10
  */
11
-
12
- const withExerciseIntlProvider = (Component, phrases) => {
13
- return props => {
14
- const {
15
- locale
16
- } = useContext(ExerciseContext);
11
+ var withExerciseIntlProvider = function withExerciseIntlProvider(Component, phrases) {
12
+ return function (props) {
13
+ var _useContext = useContext(ExerciseContext),
14
+ locale = _useContext.locale;
17
15
  return React.createElement(MaterialIntlProvider, {
18
16
  children: React.createElement(Component, Object.assign({}, props)),
19
17
  locale: locale,
@@ -24,12 +22,10 @@ const withExerciseIntlProvider = (Component, phrases) => {
24
22
  /**
25
23
  *
26
24
  */
27
-
28
- const withForwardRefExerciseIntlProvider = (Component, phrases) => {
29
- return forwardRef((props, ref) => {
30
- const {
31
- locale
32
- } = useContext(ExerciseContext);
25
+ var withForwardRefExerciseIntlProvider = function withForwardRefExerciseIntlProvider(Component, phrases) {
26
+ return forwardRef(function (props, ref) {
27
+ var _useContext2 = useContext(ExerciseContext),
28
+ locale = _useContext2.locale;
33
29
  return React.createElement(MaterialIntlProvider, {
34
30
  children: React.createElement(Component, Object.assign({}, props, {
35
31
  ref: ref
@@ -1,3 +1,4 @@
1
+ import { slicedToArray as _slicedToArray } from '../../../_virtual/_rollupPluginBabelHelpers.js';
1
2
  import { __rest } from 'tslib';
2
3
  import React from 'react';
3
4
  import { useMeasure } from 'react-use';
@@ -9,8 +10,8 @@ import { ExerciseContext } from './context.js';
9
10
  import MaterialExerciseNoImage from './ExerciseProviderNoImage.js';
10
11
  import { exerciseUserState, exerciseState, exerciseRoomState, exerciseLectureState, exerciseMultilangLanguagesState, exerciseActiveFilenameState, exerciseContainerSizeState } from './recoil.js';
11
12
 
12
- const RECOIL_RESET_DELAY = 10;
13
- const StyledMaterialExercise = styled.div.withConfig({
13
+ var RECOIL_RESET_DELAY = 10;
14
+ var StyledMaterialExercise = styled.div.withConfig({
14
15
  componentId: "sc-pj5yv2-0"
15
16
  })(["display:flex;width:100%;height:100%;.eb-resizable{height:inherit;}"]);
16
17
  /**
@@ -19,113 +20,114 @@ const StyledMaterialExercise = styled.div.withConfig({
19
20
  * - fetching exercise room
20
21
  * - fetching exercise room id
21
22
  */
22
-
23
- const ExerciseProvider = _a => {
24
- var {
25
- children,
26
- materialExerciseId,
27
- exerciseRoomId,
28
- exerciseRoomUserId,
29
- onDefaultExerciseRoomIdSet,
30
- exerciseImageEmptyOptions
31
- } = _a,
32
- contextProps = __rest(_a, ["children", "materialExerciseId", "exerciseRoomId", "exerciseRoomUserId", "onDefaultExerciseRoomIdSet", "exerciseImageEmptyOptions"]); // user
33
-
34
-
35
- const user = useRecoilValue(exerciseUserState); // exercise
36
-
37
- const exercise = useRecoilValue(exerciseState(materialExerciseId));
38
- const exerciseRoom = useRecoilValue(exerciseRoomState(exerciseRoomId)); // lecture
39
-
40
- const lecture = useRecoilValue(exerciseLectureState(exercise === null || exercise === void 0 ? void 0 : exercise._lectureId));
41
- const resetLecture = useResetRecoilState(exerciseLectureState(exercise === null || exercise === void 0 ? void 0 : exercise._lectureId)); // multilang languages
42
-
43
- const exerciseMultilangLanguages = useRecoilValue(exerciseMultilangLanguagesState(exercise === null || exercise === void 0 ? void 0 : exercise.id));
44
- const resetExerciseMultilangLanguages = useResetRecoilState(exerciseMultilangLanguagesState(exercise === null || exercise === void 0 ? void 0 : exercise.id)); // etc
45
-
46
- const activeFilename = useRecoilValue(exerciseActiveFilenameState);
47
- const setConatinerSize = useSetRecoilState(exerciseContainerSizeState); // wrap container size
48
-
49
- const [wrapElRef, {
50
- width,
51
- height
52
- }] = useMeasure(); //
23
+ var ExerciseProvider = function ExerciseProvider(_a) {
24
+ var children = _a.children,
25
+ materialExerciseId = _a.materialExerciseId,
26
+ exerciseRoomId = _a.exerciseRoomId,
27
+ exerciseRoomUserId = _a.exerciseRoomUserId,
28
+ onDefaultExerciseRoomIdSet = _a.onDefaultExerciseRoomIdSet,
29
+ exerciseImageEmptyOptions = _a.exerciseImageEmptyOptions,
30
+ contextProps = __rest(_a, ["children", "materialExerciseId", "exerciseRoomId", "exerciseRoomUserId", "onDefaultExerciseRoomIdSet", "exerciseImageEmptyOptions"]);
31
+ // user
32
+ var user = useRecoilValue(exerciseUserState);
33
+ // exercise
34
+ var exercise = useRecoilValue(exerciseState(materialExerciseId));
35
+ var exerciseRoom = useRecoilValue(exerciseRoomState(exerciseRoomId));
36
+ // lecture
37
+ var lecture = useRecoilValue(exerciseLectureState(exercise === null || exercise === void 0 ? void 0 : exercise._lectureId));
38
+ var resetLecture = useResetRecoilState(exerciseLectureState(exercise === null || exercise === void 0 ? void 0 : exercise._lectureId));
39
+ // multilang languages
40
+ var exerciseMultilangLanguages = useRecoilValue(exerciseMultilangLanguagesState(exercise === null || exercise === void 0 ? void 0 : exercise.id));
41
+ var resetExerciseMultilangLanguages = useResetRecoilState(exerciseMultilangLanguagesState(exercise === null || exercise === void 0 ? void 0 : exercise.id));
42
+ // etc
43
+ var activeFilename = useRecoilValue(exerciseActiveFilenameState);
44
+ var setConatinerSize = useSetRecoilState(exerciseContainerSizeState);
45
+ // wrap container size
46
+ var _useMeasure = useMeasure(),
47
+ _useMeasure2 = _slicedToArray(_useMeasure, 2),
48
+ wrapElRef = _useMeasure2[0],
49
+ _useMeasure2$ = _useMeasure2[1],
50
+ width = _useMeasure2$.width,
51
+ height = _useMeasure2$.height;
52
+ //
53
53
  // if exercise room id is not specified, fetch it from server
54
54
  // NOTICE: should not use `exercise.defaultRoom.id`, since will be removed (confrimed by backend-team)
55
55
  //
56
-
57
- React.useEffect(() => {
56
+ React.useEffect(function () {
58
57
  if (exerciseRoomId) {
59
58
  return;
60
59
  }
61
-
62
60
  getOrgMaterialExerciseDefaultRoomGet({
63
- materialExerciseId
64
- }).then(res => {
61
+ materialExerciseId: materialExerciseId
62
+ }).then(function (res) {
65
63
  if (typeof onDefaultExerciseRoomIdSet === 'function') {
66
64
  onDefaultExerciseRoomIdSet(res.exerciseRoomId);
67
65
  }
68
- }).catch(err => {
66
+ }).catch(function (err) {
69
67
  if (typeof contextProps.onError === 'function') {
70
68
  contextProps.onError(err);
71
69
  }
72
70
  });
73
- }, // eslint-disable-next-line react-hooks/exhaustive-deps
74
- [exerciseRoomId, materialExerciseId]); //
71
+ },
72
+ // eslint-disable-next-line react-hooks/exhaustive-deps
73
+ [exerciseRoomId, materialExerciseId]);
74
+ //
75
75
  // reset lecture, after `exercise.lectureId` changed
76
76
  //
77
-
78
- React.useEffect(() => {
77
+ React.useEffect(function () {
79
78
  if (!(exercise === null || exercise === void 0 ? void 0 : exercise._lectureId)) {
80
79
  return;
81
80
  }
82
-
83
- const timeout = window.setTimeout(() => resetLecture(), RECOIL_RESET_DELAY);
84
- return () => {
81
+ var timeout = window.setTimeout(function () {
82
+ return resetLecture();
83
+ }, RECOIL_RESET_DELAY);
84
+ return function () {
85
85
  window.clearTimeout(timeout);
86
86
  };
87
- }, // eslint-disable-next-line react-hooks/exhaustive-deps
88
- [exercise]); //
87
+ },
88
+ // eslint-disable-next-line react-hooks/exhaustive-deps
89
+ [exercise]);
90
+ //
89
91
  // reset exercise multilang languages, after `exercise.id` changed
90
92
  //
91
-
92
- React.useEffect(() => {
93
+ React.useEffect(function () {
93
94
  if (!(exercise === null || exercise === void 0 ? void 0 : exercise.id)) {
94
95
  return;
95
96
  }
96
-
97
- const timeout = window.setTimeout(() => resetExerciseMultilangLanguages(), RECOIL_RESET_DELAY);
98
- return () => {
97
+ var timeout = window.setTimeout(function () {
98
+ return resetExerciseMultilangLanguages();
99
+ }, RECOIL_RESET_DELAY);
100
+ return function () {
99
101
  window.clearTimeout(timeout);
100
102
  };
101
- }, // eslint-disable-next-line react-hooks/exhaustive-deps
102
- [exercise]); //
103
+ },
104
+ // eslint-disable-next-line react-hooks/exhaustive-deps
105
+ [exercise]);
106
+ //
103
107
  // update Provider size
104
108
  //
105
-
106
- React.useEffect(() => {
109
+ React.useEffect(function () {
107
110
  if (width && height) {
108
111
  setConatinerSize({
109
- width,
110
- height
112
+ width: width,
113
+ height: height
111
114
  });
112
115
  }
113
- }, // eslint-disable-next-line react-hooks/exhaustive-deps
114
- [width, height]); //
116
+ },
117
+ // eslint-disable-next-line react-hooks/exhaustive-deps
118
+ [width, height]);
119
+ //
115
120
  //
116
121
  //
117
-
118
122
  return React.createElement(StyledMaterialExercise, {
119
123
  ref: wrapElRef,
120
- children: (() => {
121
- var _a; // render after measure Provider size
122
-
123
-
124
+ children: function () {
125
+ var _a;
126
+ // render after measure Provider size
124
127
  if (!width || !height) {
125
128
  return null;
126
- } // show spinner before exercise ready
127
-
128
-
129
+ }
130
+ // show spinner before exercise ready
129
131
  if (!user || !lecture || !exercise || !exerciseRoomId || !exerciseRoom || typeof exerciseMultilangLanguages === 'undefined') {
130
132
  return React.createElement(Flex, {
131
133
  align: "center",
@@ -133,27 +135,25 @@ const ExerciseProvider = _a => {
133
135
  width: "100%",
134
136
  height: "100%"
135
137
  }, React.createElement(Spinner, null));
136
- } // when exerciseImage is not ready yet
137
-
138
-
138
+ }
139
+ // when exerciseImage is not ready yet
139
140
  if (exercise.readyExerciseImage === null) {
140
141
  return React.createElement(MaterialExerciseNoImage, Object.assign({}, exerciseImageEmptyOptions, {
141
142
  locale: contextProps.locale
142
143
  }));
143
- } // render
144
-
145
-
144
+ }
145
+ // render
146
146
  return React.createElement(ExerciseContext.Provider, {
147
147
  children: children,
148
148
  value: Object.assign(Object.assign({}, contextProps), {
149
- materialExerciseId,
150
- exerciseRoomId,
149
+ materialExerciseId: materialExerciseId,
150
+ exerciseRoomId: exerciseRoomId,
151
151
  exerciseRoomUserId: exerciseRoomUserId !== null && exerciseRoomUserId !== void 0 ? exerciseRoomUserId : user.id,
152
152
  readOnlyActiveFile: !!((_a = exercise === null || exercise === void 0 ? void 0 : exercise.readyExerciseImage) === null || _a === void 0 ? void 0 : _a.readOnlyFilelist.includes(activeFilename || ''))
153
153
  })
154
154
  });
155
- })()
155
+ }()
156
156
  });
157
- }; //
157
+ };
158
158
 
159
159
  export { ExerciseProvider as default };
@@ -7,17 +7,16 @@ import styled from 'styled-components';
7
7
  import phrasesEn from './locales/noImage.en.json.js';
8
8
  import phrasesKo from './locales/noImage.ko.json.js';
9
9
 
10
- const StyledProviderNoImage = styled.div.withConfig({
10
+ var StyledProviderNoImage = styled.div.withConfig({
11
11
  componentId: "sc-oaauqc-0"
12
12
  })(["display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;background-color:", ";"], base.color.navy9);
13
-
14
- const ExerciseProviderNoImage = ({
15
- text,
16
- imageSrc = '',
17
- buttonText,
18
- onButtonClick
19
- }) => {
20
- const intl = useIntl();
13
+ var ExerciseProviderNoImage = function ExerciseProviderNoImage(_ref) {
14
+ var text = _ref.text,
15
+ _ref$imageSrc = _ref.imageSrc,
16
+ imageSrc = _ref$imageSrc === void 0 ? '' : _ref$imageSrc,
17
+ buttonText = _ref.buttonText,
18
+ onButtonClick = _ref.onButtonClick;
19
+ var intl = useIntl();
21
20
  return React.createElement(StyledProviderNoImage, null, React.createElement(SafeImage, {
22
21
  src: imageSrc,
23
22
  defaultSrc: "https://static.elice.io/elice-material/exercise/empty-code-purple.png",
@@ -37,12 +36,11 @@ const ExerciseProviderNoImage = ({
37
36
  }, buttonText || intl.formatMessage({
38
37
  id: 'exerciseContext.provider.noImage.button'
39
38
  })));
40
- }; //
39
+ };
41
40
  //
42
41
  //
43
-
44
-
45
- var MaterialExerciseNoImage = (props => {
42
+ //
43
+ var MaterialExerciseNoImage = (function (props) {
46
44
  return React.createElement(MaterialIntlProvider, {
47
45
  locale: props.locale,
48
46
  phrases: {
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
2
 
3
- const ExerciseContext = React.createContext(null);
3
+ var ExerciseContext = React.createContext(null);
4
4
 
5
5
  export { ExerciseContext };
@@ -1,4 +1,5 @@
1
1
  import { ExercisePreviewDisplayMode, ExercisePreviewType } from './recoilTypes';
2
+ import type { MonacoEditorApis } from "../../shared/monaco-editor";
2
3
  import type { ArduinoAgentConnectionStatus, ArduinoUploadProgressStatus } from "../../../typings/arduino";
3
4
  import type { AtomContainerSizeState, AtomExerciseRoomState, AtomExerciseState, AtomFileEditorCursorState, AtomLectureState, AtomMultilangEnvironmentJson, AtomMultilangEnvironmentState, AtomRunnerRoomConnectionInfoState, AtomRunnerRunTypeState, AtomRunnerStdioFilesState, AtomUserState, AtomVisibilityState, AtomWebSocketStateKey, AtomWebSocketStates } from './recoilTypes';
4
5
  /**
@@ -149,4 +150,4 @@ export declare const exerciseFileEditorCursorSelectionValueState: import("recoil
149
150
  /**
150
151
  *
151
152
  */
152
- export declare const exerciseMonacoEditorValueState: import("recoil").RecoilState<string>;
153
+ export declare const exerciseMonacoEditorApisState: import("recoil").RecoilState<MonacoEditorApis | null>;