@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,5 +1,8 @@
1
1
  'use strict';
2
2
 
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _rollupPluginBabelHelpers = require('../../../_virtual/_rollupPluginBabelHelpers.js');
3
6
  var React = require('react');
4
7
  var reactIntl = require('react-intl');
5
8
  var blocks = require('@elice/blocks');
@@ -18,47 +21,45 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
18
21
 
19
22
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
20
23
 
21
- const IMAGE_NEW_WIN_IFRAME_STYLE = 'border:0; top:0px; left:0px; bottom:0px; right:0px; width:100%; height:100%;';
22
-
23
- const ExerciseMenuStdioFileBrowser = () => {
24
- const intl = reactIntl.useIntl();
25
- const [open, setOpen] = React__default["default"].useState(false);
26
- const anchorRef = React__default["default"].useRef(null);
27
- const stdioFiles = recoil.useRecoilValue(recoil$1.exerciseRunnerStdioFilesState);
24
+ var IMAGE_NEW_WIN_IFRAME_STYLE = 'border:0; top:0px; left:0px; bottom:0px; right:0px; width:100%; height:100%;';
25
+ var ExerciseMenuStdioFileBrowser = function ExerciseMenuStdioFileBrowser() {
26
+ var intl = reactIntl.useIntl();
27
+ var _React$useState = React__default["default"].useState(false),
28
+ _React$useState2 = _rollupPluginBabelHelpers.slicedToArray(_React$useState, 2),
29
+ open = _React$useState2[0],
30
+ setOpen = _React$useState2[1];
31
+ var anchorRef = React__default["default"].useRef(null);
32
+ var stdioFiles = recoil.useRecoilValue(recoil$1.exerciseRunnerStdioFilesState);
28
33
  /**
29
34
  * Open image as new window.
30
35
  */
31
-
32
- const handleImageFileClick = e => {
36
+ var handleImageFileClick = function handleImageFileClick(e) {
33
37
  e.preventDefault();
34
- const win = window.open('about:blank', e.currentTarget.target);
35
-
38
+ var win = window.open('about:blank', e.currentTarget.target);
36
39
  if (win) {
37
40
  // since `Not allowed to navigate top frame to data URL:` error thrown by browser,
38
41
  // use iframe to display image at new window.
39
- win.document.write(`<iframe src="${e.currentTarget.href}" frameborder="0" style="${IMAGE_NEW_WIN_IFRAME_STYLE}" allowfullscreen></iframe>`);
42
+ win.document.write("<iframe src=\"".concat(e.currentTarget.href, "\" frameborder=\"0\" style=\"").concat(IMAGE_NEW_WIN_IFRAME_STYLE, "\" allowfullscreen></iframe>"));
40
43
  win.focus();
41
44
  }
42
- }; //
45
+ };
46
+ //
43
47
  // Open stdio file browser, on file changes.
44
48
  //
45
-
46
-
47
- React__default["default"].useEffect(() => {
49
+ React__default["default"].useEffect(function () {
48
50
  if (stdioFiles && stdioFiles.length > 0) {
49
51
  setOpen(true);
50
52
  }
51
- }, // eslint-disable-next-line react-hooks/exhaustive-deps
53
+ },
54
+ // eslint-disable-next-line react-hooks/exhaustive-deps
52
55
  [stdioFiles]);
53
56
  /**
54
57
  * Image type stdio file.
55
58
  */
56
-
57
- const renderStdioFileListItemImage = (key, f) => {
59
+ var renderStdioFileListItemImage = function renderStdioFileListItemImage(key, f) {
58
60
  var _a;
59
-
60
- const ext = (_a = f.mime) === null || _a === void 0 ? void 0 : _a.split('/').pop();
61
- const filename = ext ? `image_output.${ext}` : 'image_output';
61
+ var ext = (_a = f.mime) === null || _a === void 0 ? void 0 : _a.split('/').pop();
62
+ var filename = ext ? "image_output.".concat(ext) : 'image_output';
62
63
  return React__default["default"].createElement(ExerciseMenuStdioFileBrowser_styled.StyledFilePopoverBodyListItem, {
63
64
  key: key
64
65
  }, React__default["default"].createElement(ExerciseMenuStdioFileBrowser_styled.StyledFilePopoverBodyListItemContentImageWrap, {
@@ -79,10 +80,8 @@ const ExerciseMenuStdioFileBrowser = () => {
79
80
  /**
80
81
  * File type stdio file.
81
82
  */
82
-
83
-
84
- const renderStdioFileListFile = (key, f) => {
85
- const size = (f.data.length / 1024).toFixed(2);
83
+ var renderStdioFileListFile = function renderStdioFileListFile(key, f) {
84
+ var size = (f.data.length / 1024).toFixed(2);
86
85
  return React__default["default"].createElement(ExerciseMenuStdioFileBrowser_styled.StyledFilePopoverBodyListItem, {
87
86
  key: key
88
87
  }, React__default["default"].createElement(ExerciseMenuStdioFileBrowser_styled.StyledFilePopoverBodyListItemContentFile, null, React__default["default"].createElement(blocks.Text, {
@@ -90,7 +89,7 @@ const ExerciseMenuStdioFileBrowser = () => {
90
89
  role: "white",
91
90
  size: "small"
92
91
  }), React__default["default"].createElement(blocks.Text, {
93
- children: `${size} KB`,
92
+ children: "".concat(size, " KB"),
94
93
  role: "gray4",
95
94
  size: "tiny"
96
95
  })), React__default["default"].createElement(ExerciseMenuStdioFileBrowser_styled.StyledFilePopoverBodyListItemDownloadButton, {
@@ -103,9 +102,7 @@ const ExerciseMenuStdioFileBrowser = () => {
103
102
  /**
104
103
  * Empty list of stdio files.
105
104
  */
106
-
107
-
108
- const renderStdioFileListEmpty = () => {
105
+ var renderStdioFileListEmpty = function renderStdioFileListEmpty() {
109
106
  return React__default["default"].createElement(blocks.Flex, {
110
107
  column: true,
111
108
  align: "center",
@@ -129,21 +126,16 @@ const ExerciseMenuStdioFileBrowser = () => {
129
126
  /**
130
127
  * List of stdio files.
131
128
  */
132
-
133
-
134
- const renderStdioFileList = () => {
129
+ var renderStdioFileList = function renderStdioFileList() {
135
130
  if (!stdioFiles || !stdioFiles.length) {
136
131
  return renderStdioFileListEmpty();
137
132
  }
138
-
139
- return React__default["default"].createElement(ExerciseMenuStdioFileBrowser_styled.StyledFilePopoverBodyList, null, stdioFiles.map((f, index) => {
133
+ return React__default["default"].createElement(ExerciseMenuStdioFileBrowser_styled.StyledFilePopoverBodyList, null, stdioFiles.map(function (f, index) {
140
134
  switch (f.type) {
141
135
  case 'image':
142
136
  return renderStdioFileListItemImage(index, f);
143
-
144
137
  case 'file':
145
138
  return renderStdioFileListFile(index, f);
146
-
147
139
  default:
148
140
  return null;
149
141
  }
@@ -152,9 +144,7 @@ const ExerciseMenuStdioFileBrowser = () => {
152
144
  /**
153
145
  * Popover header.
154
146
  */
155
-
156
-
157
- const renderStdioFilePopoverHeader = () => {
147
+ var renderStdioFilePopoverHeader = function renderStdioFilePopoverHeader() {
158
148
  return React__default["default"].createElement(ExerciseMenuStdioFileBrowser_styled.StyledFilePopoverHeader, null, React__default["default"].createElement(blocks.Flex, {
159
149
  align: "center"
160
150
  }, React__default["default"].createElement(blocks.Text, {
@@ -174,15 +164,15 @@ const ExerciseMenuStdioFileBrowser = () => {
174
164
  size: "micro",
175
165
  border: false,
176
166
  transparent: true,
177
- onClick: () => setOpen(false)
167
+ onClick: function onClick() {
168
+ return setOpen(false);
169
+ }
178
170
  }));
179
171
  };
180
172
  /**
181
173
  * Popover body.
182
174
  */
183
-
184
-
185
- const renderStdioFilePopoverBody = () => {
175
+ var renderStdioFilePopoverBody = function renderStdioFilePopoverBody() {
186
176
  return React__default["default"].createElement(ExerciseMenuStdioFileBrowser_styled.StyledFilePopoverBody, {
187
177
  children: renderStdioFileList()
188
178
  });
@@ -190,9 +180,7 @@ const ExerciseMenuStdioFileBrowser = () => {
190
180
  /**
191
181
  * Popover.
192
182
  */
193
-
194
-
195
- const renderStdioFilePopover = () => {
183
+ var renderStdioFilePopover = function renderStdioFilePopover() {
196
184
  return React__default["default"].createElement(blocks.Popover, {
197
185
  open: open,
198
186
  anchorEl: anchorRef.current,
@@ -205,27 +193,28 @@ const ExerciseMenuStdioFileBrowser = () => {
205
193
  /**
206
194
  * Popover toggle button.
207
195
  */
208
-
209
-
210
- const renderStdioFilePopoverToggleButton = () => {
211
- return React__default["default"].createElement(ExerciseMenuButton, {
196
+ var renderStdioFilePopoverToggleButton = function renderStdioFilePopoverToggleButton() {
197
+ return React__default["default"].createElement(ExerciseMenuButton["default"], {
212
198
  icon: icons.eilAttachment,
213
199
  active: open,
214
200
  title: intl.formatMessage({
215
201
  id: 'exerciseMenu.stdioFileBrowser.button.tooltip'
216
202
  }),
217
- onClick: () => setOpen(prev => !prev),
203
+ onClick: function onClick() {
204
+ return setOpen(function (prev) {
205
+ return !prev;
206
+ });
207
+ },
218
208
  ref: anchorRef
219
209
  }, React__default["default"].createElement(ExerciseMenuStdioFileBrowser_styled.StyledMenuButtonFileCount, {
220
210
  role: "white",
221
211
  value: stdioFiles.length
222
212
  }));
223
- }; //
213
+ };
214
+ //
224
215
  //
225
216
  //
226
-
227
-
228
217
  return React__default["default"].createElement(React__default["default"].Fragment, null, renderStdioFilePopover(), renderStdioFilePopoverToggleButton());
229
218
  };
230
219
 
231
- module.exports = ExerciseMenuStdioFileBrowser;
220
+ exports["default"] = ExerciseMenuStdioFileBrowser;
@@ -10,40 +10,40 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
10
10
 
11
11
  var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
12
12
 
13
- const StyledMenuButtonFileCount = styled__default["default"](blocks.NotificationCount).withConfig({
13
+ var StyledMenuButtonFileCount = styled__default["default"](blocks.NotificationCount).withConfig({
14
14
  componentId: "sc-9mtuee-0"
15
15
  })(["position:absolute;top:0.2rem;right:0.2rem;padding:0;min-width:0.625rem;height:0.625rem;font-size:0.5rem;"]);
16
- const StyledFilePopoverContent = styled__default["default"].div.withConfig({
16
+ var StyledFilePopoverContent = styled__default["default"].div.withConfig({
17
17
  componentId: "sc-9mtuee-1"
18
18
  })(["display:flex;flex-direction:column;padding:0;width:252px;min-height:178px;max-height:383px;border-radius:8px;background-color:", ";overflow:hidden;"], designTokens.base.color.navy6);
19
- const StyledFilePopoverHeader = styled__default["default"].div.withConfig({
19
+ var StyledFilePopoverHeader = styled__default["default"].div.withConfig({
20
20
  componentId: "sc-9mtuee-2"
21
21
  })(["flex:0 0 2.5rem;display:flex;justify-content:space-between;align-items:center;padding:0 1rem;color:white;background-color:", ";"], designTokens.base.color.navy7);
22
- const StyledFilePopoverBody = styled__default["default"].div.withConfig({
22
+ var StyledFilePopoverBody = styled__default["default"].div.withConfig({
23
23
  componentId: "sc-9mtuee-3"
24
24
  })(["flex:1;overflow-x:hidden;overflow-y:auto;"]);
25
- const StyledFilePopoverBodyList = styled__default["default"].ul.withConfig({
25
+ var StyledFilePopoverBodyList = styled__default["default"].ul.withConfig({
26
26
  componentId: "sc-9mtuee-4"
27
27
  })(["margin:0;padding:0.5rem;width:100%;height:100%;"]);
28
- const StyledFilePopoverBodyListItem = styled__default["default"].li.withConfig({
28
+ var StyledFilePopoverBodyListItem = styled__default["default"].li.withConfig({
29
29
  componentId: "sc-9mtuee-5"
30
30
  })(["display:flex;margin-bottom:0.5rem;border-radius:0.5rem;background-color:", ";overflow:hidden;&:last-of-type{margin-bottom:0;}"], designTokens.base.color.navy5);
31
- const StyledFilePopoverBodyListItemDownloadButton = styled__default["default"].a.withConfig({
31
+ var StyledFilePopoverBodyListItemDownloadButton = styled__default["default"].a.withConfig({
32
32
  componentId: "sc-9mtuee-6"
33
33
  })(["display:flex;align-items:center;justify-content:center;padding:0.75rem;color:", ";font-size:1rem;background-color:", ";"], designTokens.base.color.white, designTokens.base.color.primary5);
34
- const StyledFilePopoverBodyListItemContentFile = styled__default["default"].div.withConfig({
34
+ var StyledFilePopoverBodyListItemContentFile = styled__default["default"].div.withConfig({
35
35
  componentId: "sc-9mtuee-7"
36
36
  })(["flex:1;display:flex;align-items:center;justify-content:space-between;padding:0 0.5rem;"]);
37
- const StyledFilePopoverBodyListItemContentImageWrap = styled__default["default"].a.withConfig({
37
+ var StyledFilePopoverBodyListItemContentImageWrap = styled__default["default"].a.withConfig({
38
38
  componentId: "sc-9mtuee-8"
39
39
  })(["display:flex;padding:0.5rem;flex:1 1 0;background:", ";"], designTokens.base.color.white);
40
- const StyledFilePopoverBodyListItemContentImage = styled__default["default"].img.withConfig({
40
+ var StyledFilePopoverBodyListItemContentImage = styled__default["default"].img.withConfig({
41
41
  componentId: "sc-9mtuee-9"
42
42
  })(["width:100%;max-height:128px;object-fit:contain;"]);
43
- const StyledPreferenceBodyItem = styled__default["default"].div.withConfig({
43
+ var StyledPreferenceBodyItem = styled__default["default"].div.withConfig({
44
44
  componentId: "sc-9mtuee-10"
45
45
  })(["display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;min-height:2rem;color:white;&:last-child{margin-bottom:0;}"]);
46
- const StyledSelect = styled__default["default"](blocks.Select).withConfig({
46
+ var StyledSelect = styled__default["default"](blocks.Select).withConfig({
47
47
  componentId: "sc-9mtuee-11"
48
48
  })(["> div{background:", " !important;border-color:", " !important;}select{padding:0 !important;height:2rem !important;color:#fff !important;> option{background:", " !important;}}"], designTokens.base.color.navy8, designTokens.base.color.navy7, designTokens.base.color.navy8);
49
49
 
@@ -1,5 +1,7 @@
1
1
  'use strict';
2
2
 
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
3
5
  var phrasesEn = {"exerciseMenu.dropdown.button.tooltip":"More","exerciseMenu.dropdown.item.codeHistory":"Submit History","exerciseMenu.dropdown.item.environment":"Environment","exerciseMenu.dropdown.item.preference":"Editor Preferences","exerciseMenu.dropdown.item.room":"Code Sharing","exerciseMenu.dropdown.item.submitHistory":"Code History","exerciseMenu.arduino.agent.button":"Having problem with connecting to arduino?","exerciseMenu.reset.button.tooltip.disabled":"The file cannot be reset","exerciseMenu.reset.button.tooltip.enabled":"Reset the file","exerciseMenu.reset.confirmDialog.body":"Are you sure you want to clear all the code you wrote at current file and reset it?","exerciseMenu.reset.confirmDialog.cancel":"Cencel","exerciseMenu.reset.confirmDialog.confirm":"Confirm","exerciseMenu.reset.confirmDialog.title":"Reset the file","exerciseMenu.stdioFileBrowser.button.tooltip":"File","exerciseMenu.stdioFileBrowser.popover.body.placeholder":"Files sent from your code\nappear here.","exerciseMenu.stdioFileBrowser.popover.header":"File"};
4
6
 
5
- module.exports = phrasesEn;
7
+ exports["default"] = phrasesEn;
@@ -1,5 +1,7 @@
1
1
  'use strict';
2
2
 
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
3
5
  var phrasesKo = {"exerciseMenu.dropdown.button.tooltip":"더 보기","exerciseMenu.dropdown.item.codeHistory":"코드 수정 이력","exerciseMenu.dropdown.item.environment":"실습 환경","exerciseMenu.dropdown.item.preference":"에디터 설정","exerciseMenu.dropdown.item.room":"코드 공유","exerciseMenu.dropdown.item.submitHistory":"실행/제출 이력","exerciseMenu.arduino.agent.button":"아두이노 연결 중 문제가 발생했나요?","exerciseMenu.reset.button.tooltip.disabled":"해당 파일은 초기화를 할 수 없습니다","exerciseMenu.reset.button.tooltip.enabled":"코드 초기화","exerciseMenu.reset.confirmDialog.body":"작성한 코드를 모두 지우고 초기화하시겠습니까?","exerciseMenu.reset.confirmDialog.cancel":"취소","exerciseMenu.reset.confirmDialog.confirm":"확인","exerciseMenu.reset.confirmDialog.title":"코드 초기화","exerciseMenu.stdioFileBrowser.button.tooltip":"파일","exerciseMenu.stdioFileBrowser.popover.body.placeholder":"코드에서 전송한 파일이\n여기에 표시됩니다.","exerciseMenu.stdioFileBrowser.popover.header":"파일"};
4
6
 
5
- module.exports = phrasesKo;
7
+ exports["default"] = phrasesKo;
@@ -1,5 +1,8 @@
1
1
  'use strict';
2
2
 
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _rollupPluginBabelHelpers = require('../../../_virtual/_rollupPluginBabelHelpers.js');
3
6
  var React = require('react');
4
7
  var blocks = require('@elice/blocks');
5
8
  var recoil = require('recoil');
@@ -13,36 +16,41 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
13
16
 
14
17
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
15
18
 
16
- const ExerciseMultilangDropdown = () => {
17
- const {
18
- materialExerciseId,
19
- exerciseRoomId
20
- } = React__default["default"].useContext(context.ExerciseContext);
21
- const multilangLanguages = recoil.useRecoilValue(recoil$1.exerciseMultilangLanguagesState(materialExerciseId));
22
- const [multilangEnvironment, setMultilangEnvironment] = recoil.useRecoilState(recoil$1.exerciseMultilangEnvironmentState({
23
- materialExerciseId,
24
- exerciseRoomId
25
- })); //
19
+ var ExerciseMultilangDropdown = function ExerciseMultilangDropdown() {
20
+ var _React$useContext = React__default["default"].useContext(context.ExerciseContext),
21
+ materialExerciseId = _React$useContext.materialExerciseId,
22
+ exerciseRoomId = _React$useContext.exerciseRoomId;
23
+ var multilangLanguages = recoil.useRecoilValue(recoil$1.exerciseMultilangLanguagesState(materialExerciseId));
24
+ var _useRecoilState = recoil.useRecoilState(recoil$1.exerciseMultilangEnvironmentState({
25
+ materialExerciseId: materialExerciseId,
26
+ exerciseRoomId: exerciseRoomId
27
+ })),
28
+ _useRecoilState2 = _rollupPluginBabelHelpers.slicedToArray(_useRecoilState, 2),
29
+ multilangEnvironment = _useRecoilState2[0],
30
+ setMultilangEnvironment = _useRecoilState2[1];
31
+ //
26
32
  //
27
33
  //
28
-
29
34
  if (!multilangLanguages || !Object.keys(multilangLanguages !== null && multilangLanguages !== void 0 ? multilangLanguages : {}).length || !multilangEnvironment) {
30
35
  return null;
31
36
  }
32
-
33
37
  return React__default["default"].createElement(blocks.Dropdown, {
34
38
  type: "dark",
35
39
  size: "tiny",
36
40
  border: true,
37
41
  placement: "bottom-end",
38
42
  value: multilangEnvironment.language,
39
- onChange: language => setMultilangEnvironment({
40
- language
41
- })
42
- }, Object.keys(multilangLanguages).map(lang => React__default["default"].createElement("option", {
43
- key: lang,
44
- value: lang
45
- }, multilangLanguages[lang].label)));
43
+ onChange: function onChange(language) {
44
+ return setMultilangEnvironment({
45
+ language: language
46
+ });
47
+ }
48
+ }, Object.keys(multilangLanguages).map(function (lang) {
49
+ return React__default["default"].createElement("option", {
50
+ key: lang,
51
+ value: lang
52
+ }, multilangLanguages[lang].label);
53
+ }));
46
54
  };
47
55
 
48
- module.exports = ExerciseMultilangDropdown;
56
+ exports["default"] = ExerciseMultilangDropdown;
@@ -1,5 +1,7 @@
1
1
  'use strict';
2
2
 
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
3
5
  var React = require('react');
4
6
  var ExerciseMultilangDropdown = require('./ExerciseMultilangDropdown.js');
5
7
 
@@ -7,10 +9,10 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
7
9
 
8
10
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
9
11
 
10
- const ExerciseMultilangDropdownLazy = () => {
12
+ var ExerciseMultilangDropdownLazy = function ExerciseMultilangDropdownLazy() {
11
13
  return React__default["default"].createElement(React__default["default"].Suspense, {
12
14
  fallback: null
13
- }, React__default["default"].createElement(ExerciseMultilangDropdown, null));
15
+ }, React__default["default"].createElement(ExerciseMultilangDropdown["default"], null));
14
16
  };
15
17
 
16
- module.exports = ExerciseMultilangDropdownLazy;
18
+ exports["default"] = ExerciseMultilangDropdownLazy;
@@ -1,5 +1,7 @@
1
1
  'use strict';
2
2
 
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
3
5
  var React = require('react');
4
6
  var designTokens = require('@elice/design-tokens');
5
7
  var recoil = require('recoil');
@@ -21,7 +23,7 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
21
23
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
22
24
  var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
23
25
 
24
- const StyledExercisePreview = styled__default["default"].div.withConfig({
26
+ var StyledExercisePreview = styled__default["default"].div.withConfig({
25
27
  componentId: "sc-i6d1i5-0"
26
28
  })(["width:100%;height:100%;background-color:", ";"], designTokens.base.color.navy7);
27
29
  /**
@@ -29,90 +31,77 @@ const StyledExercisePreview = styled__default["default"].div.withConfig({
29
31
  * - NoVnc
30
32
  * - Web browser
31
33
  */
32
-
33
- const ExercisePreview = () => {
34
- const {
35
- materialExerciseId
36
- } = React__default["default"].useContext(context.ExerciseContext);
37
- const exercise = recoil.useRecoilValue(recoil$1.exerciseState(materialExerciseId));
38
- const exercisePreviewType = recoil.useRecoilValue(recoil$1.exercisePreviewTypeState(materialExerciseId)); // runner states
39
-
40
- const isSubmitting = recoil.useRecoilValue(recoil$1.exerciseRunnerSubmittingState);
41
- const isRunning = recoil.useRecoilValue(recoil$1.exerciseRunnerRunningState);
42
- const exerciseRunnerRoomConnectionInfo = recoil.useRecoilValue(recoil$1.exerciseRunnerRoomConnectionInfoState); // preview refs
43
-
44
- const noVnc = React__default["default"].useRef(null);
45
- const webBrowser = React__default["default"].useRef(null); //
34
+ var ExercisePreview = function ExercisePreview() {
35
+ var _React$useContext = React__default["default"].useContext(context.ExerciseContext),
36
+ materialExerciseId = _React$useContext.materialExerciseId;
37
+ var exercise = recoil.useRecoilValue(recoil$1.exerciseState(materialExerciseId));
38
+ var exercisePreviewType = recoil.useRecoilValue(recoil$1.exercisePreviewTypeState(materialExerciseId));
39
+ // runner states
40
+ var isSubmitting = recoil.useRecoilValue(recoil$1.exerciseRunnerSubmittingState);
41
+ var isRunning = recoil.useRecoilValue(recoil$1.exerciseRunnerRunningState);
42
+ var exerciseRunnerRoomConnectionInfo = recoil.useRecoilValue(recoil$1.exerciseRunnerRoomConnectionInfoState);
43
+ // preview refs
44
+ var noVnc = React__default["default"].useRef(null);
45
+ var webBrowser = React__default["default"].useRef(null);
46
+ //
46
47
  // Action when exercise submitted.
47
48
  //
48
-
49
- React__default["default"].useEffect(() => {
49
+ React__default["default"].useEffect(function () {
50
50
  var _a, _b;
51
-
52
51
  if (!isSubmitting) {
53
52
  return;
54
53
  }
55
-
56
54
  switch (exercisePreviewType) {
57
55
  case recoilTypes.ExercisePreviewType.NoVnc:
58
56
  (_a = noVnc.current) === null || _a === void 0 ? void 0 : _a.reset();
59
57
  break;
60
-
61
58
  case recoilTypes.ExercisePreviewType.WebBrowser:
62
59
  (_b = webBrowser.current) === null || _b === void 0 ? void 0 : _b.reload();
63
60
  break;
64
61
  }
65
- }, // eslint-disable-next-line react-hooks/exhaustive-deps
62
+ },
63
+ // eslint-disable-next-line react-hooks/exhaustive-deps
66
64
  [isSubmitting]);
67
65
  /**
68
66
  * NoVnc
69
67
  */
70
-
71
- const renderNoVnc = () => {
68
+ var renderNoVnc = function renderNoVnc() {
72
69
  if (exercisePreviewType !== recoilTypes.ExercisePreviewType.NoVnc) {
73
70
  return null;
74
71
  }
75
-
76
72
  if (!(exercise === null || exercise === void 0 ? void 0 : exercise.readyExerciseImage) || !exerciseRunnerRoomConnectionInfo) {
77
73
  return null;
78
74
  }
79
-
80
- return React__default["default"].createElement(NoVncLazy, Object.assign({}, exerciseRunnerRoomConnectionInfo, {
75
+ return React__default["default"].createElement(NoVncLazy["default"], Object.assign({}, exerciseRunnerRoomConnectionInfo, {
81
76
  isRunning: isRunning,
82
77
  readyExerciseImage: exercise.readyExerciseImage,
83
- exercisePreviewDisplayModeButton: React__default["default"].createElement(ExercisePreviewDisplayModeButton, null),
78
+ exercisePreviewDisplayModeButton: React__default["default"].createElement(ExercisePreviewDisplayModeButton["default"], null),
84
79
  ref: noVnc
85
80
  }));
86
81
  };
87
82
  /**
88
83
  * Web browser
89
84
  */
90
-
91
-
92
- const renderWebBrowser = () => {
85
+ var renderWebBrowser = function renderWebBrowser() {
93
86
  if (exercisePreviewType !== recoilTypes.ExercisePreviewType.WebBrowser) {
94
87
  return null;
95
88
  }
96
-
97
89
  if (!exerciseRunnerRoomConnectionInfo) {
98
90
  return null;
99
91
  }
100
-
101
- return React__default["default"].createElement(WebBrowser, Object.assign({}, exerciseRunnerRoomConnectionInfo, {
102
- menuButtons: React__default["default"].createElement(ExercisePreviewDisplayModeButton, null),
92
+ return React__default["default"].createElement(WebBrowser["default"], Object.assign({}, exerciseRunnerRoomConnectionInfo, {
93
+ menuButtons: React__default["default"].createElement(ExercisePreviewDisplayModeButton["default"], null),
103
94
  ref: webBrowser
104
95
  }));
105
- }; //
96
+ };
97
+ //
106
98
  //
107
99
  //
108
-
109
-
110
100
  return React__default["default"].createElement(StyledExercisePreview, null, renderNoVnc(), renderWebBrowser());
111
101
  };
112
-
113
102
  var ExercisePreview$1 = ExerciseIntlProvider.withExerciseIntlProvider(ExercisePreview, {
114
- en: en,
115
- ko: ko
103
+ en: en["default"],
104
+ ko: ko["default"]
116
105
  });
117
106
 
118
- module.exports = ExercisePreview$1;
107
+ exports["default"] = ExercisePreview$1;
@@ -1,5 +1,8 @@
1
1
  'use strict';
2
2
 
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _rollupPluginBabelHelpers = require('../../../_virtual/_rollupPluginBabelHelpers.js');
3
6
  var React = require('react');
4
7
  var reactIntl = require('react-intl');
5
8
  var icons = require('@elice/icons');
@@ -15,23 +18,25 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
15
18
 
16
19
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
17
20
 
18
- const ExercisePreviewDisplayModeButton = React.forwardRef((props, ref) => {
21
+ var ExercisePreviewDisplayModeButton = React.forwardRef(function (props, ref) {
19
22
  var _a;
20
-
21
- const intl = reactIntl.useIntl();
22
- const [exercisePreviewDisplayMode, setExercisePreviewDisplayMode] = recoil.useRecoilState(recoil$1.exercisePreviewDisplayModeState);
23
+ var intl = reactIntl.useIntl();
24
+ var _useRecoilState = recoil.useRecoilState(recoil$1.exercisePreviewDisplayModeState),
25
+ _useRecoilState2 = _rollupPluginBabelHelpers.slicedToArray(_useRecoilState, 2),
26
+ exercisePreviewDisplayMode = _useRecoilState2[0],
27
+ setExercisePreviewDisplayMode = _useRecoilState2[1];
23
28
  /**
24
29
  * Handle click.
25
30
  */
26
-
27
- const handleClick = () => {
28
- setExercisePreviewDisplayMode(prevDisplayMode => prevDisplayMode === recoilTypes.ExercisePreviewDisplayMode.Mini ? recoilTypes.ExercisePreviewDisplayMode.SideBySide : recoilTypes.ExercisePreviewDisplayMode.Mini);
29
- }; //
31
+ var handleClick = function handleClick() {
32
+ setExercisePreviewDisplayMode(function (prevDisplayMode) {
33
+ return prevDisplayMode === recoilTypes.ExercisePreviewDisplayMode.Mini ? recoilTypes.ExercisePreviewDisplayMode.SideBySide : recoilTypes.ExercisePreviewDisplayMode.Mini;
34
+ });
35
+ };
30
36
  //
31
37
  //
32
-
33
-
34
- return React__default["default"].createElement(ExerciseMenuButton, Object.assign({}, props, {
38
+ //
39
+ return React__default["default"].createElement(ExerciseMenuButton["default"], Object.assign({}, props, {
35
40
  icon: exercisePreviewDisplayMode === recoilTypes.ExercisePreviewDisplayMode.Mini ? icons.eilScreenHalf : icons.eilPanelRight,
36
41
  title: ((_a = props.title) !== null && _a !== void 0 ? _a : exercisePreviewDisplayMode === recoilTypes.ExercisePreviewDisplayMode.Mini) ? intl.formatMessage({
37
42
  id: 'exercisePreview.displayModeButton.sideBySide'
@@ -44,4 +49,4 @@ const ExercisePreviewDisplayModeButton = React.forwardRef((props, ref) => {
44
49
  }));
45
50
  });
46
51
 
47
- module.exports = ExercisePreviewDisplayModeButton;
52
+ exports["default"] = ExercisePreviewDisplayModeButton;
@@ -1,5 +1,7 @@
1
1
  'use strict';
2
2
 
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
3
5
  var phrasesEn = {"exercisePreview.displayModeButton.mini":"Toggle to Mini mode","exercisePreview.displayModeButton.sideBySide":"Toggle to Side-by-side mode"};
4
6
 
5
- module.exports = phrasesEn;
7
+ exports["default"] = phrasesEn;
@@ -1,5 +1,7 @@
1
1
  'use strict';
2
2
 
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
3
5
  var phrasesKo = {"exercisePreview.displayModeButton.mini":"간소화 뷰로 전환","exercisePreview.displayModeButton.sideBySide":"사이드 뷰로 전환"};
4
6
 
5
- module.exports = phrasesKo;
7
+ exports["default"] = phrasesKo;