@elice/material-exercise 1.231227.0 → 1.240112.0-cloud.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 (395) hide show
  1. package/cjs/components/material-exercise/MaterialExercise.i18n.js +2 -4
  2. package/cjs/components/material-exercise/MaterialExercise.js +54 -59
  3. package/cjs/components/material-exercise/MaterialExercise.styled.js +14 -20
  4. package/cjs/components/material-exercise/MaterialExerciseMobile.js +8 -15
  5. package/cjs/components/material-exercise/context/ExerciseIntlProvider.js +14 -18
  6. package/cjs/components/material-exercise/context/ExerciseProvider.js +58 -66
  7. package/cjs/components/material-exercise/context/ExerciseProviderNoImage.js +19 -24
  8. package/cjs/components/material-exercise/context/context.js +1 -7
  9. package/cjs/components/material-exercise/context/locales/noImage.en.json.js +1 -1
  10. package/cjs/components/material-exercise/context/locales/noImage.ko.json.js +1 -1
  11. package/cjs/components/material-exercise/context/recoil.js +293 -544
  12. package/cjs/components/material-exercise/context/recoilTypes.js +0 -2
  13. package/cjs/components/material-exercise/context/subjects.js +3 -5
  14. package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.js +60 -67
  15. package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.js +8 -14
  16. package/cjs/components/material-exercise/exercise-code-history/locales/en.json.js +1 -1
  17. package/cjs/components/material-exercise/exercise-code-history/locales/ko.json.js +1 -1
  18. package/cjs/components/material-exercise/exercise-file/ExerciseFile.js +17 -21
  19. package/cjs/components/material-exercise/exercise-file-editor/ExerciseFileEditor.js +133 -203
  20. package/cjs/components/material-exercise/exercise-file-editor/ExerciseFileReadOnlyBanner.js +8 -12
  21. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabs.js +24 -40
  22. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabsFileTreeButton.js +38 -52
  23. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.js +5 -9
  24. package/cjs/components/material-exercise/exercise-file-tabs/locales/fileTreeButton.en.json.js +1 -1
  25. package/cjs/components/material-exercise/exercise-file-tabs/locales/fileTreeButton.ko.json.js +1 -1
  26. package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTree.js +189 -328
  27. package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.js +5 -9
  28. package/cjs/components/material-exercise/exercise-file-tree/locales/en.json.js +1 -1
  29. package/cjs/components/material-exercise/exercise-file-tree/locales/ko.json.js +1 -1
  30. package/cjs/components/material-exercise/exercise-file-viewer/ExerciseFileViewer.js +14 -17
  31. package/cjs/components/material-exercise/exercise-menu/ExerciseMenu.js +11 -15
  32. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.js +7 -11
  33. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.js +44 -65
  34. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuDropdown.js +32 -61
  35. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuReset.js +19 -35
  36. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.js +48 -62
  37. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.js +12 -18
  38. package/cjs/components/material-exercise/exercise-menu/locales/en.json.js +1 -1
  39. package/cjs/components/material-exercise/exercise-menu/locales/ko.json.js +1 -1
  40. package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdown.js +21 -32
  41. package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.js +4 -8
  42. package/cjs/components/material-exercise/exercise-preview/ExercisePreview.js +23 -27
  43. package/cjs/components/material-exercise/exercise-preview/ExercisePreviewDisplayModeButton.js +7 -17
  44. package/cjs/components/material-exercise/exercise-preview/locales/en.json.js +1 -1
  45. package/cjs/components/material-exercise/exercise-preview/locales/ko.json.js +1 -1
  46. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpane.js +23 -32
  47. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpaneEditorPerference.js +7 -15
  48. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpaneEnvironment.js +79 -86
  49. package/cjs/components/material-exercise/exercise-rightpane/locales/en.json.js +1 -1
  50. package/cjs/components/material-exercise/exercise-rightpane/locales/ko.json.js +1 -1
  51. package/cjs/components/material-exercise/exercise-room/ExerciseRoom.js +11 -22
  52. package/cjs/components/material-exercise/exercise-room/ExerciseRoom.styled.js +12 -20
  53. package/cjs/components/material-exercise/exercise-room/ExerciseRoomDetail.js +180 -288
  54. package/cjs/components/material-exercise/exercise-room/ExerciseRoomList.js +82 -116
  55. package/cjs/components/material-exercise/exercise-room/helpers/exerciseRoomPermissionStringConvertor.js +2 -4
  56. package/cjs/components/material-exercise/exercise-room/locales/en.json.js +1 -1
  57. package/cjs/components/material-exercise/exercise-room/locales/ko.json.js +1 -1
  58. package/cjs/components/material-exercise/exercise-runner/ExerciseRunner.js +125 -181
  59. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerContext.js +1 -7
  60. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerController.js +13 -17
  61. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.js +43 -58
  62. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.js +15 -27
  63. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js +65 -68
  64. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.js +23 -32
  65. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerRunningInfo.js +58 -92
  66. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusIndicator.js +3 -7
  67. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusMessage.js +11 -16
  68. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerTimer.js +18 -29
  69. package/cjs/components/material-exercise/exercise-runner/locales/en.json.js +1 -1
  70. package/cjs/components/material-exercise/exercise-runner/locales/ko.json.js +1 -1
  71. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.js +162 -282
  72. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.styled.js +8 -14
  73. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistoryOutput.js +41 -54
  74. package/cjs/components/material-exercise/exercise-submit-history/locales/en.json.js +1 -1
  75. package/cjs/components/material-exercise/exercise-submit-history/locales/ko.json.js +1 -1
  76. package/cjs/components/shared/exercise-menu-button/ExerciseMenuButton.js +15 -21
  77. package/cjs/components/shared/exercise-shimmer/ExerciseFileShimmer.js +14 -19
  78. package/cjs/components/shared/exercise-shimmer/ExerciseFileTabShimmer.js +16 -21
  79. package/cjs/components/shared/exercise-shimmer/ExerciseFileTabsShimmer.js +5 -10
  80. package/cjs/components/shared/exercise-shimmer/ExerciseFileTreeListItemShimmer.js +18 -23
  81. package/cjs/components/shared/exercise-shimmer/ExerciseFileTreeListShimmer.js +10 -21
  82. package/cjs/components/shared/exercise-version-list/ExerciseVersionList.js +5 -8
  83. package/cjs/components/shared/exercise-version-list/ExerciseVersionList.styled.js +1 -7
  84. package/cjs/components/shared/exercise-version-list/ExerciseVersionListItem.js +8 -11
  85. package/cjs/components/shared/exercise-version-list/ExerciseVersionListItem.styled.js +5 -15
  86. package/cjs/components/shared/file-icon/FileIcon.js +17 -23
  87. package/cjs/components/shared/file-tabs/FileTab.js +30 -36
  88. package/cjs/components/shared/file-tabs/FileTab.styled.js +15 -25
  89. package/cjs/components/shared/file-tabs/FileTabs.js +38 -63
  90. package/cjs/components/shared/file-tabs/FileTabs.styled.js +2 -8
  91. package/cjs/components/shared/file-tabs/util.js +14 -29
  92. package/cjs/components/shared/file-tree/FileTree.js +12 -17
  93. package/cjs/components/shared/file-tree/FileTreeConfig.js +22 -25
  94. package/cjs/components/shared/file-tree/FileTreeList.js +37 -39
  95. package/cjs/components/shared/file-tree/FileTreeListItemContent.js +61 -75
  96. package/cjs/components/shared/file-tree/FileTreeListItemContent.styled.js +21 -31
  97. package/cjs/components/shared/file-tree/FileTreeListItemContentInput.js +64 -72
  98. package/cjs/components/shared/file-tree/FileTreeListItemContentInput.styled.js +6 -12
  99. package/cjs/components/shared/file-tree/FileTreeListItemContentMenu.js +63 -74
  100. package/cjs/components/shared/file-tree/FileTreeListItems.js +136 -151
  101. package/cjs/components/shared/file-tree/FileTreeListItems.styled.js +2 -8
  102. package/cjs/components/shared/file-tree/FileTreeToolbar.js +31 -32
  103. package/cjs/components/shared/file-tree/FileTreeToolbar.styled.js +1 -7
  104. package/cjs/components/shared/file-tree/context/FileTreeContext.js +76 -97
  105. package/cjs/components/shared/file-tree/locales/en.json.js +1 -1
  106. package/cjs/components/shared/file-tree/locales/ko.json.js +1 -1
  107. package/cjs/components/shared/file-tree/utils/fileTreeFiles.js +20 -26
  108. package/cjs/components/shared/file-tree/utils/fileTreeGenerator.js +146 -195
  109. package/cjs/components/shared/file-tree/utils/fileTreeInput.js +0 -2
  110. package/cjs/components/shared/file-tree/utils/fileTreeItem.js +1 -3
  111. package/cjs/components/shared/file-tree/utils/fileTreePath.js +6 -7
  112. package/cjs/components/shared/file-viewer/FileViewer.js +37 -61
  113. package/cjs/components/shared/file-viewer/FileViewerCsv.js +108 -172
  114. package/cjs/components/shared/file-viewer/FileViewerImage.js +8 -12
  115. package/cjs/components/shared/file-viewer/FileViewerIpynb.js +10 -23
  116. package/cjs/components/shared/file-viewer/FileViewerNonViewable.js +33 -42
  117. package/cjs/components/shared/file-viewer/FileViewerText.js +12 -24
  118. package/cjs/components/shared/file-viewer/locales/en.json.js +1 -1
  119. package/cjs/components/shared/file-viewer/locales/ko.json.js +1 -1
  120. package/cjs/components/shared/file-viewer/locales/nonViewable.en.json.js +1 -1
  121. package/cjs/components/shared/file-viewer/locales/nonViewable.ko.json.js +1 -1
  122. package/cjs/components/shared/material-modal/MaterialModal.js +11 -14
  123. package/cjs/components/shared/material-modal/MaterialModal.styled.js +5 -11
  124. package/cjs/components/shared/monaco-editor/MonacoEditor.js +74 -99
  125. package/cjs/components/shared/monaco-editor/MonacoEditorLazy.js +6 -12
  126. package/cjs/components/shared/monaco-editor/MonacoEditorMobile.js +36 -50
  127. package/cjs/components/shared/monaco-editor/MonacoEditorPerferenceForm.js +91 -110
  128. package/cjs/components/shared/monaco-editor/constants/grammars/JSON.tmLanguage.json.js +1 -1
  129. package/cjs/components/shared/monaco-editor/constants/grammars/MagicPython.tmLanguage.json.js +1 -1
  130. package/cjs/components/shared/monaco-editor/constants/grammars/TypeScriptReact.tmLanguage.json.js +1 -1
  131. package/cjs/components/shared/monaco-editor/constants/grammars/asp-vb-net.tmlanguage.json.js +1 -1
  132. package/cjs/components/shared/monaco-editor/constants/grammars/c.tmLanguage.json.js +1 -1
  133. package/cjs/components/shared/monaco-editor/constants/grammars/cpp.tmLanguage.json.js +1 -1
  134. package/cjs/components/shared/monaco-editor/constants/grammars/csharp.tmLanguage.json.js +1 -1
  135. package/cjs/components/shared/monaco-editor/constants/grammars/css.tmLanguage.json.js +1 -1
  136. package/cjs/components/shared/monaco-editor/constants/grammars/dart.tmLanguage.json.js +1 -1
  137. package/cjs/components/shared/monaco-editor/constants/grammars/fsharp.tmLanguage.json.js +1 -1
  138. package/cjs/components/shared/monaco-editor/constants/grammars/go.tmLanguage.json.js +1 -1
  139. package/cjs/components/shared/monaco-editor/constants/grammars/html.tmLanguage.json.js +1 -1
  140. package/cjs/components/shared/monaco-editor/constants/grammars/index.js +28 -84
  141. package/cjs/components/shared/monaco-editor/constants/grammars/java.tmLanguage.json.js +1 -1
  142. package/cjs/components/shared/monaco-editor/constants/grammars/lua.tmLanguage.json.js +1 -1
  143. package/cjs/components/shared/monaco-editor/constants/grammars/objective-c.tmLanguage.json.js +1 -1
  144. package/cjs/components/shared/monaco-editor/constants/grammars/php.tmLanguage.json.js +1 -1
  145. package/cjs/components/shared/monaco-editor/constants/grammars/r.tmLanguage.json.js +1 -1
  146. package/cjs/components/shared/monaco-editor/constants/grammars/ruby.tmLanguage.json.js +1 -1
  147. package/cjs/components/shared/monaco-editor/constants/grammars/rust.tmLanguage.json.js +1 -1
  148. package/cjs/components/shared/monaco-editor/constants/grammars/scss.tmLanguage.json.js +1 -1
  149. package/cjs/components/shared/monaco-editor/constants/grammars/sql.tmLanguage.json.js +1 -1
  150. package/cjs/components/shared/monaco-editor/constants/grammars/swift.tmLanguage.json.js +1 -1
  151. package/cjs/components/shared/monaco-editor/constants/grammars/xml.tmLanguage.json.js +1 -1
  152. package/cjs/components/shared/monaco-editor/constants/grammars/yaml.tmLanguage.json.js +1 -1
  153. package/cjs/components/shared/monaco-editor/constants/monaco/preferences.js +5 -7
  154. package/cjs/components/shared/monaco-editor/constants/themes/abyss.json.js +1 -1
  155. package/cjs/components/shared/monaco-editor/constants/themes/elice.json.js +1 -1
  156. package/cjs/components/shared/monaco-editor/constants/themes/index.js +17 -51
  157. package/cjs/components/shared/monaco-editor/constants/themes/kimbie-dark.json.js +1 -1
  158. package/cjs/components/shared/monaco-editor/constants/themes/monokai.json.js +1 -1
  159. package/cjs/components/shared/monaco-editor/constants/themes/quietlight.json.js +1 -1
  160. package/cjs/components/shared/monaco-editor/constants/themes/red.json.js +1 -1
  161. package/cjs/components/shared/monaco-editor/constants/themes/solarized-dark.json.js +1 -1
  162. package/cjs/components/shared/monaco-editor/constants/themes/solarized-light.json.js +1 -1
  163. package/cjs/components/shared/monaco-editor/constants/themes/tomorrow-night-blue.json.js +1 -1
  164. package/cjs/components/shared/monaco-editor/constants/themes/vs-dark-plus.json.js +1 -1
  165. package/cjs/components/shared/monaco-editor/constants/themes/vs-dark.json.js +1 -1
  166. package/cjs/components/shared/monaco-editor/constants/themes/vs-hc-black.json.js +1 -1
  167. package/cjs/components/shared/monaco-editor/constants/themes/vs-hc-light.json.js +1 -1
  168. package/cjs/components/shared/monaco-editor/constants/themes/vs-light-plus.json.js +1 -1
  169. package/cjs/components/shared/monaco-editor/constants/themes/vs-light.json.js +1 -1
  170. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventChange.js +10 -13
  171. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventCursor.js +14 -17
  172. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventScroll.js +8 -11
  173. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoMarkers.js +30 -36
  174. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoOptions.js +7 -11
  175. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoTheme.js +6 -8
  176. package/cjs/components/shared/monaco-editor/editor-languages/css/formatter.js +11 -52
  177. package/cjs/components/shared/monaco-editor/editor-languages/css/index.js +7 -8
  178. package/cjs/components/shared/monaco-editor/editor-languages/html/formatter.js +11 -52
  179. package/cjs/components/shared/monaco-editor/editor-languages/html/index.js +5 -6
  180. package/cjs/components/shared/monaco-editor/editor-languages/index.js +4 -4
  181. package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/_helper.js +1 -3
  182. package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/express.js +1 -1
  183. package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/propTypes.js +1 -1
  184. package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/react.js +1 -1
  185. package/cjs/components/shared/monaco-editor/editor-languages/typescript/formatter.js +11 -56
  186. package/cjs/components/shared/monaco-editor/editor-languages/typescript/index.js +17 -18
  187. package/cjs/components/shared/monaco-editor/hooks/useEditorOptions.js +5 -13
  188. package/cjs/components/shared/monaco-editor/locales/en.json.js +1 -1
  189. package/cjs/components/shared/monaco-editor/locales/ko.json.js +1 -1
  190. package/cjs/components/shared/monaco-editor/utils/emmet/abbreviationActions.js +12 -12
  191. package/cjs/components/shared/monaco-editor/utils/emmet/emmet.js +0 -2
  192. package/cjs/components/shared/monaco-editor/utils/emmet/registerProvider.js +6 -14
  193. package/cjs/components/shared/monaco-editor/utils/grammar/index.js +25 -69
  194. package/cjs/components/shared/monaco-editor/utils/grammar/onigasm.js +6 -27
  195. package/cjs/components/shared/monaco-editor/utils/grammar/textmate.js +38 -73
  196. package/cjs/components/shared/monaco-editor/utils/monacoLanguage.js +8 -11
  197. package/cjs/components/shared/monaco-editor/utils/monacoPreference.js +4 -8
  198. package/cjs/components/shared/monaco-editor/utils/prettier/config.js +2 -4
  199. package/cjs/components/shared/monaco-editor/utils/prettier/index.js +8 -46
  200. package/cjs/components/shared/monaco-editor/utils/theme/convert.js +14 -26
  201. package/cjs/components/shared/monaco-editor/utils/theme/index.js +3 -24
  202. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursor.js +56 -79
  203. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorManager.js +68 -84
  204. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorWidget.js +93 -122
  205. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelection.js +133 -158
  206. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelectionManager.js +92 -106
  207. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/styles.js +2 -4
  208. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/configCompat.js +6 -3
  209. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/data.js +2 -4
  210. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/emmetHelper.js +158 -179
  211. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/utils.js +3 -5
  212. package/cjs/components/shared/no-vnc/NoVnc.js +57 -86
  213. package/cjs/components/shared/no-vnc/NoVncLazy.js +5 -11
  214. package/cjs/components/shared/preview-container/PreviewContainer.js +11 -15
  215. package/cjs/components/shared/web-browser/WebBrowser.js +37 -53
  216. package/cjs/components/shared/xterm/Xterm.js +58 -81
  217. package/cjs/components/shared/xterm/XtermLazy.js +5 -11
  218. package/cjs/components/shared/xterm/locales/en.json.js +1 -1
  219. package/cjs/components/shared/xterm/locales/ko.json.js +1 -1
  220. package/cjs/components/shared/xterm/utils/index.js +0 -2
  221. package/cjs/constants/arduino.js +10 -12
  222. package/cjs/constants/shortcutKeyMap.js +2 -4
  223. package/cjs/constants/stylesheets.js +5 -9
  224. package/cjs/hooks/useArduino.js +141 -284
  225. package/cjs/hooks/useExerciseFile.js +22 -26
  226. package/cjs/hooks/useExericseShortcut.js +4 -8
  227. package/cjs/hooks/useMaterialExerciseFileUrl.js +33 -57
  228. package/cjs/hooks/useRunnerRoomWebSocket.js +27 -53
  229. package/cjs/hooks/useStdioTextConcator.js +10 -22
  230. package/cjs/hooks/useStdioWebSocket.js +28 -34
  231. package/cjs/hooks/useUsercodeEditWebSocket.js +158 -240
  232. package/cjs/hooks/useUsercodeHistory.js +63 -117
  233. package/cjs/index.js +4 -6
  234. package/cjs/utils/arduino.js +11 -25
  235. package/cjs/utils/exerciseFile.js +10 -10
  236. package/cjs/utils/runner.js +15 -31
  237. package/es/components/material-exercise/MaterialExercise.i18n.js +2 -2
  238. package/es/components/material-exercise/MaterialExercise.js +34 -35
  239. package/es/components/material-exercise/MaterialExercise.styled.js +14 -14
  240. package/es/components/material-exercise/MaterialExerciseMobile.js +6 -9
  241. package/es/components/material-exercise/context/ExerciseIntlProvider.js +10 -8
  242. package/es/components/material-exercise/context/ExerciseProvider.js +52 -55
  243. package/es/components/material-exercise/context/ExerciseProviderNoImage.js +10 -10
  244. package/es/components/material-exercise/context/context.js +1 -1
  245. package/es/components/material-exercise/context/recoil.js +290 -535
  246. package/es/components/material-exercise/context/subjects.js +3 -3
  247. package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.js +51 -53
  248. package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.js +8 -8
  249. package/es/components/material-exercise/exercise-file/ExerciseFile.js +9 -8
  250. package/es/components/material-exercise/exercise-file-editor/ExerciseFileEditor.js +127 -193
  251. package/es/components/material-exercise/exercise-file-editor/ExerciseFileReadOnlyBanner.js +5 -4
  252. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabs.js +20 -31
  253. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabsFileTreeButton.js +35 -44
  254. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.js +1 -1
  255. package/es/components/material-exercise/exercise-file-tree/ExerciseFileTree.js +181 -315
  256. package/es/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.js +1 -1
  257. package/es/components/material-exercise/exercise-file-viewer/ExerciseFileViewer.js +11 -10
  258. package/es/components/material-exercise/exercise-menu/ExerciseMenu.js +7 -6
  259. package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.js +3 -3
  260. package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.js +25 -42
  261. package/es/components/material-exercise/exercise-menu/ExerciseMenuDropdown.js +26 -51
  262. package/es/components/material-exercise/exercise-menu/ExerciseMenuReset.js +11 -23
  263. package/es/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.js +21 -31
  264. package/es/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.js +12 -12
  265. package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdown.js +19 -26
  266. package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.js +1 -1
  267. package/es/components/material-exercise/exercise-preview/ExercisePreview.js +15 -14
  268. package/es/components/material-exercise/exercise-preview/ExercisePreviewDisplayModeButton.js +5 -11
  269. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpane.js +11 -15
  270. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpaneEditorPerference.js +5 -9
  271. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpaneEnvironment.js +78 -80
  272. package/es/components/material-exercise/exercise-room/ExerciseRoom.js +6 -13
  273. package/es/components/material-exercise/exercise-room/ExerciseRoom.styled.js +12 -14
  274. package/es/components/material-exercise/exercise-room/ExerciseRoomDetail.js +134 -236
  275. package/es/components/material-exercise/exercise-room/ExerciseRoomList.js +65 -94
  276. package/es/components/material-exercise/exercise-room/helpers/exerciseRoomPermissionStringConvertor.js +2 -2
  277. package/es/components/material-exercise/exercise-runner/ExerciseRunner.js +116 -167
  278. package/es/components/material-exercise/exercise-runner/ExerciseRunnerContext.js +1 -1
  279. package/es/components/material-exercise/exercise-runner/ExerciseRunnerController.js +8 -7
  280. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.js +17 -27
  281. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.js +11 -18
  282. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js +52 -50
  283. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.js +10 -14
  284. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerRunningInfo.js +46 -75
  285. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusIndicator.js +2 -2
  286. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusMessage.js +4 -4
  287. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerTimer.js +15 -21
  288. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.js +138 -253
  289. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.styled.js +8 -8
  290. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistoryOutput.js +29 -37
  291. package/es/components/shared/exercise-menu-button/ExerciseMenuButton.js +12 -13
  292. package/es/components/shared/exercise-shimmer/ExerciseFileShimmer.js +2 -2
  293. package/es/components/shared/exercise-shimmer/ExerciseFileTabShimmer.js +12 -12
  294. package/es/components/shared/exercise-shimmer/ExerciseFileTabsShimmer.js +2 -2
  295. package/es/components/shared/exercise-shimmer/ExerciseFileTreeListItemShimmer.js +14 -14
  296. package/es/components/shared/exercise-shimmer/ExerciseFileTreeListShimmer.js +9 -15
  297. package/es/components/shared/exercise-version-list/ExerciseVersionList.js +3 -2
  298. package/es/components/shared/exercise-version-list/ExerciseVersionList.styled.js +1 -1
  299. package/es/components/shared/exercise-version-list/ExerciseVersionListItem.js +6 -5
  300. package/es/components/shared/exercise-version-list/ExerciseVersionListItem.styled.js +5 -9
  301. package/es/components/shared/file-icon/FileIcon.js +15 -17
  302. package/es/components/shared/file-tabs/FileTab.js +22 -24
  303. package/es/components/shared/file-tabs/FileTab.styled.js +15 -19
  304. package/es/components/shared/file-tabs/FileTabs.js +35 -55
  305. package/es/components/shared/file-tabs/FileTabs.styled.js +2 -2
  306. package/es/components/shared/file-tabs/util.js +14 -27
  307. package/es/components/shared/file-tree/FileTree.js +3 -3
  308. package/es/components/shared/file-tree/FileTreeConfig.js +18 -15
  309. package/es/components/shared/file-tree/FileTreeList.js +33 -29
  310. package/es/components/shared/file-tree/FileTreeListItemContent.js +45 -55
  311. package/es/components/shared/file-tree/FileTreeListItemContent.styled.js +21 -25
  312. package/es/components/shared/file-tree/FileTreeListItemContentInput.js +60 -64
  313. package/es/components/shared/file-tree/FileTreeListItemContentInput.styled.js +6 -6
  314. package/es/components/shared/file-tree/FileTreeListItemContentMenu.js +39 -46
  315. package/es/components/shared/file-tree/FileTreeListItems.js +134 -145
  316. package/es/components/shared/file-tree/FileTreeListItems.styled.js +2 -2
  317. package/es/components/shared/file-tree/FileTreeToolbar.js +25 -22
  318. package/es/components/shared/file-tree/FileTreeToolbar.styled.js +1 -1
  319. package/es/components/shared/file-tree/context/FileTreeContext.js +74 -89
  320. package/es/components/shared/file-tree/utils/fileTreeFiles.js +20 -20
  321. package/es/components/shared/file-tree/utils/fileTreeGenerator.js +146 -193
  322. package/es/components/shared/file-tree/utils/fileTreeItem.js +1 -1
  323. package/es/components/shared/file-tree/utils/fileTreePath.js +6 -5
  324. package/es/components/shared/file-viewer/FileViewer.js +21 -38
  325. package/es/components/shared/file-viewer/FileViewerCsv.js +70 -129
  326. package/es/components/shared/file-viewer/FileViewerImage.js +4 -3
  327. package/es/components/shared/file-viewer/FileViewerIpynb.js +7 -14
  328. package/es/components/shared/file-viewer/FileViewerNonViewable.js +15 -18
  329. package/es/components/shared/file-viewer/FileViewerText.js +9 -17
  330. package/es/components/shared/material-modal/MaterialModal.js +8 -7
  331. package/es/components/shared/material-modal/MaterialModal.styled.js +5 -5
  332. package/es/components/shared/monaco-editor/MonacoEditor.js +67 -87
  333. package/es/components/shared/monaco-editor/MonacoEditorLazy.js +2 -4
  334. package/es/components/shared/monaco-editor/MonacoEditorMobile.js +31 -41
  335. package/es/components/shared/monaco-editor/MonacoEditorPerferenceForm.js +52 -66
  336. package/es/components/shared/monaco-editor/constants/grammars/index.js +28 -82
  337. package/es/components/shared/monaco-editor/constants/monaco/preferences.js +5 -5
  338. package/es/components/shared/monaco-editor/constants/themes/index.js +17 -49
  339. package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventChange.js +10 -11
  340. package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventCursor.js +14 -15
  341. package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventScroll.js +8 -9
  342. package/es/components/shared/monaco-editor/editor-hooks/useMonacoMarkers.js +30 -34
  343. package/es/components/shared/monaco-editor/editor-hooks/useMonacoOptions.js +7 -9
  344. package/es/components/shared/monaco-editor/editor-hooks/useMonacoTheme.js +6 -6
  345. package/es/components/shared/monaco-editor/editor-languages/css/formatter.js +10 -33
  346. package/es/components/shared/monaco-editor/editor-languages/html/formatter.js +10 -33
  347. package/es/components/shared/monaco-editor/editor-languages/typescript/dts/_helper.js +1 -1
  348. package/es/components/shared/monaco-editor/editor-languages/typescript/formatter.js +10 -37
  349. package/es/components/shared/monaco-editor/editor-languages/typescript/index.js +3 -3
  350. package/es/components/shared/monaco-editor/hooks/useEditorOptions.js +5 -11
  351. package/es/components/shared/monaco-editor/utils/emmet/abbreviationActions.js +12 -10
  352. package/es/components/shared/monaco-editor/utils/emmet/registerProvider.js +6 -12
  353. package/es/components/shared/monaco-editor/utils/grammar/index.js +24 -68
  354. package/es/components/shared/monaco-editor/utils/grammar/onigasm.js +6 -25
  355. package/es/components/shared/monaco-editor/utils/grammar/textmate.js +35 -67
  356. package/es/components/shared/monaco-editor/utils/monacoLanguage.js +5 -5
  357. package/es/components/shared/monaco-editor/utils/monacoPreference.js +4 -6
  358. package/es/components/shared/monaco-editor/utils/prettier/config.js +2 -2
  359. package/es/components/shared/monaco-editor/utils/prettier/index.js +7 -27
  360. package/es/components/shared/monaco-editor/utils/theme/convert.js +13 -19
  361. package/es/components/shared/monaco-editor/utils/theme/index.js +3 -22
  362. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursor.js +56 -77
  363. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorManager.js +68 -82
  364. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorWidget.js +93 -120
  365. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelection.js +130 -152
  366. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelectionManager.js +92 -104
  367. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/styles.js +2 -2
  368. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/configCompat.js +6 -1
  369. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/data.js +2 -2
  370. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/emmetHelper.js +157 -172
  371. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/utils.js +3 -3
  372. package/es/components/shared/no-vnc/NoVnc.js +42 -59
  373. package/es/components/shared/no-vnc/NoVncLazy.js +2 -4
  374. package/es/components/shared/preview-container/PreviewContainer.js +8 -7
  375. package/es/components/shared/web-browser/WebBrowser.js +29 -40
  376. package/es/components/shared/xterm/Xterm.js +51 -69
  377. package/es/components/shared/xterm/XtermLazy.js +2 -4
  378. package/es/constants/arduino.js +10 -10
  379. package/es/constants/shortcutKeyMap.js +1 -3
  380. package/es/constants/stylesheets.js +5 -7
  381. package/es/hooks/useArduino.js +141 -278
  382. package/es/hooks/useExerciseFile.js +22 -24
  383. package/es/hooks/useExericseShortcut.js +4 -6
  384. package/es/hooks/useMaterialExerciseFileUrl.js +34 -52
  385. package/es/hooks/useRunnerRoomWebSocket.js +27 -51
  386. package/es/hooks/useStdioTextConcator.js +10 -16
  387. package/es/hooks/useStdioWebSocket.js +28 -32
  388. package/es/hooks/useUsercodeEditWebSocket.js +157 -232
  389. package/es/hooks/useUsercodeHistory.js +63 -115
  390. package/es/utils/arduino.js +11 -23
  391. package/es/utils/exerciseFile.js +10 -8
  392. package/es/utils/runner.js +15 -29
  393. package/package.json +11 -7
  394. package/cjs/_virtual/_rollupPluginBabelHelpers.js +0 -521
  395. package/es/_virtual/_rollupPluginBabelHelpers.js +0 -499
