@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,4 +1,5 @@
1
- import { postGlobalAccountPreferenceEdit, postOrgMaterialExerciseExerciseRoomUserFileAdd, getOrgLectureGet, getOrgMaterialExerciseGet, getOrgLecturePageResolve, getOrgMaterialExerciseExerciseRoomGet, getOrgUserGet, getGlobalAccountPreferenceGet, getOrgMaterialExerciseExerciseImageExerciseFileGet, getOrgMaterialExerciseExerciseRoomUserFileGet } from '@elice/api-client';
1
+ import { defineProperty as _defineProperty, asyncToGenerator as _asyncToGenerator, regeneratorRuntime as _regeneratorRuntime, slicedToArray as _slicedToArray } from '../../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import { postGlobalAccountPreferenceEdit, postOrgMaterialExerciseExerciseRoomUserFileAdd, getOrgMaterialExerciseGet, getOrgLecturePageResolve, getOrgMaterialExerciseExerciseRoomGet, getOrgUserGet, getGlobalAccountPreferenceGet, getOrgMaterialExerciseExerciseImageExerciseFileGet, getOrgMaterialExerciseExerciseRoomUserFileGet, getOrgLectureGet } from '@elice/api-client';
2
3
  import { enums } from '@elice/types';
3
4
  import { EliceWebSocket } from '@elice/websocket';
4
5
  import { camelizeKeys } from 'humps';
@@ -13,196 +14,319 @@ import { ExercisePreviewType, ExercisePreviewDisplayMode } from './recoilTypes.j
13
14
 
14
15
  //
15
16
  //
16
-
17
- const KEY_PREFIX = 'MaterialExercise/Exercise/Global'; //
17
+ //
18
+ var KEY_PREFIX = 'MaterialExercise/Exercise/Global';
19
+ //
18
20
  // =============== entities ===============
19
21
  //
20
-
21
22
  /**
22
23
  * Lecture.
23
24
  */
24
-
25
- const exerciseLectureState = atomFamily({
26
- key: `${KEY_PREFIX}/Lecture`,
25
+ var exerciseLectureState = atomFamily({
26
+ key: "".concat(KEY_PREFIX, "/Lecture"),
27
27
  default: null,
28
- effects: lectureId => [({
29
- setSelf,
30
- trigger,
31
- onSet
32
- }) => {
33
- const get = async () => {
34
- if (!lectureId) {
35
- setSelf(null);
36
- return;
37
- }
38
-
39
- setSelf(await getOrgLectureGet({
40
- lectureId: lectureId
41
- }).then(res => res.lecture).catch(() => null));
42
- };
43
-
44
- if (trigger === 'get') {
45
- void get();
46
- }
47
-
48
- onSet((_prevValue, _newValue, isReset) => {
49
- if (isReset) {
28
+ effects: function effects(lectureId) {
29
+ return [function (_ref) {
30
+ var setSelf = _ref.setSelf,
31
+ trigger = _ref.trigger,
32
+ onSet = _ref.onSet;
33
+ var get = /*#__PURE__*/function () {
34
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
35
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
36
+ while (1) switch (_context.prev = _context.next) {
37
+ case 0:
38
+ if (lectureId) {
39
+ _context.next = 3;
40
+ break;
41
+ }
42
+ setSelf(null);
43
+ return _context.abrupt("return");
44
+ case 3:
45
+ _context.t0 = setSelf;
46
+ _context.next = 6;
47
+ return getOrgLectureGet({
48
+ lectureId: lectureId
49
+ }).then(function (res) {
50
+ return res.lecture;
51
+ }).catch(function () {
52
+ return null;
53
+ });
54
+ case 6:
55
+ _context.t1 = _context.sent;
56
+ (0, _context.t0)(_context.t1);
57
+ case 8:
58
+ case "end":
59
+ return _context.stop();
60
+ }
61
+ }, _callee);
62
+ }));
63
+ return function get() {
64
+ return _ref2.apply(this, arguments);
65
+ };
66
+ }();
67
+ if (trigger === 'get') {
50
68
  void get();
51
69
  }
52
- });
53
- }]
70
+ onSet(function (_prevValue, _newValue, isReset) {
71
+ if (isReset) {
72
+ void get();
73
+ }
74
+ });
75
+ }];
76
+ }
54
77
  });
55
78
  /**
56
79
  * Material exercise.
57
80
  */
