@elice/material-exercise 1.230328.0 → 1.230418.1

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 (369) hide show
  1. package/cjs/_virtual/_rollupPluginBabelHelpers.js +526 -0
  2. package/cjs/components/material-exercise/MaterialExercise.js +44 -63
  3. package/cjs/components/material-exercise/MaterialExercise.styled.js +20 -23
  4. package/cjs/components/material-exercise/MaterialExerciseMobile.js +19 -15
  5. package/cjs/components/material-exercise/context/ExerciseIntlProvider.js +9 -13
  6. package/cjs/components/material-exercise/context/ExerciseProvider.js +83 -81
  7. package/cjs/components/material-exercise/context/ExerciseProviderNoImage.js +16 -16
  8. package/cjs/components/material-exercise/context/context.js +1 -1
  9. package/cjs/components/material-exercise/context/locales/noImage.en.json.js +3 -1
  10. package/cjs/components/material-exercise/context/locales/noImage.ko.json.js +3 -1
  11. package/cjs/components/material-exercise/context/recoil.js +559 -371
  12. package/cjs/components/material-exercise/context/recoilTypes.js +0 -5
  13. package/cjs/components/material-exercise/context/subjects.js +3 -6
  14. package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.d.ts +2 -2
  15. package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.js +78 -65
  16. package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.js +8 -8
  17. package/cjs/components/material-exercise/exercise-code-history/locales/en.json.js +7 -0
  18. package/cjs/components/material-exercise/exercise-code-history/locales/ko.json.js +7 -0
  19. package/cjs/components/material-exercise/exercise-file/ExerciseFile.js +20 -21
  20. package/cjs/components/material-exercise/exercise-file-editor/ExerciseFileEditor.js +225 -198
  21. package/cjs/components/material-exercise/exercise-file-editor/ExerciseFileReadOnlyBanner.js +8 -10
  22. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabs.js +35 -32
  23. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabsFileTreeButton.js +57 -48
  24. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.js +6 -4
  25. package/cjs/components/material-exercise/exercise-file-tabs/locales/fileTreeButton.en.json.js +3 -1
  26. package/cjs/components/material-exercise/exercise-file-tabs/locales/fileTreeButton.ko.json.js +3 -1
  27. package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTree.js +327 -231
  28. package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.js +6 -4
  29. package/cjs/components/material-exercise/exercise-file-tree/locales/en.json.js +3 -1
  30. package/cjs/components/material-exercise/exercise-file-tree/locales/ko.json.js +3 -1
  31. package/cjs/components/material-exercise/exercise-file-viewer/ExerciseFileViewer.js +17 -17
  32. package/cjs/components/material-exercise/exercise-menu/ExerciseMenu.js +13 -14
  33. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.js +6 -6
  34. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.js +47 -38
  35. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuDropdown.js +60 -42
  36. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuReset.js +29 -22
  37. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.js +45 -56
  38. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.js +12 -12
  39. package/cjs/components/material-exercise/exercise-menu/locales/en.json.js +3 -1
  40. package/cjs/components/material-exercise/exercise-menu/locales/ko.json.js +3 -1
  41. package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdown.js +28 -20
  42. package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.js +5 -3
  43. package/cjs/components/material-exercise/exercise-preview/ExercisePreview.js +30 -41
  44. package/cjs/components/material-exercise/exercise-preview/ExercisePreviewDisplayModeButton.js +17 -12
  45. package/cjs/components/material-exercise/exercise-preview/locales/en.json.js +3 -1
  46. package/cjs/components/material-exercise/exercise-preview/locales/ko.json.js +3 -1
  47. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpane.js +24 -33
  48. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpaneEditorPerference.js +13 -8
  49. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpaneEnvironment.js +84 -83
  50. package/cjs/components/material-exercise/exercise-rightpane/locales/en.json.js +3 -1
  51. package/cjs/components/material-exercise/exercise-rightpane/locales/ko.json.js +3 -1
  52. package/cjs/components/material-exercise/exercise-room/ExerciseRoom.js +20 -12
  53. package/cjs/components/material-exercise/exercise-room/ExerciseRoom.styled.js +14 -12
  54. package/cjs/components/material-exercise/exercise-room/ExerciseRoomDetail.js +239 -147
  55. package/cjs/components/material-exercise/exercise-room/ExerciseRoomList.js +92 -63
  56. package/cjs/components/material-exercise/exercise-room/helpers/exerciseRoomPermissionStringConvertor.js +2 -8
  57. package/cjs/components/material-exercise/exercise-room/locales/en.json.js +3 -1
  58. package/cjs/components/material-exercise/exercise-room/locales/ko.json.js +3 -1
  59. package/cjs/components/material-exercise/exercise-runner/ExerciseRunner.js +219 -220
  60. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerContext.js +1 -1
  61. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerController.js +13 -13
  62. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.js +30 -26
  63. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.js +26 -26
  64. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js +70 -95
  65. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.js +27 -27
  66. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerRunningInfo.js +54 -60
  67. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusIndicator.js +5 -5
  68. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusMessage.js +10 -13
  69. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerTimer.js +29 -26
  70. package/cjs/components/material-exercise/exercise-runner/locales/en.json.js +3 -1
  71. package/cjs/components/material-exercise/exercise-runner/locales/ko.json.js +3 -1
  72. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.d.ts +2 -2
  73. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.js +290 -180
  74. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.styled.js +8 -8
  75. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistoryOutput.js +41 -45
  76. package/cjs/components/material-exercise/exercise-submit-history/locales/en.json.js +7 -0
  77. package/cjs/components/material-exercise/exercise-submit-history/locales/ko.json.js +7 -0
  78. package/cjs/components/shared/exercise-menu-button/ExerciseMenuButton.js +19 -17
  79. package/cjs/components/shared/exercise-shimmer/ExerciseFileShimmer.js +5 -4
  80. package/cjs/components/shared/exercise-shimmer/ExerciseFileTabShimmer.js +15 -14
  81. package/cjs/components/shared/exercise-shimmer/ExerciseFileTabsShimmer.js +7 -6
  82. package/cjs/components/shared/exercise-shimmer/ExerciseFileTreeListItemShimmer.js +17 -16
  83. package/cjs/components/shared/exercise-shimmer/ExerciseFileTreeListShimmer.js +18 -11
  84. package/cjs/components/shared/exercise-version-list/ExerciseVersionList.js +5 -4
  85. package/cjs/components/shared/exercise-version-list/ExerciseVersionList.styled.js +1 -1
  86. package/cjs/components/shared/exercise-version-list/ExerciseVersionListItem.js +8 -7
  87. package/cjs/components/shared/exercise-version-list/ExerciseVersionListItem.styled.js +9 -5
  88. package/cjs/components/shared/file-icon/FileIcon.js +23 -23
  89. package/cjs/components/shared/file-tabs/FileTab.js +32 -43
  90. package/cjs/components/shared/file-tabs/FileTab.styled.js +26 -22
  91. package/cjs/components/shared/file-tabs/FileTabs.js +55 -49
  92. package/cjs/components/shared/file-tabs/FileTabs.styled.js +2 -2
  93. package/cjs/components/shared/file-tabs/util.js +29 -18
  94. package/cjs/components/shared/file-tree/FileTree.js +11 -11
  95. package/cjs/components/shared/file-tree/FileTreeConfig.js +24 -23
  96. package/cjs/components/shared/file-tree/FileTreeList.js +35 -41
  97. package/cjs/components/shared/file-tree/FileTreeListItemContent.js +75 -91
  98. package/cjs/components/shared/file-tree/FileTreeListItemContent.styled.js +29 -40
  99. package/cjs/components/shared/file-tree/FileTreeListItemContentInput.js +77 -101
  100. package/cjs/components/shared/file-tree/FileTreeListItemContentInput.styled.js +6 -6
  101. package/cjs/components/shared/file-tree/FileTreeListItemContentMenu.js +51 -86
  102. package/cjs/components/shared/file-tree/FileTreeListItems.js +150 -153
  103. package/cjs/components/shared/file-tree/FileTreeListItems.styled.js +2 -2
  104. package/cjs/components/shared/file-tree/FileTreeToolbar.js +30 -41
  105. package/cjs/components/shared/file-tree/FileTreeToolbar.styled.js +1 -1
  106. package/cjs/components/shared/file-tree/context/FileTreeContext.js +91 -97
  107. package/cjs/components/shared/file-tree/locales/en.json.js +3 -1
  108. package/cjs/components/shared/file-tree/locales/ko.json.js +3 -1
  109. package/cjs/components/shared/file-tree/utils/fileTreeFiles.js +20 -22
  110. package/cjs/components/shared/file-tree/utils/fileTreeGenerator.js +193 -173
  111. package/cjs/components/shared/file-tree/utils/fileTreeInput.js +0 -1
  112. package/cjs/components/shared/file-tree/utils/fileTreeItem.js +1 -1
  113. package/cjs/components/shared/file-tree/utils/fileTreePath.js +5 -7
  114. package/cjs/components/shared/file-viewer/FileViewer.js +59 -60
  115. package/cjs/components/shared/file-viewer/FileViewerCsv.js +145 -101
  116. package/cjs/components/shared/file-viewer/FileViewerImage.js +7 -8
  117. package/cjs/components/shared/file-viewer/FileViewerIpynb.js +20 -14
  118. package/cjs/components/shared/file-viewer/FileViewerNonViewable.js +28 -34
  119. package/cjs/components/shared/file-viewer/FileViewerText.js +23 -16
  120. package/cjs/components/shared/file-viewer/locales/en.json.js +3 -1
  121. package/cjs/components/shared/file-viewer/locales/ko.json.js +3 -1
  122. package/cjs/components/shared/file-viewer/locales/nonViewable.en.json.js +3 -1
  123. package/cjs/components/shared/file-viewer/locales/nonViewable.ko.json.js +3 -1
  124. package/cjs/components/shared/material-modal/MaterialModal.js +10 -12
  125. package/cjs/components/shared/material-modal/MaterialModal.styled.js +5 -5
  126. package/cjs/components/shared/monaco-editor/MonacoEditor.js +123 -149
  127. package/cjs/components/shared/monaco-editor/MonacoEditorLazy.js +10 -8
  128. package/cjs/components/shared/monaco-editor/MonacoEditorMobile.js +49 -58
  129. package/cjs/components/shared/monaco-editor/MonacoEditorPerferenceForm.js +78 -85
  130. package/cjs/components/shared/monaco-editor/constants/grammars/index.js +131 -52
  131. package/cjs/components/shared/monaco-editor/constants/monaco/preferences.js +5 -9
  132. package/cjs/components/shared/monaco-editor/constants/themes/index.js +80 -32
  133. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventChange.js +10 -13
  134. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventCursor.js +14 -18
  135. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventScroll.js +8 -9
  136. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoMarkers.js +54 -72
  137. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoOptions.js +14 -15
  138. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoTheme.js +8 -9
  139. package/cjs/components/shared/monaco-editor/editor-languages/css/formatter.js +36 -12
  140. package/cjs/components/shared/monaco-editor/editor-languages/css/index.js +5 -8
  141. package/cjs/components/shared/monaco-editor/editor-languages/html/formatter.js +36 -12
  142. package/cjs/components/shared/monaco-editor/editor-languages/html/index.js +3 -6
  143. package/cjs/components/shared/monaco-editor/editor-languages/index.js +3 -1
  144. package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/_helper.js +1 -1
  145. package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/express.js +3 -2
  146. package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/propTypes.js +3 -2
  147. package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/react.js +3 -2
  148. package/cjs/components/shared/monaco-editor/editor-languages/typescript/formatter.js +36 -12
  149. package/cjs/components/shared/monaco-editor/editor-languages/typescript/index.js +18 -24
  150. package/cjs/components/shared/monaco-editor/hooks/useEditorOptions.js +12 -9
  151. package/cjs/components/shared/monaco-editor/locales/en.json.js +3 -1
  152. package/cjs/components/shared/monaco-editor/locales/ko.json.js +3 -1
  153. package/cjs/components/shared/monaco-editor/utils/emmet/abbreviationActions.js +18 -28
  154. package/cjs/components/shared/monaco-editor/utils/emmet/emmet.js +0 -3
  155. package/cjs/components/shared/monaco-editor/utils/emmet/registerProvider.js +12 -8
  156. package/cjs/components/shared/monaco-editor/utils/grammar/index.js +70 -32
  157. package/cjs/components/shared/monaco-editor/utils/grammar/onigasm.js +25 -7
  158. package/cjs/components/shared/monaco-editor/utils/grammar/textmate.js +67 -43
  159. package/cjs/components/shared/monaco-editor/utils/monacoLanguage.js +9 -19
  160. package/cjs/components/shared/monaco-editor/utils/monacoPreference.js +6 -5
  161. package/cjs/components/shared/monaco-editor/utils/prettier/config.js +2 -3
  162. package/cjs/components/shared/monaco-editor/utils/prettier/index.js +30 -9
  163. package/cjs/components/shared/monaco-editor/utils/theme/convert.js +20 -26
  164. package/cjs/components/shared/monaco-editor/utils/theme/index.js +22 -5
  165. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursor.js +77 -75
  166. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorManager.js +82 -93
  167. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorWidget.js +125 -135
  168. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelection.js +148 -160
  169. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelectionManager.js +104 -118
  170. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/styles.js +2 -2
  171. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/configCompat.js +1 -3
  172. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/data.js +2 -3
  173. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/emmetHelper.js +218 -329
  174. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/utils.js +3 -6
  175. package/cjs/components/shared/no-vnc/NoVnc.js +93 -90
  176. package/cjs/components/shared/no-vnc/NoVncLazy.js +7 -5
  177. package/cjs/components/shared/preview-container/PreviewContainer.js +7 -10
  178. package/cjs/components/shared/web-browser/WebBrowser.js +54 -59
  179. package/cjs/components/shared/xterm/Xterm.js +112 -105
  180. package/cjs/components/shared/xterm/XtermLazy.js +7 -5
  181. package/cjs/components/shared/xterm/locales/en.json.js +3 -1
  182. package/cjs/components/shared/xterm/locales/ko.json.js +3 -1
  183. package/cjs/constants/arduino.js +10 -10
  184. package/cjs/constants/shortcutKeyMap.js +5 -5
  185. package/cjs/constants/stylesheets.js +7 -10
  186. package/cjs/hooks/useArduino.js +327 -255
  187. package/cjs/hooks/useExerciseFile.js +24 -24
  188. package/cjs/hooks/useExericseShortcut.js +6 -5
  189. package/cjs/hooks/useMaterialExerciseFileUrl.js +54 -37
  190. package/cjs/hooks/useRunnerRoomWebSocket.js +58 -56
  191. package/cjs/hooks/useStdioTextConcator.js +18 -12
  192. package/cjs/hooks/useStdioWebSocket.js +41 -67
  193. package/cjs/hooks/useUsercodeEditWebSocket.js +230 -252
  194. package/cjs/hooks/useUsercodeHistory.js +121 -82
  195. package/cjs/index.js +4 -4
  196. package/cjs/utils/arduino.js +23 -25
  197. package/cjs/utils/exerciseFile.js +8 -16
  198. package/cjs/utils/runner.js +29 -25
  199. package/es/_virtual/_rollupPluginBabelHelpers.js +504 -0
  200. package/es/components/material-exercise/MaterialExercise.js +33 -54
  201. package/es/components/material-exercise/MaterialExercise.styled.js +20 -23
  202. package/es/components/material-exercise/MaterialExerciseMobile.js +15 -13
  203. package/es/components/material-exercise/context/ExerciseIntlProvider.js +9 -13
  204. package/es/components/material-exercise/context/ExerciseProvider.js +79 -79
  205. package/es/components/material-exercise/context/ExerciseProviderNoImage.js +11 -13
  206. package/es/components/material-exercise/context/context.js +1 -1
  207. package/es/components/material-exercise/context/recoil.js +560 -372
  208. package/es/components/material-exercise/context/recoilTypes.js +0 -5
  209. package/es/components/material-exercise/context/subjects.js +3 -6
  210. package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.d.ts +2 -2
  211. package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.js +73 -62
  212. package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.js +8 -8
  213. package/es/components/material-exercise/exercise-code-history/locales/en.json.js +3 -0
  214. package/es/components/material-exercise/exercise-code-history/locales/ko.json.js +3 -0
  215. package/es/components/material-exercise/exercise-file/ExerciseFile.js +15 -18
  216. package/es/components/material-exercise/exercise-file-editor/ExerciseFileEditor.js +218 -193
  217. package/es/components/material-exercise/exercise-file-editor/ExerciseFileReadOnlyBanner.js +5 -9
  218. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabs.js +31 -28
  219. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabsFileTreeButton.js +52 -45
  220. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.js +1 -1
  221. package/es/components/material-exercise/exercise-file-tree/ExerciseFileTree.js +321 -225
  222. package/es/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.js +1 -1
  223. package/es/components/material-exercise/exercise-file-viewer/ExerciseFileViewer.js +12 -14
  224. package/es/components/material-exercise/exercise-menu/ExerciseMenu.js +7 -10
  225. package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.js +3 -5
  226. package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.js +43 -36
  227. package/es/components/material-exercise/exercise-menu/ExerciseMenuDropdown.js +53 -37
  228. package/es/components/material-exercise/exercise-menu/ExerciseMenuReset.js +25 -20
  229. package/es/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.js +41 -54
  230. package/es/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.js +12 -12
  231. package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdown.js +25 -19
  232. package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.js +1 -1
  233. package/es/components/material-exercise/exercise-preview/ExercisePreview.js +21 -34
  234. package/es/components/material-exercise/exercise-preview/ExercisePreviewDisplayModeButton.js +13 -10
  235. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpane.js +17 -28
  236. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpaneEditorPerference.js +9 -6
  237. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpaneEnvironment.js +81 -82
  238. package/es/components/material-exercise/exercise-room/ExerciseRoom.js +13 -7
  239. package/es/components/material-exercise/exercise-room/ExerciseRoom.styled.js +14 -12
  240. package/es/components/material-exercise/exercise-room/ExerciseRoomDetail.js +236 -146
  241. package/es/components/material-exercise/exercise-room/ExerciseRoomList.js +90 -63
  242. package/es/components/material-exercise/exercise-room/helpers/exerciseRoomPermissionStringConvertor.js +2 -8
  243. package/es/components/material-exercise/exercise-runner/ExerciseRunner.js +212 -215
  244. package/es/components/material-exercise/exercise-runner/ExerciseRunnerContext.js +1 -1
  245. package/es/components/material-exercise/exercise-runner/ExerciseRunnerController.js +7 -9
  246. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.js +27 -25
  247. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.js +22 -24
  248. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js +66 -93
  249. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.js +24 -26
  250. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerRunningInfo.js +51 -59
  251. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusIndicator.js +2 -4
  252. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusMessage.js +6 -11
  253. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerTimer.js +26 -25
  254. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.d.ts +2 -2
  255. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.js +284 -174
  256. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.styled.js +8 -8
  257. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistoryOutput.js +38 -44
  258. package/es/components/material-exercise/exercise-submit-history/locales/en.json.js +3 -0
  259. package/es/components/material-exercise/exercise-submit-history/locales/ko.json.js +3 -0
  260. package/es/components/shared/exercise-menu-button/ExerciseMenuButton.js +16 -16
  261. package/es/components/shared/exercise-shimmer/ExerciseFileShimmer.js +2 -3
  262. package/es/components/shared/exercise-shimmer/ExerciseFileTabShimmer.js +12 -13
  263. package/es/components/shared/exercise-shimmer/ExerciseFileTabsShimmer.js +2 -3
  264. package/es/components/shared/exercise-shimmer/ExerciseFileTreeListItemShimmer.js +14 -15
  265. package/es/components/shared/exercise-shimmer/ExerciseFileTreeListShimmer.js +15 -10
  266. package/es/components/shared/exercise-version-list/ExerciseVersionList.js +2 -3
  267. package/es/components/shared/exercise-version-list/ExerciseVersionList.styled.js +1 -1
  268. package/es/components/shared/exercise-version-list/ExerciseVersionListItem.js +5 -6
  269. package/es/components/shared/exercise-version-list/ExerciseVersionListItem.styled.js +9 -5
  270. package/es/components/shared/file-icon/FileIcon.js +20 -22
  271. package/es/components/shared/file-tabs/FileTab.js +28 -41
  272. package/es/components/shared/file-tabs/FileTab.styled.js +26 -22
  273. package/es/components/shared/file-tabs/FileTabs.js +52 -48
  274. package/es/components/shared/file-tabs/FileTabs.styled.js +2 -2
  275. package/es/components/shared/file-tabs/util.js +29 -18
  276. package/es/components/shared/file-tree/FileTree.js +3 -5
  277. package/es/components/shared/file-tree/FileTreeConfig.js +21 -22
  278. package/es/components/shared/file-tree/FileTreeList.js +31 -39
  279. package/es/components/shared/file-tree/FileTreeListItemContent.js +67 -85
  280. package/es/components/shared/file-tree/FileTreeListItemContent.styled.js +29 -40
  281. package/es/components/shared/file-tree/FileTreeListItemContentInput.js +74 -100
  282. package/es/components/shared/file-tree/FileTreeListItemContentInput.styled.js +6 -6
  283. package/es/components/shared/file-tree/FileTreeListItemContentMenu.js +48 -85
  284. package/es/components/shared/file-tree/FileTreeListItems.js +147 -152
  285. package/es/components/shared/file-tree/FileTreeListItems.styled.js +2 -2
  286. package/es/components/shared/file-tree/FileTreeToolbar.js +24 -37
  287. package/es/components/shared/file-tree/FileTreeToolbar.styled.js +1 -1
  288. package/es/components/shared/file-tree/context/FileTreeContext.js +91 -97
  289. package/es/components/shared/file-tree/utils/fileTreeFiles.js +20 -22
  290. package/es/components/shared/file-tree/utils/fileTreeGenerator.js +193 -173
  291. package/es/components/shared/file-tree/utils/fileTreeInput.js +0 -1
  292. package/es/components/shared/file-tree/utils/fileTreeItem.js +1 -1
  293. package/es/components/shared/file-tree/utils/fileTreePath.js +5 -7
  294. package/es/components/shared/file-viewer/FileViewer.js +52 -53
  295. package/es/components/shared/file-viewer/FileViewerCsv.js +141 -99
  296. package/es/components/shared/file-viewer/FileViewerImage.js +3 -6
  297. package/es/components/shared/file-viewer/FileViewerIpynb.js +16 -12
  298. package/es/components/shared/file-viewer/FileViewerNonViewable.js +22 -30
  299. package/es/components/shared/file-viewer/FileViewerText.js +18 -13
  300. package/es/components/shared/material-modal/MaterialModal.js +7 -11
  301. package/es/components/shared/material-modal/MaterialModal.styled.js +5 -5
  302. package/es/components/shared/monaco-editor/MonacoEditor.js +119 -147
  303. package/es/components/shared/monaco-editor/MonacoEditorLazy.js +6 -4
  304. package/es/components/shared/monaco-editor/MonacoEditorMobile.js +45 -56
  305. package/es/components/shared/monaco-editor/MonacoEditorPerferenceForm.js +73 -82
  306. package/es/components/shared/monaco-editor/constants/grammars/index.js +131 -52
  307. package/es/components/shared/monaco-editor/constants/monaco/preferences.js +5 -9
  308. package/es/components/shared/monaco-editor/constants/themes/index.js +80 -32
  309. package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventChange.js +10 -13
  310. package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventCursor.js +14 -18
  311. package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventScroll.js +8 -9
  312. package/es/components/shared/monaco-editor/editor-hooks/useMonacoMarkers.js +54 -72
  313. package/es/components/shared/monaco-editor/editor-hooks/useMonacoOptions.js +14 -15
  314. package/es/components/shared/monaco-editor/editor-hooks/useMonacoTheme.js +8 -9
  315. package/es/components/shared/monaco-editor/editor-languages/css/formatter.js +33 -11
  316. package/es/components/shared/monaco-editor/editor-languages/css/index.js +2 -5
  317. package/es/components/shared/monaco-editor/editor-languages/html/formatter.js +33 -11
  318. package/es/components/shared/monaco-editor/editor-languages/html/index.js +2 -5
  319. package/es/components/shared/monaco-editor/editor-languages/typescript/dts/_helper.js +1 -1
  320. package/es/components/shared/monaco-editor/editor-languages/typescript/dts/express.js +0 -1
  321. package/es/components/shared/monaco-editor/editor-languages/typescript/dts/propTypes.js +0 -1
  322. package/es/components/shared/monaco-editor/editor-languages/typescript/dts/react.js +0 -1
  323. package/es/components/shared/monaco-editor/editor-languages/typescript/formatter.js +33 -11
  324. package/es/components/shared/monaco-editor/editor-languages/typescript/index.js +10 -16
  325. package/es/components/shared/monaco-editor/hooks/useEditorOptions.js +12 -9
  326. package/es/components/shared/monaco-editor/utils/emmet/abbreviationActions.js +18 -28
  327. package/es/components/shared/monaco-editor/utils/emmet/emmet.js +0 -3
  328. package/es/components/shared/monaco-editor/utils/emmet/registerProvider.js +12 -8
  329. package/es/components/shared/monaco-editor/utils/grammar/index.js +67 -31
  330. package/es/components/shared/monaco-editor/utils/grammar/onigasm.js +25 -7
  331. package/es/components/shared/monaco-editor/utils/grammar/textmate.js +67 -43
  332. package/es/components/shared/monaco-editor/utils/monacoLanguage.js +9 -19
  333. package/es/components/shared/monaco-editor/utils/monacoPreference.js +6 -5
  334. package/es/components/shared/monaco-editor/utils/prettier/config.js +2 -3
  335. package/es/components/shared/monaco-editor/utils/prettier/index.js +27 -8
  336. package/es/components/shared/monaco-editor/utils/theme/convert.js +20 -26
  337. package/es/components/shared/monaco-editor/utils/theme/index.js +22 -5
  338. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursor.js +77 -75
  339. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorManager.js +82 -93
  340. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorWidget.js +125 -135
  341. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelection.js +148 -160
  342. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelectionManager.js +104 -118
  343. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/styles.js +2 -2
  344. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/configCompat.js +1 -3
  345. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/data.js +2 -3
  346. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/emmetHelper.js +219 -330
  347. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/utils.js +3 -6
  348. package/es/components/shared/no-vnc/NoVnc.js +89 -88
  349. package/es/components/shared/no-vnc/NoVncLazy.js +4 -2
  350. package/es/components/shared/preview-container/PreviewContainer.js +7 -10
  351. package/es/components/shared/web-browser/WebBrowser.js +49 -56
  352. package/es/components/shared/xterm/Xterm.js +107 -102
  353. package/es/components/shared/xterm/XtermLazy.js +4 -2
  354. package/es/constants/arduino.js +10 -10
  355. package/es/constants/shortcutKeyMap.js +3 -5
  356. package/es/constants/stylesheets.js +7 -10
  357. package/es/hooks/useArduino.js +327 -255
  358. package/es/hooks/useExerciseFile.js +24 -24
  359. package/es/hooks/useExericseShortcut.js +6 -5
  360. package/es/hooks/useMaterialExerciseFileUrl.js +55 -38
  361. package/es/hooks/useRunnerRoomWebSocket.js +58 -56
  362. package/es/hooks/useStdioTextConcator.js +18 -12
  363. package/es/hooks/useStdioWebSocket.js +41 -67
  364. package/es/hooks/useUsercodeEditWebSocket.js +230 -252
  365. package/es/hooks/useUsercodeHistory.js +122 -83
  366. package/es/utils/arduino.js +23 -25
  367. package/es/utils/exerciseFile.js +8 -16
  368. package/es/utils/runner.js +29 -25
  369. package/package.json +8 -8
