@elice/material-exercise 1.240718.0-trasncript.2 → 1.240718.2

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 (459) hide show
  1. package/cjs/assets/empty.png.js +2 -1
  2. package/cjs/components/material-exercise/MaterialExercise.d.ts +1 -1
  3. package/cjs/components/material-exercise/MaterialExercise.js +75 -111
  4. package/cjs/components/material-exercise/MaterialExercise.styled.js +14 -18
  5. package/cjs/components/material-exercise/MaterialExerciseMobile.d.ts +1 -1
  6. package/cjs/components/material-exercise/MaterialExerciseMobile.js +7 -17
  7. package/cjs/components/material-exercise/context/ExerciseProvider.js +58 -68
  8. package/cjs/components/material-exercise/context/ExerciseProviderNoImage.js +30 -39
  9. package/cjs/components/material-exercise/context/context.js +1 -5
  10. package/cjs/components/material-exercise/context/recoil.js +293 -542
  11. package/cjs/components/material-exercise/context/subjects.js +4 -4
  12. package/cjs/components/material-exercise/context/types.d.ts +2 -2
  13. package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.js +78 -100
  14. package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.js +8 -12
  15. package/cjs/components/material-exercise/exercise-file/ExerciseFile.js +27 -30
  16. package/cjs/components/material-exercise/exercise-file-editor/ExerciseFileEditor.js +149 -225
  17. package/cjs/components/material-exercise/exercise-file-editor/ExerciseFileReadOnlyBanner.js +13 -20
  18. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabs.js +29 -49
  19. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.d.ts +2 -1
  20. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.js +4 -10
  21. package/cjs/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/ExerciseFileTabsFileTreeButton.js +36 -53
  22. package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTree.js +211 -353
  23. package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.d.ts +2 -1
  24. package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.js +4 -10
  25. package/cjs/components/material-exercise/exercise-file-viewer/ExerciseFileViewer.js +15 -18
  26. package/cjs/components/material-exercise/exercise-menu/ExerciseMenu.js +12 -21
  27. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.js +11 -12
  28. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.js +80 -123
  29. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuDropdown.js +67 -100
  30. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuReset.js +22 -40
  31. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.js +119 -144
  32. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.js +13 -17
  33. package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdown.js +19 -32
  34. package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.d.ts +2 -1
  35. package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.js +4 -10
  36. package/cjs/components/material-exercise/exercise-preview/ExercisePreview.js +24 -31
  37. package/cjs/components/material-exercise/exercise-preview/ExercisePreviewDisplayModeButton.js +6 -13
  38. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpane.js +35 -51
  39. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpaneEditorPerference.js +6 -14
  40. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpaneEnvironment.js +78 -90
  41. package/cjs/components/material-exercise/exercise-room/ExerciseRoom.js +12 -25
  42. package/cjs/components/material-exercise/exercise-room/ExerciseRoom.styled.js +12 -18
  43. package/cjs/components/material-exercise/exercise-room/ExerciseRoomDetail.js +349 -504
  44. package/cjs/components/material-exercise/exercise-room/ExerciseRoomList.js +132 -197
  45. package/cjs/components/material-exercise/exercise-room/helpers/exerciseRoomPermissionStringConvertor.js +2 -2
  46. package/cjs/components/material-exercise/exercise-runner/ExerciseRunner.js +142 -205
  47. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerContext.js +1 -5
  48. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerController.js +16 -25
  49. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.js +86 -118
  50. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.js +19 -33
  51. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js +82 -95
  52. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.js +52 -68
  53. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerRunningInfo.js +87 -136
  54. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusIndicator.js +2 -6
  55. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusMessage.js +15 -21
  56. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerTimer.js +23 -36
  57. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.js +248 -402
  58. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.styled.js +8 -12
  59. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistoryOutput.js +50 -74
  60. package/cjs/components/shared/exercise-menu-button/ExerciseMenuButton.js +23 -32
  61. package/cjs/components/shared/exercise-shimmer/ExerciseFileShimmer.js +38 -44
  62. package/cjs/components/shared/exercise-shimmer/ExerciseFileTabShimmer.js +20 -26
  63. package/cjs/components/shared/exercise-shimmer/ExerciseFileTabsShimmer.js +8 -14
  64. package/cjs/components/shared/exercise-shimmer/ExerciseFileTreeListItemShimmer.js +22 -28
  65. package/cjs/components/shared/exercise-shimmer/ExerciseFileTreeListShimmer.js +9 -24
  66. package/cjs/components/shared/exercise-version-list/ExerciseVersionList.js +5 -6
  67. package/cjs/components/shared/exercise-version-list/ExerciseVersionList.styled.js +1 -5
  68. package/cjs/components/shared/exercise-version-list/ExerciseVersionListItem.js +10 -10
  69. package/cjs/components/shared/exercise-version-list/ExerciseVersionListItem.styled.js +5 -13
  70. package/cjs/components/shared/file-icon/FileIcon.js +16 -23
  71. package/cjs/components/shared/file-tabs/FileTab.js +33 -47
  72. package/cjs/components/shared/file-tabs/FileTab.styled.js +15 -23
  73. package/cjs/components/shared/file-tabs/FileTabs.js +39 -66
  74. package/cjs/components/shared/file-tabs/FileTabs.styled.js +2 -6
  75. package/cjs/components/shared/file-tabs/util.js +14 -27
  76. package/cjs/components/shared/file-tree/FileTree.js +10 -20
  77. package/cjs/components/shared/file-tree/FileTreeConfig.js +40 -46
  78. package/cjs/components/shared/file-tree/FileTreeList.js +40 -43
  79. package/cjs/components/shared/file-tree/FileTreeListItemContent.js +99 -128
  80. package/cjs/components/shared/file-tree/FileTreeListItemContent.styled.js +21 -29
  81. package/cjs/components/shared/file-tree/FileTreeListItemContentInput.js +96 -106
  82. package/cjs/components/shared/file-tree/FileTreeListItemContentInput.styled.js +6 -10
  83. package/cjs/components/shared/file-tree/FileTreeListItemContentMenu.js +91 -133
  84. package/cjs/components/shared/file-tree/FileTreeListItems.js +137 -149
  85. package/cjs/components/shared/file-tree/FileTreeListItems.styled.js +2 -6
  86. package/cjs/components/shared/file-tree/FileTreeToolbar.styled.js +1 -5
  87. package/cjs/components/shared/file-tree/context/FileTreeContext.d.ts +1 -1
  88. package/cjs/components/shared/file-tree/context/FileTreeContext.js +79 -101
  89. package/cjs/components/shared/file-tree/file-tree-toolbar/FileTreeToolbar.js +54 -59
  90. package/cjs/components/shared/file-tree/utils/fileTreeFiles.js +20 -24
  91. package/cjs/components/shared/file-tree/utils/fileTreeGenerator.js +146 -193
  92. package/cjs/components/shared/file-tree/utils/fileTreeInput.js +0 -11
  93. package/cjs/components/shared/file-tree/utils/fileTreeItem.js +1 -1
  94. package/cjs/components/shared/file-tree/utils/fileTreePath.js +6 -5
  95. package/cjs/components/shared/file-viewer/FileViewer.js +46 -76
  96. package/cjs/components/shared/file-viewer/FileViewerCsv.js +167 -262
  97. package/cjs/components/shared/file-viewer/FileViewerImage.js +12 -16
  98. package/cjs/components/shared/file-viewer/FileViewerIpynb.js +11 -27
  99. package/cjs/components/shared/file-viewer/FileViewerNonViewable.js +47 -65
  100. package/cjs/components/shared/file-viewer/FileViewerText.js +11 -23
  101. package/cjs/components/shared/material-modal/MaterialModal.js +11 -20
  102. package/cjs/components/shared/material-modal/MaterialModal.styled.js +5 -9
  103. package/cjs/components/shared/monaco-editor/MonacoEditor.js +74 -102
  104. package/cjs/components/shared/monaco-editor/MonacoEditorLazy.js +7 -15
  105. package/cjs/components/shared/monaco-editor/MonacoEditorMobile.js +34 -49
  106. package/cjs/components/shared/monaco-editor/MonacoEditorPerferenceForm.js +194 -249
  107. package/cjs/components/shared/monaco-editor/constants/grammars/index.js +28 -82
  108. package/cjs/components/shared/monaco-editor/constants/monaco/preferences.js +5 -5
  109. package/cjs/components/shared/monaco-editor/constants/themes/index.js +17 -49
  110. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventChange.js +10 -11
  111. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventCursor.js +14 -15
  112. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventScroll.js +8 -9
  113. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoMarkers.js +30 -34
  114. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoOptions.js +7 -9
  115. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoTheme.js +6 -6
  116. package/cjs/components/shared/monaco-editor/editor-languages/css/formatter.js +10 -33
  117. package/cjs/components/shared/monaco-editor/editor-languages/css/index.js +2 -3
  118. package/cjs/components/shared/monaco-editor/editor-languages/html/formatter.js +10 -33
  119. package/cjs/components/shared/monaco-editor/editor-languages/html/index.js +2 -3
  120. package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/_helper.js +1 -1
  121. package/cjs/components/shared/monaco-editor/editor-languages/typescript/formatter.js +10 -37
  122. package/cjs/components/shared/monaco-editor/editor-languages/typescript/index.js +5 -6
  123. package/cjs/components/shared/monaco-editor/hooks/useEditorOptions.js +5 -11
  124. package/cjs/components/shared/monaco-editor/utils/emmet/abbreviationActions.js +12 -10
  125. package/cjs/components/shared/monaco-editor/utils/emmet/registerProvider.js +6 -12
  126. package/cjs/components/shared/monaco-editor/utils/grammar/index.js +24 -67
  127. package/cjs/components/shared/monaco-editor/utils/grammar/onigasm.js +6 -25
  128. package/cjs/components/shared/monaco-editor/utils/grammar/textmate.js +37 -70
  129. package/cjs/components/shared/monaco-editor/utils/monacoLanguage.js +7 -8
  130. package/cjs/components/shared/monaco-editor/utils/monacoPreference.js +4 -6
  131. package/cjs/components/shared/monaco-editor/utils/prettier/config.js +2 -2
  132. package/cjs/components/shared/monaco-editor/utils/prettier/index.js +7 -27
  133. package/cjs/components/shared/monaco-editor/utils/theme/convert.js +14 -24
  134. package/cjs/components/shared/monaco-editor/utils/theme/index.js +3 -22
  135. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursor.js +56 -77
  136. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorManager.js +68 -82
  137. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorWidget.js +93 -120
  138. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelection.js +132 -155
  139. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelectionManager.js +92 -104
  140. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/styles.js +2 -2
  141. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/configCompat.js +6 -1
  142. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/data.js +2 -2
  143. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/emmetHelper.js +158 -177
  144. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/utils.js +3 -3
  145. package/cjs/components/shared/no-vnc/NoVnc.js +78 -118
  146. package/cjs/components/shared/no-vnc/NoVncLazy.js +7 -15
  147. package/cjs/components/shared/preview-container/PreviewContainer.js +13 -18
  148. package/cjs/components/shared/web-browser/WebBrowser.js +52 -74
  149. package/cjs/components/shared/xterm/Xterm.js +57 -82
  150. package/cjs/components/shared/xterm/XtermLazy.js +7 -15
  151. package/cjs/constants/arduino.js +10 -10
  152. package/cjs/constants/color.js +1 -1
  153. package/cjs/constants/shortcutKeyMap.js +1 -3
  154. package/cjs/constants/stylesheets.js +5 -7
  155. package/cjs/hooks/useArduino.js +141 -282
  156. package/cjs/hooks/useExerciseFile.js +22 -24
  157. package/cjs/hooks/useExericseShortcut.js +4 -6
  158. package/cjs/hooks/useMaterialExerciseFileUrl.js +33 -55
  159. package/cjs/hooks/useRunnerRoomWebSocket.js +27 -51
  160. package/cjs/hooks/useStdioTextConcator.js +11 -15
  161. package/cjs/hooks/useStdioWebSocket.js +28 -32
  162. package/cjs/hooks/useUsercodeEditWebSocket.js +158 -238
  163. package/cjs/hooks/useUsercodeHistory.js +63 -115
  164. package/cjs/utils/arduino.js +11 -23
  165. package/cjs/utils/exerciseFile.js +10 -8
  166. package/cjs/utils/runner.js +17 -33
  167. package/es/assets/empty.png.js +2 -1
  168. package/es/components/material-exercise/MaterialExercise.d.ts +1 -1
  169. package/es/components/material-exercise/MaterialExercise.js +75 -107
  170. package/es/components/material-exercise/MaterialExercise.styled.js +14 -14
  171. package/es/components/material-exercise/MaterialExerciseMobile.d.ts +1 -1
  172. package/es/components/material-exercise/MaterialExerciseMobile.js +7 -13
  173. package/es/components/material-exercise/context/ExerciseProvider.js +58 -63
  174. package/es/components/material-exercise/context/ExerciseProviderNoImage.js +30 -35
  175. package/es/components/material-exercise/context/context.js +1 -1
  176. package/es/components/material-exercise/context/recoil.js +290 -535
  177. package/es/components/material-exercise/context/subjects.js +4 -4
  178. package/es/components/material-exercise/context/types.d.ts +2 -2
  179. package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.js +78 -95
  180. package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.js +8 -8
  181. package/es/components/material-exercise/exercise-file/ExerciseFile.js +27 -25
  182. package/es/components/material-exercise/exercise-file-editor/ExerciseFileEditor.js +149 -221
  183. package/es/components/material-exercise/exercise-file-editor/ExerciseFileReadOnlyBanner.js +13 -15
  184. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabs.js +29 -44
  185. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.d.ts +2 -1
  186. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.js +4 -6
  187. package/es/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/ExerciseFileTabsFileTreeButton.js +36 -48
  188. package/es/components/material-exercise/exercise-file-tree/ExerciseFileTree.js +211 -348
  189. package/es/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.d.ts +2 -1
  190. package/es/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.js +4 -6
  191. package/es/components/material-exercise/exercise-file-viewer/ExerciseFileViewer.js +15 -14
  192. package/es/components/material-exercise/exercise-menu/ExerciseMenu.js +12 -16
  193. package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.js +11 -12
  194. package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.js +80 -119
  195. package/es/components/material-exercise/exercise-menu/ExerciseMenuDropdown.js +67 -96
  196. package/es/components/material-exercise/exercise-menu/ExerciseMenuReset.js +23 -41
  197. package/es/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.js +122 -143
  198. package/es/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.js +13 -13
  199. package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdown.js +19 -28
  200. package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.d.ts +2 -1
  201. package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.js +4 -6
  202. package/es/components/material-exercise/exercise-preview/ExercisePreview.js +24 -26
  203. package/es/components/material-exercise/exercise-preview/ExercisePreviewDisplayModeButton.js +7 -14
  204. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpane.js +35 -47
  205. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpaneEditorPerference.js +6 -10
  206. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpaneEnvironment.js +78 -85
  207. package/es/components/material-exercise/exercise-room/ExerciseRoom.js +12 -21
  208. package/es/components/material-exercise/exercise-room/ExerciseRoom.styled.js +12 -14
  209. package/es/components/material-exercise/exercise-room/ExerciseRoomDetail.js +349 -498
  210. package/es/components/material-exercise/exercise-room/ExerciseRoomList.js +133 -193
  211. package/es/components/material-exercise/exercise-room/helpers/exerciseRoomPermissionStringConvertor.js +2 -2
  212. package/es/components/material-exercise/exercise-runner/ExerciseRunner.js +142 -200
  213. package/es/components/material-exercise/exercise-runner/ExerciseRunnerContext.js +1 -1
  214. package/es/components/material-exercise/exercise-runner/ExerciseRunnerController.js +16 -20
  215. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.js +85 -112
  216. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.js +20 -30
  217. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js +82 -90
  218. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.js +52 -63
  219. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerRunningInfo.js +87 -131
  220. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusIndicator.js +2 -2
  221. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusMessage.js +15 -17
  222. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerTimer.js +23 -31
  223. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.js +250 -399
  224. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.styled.js +8 -8
  225. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistoryOutput.js +49 -68
  226. package/es/components/shared/exercise-menu-button/ExerciseMenuButton.js +24 -29
  227. package/es/components/shared/exercise-shimmer/ExerciseFileShimmer.js +38 -40
  228. package/es/components/shared/exercise-shimmer/ExerciseFileTabShimmer.js +20 -22
  229. package/es/components/shared/exercise-shimmer/ExerciseFileTabsShimmer.js +8 -10
  230. package/es/components/shared/exercise-shimmer/ExerciseFileTreeListItemShimmer.js +22 -24
  231. package/es/components/shared/exercise-shimmer/ExerciseFileTreeListShimmer.js +9 -19
  232. package/es/components/shared/exercise-version-list/ExerciseVersionList.js +5 -6
  233. package/es/components/shared/exercise-version-list/ExerciseVersionList.styled.js +1 -1
  234. package/es/components/shared/exercise-version-list/ExerciseVersionListItem.js +10 -10
  235. package/es/components/shared/exercise-version-list/ExerciseVersionListItem.styled.js +5 -9
  236. package/es/components/shared/file-icon/FileIcon.js +16 -19
  237. package/es/components/shared/file-tabs/FileTab.js +33 -43
  238. package/es/components/shared/file-tabs/FileTab.styled.js +15 -19
  239. package/es/components/shared/file-tabs/FileTabs.js +40 -62
  240. package/es/components/shared/file-tabs/FileTabs.styled.js +2 -2
  241. package/es/components/shared/file-tabs/util.js +14 -27
  242. package/es/components/shared/file-tree/FileTree.js +10 -16
  243. package/es/components/shared/file-tree/FileTreeConfig.js +39 -39
  244. package/es/components/shared/file-tree/FileTreeList.js +40 -38
  245. package/es/components/shared/file-tree/FileTreeListItemContent.js +99 -124
  246. package/es/components/shared/file-tree/FileTreeListItemContent.styled.js +21 -25
  247. package/es/components/shared/file-tree/FileTreeListItemContentInput.js +96 -102
  248. package/es/components/shared/file-tree/FileTreeListItemContentInput.styled.js +6 -6
  249. package/es/components/shared/file-tree/FileTreeListItemContentMenu.js +91 -129
  250. package/es/components/shared/file-tree/FileTreeListItems.js +137 -149
  251. package/es/components/shared/file-tree/FileTreeListItems.styled.js +2 -2
  252. package/es/components/shared/file-tree/FileTreeToolbar.styled.js +1 -1
  253. package/es/components/shared/file-tree/context/FileTreeContext.d.ts +1 -1
  254. package/es/components/shared/file-tree/context/FileTreeContext.js +79 -97
  255. package/es/components/shared/file-tree/file-tree-toolbar/FileTreeToolbar.js +54 -55
  256. package/es/components/shared/file-tree/utils/fileTreeFiles.js +20 -20
  257. package/es/components/shared/file-tree/utils/fileTreeGenerator.js +146 -193
  258. package/es/components/shared/file-tree/utils/fileTreeInput.js +1 -11
  259. package/es/components/shared/file-tree/utils/fileTreeItem.js +1 -1
  260. package/es/components/shared/file-tree/utils/fileTreePath.js +6 -5
  261. package/es/components/shared/file-viewer/FileViewer.js +46 -69
  262. package/es/components/shared/file-viewer/FileViewerCsv.js +167 -257
  263. package/es/components/shared/file-viewer/FileViewerImage.js +12 -12
  264. package/es/components/shared/file-viewer/FileViewerIpynb.js +11 -21
  265. package/es/components/shared/file-viewer/FileViewerNonViewable.js +47 -60
  266. package/es/components/shared/file-viewer/FileViewerText.js +11 -19
  267. package/es/components/shared/material-modal/MaterialModal.js +11 -20
  268. package/es/components/shared/material-modal/MaterialModal.styled.js +5 -5
  269. package/es/components/shared/monaco-editor/MonacoEditor.js +72 -95
  270. package/es/components/shared/monaco-editor/MonacoEditorLazy.js +7 -11
  271. package/es/components/shared/monaco-editor/MonacoEditorMobile.js +32 -43
  272. package/es/components/shared/monaco-editor/MonacoEditorPerferenceForm.js +194 -244
  273. package/es/components/shared/monaco-editor/constants/grammars/index.js +28 -82
  274. package/es/components/shared/monaco-editor/constants/monaco/preferences.js +5 -5
  275. package/es/components/shared/monaco-editor/constants/themes/index.js +17 -49
  276. package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventChange.js +10 -11
  277. package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventCursor.js +14 -15
  278. package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventScroll.js +8 -9
  279. package/es/components/shared/monaco-editor/editor-hooks/useMonacoMarkers.js +30 -34
  280. package/es/components/shared/monaco-editor/editor-hooks/useMonacoOptions.js +7 -9
  281. package/es/components/shared/monaco-editor/editor-hooks/useMonacoTheme.js +6 -6
  282. package/es/components/shared/monaco-editor/editor-languages/css/formatter.js +10 -33
  283. package/es/components/shared/monaco-editor/editor-languages/html/formatter.js +10 -33
  284. package/es/components/shared/monaco-editor/editor-languages/typescript/dts/_helper.js +1 -1
  285. package/es/components/shared/monaco-editor/editor-languages/typescript/formatter.js +10 -37
  286. package/es/components/shared/monaco-editor/editor-languages/typescript/index.js +3 -3
  287. package/es/components/shared/monaco-editor/hooks/useEditorOptions.js +5 -11
  288. package/es/components/shared/monaco-editor/utils/emmet/abbreviationActions.js +12 -10
  289. package/es/components/shared/monaco-editor/utils/emmet/registerProvider.js +6 -12
  290. package/es/components/shared/monaco-editor/utils/grammar/index.js +24 -67
  291. package/es/components/shared/monaco-editor/utils/grammar/onigasm.js +6 -25
  292. package/es/components/shared/monaco-editor/utils/grammar/textmate.js +35 -67
  293. package/es/components/shared/monaco-editor/utils/monacoLanguage.js +5 -5
  294. package/es/components/shared/monaco-editor/utils/monacoPreference.js +4 -6
  295. package/es/components/shared/monaco-editor/utils/prettier/config.js +2 -2
  296. package/es/components/shared/monaco-editor/utils/prettier/index.js +7 -27
  297. package/es/components/shared/monaco-editor/utils/theme/convert.js +13 -19
  298. package/es/components/shared/monaco-editor/utils/theme/index.js +3 -22
  299. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursor.js +56 -77
  300. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorManager.js +68 -82
  301. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorWidget.js +93 -120
  302. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelection.js +130 -152
  303. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelectionManager.js +92 -104
  304. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/styles.js +2 -2
  305. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/configCompat.js +6 -1
  306. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/data.js +2 -2
  307. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/emmetHelper.js +156 -171
  308. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/utils.js +3 -3
  309. package/es/components/shared/no-vnc/NoVnc.js +71 -99
  310. package/es/components/shared/no-vnc/NoVncLazy.js +7 -11
  311. package/es/components/shared/preview-container/PreviewContainer.js +14 -15
  312. package/es/components/shared/web-browser/WebBrowser.js +52 -69
  313. package/es/components/shared/xterm/Xterm.js +57 -77
  314. package/es/components/shared/xterm/XtermLazy.js +7 -11
  315. package/es/constants/arduino.js +10 -10
  316. package/es/constants/color.js +1 -1
  317. package/es/constants/shortcutKeyMap.js +1 -3
  318. package/es/constants/stylesheets.js +5 -7
  319. package/es/hooks/useArduino.js +141 -278
  320. package/es/hooks/useExerciseFile.js +22 -24
  321. package/es/hooks/useExericseShortcut.js +4 -6
  322. package/es/hooks/useMaterialExerciseFileUrl.js +34 -52
  323. package/es/hooks/useRunnerRoomWebSocket.js +27 -51
  324. package/es/hooks/useStdioTextConcator.js +11 -11
  325. package/es/hooks/useStdioWebSocket.js +28 -32
  326. package/es/hooks/useUsercodeEditWebSocket.js +157 -232
  327. package/es/hooks/useUsercodeHistory.js +63 -115
  328. package/es/utils/arduino.js +12 -24
  329. package/es/utils/exerciseFile.js +10 -8
  330. package/es/utils/runner.js +17 -33
  331. package/package.json +15 -11
  332. package/cjs/_virtual/_rollupPluginBabelHelpers.js +0 -519
  333. package/cjs/components/index.js +0 -25
  334. package/cjs/components/locales/index.js +0 -13
  335. package/cjs/components/material-exercise/context/index.js +0 -57
  336. package/cjs/components/material-exercise/exercise-code-history/index.js +0 -7
  337. package/cjs/components/material-exercise/exercise-code-history/locales/index.js +0 -13
  338. package/cjs/components/material-exercise/exercise-file/index.js +0 -7
  339. package/cjs/components/material-exercise/exercise-file-editor/index.js +0 -7
  340. package/cjs/components/material-exercise/exercise-file-editor/locales/index.js +0 -13
  341. package/cjs/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/index.js +0 -7
  342. package/cjs/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/locales/index.js +0 -13
  343. package/cjs/components/material-exercise/exercise-file-tabs/index.js +0 -9
  344. package/cjs/components/material-exercise/exercise-file-tabs/locales/index.js +0 -13
  345. package/cjs/components/material-exercise/exercise-file-tree/index.js +0 -9
  346. package/cjs/components/material-exercise/exercise-file-tree/locales/index.js +0 -13
  347. package/cjs/components/material-exercise/exercise-file-viewer/index.js +0 -7
  348. package/cjs/components/material-exercise/exercise-menu/index.js +0 -7
  349. package/cjs/components/material-exercise/exercise-menu/locales/index.js +0 -13
  350. package/cjs/components/material-exercise/exercise-multilang-dropdown/index.js +0 -9
  351. package/cjs/components/material-exercise/exercise-preview/index.js +0 -7
  352. package/cjs/components/material-exercise/exercise-preview/locales/index.js +0 -13
  353. package/cjs/components/material-exercise/exercise-rightpane/index.js +0 -7
  354. package/cjs/components/material-exercise/exercise-rightpane/locales/index.js +0 -13
  355. package/cjs/components/material-exercise/exercise-room/helpers/index.js +0 -7
  356. package/cjs/components/material-exercise/exercise-room/index.js +0 -7
  357. package/cjs/components/material-exercise/exercise-room/locales/index.js +0 -13
  358. package/cjs/components/material-exercise/exercise-runner/index.js +0 -7
  359. package/cjs/components/material-exercise/exercise-runner/locales/index.js +0 -13
  360. package/cjs/components/material-exercise/exercise-submit-history/index.js +0 -7
  361. package/cjs/components/material-exercise/exercise-submit-history/locales/index.js +0 -13
  362. package/cjs/components/material-exercise/index.js +0 -9
  363. package/cjs/components/shared/exercise-menu-button/index.js +0 -7
  364. package/cjs/components/shared/exercise-shimmer/index.js +0 -15
  365. package/cjs/components/shared/exercise-version-list/index.js +0 -9
  366. package/cjs/components/shared/file-icon/index.js +0 -7
  367. package/cjs/components/shared/file-tabs/index.js +0 -7
  368. package/cjs/components/shared/file-tree/context/index.js +0 -9
  369. package/cjs/components/shared/file-tree/file-tree-toolbar/index.js +0 -7
  370. package/cjs/components/shared/file-tree/file-tree-toolbar/locales/index.js +0 -13
  371. package/cjs/components/shared/file-tree/index.js +0 -7
  372. package/cjs/components/shared/file-tree/locales/index.js +0 -13
  373. package/cjs/components/shared/file-tree/utils/index.js +0 -20
  374. package/cjs/components/shared/file-viewer/index.js +0 -7
  375. package/cjs/components/shared/file-viewer/locales/index.js +0 -21
  376. package/cjs/components/shared/material-modal/index.js +0 -7
  377. package/cjs/components/shared/monaco-editor/constants/index.js +0 -13
  378. package/cjs/components/shared/monaco-editor/constants/monaco/index.js +0 -11
  379. package/cjs/components/shared/monaco-editor/editor-hooks/index.js +0 -17
  380. package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/index.js +0 -11
  381. package/cjs/components/shared/monaco-editor/hooks/index.js +0 -7
  382. package/cjs/components/shared/monaco-editor/index.js +0 -21
  383. package/cjs/components/shared/monaco-editor/locales/index.js +0 -13
  384. package/cjs/components/shared/monaco-editor/utils/emmet/index.js +0 -9
  385. package/cjs/components/shared/monaco-editor/utils/index.js +0 -9
  386. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/index.js +0 -12
  387. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/index.js +0 -11
  388. package/cjs/components/shared/no-vnc/index.js +0 -7
  389. package/cjs/components/shared/preview-container/index.js +0 -9
  390. package/cjs/components/shared/web-browser/index.js +0 -7
  391. package/cjs/components/shared/xterm/index.js +0 -7
  392. package/cjs/components/shared/xterm/locales/index.js +0 -13
  393. package/cjs/constants/index.js +0 -7
  394. package/cjs/hooks/index.js +0 -20
  395. package/cjs/utils/index.js +0 -10
  396. package/es/_virtual/_rollupPluginBabelHelpers.js +0 -499
  397. package/es/components/index.js +0 -8
  398. package/es/components/locales/index.js +0 -4
  399. package/es/components/material-exercise/context/index.js +0 -5
  400. package/es/components/material-exercise/exercise-code-history/index.js +0 -1
  401. package/es/components/material-exercise/exercise-code-history/locales/index.js +0 -4
  402. package/es/components/material-exercise/exercise-file/index.js +0 -1
  403. package/es/components/material-exercise/exercise-file-editor/index.js +0 -1
  404. package/es/components/material-exercise/exercise-file-editor/locales/index.js +0 -4
  405. package/es/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/index.js +0 -1
  406. package/es/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/locales/index.js +0 -4
  407. package/es/components/material-exercise/exercise-file-tabs/index.js +0 -2
  408. package/es/components/material-exercise/exercise-file-tabs/locales/index.js +0 -4
  409. package/es/components/material-exercise/exercise-file-tree/index.js +0 -2
  410. package/es/components/material-exercise/exercise-file-tree/locales/index.js +0 -4
  411. package/es/components/material-exercise/exercise-file-viewer/index.js +0 -1
  412. package/es/components/material-exercise/exercise-menu/index.js +0 -1
  413. package/es/components/material-exercise/exercise-menu/locales/index.js +0 -4
  414. package/es/components/material-exercise/exercise-multilang-dropdown/index.js +0 -2
  415. package/es/components/material-exercise/exercise-preview/index.js +0 -1
  416. package/es/components/material-exercise/exercise-preview/locales/index.js +0 -4
  417. package/es/components/material-exercise/exercise-rightpane/index.js +0 -1
  418. package/es/components/material-exercise/exercise-rightpane/locales/index.js +0 -4
  419. package/es/components/material-exercise/exercise-room/helpers/index.js +0 -1
  420. package/es/components/material-exercise/exercise-room/index.js +0 -1
  421. package/es/components/material-exercise/exercise-room/locales/index.js +0 -4
  422. package/es/components/material-exercise/exercise-runner/index.js +0 -1
  423. package/es/components/material-exercise/exercise-runner/locales/index.js +0 -4
  424. package/es/components/material-exercise/exercise-submit-history/index.js +0 -1
  425. package/es/components/material-exercise/exercise-submit-history/locales/index.js +0 -4
  426. package/es/components/material-exercise/index.js +0 -2
  427. package/es/components/shared/exercise-menu-button/index.js +0 -1
  428. package/es/components/shared/exercise-shimmer/index.js +0 -5
  429. package/es/components/shared/exercise-version-list/index.js +0 -2
  430. package/es/components/shared/file-icon/index.js +0 -1
  431. package/es/components/shared/file-tabs/index.js +0 -1
  432. package/es/components/shared/file-tree/context/index.js +0 -1
  433. package/es/components/shared/file-tree/file-tree-toolbar/index.js +0 -1
  434. package/es/components/shared/file-tree/file-tree-toolbar/locales/index.js +0 -4
  435. package/es/components/shared/file-tree/index.js +0 -1
  436. package/es/components/shared/file-tree/locales/index.js +0 -4
  437. package/es/components/shared/file-tree/utils/index.js +0 -5
  438. package/es/components/shared/file-viewer/index.js +0 -1
  439. package/es/components/shared/file-viewer/locales/index.js +0 -8
  440. package/es/components/shared/material-modal/index.js +0 -1
  441. package/es/components/shared/monaco-editor/constants/index.js +0 -2
  442. package/es/components/shared/monaco-editor/constants/monaco/index.js +0 -1
  443. package/es/components/shared/monaco-editor/editor-hooks/index.js +0 -6
  444. package/es/components/shared/monaco-editor/editor-languages/typescript/dts/index.js +0 -3
  445. package/es/components/shared/monaco-editor/hooks/index.js +0 -1
  446. package/es/components/shared/monaco-editor/index.js +0 -6
  447. package/es/components/shared/monaco-editor/locales/index.js +0 -4
  448. package/es/components/shared/monaco-editor/utils/emmet/index.js +0 -1
  449. package/es/components/shared/monaco-editor/utils/index.js +0 -2
  450. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/index.js +0 -3
  451. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/index.js +0 -2
  452. package/es/components/shared/no-vnc/index.js +0 -1
  453. package/es/components/shared/preview-container/index.js +0 -1
  454. package/es/components/shared/web-browser/index.js +0 -1
  455. package/es/components/shared/xterm/index.js +0 -1
  456. package/es/components/shared/xterm/locales/index.js +0 -4
  457. package/es/constants/index.js +0 -1
  458. package/es/hooks/index.js +0 -7
  459. package/es/utils/index.js +0 -2
