@elice/material-exercise 1.240718.2 → 1.240719.0

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
@@ -0,0 +1,20 @@
1
+ 'use strict';
2
+
3
+ var useArduino = require('./useArduino.js');
4
+ var useExerciseFile = require('./useExerciseFile.js');
5
+ var useExericseShortcut = require('./useExericseShortcut.js');
6
+ var useRunnerRoomWebSocket = require('./useRunnerRoomWebSocket.js');
7
+ var useStdioWebSocket = require('./useStdioWebSocket.js');
8
+ var useUsercodeHistory = require('./useUsercodeHistory.js');
9
+ var useUsercodeEditWebSocket = require('./useUsercodeEditWebSocket.js');
10
+
11
+
12
+
13
+ exports.useArduino = useArduino.useArduino;
14
+ exports.useExerciseFileEditable = useExerciseFile.useExerciseFileEditable;
15
+ exports.useExerciseFileResettable = useExerciseFile.useExerciseFileResettable;
16
+ exports.useExericseShortcut = useExericseShortcut.useExericseShortcut;
17
+ exports.useRunnerRoomWebSocket = useRunnerRoomWebSocket.useRunnerRoomWebSocket;
18
+ exports.useStdioWebSocket = useStdioWebSocket.useStdioWebSocket;
19
+ exports.useUsercodeHistory = useUsercodeHistory.useUsercodeHistory;
20
+ exports.useUsercodeEditWebSocket = useUsercodeEditWebSocket.useUsercodeEditWebSocket;
@@ -1,5 +1,6 @@
1
1
  'use strict';
2
2
 
3
+ var _rollupPluginBabelHelpers = require('../_virtual/_rollupPluginBabelHelpers.js');
3
4
  var React = require('react');
4
5
  var reactUse = require('react-use');
5
6
  var recoil = require('recoil');
@@ -12,63 +13,84 @@ require('../components/material-exercise/context/ExerciseProvider.js');
12
13
  var arduino$1 = require('../constants/arduino.js');
13
14
  var arduino = require('../utils/arduino.js');
14
15
 
16
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
17
+
18
+ var io__default = /*#__PURE__*/_interopDefaultCompat(io);
19
+
15
20
  //
16
21
  //
17
22
  //
18
- const AGENT_INIT_DELAY = 500;
19
- const AGENT_REDISCOVER_DELAY = 10000;
20
- const AGENT_CHECK_PING_INTERVAL = 2000;
23
+ var AGENT_INIT_DELAY = 500;
24
+ var AGENT_REDISCOVER_DELAY = 10000;
25
+ var AGENT_CHECK_PING_INTERVAL = 2000;
21
26
  //
22
27
  //
23
28
  //
24
- const useArduino = ({
25
- writeTerminal
26
- }) => {
27
- const _return = React.useRef({});
29
+ var useArduino = function useArduino(_ref) {
30
+ var writeTerminal = _ref.writeTerminal;
31
+ var _return = React.useRef({});
28
32
  // ports
29
- const [ports, setPorts] = recoil.useRecoilState(recoil$1.exerciseArduinoPortsState);
30
- const [openedPortName, setOpenedPortName] = recoil.useRecoilState(recoil$1.exerciseArduinoOpenedPortNameState);
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];
31
41
  // connection state
32
- const setAgentConnectionStatus = recoil.useSetRecoilState(recoil$1.exerciseArduinoAgentConnectionState);
42
+ var setAgentConnectionStatus = recoil.useSetRecoilState(recoil$1.exerciseArduinoAgentConnectionState);
33
43
  // upload progress
34
- const [uploadProgress, setUploadProgress] = recoil.useRecoilState(recoil$1.exerciseArduinoUploadProgressState);
35
- const previousUploadProgress = reactUse.usePrevious(uploadProgress);
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);
36
49
  // preferences
37
- const [preference, setPreference] = recoil.useRecoilState(recoil$1.exerciseArduinoPreferenceState);
38
- const setOnSelectPort = recoil.useSetRecoilState(recoil$1.exerciseArduinoOnSelectPortState);
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);
39
55
  // internal state
