@elice/material-exercise 1.231227.0 → 1.231228.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 (395) hide show
  1. package/cjs/components/material-exercise/MaterialExercise.i18n.js +2 -4
  2. package/cjs/components/material-exercise/MaterialExercise.js +54 -59
  3. package/cjs/components/material-exercise/MaterialExercise.styled.js +14 -20
  4. package/cjs/components/material-exercise/MaterialExerciseMobile.js +8 -15
  5. package/cjs/components/material-exercise/context/ExerciseIntlProvider.js +14 -18
  6. package/cjs/components/material-exercise/context/ExerciseProvider.js +58 -66
  7. package/cjs/components/material-exercise/context/ExerciseProviderNoImage.js +19 -24
  8. package/cjs/components/material-exercise/context/context.js +1 -7
  9. package/cjs/components/material-exercise/context/locales/noImage.en.json.js +1 -1
  10. package/cjs/components/material-exercise/context/locales/noImage.ko.json.js +1 -1
  11. package/cjs/components/material-exercise/context/recoil.js +293 -544
  12. package/cjs/components/material-exercise/context/recoilTypes.js +0 -2
  13. package/cjs/components/material-exercise/context/subjects.js +3 -5
  14. package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.js +60 -67
  15. package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.js +8 -14
  16. package/cjs/components/material-exercise/exercise-code-history/locales/en.json.js +1 -1
  17. package/cjs/components/material-exercise/exercise-code-history/locales/ko.json.js +1 -1
  18. package/cjs/components/material-exercise/exercise-file/ExerciseFile.js +17 -21
  19. package/cjs/components/material-exercise/exercise-file-editor/ExerciseFileEditor.js +133 -203
  20. package/cjs/components/material-exercise/exercise-file-editor/ExerciseFileReadOnlyBanner.js +8 -12
  21. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabs.js +24 -40
  22. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabsFileTreeButton.js +38 -52
  23. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.js +5 -9
  24. package/cjs/components/material-exercise/exercise-file-tabs/locales/fileTreeButton.en.json.js +1 -1
  25. package/cjs/components/material-exercise/exercise-file-tabs/locales/fileTreeButton.ko.json.js +1 -1
  26. package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTree.js +189 -328
  27. package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.js +5 -9
  28. package/cjs/components/material-exercise/exercise-file-tree/locales/en.json.js +1 -1
  29. package/cjs/components/material-exercise/exercise-file-tree/locales/ko.json.js +1 -1
  30. package/cjs/components/material-exercise/exercise-file-viewer/ExerciseFileViewer.js +14 -17
  31. package/cjs/components/material-exercise/exercise-menu/ExerciseMenu.js +11 -15
  32. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.js +7 -11
  33. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.js +44 -65
  34. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuDropdown.js +32 -61
  35. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuReset.js +19 -35
  36. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.js +48 -62
  37. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.js +12 -18
  38. package/cjs/components/material-exercise/exercise-menu/locales/en.json.js +1 -1
  39. package/cjs/components/material-exercise/exercise-menu/locales/ko.json.js +1 -1
  40. package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdown.js +21 -32
  41. package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.js +4 -8
  42. package/cjs/components/material-exercise/exercise-preview/ExercisePreview.js +23 -27
  43. package/cjs/components/material-exercise/exercise-preview/ExercisePreviewDisplayModeButton.js +7 -17
  44. package/cjs/components/material-exercise/exercise-preview/locales/en.json.js +1 -1
  45. package/cjs/components/material-exercise/exercise-preview/locales/ko.json.js +1 -1
  46. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpane.js +23 -32
  47. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpaneEditorPerference.js +7 -15
  48. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpaneEnvironment.js +79 -86
  49. package/cjs/components/material-exercise/exercise-rightpane/locales/en.json.js +1 -1
  50. package/cjs/components/material-exercise/exercise-rightpane/locales/ko.json.js +1 -1
  51. package/cjs/components/material-exercise/exercise-room/ExerciseRoom.js +11 -22
  52. package/cjs/components/material-exercise/exercise-room/ExerciseRoom.styled.js +12 -20
  53. package/cjs/components/material-exercise/exercise-room/ExerciseRoomDetail.js +180 -288
  54. package/cjs/components/material-exercise/exercise-room/ExerciseRoomList.js +82 -116
  55. package/cjs/components/material-exercise/exercise-room/helpers/exerciseRoomPermissionStringConvertor.js +2 -4
  56. package/cjs/components/material-exercise/exercise-room/locales/en.json.js +1 -1
  57. package/cjs/components/material-exercise/exercise-room/locales/ko.json.js +1 -1
  58. package/cjs/components/material-exercise/exercise-runner/ExerciseRunner.js +125 -181
  59. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerContext.js +1 -7
  60. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerController.js +13 -17
  61. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.js +43 -58
  62. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.js +15 -27
  63. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js +65 -68
  64. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.js +23 -32
  65. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerRunningInfo.js +58 -92
  66. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusIndicator.js +3 -7
  67. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusMessage.js +11 -16
  68. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerTimer.js +18 -29
  69. package/cjs/components/material-exercise/exercise-runner/locales/en.json.js +1 -1
  70. package/cjs/components/material-exercise/exercise-runner/locales/ko.json.js +1 -1
  71. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.js +162 -282
  72. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.styled.js +8 -14
  73. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistoryOutput.js +41 -54
  74. package/cjs/components/material-exercise/exercise-submit-history/locales/en.json.js +1 -1
  75. package/cjs/components/material-exercise/exercise-submit-history/locales/ko.json.js +1 -1
  76. package/cjs/components/shared/exercise-menu-button/ExerciseMenuButton.js +15 -21
  77. package/cjs/components/shared/exercise-shimmer/ExerciseFileShimmer.js +14 -19
  78. package/cjs/components/shared/exercise-shimmer/ExerciseFileTabShimmer.js +16 -21
  79. package/cjs/components/shared/exercise-shimmer/ExerciseFileTabsShimmer.js +5 -10
  80. package/cjs/components/shared/exercise-shimmer/ExerciseFileTreeListItemShimmer.js +18 -23
  81. package/cjs/components/shared/exercise-shimmer/ExerciseFileTreeListShimmer.js +10 -21
  82. package/cjs/components/shared/exercise-version-list/ExerciseVersionList.js +5 -8
  83. package/cjs/components/shared/exercise-version-list/ExerciseVersionList.styled.js +1 -7
  84. package/cjs/components/shared/exercise-version-list/ExerciseVersionListItem.js +8 -11
  85. package/cjs/components/shared/exercise-version-list/ExerciseVersionListItem.styled.js +5 -15
  86. package/cjs/components/shared/file-icon/FileIcon.js +17 -23
  87. package/cjs/components/shared/file-tabs/FileTab.js +30 -36
  88. package/cjs/components/shared/file-tabs/FileTab.styled.js +15 -25
  89. package/cjs/components/shared/file-tabs/FileTabs.js +38 -63
  90. package/cjs/components/shared/file-tabs/FileTabs.styled.js +2 -8
  91. package/cjs/components/shared/file-tabs/util.js +14 -29
  92. package/cjs/components/shared/file-tree/FileTree.js +12 -17
  93. package/cjs/components/shared/file-tree/FileTreeConfig.js +22 -25
  94. package/cjs/components/shared/file-tree/FileTreeList.js +37 -39
  95. package/cjs/components/shared/file-tree/FileTreeListItemContent.js +61 -75
  96. package/cjs/components/shared/file-tree/FileTreeListItemContent.styled.js +21 -31
  97. package/cjs/components/shared/file-tree/FileTreeListItemContentInput.js +64 -72
  98. package/cjs/components/shared/file-tree/FileTreeListItemContentInput.styled.js +6 -12
  99. package/cjs/components/shared/file-tree/FileTreeListItemContentMenu.js +63 -74
  100. package/cjs/components/shared/file-tree/FileTreeListItems.js +136 -151
  101. package/cjs/components/shared/file-tree/FileTreeListItems.styled.js +2 -8
  102. package/cjs/components/shared/file-tree/FileTreeToolbar.js +31 -32
  103. package/cjs/components/shared/file-tree/FileTreeToolbar.styled.js +1 -7
  104. package/cjs/components/shared/file-tree/context/FileTreeContext.js +76 -97
  105. package/cjs/components/shared/file-tree/locales/en.json.js +1 -1
  106. package/cjs/components/shared/file-tree/locales/ko.json.js +1 -1
  107. package/cjs/components/shared/file-tree/utils/fileTreeFiles.js +20 -26
  108. package/cjs/components/shared/file-tree/utils/fileTreeGenerator.js +146 -195
  109. package/cjs/components/shared/file-tree/utils/fileTreeInput.js +0 -2
  110. package/cjs/components/shared/file-tree/utils/fileTreeItem.js +1 -3
  111. package/cjs/components/shared/file-tree/utils/fileTreePath.js +6 -7
  112. package/cjs/components/shared/file-viewer/FileViewer.js +37 -61
  113. package/cjs/components/shared/file-viewer/FileViewerCsv.js +108 -172
  114. package/cjs/components/shared/file-viewer/FileViewerImage.js +8 -12
  115. package/cjs/components/shared/file-viewer/FileViewerIpynb.js +10 -23
  116. package/cjs/components/shared/file-viewer/FileViewerNonViewable.js +33 -42
  117. package/cjs/components/shared/file-viewer/FileViewerText.js +12 -24
  118. package/cjs/components/shared/file-viewer/locales/en.json.js +1 -1
  119. package/cjs/components/shared/file-viewer/locales/ko.json.js +1 -1
  120. package/cjs/components/shared/file-viewer/locales/nonViewable.en.json.js +1 -1
  121. package/cjs/components/shared/file-viewer/locales/nonViewable.ko.json.js +1 -1
  122. package/cjs/components/shared/material-modal/MaterialModal.js +11 -14
  123. package/cjs/components/shared/material-modal/MaterialModal.styled.js +5 -11
  124. package/cjs/components/shared/monaco-editor/MonacoEditor.js +74 -99
  125. package/cjs/components/shared/monaco-editor/MonacoEditorLazy.js +6 -12
  126. package/cjs/components/shared/monaco-editor/MonacoEditorMobile.js +36 -50
  127. package/cjs/components/shared/monaco-editor/MonacoEditorPerferenceForm.js +91 -110
  128. package/cjs/components/shared/monaco-editor/constants/grammars/JSON.tmLanguage.json.js +1 -1
  129. package/cjs/components/shared/monaco-editor/constants/grammars/MagicPython.tmLanguage.json.js +1 -1
  130. package/cjs/components/shared/monaco-editor/constants/grammars/TypeScriptReact.tmLanguage.json.js +1 -1
  131. package/cjs/components/shared/monaco-editor/constants/grammars/asp-vb-net.tmlanguage.json.js +1 -1
  132. package/cjs/components/shared/monaco-editor/constants/grammars/c.tmLanguage.json.js +1 -1
  133. package/cjs/components/shared/monaco-editor/constants/grammars/cpp.tmLanguage.json.js +1 -1
  134. package/cjs/components/shared/monaco-editor/constants/grammars/csharp.tmLanguage.json.js +1 -1
  135. package/cjs/components/shared/monaco-editor/constants/grammars/css.tmLanguage.json.js +1 -1
  136. package/cjs/components/shared/monaco-editor/constants/grammars/dart.tmLanguage.json.js +1 -1
  137. package/cjs/components/shared/monaco-editor/constants/grammars/fsharp.tmLanguage.json.js +1 -1
  138. package/cjs/components/shared/monaco-editor/constants/grammars/go.tmLanguage.json.js +1 -1
  139. package/cjs/components/shared/monaco-editor/constants/grammars/html.tmLanguage.json.js +1 -1
  140. package/cjs/components/shared/monaco-editor/constants/grammars/index.js +28 -84
  141. package/cjs/components/shared/monaco-editor/constants/grammars/java.tmLanguage.json.js +1 -1
  142. package/cjs/components/shared/monaco-editor/constants/grammars/lua.tmLanguage.json.js +1 -1
  143. package/cjs/components/shared/monaco-editor/constants/grammars/objective-c.tmLanguage.json.js +1 -1
  144. package/cjs/components/shared/monaco-editor/constants/grammars/php.tmLanguage.json.js +1 -1
  145. package/cjs/components/shared/monaco-editor/constants/grammars/r.tmLanguage.json.js +1 -1
  146. package/cjs/components/shared/monaco-editor/constants/grammars/ruby.tmLanguage.json.js +1 -1
  147. package/cjs/components/shared/monaco-editor/constants/grammars/rust.tmLanguage.json.js +1 -1
  148. package/cjs/components/shared/monaco-editor/constants/grammars/scss.tmLanguage.json.js +1 -1
  149. package/cjs/components/shared/monaco-editor/constants/grammars/sql.tmLanguage.json.js +1 -1
  150. package/cjs/components/shared/monaco-editor/constants/grammars/swift.tmLanguage.json.js +1 -1
  151. package/cjs/components/shared/monaco-editor/constants/grammars/xml.tmLanguage.json.js +1 -1
  152. package/cjs/components/shared/monaco-editor/constants/grammars/yaml.tmLanguage.json.js +1 -1
  153. package/cjs/components/shared/monaco-editor/constants/monaco/preferences.js +5 -7
  154. package/cjs/components/shared/monaco-editor/constants/themes/abyss.json.js +1 -1
  155. package/cjs/components/shared/monaco-editor/constants/themes/elice.json.js +1 -1
  156. package/cjs/components/shared/monaco-editor/constants/themes/index.js +17 -51
  157. package/cjs/components/shared/monaco-editor/constants/themes/kimbie-dark.json.js +1 -1
  158. package/cjs/components/shared/monaco-editor/constants/themes/monokai.json.js +1 -1
  159. package/cjs/components/shared/monaco-editor/constants/themes/quietlight.json.js +1 -1
  160. package/cjs/components/shared/monaco-editor/constants/themes/red.json.js +1 -1
  161. package/cjs/components/shared/monaco-editor/constants/themes/solarized-dark.json.js +1 -1
  162. package/cjs/components/shared/monaco-editor/constants/themes/solarized-light.json.js +1 -1
  163. package/cjs/components/shared/monaco-editor/constants/themes/tomorrow-night-blue.json.js +1 -1
  164. package/cjs/components/shared/monaco-editor/constants/themes/vs-dark-plus.json.js +1 -1
  165. package/cjs/components/shared/monaco-editor/constants/themes/vs-dark.json.js +1 -1
  166. package/cjs/components/shared/monaco-editor/constants/themes/vs-hc-black.json.js +1 -1
  167. package/cjs/components/shared/monaco-editor/constants/themes/vs-hc-light.json.js +1 -1
  168. package/cjs/components/shared/monaco-editor/constants/themes/vs-light-plus.json.js +1 -1
  169. package/cjs/components/shared/monaco-editor/constants/themes/vs-light.json.js +1 -1
  170. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventChange.js +10 -13
  171. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventCursor.js +14 -17
  172. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventScroll.js +8 -11
  173. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoMarkers.js +30 -36
  174. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoOptions.js +7 -11
  175. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoTheme.js +6 -8
  176. package/cjs/components/shared/monaco-editor/editor-languages/css/formatter.js +11 -52
  177. package/cjs/components/shared/monaco-editor/editor-languages/css/index.js +7 -8
  178. package/cjs/components/shared/monaco-editor/editor-languages/html/formatter.js +11 -52
  179. package/cjs/components/shared/monaco-editor/editor-languages/html/index.js +5 -6
  180. package/cjs/components/shared/monaco-editor/editor-languages/index.js +4 -4
  181. package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/_helper.js +1 -3
  182. package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/express.js +1 -1
  183. package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/propTypes.js +1 -1
  184. package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/react.js +1 -1
  185. package/cjs/components/shared/monaco-editor/editor-languages/typescript/formatter.js +11 -56
  186. package/cjs/components/shared/monaco-editor/editor-languages/typescript/index.js +17 -18
  187. package/cjs/components/shared/monaco-editor/hooks/useEditorOptions.js +5 -13
  188. package/cjs/components/shared/monaco-editor/locales/en.json.js +1 -1
  189. package/cjs/components/shared/monaco-editor/locales/ko.json.js +1 -1
  190. package/cjs/components/shared/monaco-editor/utils/emmet/abbreviationActions.js +12 -12
  191. package/cjs/components/shared/monaco-editor/utils/emmet/emmet.js +0 -2
  192. package/cjs/components/shared/monaco-editor/utils/emmet/registerProvider.js +6 -14
  193. package/cjs/components/shared/monaco-editor/utils/grammar/index.js +25 -69
  194. package/cjs/components/shared/monaco-editor/utils/grammar/onigasm.js +6 -27
  195. package/cjs/components/shared/monaco-editor/utils/grammar/textmate.js +38 -73
  196. package/cjs/components/shared/monaco-editor/utils/monacoLanguage.js +8 -11
  197. package/cjs/components/shared/monaco-editor/utils/monacoPreference.js +4 -8
  198. package/cjs/components/shared/monaco-editor/utils/prettier/config.js +2 -4
  199. package/cjs/components/shared/monaco-editor/utils/prettier/index.js +8 -46
  200. package/cjs/components/shared/monaco-editor/utils/theme/convert.js +14 -26
  201. package/cjs/components/shared/monaco-editor/utils/theme/index.js +3 -24
  202. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursor.js +56 -79
  203. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorManager.js +68 -84
  204. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorWidget.js +93 -122
  205. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelection.js +133 -158
  206. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelectionManager.js +92 -106
  207. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/styles.js +2 -4
  208. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/configCompat.js +6 -3
  209. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/data.js +2 -4
  210. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/emmetHelper.js +158 -179
  211. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/utils.js +3 -5
  212. package/cjs/components/shared/no-vnc/NoVnc.js +57 -86
  213. package/cjs/components/shared/no-vnc/NoVncLazy.js +5 -11
  214. package/cjs/components/shared/preview-container/PreviewContainer.js +11 -15
  215. package/cjs/components/shared/web-browser/WebBrowser.js +37 -53
  216. package/cjs/components/shared/xterm/Xterm.js +58 -81
  217. package/cjs/components/shared/xterm/XtermLazy.js +5 -11
  218. package/cjs/components/shared/xterm/locales/en.json.js +1 -1
  219. package/cjs/components/shared/xterm/locales/ko.json.js +1 -1
  220. package/cjs/components/shared/xterm/utils/index.js +0 -2
  221. package/cjs/constants/arduino.js +10 -12
  222. package/cjs/constants/shortcutKeyMap.js +2 -4
  223. package/cjs/constants/stylesheets.js +5 -9
  224. package/cjs/hooks/useArduino.js +141 -284
  225. package/cjs/hooks/useExerciseFile.js +22 -26
  226. package/cjs/hooks/useExericseShortcut.js +4 -8
  227. package/cjs/hooks/useMaterialExerciseFileUrl.js +33 -57
  228. package/cjs/hooks/useRunnerRoomWebSocket.js +27 -53
  229. package/cjs/hooks/useStdioTextConcator.js +10 -22
  230. package/cjs/hooks/useStdioWebSocket.js +28 -34
  231. package/cjs/hooks/useUsercodeEditWebSocket.js +158 -240
  232. package/cjs/hooks/useUsercodeHistory.js +63 -117
  233. package/cjs/index.js +4 -6
  234. package/cjs/utils/arduino.js +11 -25
  235. package/cjs/utils/exerciseFile.js +10 -10
  236. package/cjs/utils/runner.js +15 -31
  237. package/es/components/material-exercise/MaterialExercise.i18n.js +2 -2
  238. package/es/components/material-exercise/MaterialExercise.js +34 -35
  239. package/es/components/material-exercise/MaterialExercise.styled.js +14 -14
  240. package/es/components/material-exercise/MaterialExerciseMobile.js +6 -9
  241. package/es/components/material-exercise/context/ExerciseIntlProvider.js +10 -8
  242. package/es/components/material-exercise/context/ExerciseProvider.js +52 -55
  243. package/es/components/material-exercise/context/ExerciseProviderNoImage.js +10 -10
  244. package/es/components/material-exercise/context/context.js +1 -1
  245. package/es/components/material-exercise/context/recoil.js +290 -535
  246. package/es/components/material-exercise/context/subjects.js +3 -3
  247. package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.js +51 -53
  248. package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.js +8 -8
  249. package/es/components/material-exercise/exercise-file/ExerciseFile.js +9 -8
  250. package/es/components/material-exercise/exercise-file-editor/ExerciseFileEditor.js +127 -193
  251. package/es/components/material-exercise/exercise-file-editor/ExerciseFileReadOnlyBanner.js +5 -4
  252. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabs.js +20 -31
  253. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabsFileTreeButton.js +35 -44
  254. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.js +1 -1
  255. package/es/components/material-exercise/exercise-file-tree/ExerciseFileTree.js +181 -315
  256. package/es/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.js +1 -1
  257. package/es/components/material-exercise/exercise-file-viewer/ExerciseFileViewer.js +11 -10
  258. package/es/components/material-exercise/exercise-menu/ExerciseMenu.js +7 -6
  259. package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.js +3 -3
  260. package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.js +25 -42
  261. package/es/components/material-exercise/exercise-menu/ExerciseMenuDropdown.js +26 -51
  262. package/es/components/material-exercise/exercise-menu/ExerciseMenuReset.js +11 -23
  263. package/es/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.js +21 -31
  264. package/es/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.js +12 -12
  265. package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdown.js +19 -26
  266. package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.js +1 -1
  267. package/es/components/material-exercise/exercise-preview/ExercisePreview.js +15 -14
  268. package/es/components/material-exercise/exercise-preview/ExercisePreviewDisplayModeButton.js +5 -11
  269. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpane.js +11 -15
  270. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpaneEditorPerference.js +5 -9
  271. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpaneEnvironment.js +78 -80
  272. package/es/components/material-exercise/exercise-room/ExerciseRoom.js +6 -13
  273. package/es/components/material-exercise/exercise-room/ExerciseRoom.styled.js +12 -14
  274. package/es/components/material-exercise/exercise-room/ExerciseRoomDetail.js +134 -236
  275. package/es/components/material-exercise/exercise-room/ExerciseRoomList.js +65 -94
  276. package/es/components/material-exercise/exercise-room/helpers/exerciseRoomPermissionStringConvertor.js +2 -2
  277. package/es/components/material-exercise/exercise-runner/ExerciseRunner.js +116 -167
  278. package/es/components/material-exercise/exercise-runner/ExerciseRunnerContext.js +1 -1
  279. package/es/components/material-exercise/exercise-runner/ExerciseRunnerController.js +8 -7
  280. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.js +17 -27
  281. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.js +11 -18
  282. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js +52 -50
  283. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.js +10 -14
  284. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerRunningInfo.js +46 -75
  285. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusIndicator.js +2 -2
  286. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusMessage.js +4 -4
  287. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerTimer.js +15 -21
  288. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.js +138 -253
  289. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.styled.js +8 -8
  290. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistoryOutput.js +29 -37
  291. package/es/components/shared/exercise-menu-button/ExerciseMenuButton.js +12 -13
  292. package/es/components/shared/exercise-shimmer/ExerciseFileShimmer.js +2 -2
  293. package/es/components/shared/exercise-shimmer/ExerciseFileTabShimmer.js +12 -12
  294. package/es/components/shared/exercise-shimmer/ExerciseFileTabsShimmer.js +2 -2
  295. package/es/components/shared/exercise-shimmer/ExerciseFileTreeListItemShimmer.js +14 -14
  296. package/es/components/shared/exercise-shimmer/ExerciseFileTreeListShimmer.js +9 -15
  297. package/es/components/shared/exercise-version-list/ExerciseVersionList.js +3 -2
  298. package/es/components/shared/exercise-version-list/ExerciseVersionList.styled.js +1 -1
  299. package/es/components/shared/exercise-version-list/ExerciseVersionListItem.js +6 -5
  300. package/es/components/shared/exercise-version-list/ExerciseVersionListItem.styled.js +5 -9
  301. package/es/components/shared/file-icon/FileIcon.js +15 -17
  302. package/es/components/shared/file-tabs/FileTab.js +22 -24
  303. package/es/components/shared/file-tabs/FileTab.styled.js +15 -19
  304. package/es/components/shared/file-tabs/FileTabs.js +35 -55
  305. package/es/components/shared/file-tabs/FileTabs.styled.js +2 -2
  306. package/es/components/shared/file-tabs/util.js +14 -27
  307. package/es/components/shared/file-tree/FileTree.js +3 -3
  308. package/es/components/shared/file-tree/FileTreeConfig.js +18 -15
  309. package/es/components/shared/file-tree/FileTreeList.js +33 -29
  310. package/es/components/shared/file-tree/FileTreeListItemContent.js +45 -55
  311. package/es/components/shared/file-tree/FileTreeListItemContent.styled.js +21 -25
  312. package/es/components/shared/file-tree/FileTreeListItemContentInput.js +60 -64
  313. package/es/components/shared/file-tree/FileTreeListItemContentInput.styled.js +6 -6
  314. package/es/components/shared/file-tree/FileTreeListItemContentMenu.js +39 -46
  315. package/es/components/shared/file-tree/FileTreeListItems.js +134 -145
  316. package/es/components/shared/file-tree/FileTreeListItems.styled.js +2 -2
  317. package/es/components/shared/file-tree/FileTreeToolbar.js +25 -22
  318. package/es/components/shared/file-tree/FileTreeToolbar.styled.js +1 -1
  319. package/es/components/shared/file-tree/context/FileTreeContext.js +74 -89
  320. package/es/components/shared/file-tree/utils/fileTreeFiles.js +20 -20
  321. package/es/components/shared/file-tree/utils/fileTreeGenerator.js +146 -193
  322. package/es/components/shared/file-tree/utils/fileTreeItem.js +1 -1
  323. package/es/components/shared/file-tree/utils/fileTreePath.js +6 -5
  324. package/es/components/shared/file-viewer/FileViewer.js +21 -38
  325. package/es/components/shared/file-viewer/FileViewerCsv.js +70 -129
  326. package/es/components/shared/file-viewer/FileViewerImage.js +4 -3
  327. package/es/components/shared/file-viewer/FileViewerIpynb.js +7 -14
  328. package/es/components/shared/file-viewer/FileViewerNonViewable.js +15 -18
  329. package/es/components/shared/file-viewer/FileViewerText.js +9 -17
  330. package/es/components/shared/material-modal/MaterialModal.js +8 -7
  331. package/es/components/shared/material-modal/MaterialModal.styled.js +5 -5
  332. package/es/components/shared/monaco-editor/MonacoEditor.js +67 -87
  333. package/es/components/shared/monaco-editor/MonacoEditorLazy.js +2 -4
  334. package/es/components/shared/monaco-editor/MonacoEditorMobile.js +31 -41
  335. package/es/components/shared/monaco-editor/MonacoEditorPerferenceForm.js +52 -66
  336. package/es/components/shared/monaco-editor/constants/grammars/index.js +28 -82
  337. package/es/components/shared/monaco-editor/constants/monaco/preferences.js +5 -5
  338. package/es/components/shared/monaco-editor/constants/themes/index.js +17 -49
  339. package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventChange.js +10 -11
  340. package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventCursor.js +14 -15
  341. package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventScroll.js +8 -9
  342. package/es/components/shared/monaco-editor/editor-hooks/useMonacoMarkers.js +30 -34
  343. package/es/components/shared/monaco-editor/editor-hooks/useMonacoOptions.js +7 -9
  344. package/es/components/shared/monaco-editor/editor-hooks/useMonacoTheme.js +6 -6
  345. package/es/components/shared/monaco-editor/editor-languages/css/formatter.js +10 -33
  346. package/es/components/shared/monaco-editor/editor-languages/html/formatter.js +10 -33
  347. package/es/components/shared/monaco-editor/editor-languages/typescript/dts/_helper.js +1 -1
  348. package/es/components/shared/monaco-editor/editor-languages/typescript/formatter.js +10 -37
  349. package/es/components/shared/monaco-editor/editor-languages/typescript/index.js +3 -3
  350. package/es/components/shared/monaco-editor/hooks/useEditorOptions.js +5 -11
  351. package/es/components/shared/monaco-editor/utils/emmet/abbreviationActions.js +12 -10
  352. package/es/components/shared/monaco-editor/utils/emmet/registerProvider.js +6 -12
  353. package/es/components/shared/monaco-editor/utils/grammar/index.js +24 -68
  354. package/es/components/shared/monaco-editor/utils/grammar/onigasm.js +6 -25
  355. package/es/components/shared/monaco-editor/utils/grammar/textmate.js +35 -67
  356. package/es/components/shared/monaco-editor/utils/monacoLanguage.js +5 -5
  357. package/es/components/shared/monaco-editor/utils/monacoPreference.js +4 -6
  358. package/es/components/shared/monaco-editor/utils/prettier/config.js +2 -2
  359. package/es/components/shared/monaco-editor/utils/prettier/index.js +7 -27
  360. package/es/components/shared/monaco-editor/utils/theme/convert.js +13 -19
  361. package/es/components/shared/monaco-editor/utils/theme/index.js +3 -22
  362. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursor.js +56 -77
  363. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorManager.js +68 -82
  364. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorWidget.js +93 -120
  365. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelection.js +130 -152
  366. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelectionManager.js +92 -104
  367. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/styles.js +2 -2
  368. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/configCompat.js +6 -1
  369. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/data.js +2 -2
  370. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/emmetHelper.js +157 -172
  371. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/utils.js +3 -3
  372. package/es/components/shared/no-vnc/NoVnc.js +42 -59
  373. package/es/components/shared/no-vnc/NoVncLazy.js +2 -4
  374. package/es/components/shared/preview-container/PreviewContainer.js +8 -7
  375. package/es/components/shared/web-browser/WebBrowser.js +29 -40
  376. package/es/components/shared/xterm/Xterm.js +51 -69
  377. package/es/components/shared/xterm/XtermLazy.js +2 -4
  378. package/es/constants/arduino.js +10 -10
  379. package/es/constants/shortcutKeyMap.js +1 -3
  380. package/es/constants/stylesheets.js +5 -7
  381. package/es/hooks/useArduino.js +141 -278
  382. package/es/hooks/useExerciseFile.js +22 -24
  383. package/es/hooks/useExericseShortcut.js +4 -6
  384. package/es/hooks/useMaterialExerciseFileUrl.js +34 -52
  385. package/es/hooks/useRunnerRoomWebSocket.js +27 -51
  386. package/es/hooks/useStdioTextConcator.js +10 -16
  387. package/es/hooks/useStdioWebSocket.js +28 -32
  388. package/es/hooks/useUsercodeEditWebSocket.js +157 -232
  389. package/es/hooks/useUsercodeHistory.js +63 -115
  390. package/es/utils/arduino.js +11 -23
  391. package/es/utils/exerciseFile.js +10 -8
  392. package/es/utils/runner.js +15 -29
  393. package/package.json +11 -7
  394. package/cjs/_virtual/_rollupPluginBabelHelpers.js +0 -521
  395. package/es/_virtual/_rollupPluginBabelHelpers.js +0 -499
