@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
@@ -1,5 +1,8 @@
1
1
  'use strict';
2
2
 
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _rollupPluginBabelHelpers = require('../../../_virtual/_rollupPluginBabelHelpers.js');
3
6
  var React = require('react');
4
7
  var reactIntl = require('react-intl');
5
8
  var apiClient = require('@elice/api-client');
@@ -25,19 +28,22 @@ var ko = require('./locales/ko.json.js');
25
28
 
26
29
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
27
30
 
28
- function _interopNamespaceDefaultOnly (e) { return Object.freeze({ __proto__: null, 'default': e }); }
29
-
30
31
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
31
32
  var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
32
33
 
33
- const AsyncFileTree = React__default["default"].lazy(() => Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefaultOnly(require('../../shared/file-tree/FileTree.js')); }));
34
- const AsyncFileTreeList = React__default["default"].lazy(() => Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefaultOnly(require('../../shared/file-tree/FileTreeList.js')); }));
35
- const AsyncFileTreeToolbar = React__default["default"].lazy(() => Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefaultOnly(require('../../shared/file-tree/FileTreeToolbar.js')); }));
36
- const StyledFileTreeDivider = styled__default["default"].hr.withConfig({
34
+ var AsyncFileTree = React__default["default"].lazy(function () {
35
+ return Promise.resolve().then(function () { return require('../../shared/file-tree/FileTree.js'); });
36
+ });
37
+ var AsyncFileTreeList = React__default["default"].lazy(function () {
38
+ return Promise.resolve().then(function () { return require('../../shared/file-tree/FileTreeList.js'); });
39
+ });
40
+ var AsyncFileTreeToolbar = React__default["default"].lazy(function () {
41
+ return Promise.resolve().then(function () { return require('../../shared/file-tree/FileTreeToolbar.js'); });
42
+ });
43
+ var StyledFileTreeDivider = styled__default["default"].hr.withConfig({
37
44
  componentId: "sc-107xvf5-0"
38
45
  })(["margin:0;width:100%;height:1px;border:0;border-bottom:", ";"], stylesheets.MATERIAL_DIVIDER_BORDER_VALUE);
39
46
  var MaterialExerciseFileError;
40
-
41
47
  (function (MaterialExerciseFileError) {
42
48
  MaterialExerciseFileError["InsufficientPermission"] = "insufficient_permission";
43
49
  MaterialExerciseFileError["NotFoundExerciseRoom"] = "not_found_exercise_room";
@@ -50,105 +56,127 @@ var MaterialExerciseFileError;
50
56
  MaterialExerciseFileError["UsableSizeExceed"] = "usable_size_exceed";
51
57
  MaterialExerciseFileError["SubFileOrPathExist"] = "sub_file_or_path_exist";
52
58
  })(MaterialExerciseFileError || (MaterialExerciseFileError = {}));
53
-
54
- const ExerciseFileTree = () => {
59
+ var ExerciseFileTree = function ExerciseFileTree() {
55
60
  var _a, _b, _c, _d;
56
-
57
- const intl = reactIntl.useIntl();
58
- const {
59
- exerciseRoomId,
60
- materialExerciseId,
61
- locale,
62
- onError
63
- } = React__default["default"].useContext(context.ExerciseContext); // exercise state
64
-
65
- const exercise = recoil.useRecoilValue(recoil$1.exerciseState(materialExerciseId));
66
- const [exerciseRoom, setExerciseRoom] = recoil.useRecoilState(recoil$1.exerciseRoomState(exerciseRoomId)); // multi lang states
67
-
68
- const multilangLanguages = recoil.useRecoilValue(recoil$1.exerciseMultilangLanguagesState(materialExerciseId));
69
- const multilangEnvironment = recoil.useRecoilValue(recoil$1.exerciseMultilangEnvironmentState({
70
- materialExerciseId,
71
- exerciseRoomId
72
- }));
73
- const [openedTabs, setOpenedTabs] = recoil.useRecoilState(recoil$1.exerciseFileTabsOpenedState({
74
- materialExerciseId,
75
- exerciseRoomId
61
+ var intl = reactIntl.useIntl();
62
+ var _React$useContext = React__default["default"].useContext(context.ExerciseContext),
63
+ exerciseRoomId = _React$useContext.exerciseRoomId,
64
+ materialExerciseId = _React$useContext.materialExerciseId,
65
+ locale = _React$useContext.locale,
66
+ onError = _React$useContext.onError;
67
+ // exercise state
68
+ var exercise = recoil.useRecoilValue(recoil$1.exerciseState(materialExerciseId));
69
+ var _useRecoilState = recoil.useRecoilState(recoil$1.exerciseRoomState(exerciseRoomId)),
70
+ _useRecoilState2 = _rollupPluginBabelHelpers.slicedToArray(_useRecoilState, 2),
71
+ exerciseRoom = _useRecoilState2[0],
72
+ setExerciseRoom = _useRecoilState2[1];
73
+ // multi lang states
74
+ var multilangLanguages = recoil.useRecoilValue(recoil$1.exerciseMultilangLanguagesState(materialExerciseId));
75
+ var multilangEnvironment = recoil.useRecoilValue(recoil$1.exerciseMultilangEnvironmentState({
76
+ materialExerciseId: materialExerciseId,
77
+ exerciseRoomId: exerciseRoomId
76
78
  }));
77
- const [activeFilename, setActiveFilename] = recoil.useRecoilState(recoil$1.exerciseActiveFilenameState);
78
- const [activePath, setActivePath] = React__default["default"].useState(activeFilename || '');
79
- const [apiStatus, setApiStatus] = React__default["default"].useState('idle'); // activeFilename update effect
80
-
81
- React__default["default"].useEffect(() => {
79
+ var _useRecoilState3 = recoil.useRecoilState(recoil$1.exerciseFileTabsOpenedState({
80
+ materialExerciseId: materialExerciseId,
81
+ exerciseRoomId: exerciseRoomId
82
+ })),
83
+ _useRecoilState4 = _rollupPluginBabelHelpers.slicedToArray(_useRecoilState3, 2),
84
+ openedTabs = _useRecoilState4[0],
85
+ setOpenedTabs = _useRecoilState4[1];
86
+ var _useRecoilState5 = recoil.useRecoilState(recoil$1.exerciseActiveFilenameState),
87
+ _useRecoilState6 = _rollupPluginBabelHelpers.slicedToArray(_useRecoilState5, 2),
88
+ activeFilename = _useRecoilState6[0],
89
+ setActiveFilename = _useRecoilState6[1];
90
+ var _React$useState = React__default["default"].useState(activeFilename || ''),
91
+ _React$useState2 = _rollupPluginBabelHelpers.slicedToArray(_React$useState, 2),
92
+ activePath = _React$useState2[0],
93
+ setActivePath = _React$useState2[1];
94
+ var _React$useState3 = React__default["default"].useState('idle'),
95
+ _React$useState4 = _rollupPluginBabelHelpers.slicedToArray(_React$useState3, 2),
96
+ apiStatus = _React$useState4[0],
97
+ setApiStatus = _React$useState4[1];
98
+ // activeFilename update effect
99
+ React__default["default"].useEffect(function () {
82
100
  var _a, _b, _c;
83
-
84
101
  if ((exercise === null || exercise === void 0 ? void 0 : exercise.envType) === types.enums.ExerciseEnvType.MultiLanguage && multilangLanguages && multilangEnvironment && multilangLanguages[multilangEnvironment['language']]) {
85
- const filename = (_a = multilangLanguages[multilangEnvironment['language']].initialOpenFilelist[0]) !== null && _a !== void 0 ? _a : null;
102
+ var filename = (_a = multilangLanguages[multilangEnvironment['language']].initialOpenFilelist[0]) !== null && _a !== void 0 ? _a : null;
86
103
  setActiveFilename(filename);
87
104
  } else {
88
- const filename = (_c = (_b = exercise === null || exercise === void 0 ? void 0 : exercise.readyExerciseImage) === null || _b === void 0 ? void 0 : _b.initialOpenFilelist[0]) !== null && _c !== void 0 ? _c : null;
89
- setActiveFilename(filename);
105
+ var _filename = (_c = (_b = exercise === null || exercise === void 0 ? void 0 : exercise.readyExerciseImage) === null || _b === void 0 ? void 0 : _b.initialOpenFilelist[0]) !== null && _c !== void 0 ? _c : null;
106
+ setActiveFilename(_filename);
90
107
  }
91
108
  }, [exercise, multilangLanguages, multilangEnvironment, setActiveFilename]);
92
- React__default["default"].useEffect(() => {
109
+ React__default["default"].useEffect(function () {
93
110
  if (activeFilename) {
94
111
  setActivePath(activeFilename);
95
112
  }
96
113
  }, [activeFilename]);
97
-
98
- const multilanguageFilelistFilter = filelist => {
114
+ var multilanguageFilelistFilter = function multilanguageFilelistFilter(filelist) {
99
115
  if (!filelist || !exercise) {
100
116
  return [];
101
117
  }
102
-
103
118
  if (exercise.envType === types.enums.ExerciseEnvType.MultiLanguage) {
104
119
  if (!multilangLanguages || !multilangEnvironment) {
105
120
  return [];
106
121
  }
107
-
108
122
  if (!multilangLanguages[multilangEnvironment.language]) {
109
123
  return [];
110
124
  }
111
-
112
- return filelist.filter(filepath => filepath.startsWith(multilangLanguages[multilangEnvironment.language].rootDir));
125
+ return filelist.filter(function (filepath) {
126
+ return filepath.startsWith(multilangLanguages[multilangEnvironment.language].rootDir);
127
+ });
113
128
  } else {
114
129
  return filelist;
115
130
  }
116
131
  };
117
-
118
- const handleActivePathChange = (path, isDirectory = false) => {
132
+ var handleActivePathChange = function handleActivePathChange(path) {
133
+ var isDirectory = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
119
134
  if (!isDirectory) {
120
135
  if (!openedTabs.includes(path)) {
121
- setOpenedTabs([...openedTabs, path]);
136
+ setOpenedTabs([].concat(_rollupPluginBabelHelpers.toConsumableArray(openedTabs), [path]));
122
137
  }
123
-
124
138
  setActiveFilename(path);
125
139
  }
126
-
127
140
  setActivePath(path);
128
141
  };
129
-
130
- const doGetOrgMaterialExerciseExerciseRoomGet = async () => {
131
- try {
132
- const {
133
- exerciseRoom
134
- } = await apiClient.getOrgMaterialExerciseExerciseRoomGet({
135
- exerciseRoomId
136
- });
137
- setExerciseRoom(exerciseRoom);
138
- } catch (error) {
139
- console.error(error);
140
- blocks.Notification.error(intl.formatMessage({
141
- id: 'materialExercise.exerciseFileTree.fetchRoom.failure'
142
- }));
143
- }
144
- };
145
-
146
- const handleError = error => {
142
+ var doGetOrgMaterialExerciseExerciseRoomGet = /*#__PURE__*/function () {
143
+ var _ref = _rollupPluginBabelHelpers.asyncToGenerator( /*#__PURE__*/_rollupPluginBabelHelpers.regeneratorRuntime().mark(function _callee() {
144
+ var _yield$getOrgMaterial, _exerciseRoom;
145
+ return _rollupPluginBabelHelpers.regeneratorRuntime().wrap(function _callee$(_context) {
146
+ while (1) switch (_context.prev = _context.next) {
147
+ case 0:
148
+ _context.prev = 0;
149
+ _context.next = 3;
150
+ return apiClient.getOrgMaterialExerciseExerciseRoomGet({
151
+ exerciseRoomId: exerciseRoomId
152
+ });
153
+ case 3:
154
+ _yield$getOrgMaterial = _context.sent;
155
+ _exerciseRoom = _yield$getOrgMaterial.exerciseRoom;
156
+ setExerciseRoom(_exerciseRoom);
157
+ _context.next = 12;
158
+ break;
159
+ case 8:
160
+ _context.prev = 8;
161
+ _context.t0 = _context["catch"](0);
162
+ console.error(_context.t0);
163
+ blocks.Notification.error(intl.formatMessage({
164
+ id: 'materialExercise.exerciseFileTree.fetchRoom.failure'
165
+ }));
166
+ case 12:
167
+ case "end":
168
+ return _context.stop();
169
+ }
170
+ }, _callee, null, [[0, 8]]);
171
+ }));
172
+ return function doGetOrgMaterialExerciseExerciseRoomGet() {
173
+ return _ref.apply(this, arguments);
174
+ };
175
+ }();
176
+ var handleError = function handleError(error) {
147
177
  var _a, _b, _c;
148
-
149
- let message;
150
- let failMessage;
151
-
178
+ var message;
179
+ var failMessage;
152
180
  switch ((_a = error.detail) === null || _a === void 0 ? void 0 : _a.failCode) {
153
181
  case MaterialExerciseFileError.InsufficientPermission:
154
182
  case MaterialExerciseFileError.NotFoundExerciseRoom:
@@ -160,205 +188,274 @@ const ExerciseFileTree = () => {
160
188
  case MaterialExerciseFileError.ResultingFilenameUnderCurrentFilename:
161
189
  case MaterialExerciseFileError.UsableSizeExceed:
162
190
  case MaterialExerciseFileError.SubFileOrPathExist:
163
- message = error.detail.failCode ? `materialExercise.exerciseFileTree.errorCode.${humps.camelize(error.detail.failCode)}` : 'materialExercise.exerciseFileTree.errorCode.unknown';
191
+ message = error.detail.failCode ? "materialExercise.exerciseFileTree.errorCode.".concat(humps.camelize(error.detail.failCode)) : 'materialExercise.exerciseFileTree.errorCode.unknown';
164
192
  failMessage = error.detail.failMessage;
165
193
  break;
166
-
167
194
  default:
168
- message = ((_b = error.detail) === null || _b === void 0 ? void 0 : _b.failCode) ? error.detail.failCode : `materialExercise.exerciseFileTree.errorCode.unknown`;
195
+ message = ((_b = error.detail) === null || _b === void 0 ? void 0 : _b.failCode) ? error.detail.failCode : "materialExercise.exerciseFileTree.errorCode.unknown";
169
196
  failMessage = (_c = error.detail) === null || _c === void 0 ? void 0 : _c.failMessage;
170
197
  }
171
-
172
198
  blocks.Notification.error(intl.formatMessage({
173
199
  id: message
174
- }) + `${failMessage ? ` (${failMessage})` : ''}`);
175
-
200
+ }) + "".concat(failMessage ? " (".concat(failMessage, ")") : ''));
176
201
  if (typeof onError === 'function') {
177
202
  onError(error);
178
203
  }
179
204
  };
180
-
181
- const handleFileAdd = async ({
182
- path,
183
- emptyFileWithName,
184
- userFile
185
- }) => {
186
- setApiStatus('pending');
187
- return apiClient.postOrgMaterialExerciseExerciseRoomUserFileAdd({
188
- exerciseRoomId,
189
- path,
190
- emptyFileWithName,
191
- userFile
192
- }).then(doGetOrgMaterialExerciseExerciseRoomGet).then(() => setApiStatus('resolved')).catch(error => {
193
- setApiStatus('rejected');
194
- handleError(error);
195
-
196
- if (typeof onError === 'function') {
197
- onError(error);
198
- }
199
- });
200
- };
201
-
202
- const handleDirectoryAdd = async ({
203
- name,
204
- path,
205
- overwrite
206
- }) => {
207
- setApiStatus('pending');
208
- return apiClient.postOrgMaterialExerciseExerciseRoomUserFileDirectoryAdd({
209
- exerciseRoomId,
210
- path,
211
- name
212
- }).then(doGetOrgMaterialExerciseExerciseRoomGet).then(() => setApiStatus('resolved')).catch(error => {
213
- setApiStatus('rejected');
214
- handleError(error);
215
-
216
- if (typeof onError === 'function') {
217
- onError(error);
218
- }
219
- });
220
- };
221
-
222
- const handleFileDelete = async path => {
223
- setApiStatus('pending');
224
- return apiClient.postOrgMaterialExerciseExerciseRoomUserFileDelete({
225
- exerciseRoomId,
226
- filename: path
227
- }).then(doGetOrgMaterialExerciseExerciseRoomGet).then(() => {
228
- setApiStatus('resolved');
229
- setActiveFilename(openedTabs[0]);
230
- setOpenedTabs(openedTabs => openedTabs.filter(openTab => openTab !== path));
231
- }).catch(error => {
232
- setApiStatus('rejected');
233
- handleError(error);
234
-
235
- if (typeof onError === 'function') {
236
- onError(error);
237
- }
238
- });
239
- };
240
-
241
- const handleDirectoryDelete = async path => {
205
+ var handleFileAdd = /*#__PURE__*/function () {
206
+ var _ref3 = _rollupPluginBabelHelpers.asyncToGenerator( /*#__PURE__*/_rollupPluginBabelHelpers.regeneratorRuntime().mark(function _callee2(_ref2) {
207
+ var path, emptyFileWithName, userFile;
208
+ return _rollupPluginBabelHelpers.regeneratorRuntime().wrap(function _callee2$(_context2) {
209
+ while (1) switch (_context2.prev = _context2.next) {
210
+ case 0:
211
+ path = _ref2.path, emptyFileWithName = _ref2.emptyFileWithName, userFile = _ref2.userFile;
212
+ setApiStatus('pending');
213
+ return _context2.abrupt("return", apiClient.postOrgMaterialExerciseExerciseRoomUserFileAdd({
214
+ exerciseRoomId: exerciseRoomId,
215
+ path: path,
216
+ emptyFileWithName: emptyFileWithName,
217
+ userFile: userFile
218
+ }).then(doGetOrgMaterialExerciseExerciseRoomGet).then(function () {
219
+ return setApiStatus('resolved');
220
+ }).catch(function (error) {
221
+ setApiStatus('rejected');
222
+ handleError(error);
223
+ if (typeof onError === 'function') {
224
+ onError(error);
225
+ }
226
+ }));
227
+ case 3:
228
+ case "end":
229
+ return _context2.stop();
230
+ }
231
+ }, _callee2);
232
+ }));
233
+ return function handleFileAdd(_x) {
234
+ return _ref3.apply(this, arguments);
235
+ };
236
+ }();
237
+ var handleDirectoryAdd = /*#__PURE__*/function () {
238
+ var _ref5 = _rollupPluginBabelHelpers.asyncToGenerator( /*#__PURE__*/_rollupPluginBabelHelpers.regeneratorRuntime().mark(function _callee3(_ref4) {
239
+ var name, path;
240
+ return _rollupPluginBabelHelpers.regeneratorRuntime().wrap(function _callee3$(_context3) {
241
+ while (1) switch (_context3.prev = _context3.next) {
242
+ case 0:
243
+ name = _ref4.name, path = _ref4.path, _ref4.overwrite;
244
+ setApiStatus('pending');
245
+ return _context3.abrupt("return", apiClient.postOrgMaterialExerciseExerciseRoomUserFileDirectoryAdd({
246
+ exerciseRoomId: exerciseRoomId,
247
+ path: path,
248
+ name: name
249
+ }).then(doGetOrgMaterialExerciseExerciseRoomGet).then(function () {
250
+ return setApiStatus('resolved');
251
+ }).catch(function (error) {
252
+ setApiStatus('rejected');
253
+ handleError(error);
254
+ if (typeof onError === 'function') {
255
+ onError(error);
256
+ }
257
+ }));
258
+ case 3:
259
+ case "end":
260
+ return _context3.stop();
261
+ }
262
+ }, _callee3);
263
+ }));
264
+ return function handleDirectoryAdd(_x2) {
265
+ return _ref5.apply(this, arguments);
266
+ };
267
+ }();
268
+ var handleFileDelete = /*#__PURE__*/function () {
269
+ var _ref6 = _rollupPluginBabelHelpers.asyncToGenerator( /*#__PURE__*/_rollupPluginBabelHelpers.regeneratorRuntime().mark(function _callee4(path) {
270
+ return _rollupPluginBabelHelpers.regeneratorRuntime().wrap(function _callee4$(_context4) {
271
+ while (1) switch (_context4.prev = _context4.next) {
272
+ case 0:
273
+ setApiStatus('pending');
274
+ return _context4.abrupt("return", apiClient.postOrgMaterialExerciseExerciseRoomUserFileDelete({
275
+ exerciseRoomId: exerciseRoomId,
276
+ filename: path
277
+ }).then(doGetOrgMaterialExerciseExerciseRoomGet).then(function () {
278
+ setApiStatus('resolved');
279
+ setActiveFilename(openedTabs[0]);
280
+ setOpenedTabs(function (openedTabs) {
281
+ return openedTabs.filter(function (openTab) {
282
+ return openTab !== path;
283
+ });
284
+ });
285
+ }).catch(function (error) {
286
+ setApiStatus('rejected');
287
+ handleError(error);
288
+ if (typeof onError === 'function') {
289
+ onError(error);
290
+ }
291
+ }));
292
+ case 2:
293
+ case "end":
294
+ return _context4.stop();
295
+ }
296
+ }, _callee4);
297
+ }));
298
+ return function handleFileDelete(_x3) {
299
+ return _ref6.apply(this, arguments);
300
+ };
301
+ }();
302
+ var handleDirectoryDelete = /*#__PURE__*/function () {
303
+ var _ref7 = _rollupPluginBabelHelpers.asyncToGenerator( /*#__PURE__*/_rollupPluginBabelHelpers.regeneratorRuntime().mark(function _callee5(path) {
304
+ return _rollupPluginBabelHelpers.regeneratorRuntime().wrap(function _callee5$(_context5) {
305
+ while (1) switch (_context5.prev = _context5.next) {
306
+ case 0:
307
+ setApiStatus('pending');
308
+ return _context5.abrupt("return", apiClient.postOrgMaterialExerciseExerciseRoomUserFileDirectoryDelete({
309
+ exerciseRoomId: exerciseRoomId,
310
+ filename: path
311
+ }).then(doGetOrgMaterialExerciseExerciseRoomGet).then(function () {
312
+ return setApiStatus('resolved');
313
+ }).catch(function (error) {
314
+ setApiStatus('rejected');
315
+ handleError(error);
316
+ if (typeof onError === 'function') {
317
+ onError(error);
318
+ }
319
+ }));
320
+ case 2:
321
+ case "end":
322
+ return _context5.stop();
323
+ }
324
+ }, _callee5);
325
+ }));
326
+ return function handleDirectoryDelete(_x4) {
327
+ return _ref7.apply(this, arguments);
328
+ };
329
+ }();
330
+ var handleFileMove = /*#__PURE__*/function () {
331
+ var _ref9 = _rollupPluginBabelHelpers.asyncToGenerator( /*#__PURE__*/_rollupPluginBabelHelpers.regeneratorRuntime().mark(function _callee6(_ref8) {
332
+ var currentFilename, newName, newPath;
333
+ return _rollupPluginBabelHelpers.regeneratorRuntime().wrap(function _callee6$(_context6) {
334
+ while (1) switch (_context6.prev = _context6.next) {
335
+ case 0:
336
+ currentFilename = _ref8.currentFilename, newName = _ref8.newName, newPath = _ref8.newPath;
337
+ setApiStatus('pending');
338
+ apiClient.postOrgMaterialExerciseExerciseRoomUserFileMove({
339
+ exerciseRoomId: exerciseRoomId,
340
+ currentFilename: currentFilename,
341
+ newName: newName,
342
+ newPath: newPath
343
+ }).then(function () {
344
+ // eslint-disable-next-line @typescript-eslint/restrict-plus-operands
345
+ var parsedPath = (newPath ? newPath + '/' : '') + newName;
346
+ // set activeFilename
347
+ setActiveFilename(parsedPath);
348
+ // set openedTabs
349
+ if (openedTabs.includes(currentFilename)) {
350
+ // replace
351
+ setOpenedTabs(function (openedTabs) {
352
+ return openedTabs.map(function (openedTab) {
353
+ return openedTab === currentFilename ? parsedPath : openedTab;
354
+ });
355
+ });
356
+ } else {
357
+ // add new
358
+ setOpenedTabs(function (openedTabs) {
359
+ return [].concat(_rollupPluginBabelHelpers.toConsumableArray(openedTabs), [parsedPath]);
360
+ });
361
+ }
362
+ }).then(doGetOrgMaterialExerciseExerciseRoomGet).then(function () {
363
+ return setApiStatus('resolved');
364
+ }).catch(function (error) {
365
+ setApiStatus('rejected');
366
+ handleError(error);
367
+ if (typeof onError === 'function') {
368
+ onError(error);
369
+ }
370
+ });
371
+ case 3:
372
+ case "end":
373
+ return _context6.stop();
374
+ }
375
+ }, _callee6);
376
+ }));
377
+ return function handleFileMove(_x5) {
378
+ return _ref9.apply(this, arguments);
379
+ };
380
+ }();
381
+ var handleDirectoryMove = /*#__PURE__*/function () {
382
+ var _ref11 = _rollupPluginBabelHelpers.asyncToGenerator( /*#__PURE__*/_rollupPluginBabelHelpers.regeneratorRuntime().mark(function _callee7(_ref10) {
383
+ var currentFilename, newName, newPath;
384
+ return _rollupPluginBabelHelpers.regeneratorRuntime().wrap(function _callee7$(_context7) {
385
+ while (1) switch (_context7.prev = _context7.next) {
386
+ case 0:
387
+ currentFilename = _ref10.currentFilename, newName = _ref10.newName, newPath = _ref10.newPath;
388
+ setApiStatus('pending');
389
+ apiClient.postOrgMaterialExerciseExerciseRoomUserFileDirectoryMove({
390
+ exerciseRoomId: exerciseRoomId,
391
+ currentFilename: currentFilename,
392
+ newName: newName,
393
+ newPath: newPath
394
+ }).then(doGetOrgMaterialExerciseExerciseRoomGet).then(function () {
395
+ return setApiStatus('resolved');
396
+ }).catch(function (error) {
397
+ setApiStatus('rejected');
398
+ handleError(error);
399
+ if (typeof onError === 'function') {
400
+ onError(error);
401
+ }
402
+ });
403
+ case 3:
404
+ case "end":
405
+ return _context7.stop();
406
+ }
407
+ }, _callee7);
408
+ }));
409
+ return function handleDirectoryMove(_x6) {
410
+ return _ref11.apply(this, arguments);
411
+ };
412
+ }();
413
+ var handleFilesUpload = function handleFilesUpload(_ref12) {
414
+ var files = _ref12.files,
415
+ path = _ref12.path;
242
416
  setApiStatus('pending');
243
- return apiClient.postOrgMaterialExerciseExerciseRoomUserFileDirectoryDelete({
244
- exerciseRoomId,
245
- filename: path
246
- }).then(doGetOrgMaterialExerciseExerciseRoomGet).then(() => setApiStatus('resolved')).catch(error => {
247
- setApiStatus('rejected');
248
- handleError(error);
249
-
250
- if (typeof onError === 'function') {
251
- onError(error);
252
- }
253
- });
254
- };
255
-
256
- const handleFileMove = async ({
257
- currentFilename,
258
- newName,
259
- newPath
260
- }) => {
261
- setApiStatus('pending');
262
- apiClient.postOrgMaterialExerciseExerciseRoomUserFileMove({
263
- exerciseRoomId,
264
- currentFilename,
265
- newName,
266
- newPath
267
- }).then(() => {
268
- const parsedPath = (newPath ? newPath + '/' : '') + newName; // set activeFilename
269
-
270
- setActiveFilename(parsedPath); // set openedTabs
271
-
272
- if (openedTabs.includes(currentFilename)) {
273
- // replace
274
- setOpenedTabs(openedTabs => openedTabs.map(openedTab => openedTab === currentFilename ? parsedPath : openedTab));
275
- } else {
276
- // add new
277
- setOpenedTabs(openedTabs => [...openedTabs, parsedPath]);
278
- }
279
- }).then(doGetOrgMaterialExerciseExerciseRoomGet).then(() => setApiStatus('resolved')).catch(error => {
280
- setApiStatus('rejected');
281
- handleError(error);
282
-
283
- if (typeof onError === 'function') {
284
- onError(error);
285
- }
286
- });
287
- };
288
-
289
- const handleDirectoryMove = async ({
290
- currentFilename,
291
- newName,
292
- newPath
293
- }) => {
294
- setApiStatus('pending');
295
- apiClient.postOrgMaterialExerciseExerciseRoomUserFileDirectoryMove({
296
- exerciseRoomId,
297
- currentFilename,
298
- newName,
299
- newPath
300
- }).then(doGetOrgMaterialExerciseExerciseRoomGet).then(() => setApiStatus('resolved')).catch(error => {
301
- setApiStatus('rejected');
302
- handleError(error);
303
-
304
- if (typeof onError === 'function') {
305
- onError(error);
306
- }
307
- });
308
- };
309
-
310
- const handleFilesUpload = ({
311
- files,
312
- path
313
- }) => {
314
- setApiStatus('pending');
315
- Promise.all(Array.from(files).map(file => {
417
+ Promise.all(Array.from(files).map(function (file) {
316
418
  return apiClient.postOrgMaterialExerciseExerciseRoomUserFileAdd({
317
- exerciseRoomId,
318
- path,
419
+ exerciseRoomId: exerciseRoomId,
420
+ path: path,
319
421
  userFile: file
320
422
  });
321
- })).then(doGetOrgMaterialExerciseExerciseRoomGet).then(() => setApiStatus('resolved')).catch(error => {
423
+ })).then(doGetOrgMaterialExerciseExerciseRoomGet).then(function () {
424
+ return setApiStatus('resolved');
425
+ }).catch(function (error) {
322
426
  setApiStatus('rejected');
323
427
  handleError(error);
324
-
325
428
  if (typeof onError === 'function') {
326
429
  onError(error);
327
430
  }
328
431
  });
329
- }; //
432
+ };
433
+ //
330
434
  //
331
435
  //
332
-
333
-
334
436
  if (!exercise || !exerciseRoom) {
335
437
  return null;
336
438
  }
337
-
338
439
  return React__default["default"].createElement(blocks.Flex, {
339
440
  column: true,
340
441
  height: "100%",
341
442
  auto: true,
342
443
  overflowy: "auto"
343
444
  }, React__default["default"].createElement(React__default["default"].Suspense, {
344
- fallback: React__default["default"].createElement(ExerciseFileTreeListShimmer, null)
445
+ fallback: React__default["default"].createElement(ExerciseFileTreeListShimmer["default"], null)
345
446
  }, React__default["default"].createElement(AsyncFileTree
346
- /** custom styles */
347
- , {
447
+ /** custom styles */, {
348
448
  /** custom styles */
349
449
  style: {
350
450
  flex: 'auto'
351
451
  },
352
-
353
452
  /** controlled state */
354
453
  activePath: activePath,
355
-
356
454
  /** filelist */
357
455
  exerciseRoomFilelist: multilanguageFilelistFilter(exerciseRoom.filelist),
358
456
  imageFilelist: multilanguageFilelistFilter((_b = (_a = exercise.readyExerciseImage) === null || _a === void 0 ? void 0 : _a.filelist) !== null && _b !== void 0 ? _b : []),
359
457
  hiddenFilelist: multilanguageFilelistFilter((_c = exercise.readyExerciseImage) === null || _c === void 0 ? void 0 : _c.hiddenFilelist),
360
458
  readOnlyFilelist: multilanguageFilelistFilter((_d = exercise.readyExerciseImage) === null || _d === void 0 ? void 0 : _d.readOnlyFilelist),
361
-
362
459
  /** handler functions */
363
460
  onActivePathChange: handleActivePathChange,
364
461
  onFileAdd: handleFileAdd,
@@ -372,10 +469,9 @@ const ExerciseFileTree = () => {
372
469
  locale: locale
373
470
  }, React__default["default"].createElement(AsyncFileTreeToolbar, null), React__default["default"].createElement(StyledFileTreeDivider, null), React__default["default"].createElement(AsyncFileTreeList, null))));
374
471
  };
375
-
376
472
  var ExerciseFileTree$1 = ExerciseIntlProvider.withExerciseIntlProvider(ExerciseFileTree, {
377
- en: en,
378
- ko: ko
473
+ en: en["default"],
474
+ ko: ko["default"]
379
475
  });
380
476
 
381
- module.exports = ExerciseFileTree$1;
477
+ exports["default"] = ExerciseFileTree$1;