40
- const state = React.useRef({
56
+ var state = React.useRef({
41
57
  openedPortName: null,
42
58
  uploadingPortName: null,
43
59
  ports: []
44
60
  });
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);
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];
49
71
  /**
50
72
  * Discovers arduino agent and connects.
51
73
  */
52
- const init = () => {
74
+ var init = function init() {
53
75
  setEnabled(true);
54
76
  };
55
77
  /**
56
78
  * Closes all connection and destroys arduino agent.
57
79
  */
58
- const destroy = () => {
80
+ var destroy = function destroy() {
59
81
  setEnabled(false);
60
82
  };
61
83
  /**
62
84
  * Re-initializes arduino agent.
63
85
  */
64
- const reload = () => {
86
+ var reload = function reload() {
65
87
  setEnabled(false);
66
88
  setTimeout(init, 1000);
67
89
  };
68
90
  /**
69
91
  * Close port, websocket and clear the state.
70
92
  */
71
- const reset = () => {
93
+ var reset = function reset() {
72
94
  // close port
73
95
  closePort(state.current.openedPortName);
74
96
  // close websocket
@@ -89,16 +111,19 @@ const useArduino = ({
89
111
  /**
90
112
  * Send command to arduino agent.
91
113
  */
92
- const send = (command, ...args) => {
114
+ var send = function send(command) {
93
115
  var _a, _b;
94
116
  if ((_a = socket.current) === null || _a === void 0 ? void 0 : _a.connected) {
95
- (_b = socket.current) === null || _b === void 0 ? void 0 : _b.emit('command', [command, ...args].join(' '));
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(' '));
96
121
  }
97
122
  };
98
123
  /**
99
124
  * Send text to arduino agent.
100
125
  */
101
- const sendText = text => {
126
+ var sendText = function sendText(text) {
102
127
  if (state.current.openedPortName) {
103
128
  send('send', state.current.openedPortName, text);
104
129
  }
@@ -106,7 +131,7 @@ const useArduino = ({
106
131
  /**
107
132
  * Open port.
108
133
  */
109
- const openPort = portName => {
134
+ var openPort = function openPort(portName) {
110
135
  if (portName) {
111
136
  setOpenedPortName(portName);
112
137
  send('open', portName, preference.baudRate);
@@ -115,7 +140,7 @@ const useArduino = ({
115
140
  /**
116
141
  * Close port.
117
142
  */
118
- const closePort = portName => {
143
+ var closePort = function closePort(portName) {
119
144
  if (portName) {
120
145
  send('close', portName);
121
146
  }
@@ -123,34 +148,60 @@ const useArduino = ({
123
148
  /**
124
149
  * Send list command to the agent.
125
150
  */
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
- };
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
+ }();
146
195
  /**
147
196
  * Upload hex file to the agent.
148
197
  */
149
- const uploadHexFile = hexFile => {
198
+ var uploadHexFile = function uploadHexFile(hexFile) {
150
199
  if (!agentHttpPort || !state.current.openedPortName) {
151
200
  return;
152
201
  }
153
- const port = state.current.ports.find(port => port.Name === state.current.openedPortName);
202
+ var port = state.current.ports.find(function (port) {
203
+ return port.Name === state.current.openedPortName;
204
+ });
154
205
  if (!port) {
155
206
  return;
156
207
  }
@@ -164,8 +215,8 @@ const useArduino = ({
164
215
  closePort(state.current.openedPortName);
165
216
  }
166
217
  // get board type and content.
167
- const content = arduino.getFileContent(hexFile.data);
168
- const boradType = arduino.getArduinoBoardType(port);
218
+ var content = arduino.getFileContent(hexFile.data);
219
+ var boradType = arduino.getArduinoBoardType(port);
169
220
  if (!boradType) {
170
221
  return;
171
222
  }
@@ -190,16 +241,18 @@ const useArduino = ({
190
241
  extrafiles: [],
191
242
  signature: arduino$1.AVR_SIGNATURE[boradType]
192
243
  })
193
- }).then(res => res.json()).then(() => {
244
+ }).then(function (res) {
245
+ return res.json();
246
+ }).then(function () {
194
247
  // no response (202 accepted)
195
- }).catch(() => {
248
+ }).catch(function () {
196
249
  //
197
250
  });
198
251
  };
199
252
  /**
200
253
  * Handler called when user (re-)selects arduino device.
201
254
  */
202
- const onSelectPort = name => {
255
+ var onSelectPort = function onSelectPort(name) {
203
256
  if (name === state.current.openedPortName) {
204
257
  return;
205
258
  }
@@ -213,7 +266,7 @@ const useArduino = ({
213
266
  /**
214
267
  * Handle arduino agent websocket message.
215
268
  */
216
- const handleAgentMsg = msg => {
269
+ var handleAgentMsg = function handleAgentMsg(msg) {
217
270
  // Ports
218
271
  if ('Ports' in msg && msg.Network === false) {
219
272
  handleAgentMsgPorts(msg);
@@ -234,12 +287,14 @@ const useArduino = ({
234
287
  /**
235
288
  * Handle arduino agent websocket message. (Ports)
236
289
  */
237
- const handleAgentMsgPorts = msg => {
290
+ var handleAgentMsgPorts = function handleAgentMsgPorts(msg) {
238
291
  setPorts(msg.Ports);
239
292
  // if port not opened, open new port.
240
293
  if (!state.current.openedPortName && !state.current.uploadingPortName) {
241
- const prefPort = msg.Ports.find(port => port.Name === preference.port);
242
- const targetPort = prefPort ? prefPort :
294
+ var prefPort = msg.Ports.find(function (port) {
295
+ return port.Name === preference.port;
296
+ });
297
+ var targetPort = prefPort ? prefPort :
243
298
  // if preference port not found, open first port.
244
299
  msg.Ports.length > 0 ? msg.Ports[0] : null;
245
300
  if (targetPort) {
@@ -250,13 +305,15 @@ const useArduino = ({
250
305
  /**
251
306
  * Handle arduino agent websocket message. (Cmd)
252
307
  */
253
- const handleAgentMsgCmd = msg => {
308
+ var handleAgentMsgCmd = function handleAgentMsgCmd(msg) {
254
309
  switch (msg.Cmd) {
255
310
  case 'Open':
256
311
  setOpenedPortName(msg.Port);
257
- setPreference(prev => Object.assign(Object.assign({}, prev), {
258
- port: msg.Port
259
- }));
312
+ setPreference(function (prev) {
313
+ return Object.assign(Object.assign({}, prev), {
314
+ port: msg.Port
315
+ });
316
+ });
260
317
  break;
261
318
  case 'OpenFail':
262
319
  closePort(msg.Port);
@@ -269,7 +326,7 @@ const useArduino = ({
269
326
  /**
270
327
  * Handle arduino agent websocket message. (ProgrammerStatus)
271
328
  */
272
- const handleAgentMsgProgram = msg => {
329
+ var handleAgentMsgProgram = function handleAgentMsgProgram(msg) {
273
330
  switch (msg.ProgrammerStatus) {
274
331
  case 'Starting':
275
332
  setUploadProgress('starting');
@@ -281,81 +338,142 @@ const useArduino = ({
281
338
  setUploadProgress('done');
282
339
  openPort(state.current.uploadingPortName);
283
340
  state.current.uploadingPortName = null;
284
- window.setTimeout(() => setUploadProgress('ready'), arduino$1.DISABLE_TIME_AFTER_UPLOAD);
341
+ window.setTimeout(function () {
342
+ return setUploadProgress('ready');
343
+ }, arduino$1.DISABLE_TIME_AFTER_UPLOAD);
285
344
  return;
286
345
  case 'Error':
287
346
  setUploadProgress('error');
288
347
  openPort(state.current.uploadingPortName);
289
348
  state.current.uploadingPortName = null;
290
- window.setTimeout(() => setUploadProgress('ready'), arduino$1.DISABLE_TIME_AFTER_UPLOAD);
349
+ window.setTimeout(function () {
350
+ return setUploadProgress('ready');
351
+ }, arduino$1.DISABLE_TIME_AFTER_UPLOAD);
291
352
  return;
292
353
  }
293
354
  };
294
355
  /**
295
356
  * Handle arduino agent websocket message. (D)
296
357
  */
297
- const handleAgentMsgD = msg => {
358
+ var handleAgentMsgD = function handleAgentMsgD(msg) {
298
359
  writeTerminal(msg.D);
299
360
  };
300
361
  //
301
362
  // Sync `openedPortName` recoil state with internal ref.
302
363
  //
303
- React.useEffect(() => {
364
+ React.useEffect(function () {
304
365
  state.current.openedPortName = openedPortName;
305
366
  }, [openedPortName]);
306
367
  //
307
368
  // Sync `ports` recoil state with internal ref.
308
369
  //
309
- React.useEffect(() => {
370
+ React.useEffect(function () {
310
371
  state.current.ports = ports;
311
372
  }, [ports]);
312
373
  //
313
374
  // Discover arduino agent port.
314
375
  //
315
- React.useEffect(() => {
376
+ React.useEffect(function () {
316
377
  if (!enabled) {
317
378
  return;
318
379
  }
319
- const abortCtrl = new AbortController();
320
- let reconnectTimeout = null;
380
+ var abortCtrl = new AbortController();
381
+ var reconnectTimeout = null;
321
382
  /** Scan port. */
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;
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();
337
436
  }
338
- }
339
- }
340
- return null;
341
- };
437
+ }, _callee2, null, [[1, 19, 22, 25], [5, 11]]);
438
+ }));
439
+ return function _scan() {
440
+ return _ref3.apply(this, arguments);
441
+ };
442
+ }();
342
443
  /** Scan port to discover until found. */
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
- };
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
+ }();
355
473
  // start scanning...
356
474
  setAgentConnectionStatus('connecting');
357
475
  void _discover();
358
- return () => {
476
+ return function () {
359
477
  abortCtrl.abort();
360
478
  if (reconnectTimeout) {
361
479
  window.clearTimeout(reconnectTimeout);
@@ -368,44 +486,65 @@ const useArduino = ({
368
486
  //
369
487
  // Initialize arduino agent websocket.
370
488
  //
371
- React.useEffect(() => {
489
+ React.useEffect(function () {
372
490
  if (!enabled || !agentHttpPort) {
373
491
  return;
374
492
  }
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
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);
382
541
  }));
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
- };
542
+ return function _init() {
543
+ return _ref5.apply(this, arguments);
544
+ };
545
+ }();
407
546
  void _init();
408
- return () => {
547
+ return function () {
409
548
  reset();
410
549
  };
411
550
  },
@@ -416,12 +555,12 @@ const useArduino = ({
416
555
  //
417
556
  // Print message to terminal according to the message type.
418
557
  //
419
- React.useEffect(() => {
558
+ React.useEffect(function () {
420
559
  if (previousUploadProgress === uploadProgress) {
421
560
  return;
422
561
  }
423
- const _write = text => {
424
- writeTerminal(`\x1b[1m\x1b[38;5;221m${text}\x1b[0m`);
562
+ var _write = function _write(text) {
563
+ writeTerminal("\x1B[1m\x1B[38;5;221m".concat(text, "\x1B[0m"));
425
564
  };
426
565
  switch (uploadProgress) {
427
566
  case 'receivedHex':
@@ -443,7 +582,9 @@ const useArduino = ({
443
582
  },
444
583
  // eslint-disable-next-line react-hooks/exhaustive-deps
445
584
  [previousUploadProgress, uploadProgress]);
446
- setOnSelectPort(() => onSelectPort);
585
+ setOnSelectPort(function () {
586
+ return onSelectPort;
587
+ });
447
588
  //
448
589
  //
449
590
  //