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