@@ -1,4 +1,3 @@
1
- import { slicedToArray as _slicedToArray, asyncToGenerator as _asyncToGenerator, regeneratorRuntime as _regeneratorRuntime } from '../../../_virtual/_rollupPluginBabelHelpers.js';
2
1
  import React from 'react';
3
2
  import { useIntl, FormattedMessage } from 'react-intl';
4
3
  import { useCopyToClipboard, useDebounce, useUpdateEffect } from 'react-use';
@@ -18,105 +17,75 @@ import '../context/ExerciseProvider.js';
18
17
  import { exerciseRoomPermissionStringConvertor } from './helpers/exerciseRoomPermissionStringConvertor.js';
19
18
  import { StyledExerciseRoomTableWrapper, StyledExerciseRoomTable, StyledExerciseRoomThead, StyledExerciseRoomTr, StyledExerciseRoomTh, StyledExerciseRoomTbody, StyledExerciseRoomTd } from './ExerciseRoom.styled.js';
20
19
 
21
- var StyledModal = styled(Modal).withConfig({
20
+ const StyledModal = styled(Modal).withConfig({
22
21
  componentId: "sc-x9irqe-0"
23
22
  })(["& > div:first-child{.eb-button{color:", ";&:hover{color:", ";}}}& .eb-input[width='full']{*:not(button,button > *){background-color:", ";color:", ";}& > div{border:1px solid ", ";}}& .eb-select{*{background-color:", ";color:", ";}& > div{border:1px solid ", ";}& select{padding-top:6px;padding-bottom:6px;height:2rem;font-size:0.75rem;}}"], base.color.navy0, base.color.navy0, base.color.navy7, base.color.navy0, base.color.navy6, base.color.navy6, base.color.navy0, base.color.navy5);
24
- var MaterialExerciseExerciseRoomDetail = function MaterialExerciseExerciseRoomDetail(_ref) {
25
- var selectedExerciseRoomId = _ref.selectedExerciseRoomId,
26
- goToList = _ref.goToList,
27
- onHide = _ref.onHide;
23
+ const MaterialExerciseExerciseRoomDetail = ({
24
+ selectedExerciseRoomId,
25
+ goToList,
26
+ onHide
27
+ }) => {
28
28
  var _a, _b, _c, _d, _e;
29
- var intl = useIntl();
30
- var _React$useContext = React.useContext(ExerciseContext),
31
- materialExerciseId = _React$useContext.materialExerciseId,
32
- onExerciseRoomIdChange = _React$useContext.onExerciseRoomIdChange;
33
- var materialExercise = useRecoilValue(exerciseState(materialExerciseId));
34
- var user = useRecoilValue(exerciseUserState);
35
- var _React$useState = React.useState(),
36
- _React$useState2 = _slicedToArray(_React$useState, 2),
37
- exerciseRoom = _React$useState2[0],
38
- setExerciseRoom = _React$useState2[1];
39
- var _React$useState3 = React.useState(''),
40
- _React$useState4 = _slicedToArray(_React$useState3, 2),
41
- title = _React$useState4[0],
42
- setTitle = _React$useState4[1];
43
- var _React$useState5 = React.useState(''),
44
- _React$useState6 = _slicedToArray(_React$useState5, 2),
45
- debouncedTitle = _React$useState6[0],
46
- setDebouncedTitle = _React$useState6[1];
47
- var _React$useState7 = React.useState(''),
48
- _React$useState8 = _slicedToArray(_React$useState7, 2),
49
- search = _React$useState8[0],
50
- setSearch = _React$useState8[1];
51
- var _React$useState9 = React.useState(''),
52
- _React$useState10 = _slicedToArray(_React$useState9, 2),
53
- debouncedSearch = _React$useState10[0],
54
- setDebouncedSearch = _React$useState10[1];
55
- var _React$useState11 = React.useState([]),
56
- _React$useState12 = _slicedToArray(_React$useState11, 2),
57
- exerciseRoomUserList = _React$useState12[0],
58
- setExerciseRoomUserList = _React$useState12[1];
59
- var _React$useState13 = React.useState(false),
60
- _React$useState14 = _slicedToArray(_React$useState13, 2),
61
- isLeaveDialogOpen = _React$useState14[0],
62
- setIsLeaveDialogOpen = _React$useState14[1];
63
- var _React$useState15 = React.useState(false),
64
- _React$useState16 = _slicedToArray(_React$useState15, 2),
65
- isDeleting = _React$useState16[0],
66
- setIsDeleting = _React$useState16[1];
67
- var isThisChatRoomOwner = (_b = ((_a = exerciseRoom === null || exerciseRoom === void 0 ? void 0 : exerciseRoom.roomUsers.find(function (roomUser) {
68
- return roomUser.user.id === (user === null || user === void 0 ? void 0 : user.id);
69
- })) === null || _a === void 0 ? void 0 : _a.permission) === enums.ExerciseRoomPermission.Owner) !== null && _b !== void 0 ? _b : false;
70
- var shareLink = materialExercise ? "https://".concat(window.location.host, "/courses/").concat(materialExercise._courseId, "/lectures/").concat(materialExercise === null || materialExercise === void 0 ? void 0 : materialExercise._lectureId, "/lecturepages/").concat(materialExercise === null || materialExercise === void 0 ? void 0 : materialExercise._lecturePageId, "/projects/").concat(selectedExerciseRoomId) : '';
71
- var _useCopyToClipboard = useCopyToClipboard(),
72
- _useCopyToClipboard2 = _slicedToArray(_useCopyToClipboard, 2),
73
- copyToClipboard = _useCopyToClipboard2[1];
74
- var doGetOrgMaterialExerciseExerciseRoomGet = React.useCallback(function () {
29
+ const intl = useIntl();
30
+ const {
31
+ materialExerciseId,
32
+ onExerciseRoomIdChange
33
+ } = React.useContext(ExerciseContext);
34
+ const materialExercise = useRecoilValue(exerciseState(materialExerciseId));
35
+ const user = useRecoilValue(exerciseUserState);
36
+ const [exerciseRoom, setExerciseRoom] = React.useState();
37
+ const [title, setTitle] = React.useState('');
38
+ const [debouncedTitle, setDebouncedTitle] = React.useState('');
39
+ const [search, setSearch] = React.useState('');
40
+ const [debouncedSearch, setDebouncedSearch] = React.useState('');
41
+ const [exerciseRoomUserList, setExerciseRoomUserList] = React.useState([]);
42
+ const [isLeaveDialogOpen, setIsLeaveDialogOpen] = React.useState(false);
43
+ const [isDeleting, setIsDeleting] = React.useState(false);
44
+ const isThisChatRoomOwner = (_b = ((_a = exerciseRoom === null || exerciseRoom === void 0 ? void 0 : exerciseRoom.roomUsers.find(roomUser => roomUser.user.id === (user === null || user === void 0 ? void 0 : user.id))) === null || _a === void 0 ? void 0 : _a.permission) === enums.ExerciseRoomPermission.Owner) !== null && _b !== void 0 ? _b : false;
45
+ const shareLink = materialExercise ? `https://${window.location.host}/courses/${materialExercise._courseId}/lectures/${materialExercise === null || materialExercise === void 0 ? void 0 : materialExercise._lectureId}/lecturepages/${materialExercise === null || materialExercise === void 0 ? void 0 : materialExercise._lecturePageId}/projects/${selectedExerciseRoomId}` : '';
46
+ const [, copyToClipboard] = useCopyToClipboard();
47
+ const doGetOrgMaterialExerciseExerciseRoomGet = React.useCallback(() => {
75
48
  return getOrgMaterialExerciseExerciseRoomGet({
76
49
  exerciseRoomId: selectedExerciseRoomId
77
- }).then(function (res) {
50
+ }).then(res => {
78
51
  setExerciseRoom(res.exerciseRoom);
79
- var list = _.map(res.exerciseRoom.roomUsers, function (_ref2) {
80
- var _ref2$user = _ref2.user,
81
- id = _ref2$user.id,
82
- profileUrl = _ref2$user.profileUrl,
83
- fullname = _ref2$user.fullname,
84
- permission = _ref2.permission;
85
- return {
86
- id: id,
87
- profileUrl: profileUrl,
88
- fullname: fullname,
89
- permission: permission
90
- };
91
- });
52
+ const list = _.map(res.exerciseRoom.roomUsers, ({
53
+ user: {
54
+ id,
55
+ profileUrl,
56
+ fullname
57
+ },
58
+ permission
59
+ }) => ({
60
+ id,
61
+ profileUrl,
62
+ fullname,
63
+ permission
64
+ }));
92
65
  setTitle(res.exerciseRoom.title);
93
66
  setDebouncedTitle(res.exerciseRoom.title);
94
67
  setExerciseRoomUserList(list);
95
68
  }).catch(console.error);
96
69
  }, [selectedExerciseRoomId]);
97
- var doPostOrgMaterialExerciseExerciseRoomEdit = React.useCallback(function (publicPermission) {
70
+ const doPostOrgMaterialExerciseExerciseRoomEdit = React.useCallback(publicPermission => {
98
71
  if (exerciseRoom && materialExercise) {
99
72
  postOrgMaterialExerciseExerciseRoomEdit({
100
73
  materialExerciseId: materialExercise.id,
101
- publicPermission: publicPermission,
74
+ publicPermission,
102
75
  title: exerciseRoom.title,
103
76
  exerciseRoomId: selectedExerciseRoomId
104
- }).then(function () {
105
- return doGetOrgMaterialExerciseExerciseRoomGet();
106
- }).catch(console.error);
77
+ }).then(() => doGetOrgMaterialExerciseExerciseRoomGet()).catch(console.error);
107
78
  }
108
79
  }, [doGetOrgMaterialExerciseExerciseRoomGet, exerciseRoom, selectedExerciseRoomId, materialExercise]);
109
- var doPostOrgMaterialExerciseExerciseRoomDefaultRoomSet = React.useCallback(function () {
80
+ const doPostOrgMaterialExerciseExerciseRoomDefaultRoomSet = React.useCallback(() => {
110
81
  postOrgMaterialExerciseExerciseRoomDefaultRoomSet({
111
82
  exerciseRoomId: selectedExerciseRoomId
112
- }).then(function () {
113
- return doGetOrgMaterialExerciseExerciseRoomGet();
114
- }).catch(console.error);
83
+ }).then(() => doGetOrgMaterialExerciseExerciseRoomGet()).catch(console.error);
115
84
  }, [doGetOrgMaterialExerciseExerciseRoomGet, selectedExerciseRoomId]);
116
- useDebounce(function () {
85
+ useDebounce(() => {
117
86
  setDebouncedSearch(search);
118
87
  }, 300, [search]);
119
- var doGetOrgCourseUserList = React.useCallback(function () {
88
+ const doGetOrgCourseUserList = React.useCallback(() => {
120
89
  if (materialExercise) {
121
90
  return getOrgCourseUserList({
122
91
  courseId: materialExercise._courseId,
@@ -126,9 +95,9 @@ var MaterialExerciseExerciseRoomDetail = function MaterialExerciseExerciseRoomDe
126
95
  filterConditions: {
127
96
  $and: [{
128
97
  $or: [{
129
- name: "%".concat(debouncedSearch, "%")
98
+ name: `%${debouncedSearch}%`
130
99
  }, {
131
- email: "%".concat(debouncedSearch, "%")
100
+ email: `%${debouncedSearch}%`
132
101
  }]
133
102
  }, {
134
103
  $or: [{
@@ -144,66 +113,47 @@ var MaterialExerciseExerciseRoomDetail = function MaterialExerciseExerciseRoomDe
144
113
  }]
145
114
  }]
146
115
  }
147
- }).then( /*#__PURE__*/function () {
148
- var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(res) {
149
- var _yield$getOrgMaterial, exerciseRoom, list;
150
- return _regeneratorRuntime().wrap(function _callee$(_context) {
151
- while (1) switch (_context.prev = _context.next) {
152
- case 0:
153
- _context.next = 2;
154
- return getOrgMaterialExerciseExerciseRoomGet({
155
- exerciseRoomId: selectedExerciseRoomId
156
- });
157
- case 2:
158
- _yield$getOrgMaterial = _context.sent;
159
- exerciseRoom = _yield$getOrgMaterial.exerciseRoom;
160
- list = _.map(res.users, function (_ref4) {
161
- var id = _ref4.id,
162
- profileUrl = _ref4.profileUrl,
163
- fullname = _ref4.fullname;
164
- var _a, _b;
165
- return {
166
- id: id,
167
- profileUrl: profileUrl,
168
- fullname: fullname,
169
- permission: (_b = (_a = _.find(exerciseRoom === null || exerciseRoom === void 0 ? void 0 : exerciseRoom.roomUsers, function (roomUser) {
170
- return roomUser.user.id === id;
171
- })) === null || _a === void 0 ? void 0 : _a.permission) !== null && _b !== void 0 ? _b : enums.ExerciseRoomPermission.Nothing
172
- };
173
- });
174
- setExerciseRoomUserList(list);
175
- case 6:
176
- case "end":
177
- return _context.stop();
178
- }
179
- }, _callee);
180
- }));
181
- return function (_x) {
182
- return _ref3.apply(this, arguments);
183
- };
184
- }()).catch(console.error);
116
+ }).then(async res => {
117
+ const {
118
+ exerciseRoom
119
+ } = await getOrgMaterialExerciseExerciseRoomGet({
120
+ exerciseRoomId: selectedExerciseRoomId
121
+ });
122
+ const list = _.map(res.users, ({
123
+ id,
124
+ profileUrl,
125
+ fullname
126
+ }) => {
127
+ var _a, _b;
128
+ return {
129
+ id,
130
+ profileUrl,
131
+ fullname,
132
+ permission: (_b = (_a = _.find(exerciseRoom === null || exerciseRoom === void 0 ? void 0 : exerciseRoom.roomUsers, roomUser => roomUser.user.id === id)) === null || _a === void 0 ? void 0 : _a.permission) !== null && _b !== void 0 ? _b : enums.ExerciseRoomPermission.Nothing
133
+ };
134
+ });
135
+ setExerciseRoomUserList(list);
136
+ }).catch(console.error);
185
137
  }
186
138
  }, [debouncedSearch, materialExercise, selectedExerciseRoomId]);
187
- React.useEffect(function () {
139
+ React.useEffect(() => {
188
140
  if (debouncedSearch) {
189
141
  void doGetOrgCourseUserList();
190
142
  } else {
191
143
  void doGetOrgMaterialExerciseExerciseRoomGet();
192
144
  }
193
145
  }, [debouncedSearch, doGetOrgCourseUserList, doGetOrgMaterialExerciseExerciseRoomGet]);
194
- useDebounce(function () {
146
+ useDebounce(() => {
195
147
  setDebouncedTitle(title);
196
148
  }, 300, [title]);
197
- useUpdateEffect(function () {
149
+ useUpdateEffect(() => {
198
150
  if (debouncedTitle.length > 0 && materialExercise && exerciseRoom && exerciseRoom.title !== debouncedTitle) {
199
151
  postOrgMaterialExerciseExerciseRoomEdit({
200
152
  materialExerciseId: materialExercise.id,
201
153
  publicPermission: exerciseRoom.publicPermission,
202
154
  title: debouncedTitle,
203
155
  exerciseRoomId: selectedExerciseRoomId
204
- }).then(function () {
205
- return doGetOrgMaterialExerciseExerciseRoomGet();
206
- }).catch(console.error);
156
+ }).then(() => doGetOrgMaterialExerciseExerciseRoomGet()).catch(console.error);
207
157
  }
208
158
  }, [debouncedTitle]);
209
159
  return React.createElement(StyledModal, {
@@ -242,7 +192,7 @@ var MaterialExerciseExerciseRoomDetail = function MaterialExerciseExerciseRoomDe
242
192
  label: intl.formatMessage({
243
193
  id: 'materialExerciseExerciseRoom.open'
244
194
  }),
245
- onClick: function onClick() {
195
+ onClick: () => {
246
196
  if (exerciseRoom && typeof onExerciseRoomIdChange === 'function') {
247
197
  onExerciseRoomIdChange(exerciseRoom.id);
248
198
  onHide();
@@ -256,7 +206,7 @@ var MaterialExerciseExerciseRoomDetail = function MaterialExerciseExerciseRoomDe
256
206
  }),
257
207
  disabled: (_d = exerciseRoom === null || exerciseRoom === void 0 ? void 0 : exerciseRoom.isDefaultRoom) !== null && _d !== void 0 ? _d : false,
258
208
  role: 'gray6',
259
- onClick: function onClick() {
209
+ onClick: () => {
260
210
  setIsLeaveDialogOpen(true);
261
211
  }
262
212
  }]
@@ -268,34 +218,34 @@ var MaterialExerciseExerciseRoomDetail = function MaterialExerciseExerciseRoomDe
268
218
  body: intl.formatMessage({
269
219
  id: 'materialExerciseExerciseRoom.leave.dialog.body'
270
220
  }),
271
- onHide: function onHide() {
221
+ onHide: () => {
272
222
  setIsLeaveDialogOpen(false);
273
223
  }
274
224
  }, React.createElement(Dialog.ActionButton, {
275
225
  loading: isDeleting,
276
- onClick: function onClick() {
226
+ onClick: () => {
277
227
  if (isThisChatRoomOwner) {
278
228
  setIsDeleting(true);
279
229
  postOrgMaterialExerciseExerciseRoomDelete({
280
230
  exerciseRoomId: selectedExerciseRoomId
281
- }).then(function () {
231
+ }).then(() => {
282
232
  goToList();
283
- }).catch(console.error).finally(function () {
233
+ }).catch(console.error).finally(() => {
284
234
  setIsDeleting(false);
285
235
  });
286
236
  } else {
287
237
  setIsDeleting(true);
288
238
  postOrgMaterialExerciseExerciseRoomUserDelete({
289
239
  exerciseRoomId: selectedExerciseRoomId
290
- }).then(function () {
240
+ }).then(() => {
291
241
  goToList();
292
- }).catch(console.error).finally(function () {
242
+ }).catch(console.error).finally(() => {
293
243
  setIsDeleting(false);
294
244
  });
295
245
  }
296
246
  }
297
247
  }, '확인'), React.createElement(Dialog.CloseButton, {
298
- onClick: function onClick() {
248
+ onClick: () => {
299
249
  setIsLeaveDialogOpen(false);
300
250
  }
301
251
  }, '취소')) : null, isThisChatRoomOwner ? React.createElement(React.Fragment, null, React.createElement(Label, {
@@ -309,9 +259,7 @@ var MaterialExerciseExerciseRoomDetail = function MaterialExerciseExerciseRoomDe
309
259
  size: "small",
310
260
  width: "full",
311
261
  value: title,
312
- onChange: function onChange(e) {
313
- return setTitle(e.target.value);
314
- },
262
+ onChange: e => setTitle(e.target.value),
315
263
  placeholder: intl.formatMessage({
316
264
  id: 'materialExerciseExerciseRoom.detail.title.placeholder'
317
265
  })
@@ -329,9 +277,7 @@ var MaterialExerciseExerciseRoomDetail = function MaterialExerciseExerciseRoomDe
329
277
  size: "small",
330
278
  width: "full",
331
279
  value: search,
332
- onChange: function onChange(e) {
333
- return setSearch(e.target.value);
334
- },
280
+ onChange: e => setSearch(e.target.value),
335
281
  placeholder: intl.formatMessage({
336
282
  id: 'materialExerciseExerciseRoom.detail.addUsers.placeholder'
337
283
  })
@@ -347,8 +293,8 @@ var MaterialExerciseExerciseRoomDetail = function MaterialExerciseExerciseRoomDe
347
293
  id: 'materialExerciseExerciseRoom.detail.table.head.users'
348
294
  })), React.createElement(StyledExerciseRoomTh, null, intl.formatMessage({
349
295
  id: 'materialExerciseExerciseRoom.detail.table.head.permission'
350
- })))), React.createElement(StyledExerciseRoomTbody, null, exerciseRoomUserList.map(function (chatroomUser) {
351
- var renderUserPermission = function renderUserPermission() {
296
+ })))), React.createElement(StyledExerciseRoomTbody, null, exerciseRoomUserList.map(chatroomUser => {
297
+ const renderUserPermission = () => {
352
298
  if ((user === null || user === void 0 ? void 0 : user.id) === chatroomUser.id || !isThisChatRoomOwner) {
353
299
  return React.createElement(Text, {
354
300
  bold: true,
@@ -361,7 +307,7 @@ var MaterialExerciseExerciseRoomDetail = function MaterialExerciseExerciseRoomDe
361
307
  marginRight: '0.5rem'
362
308
  }
363
309
  }, intl.formatMessage({
364
- id: "materialExerciseExerciseRoom.exerciseRoom.publicPermission.".concat(exerciseRoomPermissionStringConvertor(chatroomUser.permission))
310
+ id: `materialExerciseExerciseRoom.exerciseRoom.publicPermission.${exerciseRoomPermissionStringConvertor(chatroomUser.permission)}`
365
311
  }));
366
312
  } else if (chatroomUser.permission === enums.ExerciseRoomPermission.Nothing) {
367
313
  return React.createElement(Flex, {
@@ -377,46 +323,27 @@ var MaterialExerciseExerciseRoomDetail = function MaterialExerciseExerciseRoomDe
377
323
  marginRight: '0.5rem'
378
324
  }
379
325
  }, intl.formatMessage({
380
- id: "materialExerciseExerciseRoom.exerciseRoom.publicPermission.".concat(exerciseRoomPermissionStringConvertor(chatroomUser.permission))
326
+ id: `materialExerciseExerciseRoom.exerciseRoom.publicPermission.${exerciseRoomPermissionStringConvertor(chatroomUser.permission)}`
381
327
  })), React.createElement(Button, {
382
328
  size: "micro",
383
329
  role: "lightpurple",
384
330
  loading: false,
385
- onClick: function () {
386
- var _onClick = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
387
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
388
- while (1) switch (_context2.prev = _context2.next) {
389
- case 0:
390
- _context2.prev = 0;
391
- _context2.next = 3;
392
- return postOrgMaterialExerciseExerciseRoomUserEdit({
393
- exerciseRoomId: selectedExerciseRoomId,
394
- permission: enums.ExerciseRoomPermission.Read,
395
- userId: chatroomUser.id
396
- });
397
- case 3:
398
- if (debouncedSearch) {
399
- void doGetOrgCourseUserList();
400
- } else {
401
- void doGetOrgMaterialExerciseExerciseRoomGet();
402
- }
403
- _context2.next = 9;
404
- break;
405
- case 6:
406
- _context2.prev = 6;
407
- _context2.t0 = _context2["catch"](0);
408
- console.error(_context2.t0);
409
- case 9:
410
- case "end":
411
- return _context2.stop();
412
- }
413
- }, _callee2, null, [[0, 6]]);
414
- }));
415
- function onClick() {
416
- return _onClick.apply(this, arguments);
331
+ onClick: async () => {
332
+ try {
333
+ await postOrgMaterialExerciseExerciseRoomUserEdit({
334
+ exerciseRoomId: selectedExerciseRoomId,
335
+ permission: enums.ExerciseRoomPermission.Read,
336
+ userId: chatroomUser.id
337
+ });
338
+ if (debouncedSearch) {
339
+ void doGetOrgCourseUserList();
340
+ } else {
341
+ void doGetOrgMaterialExerciseExerciseRoomGet();
342
+ }
343
+ } catch (error) {
344
+ console.error(error);
417
345
  }
418
- return onClick;
419
- }()
346
+ }
420
347
  }, intl.formatMessage({
421
348
  id: 'materialExerciseExerciseRoom.detail.table.body.add'
422
349
  })));
@@ -425,62 +352,35 @@ var MaterialExerciseExerciseRoomDetail = function MaterialExerciseExerciseRoomDe
425
352
  size: "small",
426
353
  width: "small",
427
354
  value: chatroomUser.permission,
428
- onChange: function () {
429
- var _onChange = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(value) {
430
- var permission;
431
- return _regeneratorRuntime().wrap(function _callee3$(_context3) {
432
- while (1) switch (_context3.prev = _context3.next) {
433
- case 0:
434
- _context3.prev = 0;
435
- permission = Number(value);
436
- if (!(permission === enums.ExerciseRoomPermission.Nothing)) {
437
- _context3.next = 8;
438
- break;
439
- }
440
- _context3.next = 5;
441
- return postOrgMaterialExerciseExerciseRoomUserDelete({
442
- exerciseRoomId: selectedExerciseRoomId,
443
- userId: chatroomUser.id
444
- });
445
- case 5:
446
- if (debouncedSearch) {
447
- void doGetOrgCourseUserList();
448
- } else {
449
- void doGetOrgMaterialExerciseExerciseRoomGet();
450
- }
451
- _context3.next = 11;
452
- break;
453
- case 8:
454
- _context3.next = 10;
455
- return postOrgMaterialExerciseExerciseRoomUserEdit({
456
- exerciseRoomId: selectedExerciseRoomId,
457
- permission: permission,
458
- userId: chatroomUser.id
459
- });
460
- case 10:
461
- if (debouncedSearch) {
462
- void doGetOrgCourseUserList();
463
- } else {
464
- void doGetOrgMaterialExerciseExerciseRoomGet();
465
- }
466
- case 11:
467
- _context3.next = 16;
468
- break;
469
- case 13:
470
- _context3.prev = 13;
471
- _context3.t0 = _context3["catch"](0);
472
- console.error(_context3.t0);
473
- case 16:
474
- case "end":
475
- return _context3.stop();
355
+ onChange: async value => {
356
+ try {
357
+ const permission = Number(value);
358
+ if (permission === enums.ExerciseRoomPermission.Nothing) {
359
+ await postOrgMaterialExerciseExerciseRoomUserDelete({
360
+ exerciseRoomId: selectedExerciseRoomId,
361
+ userId: chatroomUser.id
362
+ });
363
+ if (debouncedSearch) {
364
+ void doGetOrgCourseUserList();
365
+ } else {
366
+ void doGetOrgMaterialExerciseExerciseRoomGet();
367
+ }
368
+ } else {
369
+ await postOrgMaterialExerciseExerciseRoomUserEdit({
370
+ exerciseRoomId: selectedExerciseRoomId,
371
+ permission,
372
+ userId: chatroomUser.id
373
+ });
374
+ if (debouncedSearch) {
375
+ void doGetOrgCourseUserList();
376
+ } else {
377
+ void doGetOrgMaterialExerciseExerciseRoomGet();
476
378
  }
477
- }, _callee3, null, [[0, 13]]);
478
- }));
479
- function onChange(_x2) {
480
- return _onChange.apply(this, arguments);
379
+ }
380
+ } catch (error) {
381
+ console.error(error);
481
382
  }
482
- return onChange;
483
- }(),
383
+ },
484
384
  disabled: !isThisChatRoomOwner
485
385
  }, React.createElement("option", {
486
386
  value: enums.ExerciseRoomPermission.Nothing,
@@ -532,7 +432,7 @@ var MaterialExerciseExerciseRoomDetail = function MaterialExerciseExerciseRoomDe
532
432
  size: "small",
533
433
  width: "small",
534
434
  value: (_e = exerciseRoom === null || exerciseRoom === void 0 ? void 0 : exerciseRoom.publicPermission) !== null && _e !== void 0 ? _e : enums.ExerciseRoomPermission.Nothing,
535
- onChange: function onChange(value) {
435
+ onChange: value => {
536
436
  doPostOrgMaterialExerciseExerciseRoomEdit(value);
537
437
  },
538
438
  disabled: false
@@ -560,9 +460,9 @@ var MaterialExerciseExerciseRoomDetail = function MaterialExerciseExerciseRoomDe
560
460
  size: "micro",
561
461
  role: "lightpurple",
562
462
  style: {
563
- backgroundColor: "".concat(base.color.red6, " !important")
463
+ backgroundColor: `${base.color.red6} !important`
564
464
  },
565
- onClick: function onClick() {
465
+ onClick: () => {
566
466
  Notification.info(intl.formatMessage({
567
467
  id: 'materialExerciseExerciseRoom.detail.copy.success'
568
468
  }));
@@ -572,9 +472,7 @@ var MaterialExerciseExerciseRoomDetail = function MaterialExerciseExerciseRoomDe
572
472
  id: 'materialExerciseExerciseRoom.detail.copy'
573
473
  })),
574
474
  value: materialExercise ? shareLink : '',
575
- onChange: function onChange(e) {
576
- return setSearch(e.target.value);
577
- },
475
+ onChange: e => setSearch(e.target.value),
578
476
  placeholder: intl.formatMessage({
579
477
  id: 'materialExerciseExerciseRoom.detail.addUsers.placeholder'
580
478
  })