@elice/material-exercise 1.240718.0-trasncript.1 → 1.240718.0-trasncript.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/_virtual/_rollupPluginBabelHelpers.js +519 -0
  2. package/cjs/assets/empty.png.js +1 -2
  3. package/cjs/components/index.js +25 -0
  4. package/cjs/components/locales/index.js +13 -0
  5. package/cjs/components/material-exercise/MaterialExercise.d.ts +1 -1
  6. package/cjs/components/material-exercise/MaterialExercise.js +111 -75
  7. package/cjs/components/material-exercise/MaterialExercise.styled.js +18 -14
  8. package/cjs/components/material-exercise/MaterialExerciseMobile.d.ts +1 -1
  9. package/cjs/components/material-exercise/MaterialExerciseMobile.js +17 -7
  10. package/cjs/components/material-exercise/context/ExerciseProvider.js +68 -58
  11. package/cjs/components/material-exercise/context/ExerciseProviderNoImage.js +39 -30
  12. package/cjs/components/material-exercise/context/context.js +5 -1
  13. package/cjs/components/material-exercise/context/index.js +57 -0
  14. package/cjs/components/material-exercise/context/recoil.js +542 -293
  15. package/cjs/components/material-exercise/context/subjects.js +4 -4
  16. package/cjs/components/material-exercise/context/types.d.ts +2 -2
  17. package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.js +100 -78
  18. package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.js +12 -8
  19. package/cjs/components/material-exercise/exercise-code-history/index.js +7 -0
  20. package/cjs/components/material-exercise/exercise-code-history/locales/index.js +13 -0
  21. package/cjs/components/material-exercise/exercise-file/ExerciseFile.js +30 -27
  22. package/cjs/components/material-exercise/exercise-file/index.js +7 -0
  23. package/cjs/components/material-exercise/exercise-file-editor/ExerciseFileEditor.js +225 -149
  24. package/cjs/components/material-exercise/exercise-file-editor/ExerciseFileReadOnlyBanner.js +20 -13
  25. package/cjs/components/material-exercise/exercise-file-editor/index.js +7 -0
  26. package/cjs/components/material-exercise/exercise-file-editor/locales/index.js +13 -0
  27. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabs.js +49 -29
  28. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.d.ts +1 -2
  29. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.js +10 -4
  30. package/cjs/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/ExerciseFileTabsFileTreeButton.js +53 -36
  31. package/cjs/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/index.js +7 -0
  32. package/cjs/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/locales/index.js +13 -0
  33. package/cjs/components/material-exercise/exercise-file-tabs/index.js +9 -0
  34. package/cjs/components/material-exercise/exercise-file-tabs/locales/index.js +13 -0
  35. package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTree.js +353 -211
  36. package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.d.ts +1 -2
  37. package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.js +10 -4
  38. package/cjs/components/material-exercise/exercise-file-tree/index.js +9 -0
  39. package/cjs/components/material-exercise/exercise-file-tree/locales/index.js +13 -0
  40. package/cjs/components/material-exercise/exercise-file-viewer/ExerciseFileViewer.js +18 -15
  41. package/cjs/components/material-exercise/exercise-file-viewer/index.js +7 -0
  42. package/cjs/components/material-exercise/exercise-menu/ExerciseMenu.js +21 -12
  43. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.js +12 -11
  44. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.js +123 -80
  45. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuDropdown.js +100 -67
  46. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuReset.js +40 -22
  47. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.js +144 -119
  48. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.js +17 -13
  49. package/cjs/components/material-exercise/exercise-menu/index.js +7 -0
  50. package/cjs/components/material-exercise/exercise-menu/locales/index.js +13 -0
  51. package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdown.js +32 -19
  52. package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.d.ts +1 -2
  53. package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.js +10 -4
  54. package/cjs/components/material-exercise/exercise-multilang-dropdown/index.js +9 -0
  55. package/cjs/components/material-exercise/exercise-preview/ExercisePreview.js +31 -24
  56. package/cjs/components/material-exercise/exercise-preview/ExercisePreviewDisplayModeButton.js +13 -6
  57. package/cjs/components/material-exercise/exercise-preview/index.js +7 -0
  58. package/cjs/components/material-exercise/exercise-preview/locales/index.js +13 -0
  59. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpane.js +51 -35
  60. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpaneEditorPerference.js +14 -6
  61. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpaneEnvironment.js +90 -78
  62. package/cjs/components/material-exercise/exercise-rightpane/index.js +7 -0
  63. package/cjs/components/material-exercise/exercise-rightpane/locales/index.js +13 -0
  64. package/cjs/components/material-exercise/exercise-room/ExerciseRoom.js +25 -12
  65. package/cjs/components/material-exercise/exercise-room/ExerciseRoom.styled.js +18 -12
  66. package/cjs/components/material-exercise/exercise-room/ExerciseRoomDetail.js +504 -349
  67. package/cjs/components/material-exercise/exercise-room/ExerciseRoomList.js +197 -132
  68. package/cjs/components/material-exercise/exercise-room/helpers/exerciseRoomPermissionStringConvertor.js +2 -2
  69. package/cjs/components/material-exercise/exercise-room/helpers/index.js +7 -0
  70. package/cjs/components/material-exercise/exercise-room/index.js +7 -0
  71. package/cjs/components/material-exercise/exercise-room/locales/index.js +13 -0
  72. package/cjs/components/material-exercise/exercise-runner/ExerciseRunner.js +205 -142
  73. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerContext.js +5 -1
  74. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerController.js +25 -16
  75. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.js +118 -86
  76. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.js +33 -19
  77. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js +95 -82
  78. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.js +68 -52
  79. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerRunningInfo.js +136 -87
  80. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusIndicator.js +6 -2
  81. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusMessage.js +21 -15
  82. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerTimer.js +36 -23
  83. package/cjs/components/material-exercise/exercise-runner/index.js +7 -0
  84. package/cjs/components/material-exercise/exercise-runner/locales/index.js +13 -0
  85. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.js +402 -248
  86. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.styled.js +12 -8
  87. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistoryOutput.js +74 -50
  88. package/cjs/components/material-exercise/exercise-submit-history/index.js +7 -0
  89. package/cjs/components/material-exercise/exercise-submit-history/locales/index.js +13 -0
  90. package/cjs/components/material-exercise/index.js +9 -0
  91. package/cjs/components/shared/exercise-menu-button/ExerciseMenuButton.js +32 -23
  92. package/cjs/components/shared/exercise-menu-button/index.js +7 -0
  93. package/cjs/components/shared/exercise-shimmer/ExerciseFileShimmer.js +44 -38
  94. package/cjs/components/shared/exercise-shimmer/ExerciseFileTabShimmer.js +26 -20
  95. package/cjs/components/shared/exercise-shimmer/ExerciseFileTabsShimmer.js +14 -8
  96. package/cjs/components/shared/exercise-shimmer/ExerciseFileTreeListItemShimmer.js +28 -22
  97. package/cjs/components/shared/exercise-shimmer/ExerciseFileTreeListShimmer.js +24 -9
  98. package/cjs/components/shared/exercise-shimmer/index.js +15 -0
  99. package/cjs/components/shared/exercise-version-list/ExerciseVersionList.js +6 -5
  100. package/cjs/components/shared/exercise-version-list/ExerciseVersionList.styled.js +5 -1
  101. package/cjs/components/shared/exercise-version-list/ExerciseVersionListItem.js +10 -10
  102. package/cjs/components/shared/exercise-version-list/ExerciseVersionListItem.styled.js +13 -5
  103. package/cjs/components/shared/exercise-version-list/index.js +9 -0
  104. package/cjs/components/shared/file-icon/FileIcon.js +23 -16
  105. package/cjs/components/shared/file-icon/index.js +7 -0
  106. package/cjs/components/shared/file-tabs/FileTab.js +47 -33
  107. package/cjs/components/shared/file-tabs/FileTab.styled.js +23 -15
  108. package/cjs/components/shared/file-tabs/FileTabs.js +66 -39
  109. package/cjs/components/shared/file-tabs/FileTabs.styled.js +6 -2
  110. package/cjs/components/shared/file-tabs/index.js +7 -0
  111. package/cjs/components/shared/file-tabs/util.js +27 -14
  112. package/cjs/components/shared/file-tree/FileTree.js +20 -10
  113. package/cjs/components/shared/file-tree/FileTreeConfig.js +46 -40
  114. package/cjs/components/shared/file-tree/FileTreeList.js +43 -40
  115. package/cjs/components/shared/file-tree/FileTreeListItemContent.js +128 -99
  116. package/cjs/components/shared/file-tree/FileTreeListItemContent.styled.js +29 -21
  117. package/cjs/components/shared/file-tree/FileTreeListItemContentInput.js +106 -96
  118. package/cjs/components/shared/file-tree/FileTreeListItemContentInput.styled.js +10 -6
  119. package/cjs/components/shared/file-tree/FileTreeListItemContentMenu.js +133 -91
  120. package/cjs/components/shared/file-tree/FileTreeListItems.js +149 -137
  121. package/cjs/components/shared/file-tree/FileTreeListItems.styled.js +6 -2
  122. package/cjs/components/shared/file-tree/FileTreeToolbar.styled.js +5 -1
  123. package/cjs/components/shared/file-tree/context/FileTreeContext.d.ts +1 -1
  124. package/cjs/components/shared/file-tree/context/FileTreeContext.js +101 -79
  125. package/cjs/components/shared/file-tree/context/index.js +9 -0
  126. package/cjs/components/shared/file-tree/file-tree-toolbar/FileTreeToolbar.js +59 -54
  127. package/cjs/components/shared/file-tree/file-tree-toolbar/index.js +7 -0
  128. package/cjs/components/shared/file-tree/file-tree-toolbar/locales/index.js +13 -0
  129. package/cjs/components/shared/file-tree/index.js +7 -0
  130. package/cjs/components/shared/file-tree/locales/index.js +13 -0
  131. package/cjs/components/shared/file-tree/utils/fileTreeFiles.js +24 -20
  132. package/cjs/components/shared/file-tree/utils/fileTreeGenerator.js +193 -146
  133. package/cjs/components/shared/file-tree/utils/fileTreeInput.js +11 -0
  134. package/cjs/components/shared/file-tree/utils/fileTreeItem.js +1 -1
  135. package/cjs/components/shared/file-tree/utils/fileTreePath.js +5 -6
  136. package/cjs/components/shared/file-tree/utils/index.js +20 -0
  137. package/cjs/components/shared/file-viewer/FileViewer.js +76 -46
  138. package/cjs/components/shared/file-viewer/FileViewerCsv.js +262 -167
  139. package/cjs/components/shared/file-viewer/FileViewerImage.js +16 -12
  140. package/cjs/components/shared/file-viewer/FileViewerIpynb.js +27 -11
  141. package/cjs/components/shared/file-viewer/FileViewerNonViewable.js +65 -47
  142. package/cjs/components/shared/file-viewer/FileViewerText.js +23 -11
  143. package/cjs/components/shared/file-viewer/index.js +7 -0
  144. package/cjs/components/shared/file-viewer/locales/index.js +21 -0
  145. package/cjs/components/shared/material-modal/MaterialModal.js +20 -11
  146. package/cjs/components/shared/material-modal/MaterialModal.styled.js +9 -5
  147. package/cjs/components/shared/material-modal/index.js +7 -0
  148. package/cjs/components/shared/monaco-editor/MonacoEditor.js +102 -74
  149. package/cjs/components/shared/monaco-editor/MonacoEditorLazy.js +15 -7
  150. package/cjs/components/shared/monaco-editor/MonacoEditorMobile.js +49 -34
  151. package/cjs/components/shared/monaco-editor/MonacoEditorPerferenceForm.js +249 -194
  152. package/cjs/components/shared/monaco-editor/constants/grammars/index.js +82 -28
  153. package/cjs/components/shared/monaco-editor/constants/index.js +13 -0
  154. package/cjs/components/shared/monaco-editor/constants/monaco/index.js +11 -0
  155. package/cjs/components/shared/monaco-editor/constants/monaco/preferences.js +5 -5
  156. package/cjs/components/shared/monaco-editor/constants/themes/index.js +49 -17
  157. package/cjs/components/shared/monaco-editor/editor-hooks/index.js +17 -0
  158. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventChange.js +11 -10
  159. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventCursor.js +15 -14
  160. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventScroll.js +9 -8
  161. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoMarkers.js +34 -30
  162. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoOptions.js +9 -7
  163. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoTheme.js +6 -6
  164. package/cjs/components/shared/monaco-editor/editor-languages/css/formatter.js +33 -10
  165. package/cjs/components/shared/monaco-editor/editor-languages/css/index.js +3 -2
  166. package/cjs/components/shared/monaco-editor/editor-languages/html/formatter.js +33 -10
  167. package/cjs/components/shared/monaco-editor/editor-languages/html/index.js +3 -2
  168. package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/_helper.js +1 -1
  169. package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/index.js +11 -0
  170. package/cjs/components/shared/monaco-editor/editor-languages/typescript/formatter.js +37 -10
  171. package/cjs/components/shared/monaco-editor/editor-languages/typescript/index.js +6 -5
  172. package/cjs/components/shared/monaco-editor/hooks/index.js +7 -0
  173. package/cjs/components/shared/monaco-editor/hooks/useEditorOptions.js +11 -5
  174. package/cjs/components/shared/monaco-editor/index.js +21 -0
  175. package/cjs/components/shared/monaco-editor/locales/index.js +13 -0
  176. package/cjs/components/shared/monaco-editor/utils/emmet/abbreviationActions.js +10 -12
  177. package/cjs/components/shared/monaco-editor/utils/emmet/index.js +9 -0
  178. package/cjs/components/shared/monaco-editor/utils/emmet/registerProvider.js +12 -6
  179. package/cjs/components/shared/monaco-editor/utils/grammar/index.js +67 -24
  180. package/cjs/components/shared/monaco-editor/utils/grammar/onigasm.js +25 -6
  181. package/cjs/components/shared/monaco-editor/utils/grammar/textmate.js +70 -37
  182. package/cjs/components/shared/monaco-editor/utils/index.js +9 -0
  183. package/cjs/components/shared/monaco-editor/utils/monacoLanguage.js +8 -7
  184. package/cjs/components/shared/monaco-editor/utils/monacoPreference.js +6 -4
  185. package/cjs/components/shared/monaco-editor/utils/prettier/config.js +2 -2
  186. package/cjs/components/shared/monaco-editor/utils/prettier/index.js +27 -7
  187. package/cjs/components/shared/monaco-editor/utils/theme/convert.js +24 -14
  188. package/cjs/components/shared/monaco-editor/utils/theme/index.js +22 -3
  189. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursor.js +77 -56
  190. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorManager.js +82 -68
  191. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorWidget.js +120 -93
  192. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelection.js +155 -132
  193. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelectionManager.js +104 -92
  194. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/index.js +12 -0
  195. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/styles.js +2 -2
  196. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/configCompat.js +1 -6
  197. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/data.js +2 -2
  198. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/emmetHelper.js +177 -158
  199. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/index.js +11 -0
  200. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/utils.js +3 -3
  201. package/cjs/components/shared/no-vnc/NoVnc.js +118 -78
  202. package/cjs/components/shared/no-vnc/NoVncLazy.js +15 -7
  203. package/cjs/components/shared/no-vnc/index.js +7 -0
  204. package/cjs/components/shared/preview-container/PreviewContainer.js +18 -13
  205. package/cjs/components/shared/preview-container/index.js +9 -0
  206. package/cjs/components/shared/web-browser/WebBrowser.js +74 -52
  207. package/cjs/components/shared/web-browser/index.js +7 -0
  208. package/cjs/components/shared/xterm/Xterm.js +82 -57
  209. package/cjs/components/shared/xterm/XtermLazy.js +15 -7
  210. package/cjs/components/shared/xterm/index.js +7 -0
  211. package/cjs/components/shared/xterm/locales/index.js +13 -0
  212. package/cjs/constants/arduino.js +10 -10
  213. package/cjs/constants/color.js +1 -1
  214. package/cjs/constants/index.js +7 -0
  215. package/cjs/constants/shortcutKeyMap.js +3 -1
  216. package/cjs/constants/stylesheets.js +7 -5
  217. package/cjs/hooks/index.js +20 -0
  218. package/cjs/hooks/useArduino.js +282 -141
  219. package/cjs/hooks/useExerciseFile.js +24 -22
  220. package/cjs/hooks/useExericseShortcut.js +6 -4
  221. package/cjs/hooks/useMaterialExerciseFileUrl.js +55 -33
  222. package/cjs/hooks/useRunnerRoomWebSocket.js +51 -27
  223. package/cjs/hooks/useStdioTextConcator.js +15 -11
  224. package/cjs/hooks/useStdioWebSocket.js +32 -28
  225. package/cjs/hooks/useUsercodeEditWebSocket.js +238 -158
  226. package/cjs/hooks/useUsercodeHistory.js +115 -63
  227. package/cjs/utils/arduino.js +23 -11
  228. package/cjs/utils/exerciseFile.js +8 -10
  229. package/cjs/utils/index.js +10 -0
  230. package/cjs/utils/runner.js +33 -17
  231. package/es/_virtual/_rollupPluginBabelHelpers.js +499 -0
  232. package/es/assets/empty.png.js +1 -2
  233. package/es/components/index.js +8 -0
  234. package/es/components/locales/index.js +4 -0
  235. package/es/components/material-exercise/MaterialExercise.d.ts +1 -1
  236. package/es/components/material-exercise/MaterialExercise.js +107 -75
  237. package/es/components/material-exercise/MaterialExercise.styled.js +14 -14
  238. package/es/components/material-exercise/MaterialExerciseMobile.d.ts +1 -1
  239. package/es/components/material-exercise/MaterialExerciseMobile.js +13 -7
  240. package/es/components/material-exercise/context/ExerciseProvider.js +63 -58
  241. package/es/components/material-exercise/context/ExerciseProviderNoImage.js +35 -30
  242. package/es/components/material-exercise/context/context.js +1 -1
  243. package/es/components/material-exercise/context/index.js +5 -0
  244. package/es/components/material-exercise/context/recoil.js +535 -290
  245. package/es/components/material-exercise/context/subjects.js +4 -4
  246. package/es/components/material-exercise/context/types.d.ts +2 -2
  247. package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.js +95 -78
  248. package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.js +8 -8
  249. package/es/components/material-exercise/exercise-code-history/index.js +1 -0
  250. package/es/components/material-exercise/exercise-code-history/locales/index.js +4 -0
  251. package/es/components/material-exercise/exercise-file/ExerciseFile.js +25 -27
  252. package/es/components/material-exercise/exercise-file/index.js +1 -0
  253. package/es/components/material-exercise/exercise-file-editor/ExerciseFileEditor.js +221 -149
  254. package/es/components/material-exercise/exercise-file-editor/ExerciseFileReadOnlyBanner.js +15 -13
  255. package/es/components/material-exercise/exercise-file-editor/index.js +1 -0
  256. package/es/components/material-exercise/exercise-file-editor/locales/index.js +4 -0
  257. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabs.js +44 -29
  258. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.d.ts +1 -2
  259. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.js +6 -4
  260. package/es/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/ExerciseFileTabsFileTreeButton.js +48 -36
  261. package/es/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/index.js +1 -0
  262. package/es/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/locales/index.js +4 -0
  263. package/es/components/material-exercise/exercise-file-tabs/index.js +2 -0
  264. package/es/components/material-exercise/exercise-file-tabs/locales/index.js +4 -0
  265. package/es/components/material-exercise/exercise-file-tree/ExerciseFileTree.js +348 -211
  266. package/es/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.d.ts +1 -2
  267. package/es/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.js +6 -4
  268. package/es/components/material-exercise/exercise-file-tree/index.js +2 -0
  269. package/es/components/material-exercise/exercise-file-tree/locales/index.js +4 -0
  270. package/es/components/material-exercise/exercise-file-viewer/ExerciseFileViewer.js +14 -15
  271. package/es/components/material-exercise/exercise-file-viewer/index.js +1 -0
  272. package/es/components/material-exercise/exercise-menu/ExerciseMenu.js +16 -12
  273. package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.js +12 -11
  274. package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.js +119 -80
  275. package/es/components/material-exercise/exercise-menu/ExerciseMenuDropdown.js +96 -67
  276. package/es/components/material-exercise/exercise-menu/ExerciseMenuReset.js +41 -23
  277. package/es/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.js +143 -122
  278. package/es/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.js +13 -13
  279. package/es/components/material-exercise/exercise-menu/index.js +1 -0
  280. package/es/components/material-exercise/exercise-menu/locales/index.js +4 -0
  281. package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdown.js +28 -19
  282. package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.d.ts +1 -2
  283. package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.js +6 -4
  284. package/es/components/material-exercise/exercise-multilang-dropdown/index.js +2 -0
  285. package/es/components/material-exercise/exercise-preview/ExercisePreview.js +26 -24
  286. package/es/components/material-exercise/exercise-preview/ExercisePreviewDisplayModeButton.js +14 -7
  287. package/es/components/material-exercise/exercise-preview/index.js +1 -0
  288. package/es/components/material-exercise/exercise-preview/locales/index.js +4 -0
  289. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpane.js +47 -35
  290. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpaneEditorPerference.js +10 -6
  291. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpaneEnvironment.js +85 -78
  292. package/es/components/material-exercise/exercise-rightpane/index.js +1 -0
  293. package/es/components/material-exercise/exercise-rightpane/locales/index.js +4 -0
  294. package/es/components/material-exercise/exercise-room/ExerciseRoom.js +21 -12
  295. package/es/components/material-exercise/exercise-room/ExerciseRoom.styled.js +14 -12
  296. package/es/components/material-exercise/exercise-room/ExerciseRoomDetail.js +498 -349
  297. package/es/components/material-exercise/exercise-room/ExerciseRoomList.js +193 -133
  298. package/es/components/material-exercise/exercise-room/helpers/exerciseRoomPermissionStringConvertor.js +2 -2
  299. package/es/components/material-exercise/exercise-room/helpers/index.js +1 -0
  300. package/es/components/material-exercise/exercise-room/index.js +1 -0
  301. package/es/components/material-exercise/exercise-room/locales/index.js +4 -0
  302. package/es/components/material-exercise/exercise-runner/ExerciseRunner.js +200 -142
  303. package/es/components/material-exercise/exercise-runner/ExerciseRunnerContext.js +1 -1
  304. package/es/components/material-exercise/exercise-runner/ExerciseRunnerController.js +20 -16
  305. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.js +112 -85
  306. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.js +30 -20
  307. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js +90 -82
  308. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.js +63 -52
  309. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerRunningInfo.js +131 -87
  310. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusIndicator.js +2 -2
  311. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusMessage.js +17 -15
  312. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerTimer.js +31 -23
  313. package/es/components/material-exercise/exercise-runner/index.js +1 -0
  314. package/es/components/material-exercise/exercise-runner/locales/index.js +4 -0
  315. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.js +399 -250
  316. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.styled.js +8 -8
  317. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistoryOutput.js +68 -49
  318. package/es/components/material-exercise/exercise-submit-history/index.js +1 -0
  319. package/es/components/material-exercise/exercise-submit-history/locales/index.js +4 -0
  320. package/es/components/material-exercise/index.js +2 -0
  321. package/es/components/shared/exercise-menu-button/ExerciseMenuButton.js +29 -24
  322. package/es/components/shared/exercise-menu-button/index.js +1 -0
  323. package/es/components/shared/exercise-shimmer/ExerciseFileShimmer.js +40 -38
  324. package/es/components/shared/exercise-shimmer/ExerciseFileTabShimmer.js +22 -20
  325. package/es/components/shared/exercise-shimmer/ExerciseFileTabsShimmer.js +10 -8
  326. package/es/components/shared/exercise-shimmer/ExerciseFileTreeListItemShimmer.js +24 -22
  327. package/es/components/shared/exercise-shimmer/ExerciseFileTreeListShimmer.js +19 -9
  328. package/es/components/shared/exercise-shimmer/index.js +5 -0
  329. package/es/components/shared/exercise-version-list/ExerciseVersionList.js +6 -5
  330. package/es/components/shared/exercise-version-list/ExerciseVersionList.styled.js +1 -1
  331. package/es/components/shared/exercise-version-list/ExerciseVersionListItem.js +10 -10
  332. package/es/components/shared/exercise-version-list/ExerciseVersionListItem.styled.js +9 -5
  333. package/es/components/shared/exercise-version-list/index.js +2 -0
  334. package/es/components/shared/file-icon/FileIcon.js +19 -16
  335. package/es/components/shared/file-icon/index.js +1 -0
  336. package/es/components/shared/file-tabs/FileTab.js +43 -33
  337. package/es/components/shared/file-tabs/FileTab.styled.js +19 -15
  338. package/es/components/shared/file-tabs/FileTabs.js +62 -40
  339. package/es/components/shared/file-tabs/FileTabs.styled.js +2 -2
  340. package/es/components/shared/file-tabs/index.js +1 -0
  341. package/es/components/shared/file-tabs/util.js +27 -14
  342. package/es/components/shared/file-tree/FileTree.js +16 -10
  343. package/es/components/shared/file-tree/FileTreeConfig.js +39 -39
  344. package/es/components/shared/file-tree/FileTreeList.js +38 -40
  345. package/es/components/shared/file-tree/FileTreeListItemContent.js +124 -99
  346. package/es/components/shared/file-tree/FileTreeListItemContent.styled.js +25 -21
  347. package/es/components/shared/file-tree/FileTreeListItemContentInput.js +102 -96
  348. package/es/components/shared/file-tree/FileTreeListItemContentInput.styled.js +6 -6
  349. package/es/components/shared/file-tree/FileTreeListItemContentMenu.js +129 -91
  350. package/es/components/shared/file-tree/FileTreeListItems.js +149 -137
  351. package/es/components/shared/file-tree/FileTreeListItems.styled.js +2 -2
  352. package/es/components/shared/file-tree/FileTreeToolbar.styled.js +1 -1
  353. package/es/components/shared/file-tree/context/FileTreeContext.d.ts +1 -1
  354. package/es/components/shared/file-tree/context/FileTreeContext.js +97 -79
  355. package/es/components/shared/file-tree/context/index.js +1 -0
  356. package/es/components/shared/file-tree/file-tree-toolbar/FileTreeToolbar.js +55 -54
  357. package/es/components/shared/file-tree/file-tree-toolbar/index.js +1 -0
  358. package/es/components/shared/file-tree/file-tree-toolbar/locales/index.js +4 -0
  359. package/es/components/shared/file-tree/index.js +1 -0
  360. package/es/components/shared/file-tree/locales/index.js +4 -0
  361. package/es/components/shared/file-tree/utils/fileTreeFiles.js +20 -20
  362. package/es/components/shared/file-tree/utils/fileTreeGenerator.js +193 -146
  363. package/es/components/shared/file-tree/utils/fileTreeInput.js +11 -1
  364. package/es/components/shared/file-tree/utils/fileTreeItem.js +1 -1
  365. package/es/components/shared/file-tree/utils/fileTreePath.js +5 -6
  366. package/es/components/shared/file-tree/utils/index.js +5 -0
  367. package/es/components/shared/file-viewer/FileViewer.js +69 -46
  368. package/es/components/shared/file-viewer/FileViewerCsv.js +257 -167
  369. package/es/components/shared/file-viewer/FileViewerImage.js +12 -12
  370. package/es/components/shared/file-viewer/FileViewerIpynb.js +21 -11
  371. package/es/components/shared/file-viewer/FileViewerNonViewable.js +60 -47
  372. package/es/components/shared/file-viewer/FileViewerText.js +19 -11
  373. package/es/components/shared/file-viewer/index.js +1 -0
  374. package/es/components/shared/file-viewer/locales/index.js +8 -0
  375. package/es/components/shared/material-modal/MaterialModal.js +20 -11
  376. package/es/components/shared/material-modal/MaterialModal.styled.js +5 -5
  377. package/es/components/shared/material-modal/index.js +1 -0
  378. package/es/components/shared/monaco-editor/MonacoEditor.js +95 -72
  379. package/es/components/shared/monaco-editor/MonacoEditorLazy.js +11 -7
  380. package/es/components/shared/monaco-editor/MonacoEditorMobile.js +43 -32
  381. package/es/components/shared/monaco-editor/MonacoEditorPerferenceForm.js +244 -194
  382. package/es/components/shared/monaco-editor/constants/grammars/index.js +82 -28
  383. package/es/components/shared/monaco-editor/constants/index.js +2 -0
  384. package/es/components/shared/monaco-editor/constants/monaco/index.js +1 -0
  385. package/es/components/shared/monaco-editor/constants/monaco/preferences.js +5 -5
  386. package/es/components/shared/monaco-editor/constants/themes/index.js +49 -17
  387. package/es/components/shared/monaco-editor/editor-hooks/index.js +6 -0
  388. package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventChange.js +11 -10
  389. package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventCursor.js +15 -14
  390. package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventScroll.js +9 -8
  391. package/es/components/shared/monaco-editor/editor-hooks/useMonacoMarkers.js +34 -30
  392. package/es/components/shared/monaco-editor/editor-hooks/useMonacoOptions.js +9 -7
  393. package/es/components/shared/monaco-editor/editor-hooks/useMonacoTheme.js +6 -6
  394. package/es/components/shared/monaco-editor/editor-languages/css/formatter.js +33 -10
  395. package/es/components/shared/monaco-editor/editor-languages/html/formatter.js +33 -10
  396. package/es/components/shared/monaco-editor/editor-languages/typescript/dts/_helper.js +1 -1
  397. package/es/components/shared/monaco-editor/editor-languages/typescript/dts/index.js +3 -0
  398. package/es/components/shared/monaco-editor/editor-languages/typescript/formatter.js +37 -10
  399. package/es/components/shared/monaco-editor/editor-languages/typescript/index.js +3 -3
  400. package/es/components/shared/monaco-editor/hooks/index.js +1 -0
  401. package/es/components/shared/monaco-editor/hooks/useEditorOptions.js +11 -5
  402. package/es/components/shared/monaco-editor/index.js +6 -0
  403. package/es/components/shared/monaco-editor/locales/index.js +4 -0
  404. package/es/components/shared/monaco-editor/utils/emmet/abbreviationActions.js +10 -12
  405. package/es/components/shared/monaco-editor/utils/emmet/index.js +1 -0
  406. package/es/components/shared/monaco-editor/utils/emmet/registerProvider.js +12 -6
  407. package/es/components/shared/monaco-editor/utils/grammar/index.js +67 -24
  408. package/es/components/shared/monaco-editor/utils/grammar/onigasm.js +25 -6
  409. package/es/components/shared/monaco-editor/utils/grammar/textmate.js +67 -35
  410. package/es/components/shared/monaco-editor/utils/index.js +2 -0
  411. package/es/components/shared/monaco-editor/utils/monacoLanguage.js +5 -5
  412. package/es/components/shared/monaco-editor/utils/monacoPreference.js +6 -4
  413. package/es/components/shared/monaco-editor/utils/prettier/config.js +2 -2
  414. package/es/components/shared/monaco-editor/utils/prettier/index.js +27 -7
  415. package/es/components/shared/monaco-editor/utils/theme/convert.js +19 -13
  416. package/es/components/shared/monaco-editor/utils/theme/index.js +22 -3
  417. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursor.js +77 -56
  418. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorManager.js +82 -68
  419. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorWidget.js +120 -93
  420. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelection.js +152 -130
  421. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelectionManager.js +104 -92
  422. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/index.js +3 -0
  423. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/styles.js +2 -2
  424. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/configCompat.js +1 -6
  425. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/data.js +2 -2
  426. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/emmetHelper.js +171 -156
  427. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/index.js +2 -0
  428. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/utils.js +3 -3
  429. package/es/components/shared/no-vnc/NoVnc.js +99 -71
  430. package/es/components/shared/no-vnc/NoVncLazy.js +11 -7
  431. package/es/components/shared/no-vnc/index.js +1 -0
  432. package/es/components/shared/preview-container/PreviewContainer.js +15 -14
  433. package/es/components/shared/preview-container/index.js +1 -0
  434. package/es/components/shared/web-browser/WebBrowser.js +69 -52
  435. package/es/components/shared/web-browser/index.js +1 -0
  436. package/es/components/shared/xterm/Xterm.js +77 -57
  437. package/es/components/shared/xterm/XtermLazy.js +11 -7
  438. package/es/components/shared/xterm/index.js +1 -0
  439. package/es/components/shared/xterm/locales/index.js +4 -0
  440. package/es/constants/arduino.js +10 -10
  441. package/es/constants/color.js +1 -1
  442. package/es/constants/index.js +1 -0
  443. package/es/constants/shortcutKeyMap.js +3 -1
  444. package/es/constants/stylesheets.js +7 -5
  445. package/es/hooks/index.js +7 -0
  446. package/es/hooks/useArduino.js +278 -141
  447. package/es/hooks/useExerciseFile.js +24 -22
  448. package/es/hooks/useExericseShortcut.js +6 -4
  449. package/es/hooks/useMaterialExerciseFileUrl.js +52 -34
  450. package/es/hooks/useRunnerRoomWebSocket.js +51 -27
  451. package/es/hooks/useStdioTextConcator.js +11 -11
  452. package/es/hooks/useStdioWebSocket.js +32 -28
  453. package/es/hooks/useUsercodeEditWebSocket.js +232 -157
  454. package/es/hooks/useUsercodeHistory.js +115 -63
  455. package/es/utils/arduino.js +24 -12
  456. package/es/utils/exerciseFile.js +8 -10
  457. package/es/utils/index.js +2 -0
  458. package/es/utils/runner.js +33 -17
  459. package/package.json +11 -15
