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

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