@@ -1,3 +1,4 @@
1
+ import { slicedToArray as _slicedToArray } from '../../../_virtual/_rollupPluginBabelHelpers.js';
1
2
  import React from 'react';
2
3
  import { getOrgMaterialExerciseExerciseRunningOutputGet } from '@elice/api-client';
3
4
  import { ResizableNext, Text } from '@elice/blocks';
@@ -5,92 +6,85 @@ import FileSaver from 'file-saver';
5
6
  import { MATERIAL_RESIZABLE_COMMON_PROPS } from '../../../constants/stylesheets.js';
6
7
  import { StyledExerciseSubmitHistoryOutput, StyledExerciseSubmitHistoryOutputText, StyledExerciseSubmitHistoryOutputImageLink, StyledExerciseSubmitHistoryOutputImage } from './ExerciseSubmitHistory.styled.js';
7
8
 
8
- const ExerciseSubmitHistoryOutput = ({
9
- exerciseRunningId
10
- }) => {
11
- const [runningOutput, setRunningOutput] = React.useState([]);
12
- React.useEffect(() => {
9
+ var ExerciseSubmitHistoryOutput = function ExerciseSubmitHistoryOutput(_ref) {
10
+ var exerciseRunningId = _ref.exerciseRunningId;
11
+ var _React$useState = React.useState([]),
12
+ _React$useState2 = _slicedToArray(_React$useState, 2),
13
+ runningOutput = _React$useState2[0],
14
+ setRunningOutput = _React$useState2[1];
15
+ React.useEffect(function () {
13
16
  if (exerciseRunningId) {
14
17
  getOrgMaterialExerciseExerciseRunningOutputGet({
15
- exerciseRunningId
16
- }).then(({
17
- output
18
- }) => {
18
+ exerciseRunningId: exerciseRunningId
19
+ }).then(function (_ref2) {
20
+ var output = _ref2.output;
19
21
  setRunningOutput(output);
20
22
  }).catch(console.error);
21
23
  }
22
24
  }, [exerciseRunningId]);
23
-
24
- const downloadFile = (fileContent, fileName) => {
25
- const byteString = atob(fileContent.split(',')[1]);
26
- const mimeString = fileContent.split(',')[0].split(':')[1].split(';')[0];
27
- const ab = new ArrayBuffer(byteString.length);
28
- const ia = new Uint8Array(ab);
29
-
30
- for (let i = 0; i < byteString.length; i++) {
25
+ var downloadFile = function downloadFile(fileContent, fileName) {
26
+ var byteString = atob(fileContent.split(',')[1]);
27
+ var mimeString = fileContent.split(',')[0].split(':')[1].split(';')[0];
28
+ var ab = new ArrayBuffer(byteString.length);
29
+ var ia = new Uint8Array(ab);
30
+ for (var i = 0; i < byteString.length; i++) {
31
31
  ia[i] = byteString.charCodeAt(i);
32
32
  }
33
-
34
- const blob = new Blob([ab], {
33
+ var blob = new Blob([ab], {
35
34
  type: mimeString
36
35
  });
37
36
  FileSaver.saveAs(blob, fileName);
38
37
  };
39
-
40
- const openImageWithNewTab = imgSrc => {
41
- const materialImageTab = window.open('about:blank', '_blank');
42
- materialImageTab === null || materialImageTab === void 0 ? void 0 : materialImageTab.document.write(`<img src=${imgSrc} />`);
38
+ var openImageWithNewTab = function openImageWithNewTab(imgSrc) {
39
+ var materialImageTab = window.open('about:blank', '_blank');
40
+ materialImageTab === null || materialImageTab === void 0 ? void 0 : materialImageTab.document.write("<img src=".concat(imgSrc, " />"));
43
41
  materialImageTab === null || materialImageTab === void 0 ? void 0 : materialImageTab.focus();
44
42
  };
45
-
46
- const renderContent = () => {
43
+ var renderContent = function renderContent() {
47
44
  if (runningOutput.length === 0) {
48
45
  return React.createElement(Text, {
49
46
  size: "small",
50
47
  role: "white"
51
48
  }, "\uCD9C\uB825 \uC5C6\uC74C");
52
49
  }
53
-
54
- const getOutputContent = output => {
50
+ var getOutputContent = function getOutputContent(output) {
55
51
  switch (output.type) {
56
52
  case 'text':
57
53
  case 'echo':
58
54
  return React.createElement(StyledExerciseSubmitHistoryOutputText, null, output.data);
59
-
60
55
  case 'grader':
61
56
  return React.createElement(StyledExerciseSubmitHistoryOutputText, {
62
57
  className: "grader"
63
58
  }, output.data);
64
-
65
59
  case 'info':
66
60
  return React.createElement(StyledExerciseSubmitHistoryOutputText, {
67
61
  className: "info"
68
62
  }, output.data);
69
-
70
63
  case 'image':
71
64
  return React.createElement(StyledExerciseSubmitHistoryOutputImageLink, {
72
- onClick: () => openImageWithNewTab(output.data)
65
+ onClick: function onClick() {
66
+ return openImageWithNewTab(output.data);
67
+ }
73
68
  }, React.createElement(StyledExerciseSubmitHistoryOutputImage, {
74
69
  src: output.data,
75
70
  alt: "material-exercise-ouput"
76
71
  }));
77
-
78
72
  case 'file':
79
- const fileName = output.data.split(';')[0]; // const fileContent = output.data.substring(fileName.length + 1);
80
-
81
- const fileContent = 'asdf';
73
+ var fileName = output.data.split(';')[0];
74
+ // const fileContent = output.data.substring(fileName.length + 1);
75
+ var fileContent = 'asdf';
82
76
  return React.createElement(StyledExerciseSubmitHistoryOutputText, {
83
77
  className: "file",
84
- onClick: () => downloadFile(fileContent, fileName)
85
- }, `Download ${fileName}`);
86
-
78
+ onClick: function onClick() {
79
+ return downloadFile(fileContent, fileName);
80
+ }
81
+ }, "Download ".concat(fileName));
87
82
  case 'html':
88
- const encodedData = encodeURI(output.data);
83
+ var encodedData = encodeURI(output.data);
89
84
  return React.createElement("iframe", {
90
85
  title: "mat-exec-output",
91
- src: `data:text/html;charset=utf-8,${encodedData}`
86
+ src: "data:text/html;charset=utf-8,".concat(encodedData)
92
87
  });
93
-
94
88
  case 'screen':
95
89
  case 'score':
96
90
  case 'web_ready':
@@ -98,10 +92,10 @@ const ExerciseSubmitHistoryOutput = ({
98
92
  return null;
99
93
  }
100
94
  };
101
-
102
- return runningOutput.map(item => getOutputContent(item));
95
+ return runningOutput.map(function (item) {
96
+ return getOutputContent(item);
97
+ });
103
98
  };
104
-
105
99
  return React.createElement(ResizableNext, Object.assign({}, MATERIAL_RESIZABLE_COMMON_PROPS, {
106
100
  initialHeight: 200,
107
101
  resizeHandles: ['n'],
@@ -0,0 +1,3 @@
1
+ var phrasesEn = {"exerciseSubmitHistory.button.load.more":"Load more","exerciseSubmitHistory.notChanged":"A file with no modification history.","exerciseSubmitHistory.runType.grade":"Grade","exerciseSubmitHistory.runType.run":"Run","exerciseSubmitHistory.title":"Code revision history"};
2
+
3
+ export { phrasesEn as default };
@@ -0,0 +1,3 @@
1
+ var phrasesKo = {"exerciseSubmitHistory.button.load.more":"더 불러오기","exerciseSubmitHistory.notChanged":"수정 내역이 없는 파일입니다.","exerciseSubmitHistory.runType.grade":"제출","exerciseSubmitHistory.runType.run":"실행","exerciseSubmitHistory.title":"코드 수정 이력"};
2
+
3
+ export { phrasesKo as default };
@@ -6,27 +6,27 @@ import styled from 'styled-components';
6
6
 
7
7
  //
8
8
  //
9
-
10
- const StyledMenuButtonWrap = styled.span.withConfig({
9
+ //
10
+ var StyledMenuButtonWrap = styled.span.withConfig({
11
11
  componentId: "sc-48m0vh-0"
12
12
  })(["position:relative;"]);
13
- const StyledMenuButton = styled(IconButton).withConfig({
13
+ var StyledMenuButton = styled(IconButton).withConfig({
14
14
  componentId: "sc-48m0vh-1"
15
- })(["", ""], ({
16
- active
17
- }) => active && `background: ${base.color.navy6} !important;`); //
15
+ })(["", ""], function (_ref) {
16
+ var active = _ref.active;
17
+ return active && "background: ".concat(base.color.navy6, " !important;");
18
+ });
18
19
  //
19
20
  //
20
-
21
- const ExerciseMenuButton = forwardRef((_a, ref) => {
22
- var {
23
- children,
24
- active = false,
25
- title,
26
- placement = 'bottom-end'
27
- } = _a,
28
- props = __rest(_a, ["children", "active", "title", "placement"]);
29
-
21
+ //
22
+ var ExerciseMenuButton = forwardRef(function (_a, ref) {
23
+ var children = _a.children,
24
+ _a$active = _a.active,
25
+ active = _a$active === void 0 ? false : _a$active,
26
+ title = _a.title,
27
+ _a$placement = _a.placement,
28
+ placement = _a$placement === void 0 ? 'bottom-end' : _a$placement,
29
+ props = __rest(_a, ["children", "active", "title", "placement"]);
30
30
  return React.createElement(Tooltip, {
31
31
  title: title,
32
32
  placement: placement,
@@ -3,11 +3,10 @@ import { Shimmer, Vspace } from '@elice/blocks';
3
3
  import { base } from '@elice/design-tokens';
4
4
  import styled from 'styled-components';
5
5
 
6
- const StyledFileShimmerWrap = styled.div.withConfig({
6
+ var StyledFileShimmerWrap = styled.div.withConfig({
7
7
  componentId: "sc-mf825x-0"
8
8
  })(["padding:1rem;width:100%;height:100%;background:", ";overflow:hidden;"], base.color.navy9);
9
-
10
- const ExerciseFileShimmer = () => {
9
+ var ExerciseFileShimmer = function ExerciseFileShimmer() {
11
10
  return React.createElement(StyledFileShimmerWrap, null, React.createElement(Shimmer, {
12
11
  width: "150px",
13
12
  height: "1rem",
@@ -3,26 +3,25 @@ import { Shimmer, Hspace } from '@elice/blocks';
3
3
  import { base } from '@elice/design-tokens';
4
4
  import styled from 'styled-components';
5
5
 
6
- const TAB_HEIGHT = 36;
7
- const TAB_CONTENT_GAP = 8;
8
- const TAB_CONTENT_FILENAME_HEIGHT = 16;
9
- const TAB_CONTENT_CLOSE_BUTTON_SIZE = 14;
10
- const StyledDummyFileTab = styled.div.withConfig({
6
+ var TAB_HEIGHT = 36;
7
+ var TAB_CONTENT_GAP = 8;
8
+ var TAB_CONTENT_FILENAME_HEIGHT = 16;
9
+ var TAB_CONTENT_CLOSE_BUTTON_SIZE = 14;
10
+ var StyledDummyFileTab = styled.div.withConfig({
11
11
  componentId: "sc-q9m9qo-0"
12
12
  })(["display:flex;align-items:center;padding:0 0.5rem;height:", "px;border-right:1px solid ", ";background-color:", ";overflow:hidden;"], TAB_HEIGHT, base.color.navy9, base.color.navy8);
13
-
14
- const ExerciseFileTabShimmer = ({
15
- width = 150
16
- }) => {
13
+ var ExerciseFileTabShimmer = function ExerciseFileTabShimmer(_ref) {
14
+ var _ref$width = _ref.width,
15
+ width = _ref$width === void 0 ? 150 : _ref$width;
17
16
  return React.createElement(StyledDummyFileTab, null, React.createElement(Shimmer, {
18
- width: `${width}px`,
19
- height: `${TAB_CONTENT_FILENAME_HEIGHT}px`,
17
+ width: "".concat(width, "px"),
18
+ height: "".concat(TAB_CONTENT_FILENAME_HEIGHT, "px"),
20
19
  dark: true
21
20
  }), React.createElement(Hspace, {
22
21
  width: TAB_CONTENT_GAP / 16
23
22
  }), React.createElement(Shimmer, {
24
- width: `${TAB_CONTENT_CLOSE_BUTTON_SIZE}px`,
25
- height: `${TAB_CONTENT_CLOSE_BUTTON_SIZE}px`,
23
+ width: "".concat(TAB_CONTENT_CLOSE_BUTTON_SIZE, "px"),
24
+ height: "".concat(TAB_CONTENT_CLOSE_BUTTON_SIZE, "px"),
26
25
  dark: true
27
26
  }));
28
27
  };
@@ -3,11 +3,10 @@ import { base } from '@elice/design-tokens';
3
3
  import styled from 'styled-components';
4
4
  import ExerciseFileTabShimmer from './ExerciseFileTabShimmer.js';
5
5
 
6
- const StyledShimmerWrapper = styled.div.withConfig({
6
+ var StyledShimmerWrapper = styled.div.withConfig({
7
7
  componentId: "sc-107bpmt-0"
8
8
  })(["display:flex;width:100%;height:100%;background-color:", ";overflow:hidden;"], base.color.navy9);
9
-
10
- const ExerciseFileTabsShimmer = () => {
9
+ var ExerciseFileTabsShimmer = function ExerciseFileTabsShimmer() {
11
10
  return React.createElement(StyledShimmerWrapper, null, React.createElement(ExerciseFileTabShimmer, {
12
11
  width: 120
13
12
  }), React.createElement(ExerciseFileTabShimmer, {
@@ -2,30 +2,29 @@ import React from 'react';
2
2
  import { Shimmer, Hspace } from '@elice/blocks';
3
3
  import styled from 'styled-components';
4
4
 
5
- const FILE_TREE_LIST_ITEM_HORIZONTAL_PADDING = 14;
6
- const FILE_TREE_LIST_ITEM_HEIGHT = 28;
7
- const FILE_TREE_LIST_ITEM_ICON_SIZE = 16;
8
- const FILE_TREE_LIST_ITEM_GAP = 8;
9
- const FILE_TREE_LIST_ITEM_FILENAME_HEIGHT = 14;
10
- const StyledDummyListItemIconShimmer = styled(Shimmer).withConfig({
5
+ var FILE_TREE_LIST_ITEM_HORIZONTAL_PADDING = 14;
6
+ var FILE_TREE_LIST_ITEM_HEIGHT = 28;
7
+ var FILE_TREE_LIST_ITEM_ICON_SIZE = 16;
8
+ var FILE_TREE_LIST_ITEM_GAP = 8;
9
+ var FILE_TREE_LIST_ITEM_FILENAME_HEIGHT = 14;
10
+ var StyledDummyListItemIconShimmer = styled(Shimmer).withConfig({
11
11
  componentId: "sc-x7bcnn-0"
12
12
  })(["flex:0 0 ", "px;"], FILE_TREE_LIST_ITEM_ICON_SIZE);
13
- const StyledDummyListItem = styled.li.withConfig({
13
+ var StyledDummyListItem = styled.li.withConfig({
14
14
  componentId: "sc-x7bcnn-1"
15
15
  })(["display:flex;align-items:center;margin:0;padding:0 ", "px;width:100%;height:", "px;list-style:none;"], FILE_TREE_LIST_ITEM_HORIZONTAL_PADDING, FILE_TREE_LIST_ITEM_HEIGHT);
16
-
17
- const ExerciseFileTreeListItemShimmer = ({
18
- width = 100
19
- }) => {
16
+ var ExerciseFileTreeListItemShimmer = function ExerciseFileTreeListItemShimmer(_ref) {
17
+ var _ref$width = _ref.width,
18
+ width = _ref$width === void 0 ? 100 : _ref$width;
20
19
  return React.createElement(StyledDummyListItem, null, React.createElement(StyledDummyListItemIconShimmer, {
21
- width: `${FILE_TREE_LIST_ITEM_ICON_SIZE}px`,
22
- height: `${FILE_TREE_LIST_ITEM_ICON_SIZE}px`,
20
+ width: "".concat(FILE_TREE_LIST_ITEM_ICON_SIZE, "px"),
21
+ height: "".concat(FILE_TREE_LIST_ITEM_ICON_SIZE, "px"),
23
22
  dark: true
24
23
  }), React.createElement(Hspace, {
25
24
  width: FILE_TREE_LIST_ITEM_GAP / 16
26
25
  }), React.createElement(Shimmer, {
27
- width: `${width}px`,
28
- height: `${FILE_TREE_LIST_ITEM_FILENAME_HEIGHT}px`,
26
+ width: "".concat(width, "px"),
27
+ height: "".concat(FILE_TREE_LIST_ITEM_FILENAME_HEIGHT, "px"),
29
28
  dark: true
30
29
  }));
31
30
  };
@@ -3,22 +3,27 @@ import { base } from '@elice/design-tokens';
3
3
  import styled from 'styled-components';
4
4
  import ExerciseFileTreeListItemShimmer from './ExerciseFileTreeListItemShimmer.js';
5
5
 
6
- const StyledShimmerWrapper = styled.div.withConfig({
6
+ var StyledShimmerWrapper = styled.div.withConfig({
7
7
  componentId: "sc-ol0qbo-0"
8
8
  })(["display:flex;flex-direction:column;width:100%;height:100%;background:", ";overflow:hidden;"], base.color.navy9);
9
- const StyledDummyToolbar = styled.div.withConfig({
9
+ var StyledDummyToolbar = styled.div.withConfig({
10
10
  componentId: "sc-ol0qbo-1"
11
11
  })(["flex:0 0 2.25rem;background-color:", ";"], base.color.navy8);
12
- const StyledDummyList = styled.div.withConfig({
12
+ var StyledDummyList = styled.div.withConfig({
13
13
  componentId: "sc-ol0qbo-2"
14
14
  })(["flex:1;display:flex;flex-direction:column;width:100%;overflow:hidden;"]);
15
-
16
- const ExerciseFileTreeListShimmer = () => {
17
- const widths = React.useMemo(() => new Array(Math.round(Math.random() * 5) + 5).fill(0).map(() => Math.round(Math.random() * 200) + 50), []);
18
- return React.createElement(StyledShimmerWrapper, null, React.createElement(StyledDummyToolbar, null), React.createElement(StyledDummyList, null, widths.map((width, index) => React.createElement(ExerciseFileTreeListItemShimmer, {
19
- key: index,
20
- width: width
21
- }))));
15
+ var ExerciseFileTreeListShimmer = function ExerciseFileTreeListShimmer() {
16
+ var widths = React.useMemo(function () {
17
+ return new Array(Math.round(Math.random() * 5) + 5).fill(0).map(function () {
18
+ return Math.round(Math.random() * 200) + 50;
19
+ });
20
+ }, []);
21
+ return React.createElement(StyledShimmerWrapper, null, React.createElement(StyledDummyToolbar, null), React.createElement(StyledDummyList, null, widths.map(function (width, index) {
22
+ return React.createElement(ExerciseFileTreeListItemShimmer, {
23
+ key: index,
24
+ width: width
25
+ });
26
+ })));
22
27
  };
23
28
 
24
29
  export { ExerciseFileTreeListShimmer as default };
@@ -1,9 +1,8 @@
1
1
  import React from 'react';
2
2
  import { StyledVersionList } from './ExerciseVersionList.styled.js';
3
3
 
4
- const ExerciseVersionList = ({
5
- children
6
- }) => {
4
+ var ExerciseVersionList = function ExerciseVersionList(_ref) {
5
+ var children = _ref.children;
7
6
  return React.createElement(StyledVersionList, null, children);
8
7
  };
9
8
 
@@ -1,7 +1,7 @@
1
1
  import { List } from '@elice/blocks';
2
2
  import styled from 'styled-components';
3
3
 
4
- const StyledVersionList = styled(List).withConfig({
4
+ var StyledVersionList = styled(List).withConfig({
5
5
  componentId: "sc-wqxvzc-0"
6
6
  })(["height:100%;padding:0;overflow:scroll;background-color:transparent;& > last-of-type{border:none;}"]);
7
7
 
@@ -1,12 +1,11 @@
1
1
  import React from 'react';
2
2
  import { StyledExerciseVersionItem } from './ExerciseVersionListItem.styled.js';
3
3
 
4
- const ExerciseVersionListItem = ({
5
- children,
6
- selected,
7
- style,
8
- onClick
9
- }) => {
4
+ var ExerciseVersionListItem = function ExerciseVersionListItem(_ref) {
5
+ var children = _ref.children,
6
+ selected = _ref.selected,
7
+ style = _ref.style,
8
+ onClick = _ref.onClick;
10
9
  return React.createElement(StyledExerciseVersionItem, {
11
10
  selected: selected,
12
11
  style: style,
@@ -2,16 +2,20 @@ import { List, Text } from '@elice/blocks';
2
2
  import { base } from '@elice/design-tokens';
3
3
  import styled from 'styled-components';
4
4
 
5
- const StyledExerciseVersionItem = styled(List.Item).withConfig({
5
+ var StyledExerciseVersionItem = styled(List.Item).withConfig({
6
6
  componentId: "sc-8jsi1o-0"
7
- })(["display:flex;width:100%;height:3.25rem;padding:1rem 1.5rem;border-bottom:1px solid ", ";border-left:0.25rem solid transparent;background-color:transparent;align-items:baseline;& > div:not(:last-child){margin-right:0.5rem;}&:hover{background-color:", ";}border-left:0.25rem solid ", ";background-color:", ";"], base.color.navy9, base.color.gray6, props => props.selected ? base.color.primary6 : 'transparent', props => props.selected ? base.color.gray6 : 'initial');
8
- const StyledExerciseVersionRunType = styled(Text).withConfig({
7
+ })(["display:flex;width:100%;height:3.25rem;padding:1rem 1.5rem;border-bottom:1px solid ", ";border-left:0.25rem solid transparent;background-color:transparent;align-items:baseline;& > div:not(:last-child){margin-right:0.5rem;}&:hover{background-color:", ";}border-left:0.25rem solid ", ";background-color:", ";"], base.color.navy9, base.color.gray6, function (props) {
8
+ return props.selected ? base.color.primary6 : 'transparent';
9
+ }, function (props) {
10
+ return props.selected ? base.color.gray6 : 'initial';
11
+ });
12
+ var StyledExerciseVersionRunType = styled(Text).withConfig({
9
13
  componentId: "sc-8jsi1o-1"
10
14
  })(["flex:0 1 auto;min-width:fit-content;"]);
11
- const StyledExerciseVersionDatetime = styled(Text).withConfig({
15
+ var StyledExerciseVersionDatetime = styled(Text).withConfig({
12
16
  componentId: "sc-8jsi1o-2"
13
17
  })(["flex:none;"]);
14
- const StyledExerciseVersionScore = styled(Text).withConfig({
18
+ var StyledExerciseVersionScore = styled(Text).withConfig({
15
19
  componentId: "sc-8jsi1o-3"
16
20
  })(["flex:auto;text-align:right;"]);
17
21
 
@@ -3,36 +3,34 @@ import React from 'react';
3
3
  import { Image } from '@elice/blocks';
4
4
  import { getIconForFile } from 'vscode-icons-js';
5
5
 
6
- const ICON_ASSET_BASE_URL = 'https://static.elice.io/code-editor/icons';
7
-
8
- const createIconUrl = svgFilename => {
9
- return `${ICON_ASSET_BASE_URL}/${svgFilename.toLowerCase()}`;
6
+ var ICON_ASSET_BASE_URL = 'https://static.elice.io/code-editor/icons';
7
+ var createIconUrl = function createIconUrl(svgFilename) {
8
+ return "".concat(ICON_ASSET_BASE_URL, "/").concat(svgFilename.toLowerCase());
10
9
  };
11
-
12
- const FileIcon = _a => {
13
- var {
14
- filename,
15
- directory = false,
16
- expanded = false,
17
- width = '1rem',
18
- height = '1rem'
19
- } = _a,
20
- props = __rest(_a, ["filename", "directory", "expanded", "width", "height"]);
21
-
22
- const src = React.useMemo(() => {
10
+ var FileIcon = function FileIcon(_a) {
11
+ var filename = _a.filename,
12
+ _a$directory = _a.directory,
13
+ directory = _a$directory === void 0 ? false : _a$directory,
14
+ _a$expanded = _a.expanded,
15
+ expanded = _a$expanded === void 0 ? false : _a$expanded,
16
+ _a$width = _a.width,
17
+ width = _a$width === void 0 ? '1rem' : _a$width,
18
+ _a$height = _a.height,
19
+ height = _a$height === void 0 ? '1rem' : _a$height,
20
+ props = __rest(_a, ["filename", "directory", "expanded", "width", "height"]);
21
+ var src = React.useMemo(function () {
23
22
  if (directory) {
24
- const suffix = expanded ? '_opened' : '';
25
- return createIconUrl(`default_folder${suffix}.svg`);
23
+ var suffix = expanded ? '_opened' : '';
24
+ return createIconUrl("default_folder".concat(suffix, ".svg"));
26
25
  }
27
-
28
26
  return createIconUrl(getIconForFile(filename) || 'default_file.svg');
29
- }, [filename, directory, expanded]); //
27
+ }, [filename, directory, expanded]);
28
+ //
30
29
  //
31
30
  //
32
-
33
31
  return React.createElement(Image, Object.assign({}, props, {
34
32
  src: src,
35
- alt: `icon for ${filename}`,
33
+ alt: "icon for ".concat(filename),
36
34
  width: width,
37
35
  height: height
38
36
  }));
@@ -4,27 +4,26 @@ import { eilMathsignMultiplyBasic } from '@elice/icons';
4
4
  import FileIcon from '../file-icon/FileIcon.js';
5
5
  import { StyledTab, StyledTabContent, StyledTabLabel, StyledTabLabelFilename, StyledTabCloseButton, StyledTabActiveBorder, StyledTabLabelDirname } from './FileTab.styled.js';
6
6
 
7
- const EMPTY_CHUNKS = [];
8
-
9
- const FileTab = _a => {
10
- var {
11
- fullname,
12
- chunks = EMPTY_CHUNKS,
13
- filename,
14
- isFilenameDuplicated = false,
15
- active = false,
16
- hovered = false,
17
- onClose
18
- } = _a,
19
- eventListeners = __rest(_a, ["fullname", "chunks", "filename", "isFilenameDuplicated", "active", "hovered", "onClose"]);
20
-
21
- const tabElRef = React.useRef(null); //
7
+ var EMPTY_CHUNKS = [];
8
+ var FileTab = function FileTab(_a) {
9
+ var fullname = _a.fullname,
10
+ _a$chunks = _a.chunks,
11
+ chunks = _a$chunks === void 0 ? EMPTY_CHUNKS : _a$chunks,
12
+ filename = _a.filename,
13
+ _a$isFilenameDuplicat = _a.isFilenameDuplicated,
14
+ isFilenameDuplicated = _a$isFilenameDuplicat === void 0 ? false : _a$isFilenameDuplicat,
15
+ _a$active = _a.active,
16
+ active = _a$active === void 0 ? false : _a$active,
17
+ _a$hovered = _a.hovered,
18
+ hovered = _a$hovered === void 0 ? false : _a$hovered,
19
+ onClose = _a.onClose,
20
+ eventListeners = __rest(_a, ["fullname", "chunks", "filename", "isFilenameDuplicated", "active", "hovered", "onClose"]);
21
+ var tabElRef = React.useRef(null);
22
+ //
22
23
  // Scroll into view.
23
24
  //
24
-
25
- React.useEffect(() => {
25
+ React.useEffect(function () {
26
26
  var _a;
27
-
28
27
  if (active) {
29
28
  (_a = tabElRef.current) === null || _a === void 0 ? void 0 : _a.scrollIntoView({
30
29
  behavior: 'smooth'
@@ -34,8 +33,7 @@ const FileTab = _a => {
34
33
  /**
35
34
  * File icon
36
35
  */
37
-
38
- const renderTabFileIcon = () => {
36
+ var renderTabFileIcon = function renderTabFileIcon() {
39
37
  return React.createElement(FileIcon, {
40
38
  filename: filename,
41
39
  width: "1rem",
@@ -45,9 +43,7 @@ const FileTab = _a => {
45
43
  /**
46
44
  * File name
47
45
  */
48
-
49
-
50
- const renderTabFileName = () => {
46
+ var renderTabFileName = function renderTabFileName() {
51
47
  return React.createElement(StyledTabLabelFilename, {
52
48
  size: "tiny",
53
49
  noWrap: true
@@ -56,53 +52,44 @@ const FileTab = _a => {
56
52
  /**
57
53
  * File directory name
58
54
  */
59
-
60
-
61
- const renderTabFileDirName = () => {
55
+ var renderTabFileDirName = function renderTabFileDirName() {
62
56
  if (!isFilenameDuplicated) {
63
57
  return null;
64
58
  }
65
-
66
- const parentDir = chunks.slice().pop();
59
+ var parentDir = chunks.slice().pop();
67
60
  return React.createElement(StyledTabLabelDirname, {
68
61
  role: "gray5",
69
62
  size: "tiny",
70
63
  noWrap: true
71
- }, parentDir ? `.../${parentDir}` : '/');
64
+ }, parentDir ? ".../".concat(parentDir) : '/');
72
65
  };
73
66
  /**
74
67
  * File
75
68
  */
76
-
77
-
78
- const renderTabFile = () => {
69
+ var renderTabFile = function renderTabFile() {
79
70
  return React.createElement(StyledTabLabel, null, renderTabFileIcon(), renderTabFileName(), renderTabFileDirName());
80
71
  };
81
72
  /**
82
73
  * Tab close icon
83
74
  */
84
-
85
-
86
- const renderTabCloseButton = () => {
75
+ var renderTabCloseButton = function renderTabCloseButton() {
87
76
  return React.createElement(StyledTabCloseButton, {
88
77
  icon: eilMathsignMultiplyBasic,
89
78
  role: "gray5",
90
79
  size: "nano",
91
80
  transparent: true,
92
81
  border: false,
93
- onClick: e => {
82
+ onClick: function onClick(e) {
94
83
  e.stopPropagation();
95
-
96
84
  if (typeof onClose === 'function') {
97
85
  onClose();
98
86
  }
99
87
  }
100
88
  });
101
- }; //
89
+ };
90
+ //
102
91
  //
103
92
  //
104
-
105
-
106
93
  return React.createElement(StyledTab, Object.assign({}, eventListeners, {
107
94
  active: active,
108
95
  hovered: hovered,
@@ -110,7 +97,7 @@ const FileTab = _a => {
110
97
  role: "tab",
111
98
  "aria-label": filename,
112
99
  "aria-selected": active,
113
- title: `~/${fullname}`,
100
+ title: "~/".concat(fullname),
114
101
  tabIndex: -1,
115
102
  ref: tabElRef
116
103
  }), React.createElement(StyledTabContent, null, renderTabFile(), renderTabCloseButton()), React.createElement(StyledTabActiveBorder, null));