58
-
59
- const exerciseState = atomFamily({
60
- key: `${KEY_PREFIX}/Exercise`,
81
+ var exerciseState = atomFamily({
82
+ key: "".concat(KEY_PREFIX, "/Exercise"),
61
83
  default: null,
62
- effects: materialExerciseId => [({
63
- setSelf,
64
- trigger
65
- }) => {
66
- const get = async () => {
67
- setSelf(await getOrgMaterialExerciseGet({
68
- materialExerciseId
69
- }).then(res => res.materialExercise).then(materialExercise => Promise.all([materialExercise, getOrgLecturePageResolve({
70
- materialId: materialExercise.id,
71
- materialType: enums.LectureMaterialType.Exercise
72
- }).then(res => ({
73
- _courseId: res.courseId,
74
- _lectureId: res.lectureId,
75
- _lecturePageId: res.lecturePageId,
76
- _orderNo: res.orderNo
77
- })).catch(err => {
78
- throw err;
79
- })])).then(([materialExercise, lecturePageResolve]) => Object.assign(Object.assign({}, materialExercise), lecturePageResolve)).catch(() => null));
80
- };
81
-
82
- if (trigger === 'get') {
83
- void get();
84
- }
85
- }]
84
+ effects: function effects(materialExerciseId) {
85
+ return [function (_ref3) {
86
+ var setSelf = _ref3.setSelf,
87
+ trigger = _ref3.trigger;
88
+ var get = /*#__PURE__*/function () {
89
+ var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
90
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
91
+ while (1) switch (_context2.prev = _context2.next) {
92
+ case 0:
93
+ _context2.t0 = setSelf;
94
+ _context2.next = 3;
95
+ return getOrgMaterialExerciseGet({
96
+ materialExerciseId: materialExerciseId
97
+ }).then(function (res) {
98
+ return res.materialExercise;
99
+ }).then(function (materialExercise) {
100
+ return Promise.all([materialExercise, getOrgLecturePageResolve({
101
+ materialId: materialExercise.id,
102
+ materialType: enums.LectureMaterialType.Exercise
103
+ }).then(function (res) {
104
+ return {
105
+ _courseId: res.courseId,
106
+ _lectureId: res.lectureId,
107
+ _lecturePageId: res.lecturePageId,
108
+ _orderNo: res.orderNo
109
+ };
110
+ }).catch(function (err) {
111
+ throw err;
112
+ })]);
113
+ }).then(function (_ref5) {
114
+ var _ref6 = _slicedToArray(_ref5, 2),
115
+ materialExercise = _ref6[0],
116
+ lecturePageResolve = _ref6[1];
117
+ return Object.assign(Object.assign({}, materialExercise), lecturePageResolve);
118
+ }).catch(function () {
119
+ return null;
120
+ });
121
+ case 3:
122
+ _context2.t1 = _context2.sent;
123
+ (0, _context2.t0)(_context2.t1);
124
+ case 5:
125
+ case "end":
126
+ return _context2.stop();
127
+ }
128
+ }, _callee2);
129
+ }));
130
+ return function get() {
131
+ return _ref4.apply(this, arguments);
132
+ };
133
+ }();
134
+ if (trigger === 'get') {
135
+ void get();
136
+ }
137
+ }];
138
+ }
86
139
  });
87
140
  /**
88
141
  * Material exercise room.
89
142
  */
90
-
91
- const exerciseRoomState = atomFamily({
92
- key: `${KEY_PREFIX}/ExerciseRoom`,
143
+ var exerciseRoomState = atomFamily({
144
+ key: "".concat(KEY_PREFIX, "/ExerciseRoom"),
93
145
  default: null,
94
- effects: exerciseRoomId => [({
95
- setSelf,
96
- trigger
97
- }) => {
98
- const get = async () => {
99
- if (!exerciseRoomId) {
100
- return null;
146
+ effects: function effects(exerciseRoomId) {
147
+ return [function (_ref7) {
148
+ var setSelf = _ref7.setSelf,
149
+ trigger = _ref7.trigger;
150
+ var get = /*#__PURE__*/function () {
151
+ var _ref8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
152
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
153
+ while (1) switch (_context3.prev = _context3.next) {
154
+ case 0:
155
+ if (exerciseRoomId) {
156
+ _context3.next = 2;
157
+ break;
158
+ }
159
+ return _context3.abrupt("return", null);
160
+ case 2:
161
+ _context3.t0 = setSelf;
162
+ _context3.next = 5;
163
+ return getOrgMaterialExerciseExerciseRoomGet({
164
+ exerciseRoomId: exerciseRoomId
165
+ }).then(function (res) {
166
+ return res.exerciseRoom;
167
+ }).catch(function () {
168
+ return null;
169
+ });
170
+ case 5:
171
+ _context3.t1 = _context3.sent;
172
+ (0, _context3.t0)(_context3.t1);
173
+ case 7:
174
+ case "end":
175
+ return _context3.stop();
176
+ }
177
+ }, _callee3);
178
+ }));
179
+ return function get() {
180
+ return _ref8.apply(this, arguments);
181
+ };
182
+ }();
183
+ if (trigger === 'get') {
184
+ void get();
101
185
  }
102
-
103
- setSelf(await getOrgMaterialExerciseExerciseRoomGet({
104
- exerciseRoomId
105
- }).then(res => res.exerciseRoom).catch(() => null));
106
- };
107
-
108
- if (trigger === 'get') {
109
- void get();
110
- }
111
- }]
186
+ }];
187
+ }
112
188
  });
113
189
  /**
114
190
  * User.
115
191
  */
116
-
117
- const exerciseUserState = atom({
118
- key: `${KEY_PREFIX}/User`,
192
+ var exerciseUserState = atom({
193
+ key: "".concat(KEY_PREFIX, "/User"),
119
194
  default: null,
120
- effects: [({
121
- setSelf,
122
- trigger
123
- }) => {
124
- const get = async () => {
125
- setSelf(await getOrgUserGet().then(res => res.user).catch(() => null));
126
- };
127
-
195
+ effects: [function (_ref9) {
196
+ var setSelf = _ref9.setSelf,
197
+ trigger = _ref9.trigger;
198
+ var get = /*#__PURE__*/function () {
199
+ var _ref10 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
200
+ return _regeneratorRuntime().wrap(function _callee4$(_context4) {
201
+ while (1) switch (_context4.prev = _context4.next) {
202
+ case 0:
203
+ _context4.t0 = setSelf;
204
+ _context4.next = 3;
205
+ return getOrgUserGet().then(function (res) {
206
+ return res.user;
207
+ }).catch(function () {
208
+ return null;
209
+ });
210
+ case 3:
211
+ _context4.t1 = _context4.sent;
212
+ (0, _context4.t0)(_context4.t1);
213
+ case 5:
214
+ case "end":
215
+ return _context4.stop();
216
+ }
217
+ }, _callee4);
218
+ }));
219
+ return function get() {
220
+ return _ref10.apply(this, arguments);
221
+ };
222
+ }();
128
223
  if (trigger === 'get') {
129
224
  void get();
130
225
  }
131
226
  }]
132
- }); //
227
+ });
228
+ //
133
229
  // =============== file tabs ===============
134
230
  //
135
-
136
231
  /**
137
232
  *
138
233
  */
