@elice/material-exercise 1.230328.0 → 1.230418.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (369) hide show
  1. package/cjs/_virtual/_rollupPluginBabelHelpers.js +526 -0
  2. package/cjs/components/material-exercise/MaterialExercise.js +44 -63
  3. package/cjs/components/material-exercise/MaterialExercise.styled.js +20 -23
  4. package/cjs/components/material-exercise/MaterialExerciseMobile.js +19 -15
  5. package/cjs/components/material-exercise/context/ExerciseIntlProvider.js +9 -13
  6. package/cjs/components/material-exercise/context/ExerciseProvider.js +83 -81
  7. package/cjs/components/material-exercise/context/ExerciseProviderNoImage.js +16 -16
  8. package/cjs/components/material-exercise/context/context.js +1 -1
  9. package/cjs/components/material-exercise/context/locales/noImage.en.json.js +3 -1
  10. package/cjs/components/material-exercise/context/locales/noImage.ko.json.js +3 -1
  11. package/cjs/components/material-exercise/context/recoil.js +559 -371
  12. package/cjs/components/material-exercise/context/recoilTypes.js +0 -5
  13. package/cjs/components/material-exercise/context/subjects.js +3 -6
  14. package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.d.ts +2 -2
  15. package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.js +78 -65
  16. package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.js +8 -8
  17. package/cjs/components/material-exercise/exercise-code-history/locales/en.json.js +7 -0
  18. package/cjs/components/material-exercise/exercise-code-history/locales/ko.json.js +7 -0
  19. package/cjs/components/material-exercise/exercise-file/ExerciseFile.js +20 -21
  20. package/cjs/components/material-exercise/exercise-file-editor/ExerciseFileEditor.js +225 -198
  21. package/cjs/components/material-exercise/exercise-file-editor/ExerciseFileReadOnlyBanner.js +8 -10
  22. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabs.js +35 -32
  23. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabsFileTreeButton.js +57 -48
  24. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.js +6 -4
  25. package/cjs/components/material-exercise/exercise-file-tabs/locales/fileTreeButton.en.json.js +3 -1
  26. package/cjs/components/material-exercise/exercise-file-tabs/locales/fileTreeButton.ko.json.js +3 -1
  27. package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTree.js +327 -231
  28. package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.js +6 -4
  29. package/cjs/components/material-exercise/exercise-file-tree/locales/en.json.js +3 -1
  30. package/cjs/components/material-exercise/exercise-file-tree/locales/ko.json.js +3 -1
  31. package/cjs/components/material-exercise/exercise-file-viewer/ExerciseFileViewer.js +17 -17
  32. package/cjs/components/material-exercise/exercise-menu/ExerciseMenu.js +13 -14
  33. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.js +6 -6
  34. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.js +47 -38
  35. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuDropdown.js +60 -42
  36. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuReset.js +29 -22
  37. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.js +45 -56
  38. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.js +12 -12
  39. package/cjs/components/material-exercise/exercise-menu/locales/en.json.js +3 -1
  40. package/cjs/components/material-exercise/exercise-menu/locales/ko.json.js +3 -1
  41. package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdown.js +28 -20
  42. package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.js +5 -3
  43. package/cjs/components/material-exercise/exercise-preview/ExercisePreview.js +30 -41
  44. package/cjs/components/material-exercise/exercise-preview/ExercisePreviewDisplayModeButton.js +17 -12
  45. package/cjs/components/material-exercise/exercise-preview/locales/en.json.js +3 -1
  46. package/cjs/components/material-exercise/exercise-preview/locales/ko.json.js +3 -1
  47. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpane.js +24 -33
  48. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpaneEditorPerference.js +13 -8
  49. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpaneEnvironment.js +84 -83
  50. package/cjs/components/material-exercise/exercise-rightpane/locales/en.json.js +3 -1
  51. package/cjs/components/material-exercise/exercise-rightpane/locales/ko.json.js +3 -1
  52. package/cjs/components/material-exercise/exercise-room/ExerciseRoom.js +20 -12
  53. package/cjs/components/material-exercise/exercise-room/ExerciseRoom.styled.js +14 -12
  54. package/cjs/components/material-exercise/exercise-room/ExerciseRoomDetail.js +239 -147
  55. package/cjs/components/material-exercise/exercise-room/ExerciseRoomList.js +92 -63
  56. package/cjs/components/material-exercise/exercise-room/helpers/exerciseRoomPermissionStringConvertor.js +2 -8
  57. package/cjs/components/material-exercise/exercise-room/locales/en.json.js +3 -1
  58. package/cjs/components/material-exercise/exercise-room/locales/ko.json.js +3 -1
  59. package/cjs/components/material-exercise/exercise-runner/ExerciseRunner.js +219 -220
  60. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerContext.js +1 -1
  61. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerController.js +13 -13
  62. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.js +30 -26
  63. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.js +26 -26
  64. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js +70 -95
  65. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.js +27 -27
  66. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerRunningInfo.js +54 -60
  67. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusIndicator.js +5 -5
  68. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusMessage.js +10 -13
  69. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerTimer.js +29 -26
  70. package/cjs/components/material-exercise/exercise-runner/locales/en.json.js +3 -1
  71. package/cjs/components/material-exercise/exercise-runner/locales/ko.json.js +3 -1
  72. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.d.ts +2 -2
  73. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.js +290 -180
  74. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.styled.js +8 -8
  75. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistoryOutput.js +41 -45
  76. package/cjs/components/material-exercise/exercise-submit-history/locales/en.json.js +7 -0
  77. package/cjs/components/material-exercise/exercise-submit-history/locales/ko.json.js +7 -0
  78. package/cjs/components/shared/exercise-menu-button/ExerciseMenuButton.js +19 -17
  79. package/cjs/components/shared/exercise-shimmer/ExerciseFileShimmer.js +5 -4
  80. package/cjs/components/shared/exercise-shimmer/ExerciseFileTabShimmer.js +15 -14
  81. package/cjs/components/shared/exercise-shimmer/ExerciseFileTabsShimmer.js +7 -6
  82. package/cjs/components/shared/exercise-shimmer/ExerciseFileTreeListItemShimmer.js +17 -16
  83. package/cjs/components/shared/exercise-shimmer/ExerciseFileTreeListShimmer.js +18 -11
  84. package/cjs/components/shared/exercise-version-list/ExerciseVersionList.js +5 -4
  85. package/cjs/components/shared/exercise-version-list/ExerciseVersionList.styled.js +1 -1
  86. package/cjs/components/shared/exercise-version-list/ExerciseVersionListItem.js +8 -7
  87. package/cjs/components/shared/exercise-version-list/ExerciseVersionListItem.styled.js +9 -5
  88. package/cjs/components/shared/file-icon/FileIcon.js +23 -23
  89. package/cjs/components/shared/file-tabs/FileTab.js +32 -43
  90. package/cjs/components/shared/file-tabs/FileTab.styled.js +26 -22
  91. package/cjs/components/shared/file-tabs/FileTabs.js +55 -49
  92. package/cjs/components/shared/file-tabs/FileTabs.styled.js +2 -2
  93. package/cjs/components/shared/file-tabs/util.js +29 -18
  94. package/cjs/components/shared/file-tree/FileTree.js +11 -11
  95. package/cjs/components/shared/file-tree/FileTreeConfig.js +24 -23
  96. package/cjs/components/shared/file-tree/FileTreeList.js +35 -41
  97. package/cjs/components/shared/file-tree/FileTreeListItemContent.js +75 -91
  98. package/cjs/components/shared/file-tree/FileTreeListItemContent.styled.js +29 -40
  99. package/cjs/components/shared/file-tree/FileTreeListItemContentInput.js +77 -101
  100. package/cjs/components/shared/file-tree/FileTreeListItemContentInput.styled.js +6 -6
  101. package/cjs/components/shared/file-tree/FileTreeListItemContentMenu.js +51 -86
  102. package/cjs/components/shared/file-tree/FileTreeListItems.js +150 -153
  103. package/cjs/components/shared/file-tree/FileTreeListItems.styled.js +2 -2
  104. package/cjs/components/shared/file-tree/FileTreeToolbar.js +30 -41
  105. package/cjs/components/shared/file-tree/FileTreeToolbar.styled.js +1 -1
  106. package/cjs/components/shared/file-tree/context/FileTreeContext.js +91 -97
  107. package/cjs/components/shared/file-tree/locales/en.json.js +3 -1
  108. package/cjs/components/shared/file-tree/locales/ko.json.js +3 -1
  109. package/cjs/components/shared/file-tree/utils/fileTreeFiles.js +20 -22
  110. package/cjs/components/shared/file-tree/utils/fileTreeGenerator.js +193 -173
  111. package/cjs/components/shared/file-tree/utils/fileTreeInput.js +0 -1
  112. package/cjs/components/shared/file-tree/utils/fileTreeItem.js +1 -1
  113. package/cjs/components/shared/file-tree/utils/fileTreePath.js +5 -7
  114. package/cjs/components/shared/file-viewer/FileViewer.js +59 -60
  115. package/cjs/components/shared/file-viewer/FileViewerCsv.js +145 -101
  116. package/cjs/components/shared/file-viewer/FileViewerImage.js +7 -8
  117. package/cjs/components/shared/file-viewer/FileViewerIpynb.js +20 -14
  118. package/cjs/components/shared/file-viewer/FileViewerNonViewable.js +28 -34
  119. package/cjs/components/shared/file-viewer/FileViewerText.js +23 -16
  120. package/cjs/components/shared/file-viewer/locales/en.json.js +3 -1
  121. package/cjs/components/shared/file-viewer/locales/ko.json.js +3 -1
  122. package/cjs/components/shared/file-viewer/locales/nonViewable.en.json.js +3 -1
  123. package/cjs/components/shared/file-viewer/locales/nonViewable.ko.json.js +3 -1
  124. package/cjs/components/shared/material-modal/MaterialModal.js +10 -12
  125. package/cjs/components/shared/material-modal/MaterialModal.styled.js +5 -5
  126. package/cjs/components/shared/monaco-editor/MonacoEditor.js +123 -149
  127. package/cjs/components/shared/monaco-editor/MonacoEditorLazy.js +10 -8
  128. package/cjs/components/shared/monaco-editor/MonacoEditorMobile.js +49 -58
  129. package/cjs/components/shared/monaco-editor/MonacoEditorPerferenceForm.js +78 -85
  130. package/cjs/components/shared/monaco-editor/constants/grammars/index.js +131 -52
  131. package/cjs/components/shared/monaco-editor/constants/monaco/preferences.js +5 -9
  132. package/cjs/components/shared/monaco-editor/constants/themes/index.js +80 -32
  133. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventChange.js +10 -13
  134. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventCursor.js +14 -18
  135. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventScroll.js +8 -9
  136. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoMarkers.js +54 -72
  137. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoOptions.js +14 -15
  138. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoTheme.js +8 -9
  139. package/cjs/components/shared/monaco-editor/editor-languages/css/formatter.js +36 -12
  140. package/cjs/components/shared/monaco-editor/editor-languages/css/index.js +5 -8
  141. package/cjs/components/shared/monaco-editor/editor-languages/html/formatter.js +36 -12
  142. package/cjs/components/shared/monaco-editor/editor-languages/html/index.js +3 -6
  143. package/cjs/components/shared/monaco-editor/editor-languages/index.js +3 -1
  144. package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/_helper.js +1 -1
  145. package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/express.js +3 -2
  146. package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/propTypes.js +3 -2
  147. package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/react.js +3 -2
  148. package/cjs/components/shared/monaco-editor/editor-languages/typescript/formatter.js +36 -12
  149. package/cjs/components/shared/monaco-editor/editor-languages/typescript/index.js +18 -24
  150. package/cjs/components/shared/monaco-editor/hooks/useEditorOptions.js +12 -9
  151. package/cjs/components/shared/monaco-editor/locales/en.json.js +3 -1
  152. package/cjs/components/shared/monaco-editor/locales/ko.json.js +3 -1
  153. package/cjs/components/shared/monaco-editor/utils/emmet/abbreviationActions.js +18 -28
  154. package/cjs/components/shared/monaco-editor/utils/emmet/emmet.js +0 -3
  155. package/cjs/components/shared/monaco-editor/utils/emmet/registerProvider.js +12 -8
  156. package/cjs/components/shared/monaco-editor/utils/grammar/index.js +70 -32
  157. package/cjs/components/shared/monaco-editor/utils/grammar/onigasm.js +25 -7
  158. package/cjs/components/shared/monaco-editor/utils/grammar/textmate.js +67 -43
  159. package/cjs/components/shared/monaco-editor/utils/monacoLanguage.js +9 -19
  160. package/cjs/components/shared/monaco-editor/utils/monacoPreference.js +6 -5
  161. package/cjs/components/shared/monaco-editor/utils/prettier/config.js +2 -3
  162. package/cjs/components/shared/monaco-editor/utils/prettier/index.js +30 -9
  163. package/cjs/components/shared/monaco-editor/utils/theme/convert.js +20 -26
  164. package/cjs/components/shared/monaco-editor/utils/theme/index.js +22 -5
  165. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursor.js +77 -75
  166. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorManager.js +82 -93
  167. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorWidget.js +125 -135
  168. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelection.js +148 -160
  169. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelectionManager.js +104 -118
  170. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/styles.js +2 -2
  171. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/configCompat.js +1 -3
  172. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/data.js +2 -3
  173. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/emmetHelper.js +218 -329
  174. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/utils.js +3 -6
  175. package/cjs/components/shared/no-vnc/NoVnc.js +93 -90
  176. package/cjs/components/shared/no-vnc/NoVncLazy.js +7 -5
  177. package/cjs/components/shared/preview-container/PreviewContainer.js +7 -10
  178. package/cjs/components/shared/web-browser/WebBrowser.js +54 -59
  179. package/cjs/components/shared/xterm/Xterm.js +112 -105
  180. package/cjs/components/shared/xterm/XtermLazy.js +7 -5
  181. package/cjs/components/shared/xterm/locales/en.json.js +3 -1
  182. package/cjs/components/shared/xterm/locales/ko.json.js +3 -1
  183. package/cjs/constants/arduino.js +10 -10
  184. package/cjs/constants/shortcutKeyMap.js +5 -5
  185. package/cjs/constants/stylesheets.js +7 -10
  186. package/cjs/hooks/useArduino.js +327 -255
  187. package/cjs/hooks/useExerciseFile.js +24 -24
  188. package/cjs/hooks/useExericseShortcut.js +6 -5
  189. package/cjs/hooks/useMaterialExerciseFileUrl.js +54 -37
  190. package/cjs/hooks/useRunnerRoomWebSocket.js +58 -56
  191. package/cjs/hooks/useStdioTextConcator.js +18 -12
  192. package/cjs/hooks/useStdioWebSocket.js +41 -67
  193. package/cjs/hooks/useUsercodeEditWebSocket.js +230 -252
  194. package/cjs/hooks/useUsercodeHistory.js +121 -82
  195. package/cjs/index.js +4 -4
  196. package/cjs/utils/arduino.js +23 -25
  197. package/cjs/utils/exerciseFile.js +8 -16
  198. package/cjs/utils/runner.js +29 -25
  199. package/es/_virtual/_rollupPluginBabelHelpers.js +504 -0
  200. package/es/components/material-exercise/MaterialExercise.js +33 -54
  201. package/es/components/material-exercise/MaterialExercise.styled.js +20 -23
  202. package/es/components/material-exercise/MaterialExerciseMobile.js +15 -13
  203. package/es/components/material-exercise/context/ExerciseIntlProvider.js +9 -13
  204. package/es/components/material-exercise/context/ExerciseProvider.js +79 -79
  205. package/es/components/material-exercise/context/ExerciseProviderNoImage.js +11 -13
  206. package/es/components/material-exercise/context/context.js +1 -1
  207. package/es/components/material-exercise/context/recoil.js +560 -372
  208. package/es/components/material-exercise/context/recoilTypes.js +0 -5
  209. package/es/components/material-exercise/context/subjects.js +3 -6
  210. package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.d.ts +2 -2
  211. package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.js +73 -62
  212. package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.js +8 -8
  213. package/es/components/material-exercise/exercise-code-history/locales/en.json.js +3 -0
  214. package/es/components/material-exercise/exercise-code-history/locales/ko.json.js +3 -0
  215. package/es/components/material-exercise/exercise-file/ExerciseFile.js +15 -18
  216. package/es/components/material-exercise/exercise-file-editor/ExerciseFileEditor.js +218 -193
  217. package/es/components/material-exercise/exercise-file-editor/ExerciseFileReadOnlyBanner.js +5 -9
  218. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabs.js +31 -28
  219. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabsFileTreeButton.js +52 -45
  220. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.js +1 -1
  221. package/es/components/material-exercise/exercise-file-tree/ExerciseFileTree.js +321 -225
  222. package/es/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.js +1 -1
  223. package/es/components/material-exercise/exercise-file-viewer/ExerciseFileViewer.js +12 -14
  224. package/es/components/material-exercise/exercise-menu/ExerciseMenu.js +7 -10
  225. package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.js +3 -5
  226. package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.js +43 -36
  227. package/es/components/material-exercise/exercise-menu/ExerciseMenuDropdown.js +53 -37
  228. package/es/components/material-exercise/exercise-menu/ExerciseMenuReset.js +25 -20
  229. package/es/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.js +41 -54
  230. package/es/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.js +12 -12
  231. package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdown.js +25 -19
  232. package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.js +1 -1
  233. package/es/components/material-exercise/exercise-preview/ExercisePreview.js +21 -34
  234. package/es/components/material-exercise/exercise-preview/ExercisePreviewDisplayModeButton.js +13 -10
  235. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpane.js +17 -28
  236. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpaneEditorPerference.js +9 -6
  237. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpaneEnvironment.js +81 -82
  238. package/es/components/material-exercise/exercise-room/ExerciseRoom.js +13 -7
  239. package/es/components/material-exercise/exercise-room/ExerciseRoom.styled.js +14 -12
  240. package/es/components/material-exercise/exercise-room/ExerciseRoomDetail.js +236 -146
  241. package/es/components/material-exercise/exercise-room/ExerciseRoomList.js +90 -63
  242. package/es/components/material-exercise/exercise-room/helpers/exerciseRoomPermissionStringConvertor.js +2 -8
  243. package/es/components/material-exercise/exercise-runner/ExerciseRunner.js +212 -215
  244. package/es/components/material-exercise/exercise-runner/ExerciseRunnerContext.js +1 -1
  245. package/es/components/material-exercise/exercise-runner/ExerciseRunnerController.js +7 -9
  246. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.js +27 -25
  247. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.js +22 -24
  248. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js +66 -93
  249. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.js +24 -26
  250. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerRunningInfo.js +51 -59
  251. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusIndicator.js +2 -4
  252. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusMessage.js +6 -11
  253. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerTimer.js +26 -25
  254. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.d.ts +2 -2
  255. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.js +284 -174
  256. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.styled.js +8 -8
  257. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistoryOutput.js +38 -44
  258. package/es/components/material-exercise/exercise-submit-history/locales/en.json.js +3 -0
  259. package/es/components/material-exercise/exercise-submit-history/locales/ko.json.js +3 -0
  260. package/es/components/shared/exercise-menu-button/ExerciseMenuButton.js +16 -16
  261. package/es/components/shared/exercise-shimmer/ExerciseFileShimmer.js +2 -3
  262. package/es/components/shared/exercise-shimmer/ExerciseFileTabShimmer.js +12 -13
  263. package/es/components/shared/exercise-shimmer/ExerciseFileTabsShimmer.js +2 -3
  264. package/es/components/shared/exercise-shimmer/ExerciseFileTreeListItemShimmer.js +14 -15
  265. package/es/components/shared/exercise-shimmer/ExerciseFileTreeListShimmer.js +15 -10
  266. package/es/components/shared/exercise-version-list/ExerciseVersionList.js +2 -3
  267. package/es/components/shared/exercise-version-list/ExerciseVersionList.styled.js +1 -1
  268. package/es/components/shared/exercise-version-list/ExerciseVersionListItem.js +5 -6
  269. package/es/components/shared/exercise-version-list/ExerciseVersionListItem.styled.js +9 -5
  270. package/es/components/shared/file-icon/FileIcon.js +20 -22
  271. package/es/components/shared/file-tabs/FileTab.js +28 -41
  272. package/es/components/shared/file-tabs/FileTab.styled.js +26 -22
  273. package/es/components/shared/file-tabs/FileTabs.js +52 -48
  274. package/es/components/shared/file-tabs/FileTabs.styled.js +2 -2
  275. package/es/components/shared/file-tabs/util.js +29 -18
  276. package/es/components/shared/file-tree/FileTree.js +3 -5
  277. package/es/components/shared/file-tree/FileTreeConfig.js +21 -22
  278. package/es/components/shared/file-tree/FileTreeList.js +31 -39
  279. package/es/components/shared/file-tree/FileTreeListItemContent.js +67 -85
  280. package/es/components/shared/file-tree/FileTreeListItemContent.styled.js +29 -40
  281. package/es/components/shared/file-tree/FileTreeListItemContentInput.js +74 -100
  282. package/es/components/shared/file-tree/FileTreeListItemContentInput.styled.js +6 -6
  283. package/es/components/shared/file-tree/FileTreeListItemContentMenu.js +48 -85
  284. package/es/components/shared/file-tree/FileTreeListItems.js +147 -152
  285. package/es/components/shared/file-tree/FileTreeListItems.styled.js +2 -2
  286. package/es/components/shared/file-tree/FileTreeToolbar.js +24 -37
  287. package/es/components/shared/file-tree/FileTreeToolbar.styled.js +1 -1
  288. package/es/components/shared/file-tree/context/FileTreeContext.js +91 -97
  289. package/es/components/shared/file-tree/utils/fileTreeFiles.js +20 -22
  290. package/es/components/shared/file-tree/utils/fileTreeGenerator.js +193 -173
  291. package/es/components/shared/file-tree/utils/fileTreeInput.js +0 -1
  292. package/es/components/shared/file-tree/utils/fileTreeItem.js +1 -1
  293. package/es/components/shared/file-tree/utils/fileTreePath.js +5 -7
  294. package/es/components/shared/file-viewer/FileViewer.js +52 -53
  295. package/es/components/shared/file-viewer/FileViewerCsv.js +141 -99
  296. package/es/components/shared/file-viewer/FileViewerImage.js +3 -6
  297. package/es/components/shared/file-viewer/FileViewerIpynb.js +16 -12
  298. package/es/components/shared/file-viewer/FileViewerNonViewable.js +22 -30
  299. package/es/components/shared/file-viewer/FileViewerText.js +18 -13
  300. package/es/components/shared/material-modal/MaterialModal.js +7 -11
  301. package/es/components/shared/material-modal/MaterialModal.styled.js +5 -5
  302. package/es/components/shared/monaco-editor/MonacoEditor.js +119 -147
  303. package/es/components/shared/monaco-editor/MonacoEditorLazy.js +6 -4
  304. package/es/components/shared/monaco-editor/MonacoEditorMobile.js +45 -56
  305. package/es/components/shared/monaco-editor/MonacoEditorPerferenceForm.js +73 -82
  306. package/es/components/shared/monaco-editor/constants/grammars/index.js +131 -52
  307. package/es/components/shared/monaco-editor/constants/monaco/preferences.js +5 -9
  308. package/es/components/shared/monaco-editor/constants/themes/index.js +80 -32
  309. package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventChange.js +10 -13
  310. package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventCursor.js +14 -18
  311. package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventScroll.js +8 -9
  312. package/es/components/shared/monaco-editor/editor-hooks/useMonacoMarkers.js +54 -72
  313. package/es/components/shared/monaco-editor/editor-hooks/useMonacoOptions.js +14 -15
  314. package/es/components/shared/monaco-editor/editor-hooks/useMonacoTheme.js +8 -9
  315. package/es/components/shared/monaco-editor/editor-languages/css/formatter.js +33 -11
  316. package/es/components/shared/monaco-editor/editor-languages/css/index.js +2 -5
  317. package/es/components/shared/monaco-editor/editor-languages/html/formatter.js +33 -11
  318. package/es/components/shared/monaco-editor/editor-languages/html/index.js +2 -5
  319. package/es/components/shared/monaco-editor/editor-languages/typescript/dts/_helper.js +1 -1
  320. package/es/components/shared/monaco-editor/editor-languages/typescript/dts/express.js +0 -1
  321. package/es/components/shared/monaco-editor/editor-languages/typescript/dts/propTypes.js +0 -1
  322. package/es/components/shared/monaco-editor/editor-languages/typescript/dts/react.js +0 -1
  323. package/es/components/shared/monaco-editor/editor-languages/typescript/formatter.js +33 -11
  324. package/es/components/shared/monaco-editor/editor-languages/typescript/index.js +10 -16
  325. package/es/components/shared/monaco-editor/hooks/useEditorOptions.js +12 -9
  326. package/es/components/shared/monaco-editor/utils/emmet/abbreviationActions.js +18 -28
  327. package/es/components/shared/monaco-editor/utils/emmet/emmet.js +0 -3
  328. package/es/components/shared/monaco-editor/utils/emmet/registerProvider.js +12 -8
  329. package/es/components/shared/monaco-editor/utils/grammar/index.js +67 -31
  330. package/es/components/shared/monaco-editor/utils/grammar/onigasm.js +25 -7
  331. package/es/components/shared/monaco-editor/utils/grammar/textmate.js +67 -43
  332. package/es/components/shared/monaco-editor/utils/monacoLanguage.js +9 -19
  333. package/es/components/shared/monaco-editor/utils/monacoPreference.js +6 -5
  334. package/es/components/shared/monaco-editor/utils/prettier/config.js +2 -3
  335. package/es/components/shared/monaco-editor/utils/prettier/index.js +27 -8
  336. package/es/components/shared/monaco-editor/utils/theme/convert.js +20 -26
  337. package/es/components/shared/monaco-editor/utils/theme/index.js +22 -5
  338. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursor.js +77 -75
  339. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorManager.js +82 -93
  340. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorWidget.js +125 -135
  341. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelection.js +148 -160
  342. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelectionManager.js +104 -118
  343. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/styles.js +2 -2
  344. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/configCompat.js +1 -3
  345. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/data.js +2 -3
  346. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/emmetHelper.js +219 -330
  347. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/utils.js +3 -6
  348. package/es/components/shared/no-vnc/NoVnc.js +89 -88
  349. package/es/components/shared/no-vnc/NoVncLazy.js +4 -2
  350. package/es/components/shared/preview-container/PreviewContainer.js +7 -10
  351. package/es/components/shared/web-browser/WebBrowser.js +49 -56
  352. package/es/components/shared/xterm/Xterm.js +107 -102
  353. package/es/components/shared/xterm/XtermLazy.js +4 -2
  354. package/es/constants/arduino.js +10 -10
  355. package/es/constants/shortcutKeyMap.js +3 -5
  356. package/es/constants/stylesheets.js +7 -10
  357. package/es/hooks/useArduino.js +327 -255
  358. package/es/hooks/useExerciseFile.js +24 -24
  359. package/es/hooks/useExericseShortcut.js +6 -5
  360. package/es/hooks/useMaterialExerciseFileUrl.js +55 -38
  361. package/es/hooks/useRunnerRoomWebSocket.js +58 -56
  362. package/es/hooks/useStdioTextConcator.js +18 -12
  363. package/es/hooks/useStdioWebSocket.js +41 -67
  364. package/es/hooks/useUsercodeEditWebSocket.js +230 -252
  365. package/es/hooks/useUsercodeHistory.js +122 -83
  366. package/es/utils/arduino.js +23 -25
  367. package/es/utils/exerciseFile.js +8 -16
  368. package/es/utils/runner.js +29 -25
  369. package/package.json +8 -8
