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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (459) hide show
  1. package/cjs/assets/empty.png.js +2 -1
  2. package/cjs/components/material-exercise/MaterialExercise.d.ts +1 -1
  3. package/cjs/components/material-exercise/MaterialExercise.js +75 -111
  4. package/cjs/components/material-exercise/MaterialExercise.styled.js +14 -18
  5. package/cjs/components/material-exercise/MaterialExerciseMobile.d.ts +1 -1
  6. package/cjs/components/material-exercise/MaterialExerciseMobile.js +7 -17
  7. package/cjs/components/material-exercise/context/ExerciseProvider.js +58 -68
  8. package/cjs/components/material-exercise/context/ExerciseProviderNoImage.js +30 -39
  9. package/cjs/components/material-exercise/context/context.js +1 -5
  10. package/cjs/components/material-exercise/context/recoil.js +293 -542
  11. package/cjs/components/material-exercise/context/subjects.js +4 -4
  12. package/cjs/components/material-exercise/context/types.d.ts +2 -2
  13. package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.js +78 -100
  14. package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.js +8 -12
  15. package/cjs/components/material-exercise/exercise-file/ExerciseFile.js +27 -30
  16. package/cjs/components/material-exercise/exercise-file-editor/ExerciseFileEditor.js +149 -225
  17. package/cjs/components/material-exercise/exercise-file-editor/ExerciseFileReadOnlyBanner.js +13 -20
  18. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabs.js +29 -49
  19. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.d.ts +2 -1
  20. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.js +4 -10
  21. package/cjs/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/ExerciseFileTabsFileTreeButton.js +36 -53
  22. package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTree.js +211 -353
  23. package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.d.ts +2 -1
  24. package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.js +4 -10
  25. package/cjs/components/material-exercise/exercise-file-viewer/ExerciseFileViewer.js +15 -18
  26. package/cjs/components/material-exercise/exercise-menu/ExerciseMenu.js +12 -21
  27. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.js +11 -12
  28. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.js +80 -123
  29. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuDropdown.js +67 -100
  30. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuReset.js +22 -40
  31. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.js +119 -144
  32. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.js +13 -17
  33. package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdown.js +19 -32
  34. package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.d.ts +2 -1
  35. package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.js +4 -10
  36. package/cjs/components/material-exercise/exercise-preview/ExercisePreview.js +24 -31
  37. package/cjs/components/material-exercise/exercise-preview/ExercisePreviewDisplayModeButton.js +6 -13
  38. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpane.js +35 -51
  39. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpaneEditorPerference.js +6 -14
  40. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpaneEnvironment.js +78 -90
  41. package/cjs/components/material-exercise/exercise-room/ExerciseRoom.js +12 -25
  42. package/cjs/components/material-exercise/exercise-room/ExerciseRoom.styled.js +12 -18
  43. package/cjs/components/material-exercise/exercise-room/ExerciseRoomDetail.js +349 -504
  44. package/cjs/components/material-exercise/exercise-room/ExerciseRoomList.js +132 -197
  45. package/cjs/components/material-exercise/exercise-room/helpers/exerciseRoomPermissionStringConvertor.js +2 -2
  46. package/cjs/components/material-exercise/exercise-runner/ExerciseRunner.js +142 -205
  47. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerContext.js +1 -5
  48. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerController.js +16 -25
  49. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.js +86 -118
  50. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.js +19 -33
  51. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js +82 -95
  52. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.js +52 -68
  53. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerRunningInfo.js +87 -136
  54. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusIndicator.js +2 -6
  55. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusMessage.js +15 -21
  56. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerTimer.js +23 -36
  57. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.js +248 -402
  58. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.styled.js +8 -12
  59. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistoryOutput.js +50 -74
  60. package/cjs/components/shared/exercise-menu-button/ExerciseMenuButton.js +23 -32
  61. package/cjs/components/shared/exercise-shimmer/ExerciseFileShimmer.js +38 -44
  62. package/cjs/components/shared/exercise-shimmer/ExerciseFileTabShimmer.js +20 -26
  63. package/cjs/components/shared/exercise-shimmer/ExerciseFileTabsShimmer.js +8 -14
  64. package/cjs/components/shared/exercise-shimmer/ExerciseFileTreeListItemShimmer.js +22 -28
  65. package/cjs/components/shared/exercise-shimmer/ExerciseFileTreeListShimmer.js +9 -24
  66. package/cjs/components/shared/exercise-version-list/ExerciseVersionList.js +5 -6
  67. package/cjs/components/shared/exercise-version-list/ExerciseVersionList.styled.js +1 -5
  68. package/cjs/components/shared/exercise-version-list/ExerciseVersionListItem.js +10 -10
  69. package/cjs/components/shared/exercise-version-list/ExerciseVersionListItem.styled.js +5 -13
  70. package/cjs/components/shared/file-icon/FileIcon.js +16 -23
  71. package/cjs/components/shared/file-tabs/FileTab.js +33 -47
  72. package/cjs/components/shared/file-tabs/FileTab.styled.js +15 -23
  73. package/cjs/components/shared/file-tabs/FileTabs.js +39 -66
  74. package/cjs/components/shared/file-tabs/FileTabs.styled.js +2 -6
  75. package/cjs/components/shared/file-tabs/util.js +14 -27
  76. package/cjs/components/shared/file-tree/FileTree.js +10 -20
  77. package/cjs/components/shared/file-tree/FileTreeConfig.js +40 -46
  78. package/cjs/components/shared/file-tree/FileTreeList.js +40 -43
  79. package/cjs/components/shared/file-tree/FileTreeListItemContent.js +99 -128
  80. package/cjs/components/shared/file-tree/FileTreeListItemContent.styled.js +21 -29
  81. package/cjs/components/shared/file-tree/FileTreeListItemContentInput.js +96 -106
  82. package/cjs/components/shared/file-tree/FileTreeListItemContentInput.styled.js +6 -10
  83. package/cjs/components/shared/file-tree/FileTreeListItemContentMenu.js +91 -133
  84. package/cjs/components/shared/file-tree/FileTreeListItems.js +137 -149
  85. package/cjs/components/shared/file-tree/FileTreeListItems.styled.js +2 -6
  86. package/cjs/components/shared/file-tree/FileTreeToolbar.styled.js +1 -5
  87. package/cjs/components/shared/file-tree/context/FileTreeContext.d.ts +1 -1
  88. package/cjs/components/shared/file-tree/context/FileTreeContext.js +79 -101
  89. package/cjs/components/shared/file-tree/file-tree-toolbar/FileTreeToolbar.js +54 -59
  90. package/cjs/components/shared/file-tree/utils/fileTreeFiles.js +20 -24
  91. package/cjs/components/shared/file-tree/utils/fileTreeGenerator.js +146 -193
  92. package/cjs/components/shared/file-tree/utils/fileTreeInput.js +0 -11
  93. package/cjs/components/shared/file-tree/utils/fileTreeItem.js +1 -1
  94. package/cjs/components/shared/file-tree/utils/fileTreePath.js +6 -5
  95. package/cjs/components/shared/file-viewer/FileViewer.js +46 -76
  96. package/cjs/components/shared/file-viewer/FileViewerCsv.js +167 -262
  97. package/cjs/components/shared/file-viewer/FileViewerImage.js +12 -16
  98. package/cjs/components/shared/file-viewer/FileViewerIpynb.js +11 -27
  99. package/cjs/components/shared/file-viewer/FileViewerNonViewable.js +47 -65
  100. package/cjs/components/shared/file-viewer/FileViewerText.js +11 -23
  101. package/cjs/components/shared/material-modal/MaterialModal.js +11 -20
  102. package/cjs/components/shared/material-modal/MaterialModal.styled.js +5 -9
  103. package/cjs/components/shared/monaco-editor/MonacoEditor.js +74 -102
  104. package/cjs/components/shared/monaco-editor/MonacoEditorLazy.js +7 -15
  105. package/cjs/components/shared/monaco-editor/MonacoEditorMobile.js +34 -49
  106. package/cjs/components/shared/monaco-editor/MonacoEditorPerferenceForm.js +194 -249
  107. package/cjs/components/shared/monaco-editor/constants/grammars/index.js +28 -82
  108. package/cjs/components/shared/monaco-editor/constants/monaco/preferences.js +5 -5
  109. package/cjs/components/shared/monaco-editor/constants/themes/index.js +17 -49
  110. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventChange.js +10 -11
  111. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventCursor.js +14 -15
  112. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventScroll.js +8 -9
  113. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoMarkers.js +30 -34
  114. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoOptions.js +7 -9
  115. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoTheme.js +6 -6
  116. package/cjs/components/shared/monaco-editor/editor-languages/css/formatter.js +10 -33
  117. package/cjs/components/shared/monaco-editor/editor-languages/css/index.js +2 -3
  118. package/cjs/components/shared/monaco-editor/editor-languages/html/formatter.js +10 -33
  119. package/cjs/components/shared/monaco-editor/editor-languages/html/index.js +2 -3
  120. package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/_helper.js +1 -1
  121. package/cjs/components/shared/monaco-editor/editor-languages/typescript/formatter.js +10 -37
  122. package/cjs/components/shared/monaco-editor/editor-languages/typescript/index.js +5 -6
  123. package/cjs/components/shared/monaco-editor/hooks/useEditorOptions.js +5 -11
  124. package/cjs/components/shared/monaco-editor/utils/emmet/abbreviationActions.js +12 -10
  125. package/cjs/components/shared/monaco-editor/utils/emmet/registerProvider.js +6 -12
  126. package/cjs/components/shared/monaco-editor/utils/grammar/index.js +24 -67
  127. package/cjs/components/shared/monaco-editor/utils/grammar/onigasm.js +6 -25
  128. package/cjs/components/shared/monaco-editor/utils/grammar/textmate.js +37 -70
  129. package/cjs/components/shared/monaco-editor/utils/monacoLanguage.js +7 -8
  130. package/cjs/components/shared/monaco-editor/utils/monacoPreference.js +4 -6
  131. package/cjs/components/shared/monaco-editor/utils/prettier/config.js +2 -2
  132. package/cjs/components/shared/monaco-editor/utils/prettier/index.js +7 -27
  133. package/cjs/components/shared/monaco-editor/utils/theme/convert.js +14 -24
  134. package/cjs/components/shared/monaco-editor/utils/theme/index.js +3 -22
  135. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursor.js +56 -77
  136. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorManager.js +68 -82
  137. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorWidget.js +93 -120
  138. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelection.js +132 -155
  139. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelectionManager.js +92 -104
  140. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/styles.js +2 -2
  141. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/configCompat.js +6 -1
  142. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/data.js +2 -2
  143. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/emmetHelper.js +158 -177
  144. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/utils.js +3 -3
  145. package/cjs/components/shared/no-vnc/NoVnc.js +78 -118
  146. package/cjs/components/shared/no-vnc/NoVncLazy.js +7 -15
  147. package/cjs/components/shared/preview-container/PreviewContainer.js +13 -18
  148. package/cjs/components/shared/web-browser/WebBrowser.js +52 -74
  149. package/cjs/components/shared/xterm/Xterm.js +57 -82
  150. package/cjs/components/shared/xterm/XtermLazy.js +7 -15
  151. package/cjs/constants/arduino.js +10 -10
  152. package/cjs/constants/color.js +1 -1
  153. package/cjs/constants/shortcutKeyMap.js +1 -3
  154. package/cjs/constants/stylesheets.js +5 -7
  155. package/cjs/hooks/useArduino.js +141 -282
  156. package/cjs/hooks/useExerciseFile.js +22 -24
  157. package/cjs/hooks/useExericseShortcut.js +4 -6
  158. package/cjs/hooks/useMaterialExerciseFileUrl.js +33 -55
  159. package/cjs/hooks/useRunnerRoomWebSocket.js +27 -51
  160. package/cjs/hooks/useStdioTextConcator.js +11 -15
  161. package/cjs/hooks/useStdioWebSocket.js +28 -32
  162. package/cjs/hooks/useUsercodeEditWebSocket.js +158 -238
  163. package/cjs/hooks/useUsercodeHistory.js +63 -115
  164. package/cjs/utils/arduino.js +11 -23
  165. package/cjs/utils/exerciseFile.js +10 -8
  166. package/cjs/utils/runner.js +17 -33
  167. package/es/assets/empty.png.js +2 -1
  168. package/es/components/material-exercise/MaterialExercise.d.ts +1 -1
  169. package/es/components/material-exercise/MaterialExercise.js +75 -107
  170. package/es/components/material-exercise/MaterialExercise.styled.js +14 -14
  171. package/es/components/material-exercise/MaterialExerciseMobile.d.ts +1 -1
  172. package/es/components/material-exercise/MaterialExerciseMobile.js +7 -13
  173. package/es/components/material-exercise/context/ExerciseProvider.js +58 -63
  174. package/es/components/material-exercise/context/ExerciseProviderNoImage.js +30 -35
  175. package/es/components/material-exercise/context/context.js +1 -1
  176. package/es/components/material-exercise/context/recoil.js +290 -535
  177. package/es/components/material-exercise/context/subjects.js +4 -4
  178. package/es/components/material-exercise/context/types.d.ts +2 -2
  179. package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.js +78 -95
  180. package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.js +8 -8
  181. package/es/components/material-exercise/exercise-file/ExerciseFile.js +27 -25
  182. package/es/components/material-exercise/exercise-file-editor/ExerciseFileEditor.js +149 -221
  183. package/es/components/material-exercise/exercise-file-editor/ExerciseFileReadOnlyBanner.js +13 -15
  184. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabs.js +29 -44
  185. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.d.ts +2 -1
  186. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.js +4 -6
  187. package/es/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/ExerciseFileTabsFileTreeButton.js +36 -48
  188. package/es/components/material-exercise/exercise-file-tree/ExerciseFileTree.js +211 -348
  189. package/es/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.d.ts +2 -1
  190. package/es/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.js +4 -6
  191. package/es/components/material-exercise/exercise-file-viewer/ExerciseFileViewer.js +15 -14
  192. package/es/components/material-exercise/exercise-menu/ExerciseMenu.js +12 -16
  193. package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.js +11 -12
  194. package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.js +80 -119
  195. package/es/components/material-exercise/exercise-menu/ExerciseMenuDropdown.js +67 -96
  196. package/es/components/material-exercise/exercise-menu/ExerciseMenuReset.js +23 -41
  197. package/es/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.js +122 -143
  198. package/es/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.js +13 -13
  199. package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdown.js +19 -28
  200. package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.d.ts +2 -1
  201. package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.js +4 -6
  202. package/es/components/material-exercise/exercise-preview/ExercisePreview.js +24 -26
  203. package/es/components/material-exercise/exercise-preview/ExercisePreviewDisplayModeButton.js +7 -14
  204. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpane.js +35 -47
  205. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpaneEditorPerference.js +6 -10
  206. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpaneEnvironment.js +78 -85
  207. package/es/components/material-exercise/exercise-room/ExerciseRoom.js +12 -21
  208. package/es/components/material-exercise/exercise-room/ExerciseRoom.styled.js +12 -14
  209. package/es/components/material-exercise/exercise-room/ExerciseRoomDetail.js +349 -498
  210. package/es/components/material-exercise/exercise-room/ExerciseRoomList.js +133 -193
  211. package/es/components/material-exercise/exercise-room/helpers/exerciseRoomPermissionStringConvertor.js +2 -2
  212. package/es/components/material-exercise/exercise-runner/ExerciseRunner.js +142 -200
  213. package/es/components/material-exercise/exercise-runner/ExerciseRunnerContext.js +1 -1
  214. package/es/components/material-exercise/exercise-runner/ExerciseRunnerController.js +16 -20
  215. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.js +85 -112
  216. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.js +20 -30
  217. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js +82 -90
  218. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.js +52 -63
  219. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerRunningInfo.js +87 -131
  220. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusIndicator.js +2 -2
  221. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusMessage.js +15 -17
  222. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerTimer.js +23 -31
  223. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.js +250 -399
  224. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.styled.js +8 -8
  225. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistoryOutput.js +49 -68
  226. package/es/components/shared/exercise-menu-button/ExerciseMenuButton.js +24 -29
  227. package/es/components/shared/exercise-shimmer/ExerciseFileShimmer.js +38 -40
  228. package/es/components/shared/exercise-shimmer/ExerciseFileTabShimmer.js +20 -22
  229. package/es/components/shared/exercise-shimmer/ExerciseFileTabsShimmer.js +8 -10
  230. package/es/components/shared/exercise-shimmer/ExerciseFileTreeListItemShimmer.js +22 -24
  231. package/es/components/shared/exercise-shimmer/ExerciseFileTreeListShimmer.js +9 -19
  232. package/es/components/shared/exercise-version-list/ExerciseVersionList.js +5 -6
  233. package/es/components/shared/exercise-version-list/ExerciseVersionList.styled.js +1 -1
  234. package/es/components/shared/exercise-version-list/ExerciseVersionListItem.js +10 -10
  235. package/es/components/shared/exercise-version-list/ExerciseVersionListItem.styled.js +5 -9
  236. package/es/components/shared/file-icon/FileIcon.js +16 -19
  237. package/es/components/shared/file-tabs/FileTab.js +33 -43
  238. package/es/components/shared/file-tabs/FileTab.styled.js +15 -19
  239. package/es/components/shared/file-tabs/FileTabs.js +40 -62
  240. package/es/components/shared/file-tabs/FileTabs.styled.js +2 -2
  241. package/es/components/shared/file-tabs/util.js +14 -27
  242. package/es/components/shared/file-tree/FileTree.js +10 -16
  243. package/es/components/shared/file-tree/FileTreeConfig.js +39 -39
  244. package/es/components/shared/file-tree/FileTreeList.js +40 -38
  245. package/es/components/shared/file-tree/FileTreeListItemContent.js +99 -124
  246. package/es/components/shared/file-tree/FileTreeListItemContent.styled.js +21 -25
  247. package/es/components/shared/file-tree/FileTreeListItemContentInput.js +96 -102
  248. package/es/components/shared/file-tree/FileTreeListItemContentInput.styled.js +6 -6
  249. package/es/components/shared/file-tree/FileTreeListItemContentMenu.js +91 -129
  250. package/es/components/shared/file-tree/FileTreeListItems.js +137 -149
  251. package/es/components/shared/file-tree/FileTreeListItems.styled.js +2 -2
  252. package/es/components/shared/file-tree/FileTreeToolbar.styled.js +1 -1
  253. package/es/components/shared/file-tree/context/FileTreeContext.d.ts +1 -1
  254. package/es/components/shared/file-tree/context/FileTreeContext.js +79 -97
  255. package/es/components/shared/file-tree/file-tree-toolbar/FileTreeToolbar.js +54 -55
  256. package/es/components/shared/file-tree/utils/fileTreeFiles.js +20 -20
  257. package/es/components/shared/file-tree/utils/fileTreeGenerator.js +146 -193
  258. package/es/components/shared/file-tree/utils/fileTreeInput.js +1 -11
  259. package/es/components/shared/file-tree/utils/fileTreeItem.js +1 -1
  260. package/es/components/shared/file-tree/utils/fileTreePath.js +6 -5
  261. package/es/components/shared/file-viewer/FileViewer.js +46 -69
  262. package/es/components/shared/file-viewer/FileViewerCsv.js +167 -257
  263. package/es/components/shared/file-viewer/FileViewerImage.js +12 -12
  264. package/es/components/shared/file-viewer/FileViewerIpynb.js +11 -21
  265. package/es/components/shared/file-viewer/FileViewerNonViewable.js +47 -60
  266. package/es/components/shared/file-viewer/FileViewerText.js +11 -19
  267. package/es/components/shared/material-modal/MaterialModal.js +11 -20
  268. package/es/components/shared/material-modal/MaterialModal.styled.js +5 -5
  269. package/es/components/shared/monaco-editor/MonacoEditor.js +72 -95
  270. package/es/components/shared/monaco-editor/MonacoEditorLazy.js +7 -11
  271. package/es/components/shared/monaco-editor/MonacoEditorMobile.js +32 -43
  272. package/es/components/shared/monaco-editor/MonacoEditorPerferenceForm.js +194 -244
  273. package/es/components/shared/monaco-editor/constants/grammars/index.js +28 -82
  274. package/es/components/shared/monaco-editor/constants/monaco/preferences.js +5 -5
  275. package/es/components/shared/monaco-editor/constants/themes/index.js +17 -49
  276. package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventChange.js +10 -11
  277. package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventCursor.js +14 -15
  278. package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventScroll.js +8 -9
  279. package/es/components/shared/monaco-editor/editor-hooks/useMonacoMarkers.js +30 -34
  280. package/es/components/shared/monaco-editor/editor-hooks/useMonacoOptions.js +7 -9
  281. package/es/components/shared/monaco-editor/editor-hooks/useMonacoTheme.js +6 -6
  282. package/es/components/shared/monaco-editor/editor-languages/css/formatter.js +10 -33
  283. package/es/components/shared/monaco-editor/editor-languages/html/formatter.js +10 -33
  284. package/es/components/shared/monaco-editor/editor-languages/typescript/dts/_helper.js +1 -1
  285. package/es/components/shared/monaco-editor/editor-languages/typescript/formatter.js +10 -37
  286. package/es/components/shared/monaco-editor/editor-languages/typescript/index.js +3 -3
  287. package/es/components/shared/monaco-editor/hooks/useEditorOptions.js +5 -11
  288. package/es/components/shared/monaco-editor/utils/emmet/abbreviationActions.js +12 -10
  289. package/es/components/shared/monaco-editor/utils/emmet/registerProvider.js +6 -12
  290. package/es/components/shared/monaco-editor/utils/grammar/index.js +24 -67
  291. package/es/components/shared/monaco-editor/utils/grammar/onigasm.js +6 -25
  292. package/es/components/shared/monaco-editor/utils/grammar/textmate.js +35 -67
  293. package/es/components/shared/monaco-editor/utils/monacoLanguage.js +5 -5
  294. package/es/components/shared/monaco-editor/utils/monacoPreference.js +4 -6
  295. package/es/components/shared/monaco-editor/utils/prettier/config.js +2 -2
  296. package/es/components/shared/monaco-editor/utils/prettier/index.js +7 -27
  297. package/es/components/shared/monaco-editor/utils/theme/convert.js +13 -19
  298. package/es/components/shared/monaco-editor/utils/theme/index.js +3 -22
  299. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursor.js +56 -77
  300. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorManager.js +68 -82
  301. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorWidget.js +93 -120
  302. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelection.js +130 -152
  303. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelectionManager.js +92 -104
  304. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/styles.js +2 -2
  305. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/configCompat.js +6 -1
  306. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/data.js +2 -2
  307. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/emmetHelper.js +156 -171
  308. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/utils.js +3 -3
  309. package/es/components/shared/no-vnc/NoVnc.js +71 -99
  310. package/es/components/shared/no-vnc/NoVncLazy.js +7 -11
  311. package/es/components/shared/preview-container/PreviewContainer.js +14 -15
  312. package/es/components/shared/web-browser/WebBrowser.js +52 -69
  313. package/es/components/shared/xterm/Xterm.js +57 -77
  314. package/es/components/shared/xterm/XtermLazy.js +7 -11
  315. package/es/constants/arduino.js +10 -10
  316. package/es/constants/color.js +1 -1
  317. package/es/constants/shortcutKeyMap.js +1 -3
  318. package/es/constants/stylesheets.js +5 -7
  319. package/es/hooks/useArduino.js +141 -278
  320. package/es/hooks/useExerciseFile.js +22 -24
  321. package/es/hooks/useExericseShortcut.js +4 -6
  322. package/es/hooks/useMaterialExerciseFileUrl.js +34 -52
  323. package/es/hooks/useRunnerRoomWebSocket.js +27 -51
  324. package/es/hooks/useStdioTextConcator.js +11 -11
  325. package/es/hooks/useStdioWebSocket.js +28 -32
  326. package/es/hooks/useUsercodeEditWebSocket.js +157 -232
  327. package/es/hooks/useUsercodeHistory.js +63 -115
  328. package/es/utils/arduino.js +12 -24
  329. package/es/utils/exerciseFile.js +10 -8
  330. package/es/utils/runner.js +17 -33
  331. package/package.json +15 -11
  332. package/cjs/_virtual/_rollupPluginBabelHelpers.js +0 -519
  333. package/cjs/components/index.js +0 -25
  334. package/cjs/components/locales/index.js +0 -13
  335. package/cjs/components/material-exercise/context/index.js +0 -57
  336. package/cjs/components/material-exercise/exercise-code-history/index.js +0 -7
  337. package/cjs/components/material-exercise/exercise-code-history/locales/index.js +0 -13
  338. package/cjs/components/material-exercise/exercise-file/index.js +0 -7
  339. package/cjs/components/material-exercise/exercise-file-editor/index.js +0 -7
  340. package/cjs/components/material-exercise/exercise-file-editor/locales/index.js +0 -13
  341. package/cjs/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/index.js +0 -7
  342. package/cjs/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/locales/index.js +0 -13
  343. package/cjs/components/material-exercise/exercise-file-tabs/index.js +0 -9
  344. package/cjs/components/material-exercise/exercise-file-tabs/locales/index.js +0 -13
  345. package/cjs/components/material-exercise/exercise-file-tree/index.js +0 -9
  346. package/cjs/components/material-exercise/exercise-file-tree/locales/index.js +0 -13
  347. package/cjs/components/material-exercise/exercise-file-viewer/index.js +0 -7
  348. package/cjs/components/material-exercise/exercise-menu/index.js +0 -7
  349. package/cjs/components/material-exercise/exercise-menu/locales/index.js +0 -13
  350. package/cjs/components/material-exercise/exercise-multilang-dropdown/index.js +0 -9
  351. package/cjs/components/material-exercise/exercise-preview/index.js +0 -7
  352. package/cjs/components/material-exercise/exercise-preview/locales/index.js +0 -13
  353. package/cjs/components/material-exercise/exercise-rightpane/index.js +0 -7
  354. package/cjs/components/material-exercise/exercise-rightpane/locales/index.js +0 -13
  355. package/cjs/components/material-exercise/exercise-room/helpers/index.js +0 -7
  356. package/cjs/components/material-exercise/exercise-room/index.js +0 -7
  357. package/cjs/components/material-exercise/exercise-room/locales/index.js +0 -13
  358. package/cjs/components/material-exercise/exercise-runner/index.js +0 -7
  359. package/cjs/components/material-exercise/exercise-runner/locales/index.js +0 -13
  360. package/cjs/components/material-exercise/exercise-submit-history/index.js +0 -7
  361. package/cjs/components/material-exercise/exercise-submit-history/locales/index.js +0 -13
  362. package/cjs/components/material-exercise/index.js +0 -9
  363. package/cjs/components/shared/exercise-menu-button/index.js +0 -7
  364. package/cjs/components/shared/exercise-shimmer/index.js +0 -15
  365. package/cjs/components/shared/exercise-version-list/index.js +0 -9
  366. package/cjs/components/shared/file-icon/index.js +0 -7
  367. package/cjs/components/shared/file-tabs/index.js +0 -7
  368. package/cjs/components/shared/file-tree/context/index.js +0 -9
  369. package/cjs/components/shared/file-tree/file-tree-toolbar/index.js +0 -7
  370. package/cjs/components/shared/file-tree/file-tree-toolbar/locales/index.js +0 -13
  371. package/cjs/components/shared/file-tree/index.js +0 -7
  372. package/cjs/components/shared/file-tree/locales/index.js +0 -13
  373. package/cjs/components/shared/file-tree/utils/index.js +0 -20
  374. package/cjs/components/shared/file-viewer/index.js +0 -7
  375. package/cjs/components/shared/file-viewer/locales/index.js +0 -21
  376. package/cjs/components/shared/material-modal/index.js +0 -7
  377. package/cjs/components/shared/monaco-editor/constants/index.js +0 -13
  378. package/cjs/components/shared/monaco-editor/constants/monaco/index.js +0 -11
  379. package/cjs/components/shared/monaco-editor/editor-hooks/index.js +0 -17
  380. package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/index.js +0 -11
  381. package/cjs/components/shared/monaco-editor/hooks/index.js +0 -7
  382. package/cjs/components/shared/monaco-editor/index.js +0 -21
  383. package/cjs/components/shared/monaco-editor/locales/index.js +0 -13
  384. package/cjs/components/shared/monaco-editor/utils/emmet/index.js +0 -9
  385. package/cjs/components/shared/monaco-editor/utils/index.js +0 -9
  386. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/index.js +0 -12
  387. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/index.js +0 -11
  388. package/cjs/components/shared/no-vnc/index.js +0 -7
  389. package/cjs/components/shared/preview-container/index.js +0 -9
  390. package/cjs/components/shared/web-browser/index.js +0 -7
  391. package/cjs/components/shared/xterm/index.js +0 -7
  392. package/cjs/components/shared/xterm/locales/index.js +0 -13
  393. package/cjs/constants/index.js +0 -7
  394. package/cjs/hooks/index.js +0 -20
  395. package/cjs/utils/index.js +0 -10
  396. package/es/_virtual/_rollupPluginBabelHelpers.js +0 -499
  397. package/es/components/index.js +0 -8
  398. package/es/components/locales/index.js +0 -4
  399. package/es/components/material-exercise/context/index.js +0 -5
  400. package/es/components/material-exercise/exercise-code-history/index.js +0 -1
  401. package/es/components/material-exercise/exercise-code-history/locales/index.js +0 -4
  402. package/es/components/material-exercise/exercise-file/index.js +0 -1
  403. package/es/components/material-exercise/exercise-file-editor/index.js +0 -1
  404. package/es/components/material-exercise/exercise-file-editor/locales/index.js +0 -4
  405. package/es/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/index.js +0 -1
  406. package/es/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/locales/index.js +0 -4
  407. package/es/components/material-exercise/exercise-file-tabs/index.js +0 -2
  408. package/es/components/material-exercise/exercise-file-tabs/locales/index.js +0 -4
  409. package/es/components/material-exercise/exercise-file-tree/index.js +0 -2
  410. package/es/components/material-exercise/exercise-file-tree/locales/index.js +0 -4
  411. package/es/components/material-exercise/exercise-file-viewer/index.js +0 -1
  412. package/es/components/material-exercise/exercise-menu/index.js +0 -1
  413. package/es/components/material-exercise/exercise-menu/locales/index.js +0 -4
  414. package/es/components/material-exercise/exercise-multilang-dropdown/index.js +0 -2
  415. package/es/components/material-exercise/exercise-preview/index.js +0 -1
  416. package/es/components/material-exercise/exercise-preview/locales/index.js +0 -4
  417. package/es/components/material-exercise/exercise-rightpane/index.js +0 -1
  418. package/es/components/material-exercise/exercise-rightpane/locales/index.js +0 -4
  419. package/es/components/material-exercise/exercise-room/helpers/index.js +0 -1
  420. package/es/components/material-exercise/exercise-room/index.js +0 -1
  421. package/es/components/material-exercise/exercise-room/locales/index.js +0 -4
  422. package/es/components/material-exercise/exercise-runner/index.js +0 -1
  423. package/es/components/material-exercise/exercise-runner/locales/index.js +0 -4
  424. package/es/components/material-exercise/exercise-submit-history/index.js +0 -1
  425. package/es/components/material-exercise/exercise-submit-history/locales/index.js +0 -4
  426. package/es/components/material-exercise/index.js +0 -2
  427. package/es/components/shared/exercise-menu-button/index.js +0 -1
  428. package/es/components/shared/exercise-shimmer/index.js +0 -5
  429. package/es/components/shared/exercise-version-list/index.js +0 -2
  430. package/es/components/shared/file-icon/index.js +0 -1
  431. package/es/components/shared/file-tabs/index.js +0 -1
  432. package/es/components/shared/file-tree/context/index.js +0 -1
  433. package/es/components/shared/file-tree/file-tree-toolbar/index.js +0 -1
  434. package/es/components/shared/file-tree/file-tree-toolbar/locales/index.js +0 -4
  435. package/es/components/shared/file-tree/index.js +0 -1
  436. package/es/components/shared/file-tree/locales/index.js +0 -4
  437. package/es/components/shared/file-tree/utils/index.js +0 -5
  438. package/es/components/shared/file-viewer/index.js +0 -1
  439. package/es/components/shared/file-viewer/locales/index.js +0 -8
  440. package/es/components/shared/material-modal/index.js +0 -1
  441. package/es/components/shared/monaco-editor/constants/index.js +0 -2
  442. package/es/components/shared/monaco-editor/constants/monaco/index.js +0 -1
  443. package/es/components/shared/monaco-editor/editor-hooks/index.js +0 -6
  444. package/es/components/shared/monaco-editor/editor-languages/typescript/dts/index.js +0 -3
  445. package/es/components/shared/monaco-editor/hooks/index.js +0 -1
  446. package/es/components/shared/monaco-editor/index.js +0 -6
  447. package/es/components/shared/monaco-editor/locales/index.js +0 -4
  448. package/es/components/shared/monaco-editor/utils/emmet/index.js +0 -1
  449. package/es/components/shared/monaco-editor/utils/index.js +0 -2
  450. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/index.js +0 -3
  451. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/index.js +0 -2
  452. package/es/components/shared/no-vnc/index.js +0 -1
  453. package/es/components/shared/preview-container/index.js +0 -1
  454. package/es/components/shared/web-browser/index.js +0 -1
  455. package/es/components/shared/xterm/index.js +0 -1
  456. package/es/components/shared/xterm/locales/index.js +0 -4
  457. package/es/constants/index.js +0 -1
  458. package/es/hooks/index.js +0 -7
  459. package/es/utils/index.js +0 -2