139
-
140
- const exerciseFileTabsOpenedState = atomFamily({
141
- key: `${KEY_PREFIX}/FileTabs/Opened`,
234
+ var exerciseFileTabsOpenedState = atomFamily({
235
+ key: "".concat(KEY_PREFIX, "/FileTabs/Opened"),
142
236
  default: selectorFamily({
143
- key: `${KEY_PREFIX}}/FileTabs/Opened/Default`,
144
- get: ({
145
- materialExerciseId,
146
- exerciseRoomId
147
- }) => async ({
148
- get
149
- }) => {
150
- var _a, _b, _c, _d;
151
-
152
- const exercise = get(exerciseState(materialExerciseId));
153
- const mulLang = get(exerciseMultilangLanguagesState(materialExerciseId));
154
- const mulEnv = get(exerciseMultilangEnvironmentState({
155
- materialExerciseId,
156
- exerciseRoomId
157
- }));
158
-
159
- if ((exercise === null || exercise === void 0 ? void 0 : exercise.envType) === enums.ExerciseEnvType.MultiLanguage && mulLang && mulEnv) {
160
- const openFilelist = (_b = (_a = mulLang === null || mulLang === void 0 ? void 0 : mulLang[mulEnv === null || mulEnv === void 0 ? void 0 : mulEnv.language]) === null || _a === void 0 ? void 0 : _a.initialOpenFilelist) !== null && _b !== void 0 ? _b : [];
161
- return openFilelist;
162
- } else {
163
- return (_d = (_c = exercise === null || exercise === void 0 ? void 0 : exercise.readyExerciseImage) === null || _c === void 0 ? void 0 : _c.initialOpenFilelist) !== null && _d !== void 0 ? _d : [];
164
- }
237
+ key: "".concat(KEY_PREFIX, "}/FileTabs/Opened/Default"),
238
+ get: function get(_ref11) {
239
+ var materialExerciseId = _ref11.materialExerciseId,
240
+ exerciseRoomId = _ref11.exerciseRoomId;
241
+ return /*#__PURE__*/function () {
242
+ var _ref13 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(_ref12) {
243
+ var get, _a, _b, _c, _d, exercise, mulLang, mulEnv, openFilelist;
244
+ return _regeneratorRuntime().wrap(function _callee5$(_context5) {
245
+ while (1) switch (_context5.prev = _context5.next) {
246
+ case 0:
247
+ get = _ref12.get;
248
+ exercise = get(exerciseState(materialExerciseId));
249
+ mulLang = get(exerciseMultilangLanguagesState(materialExerciseId));
250
+ mulEnv = get(exerciseMultilangEnvironmentState({
251
+ materialExerciseId: materialExerciseId,
252
+ exerciseRoomId: exerciseRoomId
253
+ }));
254
+ if (!((exercise === null || exercise === void 0 ? void 0 : exercise.envType) === enums.ExerciseEnvType.MultiLanguage && mulLang && mulEnv)) {
255
+ _context5.next = 9;
256
+ break;
257
+ }
258
+ openFilelist = (_b = (_a = mulLang === null || mulLang === void 0 ? void 0 : mulLang[mulEnv === null || mulEnv === void 0 ? void 0 : mulEnv.language]) === null || _a === void 0 ? void 0 : _a.initialOpenFilelist) !== null && _b !== void 0 ? _b : [];
259
+ return _context5.abrupt("return", openFilelist);
260
+ case 9:
261
+ return _context5.abrupt("return", (_d = (_c = exercise === null || exercise === void 0 ? void 0 : exercise.readyExerciseImage) === null || _c === void 0 ? void 0 : _c.initialOpenFilelist) !== null && _d !== void 0 ? _d : []);
262
+ case 10:
263
+ case "end":
264
+ return _context5.stop();
265
+ }
266
+ }, _callee5);
267
+ }));
268
+ return function (_x) {
269
+ return _ref13.apply(this, arguments);
270
+ };
271
+ }();
165
272
  }
166
273
  })
167
- }); //
274
+ });
275
+ //
168
276
  // =============== file tree ===============
169
277
  //
170
-
171
278
  /**
172
279
  *
173
280
  */
174
-
175
- const exerciseFileTreeOpenedState = atom({
176
- key: `${KEY_PREFIX}/FileTree/Opened`,
281
+ var exerciseFileTreeOpenedState = atom({
282
+ key: "".concat(KEY_PREFIX, "/FileTree/Opened"),
177
283
  default: false
178
- }); //
284
+ });
285
+ //
179
286
  // =============== preference ===============
180
287
  //
181
-
182
- const EDITOR_ACCOUNT_PREFERENCE_PKEY_MONACO = 'material.exercise.editor.preference';
288
+ var EDITOR_ACCOUNT_PREFERENCE_PKEY_MONACO = 'material.exercise.editor.preference';
183
289
  /**
184
290
  * Editor preference.
185
291
  */