@@ -6,7 +6,7 @@ import ExerciseFileTreeListShimmer from '../../shared/exercise-shimmer/ExerciseF
6
6
  import '../../shared/exercise-shimmer/ExerciseFileTreeListItemShimmer.js';
7
7
  import ExerciseFileTree from './ExerciseFileTree.js';
8
8
 
9
- const ExerciseFileTreeLazy = () => {
9
+ var ExerciseFileTreeLazy = function ExerciseFileTreeLazy() {
10
10
  return React.createElement(React.Suspense, {
11
11
  fallback: React.createElement(ExerciseFileTreeListShimmer, null)
12
12
  }, React.createElement(ExerciseFileTree, null));
@@ -13,26 +13,24 @@ import '../context/recoilTypes.js';
13
13
  import '../context/subjects.js';
14
14
  import '../context/ExerciseProvider.js';
15
15
 
16
- const ExerciseFileViewer = () => {
17
- const {
18
- materialExerciseId,
19
- exerciseRoomId,
20
- locale
21
- } = React.useContext(ExerciseContext);
22
- const exercise = useRecoilValue(exerciseState(materialExerciseId));
23
- const activeFilename = useRecoilValue(exerciseActiveFilenameState);
24
- const activeFileUrl = useMaterialExerciseFileUrl({
16
+ var ExerciseFileViewer = function ExerciseFileViewer() {
17
+ var _React$useContext = React.useContext(ExerciseContext),
18
+ materialExerciseId = _React$useContext.materialExerciseId,
19
+ exerciseRoomId = _React$useContext.exerciseRoomId,
20
+ locale = _React$useContext.locale;
21
+ var exercise = useRecoilValue(exerciseState(materialExerciseId));
22
+ var activeFilename = useRecoilValue(exerciseActiveFilenameState);
23
+ var activeFileUrl = useMaterialExerciseFileUrl({
25
24
  filename: activeFilename,
26
- exercise,
27
- exerciseRoomId
28
- }); //
25
+ exercise: exercise,
26
+ exerciseRoomId: exerciseRoomId
27
+ });
28
+ //
29
29
  //
30
30
  //
31
-
32
31
  if (!activeFilename) {
33
32
  return React.createElement(ExerciseFileShimmer, null);
34
33
  }
35
-
36
34
  return React.createElement(FileViewer, {
37
35
  key: activeFileUrl,
38
36
  filename: activeFilename,
@@ -17,22 +17,19 @@ import ExerciseMenuDropdown from './ExerciseMenuDropdown.js';
17
17
  import ExerciseMenuReset from './ExerciseMenuReset.js';
18
18
  import ExerciseMenuStdioFileBrowser from './ExerciseMenuStdioFileBrowser.js';
19
19
 
20
- const StyledExerciseMenuWrapper = styled.div.withConfig({
20
+ var StyledExerciseMenuWrapper = styled.div.withConfig({
21
21
  componentId: "sc-1gf6m87-0"
22
22
  })(["display:flex;justify-content:center;align-items:center;padding:0 0.5rem 0 1rem;height:2.25rem;gap:0.5rem;background-color:", ";"], base.color.navy8);
23
-
24
- const ExerciseMenu = () => {
25
- const {
26
- materialExerciseId
27
- } = React.useContext(ExerciseContext);
28
- const exercise = useRecoilValue(exerciseState(materialExerciseId));
29
- const isArduinoExercise = (exercise === null || exercise === void 0 ? void 0 : exercise.envType) === enums.ExerciseEnvType.Arduino; //
23
+ var ExerciseMenu = function ExerciseMenu() {
24
+ var _React$useContext = React.useContext(ExerciseContext),
25
+ materialExerciseId = _React$useContext.materialExerciseId;
26
+ var exercise = useRecoilValue(exerciseState(materialExerciseId));
27
+ var isArduinoExercise = (exercise === null || exercise === void 0 ? void 0 : exercise.envType) === enums.ExerciseEnvType.Arduino;
28
+ //
30
29
  //
31
30
  //
32
-
33
31
  return React.createElement(StyledExerciseMenuWrapper, null, isArduinoExercise ? React.createElement(React.Fragment, null, React.createElement(ExerciseMenuArduinoAgentModalButton, null), React.createElement(ExerciseMenuArduinoSettings, null)) : React.createElement(ExerciseMenuStdioFileBrowser, null), React.createElement(ExerciseMenuReset, null), React.createElement(ExerciseMenuDropdown, null));
34
32
  };
35
-
36
33
  var ExerciseMenu$1 = withExerciseIntlProvider(ExerciseMenu, {
37
34
  en: phrasesEn,
38
35
  ko: phrasesKo
@@ -9,13 +9,11 @@ import '../context/recoilTypes.js';
9
9
  import '../context/subjects.js';
10
10
  import '../context/ExerciseProvider.js';
11
11
 
12
- const ExerciseMenuArduinoAgentModalButton = () => {
13
- const setOpen = useSetRecoilState(exerciseArduinoAgentModalState);
14
-
15
- const handleClick = () => {
12
+ var ExerciseMenuArduinoAgentModalButton = function ExerciseMenuArduinoAgentModalButton() {
13
+ var setOpen = useSetRecoilState(exerciseArduinoAgentModalState);
14
+ var handleClick = function handleClick() {
16
15
  setOpen(true);
17
16
  };
18
-
19
17
  return React.createElement(Button, {
20
18
  size: "micro",
21
19
  role: "warning",
@@ -1,3 +1,4 @@
1
+ import { slicedToArray as _slicedToArray } from '../../../_virtual/_rollupPluginBabelHelpers.js';
1
2
  import React from 'react';
2
3
  import { Popover, Text, Flex, IconButton } from '@elice/blocks';
3
4
  import { eilMathsignMultiplyBasic, eilMaterialTypeArduino } from '@elice/icons';
@@ -12,18 +13,23 @@ import '../context/subjects.js';
12
13
  import '../context/ExerciseProvider.js';
13
14
  import { StyledFilePopoverContent, StyledFilePopoverHeader, StyledFilePopoverBody, StyledFilePopoverBodyList, StyledPreferenceBodyItem, StyledSelect } from './ExerciseMenuStdioFileBrowser.styled.js';
14
15
 
15
- const ExerciseMenuArduinoSettings = () => {
16
- const [open, setOpen] = React.useState(false);
17
- const anchorRef = React.useRef(null);
18
- const ports = useRecoilValue(exerciseArduinoPortsState);
19
- const [preference, setPreference] = useRecoilState(exerciseArduinoPreferenceState);
20
- const openedPort = useRecoilValue(exerciseArduinoOpenedPortNameState);
21
- const onSelectPort = useRecoilValue(exerciseArduinoOnSelectPortState);
16
+ var ExerciseMenuArduinoSettings = function ExerciseMenuArduinoSettings() {
17
+ var _React$useState = React.useState(false),
18
+ _React$useState2 = _slicedToArray(_React$useState, 2),
19
+ open = _React$useState2[0],
20
+ setOpen = _React$useState2[1];
21
+ var anchorRef = React.useRef(null);
22
+ var ports = useRecoilValue(exerciseArduinoPortsState);
23
+ var _useRecoilState = useRecoilState(exerciseArduinoPreferenceState),
24
+ _useRecoilState2 = _slicedToArray(_useRecoilState, 2),
25
+ preference = _useRecoilState2[0],
26
+ setPreference = _useRecoilState2[1];
27
+ var openedPort = useRecoilValue(exerciseArduinoOpenedPortNameState);
28
+ var onSelectPort = useRecoilValue(exerciseArduinoOnSelectPortState);
22
29
  /**
23
30
  * List of stdio files.
24
31
  */
25
-
26
- const renderStdioFileList = () => {
32
+ var renderStdioFileList = function renderStdioFileList() {
27
33
  return React.createElement(StyledFilePopoverBodyList, null, React.createElement(StyledPreferenceBodyItem, null, React.createElement(Text, {
28
34
  role: "gray3",
29
35
  block: true,
@@ -32,15 +38,17 @@ const ExerciseMenuArduinoSettings = () => {
32
38
  value: preference.baudRate,
33
39
  size: "small",
34
40
  width: "xsmall",
35
- onChange: value => {
41
+ onChange: function onChange(value) {
36
42
  setPreference(Object.assign(Object.assign({}, preference), {
37
43
  baudRate: value
38
44
  }));
39
45
  }
40
- }, ARDUINO_BAUD_RATES.map(baudRate => React.createElement("option", {
41
- key: baudRate,
42
- value: baudRate
43
- }, baudRate)))), React.createElement(StyledPreferenceBodyItem, null, React.createElement(Text, {
46
+ }, ARDUINO_BAUD_RATES.map(function (baudRate) {
47
+ return React.createElement("option", {
48
+ key: baudRate,
49
+ value: baudRate
50
+ }, baudRate);
51
+ }))), React.createElement(StyledPreferenceBodyItem, null, React.createElement(Text, {
44
52
  role: "gray3",
45
53
  block: true,
46
54
  size: "small"
@@ -48,7 +56,7 @@ const ExerciseMenuArduinoSettings = () => {
48
56
  value: openedPort !== null && openedPort !== void 0 ? openedPort : '',
49
57
  size: "small",
50
58
  width: "xsmall",
51
- onChange: value => {
59
+ onChange: function onChange(value) {
52
60
  onSelectPort(value);
53
61
  }
54
62
  }, ports.length === 0 ? React.createElement("option", {
@@ -57,17 +65,17 @@ const ExerciseMenuArduinoSettings = () => {
57
65
  }, "\uC7A5\uCE58 \uC5C6\uC74C") : React.createElement("option", {
58
66
  value: "",
59
67
  disabled: true
60
- }, "\uC7A5\uCE58 \uC120\uD0DD"), ports.map(port => React.createElement("option", {
61
- key: port.Name,
62
- value: port.Name
63
- }, `${getDisplayName(port)}@${port.Name}`)))));
68
+ }, "\uC7A5\uCE58 \uC120\uD0DD"), ports.map(function (port) {
69
+ return React.createElement("option", {
70
+ key: port.Name,
71
+ value: port.Name
72
+ }, "".concat(getDisplayName(port), "@").concat(port.Name));
73
+ }))));
64
74
  };
65
75
  /**
66
76
  * Popover header.
67
77
  */
68
-
69
-
70
- const renderStdioFilePopoverHeader = () => {
78
+ var renderStdioFilePopoverHeader = function renderStdioFilePopoverHeader() {
71
79
  return React.createElement(StyledFilePopoverHeader, null, React.createElement(Text, {
72
80
  role: "white",
73
81
  bold: true
@@ -79,15 +87,15 @@ const ExerciseMenuArduinoSettings = () => {
79
87
  size: "micro",
80
88
  border: false,
81
89
  transparent: true,
82
- onClick: () => setOpen(false)
90
+ onClick: function onClick() {
91
+ return setOpen(false);
92
+ }
83
93
  }));
84
94
  };
85
95
  /**
86
96
  * Popover body.
87
97
  */
88
-
89
-
90
- const renderStdioFilePopoverBody = () => {
98
+ var renderStdioFilePopoverBody = function renderStdioFilePopoverBody() {
91
99
  return React.createElement(StyledFilePopoverBody, {
92
100
  children: renderStdioFileList()
93
101
  });
@@ -95,9 +103,7 @@ const ExerciseMenuArduinoSettings = () => {
95
103
  /**
96
104
  * Popover.
97
105
  */
98
-
99
-
100
- const renderStdioFilePopover = () => {
106
+ var renderStdioFilePopover = function renderStdioFilePopover() {
101
107
  return React.createElement(Popover, {
102
108
  open: open,
103
109
  anchorEl: anchorRef.current,
@@ -110,21 +116,22 @@ const ExerciseMenuArduinoSettings = () => {
110
116
  /**
111
117
  * Popover toggle button.
112
118
  */
113
-
114
-
115
- const renderStdioFilePopoverToggleButton = () => {
119
+ var renderStdioFilePopoverToggleButton = function renderStdioFilePopoverToggleButton() {
116
120
  return React.createElement(ExerciseMenuButton, {
117
121
  icon: eilMaterialTypeArduino,
118
122
  title: "\uC544\uB450\uC774\uB178 \uC124\uC815",
119
123
  active: open,
120
- onClick: () => setOpen(prev => !prev),
124
+ onClick: function onClick() {
125
+ return setOpen(function (prev) {
126
+ return !prev;
127
+ });
128
+ },
121
129
  ref: anchorRef
122
130
  });
123
- }; //
131
+ };
132
+ //
124
133
  //
125
134
  //
126
-
127
-
128
135
  return React.createElement(React.Fragment, null, renderStdioFilePopover(), renderStdioFilePopoverToggleButton());
129
136
  };
130
137
 
@@ -1,3 +1,4 @@
1
+ import { slicedToArray as _slicedToArray } from '../../../_virtual/_rollupPluginBabelHelpers.js';
1
2
  import React from 'react';
2
3
  import { useIntl } from 'react-intl';
3
4
  import { ButtonMenu } from '@elice/blocks';
@@ -14,46 +15,53 @@ import ExerciseCodeHistory from '../exercise-code-history/ExerciseCodeHistory.js
14
15
  import ExerciseRoom from '../exercise-room/ExerciseRoom.js';
15
16
  import ExerciseSubmitHistory from '../exercise-submit-history/ExerciseSubmitHistory.js';
16
17
 
17
- const ExerciseMenuDropdown = () => {
18
- const intl = useIntl();
19
- const {
20
- materialExerciseId
21
- } = React.useContext(ExerciseContext);
22
- const user = useRecoilValue(exerciseUserState);
23
- const exercise = useRecoilValue(exerciseState(materialExerciseId));
24
- const lecture = useRecoilValue(exerciseLectureState(exercise === null || exercise === void 0 ? void 0 : exercise._lectureId));
25
- const activeFilename = useRecoilValue(exerciseActiveFilenameState);
26
- const setRightpaneActiveState = useSetRecoilState(exerciseRightpaneActiveState);
27
- const [isSubmitHistoryModalOpen, setIsSubmitHistoryModalOpen] = React.useState(false);
28
- const [isCodeHistoryModalOpen, setIsCodeHistoryModalOpen] = React.useState(false);
29
- const [isExerciseRoomModalOpen, setIsExerciseRoomModalOpen] = React.useState(false);
30
- const isLectureTestInProgress = typeof (lecture === null || lecture === void 0 ? void 0 : lecture.testAdmissionStatus) !== 'undefined' && lecture.testAdmissionStatus === enums.TestAdmissionStatus.InProgress;
18
+ var ExerciseMenuDropdown = function ExerciseMenuDropdown() {
19
+ var intl = useIntl();
20
+ var _React$useContext = React.useContext(ExerciseContext),
21
+ materialExerciseId = _React$useContext.materialExerciseId;
22
+ var user = useRecoilValue(exerciseUserState);
23
+ var exercise = useRecoilValue(exerciseState(materialExerciseId));
24
+ var lecture = useRecoilValue(exerciseLectureState(exercise === null || exercise === void 0 ? void 0 : exercise._lectureId));
25
+ var activeFilename = useRecoilValue(exerciseActiveFilenameState);
26
+ var setRightpaneActiveState = useSetRecoilState(exerciseRightpaneActiveState);
27
+ var _React$useState = React.useState(false),
28
+ _React$useState2 = _slicedToArray(_React$useState, 2),
29
+ isSubmitHistoryModalOpen = _React$useState2[0],
30
+ setIsSubmitHistoryModalOpen = _React$useState2[1];
31
+ var _React$useState3 = React.useState(false),
32
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
33
+ isCodeHistoryModalOpen = _React$useState4[0],
34
+ setIsCodeHistoryModalOpen = _React$useState4[1];
35
+ var _React$useState5 = React.useState(false),
36
+ _React$useState6 = _slicedToArray(_React$useState5, 2),
37
+ isExerciseRoomModalOpen = _React$useState6[0],
38
+ setIsExerciseRoomModalOpen = _React$useState6[1];
39
+ var isLectureTestInProgress = typeof (lecture === null || lecture === void 0 ? void 0 : lecture.testAdmissionStatus) !== 'undefined' && lecture.testAdmissionStatus === enums.TestAdmissionStatus.InProgress;
31
40
  /**
32
41
  *
33
42
  */
34
-
35
- const renderSumbitHistoryModal = () => {
43
+ var renderSumbitHistoryModal = function renderSumbitHistoryModal() {
36
44
  if (!isSubmitHistoryModalOpen) {
37
45
  return null;
38
46
  }
39
-
40
47
  return React.createElement(ExerciseSubmitHistory, {
41
- onHide: () => setIsSubmitHistoryModalOpen(false)
48
+ onHide: function onHide() {
49
+ return setIsSubmitHistoryModalOpen(false);
50
+ }
42
51
  });
43
52
  };
44
53
  /**
45
54
  *
46
55
  */
47
-
48
-
49
- const renderCodeHistoryModal = () => {
56
+ var renderCodeHistoryModal = function renderCodeHistoryModal() {
50
57
  if (!isCodeHistoryModalOpen) {
51
58
  return null;
52
59
  }
53
-
54
60
  return React.createElement(ExerciseCodeHistory, {
55
- onHide: () => setIsCodeHistoryModalOpen(false),
56
- onLoadVersionButtonClick: content => {
61
+ onHide: function onHide() {
62
+ return setIsCodeHistoryModalOpen(false);
63
+ },
64
+ onLoadVersionButtonClick: function onLoadVersionButtonClick(content) {
57
65
  exerciseFileEditorContentChange$.next(content);
58
66
  setIsCodeHistoryModalOpen(false);
59
67
  }
@@ -62,50 +70,58 @@ const ExerciseMenuDropdown = () => {
62
70
  /**
63
71
  *
64
72
  */
65
-
66
-
67
- const renderExerciseRoomModal = () => {
73
+ var renderExerciseRoomModal = function renderExerciseRoomModal() {
68
74
  if (!isExerciseRoomModalOpen) {
69
75
  return null;
70
76
  }
71
-
72
77
  return React.createElement(ExerciseRoom, {
73
- onHide: () => setIsExerciseRoomModalOpen(false)
78
+ onHide: function onHide() {
79
+ return setIsExerciseRoomModalOpen(false);
80
+ }
74
81
  });
75
- }; //
82
+ };
83
+ //
76
84
  //
77
85
  //
78
-
79
-
80
86
  return React.createElement(React.Fragment, null, React.createElement(ButtonMenu, {
81
87
  menuItemProps: [{
82
88
  label: intl.formatMessage({
83
89
  id: 'exerciseMenu.dropdown.item.environment'
84
90
  }),
85
- onClick: () => setRightpaneActiveState('environment')
91
+ onClick: function onClick() {
92
+ return setRightpaneActiveState('environment');
93
+ }
86
94
  }, {
87
95
  label: intl.formatMessage({
88
96
  id: 'exerciseMenu.dropdown.item.preference'
89
97
  }),
90
- onClick: () => setRightpaneActiveState('preference')
98
+ onClick: function onClick() {
99
+ return setRightpaneActiveState('preference');
100
+ }
91
101
  }, {
92
102
  label: intl.formatMessage({
93
103
  id: 'exerciseMenu.dropdown.item.codeHistory'
94
104
  }),
95
105
  disabled: !user,
96
- onClick: () => setIsCodeHistoryModalOpen(true)
106
+ onClick: function onClick() {
107
+ return setIsCodeHistoryModalOpen(true);
108
+ }
97
109
  }, {
98
110
  label: intl.formatMessage({
99
111
  id: 'exerciseMenu.dropdown.item.submitHistory'
100
112
  }),
101
113
  disabled: !user || !activeFilename,
102
- onClick: () => setIsSubmitHistoryModalOpen(true)
114
+ onClick: function onClick() {
115
+ return setIsSubmitHistoryModalOpen(true);
116
+ }
103
117
  }, {
104
118
  label: intl.formatMessage({
105
119
  id: 'exerciseMenu.dropdown.item.room'
106
120
  }),
107
121
  disabled: isLectureTestInProgress,
108
- onClick: () => setIsExerciseRoomModalOpen(true)
122
+ onClick: function onClick() {
123
+ return setIsExerciseRoomModalOpen(true);
124
+ }
109
125
  }],
110
126
  size: "xsmall",
111
127
  placement: "bottom-end",
@@ -1,3 +1,4 @@
1
+ import { slicedToArray as _slicedToArray } from '../../../_virtual/_rollupPluginBabelHelpers.js';
1
2
  import React, { useState } from 'react';
2
3
  import { useIntl, FormattedMessage } from 'react-intl';
3
4
  import { Dialog } from '@elice/blocks';
@@ -22,25 +23,25 @@ import 'lodash/debounce';
22
23
  import 'random-words';
23
24
  import 'unicount';
24
25
 
25
- const ExerciseMenuReset = () => {
26
- const intl = useIntl();
27
- const [isDialogOpen, setDialogOpen] = useState(false);
28
- const activeFilename = useRecoilValue(exerciseActiveFilenameState);
29
- const isFileResettable = useExerciseFileResettable(activeFilename);
26
+ var ExerciseMenuReset = function ExerciseMenuReset() {
27
+ var intl = useIntl();
28
+ var _useState = useState(false),
29
+ _useState2 = _slicedToArray(_useState, 2),
30
+ isDialogOpen = _useState2[0],
31
+ setDialogOpen = _useState2[1];
32
+ var activeFilename = useRecoilValue(exerciseActiveFilenameState);
33
+ var isFileResettable = useExerciseFileResettable(activeFilename);
30
34
  /**
31
35
  * Reset the active file.
32
36
  */
33
-
34
- const handleReset = () => {
37
+ var handleReset = function handleReset() {
35
38
  exerciseFileEditorContentChange$.next(null);
36
39
  setDialogOpen(false);
37
40
  };
38
41
  /**
39
42
  * Reset button.
40
43
  */
41
-
42
-
43
- const renderResetButton = () => {
44
+ var renderResetButton = function renderResetButton() {
44
45
  return React.createElement(ExerciseMenuButton, {
45
46
  icon: eilReset,
46
47
  active: isDialogOpen,
@@ -50,19 +51,20 @@ const ExerciseMenuReset = () => {
50
51
  id: 'exerciseMenu.reset.button.tooltip.disabled'
51
52
  }),
52
53
  disabled: !isFileResettable,
53
- onClick: () => setDialogOpen(isOpen => !isOpen)
54
+ onClick: function onClick() {
55
+ return setDialogOpen(function (isOpen) {
56
+ return !isOpen;
57
+ });
58
+ }
54
59
  });
55
60
  };
56
61
  /**
57
62
  * Reset confirm dialog.
58
63
  */
59
-
60
-
61
- const renderResetConfirmDialog = () => {
64
+ var renderResetConfirmDialog = function renderResetConfirmDialog() {
62
65
  if (!isDialogOpen) {
63
66
  return null;
64
67
  }
65
-
66
68
  return React.createElement(Dialog, {
67
69
  type: "warning",
68
70
  title: intl.formatMessage({
@@ -71,9 +73,13 @@ const ExerciseMenuReset = () => {
71
73
  body: intl.formatMessage({
72
74
  id: 'exerciseMenu.reset.confirmDialog.body'
73
75
  }),
74
- onHide: () => setDialogOpen(false)
76
+ onHide: function onHide() {
77
+ return setDialogOpen(false);
78
+ }
75
79
  }, React.createElement(Dialog.CloseButton, {
76
- onClick: () => setDialogOpen(false)
80
+ onClick: function onClick() {
81
+ return setDialogOpen(false);
82
+ }
77
83
  }, React.createElement(FormattedMessage, {
78
84
  id: "exerciseMenu.reset.confirmDialog.cancel"
79
85
  })), React.createElement(Dialog.ActionButton, {
@@ -81,11 +87,10 @@ const ExerciseMenuReset = () => {
81
87
  }, React.createElement(FormattedMessage, {
82
88
  id: "exerciseMenu.reset.confirmDialog.confirm"
83
89
  })));
84
- }; //
90
+ };
91
+ //
85
92
  //
86
93
  //
87
-
88
-
89
94
  return React.createElement(React.Fragment, null, renderResetButton(), renderResetConfirmDialog());
90
95
  };
91
96