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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (459) hide show
  1. package/cjs/assets/empty.png.js +2 -1
  2. package/cjs/components/material-exercise/MaterialExercise.d.ts +1 -1
  3. package/cjs/components/material-exercise/MaterialExercise.js +75 -111
  4. package/cjs/components/material-exercise/MaterialExercise.styled.js +14 -18
  5. package/cjs/components/material-exercise/MaterialExerciseMobile.d.ts +1 -1
  6. package/cjs/components/material-exercise/MaterialExerciseMobile.js +7 -17
  7. package/cjs/components/material-exercise/context/ExerciseProvider.js +58 -68
  8. package/cjs/components/material-exercise/context/ExerciseProviderNoImage.js +30 -39
  9. package/cjs/components/material-exercise/context/context.js +1 -5
  10. package/cjs/components/material-exercise/context/recoil.js +293 -542
  11. package/cjs/components/material-exercise/context/subjects.js +4 -4
  12. package/cjs/components/material-exercise/context/types.d.ts +2 -2
  13. package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.js +78 -100
  14. package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.js +8 -12
  15. package/cjs/components/material-exercise/exercise-file/ExerciseFile.js +27 -30
  16. package/cjs/components/material-exercise/exercise-file-editor/ExerciseFileEditor.js +149 -225
  17. package/cjs/components/material-exercise/exercise-file-editor/ExerciseFileReadOnlyBanner.js +13 -20
  18. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabs.js +29 -49
  19. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.d.ts +2 -1
  20. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.js +4 -10
  21. package/cjs/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/ExerciseFileTabsFileTreeButton.js +36 -53
  22. package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTree.js +211 -353
  23. package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.d.ts +2 -1
  24. package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.js +4 -10
  25. package/cjs/components/material-exercise/exercise-file-viewer/ExerciseFileViewer.js +15 -18
  26. package/cjs/components/material-exercise/exercise-menu/ExerciseMenu.js +12 -21
  27. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.js +11 -12
  28. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.js +80 -123
  29. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuDropdown.js +67 -100
  30. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuReset.js +22 -40
  31. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.js +117 -144
  32. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.js +13 -17
  33. package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdown.js +19 -32
  34. package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.d.ts +2 -1
  35. package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.js +4 -10
  36. package/cjs/components/material-exercise/exercise-preview/ExercisePreview.js +24 -31
  37. package/cjs/components/material-exercise/exercise-preview/ExercisePreviewDisplayModeButton.js +6 -13
  38. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpane.js +35 -51
  39. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpaneEditorPerference.js +6 -14
  40. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpaneEnvironment.js +78 -90
  41. package/cjs/components/material-exercise/exercise-room/ExerciseRoom.js +12 -25
  42. package/cjs/components/material-exercise/exercise-room/ExerciseRoom.styled.js +12 -18
  43. package/cjs/components/material-exercise/exercise-room/ExerciseRoomDetail.js +349 -504
  44. package/cjs/components/material-exercise/exercise-room/ExerciseRoomList.js +132 -197
  45. package/cjs/components/material-exercise/exercise-room/helpers/exerciseRoomPermissionStringConvertor.js +2 -2
  46. package/cjs/components/material-exercise/exercise-runner/ExerciseRunner.js +142 -205
  47. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerContext.js +1 -5
  48. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerController.js +16 -25
  49. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.js +86 -118
  50. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.js +19 -33
  51. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js +82 -95
  52. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.js +52 -68
  53. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerRunningInfo.js +87 -136
  54. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusIndicator.js +2 -6
  55. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusMessage.js +15 -21
  56. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerTimer.js +23 -36
  57. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.js +248 -402
  58. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.styled.js +8 -12
  59. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistoryOutput.js +50 -74
  60. package/cjs/components/shared/exercise-menu-button/ExerciseMenuButton.js +23 -32
  61. package/cjs/components/shared/exercise-shimmer/ExerciseFileShimmer.js +38 -44
  62. package/cjs/components/shared/exercise-shimmer/ExerciseFileTabShimmer.js +20 -26
  63. package/cjs/components/shared/exercise-shimmer/ExerciseFileTabsShimmer.js +8 -14
  64. package/cjs/components/shared/exercise-shimmer/ExerciseFileTreeListItemShimmer.js +22 -28
  65. package/cjs/components/shared/exercise-shimmer/ExerciseFileTreeListShimmer.js +9 -24
  66. package/cjs/components/shared/exercise-version-list/ExerciseVersionList.js +5 -6
  67. package/cjs/components/shared/exercise-version-list/ExerciseVersionList.styled.js +1 -5
  68. package/cjs/components/shared/exercise-version-list/ExerciseVersionListItem.js +10 -10
  69. package/cjs/components/shared/exercise-version-list/ExerciseVersionListItem.styled.js +5 -13
  70. package/cjs/components/shared/file-icon/FileIcon.js +16 -23
  71. package/cjs/components/shared/file-tabs/FileTab.js +33 -47
  72. package/cjs/components/shared/file-tabs/FileTab.styled.js +15 -23
  73. package/cjs/components/shared/file-tabs/FileTabs.js +39 -66
  74. package/cjs/components/shared/file-tabs/FileTabs.styled.js +2 -6
  75. package/cjs/components/shared/file-tabs/util.js +14 -27
  76. package/cjs/components/shared/file-tree/FileTree.js +10 -20
  77. package/cjs/components/shared/file-tree/FileTreeConfig.js +40 -46
  78. package/cjs/components/shared/file-tree/FileTreeList.js +40 -43
  79. package/cjs/components/shared/file-tree/FileTreeListItemContent.js +99 -128
  80. package/cjs/components/shared/file-tree/FileTreeListItemContent.styled.js +21 -29
  81. package/cjs/components/shared/file-tree/FileTreeListItemContentInput.js +96 -106
  82. package/cjs/components/shared/file-tree/FileTreeListItemContentInput.styled.js +6 -10
  83. package/cjs/components/shared/file-tree/FileTreeListItemContentMenu.js +91 -133
  84. package/cjs/components/shared/file-tree/FileTreeListItems.js +137 -149
  85. package/cjs/components/shared/file-tree/FileTreeListItems.styled.js +2 -6
  86. package/cjs/components/shared/file-tree/FileTreeToolbar.styled.js +1 -5
  87. package/cjs/components/shared/file-tree/context/FileTreeContext.d.ts +1 -1
  88. package/cjs/components/shared/file-tree/context/FileTreeContext.js +79 -101
  89. package/cjs/components/shared/file-tree/file-tree-toolbar/FileTreeToolbar.js +54 -59
  90. package/cjs/components/shared/file-tree/utils/fileTreeFiles.js +20 -24
  91. package/cjs/components/shared/file-tree/utils/fileTreeGenerator.js +146 -193
  92. package/cjs/components/shared/file-tree/utils/fileTreeInput.js +0 -11
  93. package/cjs/components/shared/file-tree/utils/fileTreeItem.js +1 -1
  94. package/cjs/components/shared/file-tree/utils/fileTreePath.js +6 -5
  95. package/cjs/components/shared/file-viewer/FileViewer.js +46 -76
  96. package/cjs/components/shared/file-viewer/FileViewerCsv.js +167 -262
  97. package/cjs/components/shared/file-viewer/FileViewerImage.js +12 -16
  98. package/cjs/components/shared/file-viewer/FileViewerIpynb.js +11 -27
  99. package/cjs/components/shared/file-viewer/FileViewerNonViewable.js +47 -65
  100. package/cjs/components/shared/file-viewer/FileViewerText.js +11 -23
  101. package/cjs/components/shared/material-modal/MaterialModal.js +11 -20
  102. package/cjs/components/shared/material-modal/MaterialModal.styled.js +5 -9
  103. package/cjs/components/shared/monaco-editor/MonacoEditor.js +74 -102
  104. package/cjs/components/shared/monaco-editor/MonacoEditorLazy.js +7 -15
  105. package/cjs/components/shared/monaco-editor/MonacoEditorMobile.js +34 -49
  106. package/cjs/components/shared/monaco-editor/MonacoEditorPerferenceForm.js +194 -249
  107. package/cjs/components/shared/monaco-editor/constants/grammars/index.js +28 -82
  108. package/cjs/components/shared/monaco-editor/constants/monaco/preferences.js +5 -5
  109. package/cjs/components/shared/monaco-editor/constants/themes/index.js +17 -49
  110. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventChange.js +10 -11
  111. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventCursor.js +14 -15
  112. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventScroll.js +8 -9
  113. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoMarkers.js +30 -34
  114. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoOptions.js +7 -9
  115. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoTheme.js +6 -6
  116. package/cjs/components/shared/monaco-editor/editor-languages/css/formatter.js +10 -33
  117. package/cjs/components/shared/monaco-editor/editor-languages/css/index.js +2 -3
  118. package/cjs/components/shared/monaco-editor/editor-languages/html/formatter.js +10 -33
  119. package/cjs/components/shared/monaco-editor/editor-languages/html/index.js +2 -3
  120. package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/_helper.js +1 -1
  121. package/cjs/components/shared/monaco-editor/editor-languages/typescript/formatter.js +10 -37
  122. package/cjs/components/shared/monaco-editor/editor-languages/typescript/index.js +5 -6
  123. package/cjs/components/shared/monaco-editor/hooks/useEditorOptions.js +5 -11
  124. package/cjs/components/shared/monaco-editor/utils/emmet/abbreviationActions.js +12 -10
  125. package/cjs/components/shared/monaco-editor/utils/emmet/registerProvider.js +6 -12
  126. package/cjs/components/shared/monaco-editor/utils/grammar/index.js +24 -67
  127. package/cjs/components/shared/monaco-editor/utils/grammar/onigasm.js +6 -25
  128. package/cjs/components/shared/monaco-editor/utils/grammar/textmate.js +37 -70
  129. package/cjs/components/shared/monaco-editor/utils/monacoLanguage.js +7 -8
  130. package/cjs/components/shared/monaco-editor/utils/monacoPreference.js +4 -6
  131. package/cjs/components/shared/monaco-editor/utils/prettier/config.js +2 -2
  132. package/cjs/components/shared/monaco-editor/utils/prettier/index.js +7 -27
  133. package/cjs/components/shared/monaco-editor/utils/theme/convert.js +14 -24
  134. package/cjs/components/shared/monaco-editor/utils/theme/index.js +3 -22
  135. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursor.js +56 -77
  136. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorManager.js +68 -82
  137. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorWidget.js +93 -120
  138. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelection.js +132 -155
  139. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelectionManager.js +92 -104
  140. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/styles.js +2 -2
  141. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/configCompat.js +6 -1
  142. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/data.js +2 -2
  143. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/emmetHelper.js +158 -177
  144. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/utils.js +3 -3
  145. package/cjs/components/shared/no-vnc/NoVnc.js +78 -118
  146. package/cjs/components/shared/no-vnc/NoVncLazy.js +7 -15
  147. package/cjs/components/shared/preview-container/PreviewContainer.js +13 -18
  148. package/cjs/components/shared/web-browser/WebBrowser.js +52 -74
  149. package/cjs/components/shared/xterm/Xterm.js +57 -82
  150. package/cjs/components/shared/xterm/XtermLazy.js +7 -15
  151. package/cjs/constants/arduino.js +10 -10
  152. package/cjs/constants/color.js +1 -1
  153. package/cjs/constants/shortcutKeyMap.js +1 -3
  154. package/cjs/constants/stylesheets.js +5 -7
  155. package/cjs/hooks/useArduino.js +141 -282
  156. package/cjs/hooks/useExerciseFile.js +22 -24
  157. package/cjs/hooks/useExericseShortcut.js +4 -6
  158. package/cjs/hooks/useMaterialExerciseFileUrl.js +33 -55
  159. package/cjs/hooks/useRunnerRoomWebSocket.js +27 -51
  160. package/cjs/hooks/useStdioTextConcator.js +11 -15
  161. package/cjs/hooks/useStdioWebSocket.js +28 -32
  162. package/cjs/hooks/useUsercodeEditWebSocket.js +158 -238
  163. package/cjs/hooks/useUsercodeHistory.js +63 -115
  164. package/cjs/utils/arduino.js +11 -23
  165. package/cjs/utils/exerciseFile.js +10 -8
  166. package/cjs/utils/runner.js +17 -33
  167. package/es/assets/empty.png.js +2 -1
  168. package/es/components/material-exercise/MaterialExercise.d.ts +1 -1
  169. package/es/components/material-exercise/MaterialExercise.js +75 -107
  170. package/es/components/material-exercise/MaterialExercise.styled.js +14 -14
  171. package/es/components/material-exercise/MaterialExerciseMobile.d.ts +1 -1
  172. package/es/components/material-exercise/MaterialExerciseMobile.js +7 -13
  173. package/es/components/material-exercise/context/ExerciseProvider.js +58 -63
  174. package/es/components/material-exercise/context/ExerciseProviderNoImage.js +30 -35
  175. package/es/components/material-exercise/context/context.js +1 -1
  176. package/es/components/material-exercise/context/recoil.js +290 -535
  177. package/es/components/material-exercise/context/subjects.js +4 -4
  178. package/es/components/material-exercise/context/types.d.ts +2 -2
  179. package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.js +78 -95
  180. package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.js +8 -8
  181. package/es/components/material-exercise/exercise-file/ExerciseFile.js +27 -25
  182. package/es/components/material-exercise/exercise-file-editor/ExerciseFileEditor.js +149 -221
  183. package/es/components/material-exercise/exercise-file-editor/ExerciseFileReadOnlyBanner.js +13 -15
  184. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabs.js +29 -44
  185. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.d.ts +2 -1
  186. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.js +4 -6
  187. package/es/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/ExerciseFileTabsFileTreeButton.js +36 -48
  188. package/es/components/material-exercise/exercise-file-tree/ExerciseFileTree.js +211 -348
  189. package/es/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.d.ts +2 -1
  190. package/es/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.js +4 -6
  191. package/es/components/material-exercise/exercise-file-viewer/ExerciseFileViewer.js +15 -14
  192. package/es/components/material-exercise/exercise-menu/ExerciseMenu.js +12 -16
  193. package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.js +11 -12
  194. package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.js +80 -119
  195. package/es/components/material-exercise/exercise-menu/ExerciseMenuDropdown.js +67 -96
  196. package/es/components/material-exercise/exercise-menu/ExerciseMenuReset.js +23 -41
  197. package/es/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.js +120 -143
  198. package/es/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.js +13 -13
  199. package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdown.js +19 -28
  200. package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.d.ts +2 -1
  201. package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.js +4 -6
  202. package/es/components/material-exercise/exercise-preview/ExercisePreview.js +24 -26
  203. package/es/components/material-exercise/exercise-preview/ExercisePreviewDisplayModeButton.js +7 -14
  204. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpane.js +35 -47
  205. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpaneEditorPerference.js +6 -10
  206. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpaneEnvironment.js +78 -85
  207. package/es/components/material-exercise/exercise-room/ExerciseRoom.js +12 -21
  208. package/es/components/material-exercise/exercise-room/ExerciseRoom.styled.js +12 -14
  209. package/es/components/material-exercise/exercise-room/ExerciseRoomDetail.js +349 -498
  210. package/es/components/material-exercise/exercise-room/ExerciseRoomList.js +133 -193
  211. package/es/components/material-exercise/exercise-room/helpers/exerciseRoomPermissionStringConvertor.js +2 -2
  212. package/es/components/material-exercise/exercise-runner/ExerciseRunner.js +142 -200
  213. package/es/components/material-exercise/exercise-runner/ExerciseRunnerContext.js +1 -1
  214. package/es/components/material-exercise/exercise-runner/ExerciseRunnerController.js +16 -20
  215. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.js +85 -112
  216. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.js +20 -30
  217. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js +82 -90
  218. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.js +52 -63
  219. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerRunningInfo.js +87 -131
  220. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusIndicator.js +2 -2
  221. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusMessage.js +15 -17
  222. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerTimer.js +23 -31
  223. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.js +250 -399
  224. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.styled.js +8 -8
  225. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistoryOutput.js +49 -68
  226. package/es/components/shared/exercise-menu-button/ExerciseMenuButton.js +24 -29
  227. package/es/components/shared/exercise-shimmer/ExerciseFileShimmer.js +38 -40
  228. package/es/components/shared/exercise-shimmer/ExerciseFileTabShimmer.js +20 -22
  229. package/es/components/shared/exercise-shimmer/ExerciseFileTabsShimmer.js +8 -10
  230. package/es/components/shared/exercise-shimmer/ExerciseFileTreeListItemShimmer.js +22 -24
  231. package/es/components/shared/exercise-shimmer/ExerciseFileTreeListShimmer.js +9 -19
  232. package/es/components/shared/exercise-version-list/ExerciseVersionList.js +5 -6
  233. package/es/components/shared/exercise-version-list/ExerciseVersionList.styled.js +1 -1
  234. package/es/components/shared/exercise-version-list/ExerciseVersionListItem.js +10 -10
  235. package/es/components/shared/exercise-version-list/ExerciseVersionListItem.styled.js +5 -9
  236. package/es/components/shared/file-icon/FileIcon.js +16 -19
  237. package/es/components/shared/file-tabs/FileTab.js +33 -43
  238. package/es/components/shared/file-tabs/FileTab.styled.js +15 -19
  239. package/es/components/shared/file-tabs/FileTabs.js +40 -62
  240. package/es/components/shared/file-tabs/FileTabs.styled.js +2 -2
  241. package/es/components/shared/file-tabs/util.js +14 -27
  242. package/es/components/shared/file-tree/FileTree.js +10 -16
  243. package/es/components/shared/file-tree/FileTreeConfig.js +39 -39
  244. package/es/components/shared/file-tree/FileTreeList.js +40 -38
  245. package/es/components/shared/file-tree/FileTreeListItemContent.js +99 -124
  246. package/es/components/shared/file-tree/FileTreeListItemContent.styled.js +21 -25
  247. package/es/components/shared/file-tree/FileTreeListItemContentInput.js +96 -102
  248. package/es/components/shared/file-tree/FileTreeListItemContentInput.styled.js +6 -6
  249. package/es/components/shared/file-tree/FileTreeListItemContentMenu.js +91 -129
  250. package/es/components/shared/file-tree/FileTreeListItems.js +137 -149
  251. package/es/components/shared/file-tree/FileTreeListItems.styled.js +2 -2
  252. package/es/components/shared/file-tree/FileTreeToolbar.styled.js +1 -1
  253. package/es/components/shared/file-tree/context/FileTreeContext.d.ts +1 -1
  254. package/es/components/shared/file-tree/context/FileTreeContext.js +79 -97
  255. package/es/components/shared/file-tree/file-tree-toolbar/FileTreeToolbar.js +54 -55
  256. package/es/components/shared/file-tree/utils/fileTreeFiles.js +20 -20
  257. package/es/components/shared/file-tree/utils/fileTreeGenerator.js +146 -193
  258. package/es/components/shared/file-tree/utils/fileTreeInput.js +1 -11
  259. package/es/components/shared/file-tree/utils/fileTreeItem.js +1 -1
  260. package/es/components/shared/file-tree/utils/fileTreePath.js +6 -5
  261. package/es/components/shared/file-viewer/FileViewer.js +46 -69
  262. package/es/components/shared/file-viewer/FileViewerCsv.js +167 -257
  263. package/es/components/shared/file-viewer/FileViewerImage.js +12 -12
  264. package/es/components/shared/file-viewer/FileViewerIpynb.js +11 -21
  265. package/es/components/shared/file-viewer/FileViewerNonViewable.js +47 -60
  266. package/es/components/shared/file-viewer/FileViewerText.js +11 -19
  267. package/es/components/shared/material-modal/MaterialModal.js +11 -20
  268. package/es/components/shared/material-modal/MaterialModal.styled.js +5 -5
  269. package/es/components/shared/monaco-editor/MonacoEditor.js +72 -95
  270. package/es/components/shared/monaco-editor/MonacoEditorLazy.js +7 -11
  271. package/es/components/shared/monaco-editor/MonacoEditorMobile.js +32 -43
  272. package/es/components/shared/monaco-editor/MonacoEditorPerferenceForm.js +194 -244
  273. package/es/components/shared/monaco-editor/constants/grammars/index.js +28 -82
  274. package/es/components/shared/monaco-editor/constants/monaco/preferences.js +5 -5
  275. package/es/components/shared/monaco-editor/constants/themes/index.js +17 -49
  276. package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventChange.js +10 -11
  277. package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventCursor.js +14 -15
  278. package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventScroll.js +8 -9
  279. package/es/components/shared/monaco-editor/editor-hooks/useMonacoMarkers.js +30 -34
  280. package/es/components/shared/monaco-editor/editor-hooks/useMonacoOptions.js +7 -9
  281. package/es/components/shared/monaco-editor/editor-hooks/useMonacoTheme.js +6 -6
  282. package/es/components/shared/monaco-editor/editor-languages/css/formatter.js +10 -33
  283. package/es/components/shared/monaco-editor/editor-languages/html/formatter.js +10 -33
  284. package/es/components/shared/monaco-editor/editor-languages/typescript/dts/_helper.js +1 -1
  285. package/es/components/shared/monaco-editor/editor-languages/typescript/formatter.js +10 -37
  286. package/es/components/shared/monaco-editor/editor-languages/typescript/index.js +3 -3
  287. package/es/components/shared/monaco-editor/hooks/useEditorOptions.js +5 -11
  288. package/es/components/shared/monaco-editor/utils/emmet/abbreviationActions.js +12 -10
  289. package/es/components/shared/monaco-editor/utils/emmet/registerProvider.js +6 -12
  290. package/es/components/shared/monaco-editor/utils/grammar/index.js +24 -67
  291. package/es/components/shared/monaco-editor/utils/grammar/onigasm.js +6 -25
  292. package/es/components/shared/monaco-editor/utils/grammar/textmate.js +35 -67
  293. package/es/components/shared/monaco-editor/utils/monacoLanguage.js +5 -5
  294. package/es/components/shared/monaco-editor/utils/monacoPreference.js +4 -6
  295. package/es/components/shared/monaco-editor/utils/prettier/config.js +2 -2
  296. package/es/components/shared/monaco-editor/utils/prettier/index.js +7 -27
  297. package/es/components/shared/monaco-editor/utils/theme/convert.js +13 -19
  298. package/es/components/shared/monaco-editor/utils/theme/index.js +3 -22
  299. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursor.js +56 -77
  300. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorManager.js +68 -82
  301. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorWidget.js +93 -120
  302. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelection.js +130 -152
  303. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelectionManager.js +92 -104
  304. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/styles.js +2 -2
  305. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/configCompat.js +6 -1
  306. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/data.js +2 -2
  307. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/emmetHelper.js +156 -171
  308. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/utils.js +3 -3
  309. package/es/components/shared/no-vnc/NoVnc.js +71 -99
  310. package/es/components/shared/no-vnc/NoVncLazy.js +7 -11
  311. package/es/components/shared/preview-container/PreviewContainer.js +14 -15
  312. package/es/components/shared/web-browser/WebBrowser.js +52 -69
  313. package/es/components/shared/xterm/Xterm.js +57 -77
  314. package/es/components/shared/xterm/XtermLazy.js +7 -11
  315. package/es/constants/arduino.js +10 -10
  316. package/es/constants/color.js +1 -1
  317. package/es/constants/shortcutKeyMap.js +1 -3
  318. package/es/constants/stylesheets.js +5 -7
  319. package/es/hooks/useArduino.js +141 -278
  320. package/es/hooks/useExerciseFile.js +22 -24
  321. package/es/hooks/useExericseShortcut.js +4 -6
  322. package/es/hooks/useMaterialExerciseFileUrl.js +34 -52
  323. package/es/hooks/useRunnerRoomWebSocket.js +27 -51
  324. package/es/hooks/useStdioTextConcator.js +11 -11
  325. package/es/hooks/useStdioWebSocket.js +28 -32
  326. package/es/hooks/useUsercodeEditWebSocket.js +157 -232
  327. package/es/hooks/useUsercodeHistory.js +63 -115
  328. package/es/utils/arduino.js +12 -24
  329. package/es/utils/exerciseFile.js +10 -8
  330. package/es/utils/runner.js +17 -33
  331. package/package.json +15 -11
  332. package/cjs/_virtual/_rollupPluginBabelHelpers.js +0 -519
  333. package/cjs/components/index.js +0 -25
  334. package/cjs/components/locales/index.js +0 -13
  335. package/cjs/components/material-exercise/context/index.js +0 -57
  336. package/cjs/components/material-exercise/exercise-code-history/index.js +0 -7
  337. package/cjs/components/material-exercise/exercise-code-history/locales/index.js +0 -13
  338. package/cjs/components/material-exercise/exercise-file/index.js +0 -7
  339. package/cjs/components/material-exercise/exercise-file-editor/index.js +0 -7
  340. package/cjs/components/material-exercise/exercise-file-editor/locales/index.js +0 -13
  341. package/cjs/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/index.js +0 -7
  342. package/cjs/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/locales/index.js +0 -13
  343. package/cjs/components/material-exercise/exercise-file-tabs/index.js +0 -9
  344. package/cjs/components/material-exercise/exercise-file-tabs/locales/index.js +0 -13
  345. package/cjs/components/material-exercise/exercise-file-tree/index.js +0 -9
  346. package/cjs/components/material-exercise/exercise-file-tree/locales/index.js +0 -13
  347. package/cjs/components/material-exercise/exercise-file-viewer/index.js +0 -7
  348. package/cjs/components/material-exercise/exercise-menu/index.js +0 -7
  349. package/cjs/components/material-exercise/exercise-menu/locales/index.js +0 -13
  350. package/cjs/components/material-exercise/exercise-multilang-dropdown/index.js +0 -9
  351. package/cjs/components/material-exercise/exercise-preview/index.js +0 -7
  352. package/cjs/components/material-exercise/exercise-preview/locales/index.js +0 -13
  353. package/cjs/components/material-exercise/exercise-rightpane/index.js +0 -7
  354. package/cjs/components/material-exercise/exercise-rightpane/locales/index.js +0 -13
  355. package/cjs/components/material-exercise/exercise-room/helpers/index.js +0 -7
  356. package/cjs/components/material-exercise/exercise-room/index.js +0 -7
  357. package/cjs/components/material-exercise/exercise-room/locales/index.js +0 -13
  358. package/cjs/components/material-exercise/exercise-runner/index.js +0 -7
  359. package/cjs/components/material-exercise/exercise-runner/locales/index.js +0 -13
  360. package/cjs/components/material-exercise/exercise-submit-history/index.js +0 -7
  361. package/cjs/components/material-exercise/exercise-submit-history/locales/index.js +0 -13
  362. package/cjs/components/material-exercise/index.js +0 -9
  363. package/cjs/components/shared/exercise-menu-button/index.js +0 -7
  364. package/cjs/components/shared/exercise-shimmer/index.js +0 -15
  365. package/cjs/components/shared/exercise-version-list/index.js +0 -9
  366. package/cjs/components/shared/file-icon/index.js +0 -7
  367. package/cjs/components/shared/file-tabs/index.js +0 -7
  368. package/cjs/components/shared/file-tree/context/index.js +0 -9
  369. package/cjs/components/shared/file-tree/file-tree-toolbar/index.js +0 -7
  370. package/cjs/components/shared/file-tree/file-tree-toolbar/locales/index.js +0 -13
  371. package/cjs/components/shared/file-tree/index.js +0 -7
  372. package/cjs/components/shared/file-tree/locales/index.js +0 -13
  373. package/cjs/components/shared/file-tree/utils/index.js +0 -20
  374. package/cjs/components/shared/file-viewer/index.js +0 -7
  375. package/cjs/components/shared/file-viewer/locales/index.js +0 -21
  376. package/cjs/components/shared/material-modal/index.js +0 -7
  377. package/cjs/components/shared/monaco-editor/constants/index.js +0 -13
  378. package/cjs/components/shared/monaco-editor/constants/monaco/index.js +0 -11
  379. package/cjs/components/shared/monaco-editor/editor-hooks/index.js +0 -17
  380. package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/index.js +0 -11
  381. package/cjs/components/shared/monaco-editor/hooks/index.js +0 -7
  382. package/cjs/components/shared/monaco-editor/index.js +0 -21
  383. package/cjs/components/shared/monaco-editor/locales/index.js +0 -13
  384. package/cjs/components/shared/monaco-editor/utils/emmet/index.js +0 -9
  385. package/cjs/components/shared/monaco-editor/utils/index.js +0 -9
  386. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/index.js +0 -12
  387. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/index.js +0 -11
  388. package/cjs/components/shared/no-vnc/index.js +0 -7
  389. package/cjs/components/shared/preview-container/index.js +0 -9
  390. package/cjs/components/shared/web-browser/index.js +0 -7
  391. package/cjs/components/shared/xterm/index.js +0 -7
  392. package/cjs/components/shared/xterm/locales/index.js +0 -13
  393. package/cjs/constants/index.js +0 -7
  394. package/cjs/hooks/index.js +0 -20
  395. package/cjs/utils/index.js +0 -10
  396. package/es/_virtual/_rollupPluginBabelHelpers.js +0 -499
  397. package/es/components/index.js +0 -8
  398. package/es/components/locales/index.js +0 -4
  399. package/es/components/material-exercise/context/index.js +0 -5
  400. package/es/components/material-exercise/exercise-code-history/index.js +0 -1
  401. package/es/components/material-exercise/exercise-code-history/locales/index.js +0 -4
  402. package/es/components/material-exercise/exercise-file/index.js +0 -1
  403. package/es/components/material-exercise/exercise-file-editor/index.js +0 -1
  404. package/es/components/material-exercise/exercise-file-editor/locales/index.js +0 -4
  405. package/es/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/index.js +0 -1
  406. package/es/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/locales/index.js +0 -4
  407. package/es/components/material-exercise/exercise-file-tabs/index.js +0 -2
  408. package/es/components/material-exercise/exercise-file-tabs/locales/index.js +0 -4
  409. package/es/components/material-exercise/exercise-file-tree/index.js +0 -2
  410. package/es/components/material-exercise/exercise-file-tree/locales/index.js +0 -4
  411. package/es/components/material-exercise/exercise-file-viewer/index.js +0 -1
  412. package/es/components/material-exercise/exercise-menu/index.js +0 -1
  413. package/es/components/material-exercise/exercise-menu/locales/index.js +0 -4
  414. package/es/components/material-exercise/exercise-multilang-dropdown/index.js +0 -2
  415. package/es/components/material-exercise/exercise-preview/index.js +0 -1
  416. package/es/components/material-exercise/exercise-preview/locales/index.js +0 -4
  417. package/es/components/material-exercise/exercise-rightpane/index.js +0 -1
  418. package/es/components/material-exercise/exercise-rightpane/locales/index.js +0 -4
  419. package/es/components/material-exercise/exercise-room/helpers/index.js +0 -1
  420. package/es/components/material-exercise/exercise-room/index.js +0 -1
  421. package/es/components/material-exercise/exercise-room/locales/index.js +0 -4
  422. package/es/components/material-exercise/exercise-runner/index.js +0 -1
  423. package/es/components/material-exercise/exercise-runner/locales/index.js +0 -4
  424. package/es/components/material-exercise/exercise-submit-history/index.js +0 -1
  425. package/es/components/material-exercise/exercise-submit-history/locales/index.js +0 -4
  426. package/es/components/material-exercise/index.js +0 -2
  427. package/es/components/shared/exercise-menu-button/index.js +0 -1
  428. package/es/components/shared/exercise-shimmer/index.js +0 -5
  429. package/es/components/shared/exercise-version-list/index.js +0 -2
  430. package/es/components/shared/file-icon/index.js +0 -1
  431. package/es/components/shared/file-tabs/index.js +0 -1
  432. package/es/components/shared/file-tree/context/index.js +0 -1
  433. package/es/components/shared/file-tree/file-tree-toolbar/index.js +0 -1
  434. package/es/components/shared/file-tree/file-tree-toolbar/locales/index.js +0 -4
  435. package/es/components/shared/file-tree/index.js +0 -1
  436. package/es/components/shared/file-tree/locales/index.js +0 -4
  437. package/es/components/shared/file-tree/utils/index.js +0 -5
  438. package/es/components/shared/file-viewer/index.js +0 -1
  439. package/es/components/shared/file-viewer/locales/index.js +0 -8
  440. package/es/components/shared/material-modal/index.js +0 -1
  441. package/es/components/shared/monaco-editor/constants/index.js +0 -2
  442. package/es/components/shared/monaco-editor/constants/monaco/index.js +0 -1
  443. package/es/components/shared/monaco-editor/editor-hooks/index.js +0 -6
  444. package/es/components/shared/monaco-editor/editor-languages/typescript/dts/index.js +0 -3
  445. package/es/components/shared/monaco-editor/hooks/index.js +0 -1
  446. package/es/components/shared/monaco-editor/index.js +0 -6
  447. package/es/components/shared/monaco-editor/locales/index.js +0 -4
  448. package/es/components/shared/monaco-editor/utils/emmet/index.js +0 -1
  449. package/es/components/shared/monaco-editor/utils/index.js +0 -2
  450. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/index.js +0 -3
  451. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/index.js +0 -2
  452. package/es/components/shared/no-vnc/index.js +0 -1
  453. package/es/components/shared/preview-container/index.js +0 -1
  454. package/es/components/shared/web-browser/index.js +0 -1
  455. package/es/components/shared/xterm/index.js +0 -1
  456. package/es/components/shared/xterm/locales/index.js +0 -4
  457. package/es/constants/index.js +0 -1
  458. package/es/hooks/index.js +0 -7
  459. package/es/utils/index.js +0 -2
