@elice/material-exercise 1.240718.0-trasncript.2 → 1.240718.2

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 (459) hide show
  1. package/cjs/assets/empty.png.js +2 -1
  2. package/cjs/components/material-exercise/MaterialExercise.d.ts +1 -1
  3. package/cjs/components/material-exercise/MaterialExercise.js +75 -111
  4. package/cjs/components/material-exercise/MaterialExercise.styled.js +14 -18
  5. package/cjs/components/material-exercise/MaterialExerciseMobile.d.ts +1 -1
  6. package/cjs/components/material-exercise/MaterialExerciseMobile.js +7 -17
  7. package/cjs/components/material-exercise/context/ExerciseProvider.js +58 -68
  8. package/cjs/components/material-exercise/context/ExerciseProviderNoImage.js +30 -39
  9. package/cjs/components/material-exercise/context/context.js +1 -5
  10. package/cjs/components/material-exercise/context/recoil.js +293 -542
  11. package/cjs/components/material-exercise/context/subjects.js +4 -4
  12. package/cjs/components/material-exercise/context/types.d.ts +2 -2
  13. package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.js +78 -100
  14. package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.js +8 -12
  15. package/cjs/components/material-exercise/exercise-file/ExerciseFile.js +27 -30
  16. package/cjs/components/material-exercise/exercise-file-editor/ExerciseFileEditor.js +149 -225
  17. package/cjs/components/material-exercise/exercise-file-editor/ExerciseFileReadOnlyBanner.js +13 -20
  18. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabs.js +29 -49
  19. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.d.ts +2 -1
  20. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.js +4 -10
  21. package/cjs/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/ExerciseFileTabsFileTreeButton.js +36 -53
  22. package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTree.js +211 -353
  23. package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.d.ts +2 -1
  24. package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.js +4 -10
  25. package/cjs/components/material-exercise/exercise-file-viewer/ExerciseFileViewer.js +15 -18
  26. package/cjs/components/material-exercise/exercise-menu/ExerciseMenu.js +12 -21
  27. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.js +11 -12
  28. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.js +80 -123
  29. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuDropdown.js +67 -100
  30. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuReset.js +22 -40
  31. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.js +119 -144
  32. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.js +13 -17
  33. package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdown.js +19 -32
  34. package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.d.ts +2 -1
  35. package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.js +4 -10
  36. package/cjs/components/material-exercise/exercise-preview/ExercisePreview.js +24 -31
  37. package/cjs/components/material-exercise/exercise-preview/ExercisePreviewDisplayModeButton.js +6 -13
  38. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpane.js +35 -51
  39. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpaneEditorPerference.js +6 -14
  40. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpaneEnvironment.js +78 -90
  41. package/cjs/components/material-exercise/exercise-room/ExerciseRoom.js +12 -25
  42. package/cjs/components/material-exercise/exercise-room/ExerciseRoom.styled.js +12 -18
  43. package/cjs/components/material-exercise/exercise-room/ExerciseRoomDetail.js +349 -504
  44. package/cjs/components/material-exercise/exercise-room/ExerciseRoomList.js +132 -197
  45. package/cjs/components/material-exercise/exercise-room/helpers/exerciseRoomPermissionStringConvertor.js +2 -2
  46. package/cjs/components/material-exercise/exercise-runner/ExerciseRunner.js +142 -205
  47. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerContext.js +1 -5
  48. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerController.js +16 -25
  49. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.js +86 -118
  50. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.js +19 -33
  51. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js +82 -95
  52. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.js +52 -68
  53. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerRunningInfo.js +87 -136
  54. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusIndicator.js +2 -6
  55. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusMessage.js +15 -21
  56. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerTimer.js +23 -36
  57. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.js +248 -402
  58. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.styled.js +8 -12
  59. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistoryOutput.js +50 -74
  60. package/cjs/components/shared/exercise-menu-button/ExerciseMenuButton.js +23 -32
  61. package/cjs/components/shared/exercise-shimmer/ExerciseFileShimmer.js +38 -44
  62. package/cjs/components/shared/exercise-shimmer/ExerciseFileTabShimmer.js +20 -26
  63. package/cjs/components/shared/exercise-shimmer/ExerciseFileTabsShimmer.js +8 -14
  64. package/cjs/components/shared/exercise-shimmer/ExerciseFileTreeListItemShimmer.js +22 -28
  65. package/cjs/components/shared/exercise-shimmer/ExerciseFileTreeListShimmer.js +9 -24
  66. package/cjs/components/shared/exercise-version-list/ExerciseVersionList.js +5 -6
  67. package/cjs/components/shared/exercise-version-list/ExerciseVersionList.styled.js +1 -5
  68. package/cjs/components/shared/exercise-version-list/ExerciseVersionListItem.js +10 -10
  69. package/cjs/components/shared/exercise-version-list/ExerciseVersionListItem.styled.js +5 -13
  70. package/cjs/components/shared/file-icon/FileIcon.js +16 -23
  71. package/cjs/components/shared/file-tabs/FileTab.js +33 -47
  72. package/cjs/components/shared/file-tabs/FileTab.styled.js +15 -23
  73. package/cjs/components/shared/file-tabs/FileTabs.js +39 -66
  74. package/cjs/components/shared/file-tabs/FileTabs.styled.js +2 -6
  75. package/cjs/components/shared/file-tabs/util.js +14 -27
  76. package/cjs/components/shared/file-tree/FileTree.js +10 -20
  77. package/cjs/components/shared/file-tree/FileTreeConfig.js +40 -46
  78. package/cjs/components/shared/file-tree/FileTreeList.js +40 -43
  79. package/cjs/components/shared/file-tree/FileTreeListItemContent.js +99 -128
  80. package/cjs/components/shared/file-tree/FileTreeListItemContent.styled.js +21 -29
  81. package/cjs/components/shared/file-tree/FileTreeListItemContentInput.js +96 -106
  82. package/cjs/components/shared/file-tree/FileTreeListItemContentInput.styled.js +6 -10
  83. package/cjs/components/shared/file-tree/FileTreeListItemContentMenu.js +91 -133
  84. package/cjs/components/shared/file-tree/FileTreeListItems.js +137 -149
  85. package/cjs/components/shared/file-tree/FileTreeListItems.styled.js +2 -6
  86. package/cjs/components/shared/file-tree/FileTreeToolbar.styled.js +1 -5
  87. package/cjs/components/shared/file-tree/context/FileTreeContext.d.ts +1 -1
  88. package/cjs/components/shared/file-tree/context/FileTreeContext.js +79 -101
  89. package/cjs/components/shared/file-tree/file-tree-toolbar/FileTreeToolbar.js +54 -59
  90. package/cjs/components/shared/file-tree/utils/fileTreeFiles.js +20 -24
  91. package/cjs/components/shared/file-tree/utils/fileTreeGenerator.js +146 -193
  92. package/cjs/components/shared/file-tree/utils/fileTreeInput.js +0 -11
  93. package/cjs/components/shared/file-tree/utils/fileTreeItem.js +1 -1
  94. package/cjs/components/shared/file-tree/utils/fileTreePath.js +6 -5
  95. package/cjs/components/shared/file-viewer/FileViewer.js +46 -76
  96. package/cjs/components/shared/file-viewer/FileViewerCsv.js +167 -262
  97. package/cjs/components/shared/file-viewer/FileViewerImage.js +12 -16
  98. package/cjs/components/shared/file-viewer/FileViewerIpynb.js +11 -27
  99. package/cjs/components/shared/file-viewer/FileViewerNonViewable.js +47 -65
  100. package/cjs/components/shared/file-viewer/FileViewerText.js +11 -23
  101. package/cjs/components/shared/material-modal/MaterialModal.js +11 -20
  102. package/cjs/components/shared/material-modal/MaterialModal.styled.js +5 -9
  103. package/cjs/components/shared/monaco-editor/MonacoEditor.js +74 -102
  104. package/cjs/components/shared/monaco-editor/MonacoEditorLazy.js +7 -15
  105. package/cjs/components/shared/monaco-editor/MonacoEditorMobile.js +34 -49
  106. package/cjs/components/shared/monaco-editor/MonacoEditorPerferenceForm.js +194 -249
  107. package/cjs/components/shared/monaco-editor/constants/grammars/index.js +28 -82
  108. package/cjs/components/shared/monaco-editor/constants/monaco/preferences.js +5 -5
  109. package/cjs/components/shared/monaco-editor/constants/themes/index.js +17 -49
  110. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventChange.js +10 -11
  111. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventCursor.js +14 -15
  112. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventScroll.js +8 -9
  113. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoMarkers.js +30 -34
  114. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoOptions.js +7 -9
  115. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoTheme.js +6 -6
  116. package/cjs/components/shared/monaco-editor/editor-languages/css/formatter.js +10 -33
  117. package/cjs/components/shared/monaco-editor/editor-languages/css/index.js +2 -3
  118. package/cjs/components/shared/monaco-editor/editor-languages/html/formatter.js +10 -33
  119. package/cjs/components/shared/monaco-editor/editor-languages/html/index.js +2 -3
  120. package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/_helper.js +1 -1
  121. package/cjs/components/shared/monaco-editor/editor-languages/typescript/formatter.js +10 -37
  122. package/cjs/components/shared/monaco-editor/editor-languages/typescript/index.js +5 -6
  123. package/cjs/components/shared/monaco-editor/hooks/useEditorOptions.js +5 -11
  124. package/cjs/components/shared/monaco-editor/utils/emmet/abbreviationActions.js +12 -10
  125. package/cjs/components/shared/monaco-editor/utils/emmet/registerProvider.js +6 -12
  126. package/cjs/components/shared/monaco-editor/utils/grammar/index.js +24 -67
  127. package/cjs/components/shared/monaco-editor/utils/grammar/onigasm.js +6 -25
  128. package/cjs/components/shared/monaco-editor/utils/grammar/textmate.js +37 -70
  129. package/cjs/components/shared/monaco-editor/utils/monacoLanguage.js +7 -8
  130. package/cjs/components/shared/monaco-editor/utils/monacoPreference.js +4 -6
  131. package/cjs/components/shared/monaco-editor/utils/prettier/config.js +2 -2
  132. package/cjs/components/shared/monaco-editor/utils/prettier/index.js +7 -27
  133. package/cjs/components/shared/monaco-editor/utils/theme/convert.js +14 -24
  134. package/cjs/components/shared/monaco-editor/utils/theme/index.js +3 -22
  135. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursor.js +56 -77
  136. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorManager.js +68 -82
  137. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorWidget.js +93 -120
  138. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelection.js +132 -155
  139. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelectionManager.js +92 -104
  140. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/styles.js +2 -2
  141. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/configCompat.js +6 -1
  142. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/data.js +2 -2
  143. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/emmetHelper.js +158 -177
  144. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/utils.js +3 -3
  145. package/cjs/components/shared/no-vnc/NoVnc.js +78 -118
  146. package/cjs/components/shared/no-vnc/NoVncLazy.js +7 -15
  147. package/cjs/components/shared/preview-container/PreviewContainer.js +13 -18
  148. package/cjs/components/shared/web-browser/WebBrowser.js +52 -74
  149. package/cjs/components/shared/xterm/Xterm.js +57 -82
  150. package/cjs/components/shared/xterm/XtermLazy.js +7 -15
  151. package/cjs/constants/arduino.js +10 -10
  152. package/cjs/constants/color.js +1 -1
  153. package/cjs/constants/shortcutKeyMap.js +1 -3
  154. package/cjs/constants/stylesheets.js +5 -7
  155. package/cjs/hooks/useArduino.js +141 -282
  156. package/cjs/hooks/useExerciseFile.js +22 -24
  157. package/cjs/hooks/useExericseShortcut.js +4 -6
  158. package/cjs/hooks/useMaterialExerciseFileUrl.js +33 -55
  159. package/cjs/hooks/useRunnerRoomWebSocket.js +27 -51
  160. package/cjs/hooks/useStdioTextConcator.js +11 -15
  161. package/cjs/hooks/useStdioWebSocket.js +28 -32
  162. package/cjs/hooks/useUsercodeEditWebSocket.js +158 -238
  163. package/cjs/hooks/useUsercodeHistory.js +63 -115
  164. package/cjs/utils/arduino.js +11 -23
  165. package/cjs/utils/exerciseFile.js +10 -8
  166. package/cjs/utils/runner.js +17 -33
  167. package/es/assets/empty.png.js +2 -1
  168. package/es/components/material-exercise/MaterialExercise.d.ts +1 -1
  169. package/es/components/material-exercise/MaterialExercise.js +75 -107
  170. package/es/components/material-exercise/MaterialExercise.styled.js +14 -14
  171. package/es/components/material-exercise/MaterialExerciseMobile.d.ts +1 -1
  172. package/es/components/material-exercise/MaterialExerciseMobile.js +7 -13
  173. package/es/components/material-exercise/context/ExerciseProvider.js +58 -63
  174. package/es/components/material-exercise/context/ExerciseProviderNoImage.js +30 -35
  175. package/es/components/material-exercise/context/context.js +1 -1
  176. package/es/components/material-exercise/context/recoil.js +290 -535
  177. package/es/components/material-exercise/context/subjects.js +4 -4
  178. package/es/components/material-exercise/context/types.d.ts +2 -2
  179. package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.js +78 -95
  180. package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.js +8 -8
  181. package/es/components/material-exercise/exercise-file/ExerciseFile.js +27 -25
  182. package/es/components/material-exercise/exercise-file-editor/ExerciseFileEditor.js +149 -221
  183. package/es/components/material-exercise/exercise-file-editor/ExerciseFileReadOnlyBanner.js +13 -15
  184. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabs.js +29 -44
  185. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.d.ts +2 -1
  186. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.js +4 -6
  187. package/es/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/ExerciseFileTabsFileTreeButton.js +36 -48
  188. package/es/components/material-exercise/exercise-file-tree/ExerciseFileTree.js +211 -348
  189. package/es/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.d.ts +2 -1
  190. package/es/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.js +4 -6
  191. package/es/components/material-exercise/exercise-file-viewer/ExerciseFileViewer.js +15 -14
  192. package/es/components/material-exercise/exercise-menu/ExerciseMenu.js +12 -16
  193. package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.js +11 -12
  194. package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.js +80 -119
  195. package/es/components/material-exercise/exercise-menu/ExerciseMenuDropdown.js +67 -96
  196. package/es/components/material-exercise/exercise-menu/ExerciseMenuReset.js +23 -41
  197. package/es/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.js +122 -143
  198. package/es/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.js +13 -13
  199. package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdown.js +19 -28
  200. package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.d.ts +2 -1
  201. package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.js +4 -6
  202. package/es/components/material-exercise/exercise-preview/ExercisePreview.js +24 -26
  203. package/es/components/material-exercise/exercise-preview/ExercisePreviewDisplayModeButton.js +7 -14
  204. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpane.js +35 -47
  205. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpaneEditorPerference.js +6 -10
  206. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpaneEnvironment.js +78 -85
  207. package/es/components/material-exercise/exercise-room/ExerciseRoom.js +12 -21
  208. package/es/components/material-exercise/exercise-room/ExerciseRoom.styled.js +12 -14
  209. package/es/components/material-exercise/exercise-room/ExerciseRoomDetail.js +349 -498
  210. package/es/components/material-exercise/exercise-room/ExerciseRoomList.js +133 -193
  211. package/es/components/material-exercise/exercise-room/helpers/exerciseRoomPermissionStringConvertor.js +2 -2
  212. package/es/components/material-exercise/exercise-runner/ExerciseRunner.js +142 -200
  213. package/es/components/material-exercise/exercise-runner/ExerciseRunnerContext.js +1 -1
  214. package/es/components/material-exercise/exercise-runner/ExerciseRunnerController.js +16 -20
  215. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.js +85 -112
  216. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.js +20 -30
  217. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js +82 -90
  218. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.js +52 -63
  219. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerRunningInfo.js +87 -131
  220. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusIndicator.js +2 -2
  221. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusMessage.js +15 -17
  222. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerTimer.js +23 -31
  223. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.js +250 -399
  224. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.styled.js +8 -8
  225. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistoryOutput.js +49 -68
  226. package/es/components/shared/exercise-menu-button/ExerciseMenuButton.js +24 -29
  227. package/es/components/shared/exercise-shimmer/ExerciseFileShimmer.js +38 -40
  228. package/es/components/shared/exercise-shimmer/ExerciseFileTabShimmer.js +20 -22
  229. package/es/components/shared/exercise-shimmer/ExerciseFileTabsShimmer.js +8 -10
  230. package/es/components/shared/exercise-shimmer/ExerciseFileTreeListItemShimmer.js +22 -24
  231. package/es/components/shared/exercise-shimmer/ExerciseFileTreeListShimmer.js +9 -19
  232. package/es/components/shared/exercise-version-list/ExerciseVersionList.js +5 -6
  233. package/es/components/shared/exercise-version-list/ExerciseVersionList.styled.js +1 -1
  234. package/es/components/shared/exercise-version-list/ExerciseVersionListItem.js +10 -10
  235. package/es/components/shared/exercise-version-list/ExerciseVersionListItem.styled.js +5 -9
  236. package/es/components/shared/file-icon/FileIcon.js +16 -19
  237. package/es/components/shared/file-tabs/FileTab.js +33 -43
  238. package/es/components/shared/file-tabs/FileTab.styled.js +15 -19
  239. package/es/components/shared/file-tabs/FileTabs.js +40 -62
  240. package/es/components/shared/file-tabs/FileTabs.styled.js +2 -2
  241. package/es/components/shared/file-tabs/util.js +14 -27
  242. package/es/components/shared/file-tree/FileTree.js +10 -16
  243. package/es/components/shared/file-tree/FileTreeConfig.js +39 -39
  244. package/es/components/shared/file-tree/FileTreeList.js +40 -38
  245. package/es/components/shared/file-tree/FileTreeListItemContent.js +99 -124
  246. package/es/components/shared/file-tree/FileTreeListItemContent.styled.js +21 -25
  247. package/es/components/shared/file-tree/FileTreeListItemContentInput.js +96 -102
  248. package/es/components/shared/file-tree/FileTreeListItemContentInput.styled.js +6 -6
  249. package/es/components/shared/file-tree/FileTreeListItemContentMenu.js +91 -129
  250. package/es/components/shared/file-tree/FileTreeListItems.js +137 -149
  251. package/es/components/shared/file-tree/FileTreeListItems.styled.js +2 -2
  252. package/es/components/shared/file-tree/FileTreeToolbar.styled.js +1 -1
  253. package/es/components/shared/file-tree/context/FileTreeContext.d.ts +1 -1
  254. package/es/components/shared/file-tree/context/FileTreeContext.js +79 -97
  255. package/es/components/shared/file-tree/file-tree-toolbar/FileTreeToolbar.js +54 -55
  256. package/es/components/shared/file-tree/utils/fileTreeFiles.js +20 -20
  257. package/es/components/shared/file-tree/utils/fileTreeGenerator.js +146 -193
  258. package/es/components/shared/file-tree/utils/fileTreeInput.js +1 -11
  259. package/es/components/shared/file-tree/utils/fileTreeItem.js +1 -1
  260. package/es/components/shared/file-tree/utils/fileTreePath.js +6 -5
  261. package/es/components/shared/file-viewer/FileViewer.js +46 -69
  262. package/es/components/shared/file-viewer/FileViewerCsv.js +167 -257
  263. package/es/components/shared/file-viewer/FileViewerImage.js +12 -12
  264. package/es/components/shared/file-viewer/FileViewerIpynb.js +11 -21
  265. package/es/components/shared/file-viewer/FileViewerNonViewable.js +47 -60
  266. package/es/components/shared/file-viewer/FileViewerText.js +11 -19
  267. package/es/components/shared/material-modal/MaterialModal.js +11 -20
  268. package/es/components/shared/material-modal/MaterialModal.styled.js +5 -5
  269. package/es/components/shared/monaco-editor/MonacoEditor.js +72 -95
  270. package/es/components/shared/monaco-editor/MonacoEditorLazy.js +7 -11
  271. package/es/components/shared/monaco-editor/MonacoEditorMobile.js +32 -43
  272. package/es/components/shared/monaco-editor/MonacoEditorPerferenceForm.js +194 -244
  273. package/es/components/shared/monaco-editor/constants/grammars/index.js +28 -82
  274. package/es/components/shared/monaco-editor/constants/monaco/preferences.js +5 -5
  275. package/es/components/shared/monaco-editor/constants/themes/index.js +17 -49
  276. package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventChange.js +10 -11
  277. package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventCursor.js +14 -15
  278. package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventScroll.js +8 -9
  279. package/es/components/shared/monaco-editor/editor-hooks/useMonacoMarkers.js +30 -34
  280. package/es/components/shared/monaco-editor/editor-hooks/useMonacoOptions.js +7 -9
  281. package/es/components/shared/monaco-editor/editor-hooks/useMonacoTheme.js +6 -6
  282. package/es/components/shared/monaco-editor/editor-languages/css/formatter.js +10 -33
  283. package/es/components/shared/monaco-editor/editor-languages/html/formatter.js +10 -33
  284. package/es/components/shared/monaco-editor/editor-languages/typescript/dts/_helper.js +1 -1
  285. package/es/components/shared/monaco-editor/editor-languages/typescript/formatter.js +10 -37
  286. package/es/components/shared/monaco-editor/editor-languages/typescript/index.js +3 -3
  287. package/es/components/shared/monaco-editor/hooks/useEditorOptions.js +5 -11
  288. package/es/components/shared/monaco-editor/utils/emmet/abbreviationActions.js +12 -10
  289. package/es/components/shared/monaco-editor/utils/emmet/registerProvider.js +6 -12
  290. package/es/components/shared/monaco-editor/utils/grammar/index.js +24 -67
  291. package/es/components/shared/monaco-editor/utils/grammar/onigasm.js +6 -25
  292. package/es/components/shared/monaco-editor/utils/grammar/textmate.js +35 -67
  293. package/es/components/shared/monaco-editor/utils/monacoLanguage.js +5 -5
  294. package/es/components/shared/monaco-editor/utils/monacoPreference.js +4 -6
  295. package/es/components/shared/monaco-editor/utils/prettier/config.js +2 -2
  296. package/es/components/shared/monaco-editor/utils/prettier/index.js +7 -27
  297. package/es/components/shared/monaco-editor/utils/theme/convert.js +13 -19
  298. package/es/components/shared/monaco-editor/utils/theme/index.js +3 -22
  299. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursor.js +56 -77
  300. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorManager.js +68 -82
  301. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorWidget.js +93 -120
  302. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelection.js +130 -152
  303. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelectionManager.js +92 -104
  304. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/styles.js +2 -2
  305. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/configCompat.js +6 -1
  306. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/data.js +2 -2
  307. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/emmetHelper.js +156 -171
  308. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/utils.js +3 -3
  309. package/es/components/shared/no-vnc/NoVnc.js +71 -99
  310. package/es/components/shared/no-vnc/NoVncLazy.js +7 -11
  311. package/es/components/shared/preview-container/PreviewContainer.js +14 -15
  312. package/es/components/shared/web-browser/WebBrowser.js +52 -69
  313. package/es/components/shared/xterm/Xterm.js +57 -77
  314. package/es/components/shared/xterm/XtermLazy.js +7 -11
  315. package/es/constants/arduino.js +10 -10
  316. package/es/constants/color.js +1 -1
  317. package/es/constants/shortcutKeyMap.js +1 -3
  318. package/es/constants/stylesheets.js +5 -7
  319. package/es/hooks/useArduino.js +141 -278
  320. package/es/hooks/useExerciseFile.js +22 -24
  321. package/es/hooks/useExericseShortcut.js +4 -6
  322. package/es/hooks/useMaterialExerciseFileUrl.js +34 -52
  323. package/es/hooks/useRunnerRoomWebSocket.js +27 -51
  324. package/es/hooks/useStdioTextConcator.js +11 -11
  325. package/es/hooks/useStdioWebSocket.js +28 -32
  326. package/es/hooks/useUsercodeEditWebSocket.js +157 -232
  327. package/es/hooks/useUsercodeHistory.js +63 -115
  328. package/es/utils/arduino.js +12 -24
  329. package/es/utils/exerciseFile.js +10 -8
  330. package/es/utils/runner.js +17 -33
  331. package/package.json +15 -11
  332. package/cjs/_virtual/_rollupPluginBabelHelpers.js +0 -519
  333. package/cjs/components/index.js +0 -25
  334. package/cjs/components/locales/index.js +0 -13
  335. package/cjs/components/material-exercise/context/index.js +0 -57
  336. package/cjs/components/material-exercise/exercise-code-history/index.js +0 -7
  337. package/cjs/components/material-exercise/exercise-code-history/locales/index.js +0 -13
  338. package/cjs/components/material-exercise/exercise-file/index.js +0 -7
  339. package/cjs/components/material-exercise/exercise-file-editor/index.js +0 -7
  340. package/cjs/components/material-exercise/exercise-file-editor/locales/index.js +0 -13
  341. package/cjs/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/index.js +0 -7
  342. package/cjs/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/locales/index.js +0 -13
  343. package/cjs/components/material-exercise/exercise-file-tabs/index.js +0 -9
  344. package/cjs/components/material-exercise/exercise-file-tabs/locales/index.js +0 -13
  345. package/cjs/components/material-exercise/exercise-file-tree/index.js +0 -9
  346. package/cjs/components/material-exercise/exercise-file-tree/locales/index.js +0 -13
  347. package/cjs/components/material-exercise/exercise-file-viewer/index.js +0 -7
  348. package/cjs/components/material-exercise/exercise-menu/index.js +0 -7
  349. package/cjs/components/material-exercise/exercise-menu/locales/index.js +0 -13
  350. package/cjs/components/material-exercise/exercise-multilang-dropdown/index.js +0 -9
  351. package/cjs/components/material-exercise/exercise-preview/index.js +0 -7
  352. package/cjs/components/material-exercise/exercise-preview/locales/index.js +0 -13
  353. package/cjs/components/material-exercise/exercise-rightpane/index.js +0 -7
  354. package/cjs/components/material-exercise/exercise-rightpane/locales/index.js +0 -13
  355. package/cjs/components/material-exercise/exercise-room/helpers/index.js +0 -7
  356. package/cjs/components/material-exercise/exercise-room/index.js +0 -7
  357. package/cjs/components/material-exercise/exercise-room/locales/index.js +0 -13
  358. package/cjs/components/material-exercise/exercise-runner/index.js +0 -7
  359. package/cjs/components/material-exercise/exercise-runner/locales/index.js +0 -13
  360. package/cjs/components/material-exercise/exercise-submit-history/index.js +0 -7
  361. package/cjs/components/material-exercise/exercise-submit-history/locales/index.js +0 -13
  362. package/cjs/components/material-exercise/index.js +0 -9
  363. package/cjs/components/shared/exercise-menu-button/index.js +0 -7
  364. package/cjs/components/shared/exercise-shimmer/index.js +0 -15
  365. package/cjs/components/shared/exercise-version-list/index.js +0 -9
  366. package/cjs/components/shared/file-icon/index.js +0 -7
  367. package/cjs/components/shared/file-tabs/index.js +0 -7
  368. package/cjs/components/shared/file-tree/context/index.js +0 -9
  369. package/cjs/components/shared/file-tree/file-tree-toolbar/index.js +0 -7
  370. package/cjs/components/shared/file-tree/file-tree-toolbar/locales/index.js +0 -13
  371. package/cjs/components/shared/file-tree/index.js +0 -7
  372. package/cjs/components/shared/file-tree/locales/index.js +0 -13
  373. package/cjs/components/shared/file-tree/utils/index.js +0 -20
  374. package/cjs/components/shared/file-viewer/index.js +0 -7
  375. package/cjs/components/shared/file-viewer/locales/index.js +0 -21
  376. package/cjs/components/shared/material-modal/index.js +0 -7
  377. package/cjs/components/shared/monaco-editor/constants/index.js +0 -13
  378. package/cjs/components/shared/monaco-editor/constants/monaco/index.js +0 -11
  379. package/cjs/components/shared/monaco-editor/editor-hooks/index.js +0 -17
  380. package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/index.js +0 -11
  381. package/cjs/components/shared/monaco-editor/hooks/index.js +0 -7
  382. package/cjs/components/shared/monaco-editor/index.js +0 -21
  383. package/cjs/components/shared/monaco-editor/locales/index.js +0 -13
  384. package/cjs/components/shared/monaco-editor/utils/emmet/index.js +0 -9
  385. package/cjs/components/shared/monaco-editor/utils/index.js +0 -9
  386. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/index.js +0 -12
  387. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/index.js +0 -11
  388. package/cjs/components/shared/no-vnc/index.js +0 -7
  389. package/cjs/components/shared/preview-container/index.js +0 -9
  390. package/cjs/components/shared/web-browser/index.js +0 -7
  391. package/cjs/components/shared/xterm/index.js +0 -7
  392. package/cjs/components/shared/xterm/locales/index.js +0 -13
  393. package/cjs/constants/index.js +0 -7
  394. package/cjs/hooks/index.js +0 -20
  395. package/cjs/utils/index.js +0 -10
  396. package/es/_virtual/_rollupPluginBabelHelpers.js +0 -499
  397. package/es/components/index.js +0 -8
  398. package/es/components/locales/index.js +0 -4
  399. package/es/components/material-exercise/context/index.js +0 -5
  400. package/es/components/material-exercise/exercise-code-history/index.js +0 -1
  401. package/es/components/material-exercise/exercise-code-history/locales/index.js +0 -4
  402. package/es/components/material-exercise/exercise-file/index.js +0 -1
  403. package/es/components/material-exercise/exercise-file-editor/index.js +0 -1
  404. package/es/components/material-exercise/exercise-file-editor/locales/index.js +0 -4
  405. package/es/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/index.js +0 -1
  406. package/es/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/locales/index.js +0 -4
  407. package/es/components/material-exercise/exercise-file-tabs/index.js +0 -2
  408. package/es/components/material-exercise/exercise-file-tabs/locales/index.js +0 -4
  409. package/es/components/material-exercise/exercise-file-tree/index.js +0 -2
  410. package/es/components/material-exercise/exercise-file-tree/locales/index.js +0 -4
  411. package/es/components/material-exercise/exercise-file-viewer/index.js +0 -1
  412. package/es/components/material-exercise/exercise-menu/index.js +0 -1
  413. package/es/components/material-exercise/exercise-menu/locales/index.js +0 -4
  414. package/es/components/material-exercise/exercise-multilang-dropdown/index.js +0 -2
  415. package/es/components/material-exercise/exercise-preview/index.js +0 -1
  416. package/es/components/material-exercise/exercise-preview/locales/index.js +0 -4
  417. package/es/components/material-exercise/exercise-rightpane/index.js +0 -1
  418. package/es/components/material-exercise/exercise-rightpane/locales/index.js +0 -4
  419. package/es/components/material-exercise/exercise-room/helpers/index.js +0 -1
  420. package/es/components/material-exercise/exercise-room/index.js +0 -1
  421. package/es/components/material-exercise/exercise-room/locales/index.js +0 -4
  422. package/es/components/material-exercise/exercise-runner/index.js +0 -1
  423. package/es/components/material-exercise/exercise-runner/locales/index.js +0 -4
  424. package/es/components/material-exercise/exercise-submit-history/index.js +0 -1
  425. package/es/components/material-exercise/exercise-submit-history/locales/index.js +0 -4
  426. package/es/components/material-exercise/index.js +0 -2
  427. package/es/components/shared/exercise-menu-button/index.js +0 -1
  428. package/es/components/shared/exercise-shimmer/index.js +0 -5
  429. package/es/components/shared/exercise-version-list/index.js +0 -2
  430. package/es/components/shared/file-icon/index.js +0 -1
  431. package/es/components/shared/file-tabs/index.js +0 -1
  432. package/es/components/shared/file-tree/context/index.js +0 -1
  433. package/es/components/shared/file-tree/file-tree-toolbar/index.js +0 -1
  434. package/es/components/shared/file-tree/file-tree-toolbar/locales/index.js +0 -4
  435. package/es/components/shared/file-tree/index.js +0 -1
  436. package/es/components/shared/file-tree/locales/index.js +0 -4
  437. package/es/components/shared/file-tree/utils/index.js +0 -5
  438. package/es/components/shared/file-viewer/index.js +0 -1
  439. package/es/components/shared/file-viewer/locales/index.js +0 -8
  440. package/es/components/shared/material-modal/index.js +0 -1
  441. package/es/components/shared/monaco-editor/constants/index.js +0 -2
  442. package/es/components/shared/monaco-editor/constants/monaco/index.js +0 -1
  443. package/es/components/shared/monaco-editor/editor-hooks/index.js +0 -6
  444. package/es/components/shared/monaco-editor/editor-languages/typescript/dts/index.js +0 -3
  445. package/es/components/shared/monaco-editor/hooks/index.js +0 -1
  446. package/es/components/shared/monaco-editor/index.js +0 -6
  447. package/es/components/shared/monaco-editor/locales/index.js +0 -4
  448. package/es/components/shared/monaco-editor/utils/emmet/index.js +0 -1
  449. package/es/components/shared/monaco-editor/utils/index.js +0 -2
  450. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/index.js +0 -3
  451. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/index.js +0 -2
  452. package/es/components/shared/no-vnc/index.js +0 -1
  453. package/es/components/shared/preview-container/index.js +0 -1
  454. package/es/components/shared/web-browser/index.js +0 -1
  455. package/es/components/shared/xterm/index.js +0 -1
  456. package/es/components/shared/xterm/locales/index.js +0 -4
  457. package/es/constants/index.js +0 -1
  458. package/es/hooks/index.js +0 -7
  459. package/es/utils/index.js +0 -2