@@ -1,131 +1,99 @@
1
- var VSCODE_THEMES = [
1
+ const VSCODE_THEMES = [
2
2
  // Elice (default)
3
3
  {
4
4
  id: 'elice',
5
5
  name: 'Elice (default)',
6
- getTheme: function getTheme() {
7
- return import('./elice.json.js');
8
- }
6
+ getTheme: () => import('./elice.json.js')
9
7
  },
10
8
  // Abyss
11
9
  {
12
10
  id: 'abyss',
13
11
  name: 'Abyss',
14
- getTheme: function getTheme() {
15
- return import('./abyss.json.js');
16
- }
12
+ getTheme: () => import('./abyss.json.js')
17
13
  },
18
14
  // Kimbie Dark
19
15
  {
20
16
  id: 'kimbie-dark',
21
17
  name: 'Kimbie Dark',
22
- getTheme: function getTheme() {
23
- return import('./kimbie-dark.json.js');
24
- }
18
+ getTheme: () => import('./kimbie-dark.json.js')
25
19
  },
26
20
  // Monokai
27
21
  {
28
22
  id: 'monokai',
29
23
  name: 'Monokai',
30
- getTheme: function getTheme() {
31
- return import('./monokai.json.js');
32
- }
24
+ getTheme: () => import('./monokai.json.js')
33
25
  },
34
26
  // Monokai Dimmed
35
27
  {
36
28
  id: 'monokai',
37
29
  name: 'Monokai Dimmed',
38
- getTheme: function getTheme() {
39
- return import('./monokai.json.js');
40
- }
30
+ getTheme: () => import('./monokai.json.js')
41
31
  },
42
32
  // Quietlight
43
33
  {
44
34
  id: 'quietlight',
45
35
  name: 'Quietlight',
46
- getTheme: function getTheme() {
47
- return import('./quietlight.json.js');
48
- }
36
+ getTheme: () => import('./quietlight.json.js')
49
37
  },
50
38
  // Red
51
39
  {
52
40
  id: 'red',
53
41
  name: 'Red',
54
- getTheme: function getTheme() {
55
- return import('./red.json.js');
56
- }
42
+ getTheme: () => import('./red.json.js')
57
43
  },
58
44
  // Solarized Light
59
45
  {
60
46
  id: 'solarized-light',
61
47
  name: 'Solarized Light',
62
- getTheme: function getTheme() {
63
- return import('./solarized-light.json.js');
64
- }
48
+ getTheme: () => import('./solarized-light.json.js')
65
49
  },
66
50
  // Solarized Dark
67
51
  {
68
52
  id: 'solarized-dark',
69
53
  name: 'Solarized Dark',
70
- getTheme: function getTheme() {
71
- return import('./solarized-dark.json.js');
72
- }
54
+ getTheme: () => import('./solarized-dark.json.js')
73
55
  },
74
56
  // Tomorrow Night Blue
75
57
  {
76
58
  id: 'tomorrow-night-blue',
77
59
  name: 'Tomorrow Night Blue',
78
- getTheme: function getTheme() {
79
- return import('./tomorrow-night-blue.json.js');
80
- }
60
+ getTheme: () => import('./tomorrow-night-blue.json.js')
81
61
  },
82
62
  // VS Light
83
63
  {
84
64
  id: 'vs-light',
85
65
  name: 'VS Light',
86
- getTheme: function getTheme() {
87
- return import('./vs-light.json.js');
88
- }
66
+ getTheme: () => import('./vs-light.json.js')
89
67
  },
90
68
  // VS Light Plus
91
69
  {
92
70
  id: 'vs-light-plus',
93
71
  name: 'VS Light Plus',
94
- getTheme: function getTheme() {
95
- return import('./vs-light-plus.json.js');
96
- }
72
+ getTheme: () => import('./vs-light-plus.json.js')
97
73
  },
98
74
  // VS Dark
99
75
  {
100
76
  id: 'vs-dark',
101
77
  name: 'VS Dark',
102
- getTheme: function getTheme() {
103
- return import('./vs-dark.json.js');
104
- }
78
+ getTheme: () => import('./vs-dark.json.js')
105
79
  },
106
80
  // VS Dark Plus
107
81
  {
108
82
  id: 'vs-dark-plus',
109
83
  name: 'VS Dark Plus',
110
- getTheme: function getTheme() {
111
- return import('./vs-dark-plus.json.js');
112
- }
84
+ getTheme: () => import('./vs-dark-plus.json.js')
113
85
  },
114
86
  // VS High Contrast Light
115
87
  {
116
88
  id: 'vs-hc-light',
117
89
  name: 'VS High Contrast Light',
118
- getTheme: function getTheme() {
119
- return import('./vs-hc-light.json.js');
120
- }
90
+ getTheme: () => import('./vs-hc-light.json.js')
121
91
  },
122
92
  // VS High Contrast Dark
123
93
  {
124
94
  id: 'vs-hc-black',
125
95
  name: 'VS High Contrast Dark',
126
- getTheme: function getTheme() {
127
- return import('./vs-hc-black.json.js');
128
- }
96
+ getTheme: () => import('./vs-hc-black.json.js')
129
97
  }];
130
98
 
131
99
  export { VSCODE_THEMES };
@@ -1,31 +1,30 @@
1
- import { toConsumableArray as _toConsumableArray } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
2
1
  import { useEffect } from 'react';
3
2
 
4
- var EMPTY_DEPS = [];
3
+ const EMPTY_DEPS = [];
5
4
  /**
6
5
  * Hook for change event of monaco editor.
7
6
  */
8
- var useMonacoEventChange = function useMonacoEventChange(monaco, cb, _suppress) {
9
- var deps = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : EMPTY_DEPS;
10
- useEffect(function () {
7
+ const useMonacoEventChange = (monaco, cb, _suppress, deps = EMPTY_DEPS) => {
8
+ useEffect(() => {
11
9
  var _a;
12
10
  if (!monaco.current) {
13
11
  return;
14
12
  }
15
- var suppress = typeof _suppress === 'boolean' ? _suppress : (_a = _suppress === null || _suppress === void 0 ? void 0 : _suppress.current) !== null && _a !== void 0 ? _a : false;
16
- var subscription = monaco.current.onDidChangeModelContent(function () {
13
+ const suppress = typeof _suppress === 'boolean' ? _suppress : (_a = _suppress === null || _suppress === void 0 ? void 0 : _suppress.current) !== null && _a !== void 0 ? _a : false;
14
+ const subscription = monaco.current.onDidChangeModelContent(() => {
17
15
  var _a, _b;
18
16
  if (typeof cb !== 'function' || suppress) {
19
17
  return;
20
18
  }
21
- var value = (_b = (_a = monaco.current) === null || _a === void 0 ? void 0 : _a.getModel()) === null || _b === void 0 ? void 0 : _b.getValue();
19
+ const value = (_b = (_a = monaco.current) === null || _a === void 0 ? void 0 : _a.getModel()) === null || _b === void 0 ? void 0 : _b.getValue();
22
20
  cb(value !== null && value !== void 0 ? value : '');
23
21
  });
24
- return function () {
22
+ return () => {
25
23
  subscription.dispose();
26
24
  };
27
- }, // eslint-disable-next-line react-hooks/exhaustive-deps
28
- [monaco].concat(_toConsumableArray(deps)));
25
+ },
26
+ // eslint-disable-next-line react-hooks/exhaustive-deps
27
+ [monaco, ...deps]);
29
28
  };
30
29
 
31
30
  export { useMonacoEventChange };
@@ -1,38 +1,37 @@
1
- import { toConsumableArray as _toConsumableArray } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
2
1
  import { useEffect } from 'react';
3
2
 
4
- var EMPTY_DEPS = [];
3
+ const EMPTY_DEPS = [];
5
4
  /**
6
5
  * Hook for cursor activity event of monaco editor.
7
6
  */
8
- var useMonacoEventCursor = function useMonacoEventCursor(monaco, cb) {
9
- var deps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : EMPTY_DEPS;
10
- useEffect(function () {
7
+ const useMonacoEventCursor = (monaco, cb, deps = EMPTY_DEPS) => {
8
+ useEffect(() => {
11
9
  if (!monaco.current) {
12
10
  return;
13
11
  }
14
- var subscription = monaco.current.onDidChangeCursorSelection(function (e) {
12
+ const subscription = monaco.current.onDidChangeCursorSelection(e => {
15
13
  var _a;
16
14
  if (typeof cb !== 'function') {
17
15
  return;
18
16
  }
19
- var model = (_a = monaco.current) === null || _a === void 0 ? void 0 : _a.getModel();
17
+ const model = (_a = monaco.current) === null || _a === void 0 ? void 0 : _a.getModel();
20
18
  if (!model || model.isDisposed()) {
21
19
  return;
22
20
  }
23
- var selection = e.selection;
24
- var from = model.getOffsetAt(selection.getStartPosition());
25
- var to = model.getOffsetAt(selection.getEndPosition());
21
+ const selection = e.selection;
22
+ const from = model.getOffsetAt(selection.getStartPosition());
23
+ const to = model.getOffsetAt(selection.getEndPosition());
26
24
  cb({
27
- from: from,
28
- to: to
25
+ from,
26
+ to
29
27
  });
30
28
  });
31
- return function () {
29
+ return () => {
32
30
  subscription.dispose();
33
31
  };
34
- }, // eslint-disable-next-line react-hooks/exhaustive-deps
35
- [monaco].concat(_toConsumableArray(deps)));
32
+ },
33
+ // eslint-disable-next-line react-hooks/exhaustive-deps
34
+ [monaco, ...deps]);
36
35
  };
37
36
 
38
37
  export { useMonacoEventCursor };
@@ -1,17 +1,15 @@
1
- import { toConsumableArray as _toConsumableArray } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
2
1
  import { useEffect } from 'react';
3
2
 
4
- var EMPTY_DEPS = [];
3
+ const EMPTY_DEPS = [];
5
4
  /**
6
5
  * Hook for scroll event of monaco editor.
7
6
  */
8
- var useMonacoEventScroll = function useMonacoEventScroll(monaco, cb) {
9
- var deps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : EMPTY_DEPS;
10
- useEffect(function () {
7
+ const useMonacoEventScroll = (monaco, cb, deps = EMPTY_DEPS) => {
8
+ useEffect(() => {
11
9
  if (!monaco.current) {
12
10
  return;
13
11
  }
14
- var subscription = monaco.current.onDidScrollChange(function (e) {
12
+ const subscription = monaco.current.onDidScrollChange(e => {
15
13
  if (typeof cb !== 'function') {
16
14
  return;
17
15
  }
@@ -20,11 +18,12 @@ var useMonacoEventScroll = function useMonacoEventScroll(monaco, cb) {
20
18
  y: e.scrollTop
21
19
  });
22
20
  });
23
- return function () {
21
+ return () => {
24
22
  subscription.dispose();
25
23
  };
26
- }, // eslint-disable-next-line react-hooks/exhaustive-deps
27
- [monaco].concat(_toConsumableArray(deps)));
24
+ },
25
+ // eslint-disable-next-line react-hooks/exhaustive-deps
26
+ [monaco, ...deps]);
28
27
  };
29
28
 
30
29
  export { useMonacoEventScroll };
@@ -5,33 +5,33 @@ import { RemoteSelectionManager } from '../vendors/monaco-collab-ext/RemoteSelec
5
5
  import '../vendors/monaco-collab-ext/styles.js';
6
6
 
7
7
  /** Available colors for marker. */
8
- var MARKER_COLORS = Object.freeze(['purple', 'turquoise', 'red', 'yellow', 'lime', 'blue', 'pink']);
9
- var MARKER_DELAY_AFTER_INIT = 100;
8
+ const MARKER_COLORS = Object.freeze(['purple', 'turquoise', 'red', 'yellow', 'lime', 'blue', 'pink']);
9
+ const MARKER_DELAY_AFTER_INIT = 100;
10
10
  /**
11
11
  * Hook for cursor activity event of monaco editor.
12
12
  */
13
- var useMonacoMarkers = function useMonacoMarkers(monaco, markers) {
14
- var _returns = useRef({});
13
+ const useMonacoMarkers = (monaco, markers) => {
14
+ const _returns = useRef({});
15
15
  /** Cache storage of markers. */
16
- var caches = useRef({});
16
+ const caches = useRef({});
17
17
  /** Ref of remote cursor manager. */
18
- var remoteCursor = useRef();
18
+ const remoteCursor = useRef();
19
19
  /** Ref of remote selection manager. */
20
- var remoteSelection = useRef();
20
+ const remoteSelection = useRef();
21
21
  /**
22
22
  * Get color of marker according to user ID.
23
23
  * @param userId ID of user.
24
24
  */
25
- var getMarkerColor = function getMarkerColor(userId) {
26
- var index = userId % MARKER_COLORS.length;
25
+ const getMarkerColor = userId => {
26
+ const index = userId % MARKER_COLORS.length;
27
27
  return MARKER_COLORS[index];
28
28
  };
29
29
  /**
30
30
  * Set markers to code editor.
31
31
  */
32
- var setMarkers = function setMarkers() {
33
- var editor = monaco.current;
34
- var model = editor === null || editor === void 0 ? void 0 : editor.getModel();
32
+ const setMarkers = () => {
33
+ const editor = monaco.current;
34
+ const model = editor === null || editor === void 0 ? void 0 : editor.getModel();
35
35
  if (!editor || !model) {
36
36
  return;
37
37
  }
@@ -39,9 +39,9 @@ var useMonacoMarkers = function useMonacoMarkers(monaco, markers) {
39
39
  markers
40
40
  // if marker type is `selection`,
41
41
  // add cursor marker at end position of current selection.
42
- .flatMap(function (marker) {
42
+ .flatMap(marker => {
43
43
  if (marker.from !== marker.to) {
44
- var cursorForSelectionMarker = Object.assign(Object.assign({}, marker), {
44
+ const cursorForSelectionMarker = Object.assign(Object.assign({}, marker), {
45
45
  from: marker.to,
46
46
  to: marker.to
47
47
  });
@@ -50,15 +50,15 @@ var useMonacoMarkers = function useMonacoMarkers(monaco, markers) {
50
50
  return marker;
51
51
  })
52
52
  // create or update cache for markers.
53
- .forEach(function (marker) {
53
+ .forEach(marker => {
54
54
  if (!remoteCursor.current || !remoteSelection.current) {
55
55
  return;
56
56
  }
57
- var id = marker.id.toString();
58
- var color = getMarkerColor(marker.id);
59
- var markerType = marker.from === marker.to ? 'cursor' : 'selection';
60
- var cacheId = "".concat(id, "-").concat(marker.accesskey, "-").concat(marker.fullname, "-").concat(markerType);
61
- var needToCreate = !caches.current[cacheId] || caches.current[cacheId].manager.isDisposed();
57
+ const id = marker.id.toString();
58
+ const color = getMarkerColor(marker.id);
59
+ const markerType = marker.from === marker.to ? 'cursor' : 'selection';
60
+ const cacheId = `${id}-${marker.accesskey}-${marker.fullname}-${markerType}`;
61
+ const needToCreate = !caches.current[cacheId] || caches.current[cacheId].manager.isDisposed();
62
62
  // cursor
63
63
  if (markerType === 'cursor') {
64
64
  // create new cursor marker
@@ -69,7 +69,7 @@ var useMonacoMarkers = function useMonacoMarkers(monaco, markers) {
69
69
  };
70
70
  }
71
71
  // update position of cursor marker
72
- var markerPosition = model.getPositionAt(marker.from);
72
+ const markerPosition = model.getPositionAt(marker.from);
73
73
  caches.current[cacheId].position = markerPosition;
74
74
  }
75
75
  // selection
@@ -82,8 +82,8 @@ var useMonacoMarkers = function useMonacoMarkers(monaco, markers) {
82
82
  };
83
83
  }
84
84
  // update position of selection marker
85
- var markerStartPosition = model.getPositionAt(marker.from);
86
- var markerEndPosition = model.getPositionAt(marker.to);
85
+ const markerStartPosition = model.getPositionAt(marker.from);
86
+ const markerEndPosition = model.getPositionAt(marker.to);
87
87
  caches.current[cacheId].position = {
88
88
  start: markerStartPosition,
89
89
  end: markerEndPosition
@@ -91,8 +91,8 @@ var useMonacoMarkers = function useMonacoMarkers(monaco, markers) {
91
91
  }
92
92
  });
93
93
  // Update marker postion from cache.
94
- Object.keys(caches.current).forEach(function (id) {
95
- var cache = caches.current[id];
94
+ Object.keys(caches.current).forEach(id => {
95
+ const cache = caches.current[id];
96
96
  if (!cache.position) {
97
97
  // Dispose marker cache, if postion not exist.
98
98
  cache.manager.dispose();
@@ -114,7 +114,7 @@ var useMonacoMarkers = function useMonacoMarkers(monaco, markers) {
114
114
  /**
115
115
  * Initialize remoter marker manager.
116
116
  */
117
- var init = function init() {
117
+ const init = () => {
118
118
  if (!monaco.current) {
119
119
  return;
120
120
  }
@@ -126,15 +126,13 @@ var useMonacoMarkers = function useMonacoMarkers(monaco, markers) {
126
126
  remoteSelection.current = new RemoteSelectionManager({
127
127
  editor: monaco.current
128
128
  });
129
- setTimeout(function () {
130
- return setMarkers();
131
- }, MARKER_DELAY_AFTER_INIT);
129
+ setTimeout(() => setMarkers(), MARKER_DELAY_AFTER_INIT);
132
130
  };
133
131
  /**
134
132
  * Dispose remoter marker manager.
135
133
  */
136
- var dispose = function dispose() {
137
- Object.keys(caches.current).forEach(function (cacheId) {
134
+ const dispose = () => {
135
+ Object.keys(caches.current).forEach(cacheId => {
138
136
  caches.current[cacheId].manager.dispose();
139
137
  });
140
138
  remoteCursor.current = undefined;
@@ -143,9 +141,7 @@ var useMonacoMarkers = function useMonacoMarkers(monaco, markers) {
143
141
  //
144
142
  // Update markers.
145
143
  //
146
- useDeepCompareEffect(function () {
147
- return setMarkers();
148
- }, [markers]);
144
+ useDeepCompareEffect(() => setMarkers(), [markers]);
149
145
  //
150
146
  //
151
147
  //
@@ -3,37 +3,35 @@ import { editor } from 'monaco-editor/esm/vs/editor/editor.api';
3
3
  import { DEFAULT_MONACO_EDITOR_PREFERENCE } from '../constants/monaco/preferences.js';
4
4
  import { prettierConfigSource } from '../utils/prettier/config.js';
5
5
 
6
- var FONT_LOAD_TEXT = '각난닫ABCabc1230!@#\t !@#():{}[]-_\\|';
6
+ const FONT_LOAD_TEXT = '각난닫ABCabc1230!@#\t !@#():{}[]-_\\|';
7
7
  /**
8
8
  * Hook for update options of monaco editor.
9
9
  */
10
- var useMonacoOptions = function useMonacoOptions(monaco, options) {
10
+ const useMonacoOptions = (monaco, options) => {
11
11
  //
12
12
  // Update options from preference.
13
13
  //
14
- useEffect(function () {
14
+ useEffect(() => {
15
15
  var _a;
16
16
  return (_a = monaco.current) === null || _a === void 0 ? void 0 : _a.updateOptions(options);
17
17
  }, [monaco, options]);
18
18
  //
19
19
  // Sync prettier config with monaco editor preference.
20
20
  //
21
- useEffect(function () {
21
+ useEffect(() => {
22
22
  prettierConfigSource.config.tabWidth = options.tabSize;
23
23
  prettierConfigSource.config.useTabs = options.insertSpaces === false;
24
24
  }, [options]);
25
25
  //
26
26
  // Load font and remeasure font of editor.
27
27
  //
28
- useEffect(function () {
28
+ useEffect(() => {
29
29
  var _a, _b;
30
30
  if (typeof ((_a = document === null || document === void 0 ? void 0 : document.fonts) === null || _a === void 0 ? void 0 : _a.load) !== 'function') {
31
31
  return;
32
32
  }
33
- var size = (_b = options.fontSize) !== null && _b !== void 0 ? _b : DEFAULT_MONACO_EDITOR_PREFERENCE.fontSize;
34
- document.fonts.load("".concat(size, "px Elice Digital Coding"), FONT_LOAD_TEXT).then(function () {
35
- return editor.remeasureFonts();
36
- }).catch(function () {
33
+ const size = (_b = options.fontSize) !== null && _b !== void 0 ? _b : DEFAULT_MONACO_EDITOR_PREFERENCE.fontSize;
34
+ document.fonts.load(`${size}px Elice Digital Coding`, FONT_LOAD_TEXT).then(() => editor.remeasureFonts()).catch(() => {
37
35
  // do nothing.
38
36
  });
39
37
  }, [options.fontSize]);
@@ -5,18 +5,18 @@ import { importTheme } from '../utils/theme/index.js';
5
5
  /**
6
6
  * Import and set theme for monaco editor.
7
7
  */
8
- var useMonacoTheme = function useMonacoTheme(rawTheme, cb) {
9
- var theme = rawTheme !== null && rawTheme !== void 0 ? rawTheme : 'elice';
10
- useEffect(function () {
11
- importTheme(theme).then(function (themeData) {
8
+ const useMonacoTheme = (rawTheme, cb) => {
9
+ const theme = rawTheme !== null && rawTheme !== void 0 ? rawTheme : 'elice';
10
+ useEffect(() => {
11
+ importTheme(theme).then(themeData => {
12
12
  editor.defineTheme(theme, themeData);
13
13
  editor.setTheme(theme);
14
14
  if (typeof cb === 'function') {
15
15
  cb(theme);
16
16
  }
17
- }).catch(function (err) {
17
+ }).catch(err => {
18
18
  // eslint-disable-next-line no-console
19
- console.warn("fail to load theme (`".concat(theme, "`)"), err);
19
+ console.warn(`fail to load theme (\`${theme}\`)`, err);
20
20
  });
21
21
  },
22
22
  // eslint-disable-next-line react-hooks/exhaustive-deps
@@ -1,38 +1,15 @@
1
- import { asyncToGenerator as _asyncToGenerator, regeneratorRuntime as _regeneratorRuntime } from '../../../../../_virtual/_rollupPluginBabelHelpers.js';
2
1
  import prettier from '../../utils/prettier/index.js';
3
2
 
4
- var CssDocumentFormattingEditProvider = {
5
- provideDocumentFormattingEdits: function provideDocumentFormattingEdits(model) {
6
- return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
7
- var text;
8
- return _regeneratorRuntime().wrap(function _callee$(_context) {
9
- while (1) switch (_context.prev = _context.next) {
10
- case 0:
11
- _context.t0 = prettier;
12
- _context.t1 = model.getValue();
13
- _context.next = 4;
14
- return import('prettier/plugins/postcss');
15
- case 4:
16
- _context.t2 = _context.sent;
17
- _context.t3 = [_context.t2];
18
- _context.t4 = {
19
- parser: 'scss',
20
- plugins: _context.t3
21
- };
22
- _context.next = 9;
23
- return (0, _context.t0)(_context.t1, _context.t4);
24
- case 9:
25
- text = _context.sent;
26
- return _context.abrupt("return", [{
27
- range: model.getFullModelRange(),
28
- text: text
29
- }]);
30
- case 11:
31
- case "end":
32
- return _context.stop();
33
- }
34
- }, _callee);
35
- }))();
3
+ const CssDocumentFormattingEditProvider = {
4
+ async provideDocumentFormattingEdits(model) {
5
+ const text = await prettier(model.getValue(), {
6
+ parser: 'scss',
7
+ plugins: [await import('prettier/plugins/postcss')]
8
+ });
9
+ return [{
10
+ range: model.getFullModelRange(),
11
+ text
12
+ }];
36
13
  }
37
14
  };
38
15
 
@@ -1,38 +1,15 @@
1
- import { asyncToGenerator as _asyncToGenerator, regeneratorRuntime as _regeneratorRuntime } from '../../../../../_virtual/_rollupPluginBabelHelpers.js';
2
1
  import prettier from '../../utils/prettier/index.js';
3
2
 
4
- var HtmlDocumentFormattingEditProvider = {
5
- provideDocumentFormattingEdits: function provideDocumentFormattingEdits(model) {
6
- return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
7
- var text;
8
- return _regeneratorRuntime().wrap(function _callee$(_context) {
9
- while (1) switch (_context.prev = _context.next) {
10
- case 0:
11
- _context.t0 = prettier;
12
- _context.t1 = model.getValue();
13
- _context.next = 4;
14
- return import('prettier/plugins/html');
15
- case 4:
16
- _context.t2 = _context.sent;
17
- _context.t3 = [_context.t2];
18
- _context.t4 = {
19
- parser: 'html',
20
- plugins: _context.t3
21
- };
22
- _context.next = 9;
23
- return (0, _context.t0)(_context.t1, _context.t4);
24
- case 9:
25
- text = _context.sent;
26
- return _context.abrupt("return", [{
27
- range: model.getFullModelRange(),
28
- text: text
29
- }]);
30
- case 11:
31
- case "end":
32
- return _context.stop();
33
- }
34
- }, _callee);
35
- }))();
3
+ const HtmlDocumentFormattingEditProvider = {
4
+ async provideDocumentFormattingEdits(model) {
5
+ const text = await prettier(model.getValue(), {
6
+ parser: 'html',
7
+ plugins: [await import('prettier/plugins/html')]
8
+ });
9
+ return [{
10
+ range: model.getFullModelRange(),
11
+ text
12
+ }];
36
13
  }
37
14
  };
38
15
 
@@ -1,6 +1,6 @@
1
1
  function dts(options) {
2
2
  return {
3
- path: options.path ? "file:///node_modules/".concat(options.path) : '',
3
+ path: options.path ? `file:///node_modules/${options.path}` : '',
4
4
  content: options.content
5
5
  };
6
6
  }
@@ -1,42 +1,15 @@
1
- import { asyncToGenerator as _asyncToGenerator, regeneratorRuntime as _regeneratorRuntime } from '../../../../../_virtual/_rollupPluginBabelHelpers.js';
2
1
  import prettier from '../../utils/prettier/index.js';
3
2
 
4
- var TypescriptDocumentFormattingEditProvider = {
5
- provideDocumentFormattingEdits: function provideDocumentFormattingEdits(model) {
6
- return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
7
- var text;
8
- return _regeneratorRuntime().wrap(function _callee$(_context) {
9
- while (1) switch (_context.prev = _context.next) {
10
- case 0:
11
- _context.t0 = prettier;
12
- _context.t1 = model.getValue();
13
- _context.next = 4;
14
- return import('prettier/plugins/babel');
15
- case 4:
16
- _context.t2 = _context.sent;
17
- _context.next = 7;
18
- return import('prettier/plugins/estree');
19
- case 7:
20
- _context.t3 = _context.sent;
21
- _context.t4 = [_context.t2, _context.t3];
22
- _context.t5 = {
23
- parser: 'babel-ts',
24
- plugins: _context.t4
25
- };
26
- _context.next = 12;
27
- return (0, _context.t0)(_context.t1, _context.t5);
28
- case 12:
29
- text = _context.sent;
30
- return _context.abrupt("return", [{
31
- range: model.getFullModelRange(),
32
- text: text
33
- }]);
34
- case 14:
35
- case "end":
36
- return _context.stop();
37
- }
38
- }, _callee);
39
- }))();
3
+ const TypescriptDocumentFormattingEditProvider = {
4
+ async provideDocumentFormattingEdits(model) {
5
+ const text = await prettier(model.getValue(), {
6
+ parser: 'babel-ts',
7
+ plugins: [await import('prettier/plugins/babel'), await import('prettier/plugins/estree')]
8
+ });
9
+ return [{
10
+ range: model.getFullModelRange(),
11
+ text
12
+ }];
40
13
  }
41
14
  };
42
15