@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
@@ -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