@@ -2,6 +2,8 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ var _rollupPluginBabelHelpers = require('../../../_virtual/_rollupPluginBabelHelpers.js');
6
+ var jsxRuntime = require('react/jsx-runtime');
5
7
  var React = require('react');
6
8
  var designTokens = require('@elice/design-tokens');
7
9
  var monaco = require('monaco-editor/esm/vs/editor/editor.api');
@@ -19,7 +21,10 @@ var index = require('./editor-languages/index.js');
19
21
  var useEditorOptions = require('./hooks/useEditorOptions.js');
20
22
  var monacoLanguage = require('./utils/monacoLanguage.js');
21
23
 
22
- function _interopNamespaceDefault(e) {
24
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
25
+
26
+ function _interopNamespaceCompat(e) {
27
+ if (e && typeof e === 'object' && 'default' in e) return e;
23
28
  var n = Object.create(null);
24
29
  if (e) {
25
30
  Object.keys(e).forEach(function (k) {
@@ -36,7 +41,9 @@ function _interopNamespaceDefault(e) {
36
41
  return Object.freeze(n);
37
42
  }
38
43
 
39
- var monaco__namespace = /*#__PURE__*/_interopNamespaceDefault(monaco);
44
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
45
+ var monaco__namespace = /*#__PURE__*/_interopNamespaceCompat(monaco);
46
+ var styled__default = /*#__PURE__*/_interopDefaultCompat(styled);
40
47
 
41
48
  //
42
49
  //
@@ -47,59 +54,68 @@ index$1.default().catch(console.warn);
47
54
  //
48
55
  //
49
56
  //
50
- const StyledMonacoEditorWrapper = styled.div.withConfig({
57
+ var StyledMonacoEditorWrapper = styled__default.default.div.withConfig({
51
58
  componentId: "sc-1j3uyex-0"
52
59
  })(["width:100%;height:100%;"]);
53
- const StyledMonacoEditor = styled.div.withConfig({
60
+ var StyledMonacoEditor = styled__default.default.div.withConfig({
54
61
  componentId: "sc-1j3uyex-1"
55
62
  })(["width:100%;height:100%;background-color:", ";", ""], designTokens.base.color.navy9, styles.cssRemoteMarker);
56
63
  /**
57
64
  *
58
65
  */
59
- const MonacoEditor = React.forwardRef(({
60
- defaultValue = '',
61
- filename = '/noname.txt',
62
- preference = preferences.DEFAULT_MONACO_EDITOR_PREFERENCE,
63
- markers = [],
64
- width = '100%',
65
- height = '100%',
66
- noLanguageIntellisense = false,
67
- onLoad,
68
- onChange,
69
- onSave,
70
- onCursor,
71
- onScroll,
72
- onThemeChange
73
- }, ref) => {
66
+ var MonacoEditor = React.forwardRef(function (_ref, ref) {
67
+ var _ref$defaultValue = _ref.defaultValue,
68
+ defaultValue = _ref$defaultValue === void 0 ? '' : _ref$defaultValue,
69
+ _ref$filename = _ref.filename,
70
+ filename = _ref$filename === void 0 ? '/noname.txt' : _ref$filename,
71
+ _ref$preference = _ref.preference,
72
+ preference = _ref$preference === void 0 ? preferences.DEFAULT_MONACO_EDITOR_PREFERENCE : _ref$preference,
73
+ _ref$markers = _ref.markers,
74
+ markers = _ref$markers === void 0 ? [] : _ref$markers,
75
+ _ref$width = _ref.width,
76
+ width = _ref$width === void 0 ? '100%' : _ref$width,
77
+ _ref$height = _ref.height,
78
+ height = _ref$height === void 0 ? '100%' : _ref$height,
79
+ _ref$noLanguageIntell = _ref.noLanguageIntellisense,
80
+ noLanguageIntellisense = _ref$noLanguageIntell === void 0 ? false : _ref$noLanguageIntell,
81
+ onLoad = _ref.onLoad,
82
+ onChange = _ref.onChange,
83
+ onSave = _ref.onSave,
84
+ onCursor = _ref.onCursor,
85
+ onScroll = _ref.onScroll,
86
+ onThemeChange = _ref.onThemeChange;
74
87
  /** Ref of element which wraps editor. */
75
- const editorElRef = React.useRef(null);
88
+ var editorElRef = React__default.default.useRef(null);
76
89
  /** Ref of editor exposed APIs. */
77
- const editorApis = React.useRef({});
90
+ var editorApis = React__default.default.useRef({});
78
91
  /** Ref of monaco editor. */
79
- const editor = React.useRef(null);
92
+ var editor = React__default.default.useRef(null);
80
93
  /** Editor options. */
81
- const editorOptions = useEditorOptions.useEditorOptions({
82
- width,
83
- height,
84
- preference,
85
- noLanguageIntellisense
94
+ var editorOptions = useEditorOptions.useEditorOptions({
95
+ width: width,
96
+ height: height,
97
+ preference: preference,
98
+ noLanguageIntellisense: noLanguageIntellisense
86
99
  });
87
100
  /** Ref for preventing change event. */
88
- const suppress = React.useRef(false);
101
+ var suppress = React__default.default.useRef(false);
89
102
  /** Is editor ready? */
90
- const [isReady, setReady] = React.useState(false);
103
+ var _React$useState = React__default.default.useState(false),
104
+ _React$useState2 = _rollupPluginBabelHelpers.slicedToArray(_React$useState, 2),
105
+ isReady = _React$useState2[0],
106
+ setReady = _React$useState2[1];
91
107
  /**
92
108
  * Get model of editor.
93
109
  */
94
- const getMonacoModel = () => {
95
- const uri = monaco__namespace.Uri.file(filename || '/noname.txt');
110
+ var getMonacoModel = function getMonacoModel() {
111
+ var uri = monaco__namespace.Uri.file(filename || '/noname.txt');
96
112
  return monaco__namespace.editor.getModel(uri);
97
113
  };
98
114
  /**
99
115
  * Has editor undo/redo history?
100
116
  * @public
101
117
  */
102
- const hasHistory = () => {
118
+ var hasHistory = function hasHistory() {
103
119
  var _a;
104
120
  return (((_a = getMonacoModel()) === null || _a === void 0 ? void 0 : _a.getAlternativeVersionId()) || 0) > 1;
105
121
  };
@@ -107,14 +123,14 @@ const MonacoEditor = React.forwardRef(({
107
123
  * Clear editor undo/redo history.
108
124
  * @public
109
125
  */
110
- const clearHistory = () => {
126
+ var clearHistory = function clearHistory() {
111
127
  getMonacoModel();
112
128
  };
113
129
  /**
114
130
  * Get current value of editor.
115
131
  * @public
116
132
  */
117
- const getValue = () => {
133
+ var getValue = function getValue() {
118
134
  var _a;
119
135
  return ((_a = getMonacoModel()) === null || _a === void 0 ? void 0 : _a.getValue()) || '';
120
136
  };
@@ -122,16 +138,16 @@ const MonacoEditor = React.forwardRef(({
122
138
  * Get value in range of editor.
123
139
  * @public
124
140
  */
125
- const getValueInRange = (from, to) => {
126
- const model = getMonacoModel();
141
+ var getValueInRange = function getValueInRange(from, to) {
142
+ var model = getMonacoModel();
127
143
  if (!model) {
128
144
  return '';
129
145
  }
130
146
  if (from === to) {
131
147
  return '';
132
148
  }
133
- const startPosition = model.getPositionAt(from);
134
- const endPosition = model.getPositionAt(to);
149
+ var startPosition = model.getPositionAt(from);
150
+ var endPosition = model.getPositionAt(to);
135
151
  return model.getValueInRange({
136
152
  startLineNumber: startPosition.lineNumber,
137
153
  startColumn: startPosition.column,
@@ -143,14 +159,14 @@ const MonacoEditor = React.forwardRef(({
143
159
  * Set (overwrite) value to editor.
144
160
  * @public
145
161
  */
146
- const setValue = newValue => {
162
+ var setValue = function setValue(newValue) {
147
163
  if (!editor.current) {
148
164
  return;
149
165
  }
150
166
  // Replace value EOL as LF.
151
167
  newValue = newValue.replace(/\r\n/g, '\n');
152
- const uri = monaco__namespace.Uri.file(filename || '/noname.txt');
153
- const model = monaco__namespace.editor.getModel(uri);
168
+ var uri = monaco__namespace.Uri.file(filename || '/noname.txt');
169
+ var model = monaco__namespace.editor.getModel(uri);
154
170
  if (model && !model.isDisposed()) {
155
171
  // Override EOL as LF to prevent error at Windows env.
156
172
  model.setEOL(monaco__namespace.editor.EndOfLineSequence.LF);
@@ -162,7 +178,9 @@ const MonacoEditor = React.forwardRef(({
162
178
  range: model.getFullModelRange(),
163
179
  text: newValue,
164
180
  forceMoveMarkers: true
165
- }], () => null);
181
+ }], function () {
182
+ return null;
183
+ });
166
184
  editor.current.pushUndoStop();
167
185
  suppress.current = false;
168
186
  editor.current.setModel(model);
@@ -172,8 +190,8 @@ const MonacoEditor = React.forwardRef(({
172
190
  // If model has not created yet for this file,
173
191
  // create new model.
174
192
  else {
175
- const lang = monacoLanguage.getLanguageFromFilename(filename);
176
- const newModel = monaco__namespace.editor.createModel(newValue, lang, uri);
193
+ var lang = monacoLanguage.getLanguageFromFilename(filename);
194
+ var newModel = monaco__namespace.editor.createModel(newValue, lang, uri);
177
195
  newModel.setEOL(monaco__namespace.editor.EndOfLineSequence.LF);
178
196
  editor.current.setModel(newModel);
179
197
  }
@@ -182,22 +200,24 @@ const MonacoEditor = React.forwardRef(({
182
200
  * Insert value at specific position.
183
201
  * @public
184
202
  */
185
- const insertValue = (offset, newValue) => {
203
+ var insertValue = function insertValue(offset, newValue) {
186
204
  if (!editor.current) {
187
205
  return;
188
206
  }
189
207
  // Replace value EOL as LF.
190
208
  newValue = newValue.replace(/\r\n/g, '\n');
191
- const model = getMonacoModel();
209
+ var model = getMonacoModel();
192
210
  if (model) {
193
- const position = model.getPositionAt(offset);
211
+ var position = model.getPositionAt(offset);
194
212
  suppress.current = true;
195
213
  editor.current.pushUndoStop();
196
214
  model.pushEditOperations([], [{
197
215
  range: new monaco__namespace.Range(position.lineNumber, position.column, position.lineNumber, position.column),
198
216
  text: newValue,
199
217
  forceMoveMarkers: true
200
- }], () => null);
218
+ }], function () {
219
+ return null;
220
+ });
201
221
  editor.current.pushUndoStop();
202
222
  suppress.current = false;
203
223
  }
@@ -206,21 +226,23 @@ const MonacoEditor = React.forwardRef(({
206
226
  * Remove value at specific range.
207
227
  * @public
208
228
  */
209
- const removeValue = (from, to) => {
229
+ var removeValue = function removeValue(from, to) {
210
230
  if (!editor.current) {
211
231
  return;
212
232
  }
213
- const model = getMonacoModel();
233
+ var model = getMonacoModel();
214
234
  if (model) {
215
- const startPosition = model.getPositionAt(from);
216
- const endPosition = model.getPositionAt(to);
235
+ var startPosition = model.getPositionAt(from);
236
+ var endPosition = model.getPositionAt(to);
217
237
  suppress.current = true;
218
238
  editor.current.pushUndoStop();
219
239
  model.pushEditOperations([], [{
220
240
  range: new monaco__namespace.Range(startPosition.lineNumber, startPosition.column, endPosition.lineNumber, endPosition.column),
221
241
  text: '',
222
242
  forceMoveMarkers: true
223
- }], () => null);
243
+ }], function () {
244
+ return null;
245
+ });
224
246
  editor.current.pushUndoStop();
225
247
  suppress.current = false;
226
248
  }
@@ -229,9 +251,9 @@ const MonacoEditor = React.forwardRef(({
229
251
  * Get offset of current cursor position.
230
252
  * @public
231
253
  */
232
- const getPositionOffset = () => {
254
+ var getPositionOffset = function getPositionOffset() {
233
255
  var _a;
234
- const model = getMonacoModel();
256
+ var model = getMonacoModel();
235
257
  if (!editor.current || !model) {
236
258
  return 0;
237
259
  }
@@ -241,12 +263,12 @@ const MonacoEditor = React.forwardRef(({
241
263
  * Set selection of editor with specific range.
242
264
  * @public
243
265
  */
244
- const setSelection = (from, to) => {
266
+ var setSelection = function setSelection(from, to) {
245
267
  var _a;
246
- const model = getMonacoModel();
268
+ var model = getMonacoModel();
247
269
  if (model) {
248
- const markerStartPosition = model.getPositionAt(from);
249
- const markerEndPosition = model.getPositionAt(to);
270
+ var markerStartPosition = model.getPositionAt(from);
271
+ var markerEndPosition = model.getPositionAt(to);
250
272
  (_a = editor.current) === null || _a === void 0 ? void 0 : _a.setSelection(new monaco__namespace.Range(markerStartPosition.lineNumber, markerStartPosition.column, markerEndPosition.lineNumber, markerEndPosition.column));
251
273
  }
252
274
  };
@@ -254,7 +276,7 @@ const MonacoEditor = React.forwardRef(({
254
276
  * Scroll editor to specific `scrollTop`.
255
277
  * @public
256
278
  */
257
- const scrollTo = scrollTop => {
279
+ var scrollTo = function scrollTo(scrollTop) {
258
280
  var _a;
259
281
  (_a = editor.current) === null || _a === void 0 ? void 0 : _a.setScrollTop(scrollTop);
260
282
  };
@@ -266,11 +288,11 @@ const MonacoEditor = React.forwardRef(({
266
288
  useMonacoEventChange.useMonacoEventChange(editor, onChange, suppress, [isReady]);
267
289
  useMonacoEventCursor.useMonacoEventCursor(editor, onCursor, [isReady]);
268
290
  useMonacoEventScroll.useMonacoEventScroll(editor, onScroll, [isReady]);
269
- const remoteMarker = useMonacoMarkers.useMonacoMarkers(editor, markers);
291
+ var remoteMarker = useMonacoMarkers.useMonacoMarkers(editor, markers);
270
292
  //
271
293
  // Init and dispose editor.
272
294
  //
273
- React.useEffect(() => {
295
+ React__default.default.useEffect(function () {
274
296
  try {
275
297
  if (!editorElRef.current) {
276
298
  return;
@@ -281,11 +303,11 @@ const MonacoEditor = React.forwardRef(({
281
303
  language: monacoLanguage.getLanguageFromFilename(filename)
282
304
  }));
283
305
  // add keyboard shortcut.
284
- editor.current.addCommand(monaco__namespace.KeyMod.CtrlCmd | monaco__namespace.KeyCode.KeyS, () => {
306
+ editor.current.addCommand(monaco__namespace.KeyMod.CtrlCmd | monaco__namespace.KeyCode.KeyS, function () {
285
307
  var _a, _b, _c;
286
308
  void ((_b = (_a = editor.current) === null || _a === void 0 ? void 0 : _a.getAction('editor.action.formatDocument')) === null || _b === void 0 ? void 0 : _b.run());
287
309
  if (typeof onSave === 'function') {
288
- const content = ((_c = getMonacoModel()) === null || _c === void 0 ? void 0 : _c.getValue()) || '';
310
+ var content = ((_c = getMonacoModel()) === null || _c === void 0 ? void 0 : _c.getValue()) || '';
289
311
  onSave(content);
290
312
  }
291
313
  });
@@ -298,7 +320,7 @@ const MonacoEditor = React.forwardRef(({
298
320
  } catch (_) {
299
321
  setReady(false);
300
322
  }
301
- return () => {
323
+ return function () {
302
324
  var _a;
303
325
  setReady(false);
304
326
  // dispose remote marker
@@ -314,7 +336,9 @@ const MonacoEditor = React.forwardRef(({
314
336
  //
315
337
  // Set value whenevet filename or value changed.
316
338
  //
317
- React.useEffect(() => setValue(defaultValue),
339
+ React__default.default.useEffect(function () {
340
+ return setValue(defaultValue);
341
+ },
318
342
  // eslint-disable-next-line react-hooks/exhaustive-deps
319
343
  [filename, defaultValue]);
320
344
  //
@@ -332,17 +356,21 @@ const MonacoEditor = React.forwardRef(({
332
356
  editorApis.current.getPositionOffset = getPositionOffset;
333
357
  editorApis.current.setSelection = setSelection;
334
358
  editorApis.current.scrollTo = scrollTo;
335
- React.useImperativeHandle(ref, () => editorApis.current, [editorApis]);
359
+ React__default.default.useImperativeHandle(ref, function () {
360
+ return editorApis.current;
361
+ }, [editorApis]);
336
362
  //
337
363
  //
338
364
  //
339
- return React.createElement(StyledMonacoEditorWrapper, null, React.createElement(StyledMonacoEditor, {
340
- style: {
341
- width,
342
- height
343
- },
344
- ref: editorElRef
345
- }));
365
+ return jsxRuntime.jsx(StyledMonacoEditorWrapper, {
366
+ children: jsxRuntime.jsx(StyledMonacoEditor, {
367
+ style: {
368
+ width: width,
369
+ height: height
370
+ },
371
+ ref: editorElRef
372
+ })
373
+ });
346
374
  });
347
375
 
348
376
  exports.default = MonacoEditor;
@@ -2,6 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ var jsxRuntime = require('react/jsx-runtime');
5
6
  var React = require('react');
6
7
  var utils = require('@elice/utils');
7
8
  var ExerciseFileShimmer = require('../exercise-shimmer/ExerciseFileShimmer.js');
@@ -10,19 +11,26 @@ require('../exercise-shimmer/ExerciseFileTabShimmer.js');
10
11
  require('../exercise-shimmer/ExerciseFileTreeListShimmer.js');
11
12
  require('../exercise-shimmer/ExerciseFileTreeListItemShimmer.js');
12
13
 
14
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
15
+
16
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
17
+
13
18
  //
14
19
  //
15
20
  //
16
- const AsyncMonacoEditor = React.lazy(() => utils.FlutterApp.checkWebview() ? Promise.resolve().then(function () { return require('./MonacoEditorMobile.js'); }) : Promise.resolve().then(function () { return require('./MonacoEditor.js'); }));
21
+ var AsyncMonacoEditor = React__default.default.lazy(function () {
22
+ return utils.FlutterApp.checkWebview() ? Promise.resolve().then(function () { return require('./MonacoEditorMobile.js'); }) : Promise.resolve().then(function () { return require('./MonacoEditor.js'); });
23
+ });
17
24
  //
18
25
  //
19
26
  //
20
- const MonacoEditorLazy = React.forwardRef((props, ref) => {
21
- return React.createElement(React.Suspense, {
22
- fallback: React.createElement(ExerciseFileShimmer.default, null)
23
- }, React.createElement(AsyncMonacoEditor, Object.assign({}, props, {
24
- ref: ref
25
- })));
27
+ var MonacoEditorLazy = React.forwardRef(function (props, ref) {
28
+ return jsxRuntime.jsx(React__default.default.Suspense, {
29
+ fallback: jsxRuntime.jsx(ExerciseFileShimmer.default, {}),
30
+ children: jsxRuntime.jsx(AsyncMonacoEditor, Object.assign({}, props, {
31
+ ref: ref
32
+ }))
33
+ });
26
34
  });
27
35
 
28
36
  exports.default = MonacoEditorLazy;
@@ -2,12 +2,17 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ var _rollupPluginBabelHelpers = require('../../../_virtual/_rollupPluginBabelHelpers.js');
6
+ var jsxRuntime = require('react/jsx-runtime');
5
7
  var React = require('react');
6
8
  var reactUse = require('react-use');
7
9
  var monaco = require('monaco-editor/esm/vs/editor/editor.api');
8
10
  var MonacoEditor = require('./MonacoEditor.js');
9
11
 
10
- function _interopNamespaceDefault(e) {
12
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
13
+
14
+ function _interopNamespaceCompat(e) {
15
+ if (e && typeof e === 'object' && 'default' in e) return e;
11
16
  var n = Object.create(null);
12
17
  if (e) {
13
18
  Object.keys(e).forEach(function (k) {
@@ -24,12 +29,13 @@ function _interopNamespaceDefault(e) {
24
29
  return Object.freeze(n);
25
30
  }
26
31
 
27
- var monaco__namespace = /*#__PURE__*/_interopNamespaceDefault(monaco);
32
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
33
+ var monaco__namespace = /*#__PURE__*/_interopNamespaceCompat(monaco);
28
34
 
29
35
  //
30
36
  //
31
37
  //
32
- const MOBILE_EDITOR_PREFERENCE = Object.freeze({
38
+ var MOBILE_EDITOR_PREFERENCE = Object.freeze({
33
39
  autoClosingBrackets: 'always',
34
40
  cursorSmoothCaretAnimation: false,
35
41
  detectIndentation: true,
@@ -42,32 +48,39 @@ const MOBILE_EDITOR_PREFERENCE = Object.freeze({
42
48
  theme: 'elice',
43
49
  wordWrap: 'on'
44
50
  });
45
- const IS_IOS = ['iPad Simulator', 'iPhone Simulator', 'iPod Simulator', 'iPad', 'iPhone', 'iPod'].includes(navigator.platform) || navigator.userAgent.includes('Mac') && 'ontouchend' in document;
51
+ var IS_IOS = ['iPad Simulator', 'iPhone Simulator', 'iPod Simulator', 'iPad', 'iPhone', 'iPod'].includes(navigator.platform) || navigator.userAgent.includes('Mac') && 'ontouchend' in document;
46
52
  //
47
53
  //
48
54
  //
49
- const MonacoEditorMobile = React.forwardRef((props, ref) => {
50
- const editorApiRef = reactUse.useEnsuredForwardedRef(ref);
51
- const [preference, setPreference] = React.useState(MOBILE_EDITOR_PREFERENCE);
55
+ var MonacoEditorMobile = React.forwardRef(function (props, ref) {
56
+ var editorApiRef = reactUse.useEnsuredForwardedRef(ref);
57
+ var _React$useState = React__default.default.useState(MOBILE_EDITOR_PREFERENCE),
58
+ _React$useState2 = _rollupPluginBabelHelpers.slicedToArray(_React$useState, 2),
59
+ preference = _React$useState2[0],
60
+ setPreference = _React$useState2[1];
52
61
  /**
53
62
  * Add a button to show keyboard on non-Apple devices.
54
63
  */
55
- const addKeyboardButtonOverlayWidget = editor => {
64
+ var addKeyboardButtonOverlayWidget = function addKeyboardButtonOverlayWidget(editor) {
56
65
  if (IS_IOS) {
57
66
  return;
58
67
  }
59
68
  editor.addOverlayWidget({
60
- getId: () => {
69
+ getId: function getId() {
61
70
  return 'editor.contrib.ShowKeyboardWidget';
62
71
  },
63
- getDomNode: () => {
64
- const domNode = document.createElement('textarea');
72
+ getDomNode: function getDomNode() {
73
+ var domNode = document.createElement('textarea');
65
74
  domNode.className = 'iPadShowKeyboard';
66
- domNode.addEventListener('touchstart', () => editor.focus());
67
- domNode.addEventListener('focus', () => editor.focus());
75
+ domNode.addEventListener('touchstart', function () {
76
+ return editor.focus();
77
+ });
78
+ domNode.addEventListener('focus', function () {
79
+ return editor.focus();
80
+ });
68
81
  return domNode;
69
82
  },
70
- getPosition: () => {
83
+ getPosition: function getPosition() {
71
84
  return {
72
85
  preference: monaco__namespace.editor.OverlayWidgetPositionPreference.BOTTOM_RIGHT_CORNER
73
86
  };
@@ -77,43 +90,45 @@ const MonacoEditorMobile = React.forwardRef((props, ref) => {
77
90
  /**
78
91
  * Export window-level event functions for mobile app.
79
92
  */
80
- const exposeWindowGlobalEvents = editor => {
81
- const editorApi = editorApiRef.current;
93
+ var exposeWindowGlobalEvents = function exposeWindowGlobalEvents(editor) {
94
+ var editorApi = editorApiRef.current;
82
95
  if (!editorApi) {
83
96
  return;
84
97
  }
85
- window.cursorCharLeft = () => {
98
+ window.cursorCharLeft = function () {
86
99
  var _a;
87
- const pos = (_a = editor.getPosition()) !== null && _a !== void 0 ? _a : new monaco__namespace.Position(0, 0);
100
+ var pos = (_a = editor.getPosition()) !== null && _a !== void 0 ? _a : new monaco__namespace.Position(0, 0);
88
101
  editor.setPosition(new monaco__namespace.Position(pos.lineNumber, pos.column - 1));
89
102
  };
90
- window.cursorCharRight = () => {
103
+ window.cursorCharRight = function () {
91
104
  var _a;
92
- const pos = (_a = editor.getPosition()) !== null && _a !== void 0 ? _a : new monaco__namespace.Position(0, 0);
105
+ var pos = (_a = editor.getPosition()) !== null && _a !== void 0 ? _a : new monaco__namespace.Position(0, 0);
93
106
  editor.setPosition(new monaco__namespace.Position(pos.lineNumber, pos.column + 1));
94
107
  };
95
- window.cursorLineUp = () => {
108
+ window.cursorLineUp = function () {
96
109
  var _a;
97
- const pos = (_a = editor.getPosition()) !== null && _a !== void 0 ? _a : new monaco__namespace.Position(0, 0);
110
+ var pos = (_a = editor.getPosition()) !== null && _a !== void 0 ? _a : new monaco__namespace.Position(0, 0);
98
111
  editor.setPosition(new monaco__namespace.Position(pos.lineNumber - 1, pos.column));
99
112
  };
100
- window.cursorLineDown = () => {
113
+ window.cursorLineDown = function () {
101
114
  var _a;
102
- const pos = (_a = editor.getPosition()) !== null && _a !== void 0 ? _a : new monaco__namespace.Position(0, 0);
115
+ var pos = (_a = editor.getPosition()) !== null && _a !== void 0 ? _a : new monaco__namespace.Position(0, 0);
103
116
  editor.setPosition(new monaco__namespace.Position(pos.lineNumber + 1, pos.column));
104
117
  };
105
- window.dispatchReconfigureFontSize = fontSize => {
106
- setPreference(prev => Object.assign(Object.assign({}, prev), {
107
- fontSize
108
- }));
118
+ window.dispatchReconfigureFontSize = function (fontSize) {
119
+ setPreference(function (prev) {
120
+ return Object.assign(Object.assign({}, prev), {
121
+ fontSize: fontSize
122
+ });
123
+ });
109
124
  };
110
- window.dispatchChangeInsert = insert => {
125
+ window.dispatchChangeInsert = function (insert) {
111
126
  editorApi.insertValue(editorApi.getPositionOffset(), insert);
112
127
  };
113
- window.insertTab = () => {
114
- const model = editorApi.getMonacoModel();
128
+ window.insertTab = function () {
129
+ var model = editorApi.getMonacoModel();
115
130
  if (model) {
116
- const modelOptions = model.getOptions();
131
+ var modelOptions = model.getOptions();
117
132
  editorApi.insertValue(editorApi.getPositionOffset(), modelOptions.insertSpaces ? ' '.repeat(modelOptions.tabSize) : '\t');
118
133
  }
119
134
  };
@@ -121,7 +136,7 @@ const MonacoEditorMobile = React.forwardRef((props, ref) => {
121
136
  /**
122
137
  *
123
138
  */
124
- const handleLoad = editor => {
139
+ var handleLoad = function handleLoad(editor) {
125
140
  if (typeof props.onLoad === 'function') {
126
141
  props.onLoad(editor);
127
142
  }
@@ -131,7 +146,7 @@ const MonacoEditorMobile = React.forwardRef((props, ref) => {
131
146
  //
132
147
  //
133
148
  //
134
- return React.createElement(MonacoEditor.default, Object.assign({}, props, {
149
+ return jsxRuntime.jsx(MonacoEditor.default, Object.assign({}, props, {
135
150
  noLanguageIntellisense: true,
136
151
  preference: preference,
137
152
  onLoad: handleLoad,