@@ -1,6 +1,5 @@
1
1
  'use strict';
2
2
 
3
- var _rollupPluginBabelHelpers = require('../_virtual/_rollupPluginBabelHelpers.js');
4
3
  var React = require('react');
5
4
  var reactUse = require('react-use');
6
5
  var recoil = require('recoil');
@@ -13,84 +12,63 @@ require('../components/material-exercise/context/ExerciseProvider.js');
13
12
  var arduino$1 = require('../constants/arduino.js');
14
13
  var arduino = require('../utils/arduino.js');
15
14
 
16
- function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
17
-
18
- var io__default = /*#__PURE__*/_interopDefaultCompat(io);
19
-
20
15
  //
21
16
  //
22
17
  //
23
- var AGENT_INIT_DELAY = 500;
24
- var AGENT_REDISCOVER_DELAY = 10000;
25
- var AGENT_CHECK_PING_INTERVAL = 2000;
18
+ const AGENT_INIT_DELAY = 500;
19
+ const AGENT_REDISCOVER_DELAY = 10000;
20
+ const AGENT_CHECK_PING_INTERVAL = 2000;
26
21
  //
27
22
  //
28
23
  //
29
- var useArduino = function useArduino(_ref) {
30
- var writeTerminal = _ref.writeTerminal;
31
- var _return = React.useRef({});
24
+ const useArduino = ({
25
+ writeTerminal
26
+ }) => {
27
+ const _return = React.useRef({});
32
28
  // ports
33
- var _useRecoilState = recoil.useRecoilState(recoil$1.exerciseArduinoPortsState),
34
- _useRecoilState2 = _rollupPluginBabelHelpers.slicedToArray(_useRecoilState, 2),
35
- ports = _useRecoilState2[0],
36
- setPorts = _useRecoilState2[1];
37
- var _useRecoilState3 = recoil.useRecoilState(recoil$1.exerciseArduinoOpenedPortNameState),
38
- _useRecoilState4 = _rollupPluginBabelHelpers.slicedToArray(_useRecoilState3, 2),
39
- openedPortName = _useRecoilState4[0],
40
- setOpenedPortName = _useRecoilState4[1];
29
+ const [ports, setPorts] = recoil.useRecoilState(recoil$1.exerciseArduinoPortsState);
30
+ const [openedPortName, setOpenedPortName] = recoil.useRecoilState(recoil$1.exerciseArduinoOpenedPortNameState);
41
31
  // connection state
42
- var setAgentConnectionStatus = recoil.useSetRecoilState(recoil$1.exerciseArduinoAgentConnectionState);
32
+ const setAgentConnectionStatus = recoil.useSetRecoilState(recoil$1.exerciseArduinoAgentConnectionState);
43
33
  // upload progress
44
- var _useRecoilState5 = recoil.useRecoilState(recoil$1.exerciseArduinoUploadProgressState),
45
- _useRecoilState6 = _rollupPluginBabelHelpers.slicedToArray(_useRecoilState5, 2),
46
- uploadProgress = _useRecoilState6[0],
47
- setUploadProgress = _useRecoilState6[1];
48
- var previousUploadProgress = reactUse.usePrevious(uploadProgress);
34
+ const [uploadProgress, setUploadProgress] = recoil.useRecoilState(recoil$1.exerciseArduinoUploadProgressState);
35
+ const previousUploadProgress = reactUse.usePrevious(uploadProgress);
49
36
  // preferences
50
- var _useRecoilState7 = recoil.useRecoilState(recoil$1.exerciseArduinoPreferenceState),
51
- _useRecoilState8 = _rollupPluginBabelHelpers.slicedToArray(_useRecoilState7, 2),
52
- preference = _useRecoilState8[0],
53
- setPreference = _useRecoilState8[1];
54
- var setOnSelectPort = recoil.useSetRecoilState(recoil$1.exerciseArduinoOnSelectPortState);
37
+ const [preference, setPreference] = recoil.useRecoilState(recoil$1.exerciseArduinoPreferenceState);
38
+ const setOnSelectPort = recoil.useSetRecoilState(recoil$1.exerciseArduinoOnSelectPortState);
55
39
  // internal state
56
- var state = React.useRef({
40
+ const state = React.useRef({
57
41
  openedPortName: null,
58
42
  uploadingPortName: null,
59
43
  ports: []
60
44
  });
61
- var socket = React.useRef(null);
62
- var pingInterval = React.useRef(null);
63
- var _useState = React.useState(false),
64
- _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
65
- enabled = _useState2[0],
66
- setEnabled = _useState2[1];
67
- var _useState3 = React.useState(null),
68
- _useState4 = _rollupPluginBabelHelpers.slicedToArray(_useState3, 2),
69
- agentHttpPort = _useState4[0],
70
- setAgentHttpPort = _useState4[1];
45
+ const socket = React.useRef(null);
46
+ const pingInterval = React.useRef(null);
47
+ const [enabled, setEnabled] = React.useState(false);
48
+ const [agentHttpPort, setAgentHttpPort] = React.useState(null);
71
49
  /**
72
50
  * Discovers arduino agent and connects.
73
51
  */
74
- var init = function init() {
52
+ const init = () => {
75
53
  setEnabled(true);
76
54
  };
77
55
  /**
78
56
  * Closes all connection and destroys arduino agent.
79
57
  */
80
- var destroy = function destroy() {
58
+ const destroy = () => {
81
59
  setEnabled(false);
82
60
  };
83
61
  /**
84
62
  * Re-initializes arduino agent.
85
63
  */
86
- var reload = function reload() {
64
+ const reload = () => {
87
65
  setEnabled(false);
88
66
  setTimeout(init, 1000);
89
67
  };
90
68
  /**
91
69
  * Close port, websocket and clear the state.
92
70
  */
93
- var reset = function reset() {
71
+ const reset = () => {
94
72
  // close port
95
73
  closePort(state.current.openedPortName);
96
74
  // close websocket
@@ -111,19 +89,16 @@ var useArduino = function useArduino(_ref) {
111
89
  /**
112
90
  * Send command to arduino agent.
113
91
  */
114
- var send = function send(command) {
92
+ const send = (command, ...args) => {
115
93
  var _a, _b;
116
94
  if ((_a = socket.current) === null || _a === void 0 ? void 0 : _a.connected) {
117
- for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
118
- args[_key - 1] = arguments[_key];
119
- }
120
- (_b = socket.current) === null || _b === void 0 ? void 0 : _b.emit('command', [command].concat(args).join(' '));
95
+ (_b = socket.current) === null || _b === void 0 ? void 0 : _b.emit('command', [command, ...args].join(' '));
121
96
  }
122
97
  };
123
98
  /**
124
99
  * Send text to arduino agent.
125
100
  */
126
- var sendText = function sendText(text) {
101
+ const sendText = text => {
127
102
  if (state.current.openedPortName) {
128
103
  send('send', state.current.openedPortName, text);
129
104
  }
@@ -131,7 +106,7 @@ var useArduino = function useArduino(_ref) {
131
106
  /**
132
107
  * Open port.
133
108
  */
134
- var openPort = function openPort(portName) {
109
+ const openPort = portName => {
135
110
  if (portName) {
136
111
  setOpenedPortName(portName);
137
112
  send('open', portName, preference.baudRate);
@@ -140,7 +115,7 @@ var useArduino = function useArduino(_ref) {
140
115
  /**
141
116
  * Close port.
142
117
  */
143
- var closePort = function closePort(portName) {
118
+ const closePort = portName => {
144
119
  if (portName) {
145
120
  send('close', portName);
146
121
  }
@@ -148,60 +123,34 @@ var useArduino = function useArduino(_ref) {
148
123
  /**
149
124
  * Send list command to the agent.
150
125
  */
151
- var ping = /*#__PURE__*/function () {
152
- var _ref2 = _rollupPluginBabelHelpers.asyncToGenerator( /*#__PURE__*/_rollupPluginBabelHelpers.regeneratorRuntime().mark(function _callee() {
153
- return _rollupPluginBabelHelpers.regeneratorRuntime().wrap(function _callee$(_context) {
154
- while (1) switch (_context.prev = _context.next) {
155
- case 0:
156
- if (agentHttpPort) {
157
- _context.next = 2;
158
- break;
159
- }
160
- return _context.abrupt("return");
161
- case 2:
162
- if (!state.current.uploadingPortName) {
163
- _context.next = 4;
164
- break;
165
- }
166
- return _context.abrupt("return");
167
- case 4:
168
- _context.prev = 4;
169
- _context.next = 7;
170
- return fetch(arduino.createArduinoUrl({
171
- protocol: 'http',
172
- pathname: '/info',
173
- port: agentHttpPort
174
- }));
175
- case 7:
176
- send('list');
177
- _context.next = 14;
178
- break;
179
- case 10:
180
- _context.prev = 10;
181
- _context.t0 = _context["catch"](4);
182
- // if ping fails, reconnect the agent.
183
- reload();
184
- setAgentConnectionStatus('reconnecting');
185
- case 14:
186
- case "end":
187
- return _context.stop();
188
- }
189
- }, _callee, null, [[4, 10]]);
190
- }));
191
- return function ping() {
192
- return _ref2.apply(this, arguments);
193
- };
194
- }();
126
+ const ping = async () => {
127
+ if (!agentHttpPort) {
128
+ return;
129
+ }
130
+ if (state.current.uploadingPortName) {
131
+ return;
132
+ }
133
+ try {
134
+ await fetch(arduino.createArduinoUrl({
135
+ protocol: 'http',
136
+ pathname: '/info',
137
+ port: agentHttpPort
138
+ }));
139
+ send('list');
140
+ } catch (_) {
141
+ // if ping fails, reconnect the agent.
142
+ reload();
143
+ setAgentConnectionStatus('reconnecting');
144
+ }
145
+ };
195
146
  /**
196
147
  * Upload hex file to the agent.
197
148
  */
198
- var uploadHexFile = function uploadHexFile(hexFile) {
149
+ const uploadHexFile = hexFile => {
199
150
  if (!agentHttpPort || !state.current.openedPortName) {
200
151
  return;
201
152
  }
202
- var port = state.current.ports.find(function (port) {
203
- return port.Name === state.current.openedPortName;
204
- });
153
+ const port = state.current.ports.find(port => port.Name === state.current.openedPortName);
205
154
  if (!port) {
206
155
  return;
207
156
  }
@@ -215,8 +164,8 @@ var useArduino = function useArduino(_ref) {
215
164
  closePort(state.current.openedPortName);
216
165
  }
217
166
  // get board type and content.
218
- var content = arduino.getFileContent(hexFile.data);
219
- var boradType = arduino.getArduinoBoardType(port);
167
+ const content = arduino.getFileContent(hexFile.data);
168
+ const boradType = arduino.getArduinoBoardType(port);
220
169
  if (!boradType) {
221
170
  return;
222
171
  }
@@ -241,18 +190,16 @@ var useArduino = function useArduino(_ref) {
241
190
  extrafiles: [],
242
191
  signature: arduino$1.AVR_SIGNATURE[boradType]
243
192
  })
244
- }).then(function (res) {
245
- return res.json();
246
- }).then(function () {
193
+ }).then(res => res.json()).then(() => {
247
194
  // no response (202 accepted)
248
- }).catch(function () {
195
+ }).catch(() => {
249
196
  //
250
197
  });
251
198
  };
252
199
  /**
253
200
  * Handler called when user (re-)selects arduino device.
254
201
  */
255
- var onSelectPort = function onSelectPort(name) {
202
+ const onSelectPort = name => {
256
203
  if (name === state.current.openedPortName) {
257
204
  return;
258
205
  }
@@ -266,7 +213,7 @@ var useArduino = function useArduino(_ref) {
266
213
  /**
267
214
  * Handle arduino agent websocket message.
268
215
  */
269
- var handleAgentMsg = function handleAgentMsg(msg) {
216
+ const handleAgentMsg = msg => {
270
217
  // Ports
271
218
  if ('Ports' in msg && msg.Network === false) {
272
219
  handleAgentMsgPorts(msg);
@@ -287,14 +234,12 @@ var useArduino = function useArduino(_ref) {
287
234
  /**
288
235
  * Handle arduino agent websocket message. (Ports)
289
236
  */
290
- var handleAgentMsgPorts = function handleAgentMsgPorts(msg) {
237
+ const handleAgentMsgPorts = msg => {
291
238
  setPorts(msg.Ports);
292
239
  // if port not opened, open new port.
293
240
  if (!state.current.openedPortName && !state.current.uploadingPortName) {
294
- var prefPort = msg.Ports.find(function (port) {
295
- return port.Name === preference.port;
296
- });
297
- var targetPort = prefPort ? prefPort :
241
+ const prefPort = msg.Ports.find(port => port.Name === preference.port);
242
+ const targetPort = prefPort ? prefPort :
298
243
  // if preference port not found, open first port.
299
244
  msg.Ports.length > 0 ? msg.Ports[0] : null;
300
245
  if (targetPort) {
@@ -305,15 +250,13 @@ var useArduino = function useArduino(_ref) {
305
250
  /**
306
251
  * Handle arduino agent websocket message. (Cmd)
307
252
  */
308
- var handleAgentMsgCmd = function handleAgentMsgCmd(msg) {
253
+ const handleAgentMsgCmd = msg => {
309
254
  switch (msg.Cmd) {
310
255
  case 'Open':
311
256
  setOpenedPortName(msg.Port);
312
- setPreference(function (prev) {
313
- return Object.assign(Object.assign({}, prev), {
314
- port: msg.Port
315
- });
316
- });
257
+ setPreference(prev => Object.assign(Object.assign({}, prev), {
258
+ port: msg.Port
259
+ }));
317
260
  break;
318
261
  case 'OpenFail':
319
262
  closePort(msg.Port);
@@ -326,7 +269,7 @@ var useArduino = function useArduino(_ref) {
326
269
  /**
327
270
  * Handle arduino agent websocket message. (ProgrammerStatus)
328
271
  */
329
- var handleAgentMsgProgram = function handleAgentMsgProgram(msg) {
272
+ const handleAgentMsgProgram = msg => {
330
273
  switch (msg.ProgrammerStatus) {
331
274
  case 'Starting':
332
275
  setUploadProgress('starting');
@@ -338,142 +281,81 @@ var useArduino = function useArduino(_ref) {
338
281
  setUploadProgress('done');
339
282
  openPort(state.current.uploadingPortName);
340
283
  state.current.uploadingPortName = null;
341
- window.setTimeout(function () {
342
- return setUploadProgress('ready');
343
- }, arduino$1.DISABLE_TIME_AFTER_UPLOAD);
284
+ window.setTimeout(() => setUploadProgress('ready'), arduino$1.DISABLE_TIME_AFTER_UPLOAD);
344
285
  return;
345
286
  case 'Error':
346
287
  setUploadProgress('error');
347
288
  openPort(state.current.uploadingPortName);
348
289
  state.current.uploadingPortName = null;
349
- window.setTimeout(function () {
350
- return setUploadProgress('ready');
351
- }, arduino$1.DISABLE_TIME_AFTER_UPLOAD);
290
+ window.setTimeout(() => setUploadProgress('ready'), arduino$1.DISABLE_TIME_AFTER_UPLOAD);
352
291
  return;
353
292
  }
354
293
  };
355
294
  /**
356
295
  * Handle arduino agent websocket message. (D)
357
296
  */
358
- var handleAgentMsgD = function handleAgentMsgD(msg) {
297
+ const handleAgentMsgD = msg => {
359
298
  writeTerminal(msg.D);
360
299
  };
361
300
  //
362
301
  // Sync `openedPortName` recoil state with internal ref.
363
302
  //
364
- React.useEffect(function () {
303
+ React.useEffect(() => {
365
304
  state.current.openedPortName = openedPortName;
366
305
  }, [openedPortName]);
367
306
  //
368
307
  // Sync `ports` recoil state with internal ref.
369
308
  //
370
- React.useEffect(function () {
309
+ React.useEffect(() => {
371
310
  state.current.ports = ports;
372
311
  }, [ports]);
373
312
  //
374
313
  // Discover arduino agent port.
375
314
  //
376
- React.useEffect(function () {
315
+ React.useEffect(() => {
377
316
  if (!enabled) {
378
317
  return;
379
318
  }
380
- var abortCtrl = new AbortController();
381
- var reconnectTimeout = null;
319
+ const abortCtrl = new AbortController();
320
+ let reconnectTimeout = null;
382
321
  /** Scan port. */
383
- var _scan = /*#__PURE__*/function () {
384
- var _ref3 = _rollupPluginBabelHelpers.asyncToGenerator( /*#__PURE__*/_rollupPluginBabelHelpers.regeneratorRuntime().mark(function _callee2() {
385
- var _iterator, _step, port;
386
- return _rollupPluginBabelHelpers.regeneratorRuntime().wrap(function _callee2$(_context2) {
387
- while (1) switch (_context2.prev = _context2.next) {
388
- case 0:
389
- _iterator = _rollupPluginBabelHelpers.createForOfIteratorHelper(arduino$1.ARDUINO_AGENT_PORTS);
390
- _context2.prev = 1;
391
- _iterator.s();
392
- case 3:
393
- if ((_step = _iterator.n()).done) {
394
- _context2.next = 17;
395
- break;
396
- }
397
- port = _step.value;
398
- _context2.prev = 5;
399
- _context2.next = 8;
400
- return fetch(arduino.createArduinoUrl({
401
- protocol: 'http',
402
- pathname: '/info',
403
- port: port
404
- }), {
405
- signal: abortCtrl.signal
406
- });
407
- case 8:
408
- return _context2.abrupt("return", port);
409
- case 11:
410
- _context2.prev = 11;
411
- _context2.t0 = _context2["catch"](5);
412
- if (!(_context2.t0.name === 'AbortError')) {
413
- _context2.next = 15;
414
- break;
415
- }
416
- throw _context2.t0;
417
- case 15:
418
- _context2.next = 3;
419
- break;
420
- case 17:
421
- _context2.next = 22;
422
- break;
423
- case 19:
424
- _context2.prev = 19;
425
- _context2.t1 = _context2["catch"](1);
426
- _iterator.e(_context2.t1);
427
- case 22:
428
- _context2.prev = 22;
429
- _iterator.f();
430
- return _context2.finish(22);
431
- case 25:
432
- return _context2.abrupt("return", null);
433
- case 26:
434
- case "end":
435
- return _context2.stop();
322
+ const _scan = async () => {
323
+ for (const port of arduino$1.ARDUINO_AGENT_PORTS) {
324
+ try {
325
+ await fetch(arduino.createArduinoUrl({
326
+ protocol: 'http',
327
+ pathname: '/info',
328
+ port
329
+ }), {
330
+ signal: abortCtrl.signal
331
+ });
332
+ return port;
333
+ } catch (err) {
334
+ // throw error on `AbortError`, to stop scan.
335
+ if (err.name === 'AbortError') {
336
+ throw err;
436
337
  }
437
- }, _callee2, null, [[1, 19, 22, 25], [5, 11]]);
438
- }));
439
- return function _scan() {
440
- return _ref3.apply(this, arguments);
441
- };
442
- }();
338
+ }
339
+ }
340
+ return null;
341
+ };
443
342
  /** Scan port to discover until found. */
444
- var _discover = /*#__PURE__*/function () {
445
- var _ref4 = _rollupPluginBabelHelpers.asyncToGenerator( /*#__PURE__*/_rollupPluginBabelHelpers.regeneratorRuntime().mark(function _callee3() {
446
- return _rollupPluginBabelHelpers.regeneratorRuntime().wrap(function _callee3$(_context3) {
447
- while (1) switch (_context3.prev = _context3.next) {
448
- case 0:
449
- void _scan().then(function (port) {
450
- // if port found, stop scanning and set port
451
- if (port) {
452
- setAgentHttpPort(port);
453
- }
454
- // or start scanning again
455
- else {
456
- reconnectTimeout = window.setTimeout(function () {
457
- return void _discover();
458
- }, AGENT_REDISCOVER_DELAY);
459
- }
460
- }).catch(function () {
461
- return void 0;
462
- });
463
- case 1:
464
- case "end":
465
- return _context3.stop();
466
- }
467
- }, _callee3);
468
- }));
469
- return function _discover() {
470
- return _ref4.apply(this, arguments);
471
- };
472
- }();
343
+ const _discover = async () => {
344
+ void _scan().then(port => {
345
+ // if port found, stop scanning and set port
346
+ if (port) {
347
+ setAgentHttpPort(port);
348
+ }
349
+ // or start scanning again
350
+ else {
351
+ reconnectTimeout = window.setTimeout(() => void _discover(), AGENT_REDISCOVER_DELAY);
352
+ }
353
+ }).catch(() => void 0);
354
+ };
473
355
  // start scanning...
474
356
  setAgentConnectionStatus('connecting');
475
357
  void _discover();
476
- return function () {
358
+ return () => {
477
359
  abortCtrl.abort();
478
360
  if (reconnectTimeout) {
479
361
  window.clearTimeout(reconnectTimeout);
@@ -486,65 +368,44 @@ var useArduino = function useArduino(_ref) {
486
368
  //
487
369
  // Initialize arduino agent websocket.
488
370
  //
489
- React.useEffect(function () {
371
+ React.useEffect(() => {
490
372
  if (!enabled || !agentHttpPort) {
491
373
  return;
492
374
  }
493
- var _init = /*#__PURE__*/function () {
494
- var _ref5 = _rollupPluginBabelHelpers.asyncToGenerator( /*#__PURE__*/_rollupPluginBabelHelpers.regeneratorRuntime().mark(function _callee4() {
495
- return _rollupPluginBabelHelpers.regeneratorRuntime().wrap(function _callee4$(_context4) {
496
- while (1) switch (_context4.prev = _context4.next) {
497
- case 0:
498
- _context4.next = 2;
499
- return new Promise(function (r) {
500
- return window.setTimeout(r, AGENT_INIT_DELAY);
501
- });
502
- case 2:
503
- setAgentConnectionStatus('connecting');
504
- // connect socket.io-client to the agent.
505
- socket.current = io__default.default(arduino.createArduinoUrl({
506
- protocol: 'ws',
507
- port: agentHttpPort
508
- }));
509
- // agent - on message
510
- socket.current.on('message', function (message) {
511
- try {
512
- var msg = JSON.parse(message);
513
- handleAgentMsg(msg);
514
- } catch (e) {
515
- // console.warn(e);
516
- }
517
- });
518
- // agent - on connect
519
- _context4.next = 7;
520
- return new Promise(function (resolve) {
521
- var _a;
522
- return (_a = socket.current) === null || _a === void 0 ? void 0 : _a.on('connect', resolve);
523
- }).then(ping).then(function () {
524
- var _a, _b, _c, _d, _e;
525
- (_a = socket.current) === null || _a === void 0 ? void 0 : _a.emit('command', 'downloadtool windows-drivers latest arduino keep');
526
- (_b = socket.current) === null || _b === void 0 ? void 0 : _b.emit('command', 'downloadtool bossac 1.7.0 arduino keep');
527
- (_c = socket.current) === null || _c === void 0 ? void 0 : _c.emit('command', 'downloadtool fwupdater latest arduino keep');
528
- (_d = socket.current) === null || _d === void 0 ? void 0 : _d.emit('command', 'downloadtool rp2040tools latest arduino keep');
529
- (_e = socket.current) === null || _e === void 0 ? void 0 : _e.emit('command', 'downloadtool avrdude 6.3.0-arduino15 arduino keep');
530
- });
531
- case 7:
532
- setAgentConnectionStatus('connected');
533
- pingInterval.current = window.setInterval(function () {
534
- return void ping();
535
- }, AGENT_CHECK_PING_INTERVAL);
536
- case 9:
537
- case "end":
538
- return _context4.stop();
539
- }
540
- }, _callee4);
375
+ const _init = async () => {
376
+ await new Promise(r => window.setTimeout(r, AGENT_INIT_DELAY));
377
+ setAgentConnectionStatus('connecting');
378
+ // connect socket.io-client to the agent.
379
+ socket.current = io(arduino.createArduinoUrl({
380
+ protocol: 'ws',
381
+ port: agentHttpPort
541
382
  }));
542
- return function _init() {
543
- return _ref5.apply(this, arguments);
544
- };
545
- }();
383
+ // agent - on message
384
+ socket.current.on('message', message => {
385
+ try {
386
+ const msg = JSON.parse(message);
387
+ handleAgentMsg(msg);
388
+ } catch (e) {
389
+ // console.warn(e);
390
+ }
391
+ });
392
+ // agent - on connect
393
+ await new Promise(resolve => {
394
+ var _a;
395
+ return (_a = socket.current) === null || _a === void 0 ? void 0 : _a.on('connect', resolve);
396
+ }).then(ping).then(() => {
397
+ var _a, _b, _c, _d, _e;
398
+ (_a = socket.current) === null || _a === void 0 ? void 0 : _a.emit('command', 'downloadtool windows-drivers latest arduino keep');
399
+ (_b = socket.current) === null || _b === void 0 ? void 0 : _b.emit('command', 'downloadtool bossac 1.7.0 arduino keep');
400
+ (_c = socket.current) === null || _c === void 0 ? void 0 : _c.emit('command', 'downloadtool fwupdater latest arduino keep');
401
+ (_d = socket.current) === null || _d === void 0 ? void 0 : _d.emit('command', 'downloadtool rp2040tools latest arduino keep');
402
+ (_e = socket.current) === null || _e === void 0 ? void 0 : _e.emit('command', 'downloadtool avrdude 6.3.0-arduino15 arduino keep');
403
+ });
404
+ setAgentConnectionStatus('connected');
405
+ pingInterval.current = window.setInterval(() => void ping(), AGENT_CHECK_PING_INTERVAL);
406
+ };
546
407
  void _init();
547
- return function () {
408
+ return () => {
548
409
  reset();
549
410
  };
550
411
  },
@@ -555,12 +416,12 @@ var useArduino = function useArduino(_ref) {
555
416
  //
556
417
  // Print message to terminal according to the message type.
557
418
  //
558
- React.useEffect(function () {
419
+ React.useEffect(() => {
559
420
  if (previousUploadProgress === uploadProgress) {
560
421
  return;
561
422
  }
562
- var _write = function _write(text) {
563
- writeTerminal("\x1B[1m\x1B[38;5;221m".concat(text, "\x1B[0m"));
423
+ const _write = text => {
424
+ writeTerminal(`\x1b[1m\x1b[38;5;221m${text}\x1b[0m`);
564
425
  };
565
426
  switch (uploadProgress) {
566
427
  case 'receivedHex':
@@ -582,9 +443,7 @@ var useArduino = function useArduino(_ref) {
582
443
  },
583
444
  // eslint-disable-next-line react-hooks/exhaustive-deps
584
445
  [previousUploadProgress, uploadProgress]);
585
- setOnSelectPort(function () {
586
- return onSelectPort;
587
- });
446
+ setOnSelectPort(() => onSelectPort);
588
447
  //
589
448
  //
590
449
  //