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