@elice/material-exercise 1.231227.0 → 1.231228.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,13 +1,9 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var _rollupPluginBabelHelpers = require('../../../../../_virtual/_rollupPluginBabelHelpers.js');
6
3
  var monaco = require('monaco-editor/esm/vs/editor/editor.api');
7
4
  var styles = require('./styles.js');
8
5
 
9
- function _interopNamespace(e) {
10
- if (e && e.__esModule) return e;
6
+ function _interopNamespaceDefault(e) {
11
7
  var n = Object.create(null);
12
8
  if (e) {
13
9
  Object.keys(e).forEach(function (k) {
@@ -20,19 +16,54 @@ function _interopNamespace(e) {
20
16
  }
21
17
  });
22
18
  }
23
- n["default"] = e;
19
+ n.default = e;
24
20
  return Object.freeze(n);
25
21
  }
26
22
 
27
- var monaco__namespace = /*#__PURE__*/_interopNamespace(monaco);
23
+ var monaco__namespace = /*#__PURE__*/_interopNamespaceDefault(monaco);
28
24
 
29
- var RemoteSelection = /*#__PURE__*/function () {
25
+ /* ====================================================================================================
26
+ * These codes forked and modified from `convergencelabs/monaco-collab-ext`
27
+ * under the terms of the MIT license.
28
+ * Make sure to check the original project if any issue exists.
29
+ * - project: https://github.com/convergencelabs/monaco-collab-ext
30
+ * - codes: https://github.com/convergencelabs/monaco-collab-ext/tree/6ece72028e4b8fb35e9928a304fbdfe28a4e7be9/src/ts
31
+ * ==================================================================================================== */
32
+ class RemoteSelection {
33
+ /**
34
+ * A helper method to add a style tag to the head of the document that will
35
+ * style the color of the selection. The Monaco Editor only allows setting
36
+ * the class name of decorations, so we can not set a style property directly.
37
+ * This method will create, add, and return the style tag for this element.
38
+ */
39
+ static _addDynamicStyleElement(className, color) {
40
+ const css = `.${className} { background-color: ${color}; }`.trim();
41
+ const styleElement = document.createElement('style');
42
+ styleElement.innerText = css;
43
+ document.head.appendChild(styleElement);
44
+ return styleElement;
45
+ }
46
+ /**
47
+ * A helper method to ensure the start position is before the end position.
48
+ */
49
+ static _swapIfNeeded(start, end) {
50
+ if (start.lineNumber < end.lineNumber || start.lineNumber === end.lineNumber && start.column <= end.column) {
51
+ return {
52
+ start,
53
+ end
54
+ };
55
+ } else {
56
+ return {
57
+ start: end,
58
+ end: start
59
+ };
60
+ }
61
+ }
30
62
  /**
31
63
  * Constructs a new remote selection.
32
64
  *
33
65
  */
34
- function RemoteSelection(codeEditor, id, classId, color, label, onDisposed) {
35
- _rollupPluginBabelHelpers.classCallCheck(this, RemoteSelection);
66
+ constructor(codeEditor, id, classId, color, label, onDisposed) {
36
67
  /**
37
68
  * The current start position of the selection.
38
69
  */
@@ -47,8 +78,8 @@ var RemoteSelection = /*#__PURE__*/function () {
47
78
  this._disposed = false;
48
79
  this._editor = codeEditor;
49
80
  this._id = id;
50
- var uniqueClassId = "".concat(styles.REMOTE_MARKER_CLASS_NAME, "-selection-").concat(classId);
51
- this._className = "".concat(styles.REMOTE_MARKER_CLASS_NAME, "-selection ").concat(uniqueClassId);
81
+ const uniqueClassId = `${styles.REMOTE_MARKER_CLASS_NAME}-selection-${classId}`;
82
+ this._className = `${styles.REMOTE_MARKER_CLASS_NAME}-selection ${uniqueClassId}`;
52
83
  this._styleElement = RemoteSelection._addDynamicStyleElement(uniqueClassId, color);
53
84
  this._label = label;
54
85
  this._decorations = [];
@@ -57,154 +88,98 @@ var RemoteSelection = /*#__PURE__*/function () {
57
88
  /**
58
89
  * Gets the userland id of this selection.
59
90
  */
60
- _rollupPluginBabelHelpers.createClass(RemoteSelection, [{
61
- key: "getId",
62
- value: function getId() {
63
- return this._id;
64
- }
65
- /**
66
- * Gets the start position of the selection.
67
- *
68
- * @returns
69
- * The start position of the selection.
70
- */
71
- }, {
72
- key: "getStartPosition",
73
- value: function getStartPosition() {
74
- return Object.assign({}, this._startPosition);
75
- }
76
- /**
77
- * Gets the start position of the selection.
78
- *
79
- * @returns
80
- * The start position of the selection.
81
- */
82
- }, {
83
- key: "getEndPosition",
84
- value: function getEndPosition() {
85
- return Object.assign({}, this._endPosition);
86
- }
87
- /**
88
- * Sets the selection using zero-based text indices.
89
- */
90
- }, {
91
- key: "setOffsets",
92
- value: function setOffsets(start, end) {
93
- var _a, _b;
94
- var startPosition = (_a = this._editor.getModel()) === null || _a === void 0 ? void 0 : _a.getPositionAt(start);
95
- var endPosition = (_b = this._editor.getModel()) === null || _b === void 0 ? void 0 : _b.getPositionAt(end);
96
- if (startPosition && endPosition) {
97
- this.setPositions(startPosition, endPosition);
98
- }
99
- }
100
- /**
101
- * Sets the selection using Monaco's line-number / column coordinate system.
102
- */
103
- }, {
104
- key: "setPositions",
105
- value: function setPositions(start, end) {
106
- this._decorations = this._editor.deltaDecorations(this._decorations, []);
107
- var ordered = RemoteSelection._swapIfNeeded(start, end);
108
- this._startPosition = ordered.start;
109
- this._endPosition = ordered.end;
110
- this._render();
111
- }
112
- /**
113
- * Makes the selection visible if it is hidden.
114
- */
115
- }, {
116
- key: "show",
117
- value: function show() {
118
- this._render();
119
- }
120
- /**
121
- * Makes the selection hidden if it is visible.
122
- */
123
- }, {
124
- key: "hide",
125
- value: function hide() {
126
- this._decorations = this._editor.deltaDecorations(this._decorations, []);
127
- }
128
- /**
129
- * Determines if the selection has been permanently removed from the editor.
130
- *
131
- * @returns
132
- * True if the selection has been disposed, false otherwise.
133
- */
134
- }, {
135
- key: "isDisposed",
136
- value: function isDisposed() {
137
- return this._disposed;
138
- }
139
- /**
140
- * Permanently removes the selection from the editor.
141
- */
142
- }, {
143
- key: "dispose",
144
- value: function dispose() {
145
- var _a;
146
- if (!this._disposed) {
147
- (_a = this._styleElement.parentElement) === null || _a === void 0 ? void 0 : _a.removeChild(this._styleElement);
148
- this.hide();
149
- this._disposed = true;
150
- this._onDisposed();
151
- }
152
- }
153
- /**
154
- * A helper method that actually renders the selection as a decoration within
155
- * the Monaco Editor.
156
- *
157
- * @private
158
- */
159
- }, {
160
- key: "_render",
161
- value: function _render() {
162
- this._decorations = this._editor.deltaDecorations(this._decorations, [{
163
- range: new monaco__namespace.Range(this._startPosition.lineNumber, this._startPosition.column, this._endPosition.lineNumber, this._endPosition.column),
164
- options: {
165
- className: this._className,
166
- hoverMessage: this._label != null ? {
167
- value: this._label
168
- } : null
169
- }
170
- }]);
91
+ getId() {
92
+ return this._id;
93
+ }
94
+ /**
95
+ * Gets the start position of the selection.
96
+ *
97
+ * @returns
98
+ * The start position of the selection.
99
+ */
100
+ getStartPosition() {
101
+ return Object.assign({}, this._startPosition);
102
+ }
103
+ /**
104
+ * Gets the start position of the selection.
105
+ *
106
+ * @returns
107
+ * The start position of the selection.
108
+ */
109
+ getEndPosition() {
110
+ return Object.assign({}, this._endPosition);
111
+ }
112
+ /**
113
+ * Sets the selection using zero-based text indices.
114
+ */
115
+ setOffsets(start, end) {
116
+ var _a, _b;
117
+ const startPosition = (_a = this._editor.getModel()) === null || _a === void 0 ? void 0 : _a.getPositionAt(start);
118
+ const endPosition = (_b = this._editor.getModel()) === null || _b === void 0 ? void 0 : _b.getPositionAt(end);
119
+ if (startPosition && endPosition) {
120
+ this.setPositions(startPosition, endPosition);
171
121
  }
172
- }], [{
173
- key: "_addDynamicStyleElement",
174
- value:
175
- /**
176
- * A helper method to add a style tag to the head of the document that will
177
- * style the color of the selection. The Monaco Editor only allows setting
178
- * the class name of decorations, so we can not set a style property directly.
179
- * This method will create, add, and return the style tag for this element.
180
- */
181
- function _addDynamicStyleElement(className, color) {
182
- var css = ".".concat(className, " { background-color: ").concat(color, "; }").trim();
183
- var styleElement = document.createElement('style');
184
- styleElement.innerText = css;
185
- document.head.appendChild(styleElement);
186
- return styleElement;
122
+ }
123
+ /**
124
+ * Sets the selection using Monaco's line-number / column coordinate system.
125
+ */
126
+ setPositions(start, end) {
127
+ this._decorations = this._editor.deltaDecorations(this._decorations, []);
128
+ const ordered = RemoteSelection._swapIfNeeded(start, end);
129
+ this._startPosition = ordered.start;
130
+ this._endPosition = ordered.end;
131
+ this._render();
132
+ }
133
+ /**
134
+ * Makes the selection visible if it is hidden.
135
+ */
136
+ show() {
137
+ this._render();
138
+ }
139
+ /**
140
+ * Makes the selection hidden if it is visible.
141
+ */
142
+ hide() {
143
+ this._decorations = this._editor.deltaDecorations(this._decorations, []);
144
+ }
145
+ /**
146
+ * Determines if the selection has been permanently removed from the editor.
147
+ *
148
+ * @returns
149
+ * True if the selection has been disposed, false otherwise.
150
+ */
151
+ isDisposed() {
152
+ return this._disposed;
153
+ }
154
+ /**
155
+ * Permanently removes the selection from the editor.
156
+ */
157
+ dispose() {
158
+ var _a;
159
+ if (!this._disposed) {
160
+ (_a = this._styleElement.parentElement) === null || _a === void 0 ? void 0 : _a.removeChild(this._styleElement);
161
+ this.hide();
162
+ this._disposed = true;
163
+ this._onDisposed();
187
164
  }
188
- /**
189
- * A helper method to ensure the start position is before the end position.
190
- */
191
- }, {
192
- key: "_swapIfNeeded",
193
- value: function _swapIfNeeded(start, end) {
194
- if (start.lineNumber < end.lineNumber || start.lineNumber === end.lineNumber && start.column <= end.column) {
195
- return {
196
- start: start,
197
- end: end
198
- };
199
- } else {
200
- return {
201
- start: end,
202
- end: start
203
- };
165
+ }
166
+ /**
167
+ * A helper method that actually renders the selection as a decoration within
168
+ * the Monaco Editor.
169
+ *
170
+ * @private
171
+ */
172
+ _render() {
173
+ this._decorations = this._editor.deltaDecorations(this._decorations, [{
174
+ range: new monaco__namespace.Range(this._startPosition.lineNumber, this._startPosition.column, this._endPosition.lineNumber, this._endPosition.column),
175
+ options: {
176
+ className: this._className,
177
+ hoverMessage: this._label != null ? {
178
+ value: this._label
179
+ } : null
204
180
  }
205
- }
206
- }]);
207
- return RemoteSelection;
208
- }();
181
+ }]);
182
+ }
183
+ }
209
184
 
210
185
  exports.RemoteSelection = RemoteSelection;
@@ -1,23 +1,26 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var _rollupPluginBabelHelpers = require('../../../../../_virtual/_rollupPluginBabelHelpers.js');
6
3
  var RemoteSelection = require('./RemoteSelection.js');
7
4
 
5
+ /* ====================================================================================================
6
+ * These codes forked and modified from `convergencelabs/monaco-collab-ext`
7
+ * under the terms of the MIT license.
8
+ * Make sure to check the original project if any issue exists.
9
+ * - project: https://github.com/convergencelabs/monaco-collab-ext
10
+ * - codes: https://github.com/convergencelabs/monaco-collab-ext/tree/6ece72028e4b8fb35e9928a304fbdfe28a4e7be9/src/ts
11
+ * ==================================================================================================== */
8
12
  /**
9
13
  * The RemoteSelectionManager renders remote users selections into the Monaco
10
14
  * editor using the editor's built-in decorators mechanism.
11
15
  */
12
- var RemoteSelectionManager = /*#__PURE__*/function () {
16
+ class RemoteSelectionManager {
13
17
  /**
14
18
  * Creates a new RemoteSelectionManager with the specified options.
15
19
  *
16
20
  * @param options
17
21
  * Ths options that configure the RemoteSelectionManager.
18
22
  */
19
- function RemoteSelectionManager(options) {
20
- _rollupPluginBabelHelpers.classCallCheck(this, RemoteSelectionManager);
23
+ constructor(options) {
21
24
  this._remoteSelections = new Map();
22
25
  this._options = options;
23
26
  this._nextClassId = 0;
@@ -30,111 +33,94 @@ var RemoteSelectionManager = /*#__PURE__*/function () {
30
33
  * @param color
31
34
  * The color to render the selection with.
32
35
  */
33
- _rollupPluginBabelHelpers.createClass(RemoteSelectionManager, [{
34
- key: "addSelection",
35
- value: function addSelection(id, color, label) {
36
- var _this = this;
37
- var onDisposed = function onDisposed() {
38
- _this.removeSelection(id);
39
- };
40
- var selection = new RemoteSelection.RemoteSelection(this._options.editor, id, this._nextClassId++, color, label !== null && label !== void 0 ? label : '', onDisposed);
41
- this._remoteSelections.set(id, selection);
42
- return selection;
43
- }
44
- /**
45
- * Removes an existing remote selection from the editor.
46
- *
47
- * @param id
48
- * The unique id of the selection.
49
- */
50
- }, {
51
- key: "removeSelection",
52
- value: function removeSelection(id) {
53
- var remoteSelection = this._getSelection(id);
54
- if (remoteSelection && !remoteSelection.isDisposed()) {
55
- remoteSelection.dispose();
56
- }
36
+ addSelection(id, color, label) {
37
+ const onDisposed = () => {
38
+ this.removeSelection(id);
39
+ };
40
+ const selection = new RemoteSelection.RemoteSelection(this._options.editor, id, this._nextClassId++, color, label !== null && label !== void 0 ? label : '', onDisposed);
41
+ this._remoteSelections.set(id, selection);
42
+ return selection;
43
+ }
44
+ /**
45
+ * Removes an existing remote selection from the editor.
46
+ *
47
+ * @param id
48
+ * The unique id of the selection.
49
+ */
50
+ removeSelection(id) {
51
+ const remoteSelection = this._getSelection(id);
52
+ if (remoteSelection && !remoteSelection.isDisposed()) {
53
+ remoteSelection.dispose();
57
54
  }
58
- /**
59
- * Sets the selection using zero-based text offset locations.
60
- *
61
- * @param id
62
- * The unique id of the selection.
63
- * @param start
64
- * The starting offset of the selection.
65
- * @param end
66
- * The ending offset of the selection.
67
- */
68
- }, {
69
- key: "setSelectionOffsets",
70
- value: function setSelectionOffsets(id, start, end) {
71
- var remoteSelection = this._getSelection(id);
72
- if (remoteSelection) {
73
- remoteSelection.setOffsets(start, end);
74
- }
55
+ }
56
+ /**
57
+ * Sets the selection using zero-based text offset locations.
58
+ *
59
+ * @param id
60
+ * The unique id of the selection.
61
+ * @param start
62
+ * The starting offset of the selection.
63
+ * @param end
64
+ * The ending offset of the selection.
65
+ */
66
+ setSelectionOffsets(id, start, end) {
67
+ const remoteSelection = this._getSelection(id);
68
+ if (remoteSelection) {
69
+ remoteSelection.setOffsets(start, end);
75
70
  }
76
- /**
77
- * Sets the selection using the Monaco Editor's IPosition (line numbers and columns)
78
- * location concept.
79
- *
80
- * @param id
81
- * The unique id of the selection.
82
- * @param start
83
- * The starting position of the selection.
84
- * @param end
85
- * The ending position of the selection.
86
- */
87
- }, {
88
- key: "setSelectionPositions",
89
- value: function setSelectionPositions(id, start, end) {
90
- var remoteSelection = this._getSelection(id);
91
- if (remoteSelection) {
92
- remoteSelection.setPositions(start, end);
93
- }
71
+ }
72
+ /**
73
+ * Sets the selection using the Monaco Editor's IPosition (line numbers and columns)
74
+ * location concept.
75
+ *
76
+ * @param id
77
+ * The unique id of the selection.
78
+ * @param start
79
+ * The starting position of the selection.
80
+ * @param end
81
+ * The ending position of the selection.
82
+ */
83
+ setSelectionPositions(id, start, end) {
84
+ const remoteSelection = this._getSelection(id);
85
+ if (remoteSelection) {
86
+ remoteSelection.setPositions(start, end);
94
87
  }
95
- /**
96
- * Shows the specified selection, if it is currently hidden.
97
- *
98
- * @param id
99
- * The unique id of the selection.
100
- */
101
- }, {
102
- key: "showSelection",
103
- value: function showSelection(id) {
104
- var remoteSelection = this._getSelection(id);
105
- if (remoteSelection) {
106
- remoteSelection.show();
107
- }
88
+ }
89
+ /**
90
+ * Shows the specified selection, if it is currently hidden.
91
+ *
92
+ * @param id
93
+ * The unique id of the selection.
94
+ */
95
+ showSelection(id) {
96
+ const remoteSelection = this._getSelection(id);
97
+ if (remoteSelection) {
98
+ remoteSelection.show();
108
99
  }
109
- /**
110
- * Hides the specified selection, if it is currently shown.
111
- *
112
- * @param id
113
- * The unique id of the selection.
114
- */
115
- }, {
116
- key: "hideSelection",
117
- value: function hideSelection(id) {
118
- var remoteSelection = this._getSelection(id);
119
- if (remoteSelection) {
120
- remoteSelection.hide();
121
- }
100
+ }
101
+ /**
102
+ * Hides the specified selection, if it is currently shown.
103
+ *
104
+ * @param id
105
+ * The unique id of the selection.
106
+ */
107
+ hideSelection(id) {
108
+ const remoteSelection = this._getSelection(id);
109
+ if (remoteSelection) {
110
+ remoteSelection.hide();
122
111
  }
123
- /**
124
- * A helper method that gets a cursor by id, or throws an exception.
125
- * @internal
126
- */
127
- }, {
128
- key: "_getSelection",
129
- value: function _getSelection(id) {
130
- var _a;
131
- if (!this._remoteSelections.has(id)) {
132
- throw new Error('No such selection: ' + id);
133
- }
134
- return (_a = this._remoteSelections.get(id)) !== null && _a !== void 0 ? _a : null;
112
+ }
113
+ /**
114
+ * A helper method that gets a cursor by id, or throws an exception.
115
+ * @internal
116
+ */
117
+ _getSelection(id) {
118
+ var _a;
119
+ if (!this._remoteSelections.has(id)) {
120
+ throw new Error('No such selection: ' + id);
135
121
  }
136
- }]);
137
- return RemoteSelectionManager;
138
- }();
122
+ return (_a = this._remoteSelections.get(id)) !== null && _a !== void 0 ? _a : null;
123
+ }
124
+ }
139
125
 
140
126
  exports.RemoteSelectionManager = RemoteSelectionManager;
@@ -1,7 +1,5 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var designTokens = require('@elice/design-tokens');
6
4
  var styled = require('styled-components');
7
5
 
@@ -12,8 +10,8 @@ var styled = require('styled-components');
12
10
  * - project: https://github.com/convergencelabs/monaco-collab-ext
13
11
  * - codes: https://github.com/convergencelabs/monaco-collab-ext/tree/6ece72028e4b8fb35e9928a304fbdfe28a4e7be9/src/ts
14
12
  * ==================================================================================================== */
15
- var REMOTE_MARKER_CLASS_NAME = 'exercise-editor-marker';
16
- var cssRemoteMarker = styled.css([".", "{&-cursor{position:absolute;pointer-events:none;z-index:4000;width:2px;&:before{content:'';width:6px;height:5px;display:block;margin-left:-2px;margin-top:0;z-index:4000;background:inherit;}&-tooltip{position:absolute;white-space:nowrap;color:", ";text-shadow:0 0 1px ", ";opacity:1;font-size:12px;padding:2px;font-family:'Pretendard','Malgun Gothic','Helvetica','Myriad Pro','Arial',sans-serif;z-index:4000;transition:opacity 0.5s ease-out;}}&-selection{position:absolute;pointer-events:auto;opacity:0.3;}}"], REMOTE_MARKER_CLASS_NAME, designTokens.base.color.white, designTokens.base.color.gray9);
13
+ const REMOTE_MARKER_CLASS_NAME = 'exercise-editor-marker';
14
+ const cssRemoteMarker = styled.css([".", "{&-cursor{position:absolute;pointer-events:none;z-index:4000;width:2px;&:before{content:'';width:6px;height:5px;display:block;margin-left:-2px;margin-top:0;z-index:4000;background:inherit;}&-tooltip{position:absolute;white-space:nowrap;color:", ";text-shadow:0 0 1px ", ";opacity:1;font-size:12px;padding:2px;font-family:'Pretendard','Malgun Gothic','Helvetica','Myriad Pro','Arial',sans-serif;z-index:4000;transition:opacity 0.5s ease-out;}}&-selection{position:absolute;pointer-events:auto;opacity:0.3;}}"], REMOTE_MARKER_CLASS_NAME, designTokens.base.color.white, designTokens.base.color.gray9);
17
15
 
18
16
  exports.REMOTE_MARKER_CLASS_NAME = REMOTE_MARKER_CLASS_NAME;
19
17
  exports.cssRemoteMarker = cssRemoteMarker;
@@ -1,11 +1,14 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
3
+ /* eslint-disable */
4
+ /**
5
+ * Parses raw snippets definitions with possibly multiple keys into a plan
6
+ * snippet map
7
+ */
5
8
  /**
6
9
  * List of all known syntaxes
7
10
  */
8
- var syntaxes = {
11
+ const syntaxes = {
9
12
  markup: ['html', 'xml', 'xsl', 'jsx', 'js', 'pug', 'slim', 'haml'],
10
13
  stylesheet: ['css', 'sass', 'scss', 'less', 'sss', 'stylus']
11
14
  };