@elice/material-exercise 1.230328.0 → 1.230418.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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, toConsumableArray as _toConsumableArray } from '../../../_virtual/_rollupPluginBabelHelpers.js';
1
2
  import React from 'react';
2
3
  import { FormattedMessage } from 'react-intl';
3
4
  import { Hr, Flex, Text, IconButton, Hspace, AntSwitch } from '@elice/blocks';
@@ -12,9 +13,9 @@ import '../exercise-shimmer/ExerciseFileTreeListItemShimmer.js';
12
13
 
13
14
  //
14
15
  //
15
-
16
- const OPTIONS_PER_PAGE = [10, 25, 50];
17
- const OPTIONS_DELIMITER = [{
16
+ //
17
+ var OPTIONS_PER_PAGE = [10, 25, 50];
18
+ var OPTIONS_DELIMITER = [{
18
19
  char: ',',
19
20
  label: 'Comma [,]'
20
21
  }, {
@@ -29,130 +30,161 @@ const OPTIONS_DELIMITER = [{
29
30
  }, {
30
31
  char: '|',
31
32
  label: 'Vertical Bar [|]'
32
- }]; //
33
+ }];
33
34
  //
34
35
  //
35
-
36
- const StyledViewer = styled.div.withConfig({
36
+ //
37
+ var StyledViewer = styled.div.withConfig({
37
38
  componentId: "sc-pyv7uu-0"
38
39
  })(["flex:1;display:flex;flex-direction:column;width:100%;height:100%;min-width:0;min-height:0;background-color:", ";"], base.color.navy9);
39
- const StyledViewerTableWrap = styled.div.withConfig({
40
+ var StyledViewerTableWrap = styled.div.withConfig({
40
41
  componentId: "sc-pyv7uu-1"
41
42
  })(["flex:1;overflow:auto;"]);
42
- const StyledViewerTable = styled.table.withConfig({
43
+ var StyledViewerTable = styled.table.withConfig({
43
44
  componentId: "sc-pyv7uu-2"
44
45
  })(["border:none;border-collapse:collapse;color:", ";font-family:'Elice Digital Coding',monospace,fixed-width;th,td{border:1px solid ", ";padding:0.5rem;white-space:pre;&:first-of-type{color:", ";border-left:none;}&:last-of-type{border-right:none;}}tbody{tr:nth-child(odd){background:", ";}tr:hover{background:", ";}}"], base.color.white, base.color.navy5, base.color.gray5, base.color.navy8, base.color.navy6);
45
- const StyledViewerFooter = styled.div.withConfig({
46
+ var StyledViewerFooter = styled.div.withConfig({
46
47
  componentId: "sc-pyv7uu-3"
47
48
  })(["flex:0 0 auto;display:flex;justify-content:space-between;align-items:center;padding:0.5rem;"]);
48
- const StyledViewerFooterSelect = styled.select.withConfig({
49
+ var StyledViewerFooterSelect = styled.select.withConfig({
49
50
  componentId: "sc-pyv7uu-4"
50
- })(["width:", "rem;border-radius:0.25rem;"], props => props.width);
51
- const StyledViewerFooterHr = styled(Hr).withConfig({
51
+ })(["width:", "rem;border-radius:0.25rem;"], function (props) {
52
+ return props.width;
53
+ });
54
+ var StyledViewerFooterHr = styled(Hr).withConfig({
52
55
  componentId: "sc-pyv7uu-5"
53
- })(["height:1rem;"]); //
56
+ })(["height:1rem;"]);
54
57
  //
55
58
  //
56
-
57
- const FileViewerCsv = ({
58
- fileurl
59
- }) => {
60
- const [csv, setCsv] = React.useState('');
61
- const [csvHeader, setCsvHeader] = React.useState(null);
62
- const [csvRecords, setCsvRecords] = React.useState([]);
63
- const [csvStatus, setCsvStatus] = React.useState('idle');
64
- const [page, setPage] = React.useState(1);
65
- const [perPage, setPerPage] = React.useState(OPTIONS_PER_PAGE[0]);
66
- const [delimiter, setDelimiter] = React.useState(OPTIONS_DELIMITER[0].char);
67
- const [isUsingHeader, setUsingHeader] = React.useState(true);
68
- const csvRecordCount = csvRecords.length + (csvHeader ? -1 : 0);
69
- const maxPage = Math.ceil(csvRecordCount / perPage);
70
- const tableWrapElRef = React.useRef(null); //
59
+ //
60
+ var FileViewerCsv = function FileViewerCsv(_ref) {
61
+ var fileurl = _ref.fileurl;
62
+ var _React$useState = React.useState(''),
63
+ _React$useState2 = _slicedToArray(_React$useState, 2),
64
+ csv = _React$useState2[0],
65
+ setCsv = _React$useState2[1];
66
+ var _React$useState3 = React.useState(null),
67
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
68
+ csvHeader = _React$useState4[0],
69
+ setCsvHeader = _React$useState4[1];
70
+ var _React$useState5 = React.useState([]),
71
+ _React$useState6 = _slicedToArray(_React$useState5, 2),
72
+ csvRecords = _React$useState6[0],
73
+ setCsvRecords = _React$useState6[1];
74
+ var _React$useState7 = React.useState('idle'),
75
+ _React$useState8 = _slicedToArray(_React$useState7, 2),
76
+ csvStatus = _React$useState8[0],
77
+ setCsvStatus = _React$useState8[1];
78
+ var _React$useState9 = React.useState(1),
79
+ _React$useState10 = _slicedToArray(_React$useState9, 2),
80
+ page = _React$useState10[0],
81
+ setPage = _React$useState10[1];
82
+ var _React$useState11 = React.useState(OPTIONS_PER_PAGE[0]),
83
+ _React$useState12 = _slicedToArray(_React$useState11, 2),
84
+ perPage = _React$useState12[0],
85
+ setPerPage = _React$useState12[1];
86
+ var _React$useState13 = React.useState(OPTIONS_DELIMITER[0].char),
87
+ _React$useState14 = _slicedToArray(_React$useState13, 2),
88
+ delimiter = _React$useState14[0],
89
+ setDelimiter = _React$useState14[1];
90
+ var _React$useState15 = React.useState(true),
91
+ _React$useState16 = _slicedToArray(_React$useState15, 2),
92
+ isUsingHeader = _React$useState16[0],
93
+ setUsingHeader = _React$useState16[1];
94
+ var csvRecordCount = csvRecords.length + (csvHeader ? -1 : 0);
95
+ var maxPage = Math.ceil(csvRecordCount / perPage);
96
+ var tableWrapElRef = React.useRef(null);
97
+ //
71
98
  // Fetch csv file
72
99
  //
73
-
74
- React.useEffect(() => {
100
+ React.useEffect(function () {
75
101
  if (!fileurl) {
76
102
  setCsvRecords([]);
77
103
  return;
78
104
  }
79
-
80
- const abortCtrl = new AbortController();
105
+ var abortCtrl = new AbortController();
81
106
  setCsvStatus('pending');
82
107
  fetch(fileurl, {
83
108
  signal: abortCtrl.signal
84
- }).then(res => res.text()).then(setCsv).then(() => setCsvStatus('resolved')).catch(err => {
109
+ }).then(function (res) {
110
+ return res.text();
111
+ }).then(setCsv).then(function () {
112
+ return setCsvStatus('resolved');
113
+ }).catch(function (err) {
85
114
  if (err.name === 'AbortError') {
86
115
  return;
87
116
  }
88
-
89
117
  setCsvRecords([]);
90
118
  setCsvStatus('rejected');
91
119
  });
92
- return () => {
120
+ return function () {
93
121
  abortCtrl.abort();
94
122
  };
95
- }, [fileurl]); //
123
+ }, [fileurl]);
124
+ //
96
125
  // Parse csv file and save as records
97
126
  //
98
-
99
- React.useEffect(() => setCsvRecords(csv.split('\n').filter(Boolean).map(row => row.split(delimiter))), [csv, delimiter]); //
127
+ React.useEffect(function () {
128
+ return setCsvRecords(csv.split('\n').filter(Boolean).map(function (row) {
129
+ return row.split(delimiter);
130
+ }));
131
+ }, [csv, delimiter]);
132
+ //
100
133
  // Set CSV header.
101
134
  //
102
-
103
- React.useEffect(() => setCsvHeader(isUsingHeader ? csvRecords[0] : null), [csvRecords, isUsingHeader]); //
135
+ React.useEffect(function () {
136
+ return setCsvHeader(isUsingHeader ? csvRecords[0] : null);
137
+ }, [csvRecords, isUsingHeader]);
138
+ //
104
139
  // Scroll to top when page changes.
105
140
  //
106
-
107
- React.useEffect(() => {
141
+ React.useEffect(function () {
108
142
  var _a;
109
-
110
143
  return (_a = tableWrapElRef.current) === null || _a === void 0 ? void 0 : _a.scrollTo(0, 0);
111
144
  }, [page]);
112
145
  /**
113
146
  *
114
147
  */
115
-
116
- const renderViewerTableThead = () => {
148
+ var renderViewerTableThead = function renderViewerTableThead() {
117
149
  if (!csvHeader) {
118
150
  return null;
119
151
  }
120
-
121
- const colunms = ['', ...csvHeader];
122
- return React.createElement("thead", null, React.createElement("tr", null, colunms.map((col, colIdx) => React.createElement("th", {
123
- key: colIdx
124
- }, col))));
152
+ var colunms = [''].concat(_toConsumableArray(csvHeader));
153
+ return React.createElement("thead", null, React.createElement("tr", null, colunms.map(function (col, colIdx) {
154
+ return React.createElement("th", {
155
+ key: colIdx
156
+ }, col);
157
+ })));
125
158
  };
126
159
  /**
127
160
  *
128
161
  */
129
-
130
-
131
- const renderViewerTableTbody = () => {
132
- const start = (page - 1) * perPage;
133
- const end = page * perPage;
134
- const records = csvRecords.slice(csvHeader ? 1 : 0).slice(start, end);
135
- return React.createElement("tbody", null, records.map((row, rowIdx) => {
136
- const curRecordNo = start + rowIdx + 1;
137
- const curRow = [curRecordNo, ...row];
162
+ var renderViewerTableTbody = function renderViewerTableTbody() {
163
+ var start = (page - 1) * perPage;
164
+ var end = page * perPage;
165
+ var records = csvRecords.slice(csvHeader ? 1 : 0).slice(start, end);
166
+ return React.createElement("tbody", null, records.map(function (row, rowIdx) {
167
+ var curRecordNo = start + rowIdx + 1;
168
+ var curRow = [curRecordNo].concat(_toConsumableArray(row));
138
169
  return React.createElement("tr", {
139
170
  key: curRecordNo
140
- }, curRow.map((col, colIdx) => React.createElement("td", {
141
- key: colIdx,
142
- style: {
143
- // test whether the column is number, and align right
144
- textAlign: // eslint-disable-next-line no-self-compare
145
- +col === +col ? 'right' : 'left'
146
- }
147
- }, col)));
171
+ }, curRow.map(function (col, colIdx) {
172
+ return React.createElement("td", {
173
+ key: colIdx,
174
+ style: {
175
+ // test whether the column is number, and align right
176
+ textAlign:
177
+ // eslint-disable-next-line no-self-compare
178
+ +col === +col ? 'right' : 'left'
179
+ }
180
+ }, col);
181
+ }));
148
182
  }));
149
183
  };
150
184
  /**
151
185
  *
152
186
  */
153
-
154
-
155
- const renderViewerTable = () => {
187
+ var renderViewerTable = function renderViewerTable() {
156
188
  return React.createElement(StyledViewerTableWrap, {
157
189
  ref: tableWrapElRef
158
190
  }, React.createElement(StyledViewerTable, null, renderViewerTableThead(), renderViewerTableTbody()));
@@ -160,9 +192,7 @@ const FileViewerCsv = ({
160
192
  /**
161
193
  *
162
194
  */
163
-
164
-
165
- const renderViewerFooterPagination = () => {
195
+ var renderViewerFooterPagination = function renderViewerFooterPagination() {
166
196
  return React.createElement(Flex, {
167
197
  align: "center"
168
198
  }, React.createElement(Text, {
@@ -178,7 +208,9 @@ const FileViewerCsv = ({
178
208
  role: "navy3",
179
209
  size: "nano",
180
210
  disabled: page <= 1,
181
- onClick: () => setPage(1)
211
+ onClick: function onClick() {
212
+ return setPage(1);
213
+ }
182
214
  }), React.createElement(Hspace, {
183
215
  width: 0.25
184
216
  }), React.createElement(IconButton, {
@@ -186,7 +218,11 @@ const FileViewerCsv = ({
186
218
  role: "navy3",
187
219
  size: "nano",
188
220
  disabled: page <= 1,
189
- onClick: () => setPage(prevPage => prevPage - 1)
221
+ onClick: function onClick() {
222
+ return setPage(function (prevPage) {
223
+ return prevPage - 1;
224
+ });
225
+ }
190
226
  }), React.createElement(Hspace, {
191
227
  width: 0.5
192
228
  }), React.createElement(Text, {
@@ -199,7 +235,11 @@ const FileViewerCsv = ({
199
235
  role: "navy3",
200
236
  size: "nano",
201
237
  disabled: page >= maxPage,
202
- onClick: () => setPage(prevPage => prevPage + 1)
238
+ onClick: function onClick() {
239
+ return setPage(function (prevPage) {
240
+ return prevPage + 1;
241
+ });
242
+ }
203
243
  }), React.createElement(Hspace, {
204
244
  width: 0.25
205
245
  }), React.createElement(IconButton, {
@@ -207,15 +247,15 @@ const FileViewerCsv = ({
207
247
  role: "navy3",
208
248
  size: "nano",
209
249
  disabled: page >= maxPage,
210
- onClick: () => setPage(maxPage)
250
+ onClick: function onClick() {
251
+ return setPage(maxPage);
252
+ }
211
253
  })));
212
254
  };
213
255
  /**
214
256
  *
215
257
  */
216
-
217
-
218
- const renderViewerFooterSettings = () => {
258
+ var renderViewerFooterSettings = function renderViewerFooterSettings() {
219
259
  return React.createElement(Flex, {
220
260
  align: "center"
221
261
  }, React.createElement(Flex, {
@@ -246,13 +286,16 @@ const FileViewerCsv = ({
246
286
  }), React.createElement(StyledViewerFooterSelect, {
247
287
  width: 7.5,
248
288
  value: delimiter,
249
- onChange: e => setDelimiter(e.target.value)
250
- }, OPTIONS_DELIMITER.map(({
251
- char,
252
- label
253
- }) => React.createElement("option", {
254
- value: char
255
- }, label)))), React.createElement(StyledViewerFooterHr, {
289
+ onChange: function onChange(e) {
290
+ return setDelimiter(e.target.value);
291
+ }
292
+ }, OPTIONS_DELIMITER.map(function (_ref2) {
293
+ var char = _ref2.char,
294
+ label = _ref2.label;
295
+ return React.createElement("option", {
296
+ value: char
297
+ }, label);
298
+ }))), React.createElement(StyledViewerFooterHr, {
256
299
  vertical: true,
257
300
  color: base.color.navy5
258
301
  }), React.createElement(Flex, {
@@ -267,31 +310,30 @@ const FileViewerCsv = ({
267
310
  }), React.createElement(StyledViewerFooterSelect, {
268
311
  width: 3,
269
312
  value: perPage,
270
- onChange: e => setPerPage(Number(e.target.value))
271
- }, OPTIONS_PER_PAGE.map(perPage => React.createElement("option", {
272
- value: perPage
273
- }, perPage)))));
313
+ onChange: function onChange(e) {
314
+ return setPerPage(Number(e.target.value));
315
+ }
316
+ }, OPTIONS_PER_PAGE.map(function (perPage) {
317
+ return React.createElement("option", {
318
+ value: perPage
319
+ }, perPage);
320
+ }))));
274
321
  };
275
322
  /**
276
323
  *
277
324
  */
278
-
279
-
280
- const renderViewerFooter = () => {
325
+ var renderViewerFooter = function renderViewerFooter() {
281
326
  return React.createElement(StyledViewerFooter, null, renderViewerFooterPagination(), renderViewerFooterSettings());
282
- }; //
327
+ };
328
+ //
283
329
  //
284
330
  //
285
-
286
-
287
331
  if (csvStatus === 'idle' || csvStatus === 'pending') {
288
332
  return React.createElement(ExerciseFileShimmer, null);
289
333
  }
290
-
291
334
  if (csvStatus === 'rejected') {
292
335
  return React.createElement("div", null, "error");
293
336
  }
294
-
295
337
  return React.createElement(StyledViewer, null, renderViewerTable(), renderViewerFooter());
296
338
  };
297
339
 
@@ -7,17 +7,14 @@ import '../exercise-shimmer/ExerciseFileTabShimmer.js';
7
7
  import '../exercise-shimmer/ExerciseFileTreeListShimmer.js';
8
8
  import '../exercise-shimmer/ExerciseFileTreeListItemShimmer.js';
9
9
 
10
- const StyledImage = styled.img.withConfig({
10
+ var StyledImage = styled.img.withConfig({
11
11
  componentId: "sc-1bnx7lz-0"
12
12
  })(["max-width:100%;max-height:100%;height:auto;width:auto;"]);
13
-
14
- const FileViewerImage = ({
15
- fileurl
16
- }) => {
13
+ var FileViewerImage = function FileViewerImage(_ref) {
14
+ var fileurl = _ref.fileurl;
17
15
  if (!fileurl) {
18
16
  return React.createElement(ExerciseFileShimmer, null);
19
17
  }
20
-
21
18
  return React.createElement(Flex, {
22
19
  align: "center",
23
20
  justify: "center",
@@ -1,3 +1,4 @@
1
+ import { slicedToArray as _slicedToArray } from '../../../_virtual/_rollupPluginBabelHelpers.js';
1
2
  import React from 'react';
2
3
  import NotebookPreview from '@nteract/notebook-preview';
3
4
  import styled from 'styled-components';
@@ -7,28 +8,31 @@ import '../exercise-shimmer/ExerciseFileTabShimmer.js';
7
8
  import '../exercise-shimmer/ExerciseFileTreeListShimmer.js';
8
9
  import '../exercise-shimmer/ExerciseFileTreeListItemShimmer.js';
9
10
 
10
- const StyledNotebookWrapper = styled.div.withConfig({
11
+ var StyledNotebookWrapper = styled.div.withConfig({
11
12
  componentId: "sc-1fmae1h-0"
12
13
  })(["width:100%;height:100%;overflow:auto;background-color:white;padding:1rem;.notebook-preview{width:100%;height:100%;}"]);
13
-
14
- const FileViewerIpynb = ({
15
- fileurl
16
- }) => {
17
- const [content, setContent] = React.useState(null);
18
- React.useEffect(() => {
14
+ var FileViewerIpynb = function FileViewerIpynb(_ref) {
15
+ var fileurl = _ref.fileurl;
16
+ var _React$useState = React.useState(null),
17
+ _React$useState2 = _slicedToArray(_React$useState, 2),
18
+ content = _React$useState2[0],
19
+ setContent = _React$useState2[1];
20
+ React.useEffect(function () {
19
21
  if (!fileurl) {
20
22
  return;
21
23
  }
22
-
23
- fetch(fileurl).then(res => res.text()).then(JSON.parse).then(setContent).catch(err => console.error(err));
24
- }, [fileurl]); //
24
+ fetch(fileurl).then(function (res) {
25
+ return res.text();
26
+ }).then(JSON.parse).then(setContent).catch(function (err) {
27
+ return console.error(err);
28
+ });
29
+ }, [fileurl]);
30
+ //
25
31
  //
26
32
  //
27
-
28
33
  if (!content) {
29
34
  return React.createElement(ExerciseFileShimmer, null);
30
35
  }
31
-
32
36
  return React.createElement(StyledNotebookWrapper, null, React.createElement(NotebookPreview, {
33
37
  notebook: content
34
38
  }));
@@ -9,35 +9,35 @@ import FileIcon from '../file-icon/FileIcon.js';
9
9
  import phrasesEn from './locales/nonViewable.en.json.js';
10
10
  import phrasesKo from './locales/nonViewable.ko.json.js';
11
11
 
12
- const StyledContainer = styled.div.withConfig({
12
+ var StyledContainer = styled.div.withConfig({
13
13
  componentId: "sc-l8149y-0"
14
14
  })(["display:flex;justify-content:center;align-items:center;width:100%;height:100%;"]);
15
- const StyledContainerContent = styled.div.withConfig({
15
+ var StyledContainerContent = styled.div.withConfig({
16
16
  componentId: "sc-l8149y-1"
17
17
  })(["display:flex;flex-direction:column;justify-content:center;align-items:center;padding:1rem 1.5rem;width:100%;max-width:20rem;height:100%;text-align:center;"]);
18
- const StyledButton = styled(Button).withConfig({
18
+ var StyledButton = styled(Button).withConfig({
19
19
  componentId: "sc-l8149y-2"
20
20
  })(["display:block;margin:0 auto;"]);
21
- const StyledButtonsWrap = styled.div.withConfig({
21
+ var StyledButtonsWrap = styled.div.withConfig({
22
22
  componentId: "sc-l8149y-3"
23
23
  })(["text-align:center;> *{margin-bottom:0.5rem;&:last-child{margin-bottom:0;}}"]);
24
-
25
- const FileViewerNonViewable = ({
26
- filename,
27
- fileurl,
28
- onTextViewerClick
29
- }) => {
24
+ var FileViewerNonViewable = function FileViewerNonViewable(_ref) {
25
+ var filename = _ref.filename,
26
+ fileurl = _ref.fileurl,
27
+ onTextViewerClick = _ref.onTextViewerClick;
30
28
  /**
31
29
  * Handle download button click.
32
30
  */
33
- const handleDownloadClick = () => {
31
+ var handleDownloadClick = function handleDownloadClick() {
34
32
  if (!fileurl) {
35
33
  return;
36
34
  }
37
-
38
- fetch(fileurl).then(res => res.blob()).then(blob => FileSaver.saveAs(blob, filename)).catch(() => {
39
- const win = window.open(fileurl, '_blank');
40
-
35
+ fetch(fileurl).then(function (res) {
36
+ return res.blob();
37
+ }).then(function (blob) {
38
+ return FileSaver.saveAs(blob, filename);
39
+ }).catch(function () {
40
+ var win = window.open(fileurl, '_blank');
41
41
  if (win) {
42
42
  win.focus();
43
43
  }
@@ -46,13 +46,10 @@ const FileViewerNonViewable = ({
46
46
  /**
47
47
  * Download button.
48
48
  */
49
-
50
-
51
- const renderFileViewerDownloadButton = () => {
49
+ var renderFileViewerDownloadButton = function renderFileViewerDownloadButton() {
52
50
  if (!fileurl) {
53
51
  return null;
54
52
  }
55
-
56
53
  return React.createElement(StyledButton, {
57
54
  size: "small",
58
55
  icon: React.createElement(Icon, {
@@ -66,13 +63,10 @@ const FileViewerNonViewable = ({
66
63
  /**
67
64
  * Link for enable text editor.
68
65
  */
69
-
70
-
71
- const renderFileViewerTextEditorLink = () => {
66
+ var renderFileViewerTextEditorLink = function renderFileViewerTextEditorLink() {
72
67
  if (!fileurl || typeof onTextViewerClick !== 'function') {
73
68
  return null;
74
69
  }
75
-
76
70
  return React.createElement(Text, {
77
71
  role: "gray5",
78
72
  size: "tiny",
@@ -81,11 +75,10 @@ const FileViewerNonViewable = ({
81
75
  }, React.createElement(FormattedMessage, {
82
76
  id: "fileViewer.nonViewable.openViaTextEditor"
83
77
  }));
84
- }; //
78
+ };
79
+ //
85
80
  //
86
81
  //
87
-
88
-
89
82
  return React.createElement(StyledContainer, null, React.createElement(StyledContainerContent, null, React.createElement(FileIcon, {
90
83
  filename: filename,
91
84
  width: "3rem",
@@ -106,12 +99,11 @@ const FileViewerNonViewable = ({
106
99
  })), React.createElement(Vspace, {
107
100
  height: 2
108
101
  }), React.createElement(StyledButtonsWrap, null, renderFileViewerDownloadButton(), renderFileViewerTextEditorLink())));
109
- }; //
102
+ };
110
103
  //
111
104
  //
112
-
113
-
114
- var FileViewerNonViewable$1 = (props => {
105
+ //
106
+ var FileViewerNonViewable$1 = (function (props) {
115
107
  return React.createElement(MaterialIntlProvider, {
116
108
  locale: props.locale,
117
109
  phrases: {
@@ -1,3 +1,4 @@
1
+ import { slicedToArray as _slicedToArray } from '../../../_virtual/_rollupPluginBabelHelpers.js';
1
2
  import React from 'react';
2
3
  import { useRecoilValue } from 'recoil';
3
4
  import { exerciseEditorPreferenceState } from '../../material-exercise/context/recoil.js';
@@ -15,27 +16,31 @@ import '../monaco-editor/MonacoEditorPerferenceForm.js';
15
16
  import 'monaco-editor/esm/vs/editor/editor.api';
16
17
  import '../monaco-editor/constants/monaco/preferences.js';
17
18
 
18
- const FileViewerText = ({
19
- filename,
20
- fileurl,
21
- locale
22
- }) => {
23
- const preference = useRecoilValue(exerciseEditorPreferenceState);
24
- const [content, setContent] = React.useState(null);
25
- React.useEffect(() => {
19
+ var FileViewerText = function FileViewerText(_ref) {
20
+ var filename = _ref.filename,
21
+ fileurl = _ref.fileurl,
22
+ locale = _ref.locale;
23
+ var preference = useRecoilValue(exerciseEditorPreferenceState);
24
+ var _React$useState = React.useState(null),
25
+ _React$useState2 = _slicedToArray(_React$useState, 2),
26
+ content = _React$useState2[0],
27
+ setContent = _React$useState2[1];
28
+ React.useEffect(function () {
26
29
  if (!fileurl) {
27
30
  return;
28
31
  }
29
-
30
- fetch(fileurl).then(res => res.text()).then(setContent).catch(err => console.error(err));
31
- }, [fileurl]); //
32
+ fetch(fileurl).then(function (res) {
33
+ return res.text();
34
+ }).then(setContent).catch(function (err) {
35
+ return console.error(err);
36
+ });
37
+ }, [fileurl]);
38
+ //
32
39
  //
33
40
  //
34
-
35
41
  if (content === null) {
36
42
  return React.createElement(ExerciseFileShimmer, null);
37
43
  }
38
-
39
44
  return React.createElement(MonacoEditorLazy, {
40
45
  filename: filename,
41
46
  defaultValue: content,
@@ -4,23 +4,20 @@ import { BorderlessDialog } from '@elice/blocks';
4
4
  import { eilMathsignMultiplyBasic } from '@elice/icons';
5
5
  import { StyledModalWrapper, StyledModalHeader, StyledModalBody, StyledModalFooter, StyledCloseButton } from './MaterialModal.styled.js';
6
6
 
7
- const MaterialModal = ({
8
- children,
9
- title,
10
- footer,
11
- onHide
12
- }) => {
13
- useKeyPressEvent('Escape', () => {
7
+ var MaterialModal = function MaterialModal(_ref) {
8
+ var children = _ref.children,
9
+ title = _ref.title,
10
+ footer = _ref.footer,
11
+ onHide = _ref.onHide;
12
+ useKeyPressEvent('Escape', function () {
14
13
  if (typeof onHide === 'function') {
15
14
  onHide();
16
15
  }
17
16
  });
18
-
19
- const renderCloseButton = () => {
17
+ var renderCloseButton = function renderCloseButton() {
20
18
  if (!onHide) {
21
19
  return null;
22
20
  }
23
-
24
21
  return React.createElement(StyledCloseButton, {
25
22
  transparent: true,
26
23
  border: false,
@@ -28,7 +25,6 @@ const MaterialModal = ({
28
25
  onClick: onHide
29
26
  });
30
27
  };
31
-
32
28
  return React.createElement(BorderlessDialog, null, React.createElement(StyledModalWrapper, null, React.createElement(StyledModalHeader, null, title, renderCloseButton()), React.createElement(StyledModalBody, null, children), footer && React.createElement(StyledModalFooter, null, footer)));
33
29
  };
34
30