186
-
187
- const exerciseEditorPreferenceState = atom({
188
- key: `${KEY_PREFIX}/EditorPreference`,
292
+ var exerciseEditorPreferenceState = atom({
293
+ key: "".concat(KEY_PREFIX, "/EditorPreference"),
189
294
  default: DEFAULT_MONACO_EDITOR_PREFERENCE,
190
- effects: [({
191
- setSelf,
192
- trigger,
193
- onSet
194
- }) => {
195
- const get = async () => {
196
- setSelf(await getGlobalAccountPreferenceGet({
197
- pkey: EDITOR_ACCOUNT_PREFERENCE_PKEY_MONACO
198
- }).then(res => normalizeMonacoPreference(res.pvalue)).catch(() => DEFAULT_MONACO_EDITOR_PREFERENCE));
199
- };
200
-
295
+ effects: [function (_ref14) {
296
+ var setSelf = _ref14.setSelf,
297
+ trigger = _ref14.trigger,
298
+ onSet = _ref14.onSet;
299
+ var get = /*#__PURE__*/function () {
300
+ var _ref15 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6() {
301
+ return _regeneratorRuntime().wrap(function _callee6$(_context6) {
302
+ while (1) switch (_context6.prev = _context6.next) {
303
+ case 0:
304
+ _context6.t0 = setSelf;
305
+ _context6.next = 3;
306
+ return getGlobalAccountPreferenceGet({
307
+ pkey: EDITOR_ACCOUNT_PREFERENCE_PKEY_MONACO
308
+ }).then(function (res) {
309
+ return normalizeMonacoPreference(res.pvalue);
310
+ }).catch(function () {
311
+ return DEFAULT_MONACO_EDITOR_PREFERENCE;
312
+ });
313
+ case 3:
314
+ _context6.t1 = _context6.sent;
315
+ (0, _context6.t0)(_context6.t1);
316
+ case 5:
317
+ case "end":
318
+ return _context6.stop();
319
+ }
320
+ }, _callee6);
321
+ }));
322
+ return function get() {
323
+ return _ref15.apply(this, arguments);
324
+ };
325
+ }();
201
326
  if (trigger === 'get') {
202
327
  void get();
203
328
  }
204
-
205
- onSet((newPreference, prevPreference, isReset) => {
329
+ onSet(function (newPreference, prevPreference, isReset) {
206
330
  if (!isEqual(newPreference, prevPreference) && !isReset) {
207
331
  void postGlobalAccountPreferenceEdit({
208
332
  pkey: EDITOR_ACCOUNT_PREFERENCE_PKEY_MONACO,
@@ -211,58 +335,73 @@ const exerciseEditorPreferenceState = atom({
211
335
  }
212
336
  });
213
337
  }]
214
- }); //
338
+ });
339
+ //
215
340
  // =============== preview ===============
216
341
  //
217
-
218
- const EDITOR_ACCOUNT_PREFERENCE_PKEY_PREVIEW_MODE = 'material.exercise.preview.mode';
342
+ var EDITOR_ACCOUNT_PREFERENCE_PKEY_PREVIEW_MODE = 'material.exercise.preview.mode';
219
343
  /**
220
344
  *
221
345
  */
222
-
223
- const exercisePreviewTypeState = selectorFamily({
224
- key: `${KEY_PREFIX}/Preview/Type`,
225
- get: materialExerciseId => ({
226
- get
227
- }) => {
228
- const exercise = get(exerciseState(materialExerciseId));
229
- const readyExerciseImage = exercise === null || exercise === void 0 ? void 0 : exercise.readyExerciseImage;
230
-
231
- switch (true) {
232
- case Boolean(readyExerciseImage === null || readyExerciseImage === void 0 ? void 0 : readyExerciseImage.isVnc):
233
- return ExercisePreviewType.NoVnc;
234
-
235
- case Boolean(readyExerciseImage === null || readyExerciseImage === void 0 ? void 0 : readyExerciseImage.httpPort):
236
- return ExercisePreviewType.WebBrowser;
237
-
238
- default:
239
- return ExercisePreviewType.None;
240
- }
346
+ var exercisePreviewTypeState = selectorFamily({
347
+ key: "".concat(KEY_PREFIX, "/Preview/Type"),
348
+ get: function get(materialExerciseId) {
349
+ return function (_ref16) {
350
+ var get = _ref16.get;
351
+ var exercise = get(exerciseState(materialExerciseId));
352
+ var readyExerciseImage = exercise === null || exercise === void 0 ? void 0 : exercise.readyExerciseImage;
353
+ switch (true) {
354
+ case Boolean(readyExerciseImage === null || readyExerciseImage === void 0 ? void 0 : readyExerciseImage.isVnc):
355
+ return ExercisePreviewType.NoVnc;
356
+ case Boolean(readyExerciseImage === null || readyExerciseImage === void 0 ? void 0 : readyExerciseImage.httpPort):
357
+ return ExercisePreviewType.WebBrowser;
358
+ default:
359
+ return ExercisePreviewType.None;
360
+ }
361
+ };
241
362
  }
242
363
  });
243
364
  /**
244
365
  *
245
366
  */
246
-
247
- const exercisePreviewDisplayModeState = atom({
248
- key: `${KEY_PREFIX}/Preview/DisplayMode`,
367
+ var exercisePreviewDisplayModeState = atom({
368
+ key: "".concat(KEY_PREFIX, "/Preview/DisplayMode"),
249
369
  default: ExercisePreviewDisplayMode.Mini,
250
- effects: [({
251
- trigger,
252
- setSelf,
253
- onSet
254
- }) => {
255
- const get = async () => {
256
- setSelf(await getGlobalAccountPreferenceGet({
257
- pkey: EDITOR_ACCOUNT_PREFERENCE_PKEY_PREVIEW_MODE
258
- }).then(res => Number(res.pvalue) || ExercisePreviewDisplayMode.Mini).catch(() => ExercisePreviewDisplayMode.Mini));
259
- };
260
-
370
+ effects: [function (_ref17) {
371
+ var trigger = _ref17.trigger,
372
+ setSelf = _ref17.setSelf,
373
+ onSet = _ref17.onSet;
374
+ var get = /*#__PURE__*/function () {
375
+ var _ref18 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7() {
376
+ return _regeneratorRuntime().wrap(function _callee7$(_context7) {
377
+ while (1) switch (_context7.prev = _context7.next) {
378
+ case 0:
379
+ _context7.t0 = setSelf;
380
+ _context7.next = 3;
381
+ return getGlobalAccountPreferenceGet({
382
+ pkey: EDITOR_ACCOUNT_PREFERENCE_PKEY_PREVIEW_MODE
383
+ }).then(function (res) {
384
+ return Number(res.pvalue) || ExercisePreviewDisplayMode.Mini;
385
+ }).catch(function () {
386
+ return ExercisePreviewDisplayMode.Mini;
387
+ });
388
+ case 3:
389
+ _context7.t1 = _context7.sent;
390
+ (0, _context7.t0)(_context7.t1);
391
+ case 5:
392
+ case "end":
393
+ return _context7.stop();
394
+ }
395
+ }, _callee7);
396
+ }));
397
+ return function get() {
398
+ return _ref18.apply(this, arguments);
399
+ };
400
+ }();
261
401
  if (trigger === 'get') {
262
402
  void get();
263
403
  }
264
-
265
- onSet((newDisplayMode, prevDisplayMode, isReset) => {
404
+ onSet(function (newDisplayMode, prevDisplayMode, isReset) {
266
405
  if (!isEqual(newDisplayMode, prevDisplayMode) && !isReset) {
267
406
  void postGlobalAccountPreferenceEdit({
268
407
  pkey: EDITOR_ACCOUNT_PREFERENCE_PKEY_PREVIEW_MODE,
@@ -271,81 +410,77 @@ const exercisePreviewDisplayModeState = atom({
271
410
  }
272
411
  });
273
412
  }]
274
- }); //
413
+ });
414
+ //
275
415
  // =============== runner ===============
276
416
  //
277
-
278
417
  /**
279
418
  *
280
419
  */
281
-
282
- const exerciseRunnerSubmittingState = atom({
283
- key: `${KEY_PREFIX}/Runner/Submitting`,
420
+ var exerciseRunnerSubmittingState = atom({
421
+ key: "".concat(KEY_PREFIX, "/Runner/Submitting"),
284
422
  default: false
285
423
  });
286
424
  /**
287
425
  *
288
426
  */
289
-
290
- const exerciseRunnerRunningState = atom({
291
- key: `${KEY_PREFIX}/Runner/Running`,
427
+ var exerciseRunnerRunningState = atom({
428
+ key: "".concat(KEY_PREFIX, "/Runner/Running"),
292
429
  default: false
293
430
  });
294
431
  /**
295
432
  *
296
433
  */
297
-
298
- const exerciseRunnerRunTypeState = atom({
299
- key: `${KEY_PREFIX}/Runner/RunType`,
434
+ var exerciseRunnerRunTypeState = atom({
435
+ key: "".concat(KEY_PREFIX, "/Runner/RunType"),
300
436
  default: null
301
437
  });
302
438
  /**
303
439
  *
304
440
  */
305
-
306
- const exerciseRunnerRoomConnectionInfoState = atom({
307
- key: `${KEY_PREFIX}/Runner/RoomConnectionInfoState`,
441
+ var exerciseRunnerRoomConnectionInfoState = atom({
442
+ key: "".concat(KEY_PREFIX, "/Runner/RoomConnectionInfoState"),
308
443
  default: null
309
444
  });
310
445
  /**
311
446
  *
312
447
  */
313
-
314
- const exerciseRunnerStdioFilesState = atom({
315
- key: `${KEY_PREFIX}/Runner/StdioFiles`,
448
+ var exerciseRunnerStdioFilesState = atom({
449
+ key: "".concat(KEY_PREFIX, "/Runner/StdioFiles"),
316
450
  default: []
317
451
  });
318
452
  /**
319
453
  *
320
454
  */
321
-
322
- const exerciseRunnerWebSocketStatusQuery = selector({
323
- key: `${KEY_PREFIX}/Runner/WebsocketState`,
324
- get: ({
325
- get
326
- }) => {
327
- const states = Object.freeze([get(exerciseWebsocketStates).runnerRoom, get(exerciseWebsocketStates).stdio]); // connecting
328
-
455
+ var exerciseRunnerWebSocketStatusQuery = selector({
456
+ key: "".concat(KEY_PREFIX, "/Runner/WebsocketState"),
457
+ get: function get(_ref19) {
458
+ var _get = _ref19.get;
459
+ var states = Object.freeze([_get(exerciseWebsocketStates).runnerRoom, _get(exerciseWebsocketStates).stdio]);
460
+ // connecting
329
461
  if (states.includes(EliceWebSocket.CLOSED) || states.includes(EliceWebSocket.CONNECTING)) {
330
462
  return EliceWebSocket.CONNECTING;
331
- } // connected
332
- else if (states.every(state => state === WebSocket.OPEN)) {
463
+ }
464
+ // connected
465
+ else if (states.every(function (state) {
466
+ return state === WebSocket.OPEN;
467
+ })) {
333
468
  return EliceWebSocket.OPEN;
334
- } // reconnecting
469
+ }
470
+ // reconnecting
335
471
  else {
336
472
  return EliceWebSocket.CONNECTING;
337
473
  }
338
474
  }
339
- }); //
475
+ });
476
+ //
340
477
  // =============== websocket ===============
341
478
  //
342
-
343
479
  /**
344
480
  *
345
481
  */
346
-
347
- const exerciseWebsocketStates = atom({
348
- key: `${KEY_PREFIX}/Websocket/States`,
482
+ var exerciseWebsocketStates = atom({
483
+ key: "".concat(KEY_PREFIX, "/Websocket/States"),
349
484
  default: {
350
485
  runnerRoom: EliceWebSocket.CLOSED,
351
486
  stdio: EliceWebSocket.CLOSED,
@@ -355,158 +490,222 @@ const exerciseWebsocketStates = atom({
355
490
  /**
356
491
  *
357
492
  */
358
-
359
- const exerciseWebsocketQuery = selectorFamily({
360
- key: `${KEY_PREFIX}/Websocket/State`,
361
- get: key => ({
362
- get
363
- }) => {
364
- return get(exerciseWebsocketStates)[key];
493
+ var exerciseWebsocketQuery = selectorFamily({
494
+ key: "".concat(KEY_PREFIX, "/Websocket/State"),
495
+ get: function get(key) {
496
+ return function (_ref20) {
497
+ var get = _ref20.get;
498
+ return get(exerciseWebsocketStates)[key];
499
+ };
365
500
  },
366
- set: key => ({
367
- get,
368
- set
369
- }, newWebSocketState) => {
370
- set(exerciseWebsocketStates, Object.assign(Object.assign({}, get(exerciseWebsocketStates)), {
371
- [key]: newWebSocketState
372
- }));
501
+ set: function set(key) {
502
+ return function (_ref21, newWebSocketState) {
503
+ var get = _ref21.get,
504
+ set = _ref21.set;
505
+ set(exerciseWebsocketStates, Object.assign(Object.assign({}, get(exerciseWebsocketStates)), _defineProperty({}, key, newWebSocketState)));
506
+ };
373
507
  }
374
- }); //
508
+ });
509
+ //
375
510
  // =============== multi language ===============
376
511
  //
377
-
378
- const MULTILANG_ENVIRONMENT_FILENAME = '.environment.json';
379
- const MULTILANG_LANGUAGES_FILENAME = '.languages.json';
512
+ var MULTILANG_ENVIRONMENT_FILENAME = '.environment.json';
513
+ var MULTILANG_LANGUAGES_FILENAME = '.languages.json';
380
514
  /**
381
515
  *
382
516
  */
383
-
384
- const exerciseMultilangLanguagesState = atomFamily({
385
- key: `${KEY_PREFIX}/Multilang/Languages`,
517
+ var exerciseMultilangLanguagesState = atomFamily({
518
+ key: "".concat(KEY_PREFIX, "/Multilang/Languages"),
386
519
  default: undefined,
387
- effects: materialExerciseId => [({
388
- getPromise,
389
- trigger,
390
- setSelf,
391
- onSet
392
- }) => {
393
- const get = async () => {
394
- var _a, _b;
395
-
396
- if (!materialExerciseId) {
397
- setSelf(undefined);
398
- return;
399
- }
400
-
401
- const exercise = await getPromise(exerciseState(materialExerciseId));
402
-
403
- if (!exercise) {
404
- setSelf(undefined);
405
- return;
406
- }
407
-
408
- setSelf(await getOrgMaterialExerciseExerciseImageExerciseFileGet({
409
- exerciseImageId: (_b = (_a = exercise.readyExerciseImage) === null || _a === void 0 ? void 0 : _a.id) !== null && _b !== void 0 ? _b : 0,
410
- filename: MULTILANG_LANGUAGES_FILENAME
411
- }).then(res => res.exerciseFile.content).then(content => camelizeKeys(JSON.parse(content))).catch(() => null));
412
- };
413
-
414
- if (trigger === 'get') {
415
- void get();
416
- }
417
-
418
- onSet((_prevValue, _newValue, isReset) => {
419
- if (isReset) {
520
+ effects: function effects(materialExerciseId) {
521
+ return [function (_ref22) {
522
+ var getPromise = _ref22.getPromise,
523
+ trigger = _ref22.trigger,
524
+ setSelf = _ref22.setSelf,
525
+ onSet = _ref22.onSet;
526
+ var get = /*#__PURE__*/function () {
527
+ var _ref23 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee8() {
528
+ var _a, _b, exercise;
529
+ return _regeneratorRuntime().wrap(function _callee8$(_context8) {
530
+ while (1) switch (_context8.prev = _context8.next) {
531
+ case 0:
532
+ if (materialExerciseId) {
533
+ _context8.next = 3;
534
+ break;
535
+ }
536
+ setSelf(undefined);
537
+ return _context8.abrupt("return");
538
+ case 3:
539
+ _context8.next = 5;
540
+ return getPromise(exerciseState(materialExerciseId));
541
+ case 5:
542
+ exercise = _context8.sent;
543
+ if (exercise) {
544
+ _context8.next = 9;
545
+ break;
546
+ }
547
+ setSelf(undefined);
548
+ return _context8.abrupt("return");
549
+ case 9:
550
+ _context8.t0 = setSelf;
551
+ _context8.next = 12;
552
+ return getOrgMaterialExerciseExerciseImageExerciseFileGet({
553
+ exerciseImageId: (_b = (_a = exercise.readyExerciseImage) === null || _a === void 0 ? void 0 : _a.id) !== null && _b !== void 0 ? _b : 0,
554
+ filename: MULTILANG_LANGUAGES_FILENAME
555
+ }).then(function (res) {
556
+ return res.exerciseFile.content;
557
+ }).then(function (content) {
558
+ return camelizeKeys(JSON.parse(content));
559
+ }).catch(function () {
560
+ return null;
561
+ });
562
+ case 12:
563
+ _context8.t1 = _context8.sent;
564
+ (0, _context8.t0)(_context8.t1);
565
+ case 14:
566
+ case "end":
567
+ return _context8.stop();
568
+ }
569
+ }, _callee8);
570
+ }));
571
+ return function get() {
572
+ return _ref23.apply(this, arguments);
573
+ };
574
+ }();
575
+ if (trigger === 'get') {
420
576
  void get();
421
577
  }
422
- });
423
- }]
578
+ onSet(function (_prevValue, _newValue, isReset) {
579
+ if (isReset) {
580
+ void get();
581
+ }
582
+ });
583
+ }];
584
+ }
424
585
  });
425
586
  /**
426
587
  *
427
588
  */
428
-
429
- const exerciseMultilangEnvironmentState = atomFamily({
430
- key: `${KEY_PREFIX}/Multilang/Environment`,
589
+ var exerciseMultilangEnvironmentState = atomFamily({
590
+ key: "".concat(KEY_PREFIX, "/Multilang/Environment"),
431
591
  default: null,
432
- effects: ({
433
- materialExerciseId,
434
- exerciseRoomId
435
- }) => [({
436
- trigger,
437
- getPromise,
438
- setSelf,
439
- onSet
440
- }) => {
441
- const get = async () => {
442
- setSelf(getOrgMaterialExerciseExerciseRoomUserFileGet({
443
- exerciseRoomId,
444
- filename: MULTILANG_ENVIRONMENT_FILENAME
445
- }).then(res => camelizeKeys(JSON.parse(res.userFile.content))).catch(async () => getPromise(exerciseMultilangLanguagesState(materialExerciseId)).then(languages => {
446
- if (!languages) {
447
- throw new Error('err_no_languages');
448
- }
449
-
450
- const language = Object.keys(languages)[0];
451
- return {
452
- language
592
+ effects: function effects(_ref24) {
593
+ var materialExerciseId = _ref24.materialExerciseId,
594
+ exerciseRoomId = _ref24.exerciseRoomId;
595
+ return [function (_ref25) {
596
+ var trigger = _ref25.trigger,
597
+ getPromise = _ref25.getPromise,
598
+ setSelf = _ref25.setSelf,
599
+ onSet = _ref25.onSet;
600
+ var get = /*#__PURE__*/function () {
601
+ var _ref26 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee10() {
602
+ return _regeneratorRuntime().wrap(function _callee10$(_context10) {
603
+ while (1) switch (_context10.prev = _context10.next) {
604
+ case 0:
605
+ setSelf(getOrgMaterialExerciseExerciseRoomUserFileGet({
606
+ exerciseRoomId: exerciseRoomId,
607
+ filename: MULTILANG_ENVIRONMENT_FILENAME
608
+ }).then(function (res) {
609
+ return camelizeKeys(JSON.parse(res.userFile.content));
610
+ }).catch( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee9() {
611
+ return _regeneratorRuntime().wrap(function _callee9$(_context9) {
612
+ while (1) switch (_context9.prev = _context9.next) {
613
+ case 0:
614
+ return _context9.abrupt("return", getPromise(exerciseMultilangLanguagesState(materialExerciseId)).then(function (languages) {
615
+ if (!languages) {
616
+ throw new Error('err_no_languages');
617
+ }
618
+ var language = Object.keys(languages)[0];
619
+ return {
620
+ language: language
621
+ };
622
+ }).catch(function () {
623
+ return null;
624
+ }));
625
+ case 1:
626
+ case "end":
627
+ return _context9.stop();
628
+ }
629
+ }, _callee9);
630
+ }))));
631
+ case 1:
632
+ case "end":
633
+ return _context10.stop();
634
+ }
635
+ }, _callee10);
636
+ }));
637
+ return function get() {
638
+ return _ref26.apply(this, arguments);
453
639
  };
454
- }).catch(() => null)));
455
- };
456
-
457
- if (trigger === 'get') {
458
- void get();
459
- }
460
-
461
- onSet((newEnvJson, _, isReset) => {
462
- if (isReset) {
463
- return;
640
+ }();
641
+ if (trigger === 'get') {
642
+ void get();
464
643
  }
465
-
466
- void postOrgMaterialExerciseExerciseRoomUserFileAdd({
467
- exerciseRoomId,
468
- userFile: new File([JSON.stringify(newEnvJson)], MULTILANG_ENVIRONMENT_FILENAME, {
469
- type: 'application/json'
470
- }),
471
- path: '',
472
- overwrite: true
644
+ onSet(function (newEnvJson, _, isReset) {
645
+ if (isReset) {
646
+ return;
647
+ }
648
+ void postOrgMaterialExerciseExerciseRoomUserFileAdd({
649
+ exerciseRoomId: exerciseRoomId,
650
+ userFile: new File([JSON.stringify(newEnvJson)], MULTILANG_ENVIRONMENT_FILENAME, {
651
+ type: 'application/json'
652
+ }),
653
+ path: '',
654
+ overwrite: true
655
+ });
473
656
  });
474
- });
475
- }]
476
- }); //
657
+ }];
658
+ }
659
+ });
660
+ //
477
661
  // =============== arduino ===============
478
662
  //
479
-
480
- const ARDUINO_ACCOUNT_PREFERENCE_KEY = 'material.exercise.arduino.preference';
481
- const DEFAULT_ARDUINO_PREFERENCE = {
663
+ var ARDUINO_ACCOUNT_PREFERENCE_KEY = 'material.exercise.arduino.preference';
664
+ var DEFAULT_ARDUINO_PREFERENCE = {
482
665
  baudRate: 9600,
483
666
  port: ''
484
667
  };
485
668
  /**
486
669
  * Arduino preference.
487
670
  */
488
-
489
- const exerciseArduinoPreferenceState = atom({
490
- key: `${KEY_PREFIX}/Arduino/Preference`,
671
+ var exerciseArduinoPreferenceState = atom({
672
+ key: "".concat(KEY_PREFIX, "/Arduino/Preference"),
491
673
  default: DEFAULT_ARDUINO_PREFERENCE,
492
- effects: [({
493
- trigger,
494
- setSelf,
495
- onSet
496
- }) => {
497
- const get = async () => {
498
- setSelf(await getGlobalAccountPreferenceGet({
499
- pkey: ARDUINO_ACCOUNT_PREFERENCE_KEY
500
- }).then(res => {
501
- return Object.assign(Object.assign({}, DEFAULT_ARDUINO_PREFERENCE), res.pvalue);
502
- }).catch(() => DEFAULT_ARDUINO_PREFERENCE));
503
- };
504
-
674
+ effects: [function (_ref28) {
675
+ var trigger = _ref28.trigger,
676
+ setSelf = _ref28.setSelf,
677
+ onSet = _ref28.onSet;
678
+ var get = /*#__PURE__*/function () {
679
+ var _ref29 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee11() {
680
+ return _regeneratorRuntime().wrap(function _callee11$(_context11) {
681
+ while (1) switch (_context11.prev = _context11.next) {
682
+ case 0:
683
+ _context11.t0 = setSelf;
684
+ _context11.next = 3;
685
+ return getGlobalAccountPreferenceGet({
686
+ pkey: ARDUINO_ACCOUNT_PREFERENCE_KEY
687
+ }).then(function (res) {
688
+ return Object.assign(Object.assign({}, DEFAULT_ARDUINO_PREFERENCE), res.pvalue);
689
+ }).catch(function () {
690
+ return DEFAULT_ARDUINO_PREFERENCE;
691
+ });
692
+ case 3:
693
+ _context11.t1 = _context11.sent;
694
+ (0, _context11.t0)(_context11.t1);
695
+ case 5:
696
+ case "end":
697
+ return _context11.stop();
698
+ }
699
+ }, _callee11);
700
+ }));
701
+ return function get() {
702
+ return _ref29.apply(this, arguments);
703
+ };
704
+ }();
505
705
  if (trigger === 'get') {
506
706
  void get();
507
707
  }
508
-
509
- onSet((newPreference, prevPreference, isReset) => {
708
+ onSet(function (newPreference, prevPreference, isReset) {
510
709
  if (!isEqual(newPreference, prevPreference) && !isReset) {
511
710
  void postGlobalAccountPreferenceEdit({
512
711
  pkey: ARDUINO_ACCOUNT_PREFERENCE_KEY,
@@ -519,77 +718,69 @@ const exerciseArduinoPreferenceState = atom({
519
718
  /**
520
719
  * Arduino ports.
521
720
  */
522
-
523
- const exerciseArduinoPortsState = atom({
524
- key: `${KEY_PREFIX}/Arduino/Ports`,
721
+ var exerciseArduinoPortsState = atom({
722
+ key: "".concat(KEY_PREFIX, "/Arduino/Ports"),
525
723
  default: []
526
724
  });
527
725
  /**
528
726
  * Opened arduino port.
529
727
  */
530
-
531
- const exerciseArduinoOpenedPortNameState = atom({
532
- key: `${KEY_PREFIX}/Arduino/OpenedPortName`,
728
+ var exerciseArduinoOpenedPortNameState = atom({
729
+ key: "".concat(KEY_PREFIX, "/Arduino/OpenedPortName"),
533
730
  default: null
534
731
  });
535
732
  /**
536
733
  * Arduino port open handler.
537
734
  */
538
-
539
- const exerciseArduinoOnSelectPortState = atom({
540
- key: `${KEY_PREFIX}/Arduino/OnSelectPort`,
541
- default: name => {// do nothing.
735
+ var exerciseArduinoOnSelectPortState = atom({
736
+ key: "".concat(KEY_PREFIX, "/Arduino/OnSelectPort"),
737
+ default: function _default(name) {
738
+ // do nothing.
542
739
  }
543
740
  });
544
741
  /**
545
742
  * Arduino agent connection status.
546
743
  */
547
-
548
- const exerciseArduinoAgentConnectionState = atom({
549
- key: `${KEY_PREFIX}/Arduino/AgentConnection`,
744
+ var exerciseArduinoAgentConnectionState = atom({
745
+ key: "".concat(KEY_PREFIX, "/Arduino/AgentConnection"),
550
746
  default: 'disconnected'
551
747
  });
552
748
  /**
553
749
  * Arduino upload progress.
554
750
  */
555
-
556
- const exerciseArduinoUploadProgressState = atom({
557
- key: `${KEY_PREFIX}/Arduino/UploadProgressState`,
751
+ var exerciseArduinoUploadProgressState = atom({
752
+ key: "".concat(KEY_PREFIX, "/Arduino/UploadProgressState"),
558
753
  default: 'ready'
559
754
  });
560
755
  /**
561
756
  * Arduino agent modal open status.
562
757
  */
563
-
564
- const exerciseArduinoAgentModalState = atom({
565
- key: `${KEY_PREFIX}/Arduino/AgentModalState`,
758
+ var exerciseArduinoAgentModalState = atom({
759
+ key: "".concat(KEY_PREFIX, "/Arduino/AgentModalState"),
566
760
  default: false
567
- }); //
761
+ });
762
+ //
568
763
  // =============== others ===============
569
764
  //
570
-
571
765
  /**
572
766
  *
573
767
  */
574
-
575
- const exerciseActiveFilenameState = atom({
576
- key: `${KEY_PREFIX}/ActiveFilename`,
768
+ var exerciseActiveFilenameState = atom({
769
+ key: "".concat(KEY_PREFIX, "/ActiveFilename"),
577
770
  default: null
578
771
  });
579
772
  /**
580
773
  *
581
774
  */
582
-
583
- const exerciseRightpaneActiveState = atom({
584
- key: `${KEY_PREFIX}/RightpaneActive`,
775
+ var exerciseRightpaneActiveState = atom({
776
+ key: "".concat(KEY_PREFIX, "/RightpaneActive"),
585
777
  default: null
586
778
  });
587
779
  /**
588
780
  *
589
781
  */
590
-
591
- const exerciseContainerSizeState = atom({
592
- key: `${KEY_PREFIX}/ContainerSize`,
782
+ var exerciseContainerSizeState = atom({
783
+ key: "".concat(KEY_PREFIX, "/ContainerSize"),
593
784
  default: {
594
785
  width: 0,
595
786
  height: 0
@@ -598,9 +789,8 @@ const exerciseContainerSizeState = atom({
598
789
  /**
599
790
  *
600
791
  */
601
-
602
- const exerciseFileEditorCursorState = atom({
603
- key: `${KEY_PREFIX}/FileEditorCursor`,
792
+ var exerciseFileEditorCursorState = atom({
793
+ key: "".concat(KEY_PREFIX, "/FileEditorCursor"),
604
794
  default: {
605
795
  from: 0,
606
796
  to: 0
@@ -609,17 +799,15 @@ const exerciseFileEditorCursorState = atom({
609
799
  /**
610
800
  *
611
801
  */
612
-
613
- const exerciseFileEditorCursorSelectionValueState = atom({
614
- key: `${KEY_PREFIX}/FileEditorCursorSelectionValue`,
802
+ var exerciseFileEditorCursorSelectionValueState = atom({
803
+ key: "".concat(KEY_PREFIX, "/FileEditorCursorSelectionValue"),
615
804
  default: null
616
805
  });
617
806
  /**
618
807
  *
619
808
  */
620
-
621
- const exerciseMonacoEditorApisState = atom({
622
- key: `${KEY_PREFIX}/MonacoEditorApisState`,
809
+ var exerciseMonacoEditorApisState = atom({
810
+ key: "".concat(KEY_PREFIX, "/MonacoEditorApisState"),
623
811
  default: null,
624
812
  dangerouslyAllowMutability: true
625
813
  });