@@ -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
 
@@ -22,7 +22,7 @@ function setDocumentFormattingEditProvider() {
22
22
  * Set TypeScript compiler options.
23
23
  */
24
24
  function setCompilerOptions() {
25
- var compilerOptions = {
25
+ const compilerOptions = {
26
26
  allowNonTsExtensions: true,
27
27
  allowSyntheticDefaultImports: true,
28
28
  target: monaco.languages.typescript.ScriptTarget.ES2016,
@@ -31,7 +31,7 @@ function setCompilerOptions() {
31
31
  lib: ['dom', 'dom.iterable', 'es2020'],
32
32
  noEmit: true
33
33
  };
34
- var compilerOptionsReact = Object.assign(Object.assign({}, compilerOptions), {
34
+ const compilerOptionsReact = Object.assign(Object.assign({}, compilerOptions), {
35
35
  jsx: monaco.languages.typescript.JsxEmit.React,
36
36
  jsxFactory: 'React.createElement',
37
37
  esModuleInterop: true
@@ -43,7 +43,7 @@ function setCompilerOptions() {
43
43
  * Set TypeScript diagnostics options.
44
44
  */
45
45
  function setDiagnosticsOptions() {
46
- var diagnosticsOptions = {
46
+ const diagnosticsOptions = {
47
47
  noSuggestionDiagnostics: false,
48
48
  noSemanticValidation: true,
49
49
  noSyntaxValidation: true
@@ -1,4 +1,3 @@
1
- import { slicedToArray as _slicedToArray } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
2
1
  import { useState } from 'react';
3
2
  import { useDeepCompareEffect } from 'react-use';
4
3
  import { MONACO_EDITOR_FONT_FAMILY } from '../constants/monaco/preferences.js';
@@ -11,8 +10,8 @@ import { normalizeMonacoPreference } from '../utils/monacoPreference.js';
11
10
  /**
12
11
  * Get editor options from props and preferences.
13
12
  */
14
- var getEditorOptions = function getEditorOptions(props) {
15
- var normalized = normalizeMonacoPreference(props.preference);
13
+ const getEditorOptions = props => {
14
+ const normalized = normalizeMonacoPreference(props.preference);
16
15
  return Object.assign(Object.assign({}, normalized), {
17
16
  tabSize: normalized.detectIndentation ? undefined : normalized.tabSize,
18
17
  // font
@@ -71,14 +70,9 @@ var getEditorOptions = function getEditorOptions(props) {
71
70
  /**
72
71
  * Hook to get editor options from props.
73
72
  */
74
- var useEditorOptions = function useEditorOptions(props) {
75
- var _useState = useState(getEditorOptions(props)),
76
- _useState2 = _slicedToArray(_useState, 2),
77
- editorOptions = _useState2[0],
78
- setEditorOptions = _useState2[1];
79
- useDeepCompareEffect(function () {
80
- return setEditorOptions(getEditorOptions(props));
81
- }, [props]);
73
+ const useEditorOptions = props => {
74
+ const [editorOptions, setEditorOptions] = useState(getEditorOptions(props));
75
+ useDeepCompareEffect(() => setEditorOptions(getEditorOptions(props)), [props]);
82
76
  return editorOptions;
83
77
  };
84
78
 
@@ -2,7 +2,7 @@
2
2
  * Validate if the given position is valid for emmet abbreviation.
3
3
  */
4
4
  function isValidEmmetToken(tokens, index, syntax, language) {
5
- var currentTokenType = tokens[index].type;
5
+ const currentTokenType = tokens[index].type;
6
6
  switch (syntax) {
7
7
  case 'html':
8
8
  return currentTokenType === 'text.html.basic';
@@ -19,25 +19,27 @@ function isValidEmmetToken(tokens, index, syntax, language) {
19
19
  * @see https://github.com/microsoft/vscode/blob/50140a53cc2088f478a5560683ccd354f2d5f431/extensions/emmet/src/abbreviationActions.ts#L438
20
20
  */
21
21
  function isValidLocationForEmmetAbbreviation(model, position, syntax, language) {
22
- var column = position.column,
23
- lineNumber = position.lineNumber;
22
+ const {
23
+ column,
24
+ lineNumber
25
+ } = position;
24
26
  // get current line's tokens
25
- var _tokenization =
27
+ const _tokenization =
26
28
  // monaco-editor < 0.34.0
27
29
  model._tokenization ||
28
30
  // monaco-editor >= 0.34.0
29
31
  model.tokenization._tokenization;
30
- var _tokenizationStateStore = _tokenization._tokenizationStateStore;
31
- var _tokenizationSupport =
32
+ const _tokenizationStateStore = _tokenization._tokenizationStateStore;
33
+ const _tokenizationSupport =
32
34
  // monaco-editor >= 0.32.0
33
35
  _tokenizationStateStore.tokenizationSupport ||
34
36
  // monaco-editor < 0.32.0
35
37
  _tokenization._tokenizationSupport;
36
- var state = _tokenizationStateStore.getBeginState(lineNumber - 1).clone();
37
- var tokenizationResult = _tokenizationSupport.tokenize(model.getLineContent(lineNumber), true, state, 0);
38
- var tokens = tokenizationResult.tokens;
38
+ const state = _tokenizationStateStore.getBeginState(lineNumber - 1).clone();
39
+ const tokenizationResult = _tokenizationSupport.tokenize(model.getLineContent(lineNumber), true, state, 0);
40
+ const tokens = tokenizationResult.tokens;
39
41
  // get token type at current column
40
- for (var i = tokens.length - 1; i >= 0; i--) {
42
+ for (let i = tokens.length - 1; i >= 0; i--) {
41
43
  if (column - 1 > tokens[i].offset) {
42
44
  // return true if current token is valid for emmet
43
45
  if (isValidEmmetToken(tokens, i, syntax)) {
@@ -9,18 +9,12 @@ function registerProvider(_monaco, languages, syntax) {
9
9
  if (!_monaco) {
10
10
  return;
11
11
  }
12
- var providers = languages.map(function (language) {
13
- return _monaco.languages.registerCompletionItemProvider(language, {
14
- triggerCharacters: LANGUAGE_MODES[MAPPED_MODES[language] || language],
15
- provideCompletionItems: function provideCompletionItems(model, position) {
16
- return isValidLocationForEmmetAbbreviation(model, position, syntax) ? doComplete(_monaco, model, position, syntax, DEFAULT_CONFIG) : undefined;
17
- }
18
- });
19
- });
20
- return function () {
21
- providers.forEach(function (provider) {
22
- return provider.dispose();
23
- });
12
+ const providers = languages.map(language => _monaco.languages.registerCompletionItemProvider(language, {
13
+ triggerCharacters: LANGUAGE_MODES[MAPPED_MODES[language] || language],
14
+ provideCompletionItems: (model, position) => isValidLocationForEmmetAbbreviation(model, position, syntax) ? doComplete(_monaco, model, position, syntax, DEFAULT_CONFIG) : undefined
15
+ }));
16
+ return () => {
17
+ providers.forEach(provider => provider.dispose());
24
18
  };
25
19
  }
26
20
 
@@ -1,4 +1,3 @@
1
- import { asyncToGenerator as _asyncToGenerator, regeneratorRuntime as _regeneratorRuntime } from '../../../../../_virtual/_rollupPluginBabelHelpers.js';
2
1
  import { Registry } from 'monaco-textmate';
3
2
  import { TM_LANGUAGES } from '../../constants/grammars/index.js';
4
3
  import { initOnigasm } from './onigasm.js';
@@ -9,8 +8,8 @@ import { wireTmGrammars } from './textmate.js';
9
8
  */
10
9
  function createGrammarMap() {
11
10
  // {language => scopeName}
12
- var grammars = new Map();
13
- TM_LANGUAGES.forEach(function (tm) {
11
+ const grammars = new Map();
12
+ TM_LANGUAGES.forEach(tm => {
14
13
  grammars.set(tm.language, tm.scopeName);
15
14
  });
16
15
  return grammars;
@@ -20,76 +19,34 @@ function createGrammarMap() {
20
19
  */
21
20
  function createGrammarRegistry() {
22
21
  return new Registry({
23
- getGrammarDefinition: function () {
24
- var _getGrammarDefinition = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(scopeName) {
25
- var lang, definition;
26
- return _regeneratorRuntime().wrap(function _callee$(_context) {
27
- while (1) switch (_context.prev = _context.next) {
28
- case 0:
29
- _context.prev = 0;
30
- lang = TM_LANGUAGES.find(function (l) {
31
- return l.scopeName === scopeName;
32
- });
33
- if (lang) {
34
- _context.next = 4;
35
- break;
36
- }
37
- throw Error("no language found for scopeName: ".concat(scopeName));
38
- case 4:
39
- _context.next = 6;
40
- return lang.getDefinition();
41
- case 6:
42
- definition = _context.sent;
43
- return _context.abrupt("return", {
44
- format: 'json',
45
- content: JSON.stringify(definition)
46
- });
47
- case 10:
48
- _context.prev = 10;
49
- _context.t0 = _context["catch"](0);
50
- return _context.abrupt("return", {
51
- format: 'json',
52
- content: '{}'
53
- });
54
- case 13:
55
- case "end":
56
- return _context.stop();
57
- }
58
- }, _callee, null, [[0, 10]]);
59
- }));
60
- function getGrammarDefinition(_x) {
61
- return _getGrammarDefinition.apply(this, arguments);
22
+ getGrammarDefinition: async scopeName => {
23
+ try {
24
+ const lang = TM_LANGUAGES.find(l => l.scopeName === scopeName);
25
+ if (!lang) {
26
+ throw Error(`no language found for scopeName: ${scopeName}`);
27
+ }
28
+ const definition = await lang.getDefinition();
29
+ return {
30
+ format: 'json',
31
+ content: JSON.stringify(definition)
32
+ };
33
+ } catch (_) {
34
+ return {
35
+ format: 'json',
36
+ content: '{}'
37
+ };
62
38
  }
63
- return getGrammarDefinition;
64
- }()
39
+ }
65
40
  });
66
41
  }
67
42
  /**
68
43
  *
69
44
  */
70
- function initMonacoGrammars () {
71
- return _ref.apply(this, arguments);
72
- }
73
- function _ref() {
74
- _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
75
- var grammars, registry;
76
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
77
- while (1) switch (_context2.prev = _context2.next) {
78
- case 0:
79
- _context2.next = 2;
80
- return initOnigasm();
81
- case 2:
82
- grammars = createGrammarMap();
83
- registry = createGrammarRegistry();
84
- _context2.next = 6;
85
- return wireTmGrammars(registry, grammars);
86
- case 6:
87
- case "end":
88
- return _context2.stop();
89
- }
90
- }, _callee2);
91
- }));
92
- return _ref.apply(this, arguments);
45
+ async function initMonacoGrammars () {
46
+ await initOnigasm();
47
+ const grammars = createGrammarMap();
48
+ const registry = createGrammarRegistry();
49
+ await wireTmGrammars(registry, grammars);
93
50
  }
94
51
 
95
52
  export { initMonacoGrammars as default };