@@ -2,8 +2,6 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var _rollupPluginBabelHelpers = require('../../../_virtual/_rollupPluginBabelHelpers.js');
6
- var jsxRuntime = require('react/jsx-runtime');
7
5
  var React = require('react');
8
6
  var blocks = require('@elice/blocks');
9
7
  var icons = require('@elice/icons');
@@ -20,68 +18,52 @@ var ExerciseCodeHistory = require('../exercise-code-history/ExerciseCodeHistory.
20
18
  var ExerciseRoom = require('../exercise-room/ExerciseRoom.js');
21
19
  var ExerciseSubmitHistory = require('../exercise-submit-history/ExerciseSubmitHistory.js');
22
20
 
23
- function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
24
-
25
- var React__default = /*#__PURE__*/_interopDefaultCompat(React);
26
-
27
- var ExerciseMenuDropdown = function ExerciseMenuDropdown() {
28
- var intl$1 = intl.useRawEliceIntl();
29
- var _React$useContext = React__default.default.useContext(context.ExerciseContext),
30
- materialExerciseId = _React$useContext.materialExerciseId;
31
- var user = recoil.useRecoilValue(recoil$1.exerciseUserState);
32
- var exercise = recoil.useRecoilValue(recoil$1.exerciseState(materialExerciseId));
33
- var lecture = recoil.useRecoilValue(recoil$1.exerciseLectureState(exercise === null || exercise === void 0 ? void 0 : exercise._lectureId));
34
- var activeFilename = recoil.useRecoilValue(recoil$1.exerciseActiveFilenameState);
35
- var setRightpaneActiveState = recoil.useSetRecoilState(recoil$1.exerciseRightpaneActiveState);
36
- var _React$useState = React__default.default.useState(false),
37
- _React$useState2 = _rollupPluginBabelHelpers.slicedToArray(_React$useState, 2),
38
- isSubmitHistoryModalOpen = _React$useState2[0],
39
- setIsSubmitHistoryModalOpen = _React$useState2[1];
40
- var _React$useState3 = React__default.default.useState(false),
41
- _React$useState4 = _rollupPluginBabelHelpers.slicedToArray(_React$useState3, 2),
42
- isCodeHistoryModalOpen = _React$useState4[0],
43
- setIsCodeHistoryModalOpen = _React$useState4[1];
44
- var _React$useState5 = React__default.default.useState(false),
45
- _React$useState6 = _rollupPluginBabelHelpers.slicedToArray(_React$useState5, 2),
46
- isExerciseRoomModalOpen = _React$useState6[0],
47
- setIsExerciseRoomModalOpen = _React$useState6[1];
48
- var isLectureTestInProgress = typeof (lecture === null || lecture === void 0 ? void 0 : lecture.testAdmissionStatus) !== 'undefined' && lecture.testAdmissionStatus === types.enums.TestAdmissionStatus.InProgress;
21
+ const ExerciseMenuDropdown = () => {
22
+ const intl$1 = intl.useRawEliceIntl();
23
+ const {
24
+ materialExerciseId
25
+ } = React.useContext(context.ExerciseContext);
26
+ const user = recoil.useRecoilValue(recoil$1.exerciseUserState);
27
+ const exercise = recoil.useRecoilValue(recoil$1.exerciseState(materialExerciseId));
28
+ const lecture = recoil.useRecoilValue(recoil$1.exerciseLectureState(exercise === null || exercise === void 0 ? void 0 : exercise._lectureId));
29
+ const activeFilename = recoil.useRecoilValue(recoil$1.exerciseActiveFilenameState);
30
+ const setRightpaneActiveState = recoil.useSetRecoilState(recoil$1.exerciseRightpaneActiveState);
31
+ const [isSubmitHistoryModalOpen, setIsSubmitHistoryModalOpen] = React.useState(false);
32
+ const [isCodeHistoryModalOpen, setIsCodeHistoryModalOpen] = React.useState(false);
33
+ const [isExerciseRoomModalOpen, setIsExerciseRoomModalOpen] = React.useState(false);
34
+ const isLectureTestInProgress = typeof (lecture === null || lecture === void 0 ? void 0 : lecture.testAdmissionStatus) !== 'undefined' && lecture.testAdmissionStatus === types.enums.TestAdmissionStatus.InProgress;
49
35
  //
50
36
  // Runner Rooms Open Subscription
51
37
  //
52
- React__default.default.useEffect(function () {
53
- var runnerRoomsOpenSubscription = subjects.exerciseRunnerRoomsOpen$.subscribe(function () {
38
+ React.useEffect(() => {
39
+ const runnerRoomsOpenSubscription = subjects.exerciseRunnerRoomsOpen$.subscribe(() => {
54
40
  setIsExerciseRoomModalOpen(true);
55
41
  });
56
- return function () {
42
+ return () => {
57
43
  runnerRoomsOpenSubscription.unsubscribe();
58
44
  };
59
45
  }, []);
60
46
  /**
61
47
  *
62
48
  */
63
- var renderSumbitHistoryModal = function renderSumbitHistoryModal() {
49
+ const renderSumbitHistoryModal = () => {
64
50
  if (!isSubmitHistoryModalOpen) {
65
51
  return null;
66
52
  }
67
- return jsxRuntime.jsx(ExerciseSubmitHistory.default, {
68
- onHide: function onHide() {
69
- return setIsSubmitHistoryModalOpen(false);
70
- }
53
+ return React.createElement(ExerciseSubmitHistory.default, {
54
+ onHide: () => setIsSubmitHistoryModalOpen(false)
71
55
  });
72
56
  };
73
57
  /**
74
58
  *
75
59
  */
76
- var renderCodeHistoryModal = function renderCodeHistoryModal() {
60
+ const renderCodeHistoryModal = () => {
77
61
  if (!isCodeHistoryModalOpen) {
78
62
  return null;
79
63
  }
80
- return jsxRuntime.jsx(ExerciseCodeHistory.default, {
81
- onHide: function onHide() {
82
- return setIsCodeHistoryModalOpen(false);
83
- },
84
- onLoadVersionButtonClick: function onLoadVersionButtonClick(content) {
64
+ return React.createElement(ExerciseCodeHistory.default, {
65
+ onHide: () => setIsCodeHistoryModalOpen(false),
66
+ onLoadVersionButtonClick: content => {
85
67
  subjects.exerciseFileEditorContentChange$.next(content);
86
68
  setIsCodeHistoryModalOpen(false);
87
69
  }
@@ -90,72 +72,57 @@ var ExerciseMenuDropdown = function ExerciseMenuDropdown() {
90
72
  /**
91
73
  *
92
74
  */
93
- var renderExerciseRoomModal = function renderExerciseRoomModal() {
75
+ const renderExerciseRoomModal = () => {
94
76
  if (!isExerciseRoomModalOpen) {
95
77
  return null;
96
78
  }
97
- return jsxRuntime.jsx(ExerciseRoom.default, {
98
- onHide: function onHide() {
99
- return setIsExerciseRoomModalOpen(false);
100
- }
79
+ return React.createElement(ExerciseRoom.default, {
80
+ onHide: () => setIsExerciseRoomModalOpen(false)
101
81
  });
102
82
  };
103
83
  //
104
84
  //
105
85
  //
106
- return jsxRuntime.jsxs(jsxRuntime.Fragment, {
107
- children: [jsxRuntime.jsx(blocks.ButtonMenu, {
108
- menuItemProps: [{
109
- label: intl$1.formatMessage({
110
- id: 'exerciseMenu.dropdown.item.environment'
111
- }),
112
- onClick: function onClick() {
113
- return setRightpaneActiveState('environment');
114
- }
115
- }, {
116
- label: intl$1.formatMessage({
117
- id: 'exerciseMenu.dropdown.item.preference'
118
- }),
119
- onClick: function onClick() {
120
- return setRightpaneActiveState('preference');
121
- }
122
- }, {
123
- label: intl$1.formatMessage({
124
- id: 'exerciseMenu.dropdown.item.codeHistory'
125
- }),
126
- disabled: !user,
127
- onClick: function onClick() {
128
- return setIsCodeHistoryModalOpen(true);
129
- }
130
- }, {
131
- label: intl$1.formatMessage({
132
- id: 'exerciseMenu.dropdown.item.submitHistory'
133
- }),
134
- disabled: !user || !activeFilename,
135
- onClick: function onClick() {
136
- return setIsSubmitHistoryModalOpen(true);
137
- }
138
- }, {
139
- label: intl$1.formatMessage({
140
- id: 'exerciseMenu.dropdown.item.room'
141
- }),
142
- disabled: isLectureTestInProgress,
143
- onClick: function onClick() {
144
- return setIsExerciseRoomModalOpen(true);
145
- }
146
- }],
147
- size: "xsmall",
148
- placement: "bottom-end",
149
- dark: true,
150
- shadow: true,
151
- children: jsxRuntime.jsx(ExerciseMenuButton.default, {
152
- icon: icons.eilMoreVertical,
153
- title: intl$1.formatMessage({
154
- id: 'exerciseMenu.dropdown.button.tooltip'
155
- })
156
- })
157
- }), renderSumbitHistoryModal(), renderCodeHistoryModal(), renderExerciseRoomModal()]
158
- });
86
+ return React.createElement(React.Fragment, null, React.createElement(blocks.ButtonMenu, {
87
+ menuItemProps: [{
88
+ label: intl$1.formatMessage({
89
+ id: 'exerciseMenu.dropdown.item.environment'
90
+ }),
91
+ onClick: () => setRightpaneActiveState('environment')
92
+ }, {
93
+ label: intl$1.formatMessage({
94
+ id: 'exerciseMenu.dropdown.item.preference'
95
+ }),
96
+ onClick: () => setRightpaneActiveState('preference')
97
+ }, {
98
+ label: intl$1.formatMessage({
99
+ id: 'exerciseMenu.dropdown.item.codeHistory'
100
+ }),
101
+ disabled: !user,
102
+ onClick: () => setIsCodeHistoryModalOpen(true)
103
+ }, {
104
+ label: intl$1.formatMessage({
105
+ id: 'exerciseMenu.dropdown.item.submitHistory'
106
+ }),
107
+ disabled: !user || !activeFilename,
108
+ onClick: () => setIsSubmitHistoryModalOpen(true)
109
+ }, {
110
+ label: intl$1.formatMessage({
111
+ id: 'exerciseMenu.dropdown.item.room'
112
+ }),
113
+ disabled: isLectureTestInProgress,
114
+ onClick: () => setIsExerciseRoomModalOpen(true)
115
+ }],
116
+ size: "xsmall",
117
+ placement: "bottom-end",
118
+ dark: true,
119
+ shadow: true
120
+ }, React.createElement(ExerciseMenuButton.default, {
121
+ icon: icons.eilMoreVertical,
122
+ title: intl$1.formatMessage({
123
+ id: 'exerciseMenu.dropdown.button.tooltip'
124
+ })
125
+ })), renderSumbitHistoryModal(), renderCodeHistoryModal(), renderExerciseRoomModal());
159
126
  };
160
127
 
161
128
  exports.default = ExerciseMenuDropdown;
@@ -2,8 +2,6 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var _rollupPluginBabelHelpers = require('../../../_virtual/_rollupPluginBabelHelpers.js');
6
- var jsxRuntime = require('react/jsx-runtime');
7
5
  var React = require('react');
8
6
  var blocks = require('@elice/blocks');
9
7
  var icons = require('@elice/icons');
@@ -28,26 +26,23 @@ require('lodash/debounce');
28
26
  require('random-words');
29
27
  require('unicount');
30
28
 
31
- var ExerciseMenuReset = function ExerciseMenuReset() {
32
- var intl$1 = intl.useRawEliceIntl();
33
- var _useState = React.useState(false),
34
- _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
35
- isDialogOpen = _useState2[0],
36
- setDialogOpen = _useState2[1];
37
- var activeFilename = recoil.useRecoilValue(recoil$1.exerciseActiveFilenameState);
38
- var isFileResettable = useExerciseFile.useExerciseFileResettable(activeFilename);
29
+ const ExerciseMenuReset = () => {
30
+ const intl$1 = intl.useRawEliceIntl();
31
+ const [isDialogOpen, setDialogOpen] = React.useState(false);
32
+ const activeFilename = recoil.useRecoilValue(recoil$1.exerciseActiveFilenameState);
33
+ const isFileResettable = useExerciseFile.useExerciseFileResettable(activeFilename);
39
34
  /**
40
35
  * Reset the active file.
41
36
  */
42
- var handleReset = function handleReset() {
37
+ const handleReset = () => {
43
38
  subjects.exerciseFileEditorContentChange$.next(null);
44
39
  setDialogOpen(false);
45
40
  };
46
41
  /**
47
42
  * Reset button.
48
43
  */
49
- var renderResetButton = function renderResetButton() {
50
- return jsxRuntime.jsx(ExerciseMenuButton.default, {
44
+ const renderResetButton = () => {
45
+ return React.createElement(ExerciseMenuButton.default, {
51
46
  icon: icons.eilReset,
52
47
  active: isDialogOpen,
53
48
  title: isFileResettable ? intl$1.formatMessage({
@@ -56,21 +51,17 @@ var ExerciseMenuReset = function ExerciseMenuReset() {
56
51
  id: 'exerciseMenu.reset.button.tooltip.disabled'
57
52
  }),
58
53
  disabled: !isFileResettable,
59
- onClick: function onClick() {
60
- return setDialogOpen(function (isOpen) {
61
- return !isOpen;
62
- });
63
- }
54
+ onClick: () => setDialogOpen(isOpen => !isOpen)
64
55
  });
65
56
  };
66
57
  /**
67
58
  * Reset confirm dialog.
68
59
  */
69
- var renderResetConfirmDialog = function renderResetConfirmDialog() {
60
+ const renderResetConfirmDialog = () => {
70
61
  if (!isDialogOpen) {
71
62
  return null;
72
63
  }
73
- return jsxRuntime.jsxs(blocks.Dialog, {
64
+ return React.createElement(blocks.Dialog, {
74
65
  type: "warning",
75
66
  title: intl$1.formatMessage({
76
67
  id: 'exerciseMenu.reset.confirmDialog.title'
@@ -78,30 +69,21 @@ var ExerciseMenuReset = function ExerciseMenuReset() {
78
69
  body: intl$1.formatMessage({
79
70
  id: 'exerciseMenu.reset.confirmDialog.body'
80
71
  }),
81
- onHide: function onHide() {
82
- return setDialogOpen(false);
83
- },
84
- children: [jsxRuntime.jsx(blocks.Dialog.CloseButton, {
85
- onClick: function onClick() {
86
- return setDialogOpen(false);
87
- },
88
- children: intl$1.formatMessage({
89
- id: 'exerciseMenu.reset.confirmDialog.cancel'
90
- })
91
- }), jsxRuntime.jsx(blocks.Dialog.ActionButton, {
92
- onClick: handleReset,
93
- children: intl$1.formatMessage({
94
- id: 'exerciseMenu.reset.confirmDialog.confirm'
95
- })
96
- })]
97
- });
72
+ onHide: () => setDialogOpen(false)
73
+ }, React.createElement(blocks.Dialog.CloseButton, {
74
+ onClick: () => setDialogOpen(false)
75
+ }, intl$1.formatMessage({
76
+ id: 'exerciseMenu.reset.confirmDialog.cancel'
77
+ })), React.createElement(blocks.Dialog.ActionButton, {
78
+ onClick: handleReset
79
+ }, intl$1.formatMessage({
80
+ id: 'exerciseMenu.reset.confirmDialog.confirm'
81
+ })));
98
82
  };
99
83
  //
100
84
  //
101
85
  //
102
- return jsxRuntime.jsxs(jsxRuntime.Fragment, {
103
- children: [renderResetButton(), renderResetConfirmDialog()]
104
- });
86
+ return React.createElement(React.Fragment, null, renderResetButton(), renderResetConfirmDialog());
105
87
  };
106
88
 
107
89
  exports.default = ExerciseMenuReset;
@@ -2,8 +2,6 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var _rollupPluginBabelHelpers = require('../../../_virtual/_rollupPluginBabelHelpers.js');
6
- var jsxRuntime = require('react/jsx-runtime');
7
5
  var React = require('react');
8
6
  var blocks = require('@elice/blocks');
9
7
  var designTokens = require('@elice/design-tokens');
@@ -21,22 +19,15 @@ require('../context/subjects.js');
21
19
  require('../context/ExerciseProvider.js');
22
20
  var ExerciseMenuStdioFileBrowser_styled = require('./ExerciseMenuStdioFileBrowser.styled.js');
23
21
 
24
- function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
25
-
26
- var React__default = /*#__PURE__*/_interopDefaultCompat(React);
27
-
28
- var ExerciseMenuStdioFileBrowser = function ExerciseMenuStdioFileBrowser() {
29
- var intl$1 = intl.useRawEliceIntl();
30
- var _React$useState = React__default.default.useState(false),
31
- _React$useState2 = _rollupPluginBabelHelpers.slicedToArray(_React$useState, 2),
32
- open = _React$useState2[0],
33
- setOpen = _React$useState2[1];
34
- var anchorRef = React__default.default.useRef(null);
35
- var stdioFiles = recoil.useRecoilValue(recoil$1.exerciseRunnerStdioFilesState);
22
+ const ExerciseMenuStdioFileBrowser = () => {
23
+ const intl$1 = intl.useRawEliceIntl();
24
+ const [open, setOpen] = React.useState(false);
25
+ const anchorRef = React.useRef(null);
26
+ const stdioFiles = recoil.useRecoilValue(recoil$1.exerciseRunnerStdioFilesState);
36
27
  //
37
28
  // Open stdio file browser, on file changes.
38
29
  //
39
- React__default.default.useEffect(function () {
30
+ React.useEffect(() => {
40
31
  if (stdioFiles && stdioFiles.length > 0) {
41
32
  setOpen(true);
42
33
  }
@@ -46,174 +37,158 @@ var ExerciseMenuStdioFileBrowser = function ExerciseMenuStdioFileBrowser() {
46
37
  /**
47
38
  * Image type stdio file.
48
39
  */
49
- var renderStdioFileListItemImage = function renderStdioFileListItemImage(key, f) {
40
+ const renderStdioFileListItemImage = (key, f) => {
50
41
  var _a;
51
- var ext = (_a = f.mime) === null || _a === void 0 ? void 0 : _a.split('/').pop();
52
- var filename = ext ? "image_output.".concat(ext) : 'image_output';
53
- return jsxRuntime.jsxs(ExerciseMenuStdioFileBrowser_styled.StyledFilePopoverBodyListItem, {
54
- children: [jsxRuntime.jsx(ExerciseMenuStdioFileBrowser_styled.StyledFilePopoverBodyListItemContentImageWrap, {
55
- children: jsxRuntime.jsx(muiElements.ImageViewer, {
56
- children: jsxRuntime.jsx(ExerciseMenuStdioFileBrowser_styled.StyledFilePopoverBodyListItemContentImage, {
57
- src: f.data,
58
- alt: filename
59
- })
60
- })
61
- }), jsxRuntime.jsx(ExerciseMenuStdioFileBrowser_styled.StyledFilePopoverBodyListItemDownloadButton, {
62
- href: f.data,
63
- download: filename,
64
- children: jsxRuntime.jsx(blocks.Icon, {
65
- icon: icons.eilDownload
66
- })
67
- })]
68
- }, key);
42
+ const ext = (_a = f.mime) === null || _a === void 0 ? void 0 : _a.split('/').pop();
43
+ const filename = ext ? `image_output.${ext}` : 'image_output';
44
+ return React.createElement(ExerciseMenuStdioFileBrowser_styled.StyledFilePopoverBodyListItem, {
45
+ key: key
46
+ }, React.createElement(ExerciseMenuStdioFileBrowser_styled.StyledFilePopoverBodyListItemContentImageWrap, null, React.createElement(muiElements.ImageViewer, null, React.createElement(ExerciseMenuStdioFileBrowser_styled.StyledFilePopoverBodyListItemContentImage, {
47
+ src: f.data,
48
+ alt: filename
49
+ }))), React.createElement(ExerciseMenuStdioFileBrowser_styled.StyledFilePopoverBodyListItemDownloadButton, {
50
+ href: f.data,
51
+ download: filename
52
+ }, React.createElement(blocks.Icon, {
53
+ icon: icons.eilDownload
54
+ })));
69
55
  };
70
56
  /**
71
57
  * File type stdio file.
72
58
  */
73
- var renderStdioFileListFile = function renderStdioFileListFile(key, f) {
74
- var size = (f.data.length / 1024).toFixed(2);
75
- return jsxRuntime.jsxs(ExerciseMenuStdioFileBrowser_styled.StyledFilePopoverBodyListItem, {
76
- children: [jsxRuntime.jsxs(ExerciseMenuStdioFileBrowser_styled.StyledFilePopoverBodyListItemContentFile, {
77
- children: [jsxRuntime.jsx(blocks.Text, {
78
- children: f.filename,
79
- role: "white",
80
- size: "small"
81
- }), jsxRuntime.jsx(blocks.Text, {
82
- children: "".concat(size, " KB"),
83
- role: "gray4",
84
- size: "tiny"
85
- })]
86
- }), jsxRuntime.jsx(ExerciseMenuStdioFileBrowser_styled.StyledFilePopoverBodyListItemDownloadButton, {
87
- href: f.data,
88
- download: f.filename,
89
- children: jsxRuntime.jsx(blocks.Icon, {
90
- icon: icons.eilDownload
91
- })
92
- })]
93
- }, key);
59
+ const renderStdioFileListFile = (key, f) => {
60
+ const size = (f.data.length / 1024).toFixed(2);
61
+ return React.createElement(ExerciseMenuStdioFileBrowser_styled.StyledFilePopoverBodyListItem, {
62
+ key: key
63
+ }, React.createElement(ExerciseMenuStdioFileBrowser_styled.StyledFilePopoverBodyListItemContentFile, null, React.createElement(blocks.Text, {
64
+ children: f.filename,
65
+ role: "white",
66
+ size: "small"
67
+ }), React.createElement(blocks.Text, {
68
+ children: `${size} KB`,
69
+ role: "gray4",
70
+ size: "tiny"
71
+ })), React.createElement(ExerciseMenuStdioFileBrowser_styled.StyledFilePopoverBodyListItemDownloadButton, {
72
+ href: f.data,
73
+ download: f.filename
74
+ }, React.createElement(blocks.Icon, {
75
+ icon: icons.eilDownload
76
+ })));
94
77
  };
95
78
  /**
96
79
  * Empty list of stdio files.
97
80
  */
98
- var renderStdioFileListEmpty = function renderStdioFileListEmpty() {
99
- return jsxRuntime.jsxs(blocks.Flex, {
81
+ const renderStdioFileListEmpty = () => {
82
+ return React.createElement(blocks.Flex, {
100
83
  column: true,
101
84
  align: "center",
102
85
  width: "100%",
103
- paddingy: "1.5rem",
104
- children: [jsxRuntime.jsx(blocks.Icon, {
105
- icon: icons.eilFolder,
106
- size: "jumbo",
107
- color: designTokens.base.color.navy3
108
- }), jsxRuntime.jsx(blocks.Vspace, {
109
- height: 0.5
110
- }), jsxRuntime.jsx(material.Typography, {
111
- variant: "body2",
112
- textAlign: "center",
113
- color: color.DARK_TEXT_SECONDARY_COLOR,
114
- sx: {
115
- whiteSpace: 'pre-wrap'
116
- },
117
- children: intl$1.formatMessage({
118
- id: 'exerciseMenu.stdioFileBrowser.popover.body.placeholder'
119
- })
120
- })]
121
- });
86
+ paddingy: "1.5rem"
87
+ }, React.createElement(blocks.Icon, {
88
+ icon: icons.eilFolder,
89
+ size: "jumbo",
90
+ color: designTokens.base.color.navy3
91
+ }), React.createElement(blocks.Vspace, {
92
+ height: 0.5
93
+ }), React.createElement(material.Typography, {
94
+ variant: "body2",
95
+ textAlign: "center",
96
+ color: color.DARK_TEXT_SECONDARY_COLOR,
97
+ sx: {
98
+ whiteSpace: 'pre-wrap'
99
+ }
100
+ }, intl$1.formatMessage({
101
+ id: 'exerciseMenu.stdioFileBrowser.popover.body.placeholder'
102
+ })));
122
103
  };
123
104
  /**
124
105
  * List of stdio files.
125
106
  */
126
- var renderStdioFileList = function renderStdioFileList() {
107
+ const renderStdioFileList = () => {
127
108
  if (!stdioFiles || !stdioFiles.length) {
128
109
  return renderStdioFileListEmpty();
129
110
  }
130
- return jsxRuntime.jsx(ExerciseMenuStdioFileBrowser_styled.StyledFilePopoverBodyList, {
131
- children: stdioFiles.map(function (f, index) {
132
- switch (f.type) {
133
- case 'image':
134
- return renderStdioFileListItemImage(index, f);
135
- case 'file':
136
- return renderStdioFileListFile(index, f);
137
- default:
138
- return null;
139
- }
140
- })
141
- });
111
+ return React.createElement(ExerciseMenuStdioFileBrowser_styled.StyledFilePopoverBodyList, null, stdioFiles.map((f, index) => {
112
+ switch (f.type) {
113
+ case 'image':
114
+ return renderStdioFileListItemImage(index, f);
115
+ case 'file':
116
+ return renderStdioFileListFile(index, f);
117
+ default:
118
+ return null;
119
+ }
120
+ }));
142
121
  };
143
122
  /**
144
123
  * Popover header.
145
124
  */
146
- var renderStdioFilePopoverHeader = function renderStdioFilePopoverHeader() {
147
- return jsxRuntime.jsxs(ExerciseMenuStdioFileBrowser_styled.StyledFilePopoverHeader, {
148
- children: [jsxRuntime.jsxs(blocks.Flex, {
149
- align: "center",
150
- children: [jsxRuntime.jsx(blocks.Text, {
151
- role: "white",
152
- size: "small",
153
- bold: true,
154
- children: intl$1.formatMessage({
155
- id: 'exerciseMenu.stdioFileBrowser.popover.header'
156
- })
157
- }), jsxRuntime.jsx(blocks.Hspace, {
158
- width: 0.5
159
- }), jsxRuntime.jsx(blocks.NotificationCount, {
160
- role: "white",
161
- value: stdioFiles.length
162
- })]
163
- }), jsxRuntime.jsx(blocks.IconButton, {
164
- icon: icons.eilMathsignMultiplyBasic,
165
- role: "white",
166
- size: "micro",
167
- border: false,
168
- transparent: true,
169
- onClick: function onClick() {
170
- return setOpen(false);
171
- }
172
- })]
173
- });
125
+ const renderStdioFilePopoverHeader = () => {
126
+ return React.createElement(ExerciseMenuStdioFileBrowser_styled.StyledFilePopoverHeader, null, React.createElement(blocks.Flex, {
127
+ align: "center"
128
+ }, React.createElement(blocks.Text, {
129
+ role: "white",
130
+ size: "small",
131
+ bold: true
132
+ }, intl$1.formatMessage({
133
+ id: 'exerciseMenu.stdioFileBrowser.popover.header'
134
+ })), React.createElement(blocks.Hspace, {
135
+ width: 0.5
136
+ }), React.createElement(blocks.NotificationCount, {
137
+ role: "white",
138
+ value: stdioFiles.length
139
+ })), React.createElement(blocks.IconButton, {
140
+ icon: icons.eilMathsignMultiplyBasic,
141
+ role: "white",
142
+ size: "micro",
143
+ border: false,
144
+ transparent: true,
145
+ onClick: () => setOpen(false)
146
+ }));
174
147
  };
175
148
  /**
176
149
  * Popover body.
177
150
  */
178
- var renderStdioFilePopoverBody = function renderStdioFilePopoverBody() {
179
- return jsxRuntime.jsx(ExerciseMenuStdioFileBrowser_styled.StyledFilePopoverBody, {
151
+ const renderStdioFilePopoverBody = () => {
152
+ return React.createElement(ExerciseMenuStdioFileBrowser_styled.StyledFilePopoverBody, {
180
153
  children: renderStdioFileList()
181
154
  });
182
155
  };
183
156
  /**
184
157
  * Popover.
185
158
  */
186
- var renderStdioFilePopover = function renderStdioFilePopover() {
187
- if (open) {
188
- return jsxRuntime.jsxs(ExerciseMenuStdioFileBrowser_styled.StyledFilePopoverContent, {
189
- children: [renderStdioFilePopoverHeader(), renderStdioFilePopoverBody()]
190
- });
191
- }
192
- return null;
159
+ const renderStdioFilePopover = () => {
160
+ return React.createElement(blocks.Popover, {
161
+ open: open,
162
+ anchorEl: anchorRef.current,
163
+ placement: "bottom-end",
164
+ // lower than community floating button
165
+ // - ref : https://elicer.atlassian.net/browse/IP-2987
166
+ style: {
167
+ zIndex: 9
168
+ }
169
+ }, React.createElement(ExerciseMenuStdioFileBrowser_styled.StyledFilePopoverContent, null, renderStdioFilePopoverHeader(), renderStdioFilePopoverBody()));
193
170
  };
194
- //
195
- //
196
- //
197
- return jsxRuntime.jsxs(material.Stack, {
198
- position: "relative",
199
- children: [jsxRuntime.jsx(ExerciseMenuButton.default, {
171
+ /**
172
+ * Popover toggle button.
173
+ */
174
+ const renderStdioFilePopoverToggleButton = () => {
175
+ return React.createElement(ExerciseMenuButton.default, {
200
176
  icon: icons.eilAttachment,
201
177
  active: open,
202
178
  title: intl$1.formatMessage({
203
179
  id: 'exerciseMenu.stdioFileBrowser.button.tooltip'
204
180
  }),
205
- onClick: function onClick() {
206
- return setOpen(function (prev) {
207
- return !prev;
208
- });
209
- },
210
- ref: anchorRef,
211
- children: jsxRuntime.jsx(ExerciseMenuStdioFileBrowser_styled.StyledMenuButtonFileCount, {
212
- role: "white",
213
- value: stdioFiles.length
214
- })
215
- }), renderStdioFilePopover()]
216
- });
181
+ onClick: () => setOpen(prev => !prev),
182
+ ref: anchorRef
183
+ }, React.createElement(ExerciseMenuStdioFileBrowser_styled.StyledMenuButtonFileCount, {
184
+ role: "white",
185
+ value: stdioFiles.length
186
+ }));
187
+ };
188
+ //
189
+ //
190
+ //
191
+ return React.createElement(React.Fragment, null, renderStdioFilePopover(), renderStdioFilePopoverToggleButton());
217
192
  };
218
193
 
219
194
  exports.default = ExerciseMenuStdioFileBrowser;