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

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 +117 -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 +120 -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
@@ -1,4 +1,4 @@
1
- import { jsx, jsxs } from 'react/jsx-runtime';
1
+ import React from 'react';
2
2
  import { Button, Vspace, Text, Icon } from '@elice/blocks';
3
3
  import { eilDownload } from '@elice/icons';
4
4
  import { IntlComponentBuilder } from '@elice/intl';
@@ -10,36 +10,33 @@ import nonViewableMessageKo from './locales/nonViewable.ko.json.js';
10
10
  import nonViewableMessageTh from './locales/nonViewable.th.json.js';
11
11
  import nonViewableMessageJa from './locales/nonViewable.ja.json.js';
12
12
 
13
- var StyledContainer = styled.div.withConfig({
13
+ const StyledContainer = styled.div.withConfig({
14
14
  componentId: "sc-l8149y-0"
15
15
  })(["display:flex;justify-content:center;align-items:center;width:100%;height:100%;"]);
16
- var StyledContainerContent = styled.div.withConfig({
16
+ const StyledContainerContent = styled.div.withConfig({
17
17
  componentId: "sc-l8149y-1"
18
18
  })(["display:flex;flex-direction:column;justify-content:center;align-items:center;padding:1rem 1.5rem;width:100%;max-width:20rem;height:100%;text-align:center;"]);
19
- var StyledButton = styled(Button).withConfig({
19
+ const StyledButton = styled(Button).withConfig({
20
20
  componentId: "sc-l8149y-2"
21
21
  })(["display:block;margin:0 auto;"]);
22
- var StyledButtonsWrap = styled.div.withConfig({
22
+ const StyledButtonsWrap = styled.div.withConfig({
23
23
  componentId: "sc-l8149y-3"
24
24
  })(["text-align:center;> *{margin-bottom:0.5rem;&:last-child{margin-bottom:0;}}"]);
25
- var FileViewerNonViewable = function FileViewerNonViewable(_ref) {
26
- var filename = _ref.filename,
27
- fileurl = _ref.fileurl,
28
- onTextViewerClick = _ref.onTextViewerClick,
29
- __intl = _ref.__intl;
25
+ const FileViewerNonViewable = ({
26
+ filename,
27
+ fileurl,
28
+ onTextViewerClick,
29
+ __intl
30
+ }) => {
30
31
  /**
31
32
  * Handle download button click.
32
33
  */
33
- var handleDownloadClick = function handleDownloadClick() {
34
+ const handleDownloadClick = () => {
34
35
  if (!fileurl) {
35
36
  return;
36
37
  }
37
- fetch(fileurl).then(function (res) {
38
- return res.blob();
39
- }).then(function (blob) {
40
- return FileSaver.saveAs(blob, filename);
41
- }).catch(function () {
42
- var win = window.open(fileurl, '_blank');
38
+ fetch(fileurl).then(res => res.blob()).then(blob => FileSaver.saveAs(blob, filename)).catch(() => {
39
+ const win = window.open(fileurl, '_blank');
43
40
  if (win) {
44
41
  win.focus();
45
42
  }
@@ -48,69 +45,59 @@ var FileViewerNonViewable = function FileViewerNonViewable(_ref) {
48
45
  /**
49
46
  * Download button.
50
47
  */
51
- var renderFileViewerDownloadButton = function renderFileViewerDownloadButton() {
48
+ const renderFileViewerDownloadButton = () => {
52
49
  if (!fileurl) {
53
50
  return null;
54
51
  }
55
- return jsx(StyledButton, {
52
+ return React.createElement(StyledButton, {
56
53
  size: "small",
57
- icon: jsx(Icon, {
54
+ icon: React.createElement(Icon, {
58
55
  icon: eilDownload
59
56
  }),
60
- onClick: handleDownloadClick,
61
- children: __intl.formatMessage({
62
- id: 'fileViewer.nonViewable.downloadButton'
63
- })
64
- });
57
+ onClick: handleDownloadClick
58
+ }, __intl.formatMessage({
59
+ id: 'fileViewer.nonViewable.downloadButton'
60
+ }));
65
61
  };
66
62
  /**
67
63
  * Link for enable text editor.
68
64
  */
69
- var renderFileViewerTextEditorLink = function renderFileViewerTextEditorLink() {
65
+ const renderFileViewerTextEditorLink = () => {
70
66
  if (!fileurl || typeof onTextViewerClick !== 'function') {
71
67
  return null;
72
68
  }
73
- return jsx(Text, {
69
+ return React.createElement(Text, {
74
70
  role: "gray5",
75
71
  size: "tiny",
76
72
  hoverable: true,
77
- onClick: onTextViewerClick,
78
- children: __intl.formatMessage({
79
- id: 'fileViewer.nonViewable.openViaTextEditor'
80
- })
81
- });
73
+ onClick: onTextViewerClick
74
+ }, __intl.formatMessage({
75
+ id: 'fileViewer.nonViewable.openViaTextEditor'
76
+ }));
82
77
  };
83
78
  //
84
79
  //
85
80
  //
86
- return jsx(StyledContainer, {
87
- children: jsxs(StyledContainerContent, {
88
- children: [jsx(FileIcon, {
89
- filename: filename,
90
- width: "3rem",
91
- height: "3rem"
92
- }), jsx(Vspace, {
93
- height: 1
94
- }), jsx(Text, {
95
- role: "white",
96
- children: filename
97
- }), jsx(Vspace, {
98
- height: 0.75
99
- }), jsx(Text, {
100
- role: "gray3",
101
- size: "tiny",
102
- lineHeight: 1.5,
103
- wordBreak: "keep-all",
104
- children: __intl.formatMessage({
105
- id: 'fileViewer.nonViewable.content'
106
- })
107
- }), jsx(Vspace, {
108
- height: 2
109
- }), jsxs(StyledButtonsWrap, {
110
- children: [renderFileViewerDownloadButton(), renderFileViewerTextEditorLink()]
111
- })]
112
- })
113
- });
81
+ return React.createElement(StyledContainer, null, React.createElement(StyledContainerContent, null, React.createElement(FileIcon, {
82
+ filename: filename,
83
+ width: "3rem",
84
+ height: "3rem"
85
+ }), React.createElement(Vspace, {
86
+ height: 1
87
+ }), React.createElement(Text, {
88
+ role: "white"
89
+ }, filename), React.createElement(Vspace, {
90
+ height: 0.75
91
+ }), React.createElement(Text, {
92
+ role: "gray3",
93
+ size: "tiny",
94
+ lineHeight: 1.5,
95
+ wordBreak: "keep-all"
96
+ }, __intl.formatMessage({
97
+ id: 'fileViewer.nonViewable.content'
98
+ })), React.createElement(Vspace, {
99
+ height: 2
100
+ }), React.createElement(StyledButtonsWrap, null, renderFileViewerDownloadButton(), renderFileViewerTextEditorLink())));
114
101
  };
115
102
  //
116
103
  //
@@ -1,5 +1,3 @@
1
- import { slicedToArray as _slicedToArray } from '../../../_virtual/_rollupPluginBabelHelpers.js';
2
- import { jsx } from 'react/jsx-runtime';
3
1
  import React from 'react';
4
2
  import { useRecoilValue } from 'recoil';
5
3
  import { exerciseEditorPreferenceState } from '../../material-exercise/context/recoil.js';
@@ -16,32 +14,26 @@ import MonacoEditorLazy from '../monaco-editor/MonacoEditorLazy.js';
16
14
  import '../monaco-editor/MonacoEditorPerferenceForm.js';
17
15
  import 'monaco-editor/esm/vs/editor/editor.api';
18
16
 
19
- var FileViewerText = function FileViewerText(_ref) {
20
- var filename = _ref.filename,
21
- fileurl = _ref.fileurl,
22
- locale = _ref.locale;
23
- var preference = useRecoilValue(exerciseEditorPreferenceState);
24
- var _React$useState = React.useState(null),
25
- _React$useState2 = _slicedToArray(_React$useState, 2),
26
- content = _React$useState2[0],
27
- setContent = _React$useState2[1];
28
- React.useEffect(function () {
17
+ const FileViewerText = ({
18
+ filename,
19
+ fileurl,
20
+ locale
21
+ }) => {
22
+ const preference = useRecoilValue(exerciseEditorPreferenceState);
23
+ const [content, setContent] = React.useState(null);
24
+ React.useEffect(() => {
29
25
  if (!fileurl) {
30
26
  return;
31
27
  }
32
- fetch(fileurl).then(function (res) {
33
- return res.text();
34
- }).then(setContent).catch(function (err) {
35
- return console.error(err);
36
- });
28
+ fetch(fileurl).then(res => res.text()).then(setContent).catch(err => console.error(err));
37
29
  }, [fileurl]);
38
30
  //
39
31
  //
40
32
  //
41
33
  if (content === null) {
42
- return jsx(ExerciseFileShimmer, {});
34
+ return React.createElement(ExerciseFileShimmer, null);
43
35
  }
44
- return jsx(MonacoEditorLazy, {
36
+ return React.createElement(MonacoEditorLazy, {
45
37
  filename: filename,
46
38
  defaultValue: content,
47
39
  preference: Object.assign(Object.assign({}, preference), {
@@ -1,41 +1,32 @@
1
- import { jsx, jsxs } from 'react/jsx-runtime';
1
+ import React from 'react';
2
2
  import { useKeyPressEvent } from 'react-use';
3
3
  import { BorderlessDialog } from '@elice/blocks';
4
4
  import { eilMathsignMultiplyBasic } from '@elice/icons';
5
5
  import { StyledModalWrapper, StyledModalHeader, StyledModalBody, StyledModalFooter, StyledCloseButton } from './MaterialModal.styled.js';
6
6
 
7
- var MaterialModal = function MaterialModal(_ref) {
8
- var children = _ref.children,
9
- title = _ref.title,
10
- footer = _ref.footer,
11
- onHide = _ref.onHide;
12
- useKeyPressEvent('Escape', function () {
7
+ const MaterialModal = ({
8
+ children,
9
+ title,
10
+ footer,
11
+ onHide
12
+ }) => {
13
+ useKeyPressEvent('Escape', () => {
13
14
  if (typeof onHide === 'function') {
14
15
  onHide();
15
16
  }
16
17
  });
17
- var renderCloseButton = function renderCloseButton() {
18
+ const renderCloseButton = () => {
18
19
  if (!onHide) {
19
20
  return null;
20
21
  }
21
- return jsx(StyledCloseButton, {
22
+ return React.createElement(StyledCloseButton, {
22
23
  transparent: true,
23
24
  border: false,
24
25
  icon: eilMathsignMultiplyBasic,
25
26
  onClick: onHide
26
27
  });
27
28
  };
28
- return jsx(BorderlessDialog, {
29
- children: jsxs(StyledModalWrapper, {
30
- children: [jsxs(StyledModalHeader, {
31
- children: [title, renderCloseButton()]
32
- }), jsx(StyledModalBody, {
33
- children: children
34
- }), footer && jsx(StyledModalFooter, {
35
- children: footer
36
- })]
37
- })
38
- });
29
+ return React.createElement(BorderlessDialog, null, React.createElement(StyledModalWrapper, null, React.createElement(StyledModalHeader, null, title, renderCloseButton()), React.createElement(StyledModalBody, null, children), footer && React.createElement(StyledModalFooter, null, footer)));
39
30
  };
40
31
 
41
32
  export { MaterialModal as default };
@@ -2,19 +2,19 @@ import { Text, Flex, IconButton } from '@elice/blocks';
2
2
  import { base } from '@elice/design-tokens';
3
3
  import styled from 'styled-components';
4
4
 
5
- var StyledModalWrapper = styled.div.withConfig({
5
+ const StyledModalWrapper = styled.div.withConfig({
6
6
  componentId: "sc-1ej7kso-0"
7
7
  })(["position:relative;display:flex;flex-flow:column nowrap;width:90vw;height:90vh;padding:0;background-color:", ";border-radius:0.375rem;"], base.color.gray8);
8
- var StyledModalHeader = styled(Text).withConfig({
8
+ const StyledModalHeader = styled(Text).withConfig({
9
9
  componentId: "sc-1ej7kso-1"
10
10
  })(["flex:0 1 auto;width:100%;height:3.25rem;min-height:3.25rem;line-height:3.25rem;border-top-left-radius:0.375rem;border-top-right-radius:0.375rem;border-bottom:1px solid ", ";text-align:center;color:", ";"], base.color.navy9, base.color.white);
11
- var StyledModalBody = styled.div.withConfig({
11
+ const StyledModalBody = styled.div.withConfig({
12
12
  componentId: "sc-1ej7kso-2"
13
13
  })(["position:relative;flex:1 1 auto;width:100%;height:80%;"]);
14
- var StyledModalFooter = styled(Flex).withConfig({
14
+ const StyledModalFooter = styled(Flex).withConfig({
15
15
  componentId: "sc-1ej7kso-3"
16
16
  })(["flex:0 1 auto;width:100%;height:3.75rem;min-height:3.75rem;border-bottom-left-radius:0.375rem;border-bottom-right-radius:0.375rem;border-top:1px solid ", ";padding:0.5rem 1.5rem;overflow:hidden;text-align:right;align-items:center;justify-content:flex-end;"], base.color.navy9);
17
- var StyledCloseButton = styled(IconButton).withConfig({
17
+ const StyledCloseButton = styled(IconButton).withConfig({
18
18
  componentId: "sc-1ej7kso-4"
19
19
  })(["position:absolute;top:0;right:0;color:", " !important;"], base.color.gray4);
20
20
 
@@ -1,5 +1,3 @@
1
- import { slicedToArray as _slicedToArray } from '../../../_virtual/_rollupPluginBabelHelpers.js';
2
- import { jsx } from 'react/jsx-runtime';
3
1
  import React, { forwardRef } from 'react';
4
2
  import { base } from '@elice/design-tokens';
5
3
  import * as monaco from 'monaco-editor/esm/vs/editor/editor.api';
@@ -26,68 +24,59 @@ initMonacoGrammars().catch(console.warn);
26
24
  //
27
25
  //
28
26
  //
29
- var StyledMonacoEditorWrapper = styled.div.withConfig({
27
+ const StyledMonacoEditorWrapper = styled.div.withConfig({
30
28
  componentId: "sc-1j3uyex-0"
31
29
  })(["width:100%;height:100%;"]);
32
- var StyledMonacoEditor = styled.div.withConfig({
30
+ const StyledMonacoEditor = styled.div.withConfig({
33
31
  componentId: "sc-1j3uyex-1"
34
32
  })(["width:100%;height:100%;background-color:", ";", ""], base.color.navy9, cssRemoteMarker);
35
33
  /**
36
34
  *
37
35
  */
38
- var MonacoEditor = forwardRef(function (_ref, ref) {
39
- var _ref$defaultValue = _ref.defaultValue,
40
- defaultValue = _ref$defaultValue === void 0 ? '' : _ref$defaultValue,
41
- _ref$filename = _ref.filename,
42
- filename = _ref$filename === void 0 ? '/noname.txt' : _ref$filename,
43
- _ref$preference = _ref.preference,
44
- preference = _ref$preference === void 0 ? DEFAULT_MONACO_EDITOR_PREFERENCE : _ref$preference,
45
- _ref$markers = _ref.markers,
46
- markers = _ref$markers === void 0 ? [] : _ref$markers,
47
- _ref$width = _ref.width,
48
- width = _ref$width === void 0 ? '100%' : _ref$width,
49
- _ref$height = _ref.height,
50
- height = _ref$height === void 0 ? '100%' : _ref$height,
51
- _ref$noLanguageIntell = _ref.noLanguageIntellisense,
52
- noLanguageIntellisense = _ref$noLanguageIntell === void 0 ? false : _ref$noLanguageIntell,
53
- onLoad = _ref.onLoad,
54
- onChange = _ref.onChange,
55
- onSave = _ref.onSave,
56
- onCursor = _ref.onCursor,
57
- onScroll = _ref.onScroll,
58
- onThemeChange = _ref.onThemeChange;
36
+ const MonacoEditor = forwardRef(({
37
+ defaultValue = '',
38
+ filename = '/noname.txt',
39
+ preference = DEFAULT_MONACO_EDITOR_PREFERENCE,
40
+ markers = [],
41
+ width = '100%',
42
+ height = '100%',
43
+ noLanguageIntellisense = false,
44
+ onLoad,
45
+ onChange,
46
+ onSave,
47
+ onCursor,
48
+ onScroll,
49
+ onThemeChange
50
+ }, ref) => {
59
51
  /** Ref of element which wraps editor. */
60
- var editorElRef = React.useRef(null);
52
+ const editorElRef = React.useRef(null);
61
53
  /** Ref of editor exposed APIs. */
62
- var editorApis = React.useRef({});
54
+ const editorApis = React.useRef({});
63
55
  /** Ref of monaco editor. */
64
- var editor = React.useRef(null);
56
+ const editor = React.useRef(null);
65
57
  /** Editor options. */
66
- var editorOptions = useEditorOptions({
67
- width: width,
68
- height: height,
69
- preference: preference,
70
- noLanguageIntellisense: noLanguageIntellisense
58
+ const editorOptions = useEditorOptions({
59
+ width,
60
+ height,
61
+ preference,
62
+ noLanguageIntellisense
71
63
  });
72
64
  /** Ref for preventing change event. */
73
- var suppress = React.useRef(false);
65
+ const suppress = React.useRef(false);
74
66
  /** Is editor ready? */
75
- var _React$useState = React.useState(false),
76
- _React$useState2 = _slicedToArray(_React$useState, 2),
77
- isReady = _React$useState2[0],
78
- setReady = _React$useState2[1];
67
+ const [isReady, setReady] = React.useState(false);
79
68
  /**
80
69
  * Get model of editor.
81
70
  */
82
- var getMonacoModel = function getMonacoModel() {
83
- var uri = monaco.Uri.file(filename || '/noname.txt');
71
+ const getMonacoModel = () => {
72
+ const uri = monaco.Uri.file(filename || '/noname.txt');
84
73
  return monaco.editor.getModel(uri);
85
74
  };
86
75
  /**
87
76
  * Has editor undo/redo history?
88
77
  * @public
89
78
  */
90
- var hasHistory = function hasHistory() {
79
+ const hasHistory = () => {
91
80
  var _a;
92
81
  return (((_a = getMonacoModel()) === null || _a === void 0 ? void 0 : _a.getAlternativeVersionId()) || 0) > 1;
93
82
  };
@@ -95,14 +84,14 @@ var MonacoEditor = forwardRef(function (_ref, ref) {
95
84
  * Clear editor undo/redo history.
96
85
  * @public
97
86
  */
98
- var clearHistory = function clearHistory() {
87
+ const clearHistory = () => {
99
88
  getMonacoModel();
100
89
  };
101
90
  /**
102
91
  * Get current value of editor.
103
92
  * @public
104
93
  */
105
- var getValue = function getValue() {
94
+ const getValue = () => {
106
95
  var _a;
107
96
  return ((_a = getMonacoModel()) === null || _a === void 0 ? void 0 : _a.getValue()) || '';
108
97
  };
@@ -110,16 +99,16 @@ var MonacoEditor = forwardRef(function (_ref, ref) {
110
99
  * Get value in range of editor.
111
100
  * @public
112
101
  */
113
- var getValueInRange = function getValueInRange(from, to) {
114
- var model = getMonacoModel();
102
+ const getValueInRange = (from, to) => {
103
+ const model = getMonacoModel();
115
104
  if (!model) {
116
105
  return '';
117
106
  }
118
107
  if (from === to) {
119
108
  return '';
120
109
  }
121
- var startPosition = model.getPositionAt(from);
122
- var endPosition = model.getPositionAt(to);
110
+ const startPosition = model.getPositionAt(from);
111
+ const endPosition = model.getPositionAt(to);
123
112
  return model.getValueInRange({
124
113
  startLineNumber: startPosition.lineNumber,
125
114
  startColumn: startPosition.column,
@@ -131,14 +120,14 @@ var MonacoEditor = forwardRef(function (_ref, ref) {
131
120
  * Set (overwrite) value to editor.
132
121
  * @public
133
122
  */
134
- var setValue = function setValue(newValue) {
123
+ const setValue = newValue => {
135
124
  if (!editor.current) {
136
125
  return;
137
126
  }
138
127
  // Replace value EOL as LF.
139
128
  newValue = newValue.replace(/\r\n/g, '\n');
140
- var uri = monaco.Uri.file(filename || '/noname.txt');
141
- var model = monaco.editor.getModel(uri);
129
+ const uri = monaco.Uri.file(filename || '/noname.txt');
130
+ const model = monaco.editor.getModel(uri);
142
131
  if (model && !model.isDisposed()) {
143
132
  // Override EOL as LF to prevent error at Windows env.
144
133
  model.setEOL(monaco.editor.EndOfLineSequence.LF);
@@ -150,9 +139,7 @@ var MonacoEditor = forwardRef(function (_ref, ref) {
150
139
  range: model.getFullModelRange(),
151
140
  text: newValue,
152
141
  forceMoveMarkers: true
153
- }], function () {
154
- return null;
155
- });
142
+ }], () => null);
156
143
  editor.current.pushUndoStop();
157
144
  suppress.current = false;
158
145
  editor.current.setModel(model);
@@ -162,8 +149,8 @@ var MonacoEditor = forwardRef(function (_ref, ref) {
162
149
  // If model has not created yet for this file,
163
150
  // create new model.
164
151
  else {
165
- var lang = getLanguageFromFilename(filename);
166
- var newModel = monaco.editor.createModel(newValue, lang, uri);
152
+ const lang = getLanguageFromFilename(filename);
153
+ const newModel = monaco.editor.createModel(newValue, lang, uri);
167
154
  newModel.setEOL(monaco.editor.EndOfLineSequence.LF);
168
155
  editor.current.setModel(newModel);
169
156
  }
@@ -172,24 +159,22 @@ var MonacoEditor = forwardRef(function (_ref, ref) {
172
159
  * Insert value at specific position.
173
160
  * @public
174
161
  */
175
- var insertValue = function insertValue(offset, newValue) {
162
+ const insertValue = (offset, newValue) => {
176
163
  if (!editor.current) {
177
164
  return;
178
165
  }
179
166
  // Replace value EOL as LF.
180
167
  newValue = newValue.replace(/\r\n/g, '\n');
181
- var model = getMonacoModel();
168
+ const model = getMonacoModel();
182
169
  if (model) {
183
- var position = model.getPositionAt(offset);
170
+ const position = model.getPositionAt(offset);
184
171
  suppress.current = true;
185
172
  editor.current.pushUndoStop();
186
173
  model.pushEditOperations([], [{
187
174
  range: new monaco.Range(position.lineNumber, position.column, position.lineNumber, position.column),
188
175
  text: newValue,
189
176
  forceMoveMarkers: true
190
- }], function () {
191
- return null;
192
- });
177
+ }], () => null);
193
178
  editor.current.pushUndoStop();
194
179
  suppress.current = false;
195
180
  }
@@ -198,23 +183,21 @@ var MonacoEditor = forwardRef(function (_ref, ref) {
198
183
  * Remove value at specific range.
199
184
  * @public
200
185
  */
201
- var removeValue = function removeValue(from, to) {
186
+ const removeValue = (from, to) => {
202
187
  if (!editor.current) {
203
188
  return;
204
189
  }
205
- var model = getMonacoModel();
190
+ const model = getMonacoModel();
206
191
  if (model) {
207
- var startPosition = model.getPositionAt(from);
208
- var endPosition = model.getPositionAt(to);
192
+ const startPosition = model.getPositionAt(from);
193
+ const endPosition = model.getPositionAt(to);
209
194
  suppress.current = true;
210
195
  editor.current.pushUndoStop();
211
196
  model.pushEditOperations([], [{
212
197
  range: new monaco.Range(startPosition.lineNumber, startPosition.column, endPosition.lineNumber, endPosition.column),
213
198
  text: '',
214
199
  forceMoveMarkers: true
215
- }], function () {
216
- return null;
217
- });
200
+ }], () => null);
218
201
  editor.current.pushUndoStop();
219
202
  suppress.current = false;
220
203
  }
@@ -223,9 +206,9 @@ var MonacoEditor = forwardRef(function (_ref, ref) {
223
206
  * Get offset of current cursor position.
224
207
  * @public
225
208
  */
226
- var getPositionOffset = function getPositionOffset() {
209
+ const getPositionOffset = () => {
227
210
  var _a;
228
- var model = getMonacoModel();
211
+ const model = getMonacoModel();
229
212
  if (!editor.current || !model) {
230
213
  return 0;
231
214
  }
@@ -235,12 +218,12 @@ var MonacoEditor = forwardRef(function (_ref, ref) {
235
218
  * Set selection of editor with specific range.
236
219
  * @public
237
220
  */
238
- var setSelection = function setSelection(from, to) {
221
+ const setSelection = (from, to) => {
239
222
  var _a;
240
- var model = getMonacoModel();
223
+ const model = getMonacoModel();
241
224
  if (model) {
242
- var markerStartPosition = model.getPositionAt(from);
243
- var markerEndPosition = model.getPositionAt(to);
225
+ const markerStartPosition = model.getPositionAt(from);
226
+ const markerEndPosition = model.getPositionAt(to);
244
227
  (_a = editor.current) === null || _a === void 0 ? void 0 : _a.setSelection(new monaco.Range(markerStartPosition.lineNumber, markerStartPosition.column, markerEndPosition.lineNumber, markerEndPosition.column));
245
228
  }
246
229
  };
@@ -248,7 +231,7 @@ var MonacoEditor = forwardRef(function (_ref, ref) {
248
231
  * Scroll editor to specific `scrollTop`.
249
232
  * @public
250
233
  */
251
- var scrollTo = function scrollTo(scrollTop) {
234
+ const scrollTo = scrollTop => {
252
235
  var _a;
253
236
  (_a = editor.current) === null || _a === void 0 ? void 0 : _a.setScrollTop(scrollTop);
254
237
  };
@@ -260,11 +243,11 @@ var MonacoEditor = forwardRef(function (_ref, ref) {
260
243
  useMonacoEventChange(editor, onChange, suppress, [isReady]);
261
244
  useMonacoEventCursor(editor, onCursor, [isReady]);
262
245
  useMonacoEventScroll(editor, onScroll, [isReady]);
263
- var remoteMarker = useMonacoMarkers(editor, markers);
246
+ const remoteMarker = useMonacoMarkers(editor, markers);
264
247
  //
265
248
  // Init and dispose editor.
266
249
  //
267
- React.useEffect(function () {
250
+ React.useEffect(() => {
268
251
  try {
269
252
  if (!editorElRef.current) {
270
253
  return;
@@ -275,11 +258,11 @@ var MonacoEditor = forwardRef(function (_ref, ref) {
275
258
  language: getLanguageFromFilename(filename)
276
259
  }));
277
260
  // add keyboard shortcut.
278
- editor.current.addCommand(monaco.KeyMod.CtrlCmd | monaco.KeyCode.KeyS, function () {
261
+ editor.current.addCommand(monaco.KeyMod.CtrlCmd | monaco.KeyCode.KeyS, () => {
279
262
  var _a, _b, _c;
280
263
  void ((_b = (_a = editor.current) === null || _a === void 0 ? void 0 : _a.getAction('editor.action.formatDocument')) === null || _b === void 0 ? void 0 : _b.run());
281
264
  if (typeof onSave === 'function') {
282
- var content = ((_c = getMonacoModel()) === null || _c === void 0 ? void 0 : _c.getValue()) || '';
265
+ const content = ((_c = getMonacoModel()) === null || _c === void 0 ? void 0 : _c.getValue()) || '';
283
266
  onSave(content);
284
267
  }
285
268
  });
@@ -292,7 +275,7 @@ var MonacoEditor = forwardRef(function (_ref, ref) {
292
275
  } catch (_) {
293
276
  setReady(false);
294
277
  }
295
- return function () {
278
+ return () => {
296
279
  var _a;
297
280
  setReady(false);
298
281
  // dispose remote marker
@@ -308,9 +291,7 @@ var MonacoEditor = forwardRef(function (_ref, ref) {
308
291
  //
309
292
  // Set value whenevet filename or value changed.
310
293
  //
311
- React.useEffect(function () {
312
- return setValue(defaultValue);
313
- },
294
+ React.useEffect(() => setValue(defaultValue),
314
295
  // eslint-disable-next-line react-hooks/exhaustive-deps
315
296
  [filename, defaultValue]);
316
297
  //
@@ -328,21 +309,17 @@ var MonacoEditor = forwardRef(function (_ref, ref) {
328
309
  editorApis.current.getPositionOffset = getPositionOffset;
329
310
  editorApis.current.setSelection = setSelection;
330
311
  editorApis.current.scrollTo = scrollTo;
331
- React.useImperativeHandle(ref, function () {
332
- return editorApis.current;
333
- }, [editorApis]);
312
+ React.useImperativeHandle(ref, () => editorApis.current, [editorApis]);
334
313
  //
335
314
  //
336
315
  //
337
- return jsx(StyledMonacoEditorWrapper, {
338
- children: jsx(StyledMonacoEditor, {
339
- style: {
340
- width: width,
341
- height: height
342
- },
343
- ref: editorElRef
344
- })
345
- });
316
+ return React.createElement(StyledMonacoEditorWrapper, null, React.createElement(StyledMonacoEditor, {
317
+ style: {
318
+ width,
319
+ height
320
+ },
321
+ ref: editorElRef
322
+ }));
346
323
  });
347
324
 
348
325
  export { MonacoEditor as default };