@@ -1,5 +1,3 @@
1
- import { slicedToArray as _slicedToArray } from '../../../_virtual/_rollupPluginBabelHelpers.js';
2
- import { jsx, jsxs } from 'react/jsx-runtime';
3
1
  import React from 'react';
4
2
  import { Button, Tooltip, Icon, Flex, BadgeNext, Text, Hspace, IconButton } from '@elice/blocks';
5
3
  import { eilArrowRightwardsBasic, eilMathsignMultiplyBasic } from '@elice/icons';
@@ -12,23 +10,20 @@ import '../context/recoilTypes.js';
12
10
  import '../context/subjects.js';
13
11
  import '../context/ExerciseProvider.js';
14
12
 
15
- var ELICE_MATERIAL_EXERCISE_AI_BOT_TOOLTIP_KEY = 'elice-material-exercise-aibot-tooltip-hidden';
16
- var ELICE_MATERIAL_EXERCISE_AI_BOT_TOOLTIP_VALUE = 'true';
17
- var StyledControllerButton = styled(Button).withConfig({
13
+ const ELICE_MATERIAL_EXERCISE_AI_BOT_TOOLTIP_KEY = 'elice-material-exercise-aibot-tooltip-hidden';
14
+ const ELICE_MATERIAL_EXERCISE_AI_BOT_TOOLTIP_VALUE = 'true';
15
+ const StyledControllerButton = styled(Button).withConfig({
18
16
  componentId: "sc-10grd0k-0"
19
17
  })(["position:relative;transition:none;"]);
20
- var ExerciseRunnerControllerCodeHelpRequestButton = React.forwardRef(function (props, ref) {
21
- var intl = useRawEliceIntl();
22
- var _React$useState = React.useState(false),
23
- _React$useState2 = _slicedToArray(_React$useState, 2),
24
- isTooltipHidden = _React$useState2[0],
25
- setIsTooltipHidden = _React$useState2[1];
26
- var isAibotInfoEnabled = useRecoilValue(exerciseAibotInfoEnableState);
18
+ const ExerciseRunnerControllerCodeHelpRequestButton = React.forwardRef((props, ref) => {
19
+ const intl = useRawEliceIntl();
20
+ const [isTooltipHidden, setIsTooltipHidden] = React.useState(false);
21
+ const isAibotInfoEnabled = useRecoilValue(exerciseAibotInfoEnableState);
27
22
  //
28
23
  //
29
24
  //
30
- React.useEffect(function () {
31
- var isTooltipHidden = sessionStorage.getItem(ELICE_MATERIAL_EXERCISE_AI_BOT_TOOLTIP_KEY) === ELICE_MATERIAL_EXERCISE_AI_BOT_TOOLTIP_VALUE;
25
+ React.useEffect(() => {
26
+ const isTooltipHidden = sessionStorage.getItem(ELICE_MATERIAL_EXERCISE_AI_BOT_TOOLTIP_KEY) === ELICE_MATERIAL_EXERCISE_AI_BOT_TOOLTIP_VALUE;
32
27
  if (isTooltipHidden) {
33
28
  setIsTooltipHidden(true);
34
29
  return;
@@ -40,59 +35,53 @@ var ExerciseRunnerControllerCodeHelpRequestButton = React.forwardRef(function (p
40
35
  /**
41
36
  *
42
37
  */
43
- var renderAiBotTooltipTitle = function renderAiBotTooltipTitle() {
44
- return jsxs(Flex, {
45
- align: "center",
46
- children: [jsx(BadgeNext, {
47
- role: "red",
48
- children: jsx(Text, {
49
- role: "white",
50
- size: "tiny",
51
- bold: true,
52
- children: "NEW"
53
- })
54
- }), jsx(Hspace, {
55
- width: 0.625
56
- }), jsx(Text, {
57
- role: "gray9",
58
- size: "small",
59
- bold: true,
60
- children: intl.formatMessage({
61
- id: 'exerciseRunner.controller.buttonGroup.button.tooltip.aiHelp'
62
- })
63
- }), jsx(Hspace, {
64
- width: 0.625
65
- }), jsx(IconButton, {
66
- size: "tiny",
67
- role: "primary",
68
- hasPadding: false,
69
- border: false,
70
- icon: eilMathsignMultiplyBasic,
71
- onClick: function onClick() {
72
- sessionStorage.setItem(ELICE_MATERIAL_EXERCISE_AI_BOT_TOOLTIP_KEY, ELICE_MATERIAL_EXERCISE_AI_BOT_TOOLTIP_VALUE);
73
- setIsTooltipHidden(true);
74
- }
75
- })]
76
- });
38
+ const renderAiBotTooltipTitle = () => {
39
+ return React.createElement(Flex, {
40
+ align: "center"
41
+ }, React.createElement(BadgeNext, {
42
+ role: "red"
43
+ }, React.createElement(Text, {
44
+ role: "white",
45
+ size: "tiny",
46
+ bold: true
47
+ }, "NEW")), React.createElement(Hspace, {
48
+ width: 0.625
49
+ }), React.createElement(Text, {
50
+ role: "gray9",
51
+ size: "small",
52
+ bold: true
53
+ }, intl.formatMessage({
54
+ id: 'exerciseRunner.controller.buttonGroup.button.tooltip.aiHelp'
55
+ })), React.createElement(Hspace, {
56
+ width: 0.625
57
+ }), React.createElement(IconButton, {
58
+ size: "tiny",
59
+ role: "primary",
60
+ hasPadding: false,
61
+ border: false,
62
+ icon: eilMathsignMultiplyBasic,
63
+ onClick: () => {
64
+ sessionStorage.setItem(ELICE_MATERIAL_EXERCISE_AI_BOT_TOOLTIP_KEY, ELICE_MATERIAL_EXERCISE_AI_BOT_TOOLTIP_VALUE);
65
+ setIsTooltipHidden(true);
66
+ }
67
+ }));
77
68
  };
78
- return isAibotInfoEnabled ? jsx(Tooltip, {
69
+ return isAibotInfoEnabled ? React.createElement(Tooltip, {
79
70
  placement: "top",
80
71
  dark: false,
81
72
  visible: !isTooltipHidden,
82
- title: renderAiBotTooltipTitle(),
83
- children: jsx(StyledControllerButton, Object.assign({}, props, {
84
- ref: ref,
85
- size: "tiny",
86
- role: "darkblue",
87
- icon: jsx(Icon, {
88
- icon: eilArrowRightwardsBasic
89
- }),
90
- iconAlign: "right",
91
- children: intl.formatMessage({
92
- id: 'exerciseRunner.controller.buttonGroup.button.helpRequest'
93
- })
94
- }))
95
- }) : null;
73
+ title: renderAiBotTooltipTitle()
74
+ }, React.createElement(StyledControllerButton, Object.assign({}, props, {
75
+ ref: ref,
76
+ size: "tiny",
77
+ role: "darkblue",
78
+ icon: React.createElement(Icon, {
79
+ icon: eilArrowRightwardsBasic
80
+ }),
81
+ iconAlign: "right"
82
+ }), intl.formatMessage({
83
+ id: 'exerciseRunner.controller.buttonGroup.button.helpRequest'
84
+ }))) : null;
96
85
  });
97
86
 
98
87
  export { ExerciseRunnerControllerCodeHelpRequestButton as default };
@@ -1,5 +1,3 @@
1
- import { slicedToArray as _slicedToArray, asyncToGenerator as _asyncToGenerator, regeneratorRuntime as _regeneratorRuntime } from '../../../_virtual/_rollupPluginBabelHelpers.js';
2
- import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
3
1
  import React from 'react';
4
2
  import { usePrevious } from 'react-use';
5
3
  import { getOrgCourseGet, getOrgMaterialExerciseExerciseRunningList } from '@elice/api-client';
@@ -18,48 +16,40 @@ import '../context/ExerciseProvider.js';
18
16
  //
19
17
  //
20
18
  //
21
- var StyledHr = styled(Hr).withConfig({
19
+ const StyledHr = styled(Hr).withConfig({
22
20
  componentId: "sc-30ywzi-0"
23
21
  })(["height:2rem;"]);
24
- var StyledRunnerInfoTitle = styled.span.withConfig({
22
+ const StyledRunnerInfoTitle = styled.span.withConfig({
25
23
  componentId: "sc-30ywzi-1"
26
24
  })(["display:block;color:", ";font-size:11px;line-height:1.25;"], base.color.navy3);
27
- var StyledRunnerInfoContent = styled.span.withConfig({
25
+ const StyledRunnerInfoContent = styled.span.withConfig({
28
26
  componentId: "sc-30ywzi-2"
29
27
  })(["display:block;color:", ";font-size:12px;line-height:1.25;"], base.color.navy1);
30
28
  //
31
29
  //
32
30
  //
33
- var ExerciseRunnerControllerRunningInfo = function ExerciseRunnerControllerRunningInfo() {
34
- var intl = useRawEliceIntl();
35
- var _React$useContext = React.useContext(ExerciseContext),
36
- materialExerciseId = _React$useContext.materialExerciseId,
37
- exerciseRoomId = _React$useContext.exerciseRoomId,
38
- onExerciseRunningDone = _React$useContext.onExerciseRunningDone,
39
- onError = _React$useContext.onError;
40
- var isRunning = useRecoilValue(exerciseRunnerRunningState);
41
- var isPrevRunning = usePrevious(isRunning);
42
- var isNoRunning = isPrevRunning === undefined;
43
- var isRunningDone = isPrevRunning === true && !isRunning;
44
- var exercise = useRecoilValue(exerciseState(materialExerciseId));
45
- var user = useRecoilValue(exerciseUserState);
46
- var _React$useState = React.useState(),
47
- _React$useState2 = _slicedToArray(_React$useState, 2),
48
- course = _React$useState2[0],
49
- setCourse = _React$useState2[1];
50
- var _React$useState3 = React.useState(null),
51
- _React$useState4 = _slicedToArray(_React$useState3, 2),
52
- exerciseLastRunning = _React$useState4[0],
53
- setExerciseLastRunning = _React$useState4[1];
54
- var _React$useState5 = React.useState(null),
55
- _React$useState6 = _slicedToArray(_React$useState5, 2),
56
- exerciseLastSubmit = _React$useState6[0],
57
- setExerciseLastSubmit = _React$useState6[1];
31
+ const ExerciseRunnerControllerRunningInfo = () => {
32
+ const intl = useRawEliceIntl();
33
+ const {
34
+ materialExerciseId,
35
+ exerciseRoomId,
36
+ onExerciseRunningDone,
37
+ onError
38
+ } = React.useContext(ExerciseContext);
39
+ const isRunning = useRecoilValue(exerciseRunnerRunningState);
40
+ const isPrevRunning = usePrevious(isRunning);
41
+ const isNoRunning = isPrevRunning === undefined;
42
+ const isRunningDone = isPrevRunning === true && !isRunning;
43
+ const exercise = useRecoilValue(exerciseState(materialExerciseId));
44
+ const user = useRecoilValue(exerciseUserState);
45
+ const [course, setCourse] = React.useState();
46
+ const [exerciseLastRunning, setExerciseLastRunning] = React.useState(null);
47
+ const [exerciseLastSubmit, setExerciseLastSubmit] = React.useState(null);
58
48
  //
59
49
  // Get exercise running list.
60
50
  //
61
- React.useEffect(function () {
62
- var userId = user === null || user === void 0 ? void 0 : user.id;
51
+ React.useEffect(() => {
52
+ const userId = user === null || user === void 0 ? void 0 : user.id;
63
53
  if (!userId || !exercise || !exerciseRoomId) {
64
54
  return;
65
55
  }
@@ -69,36 +59,21 @@ var ExerciseRunnerControllerRunningInfo = function ExerciseRunnerControllerRunni
69
59
  if (!isNoRunning && !isRunningDone) {
70
60
  return;
71
61
  }
72
- var abortCtrl = new AbortController();
73
- var _fetch = /*#__PURE__*/function () {
74
- var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(runType) {
75
- return _regeneratorRuntime().wrap(function _callee$(_context) {
76
- while (1) switch (_context.prev = _context.next) {
77
- case 0:
78
- return _context.abrupt("return", getOrgMaterialExerciseExerciseRunningList({
79
- exerciseRoomId: exerciseRoomId,
80
- filterRunType: runType,
81
- offset: 0,
82
- count: 1,
83
- userId: userId
84
- }, {
85
- signal: abortCtrl.signal
86
- }).then(function (res) {
87
- return res.exerciseRunnings;
88
- }).then(function (exerciseRunnings) {
89
- var _a;
90
- return (_a = exerciseRunnings[0]) !== null && _a !== void 0 ? _a : null;
91
- }));
92
- case 1:
93
- case "end":
94
- return _context.stop();
95
- }
96
- }, _callee);
97
- }));
98
- return function _fetch(_x) {
99
- return _ref.apply(this, arguments);
100
- };
101
- }();
62
+ const abortCtrl = new AbortController();
63
+ const _fetch = async runType => {
64
+ return getOrgMaterialExerciseExerciseRunningList({
65
+ exerciseRoomId,
66
+ filterRunType: runType,
67
+ offset: 0,
68
+ count: 1,
69
+ userId
70
+ }, {
71
+ signal: abortCtrl.signal
72
+ }).then(res => res.exerciseRunnings).then(exerciseRunnings => {
73
+ var _a;
74
+ return (_a = exerciseRunnings[0]) !== null && _a !== void 0 ? _a : null;
75
+ });
76
+ };
102
77
  Promise.all([
103
78
  // running
104
79
  // - if exercise is no submit grade, fetch only running
@@ -107,17 +82,14 @@ var ExerciseRunnerControllerRunningInfo = function ExerciseRunnerControllerRunni
107
82
  // submit
108
83
  // - if exercise is no submit grade, fetch nothing
109
84
  // - else, fetch submit
110
- exercise.isNoSubmitGrade ? Promise.resolve(null) : _fetch(enums.ExerciseRunType.Grade)]).then(function (_ref2) {
111
- var _ref3 = _slicedToArray(_ref2, 2),
112
- exerciseLastRunning = _ref3[0],
113
- exerciseLastSubmit = _ref3[1];
85
+ exercise.isNoSubmitGrade ? Promise.resolve(null) : _fetch(enums.ExerciseRunType.Grade)]).then(([exerciseLastRunning, exerciseLastSubmit]) => {
114
86
  setExerciseLastRunning(exerciseLastRunning);
115
87
  setExerciseLastSubmit(exerciseLastSubmit);
116
88
  // callback on running done (last running which includes submit)
117
89
  if (isRunningDone && typeof onExerciseRunningDone === 'function') {
118
90
  onExerciseRunningDone(exerciseLastRunning);
119
91
  }
120
- }).catch(function (err) {
92
+ }).catch(err => {
121
93
  if (err.name === 'AbortError') {
122
94
  return;
123
95
  }
@@ -128,7 +100,7 @@ var ExerciseRunnerControllerRunningInfo = function ExerciseRunnerControllerRunni
128
100
  id: 'exerciseRunner.controller.runningInfo.error.fetch'
129
101
  }));
130
102
  });
131
- return function () {
103
+ return () => {
132
104
  abortCtrl.abort();
133
105
  };
134
106
  },
@@ -137,93 +109,79 @@ var ExerciseRunnerControllerRunningInfo = function ExerciseRunnerControllerRunni
137
109
  //
138
110
  // Get course
139
111
  //
140
- React.useEffect(function () {
112
+ React.useEffect(() => {
141
113
  if (!exercise) {
142
114
  return;
143
115
  }
144
- var abortCtrl = new AbortController();
116
+ const abortCtrl = new AbortController();
145
117
  getOrgCourseGet({
146
118
  courseId: exercise._courseId
147
119
  }, {
148
120
  signal: abortCtrl.signal
149
- }).then(function (res) {
150
- return res.course;
151
- }).then(setCourse).catch(console.error);
152
- return function () {
121
+ }).then(res => res.course).then(setCourse).catch(console.error);
122
+ return () => {
153
123
  abortCtrl.abort();
154
124
  };
155
125
  }, [exercise]);
156
126
  /**
157
127
  * Last running score.
158
128
  */
159
- var renderRunningInfoLastSubmitScore = function renderRunningInfoLastSubmitScore() {
129
+ const renderRunningInfoLastSubmitScore = () => {
160
130
  if (exercise === null || exercise === void 0 ? void 0 : exercise.isNoSubmitGrade) {
161
131
  return null;
162
132
  }
163
133
  if (!course || course.courseType === enums.CourseType.Challenge) {
164
134
  return;
165
135
  }
166
- return jsxs(Fragment, {
167
- children: [jsxs(Flex, {
168
- column: true,
169
- justify: "center",
170
- children: [jsx(StyledRunnerInfoTitle, {
171
- children: intl.formatMessage({
172
- id: 'exerciseRunner.controller.runningInfo.lastSubmitScore'
173
- })
174
- }), jsx(StyledRunnerInfoContent, {
175
- children: typeof (exerciseLastSubmit === null || exerciseLastSubmit === void 0 ? void 0 : exerciseLastSubmit.score) === 'string' ? intl.formatMessage({
176
- id: 'exerciseRunner.controller.runningInfo.score'
177
- }, {
178
- score: exerciseLastSubmit.score
179
- }) : '--'
180
- })]
181
- }), jsx(StyledHr, {
182
- color: base.color.navy6,
183
- vertical: true,
184
- marginStart: "0.5rem",
185
- marginEnd: "0.5rem"
186
- })]
187
- });
136
+ return React.createElement(React.Fragment, null, React.createElement(Flex, {
137
+ column: true,
138
+ justify: "center"
139
+ }, React.createElement(StyledRunnerInfoTitle, null, intl.formatMessage({
140
+ id: 'exerciseRunner.controller.runningInfo.lastSubmitScore'
141
+ })), React.createElement(StyledRunnerInfoContent, null, typeof (exerciseLastSubmit === null || exerciseLastSubmit === void 0 ? void 0 : exerciseLastSubmit.score) === 'string' ? intl.formatMessage({
142
+ id: 'exerciseRunner.controller.runningInfo.score'
143
+ }, {
144
+ score: exerciseLastSubmit.score
145
+ }) : '--')), React.createElement(StyledHr, {
146
+ color: base.color.navy6,
147
+ vertical: true,
148
+ marginStart: "0.5rem",
149
+ marginEnd: "0.5rem"
150
+ }));
188
151
  };
189
152
  /**
190
153
  * Last submit time.
191
154
  */
192
- var renderRunningInfoLastRunningTime = function renderRunningInfoLastRunningTime() {
155
+ const renderRunningInfoLastRunningTime = () => {
193
156
  if (!course || (course === null || course === void 0 ? void 0 : course.courseType) === enums.CourseType.Challenge) {
194
157
  return;
195
158
  }
196
- return jsxs(Flex, {
159
+ return React.createElement(Flex, {
197
160
  column: true,
198
- justify: "center",
199
- children: [jsx(StyledRunnerInfoTitle, {
200
- children: (exercise === null || exercise === void 0 ? void 0 : exercise.isNoSubmitGrade) ? intl.formatMessage({
201
- id: 'exerciseRunner.controller.runningInfo.lastRunningDatetime'
202
- }) : intl.formatMessage({
203
- id: 'exerciseRunner.controller.runningInfo.lastSubmitDatetime'
204
- })
205
- }), jsx(StyledRunnerInfoContent, {
206
- children: (exercise === null || exercise === void 0 ? void 0 : exercise.isNoSubmitGrade) ?
207
- // last running
208
- (exerciseLastRunning === null || exerciseLastRunning === void 0 ? void 0 : exerciseLastRunning.createdDatetime) ? intl.formatDate(exerciseLastRunning.createdDatetime, {
209
- year: 'numeric',
210
- month: '2-digit',
211
- day: '2-digit',
212
- hour: '2-digit',
213
- minute: '2-digit',
214
- second: '2-digit'
215
- }) : '--' :
216
- // last submit
217
- (exerciseLastSubmit === null || exerciseLastSubmit === void 0 ? void 0 : exerciseLastSubmit.createdDatetime) ? intl.formatDate(exerciseLastSubmit.createdDatetime, {
218
- year: 'numeric',
219
- month: '2-digit',
220
- day: '2-digit',
221
- hour: '2-digit',
222
- minute: '2-digit',
223
- second: '2-digit'
224
- }) : '--'
225
- })]
226
- });
161
+ justify: "center"
162
+ }, React.createElement(StyledRunnerInfoTitle, null, (exercise === null || exercise === void 0 ? void 0 : exercise.isNoSubmitGrade) ? intl.formatMessage({
163
+ id: 'exerciseRunner.controller.runningInfo.lastRunningDatetime'
164
+ }) : intl.formatMessage({
165
+ id: 'exerciseRunner.controller.runningInfo.lastSubmitDatetime'
166
+ })), React.createElement(StyledRunnerInfoContent, null, (exercise === null || exercise === void 0 ? void 0 : exercise.isNoSubmitGrade) ?
167
+ // last running
168
+ (exerciseLastRunning === null || exerciseLastRunning === void 0 ? void 0 : exerciseLastRunning.createdDatetime) ? intl.formatDate(exerciseLastRunning.createdDatetime, {
169
+ year: 'numeric',
170
+ month: '2-digit',
171
+ day: '2-digit',
172
+ hour: '2-digit',
173
+ minute: '2-digit',
174
+ second: '2-digit'
175
+ }) : '--' :
176
+ // last submit
177
+ (exerciseLastSubmit === null || exerciseLastSubmit === void 0 ? void 0 : exerciseLastSubmit.createdDatetime) ? intl.formatDate(exerciseLastSubmit.createdDatetime, {
178
+ year: 'numeric',
179
+ month: '2-digit',
180
+ day: '2-digit',
181
+ hour: '2-digit',
182
+ minute: '2-digit',
183
+ second: '2-digit'
184
+ }) : '--'));
227
185
  };
228
186
  //
229
187
  //
@@ -232,9 +190,7 @@ var ExerciseRunnerControllerRunningInfo = function ExerciseRunnerControllerRunni
232
190
  if (isRunning) {
233
191
  return null;
234
192
  }
235
- return jsxs(Flex, {
236
- children: [renderRunningInfoLastSubmitScore(), renderRunningInfoLastRunningTime()]
237
- });
193
+ return React.createElement(Flex, null, renderRunningInfoLastSubmitScore(), renderRunningInfoLastRunningTime());
238
194
  };
239
195
 
240
196
  export { ExerciseRunnerControllerRunningInfo as default };
@@ -1,9 +1,9 @@
1
1
  import { base } from '@elice/design-tokens';
2
2
  import styled from 'styled-components';
3
3
 
4
- var ExerciseRunnerControllerStatusIndicator = styled.div.withConfig({
4
+ const ExerciseRunnerControllerStatusIndicator = styled.div.withConfig({
5
5
  componentId: "sc-15703mt-0"
6
- })(["margin-top:1px;margin-right:0.3rem;width:0.375rem;height:0.375rem;border-radius:50%;vertical-align:middle;background-color:", ";"], function (props) {
6
+ })(["margin-top:1px;margin-right:0.3rem;width:0.375rem;height:0.375rem;border-radius:50%;vertical-align:middle;background-color:", ";"], props => {
7
7
  switch (props.status) {
8
8
  case 'success':
9
9
  return base.color.green8;
@@ -1,4 +1,4 @@
1
- import { jsxs, jsx } from 'react/jsx-runtime';
1
+ import React from 'react';
2
2
  import { Flex, Text } from '@elice/blocks';
3
3
  import { useRawEliceIntl } from '@elice/intl';
4
4
  import { EliceWebSocket } from '@elice/websocket';
@@ -11,16 +11,16 @@ import '../context/subjects.js';
11
11
  import '../context/ExerciseProvider.js';
12
12
  import ExerciseRunnerControllerStatusIndicator from './ExerciseRunnerControllerStatusIndicator.js';
13
13
 
14
- var StyledMessageWrapper = styled(Flex).withConfig({
14
+ const StyledMessageWrapper = styled(Flex).withConfig({
15
15
  componentId: "sc-1yqi8o2-0"
16
16
  })(["height:1rem;"]);
17
- var ExerciseRunnerControllerStatusMessage = function ExerciseRunnerControllerStatusMessage() {
18
- var intl = useRawEliceIntl();
19
- var websocketStatus = useRecoilValue(exerciseRunnerWebSocketStatusQuery);
17
+ const ExerciseRunnerControllerStatusMessage = () => {
18
+ const intl = useRawEliceIntl();
19
+ const websocketStatus = useRecoilValue(exerciseRunnerWebSocketStatusQuery);
20
20
  /**
21
21
  * Websocket state message.
22
22
  */
23
- var getWebsocketStateMessage = function getWebsocketStateMessage() {
23
+ const getWebsocketStateMessage = () => {
24
24
  switch (websocketStatus) {
25
25
  case EliceWebSocket.OPEN:
26
26
  return intl.formatMessage({
@@ -40,17 +40,15 @@ var ExerciseRunnerControllerStatusMessage = function ExerciseRunnerControllerSta
40
40
  //
41
41
  //
42
42
  //
43
- return jsxs(StyledMessageWrapper, {
44
- align: "center",
45
- children: [jsx(ExerciseRunnerControllerStatusIndicator, {
46
- status: websocketStatus === EliceWebSocket.OPEN ? 'success' : websocketStatus === EliceWebSocket.CLOSED ? 'error' : 'warning'
47
- }), jsx(Text, {
48
- role: "gray3",
49
- size: "tiny",
50
- bold: true,
51
- children: getWebsocketStateMessage()
52
- })]
53
- });
43
+ return React.createElement(StyledMessageWrapper, {
44
+ align: "center"
45
+ }, React.createElement(ExerciseRunnerControllerStatusIndicator, {
46
+ status: websocketStatus === EliceWebSocket.OPEN ? 'success' : websocketStatus === EliceWebSocket.CLOSED ? 'error' : 'warning'
47
+ }), React.createElement(Text, {
48
+ role: "gray3",
49
+ size: "tiny",
50
+ bold: true
51
+ }, getWebsocketStateMessage()));
54
52
  };
55
53
 
56
54
  export { ExerciseRunnerControllerStatusMessage as default };
@@ -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 { Text } from '@elice/blocks';
5
3
  import { base } from '@elice/design-tokens';
@@ -12,27 +10,22 @@ import '../context/recoilTypes.js';
12
10
  import '../context/subjects.js';
13
11
  import '../context/ExerciseProvider.js';
14
12
 
15
- var StyledControllerTimerText = styled(Text).withConfig({
13
+ const StyledControllerTimerText = styled(Text).withConfig({
16
14
  componentId: "sc-1ez8ns0-0"
17
15
  })(["margin-top:-3px;color:", ";"], base.color.secondary4);
18
- var ExerciseRunnerControllerTimer = function ExerciseRunnerControllerTimer() {
19
- var intl = useRawEliceIntl();
20
- var _React$useContext = React.useContext(ExerciseContext),
21
- materialExerciseId = _React$useContext.materialExerciseId;
22
- var exercise = useRecoilValue(exerciseState(materialExerciseId));
23
- var isRunning = useRecoilValue(exerciseRunnerRunningState);
24
- var _React$useState = React.useState(0),
25
- _React$useState2 = _slicedToArray(_React$useState, 2),
26
- exerciseTimeLimit = _React$useState2[0],
27
- setExerciseTimeLimit = _React$useState2[1];
28
- var _React$useState3 = React.useState(0),
29
- _React$useState4 = _slicedToArray(_React$useState3, 2),
30
- remainingTime = _React$useState4[0],
31
- setRemainingTime = _React$useState4[1];
16
+ const ExerciseRunnerControllerTimer = () => {
17
+ const intl = useRawEliceIntl();
18
+ const {
19
+ materialExerciseId
20
+ } = React.useContext(ExerciseContext);
21
+ const exercise = useRecoilValue(exerciseState(materialExerciseId));
22
+ const isRunning = useRecoilValue(exerciseRunnerRunningState);
23
+ const [exerciseTimeLimit, setExerciseTimeLimit] = React.useState(0);
24
+ const [remainingTime, setRemainingTime] = React.useState(0);
32
25
  //
33
26
  // Get time limit from exercise.
34
27
  //
35
- React.useEffect(function () {
28
+ React.useEffect(() => {
36
29
  var _a, _b;
37
30
  if (isRunning) {
38
31
  setExerciseTimeLimit((_b = (_a = exercise === null || exercise === void 0 ? void 0 : exercise.readyExerciseImage) === null || _a === void 0 ? void 0 : _a.timeLimit) !== null && _b !== void 0 ? _b : 0);
@@ -43,17 +36,17 @@ var ExerciseRunnerControllerTimer = function ExerciseRunnerControllerTimer() {
43
36
  //
44
37
  // Calculate remaining time.
45
38
  //
46
- React.useEffect(function () {
47
- var startTime = Date.now();
39
+ React.useEffect(() => {
40
+ const startTime = Date.now();
48
41
  setRemainingTime(exerciseTimeLimit);
49
- var interval = window.setInterval(function () {
50
- var newRemainingTime = exerciseTimeLimit - (Date.now() - startTime);
42
+ const interval = window.setInterval(() => {
43
+ const newRemainingTime = exerciseTimeLimit - (Date.now() - startTime);
51
44
  if (newRemainingTime < 0) {
52
45
  window.clearInterval(interval);
53
46
  }
54
47
  setRemainingTime(Math.max(newRemainingTime, 0));
55
48
  }, 100);
56
- return function () {
49
+ return () => {
57
50
  setRemainingTime(0);
58
51
  window.clearInterval(interval);
59
52
  };
@@ -64,14 +57,13 @@ var ExerciseRunnerControllerTimer = function ExerciseRunnerControllerTimer() {
64
57
  if (!remainingTime) {
65
58
  return null;
66
59
  }
67
- return jsx(StyledControllerTimerText, {
68
- size: "small",
69
- children: intl.formatMessage({
70
- id: 'exerciseRunner.controller.timer.runningRemainingTime'
71
- }, {
72
- remainingTime: new Date(remainingTime).toISOString().substr(14, 5)
73
- })
74
- });
60
+ return React.createElement(StyledControllerTimerText, {
61
+ size: "small"
62
+ }, intl.formatMessage({
63
+ id: 'exerciseRunner.controller.timer.runningRemainingTime'
64
+ }, {
65
+ remainingTime: new Date(remainingTime).toISOString().substr(14, 5)
66
+ }));
75
67
  };
76
68
 
77
69
  export { ExerciseRunnerControllerTimer as default };