@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,4 +1,3 @@
1
- import { slicedToArray as _slicedToArray, asyncToGenerator as _asyncToGenerator, regeneratorRuntime as _regeneratorRuntime, createForOfIteratorHelper as _createForOfIteratorHelper } from '../_virtual/_rollupPluginBabelHelpers.js';
2
1
  import { useRef, useState, useEffect } from 'react';
3
2
  import { usePrevious } from 'react-use';
4
3
  import { useRecoilState, useSetRecoilState } from 'recoil';
@@ -14,77 +13,60 @@ import { getArduinoBoardType, getFileContent, createArduinoUrl, getFQBN } from '
14
13
  //
15
14
  //
16
15
  //
17
- var AGENT_INIT_DELAY = 500;
18
- var AGENT_REDISCOVER_DELAY = 10000;
19
- var AGENT_CHECK_PING_INTERVAL = 2000;
16
+ const AGENT_INIT_DELAY = 500;
17
+ const AGENT_REDISCOVER_DELAY = 10000;
18
+ const AGENT_CHECK_PING_INTERVAL = 2000;
20
19
  //
21
20
  //
22
21
  //
23
- var useArduino = function useArduino(_ref) {
24
- var writeTerminal = _ref.writeTerminal;
25
- var _return = useRef({});
22
+ const useArduino = ({
23
+ writeTerminal
24
+ }) => {
25
+ const _return = useRef({});
26
26
  // ports
27
- var _useRecoilState = useRecoilState(exerciseArduinoPortsState),
28
- _useRecoilState2 = _slicedToArray(_useRecoilState, 2),
29
- ports = _useRecoilState2[0],
30
- setPorts = _useRecoilState2[1];
31
- var _useRecoilState3 = useRecoilState(exerciseArduinoOpenedPortNameState),
32
- _useRecoilState4 = _slicedToArray(_useRecoilState3, 2),
33
- openedPortName = _useRecoilState4[0],
34
- setOpenedPortName = _useRecoilState4[1];
27
+ const [ports, setPorts] = useRecoilState(exerciseArduinoPortsState);
28
+ const [openedPortName, setOpenedPortName] = useRecoilState(exerciseArduinoOpenedPortNameState);
35
29
  // connection state
36
- var setAgentConnectionStatus = useSetRecoilState(exerciseArduinoAgentConnectionState);
30
+ const setAgentConnectionStatus = useSetRecoilState(exerciseArduinoAgentConnectionState);
37
31
  // upload progress
38
- var _useRecoilState5 = useRecoilState(exerciseArduinoUploadProgressState),
39
- _useRecoilState6 = _slicedToArray(_useRecoilState5, 2),
40
- uploadProgress = _useRecoilState6[0],
41
- setUploadProgress = _useRecoilState6[1];
42
- var previousUploadProgress = usePrevious(uploadProgress);
32
+ const [uploadProgress, setUploadProgress] = useRecoilState(exerciseArduinoUploadProgressState);
33
+ const previousUploadProgress = usePrevious(uploadProgress);
43
34
  // preferences
44
- var _useRecoilState7 = useRecoilState(exerciseArduinoPreferenceState),
45
- _useRecoilState8 = _slicedToArray(_useRecoilState7, 2),
46
- preference = _useRecoilState8[0],
47
- setPreference = _useRecoilState8[1];
48
- var setOnSelectPort = useSetRecoilState(exerciseArduinoOnSelectPortState);
35
+ const [preference, setPreference] = useRecoilState(exerciseArduinoPreferenceState);
36
+ const setOnSelectPort = useSetRecoilState(exerciseArduinoOnSelectPortState);
49
37
  // internal state
50
- var state = useRef({
38
+ const state = useRef({
51
39
  openedPortName: null,
52
40
  uploadingPortName: null,
53
41
  ports: []
54
42
  });
55
- var socket = useRef(null);
56
- var pingInterval = useRef(null);
57
- var _useState = useState(false),
58
- _useState2 = _slicedToArray(_useState, 2),
59
- enabled = _useState2[0],
60
- setEnabled = _useState2[1];
61
- var _useState3 = useState(null),
62
- _useState4 = _slicedToArray(_useState3, 2),
63
- agentHttpPort = _useState4[0],
64
- setAgentHttpPort = _useState4[1];
43
+ const socket = useRef(null);
44
+ const pingInterval = useRef(null);
45
+ const [enabled, setEnabled] = useState(false);
46
+ const [agentHttpPort, setAgentHttpPort] = useState(null);
65
47
  /**
66
48
  * Discovers arduino agent and connects.
67
49
  */
68
- var init = function init() {
50
+ const init = () => {
69
51
  setEnabled(true);
70
52
  };
71
53
  /**
72
54
  * Closes all connection and destroys arduino agent.
73
55
  */
74
- var destroy = function destroy() {
56
+ const destroy = () => {
75
57
  setEnabled(false);
76
58
  };
77
59
  /**
78
60
  * Re-initializes arduino agent.
79
61
  */
80
- var reload = function reload() {
62
+ const reload = () => {
81
63
  setEnabled(false);
82
64
  setTimeout(init, 1000);
83
65
  };
84
66
  /**
85
67
  * Close port, websocket and clear the state.
86
68
  */
87
- var reset = function reset() {
69
+ const reset = () => {
88
70
  // close port
89
71
  closePort(state.current.openedPortName);
90
72
  // close websocket
@@ -105,19 +87,16 @@ var useArduino = function useArduino(_ref) {
105
87
  /**
106
88
  * Send command to arduino agent.
107
89
  */
108
- var send = function send(command) {
90
+ const send = (command, ...args) => {
109
91
  var _a, _b;
110
92
  if ((_a = socket.current) === null || _a === void 0 ? void 0 : _a.connected) {
111
- for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
112
- args[_key - 1] = arguments[_key];
113
- }
114
- (_b = socket.current) === null || _b === void 0 ? void 0 : _b.emit('command', [command].concat(args).join(' '));
93
+ (_b = socket.current) === null || _b === void 0 ? void 0 : _b.emit('command', [command, ...args].join(' '));
115
94
  }
116
95
  };
117
96
  /**
118
97
  * Send text to arduino agent.
119
98
  */
120
- var sendText = function sendText(text) {
99
+ const sendText = text => {
121
100
  if (state.current.openedPortName) {
122
101
  send('send', state.current.openedPortName, text);
123
102
  }
@@ -125,7 +104,7 @@ var useArduino = function useArduino(_ref) {
125
104
  /**
126
105
  * Open port.
127
106
  */
128
- var openPort = function openPort(portName) {
107
+ const openPort = portName => {
129
108
  if (portName) {
130
109
  setOpenedPortName(portName);
131
110
  send('open', portName, preference.baudRate);
@@ -134,7 +113,7 @@ var useArduino = function useArduino(_ref) {
134
113
  /**
135
114
  * Close port.
136
115
  */
137
- var closePort = function closePort(portName) {
116
+ const closePort = portName => {
138
117
  if (portName) {
139
118
  send('close', portName);
140
119
  }
@@ -142,60 +121,34 @@ var useArduino = function useArduino(_ref) {
142
121
  /**
143
122
  * Send list command to the agent.
144
123
  */
145
- var ping = /*#__PURE__*/function () {
146
- var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
147
- return _regeneratorRuntime().wrap(function _callee$(_context) {
148
- while (1) switch (_context.prev = _context.next) {
149
- case 0:
150
- if (agentHttpPort) {
151
- _context.next = 2;
152
- break;
153
- }
154
- return _context.abrupt("return");
155
- case 2:
156
- if (!state.current.uploadingPortName) {
157
- _context.next = 4;
158
- break;
159
- }
160
- return _context.abrupt("return");
161
- case 4:
162
- _context.prev = 4;
163
- _context.next = 7;
164
- return fetch(createArduinoUrl({
165
- protocol: 'http',
166
- pathname: '/info',
167
- port: agentHttpPort
168
- }));
169
- case 7:
170
- send('list');
171
- _context.next = 14;
172
- break;
173
- case 10:
174
- _context.prev = 10;
175
- _context.t0 = _context["catch"](4);
176
- // if ping fails, reconnect the agent.
177
- reload();
178
- setAgentConnectionStatus('reconnecting');
179
- case 14:
180
- case "end":
181
- return _context.stop();
182
- }
183
- }, _callee, null, [[4, 10]]);
184
- }));
185
- return function ping() {
186
- return _ref2.apply(this, arguments);
187
- };
188
- }();
124
+ const ping = async () => {
125
+ if (!agentHttpPort) {
126
+ return;
127
+ }
128
+ if (state.current.uploadingPortName) {
129
+ return;
130
+ }
131
+ try {
132
+ await fetch(createArduinoUrl({
133
+ protocol: 'http',
134
+ pathname: '/info',
135
+ port: agentHttpPort
136
+ }));
137
+ send('list');
138
+ } catch (_) {
139
+ // if ping fails, reconnect the agent.
140
+ reload();
141
+ setAgentConnectionStatus('reconnecting');
142
+ }
143
+ };
189
144
  /**
190
145
  * Upload hex file to the agent.
191
146
  */
192
- var uploadHexFile = function uploadHexFile(hexFile) {
147
+ const uploadHexFile = hexFile => {
193
148
  if (!agentHttpPort || !state.current.openedPortName) {
194
149
  return;
195
150
  }
196
- var port = state.current.ports.find(function (port) {
197
- return port.Name === state.current.openedPortName;
198
- });
151
+ const port = state.current.ports.find(port => port.Name === state.current.openedPortName);
199
152
  if (!port) {
200
153
  return;
201
154
  }
@@ -209,8 +162,8 @@ var useArduino = function useArduino(_ref) {
209
162
  closePort(state.current.openedPortName);
210
163
  }
211
164
  // get board type and content.
212
- var content = getFileContent(hexFile.data);
213
- var boradType = getArduinoBoardType(port);
165
+ const content = getFileContent(hexFile.data);
166
+ const boradType = getArduinoBoardType(port);
214
167
  if (!boradType) {
215
168
  return;
216
169
  }
@@ -235,18 +188,16 @@ var useArduino = function useArduino(_ref) {
235
188
  extrafiles: [],
236
189
  signature: AVR_SIGNATURE[boradType]
237
190
  })
238
- }).then(function (res) {
239
- return res.json();
240
- }).then(function () {
191
+ }).then(res => res.json()).then(() => {
241
192
  // no response (202 accepted)
242
- }).catch(function () {
193
+ }).catch(() => {
243
194
  //
244
195
  });
245
196
  };
246
197
  /**
247
198
  * Handler called when user (re-)selects arduino device.
248
199
  */
249
- var onSelectPort = function onSelectPort(name) {
200
+ const onSelectPort = name => {
250
201
  if (name === state.current.openedPortName) {
251
202
  return;
252
203
  }
@@ -260,7 +211,7 @@ var useArduino = function useArduino(_ref) {
260
211
  /**
261
212
  * Handle arduino agent websocket message.
262
213
  */
263
- var handleAgentMsg = function handleAgentMsg(msg) {
214
+ const handleAgentMsg = msg => {
264
215
  // Ports
265
216
  if ('Ports' in msg && msg.Network === false) {
266
217
  handleAgentMsgPorts(msg);
@@ -281,14 +232,12 @@ var useArduino = function useArduino(_ref) {
281
232
  /**
282
233
  * Handle arduino agent websocket message. (Ports)
283
234
  */
284
- var handleAgentMsgPorts = function handleAgentMsgPorts(msg) {
235
+ const handleAgentMsgPorts = msg => {
285
236
  setPorts(msg.Ports);
286
237
  // if port not opened, open new port.
287
238
  if (!state.current.openedPortName && !state.current.uploadingPortName) {
288
- var prefPort = msg.Ports.find(function (port) {
289
- return port.Name === preference.port;
290
- });
291
- var targetPort = prefPort ? prefPort :
239
+ const prefPort = msg.Ports.find(port => port.Name === preference.port);
240
+ const targetPort = prefPort ? prefPort :
292
241
  // if preference port not found, open first port.
293
242
  msg.Ports.length > 0 ? msg.Ports[0] : null;
294
243
  if (targetPort) {
@@ -299,15 +248,13 @@ var useArduino = function useArduino(_ref) {
299
248
  /**
300
249
  * Handle arduino agent websocket message. (Cmd)
301
250
  */
302
- var handleAgentMsgCmd = function handleAgentMsgCmd(msg) {
251
+ const handleAgentMsgCmd = msg => {
303
252
  switch (msg.Cmd) {
304
253
  case 'Open':
305
254
  setOpenedPortName(msg.Port);
306
- setPreference(function (prev) {
307
- return Object.assign(Object.assign({}, prev), {
308
- port: msg.Port
309
- });
310
- });
255
+ setPreference(prev => Object.assign(Object.assign({}, prev), {
256
+ port: msg.Port
257
+ }));
311
258
  break;
312
259
  case 'OpenFail':
313
260
  closePort(msg.Port);
@@ -320,7 +267,7 @@ var useArduino = function useArduino(_ref) {
320
267
  /**
321
268
  * Handle arduino agent websocket message. (ProgrammerStatus)
322
269
  */
323
- var handleAgentMsgProgram = function handleAgentMsgProgram(msg) {
270
+ const handleAgentMsgProgram = msg => {
324
271
  switch (msg.ProgrammerStatus) {
325
272
  case 'Starting':
326
273
  setUploadProgress('starting');
@@ -332,142 +279,81 @@ var useArduino = function useArduino(_ref) {
332
279
  setUploadProgress('done');
333
280
  openPort(state.current.uploadingPortName);
334
281
  state.current.uploadingPortName = null;
335
- window.setTimeout(function () {
336
- return setUploadProgress('ready');
337
- }, DISABLE_TIME_AFTER_UPLOAD);
282
+ window.setTimeout(() => setUploadProgress('ready'), DISABLE_TIME_AFTER_UPLOAD);
338
283
  return;
339
284
  case 'Error':
340
285
  setUploadProgress('error');
341
286
  openPort(state.current.uploadingPortName);
342
287
  state.current.uploadingPortName = null;
343
- window.setTimeout(function () {
344
- return setUploadProgress('ready');
345
- }, DISABLE_TIME_AFTER_UPLOAD);
288
+ window.setTimeout(() => setUploadProgress('ready'), DISABLE_TIME_AFTER_UPLOAD);
346
289
  return;
347
290
  }
348
291
  };
349
292
  /**
350
293
  * Handle arduino agent websocket message. (D)
351
294
  */
352
- var handleAgentMsgD = function handleAgentMsgD(msg) {
295
+ const handleAgentMsgD = msg => {
353
296
  writeTerminal(msg.D);
354
297
  };
355
298
  //
356
299
  // Sync `openedPortName` recoil state with internal ref.
357
300
  //
358
- useEffect(function () {
301
+ useEffect(() => {
359
302
  state.current.openedPortName = openedPortName;
360
303
  }, [openedPortName]);
361
304
  //
362
305
  // Sync `ports` recoil state with internal ref.
363
306
  //
364
- useEffect(function () {
307
+ useEffect(() => {
365
308
  state.current.ports = ports;
366
309
  }, [ports]);
367
310
  //
368
311
  // Discover arduino agent port.
369
312
  //
370
- useEffect(function () {
313
+ useEffect(() => {
371
314
  if (!enabled) {
372
315
  return;
373
316
  }
374
- var abortCtrl = new AbortController();
375
- var reconnectTimeout = null;
317
+ const abortCtrl = new AbortController();
318
+ let reconnectTimeout = null;
376
319
  /** Scan port. */
377
- var _scan = /*#__PURE__*/function () {
378
- var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
379
- var _iterator, _step, port;
380
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
381
- while (1) switch (_context2.prev = _context2.next) {
382
- case 0:
383
- _iterator = _createForOfIteratorHelper(ARDUINO_AGENT_PORTS);
384
- _context2.prev = 1;
385
- _iterator.s();
386
- case 3:
387
- if ((_step = _iterator.n()).done) {
388
- _context2.next = 17;
389
- break;
390
- }
391
- port = _step.value;
392
- _context2.prev = 5;
393
- _context2.next = 8;
394
- return fetch(createArduinoUrl({
395
- protocol: 'http',
396
- pathname: '/info',
397
- port: port
398
- }), {
399
- signal: abortCtrl.signal
400
- });
401
- case 8:
402
- return _context2.abrupt("return", port);
403
- case 11:
404
- _context2.prev = 11;
405
- _context2.t0 = _context2["catch"](5);
406
- if (!(_context2.t0.name === 'AbortError')) {
407
- _context2.next = 15;
408
- break;
409
- }
410
- throw _context2.t0;
411
- case 15:
412
- _context2.next = 3;
413
- break;
414
- case 17:
415
- _context2.next = 22;
416
- break;
417
- case 19:
418
- _context2.prev = 19;
419
- _context2.t1 = _context2["catch"](1);
420
- _iterator.e(_context2.t1);
421
- case 22:
422
- _context2.prev = 22;
423
- _iterator.f();
424
- return _context2.finish(22);
425
- case 25:
426
- return _context2.abrupt("return", null);
427
- case 26:
428
- case "end":
429
- return _context2.stop();
320
+ const _scan = async () => {
321
+ for (const port of ARDUINO_AGENT_PORTS) {
322
+ try {
323
+ await fetch(createArduinoUrl({
324
+ protocol: 'http',
325
+ pathname: '/info',
326
+ port
327
+ }), {
328
+ signal: abortCtrl.signal
329
+ });
330
+ return port;
331
+ } catch (err) {
332
+ // throw error on `AbortError`, to stop scan.
333
+ if (err.name === 'AbortError') {
334
+ throw err;
430
335
  }
431
- }, _callee2, null, [[1, 19, 22, 25], [5, 11]]);
432
- }));
433
- return function _scan() {
434
- return _ref3.apply(this, arguments);
435
- };
436
- }();
336
+ }
337
+ }
338
+ return null;
339
+ };
437
340
  /** Scan port to discover until found. */
438
- var _discover = /*#__PURE__*/function () {
439
- var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
440
- return _regeneratorRuntime().wrap(function _callee3$(_context3) {
441
- while (1) switch (_context3.prev = _context3.next) {
442
- case 0:
443
- void _scan().then(function (port) {
444
- // if port found, stop scanning and set port
445
- if (port) {
446
- setAgentHttpPort(port);
447
- }
448
- // or start scanning again
449
- else {
450
- reconnectTimeout = window.setTimeout(function () {
451
- return void _discover();
452
- }, AGENT_REDISCOVER_DELAY);
453
- }
454
- }).catch(function () {
455
- return void 0;
456
- });
457
- case 1:
458
- case "end":
459
- return _context3.stop();
460
- }
461
- }, _callee3);
462
- }));
463
- return function _discover() {
464
- return _ref4.apply(this, arguments);
465
- };
466
- }();
341
+ const _discover = async () => {
342
+ void _scan().then(port => {
343
+ // if port found, stop scanning and set port
344
+ if (port) {
345
+ setAgentHttpPort(port);
346
+ }
347
+ // or start scanning again
348
+ else {
349
+ reconnectTimeout = window.setTimeout(() => void _discover(), AGENT_REDISCOVER_DELAY);
350
+ }
351
+ }).catch(() => void 0);
352
+ };
467
353
  // start scanning...
468
354
  setAgentConnectionStatus('connecting');
469
355
  void _discover();
470
- return function () {
356
+ return () => {
471
357
  abortCtrl.abort();
472
358
  if (reconnectTimeout) {
473
359
  window.clearTimeout(reconnectTimeout);
@@ -480,65 +366,44 @@ var useArduino = function useArduino(_ref) {
480
366
  //
481
367
  // Initialize arduino agent websocket.
482
368
  //
483
- useEffect(function () {
369
+ useEffect(() => {
484
370
  if (!enabled || !agentHttpPort) {
485
371
  return;
486
372
  }
487
- var _init = /*#__PURE__*/function () {
488
- var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
489
- return _regeneratorRuntime().wrap(function _callee4$(_context4) {
490
- while (1) switch (_context4.prev = _context4.next) {
491
- case 0:
492
- _context4.next = 2;
493
- return new Promise(function (r) {
494
- return window.setTimeout(r, AGENT_INIT_DELAY);
495
- });
496
- case 2:
497
- setAgentConnectionStatus('connecting');
498
- // connect socket.io-client to the agent.
499
- socket.current = io(createArduinoUrl({
500
- protocol: 'ws',
501
- port: agentHttpPort
502
- }));
503
- // agent - on message
504
- socket.current.on('message', function (message) {
505
- try {
506
- var msg = JSON.parse(message);
507
- handleAgentMsg(msg);
508
- } catch (e) {
509
- // console.warn(e);
510
- }
511
- });
512
- // agent - on connect
513
- _context4.next = 7;
514
- return new Promise(function (resolve) {
515
- var _a;
516
- return (_a = socket.current) === null || _a === void 0 ? void 0 : _a.on('connect', resolve);
517
- }).then(ping).then(function () {
518
- var _a, _b, _c, _d, _e;
519
- (_a = socket.current) === null || _a === void 0 ? void 0 : _a.emit('command', 'downloadtool windows-drivers latest arduino keep');
520
- (_b = socket.current) === null || _b === void 0 ? void 0 : _b.emit('command', 'downloadtool bossac 1.7.0 arduino keep');
521
- (_c = socket.current) === null || _c === void 0 ? void 0 : _c.emit('command', 'downloadtool fwupdater latest arduino keep');
522
- (_d = socket.current) === null || _d === void 0 ? void 0 : _d.emit('command', 'downloadtool rp2040tools latest arduino keep');
523
- (_e = socket.current) === null || _e === void 0 ? void 0 : _e.emit('command', 'downloadtool avrdude 6.3.0-arduino15 arduino keep');
524
- });
525
- case 7:
526
- setAgentConnectionStatus('connected');
527
- pingInterval.current = window.setInterval(function () {
528
- return void ping();
529
- }, AGENT_CHECK_PING_INTERVAL);
530
- case 9:
531
- case "end":
532
- return _context4.stop();
533
- }
534
- }, _callee4);
373
+ const _init = async () => {
374
+ await new Promise(r => window.setTimeout(r, AGENT_INIT_DELAY));
375
+ setAgentConnectionStatus('connecting');
376
+ // connect socket.io-client to the agent.
377
+ socket.current = io(createArduinoUrl({
378
+ protocol: 'ws',
379
+ port: agentHttpPort
535
380
  }));
536
- return function _init() {
537
- return _ref5.apply(this, arguments);
538
- };
539
- }();
381
+ // agent - on message
382
+ socket.current.on('message', message => {
383
+ try {
384
+ const msg = JSON.parse(message);
385
+ handleAgentMsg(msg);
386
+ } catch (e) {
387
+ // console.warn(e);
388
+ }
389
+ });
390
+ // agent - on connect
391
+ await new Promise(resolve => {
392
+ var _a;
393
+ return (_a = socket.current) === null || _a === void 0 ? void 0 : _a.on('connect', resolve);
394
+ }).then(ping).then(() => {
395
+ var _a, _b, _c, _d, _e;
396
+ (_a = socket.current) === null || _a === void 0 ? void 0 : _a.emit('command', 'downloadtool windows-drivers latest arduino keep');
397
+ (_b = socket.current) === null || _b === void 0 ? void 0 : _b.emit('command', 'downloadtool bossac 1.7.0 arduino keep');
398
+ (_c = socket.current) === null || _c === void 0 ? void 0 : _c.emit('command', 'downloadtool fwupdater latest arduino keep');
399
+ (_d = socket.current) === null || _d === void 0 ? void 0 : _d.emit('command', 'downloadtool rp2040tools latest arduino keep');
400
+ (_e = socket.current) === null || _e === void 0 ? void 0 : _e.emit('command', 'downloadtool avrdude 6.3.0-arduino15 arduino keep');
401
+ });
402
+ setAgentConnectionStatus('connected');
403
+ pingInterval.current = window.setInterval(() => void ping(), AGENT_CHECK_PING_INTERVAL);
404
+ };
540
405
  void _init();
541
- return function () {
406
+ return () => {
542
407
  reset();
543
408
  };
544
409
  },
@@ -549,12 +414,12 @@ var useArduino = function useArduino(_ref) {
549
414
  //
550
415
  // Print message to terminal according to the message type.
551
416
  //
552
- useEffect(function () {
417
+ useEffect(() => {
553
418
  if (previousUploadProgress === uploadProgress) {
554
419
  return;
555
420
  }
556
- var _write = function _write(text) {
557
- writeTerminal("\x1B[1m\x1B[38;5;221m".concat(text, "\x1B[0m"));
421
+ const _write = text => {
422
+ writeTerminal(`\x1b[1m\x1b[38;5;221m${text}\x1b[0m`);
558
423
  };
559
424
  switch (uploadProgress) {
560
425
  case 'receivedHex':
@@ -576,9 +441,7 @@ var useArduino = function useArduino(_ref) {
576
441
  },
577
442
  // eslint-disable-next-line react-hooks/exhaustive-deps
578
443
  [previousUploadProgress, uploadProgress]);
579
- setOnSelectPort(function () {
580
- return onSelectPort;
581
- });
444
+ setOnSelectPort(() => onSelectPort);
582
445
  //
583
446
  //
584
447
  //