@elice/material-exercise 1.240718.3 → 1.240719.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (459) hide show
  1. package/cjs/_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 +12 -15
@@ -2,6 +2,8 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ var _rollupPluginBabelHelpers = require('../../../_virtual/_rollupPluginBabelHelpers.js');
6
+ var jsxRuntime = require('react/jsx-runtime');
5
7
  var React = require('react');
6
8
  var blocks = require('@elice/blocks');
7
9
  var designTokens = require('@elice/design-tokens');
@@ -14,11 +16,16 @@ require('../exercise-shimmer/ExerciseFileTabShimmer.js');
14
16
  require('../exercise-shimmer/ExerciseFileTreeListShimmer.js');
15
17
  require('../exercise-shimmer/ExerciseFileTreeListItemShimmer.js');
16
18
 
19
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
20
+
21
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
22
+ var styled__default = /*#__PURE__*/_interopDefaultCompat(styled);
23
+
17
24
  //
18
25
  //
19
26
  //
20
- const OPTIONS_PER_PAGE = [10, 25, 50];
21
- const OPTIONS_DELIMITER = [{
27
+ var OPTIONS_PER_PAGE = [10, 25, 50];
28
+ var OPTIONS_DELIMITER = [{
22
29
  char: ',',
23
30
  label: 'Comma [,]'
24
31
  }, {
@@ -37,250 +44,338 @@ const OPTIONS_DELIMITER = [{
37
44
  //
38
45
  //
39
46
  //
40
- const StyledViewer = styled.div.withConfig({
47
+ var StyledViewer = styled__default.default.div.withConfig({
41
48
  componentId: "sc-pyv7uu-0"
42
49
  })(["flex:1;display:flex;flex-direction:column;width:100%;height:100%;min-width:0;min-height:0;background-color:", ";"], designTokens.base.color.navy9);
43
- const StyledViewerTableWrap = styled.div.withConfig({
50
+ var StyledViewerTableWrap = styled__default.default.div.withConfig({
44
51
  componentId: "sc-pyv7uu-1"
45
52
  })(["flex:1;overflow:auto;"]);
46
- const StyledViewerTable = styled.table.withConfig({
53
+ var StyledViewerTable = styled__default.default.table.withConfig({
47
54
  componentId: "sc-pyv7uu-2"
48
55
  })(["border:none;border-collapse:collapse;color:", ";font-family:'Elice Digital Coding',monospace,fixed-width;th,td{border:1px solid ", ";padding:0.5rem;white-space:pre;&:first-of-type{color:", ";border-left:none;}&:last-of-type{border-right:none;}}tbody{tr:nth-child(odd){background:", ";}tr:hover{background:", ";}}"], designTokens.base.color.white, designTokens.base.color.navy5, designTokens.base.color.gray5, designTokens.base.color.navy8, designTokens.base.color.navy6);
49
- const StyledViewerFooter = styled.div.withConfig({
56
+ var StyledViewerFooter = styled__default.default.div.withConfig({
50
57
  componentId: "sc-pyv7uu-3"
51
58
  })(["flex:0 0 auto;display:flex;justify-content:space-between;align-items:center;padding:0.5rem;"]);
52
- const StyledViewerFooterSelect = styled.select.withConfig({
59
+ var StyledViewerFooterSelect = styled__default.default.select.withConfig({
53
60
  componentId: "sc-pyv7uu-4"
54
- })(["width:", "rem;border-radius:0.25rem;"], props => props.width);
55
- const StyledViewerFooterHr = styled(blocks.Hr).withConfig({
61
+ })(["width:", "rem;border-radius:0.25rem;"], function (props) {
62
+ return props.width;
63
+ });
64
+ var StyledViewerFooterHr = styled__default.default(blocks.Hr).withConfig({
56
65
  componentId: "sc-pyv7uu-5"
57
66
  })(["height:1rem;"]);
58
67
  //
59
68
  //
60
69
  //
61
- const FileViewerCsv = ({
62
- fileurl
63
- }) => {
64
- const intl$1 = intl.useRawEliceIntl();
65
- const [csv, setCsv] = React.useState('');
66
- const [csvHeader, setCsvHeader] = React.useState(null);
67
- const [csvRecords, setCsvRecords] = React.useState([]);
68
- const [csvStatus, setCsvStatus] = React.useState('idle');
69
- const [page, setPage] = React.useState(1);
70
- const [perPage, setPerPage] = React.useState(OPTIONS_PER_PAGE[0]);
71
- const [delimiter, setDelimiter] = React.useState(OPTIONS_DELIMITER[0].char);
72
- const [isUsingHeader, setUsingHeader] = React.useState(true);
73
- const csvRecordCount = csvRecords.length + (csvHeader ? -1 : 0);
74
- const maxPage = Math.ceil(csvRecordCount / perPage);
75
- const tableWrapElRef = React.useRef(null);
70
+ var FileViewerCsv = function FileViewerCsv(_ref) {
71
+ var fileurl = _ref.fileurl;
72
+ var intl$1 = intl.useRawEliceIntl();
73
+ var _React$useState = React__default.default.useState(''),
74
+ _React$useState2 = _rollupPluginBabelHelpers.slicedToArray(_React$useState, 2),
75
+ csv = _React$useState2[0],
76
+ setCsv = _React$useState2[1];
77
+ var _React$useState3 = React__default.default.useState(null),
78
+ _React$useState4 = _rollupPluginBabelHelpers.slicedToArray(_React$useState3, 2),
79
+ csvHeader = _React$useState4[0],
80
+ setCsvHeader = _React$useState4[1];
81
+ var _React$useState5 = React__default.default.useState([]),
82
+ _React$useState6 = _rollupPluginBabelHelpers.slicedToArray(_React$useState5, 2),
83
+ csvRecords = _React$useState6[0],
84
+ setCsvRecords = _React$useState6[1];
85
+ var _React$useState7 = React__default.default.useState('idle'),
86
+ _React$useState8 = _rollupPluginBabelHelpers.slicedToArray(_React$useState7, 2),
87
+ csvStatus = _React$useState8[0],
88
+ setCsvStatus = _React$useState8[1];
89
+ var _React$useState9 = React__default.default.useState(1),
90
+ _React$useState10 = _rollupPluginBabelHelpers.slicedToArray(_React$useState9, 2),
91
+ page = _React$useState10[0],
92
+ setPage = _React$useState10[1];
93
+ var _React$useState11 = React__default.default.useState(OPTIONS_PER_PAGE[0]),
94
+ _React$useState12 = _rollupPluginBabelHelpers.slicedToArray(_React$useState11, 2),
95
+ perPage = _React$useState12[0],
96
+ setPerPage = _React$useState12[1];
97
+ var _React$useState13 = React__default.default.useState(OPTIONS_DELIMITER[0].char),
98
+ _React$useState14 = _rollupPluginBabelHelpers.slicedToArray(_React$useState13, 2),
99
+ delimiter = _React$useState14[0],
100
+ setDelimiter = _React$useState14[1];
101
+ var _React$useState15 = React__default.default.useState(true),
102
+ _React$useState16 = _rollupPluginBabelHelpers.slicedToArray(_React$useState15, 2),
103
+ isUsingHeader = _React$useState16[0],
104
+ setUsingHeader = _React$useState16[1];
105
+ var csvRecordCount = csvRecords.length + (csvHeader ? -1 : 0);
106
+ var maxPage = Math.ceil(csvRecordCount / perPage);
107
+ var tableWrapElRef = React__default.default.useRef(null);
76
108
  //
77
109
  // Fetch csv file
78
110
  //
79
- React.useEffect(() => {
111
+ React__default.default.useEffect(function () {
80
112
  if (!fileurl) {
81
113
  setCsvRecords([]);
82
114
  return;
83
115
  }
84
- const abortCtrl = new AbortController();
116
+ var abortCtrl = new AbortController();
85
117
  setCsvStatus('pending');
86
118
  fetch(fileurl, {
87
119
  signal: abortCtrl.signal
88
- }).then(res => res.text()).then(setCsv).then(() => setCsvStatus('resolved')).catch(err => {
120
+ }).then(function (res) {
121
+ return res.text();
122
+ }).then(setCsv).then(function () {
123
+ return setCsvStatus('resolved');
124
+ }).catch(function (err) {
89
125
  if (err.name === 'AbortError') {
90
126
  return;
91
127
  }
92
128
  setCsvRecords([]);
93
129
  setCsvStatus('rejected');
94
130
  });
95
- return () => {
131
+ return function () {
96
132
  abortCtrl.abort();
97
133
  };
98
134
  }, [fileurl]);
99
135
  //
100
136
  // Parse csv file and save as records
101
137
  //
102
- React.useEffect(() => setCsvRecords(csv.split('\n').filter(Boolean).map(row => row.split(delimiter))), [csv, delimiter]);
138
+ React__default.default.useEffect(function () {
139
+ return setCsvRecords(csv.split('\n').filter(Boolean).map(function (row) {
140
+ return row.split(delimiter);
141
+ }));
142
+ }, [csv, delimiter]);
103
143
  //
104
144
  // Set CSV header.
105
145
  //
106
- React.useEffect(() => setCsvHeader(isUsingHeader ? csvRecords[0] : null), [csvRecords, isUsingHeader]);
146
+ React__default.default.useEffect(function () {
147
+ return setCsvHeader(isUsingHeader ? csvRecords[0] : null);
148
+ }, [csvRecords, isUsingHeader]);
107
149
  //
108
150
  // Scroll to top when page changes.
109
151
  //
110
- React.useEffect(() => {
152
+ React__default.default.useEffect(function () {
111
153
  var _a;
112
154
  return (_a = tableWrapElRef.current) === null || _a === void 0 ? void 0 : _a.scrollTo(0, 0);
113
155
  }, [page]);
114
156
  /**
115
157
  *
116
158
  */
117
- const renderViewerTableThead = () => {
159
+ var renderViewerTableThead = function renderViewerTableThead() {
118
160
  if (!csvHeader) {
119
161
  return null;
120
162
  }
121
- const colunms = ['', ...csvHeader];
122
- return React.createElement("thead", null, React.createElement("tr", null, colunms.map((col, colIdx) => React.createElement("th", {
123
- key: colIdx
124
- }, col))));
163
+ var colunms = [''].concat(_rollupPluginBabelHelpers.toConsumableArray(csvHeader));
164
+ return jsxRuntime.jsx("thead", {
165
+ children: jsxRuntime.jsx("tr", {
166
+ children: colunms.map(function (col, colIdx) {
167
+ return jsxRuntime.jsx("th", {
168
+ children: col
169
+ }, colIdx);
170
+ })
171
+ })
172
+ });
125
173
  };
126
174
  /**
127
175
  *
128
176
  */
129
- const renderViewerTableTbody = () => {
130
- const start = (page - 1) * perPage;
131
- const end = page * perPage;
132
- const records = csvRecords.slice(csvHeader ? 1 : 0).slice(start, end);
133
- return React.createElement("tbody", null, records.map((row, rowIdx) => {
134
- const curRecordNo = start + rowIdx + 1;
135
- const curRow = [curRecordNo, ...row];
136
- return React.createElement("tr", {
137
- key: curRecordNo
138
- }, curRow.map((col, colIdx) => React.createElement("td", {
139
- key: colIdx,
140
- style: {
141
- // test whether the column is number, and align right
142
- textAlign:
143
- // eslint-disable-next-line no-self-compare
144
- +col === +col ? 'right' : 'left'
145
- }
146
- }, col)));
147
- }));
177
+ var renderViewerTableTbody = function renderViewerTableTbody() {
178
+ var start = (page - 1) * perPage;
179
+ var end = page * perPage;
180
+ var records = csvRecords.slice(csvHeader ? 1 : 0).slice(start, end);
181
+ return jsxRuntime.jsx("tbody", {
182
+ children: records.map(function (row, rowIdx) {
183
+ var curRecordNo = start + rowIdx + 1;
184
+ var curRow = [curRecordNo].concat(_rollupPluginBabelHelpers.toConsumableArray(row));
185
+ return jsxRuntime.jsx("tr", {
186
+ children: curRow.map(function (col, colIdx) {
187
+ return jsxRuntime.jsx("td", {
188
+ style: {
189
+ // test whether the column is number, and align right
190
+ textAlign:
191
+ // eslint-disable-next-line no-self-compare
192
+ +col === +col ? 'right' : 'left'
193
+ },
194
+ children: col
195
+ }, colIdx);
196
+ })
197
+ }, curRecordNo);
198
+ })
199
+ });
148
200
  };
149
201
  /**
150
202
  *
151
203
  */
152
- const renderViewerTable = () => {
153
- return React.createElement(StyledViewerTableWrap, {
154
- ref: tableWrapElRef
155
- }, React.createElement(StyledViewerTable, null, renderViewerTableThead(), renderViewerTableTbody()));
204
+ var renderViewerTable = function renderViewerTable() {
205
+ return jsxRuntime.jsx(StyledViewerTableWrap, {
206
+ ref: tableWrapElRef,
207
+ children: jsxRuntime.jsxs(StyledViewerTable, {
208
+ children: [renderViewerTableThead(), renderViewerTableTbody()]
209
+ })
210
+ });
156
211
  };
157
212
  /**
158
213
  *
159
214
  */
160
- const renderViewerFooterPagination = () => {
161
- return React.createElement(blocks.Flex, {
162
- align: "center"
163
- }, React.createElement(blocks.Text, {
164
- role: "gray1",
165
- size: "small"
166
- }, csvRecordCount, " records"), React.createElement(StyledViewerFooterHr, {
167
- vertical: true,
168
- color: designTokens.base.color.navy5
169
- }), React.createElement(blocks.Flex, {
170
- align: "center"
171
- }, React.createElement(blocks.IconButton, {
172
- icon: icons.eilArrowLeftwardsDouble,
173
- role: "navy3",
174
- size: "nano",
175
- disabled: page <= 1,
176
- onClick: () => setPage(1)
177
- }), React.createElement(blocks.Hspace, {
178
- width: 0.25
179
- }), React.createElement(blocks.IconButton, {
180
- icon: icons.eilArrowLeftwardsSingle,
181
- role: "navy3",
182
- size: "nano",
183
- disabled: page <= 1,
184
- onClick: () => setPage(prevPage => prevPage - 1)
185
- }), React.createElement(blocks.Hspace, {
186
- width: 0.5
187
- }), React.createElement(blocks.Text, {
188
- role: "gray1",
189
- size: "small"
190
- }, page, " / ", maxPage), React.createElement(blocks.Hspace, {
191
- width: 0.5
192
- }), React.createElement(blocks.IconButton, {
193
- icon: icons.eilArrowRightwardsSingle,
194
- role: "navy3",
195
- size: "nano",
196
- disabled: page >= maxPage,
197
- onClick: () => setPage(prevPage => prevPage + 1)
198
- }), React.createElement(blocks.Hspace, {
199
- width: 0.25
200
- }), React.createElement(blocks.IconButton, {
201
- icon: icons.eilArrowRightwardsDouble,
202
- role: "navy3",
203
- size: "nano",
204
- disabled: page >= maxPage,
205
- onClick: () => setPage(maxPage)
206
- })));
215
+ var renderViewerFooterPagination = function renderViewerFooterPagination() {
216
+ return jsxRuntime.jsxs(blocks.Flex, {
217
+ align: "center",
218
+ children: [jsxRuntime.jsxs(blocks.Text, {
219
+ role: "gray1",
220
+ size: "small",
221
+ children: [csvRecordCount, " records"]
222
+ }), jsxRuntime.jsx(StyledViewerFooterHr, {
223
+ vertical: true,
224
+ color: designTokens.base.color.navy5
225
+ }), jsxRuntime.jsxs(blocks.Flex, {
226
+ align: "center",
227
+ children: [jsxRuntime.jsx(blocks.IconButton, {
228
+ icon: icons.eilArrowLeftwardsDouble,
229
+ role: "navy3",
230
+ size: "nano",
231
+ disabled: page <= 1,
232
+ onClick: function onClick() {
233
+ return setPage(1);
234
+ }
235
+ }), jsxRuntime.jsx(blocks.Hspace, {
236
+ width: 0.25
237
+ }), jsxRuntime.jsx(blocks.IconButton, {
238
+ icon: icons.eilArrowLeftwardsSingle,
239
+ role: "navy3",
240
+ size: "nano",
241
+ disabled: page <= 1,
242
+ onClick: function onClick() {
243
+ return setPage(function (prevPage) {
244
+ return prevPage - 1;
245
+ });
246
+ }
247
+ }), jsxRuntime.jsx(blocks.Hspace, {
248
+ width: 0.5
249
+ }), jsxRuntime.jsxs(blocks.Text, {
250
+ role: "gray1",
251
+ size: "small",
252
+ children: [page, " / ", maxPage]
253
+ }), jsxRuntime.jsx(blocks.Hspace, {
254
+ width: 0.5
255
+ }), jsxRuntime.jsx(blocks.IconButton, {
256
+ icon: icons.eilArrowRightwardsSingle,
257
+ role: "navy3",
258
+ size: "nano",
259
+ disabled: page >= maxPage,
260
+ onClick: function onClick() {
261
+ return setPage(function (prevPage) {
262
+ return prevPage + 1;
263
+ });
264
+ }
265
+ }), jsxRuntime.jsx(blocks.Hspace, {
266
+ width: 0.25
267
+ }), jsxRuntime.jsx(blocks.IconButton, {
268
+ icon: icons.eilArrowRightwardsDouble,
269
+ role: "navy3",
270
+ size: "nano",
271
+ disabled: page >= maxPage,
272
+ onClick: function onClick() {
273
+ return setPage(maxPage);
274
+ }
275
+ })]
276
+ })]
277
+ });
207
278
  };
208
279
  /**
209
280
  *
210
281
  */
211
- const renderViewerFooterSettings = () => {
212
- return React.createElement(blocks.Flex, {
213
- align: "center"
214
- }, React.createElement(blocks.Flex, {
215
- align: "center"
216
- }, React.createElement(blocks.Text, {
217
- role: "gray1",
218
- size: "small"
219
- }, intl$1.formatMessage({
220
- id: '헤더 사용'
221
- })), React.createElement(blocks.Hspace, {
222
- width: 0.5
223
- }), React.createElement(blocks.AntSwitch, {
224
- size: "small",
225
- checked: isUsingHeader,
226
- onChange: setUsingHeader
227
- })), React.createElement(StyledViewerFooterHr, {
228
- vertical: true,
229
- color: designTokens.base.color.navy5
230
- }), React.createElement(blocks.Flex, {
231
- align: "center"
232
- }, React.createElement(blocks.Text, {
233
- role: "gray1",
234
- size: "small"
235
- }, intl$1.formatMessage({
236
- id: '구분자:'
237
- })), React.createElement(blocks.Hspace, {
238
- width: 0.5
239
- }), React.createElement(StyledViewerFooterSelect, {
240
- width: 7.5,
241
- value: delimiter,
242
- onChange: e => setDelimiter(e.target.value)
243
- }, OPTIONS_DELIMITER.map(({
244
- char,
245
- label
246
- }) => React.createElement("option", {
247
- value: char
248
- }, label)))), React.createElement(StyledViewerFooterHr, {
249
- vertical: true,
250
- color: designTokens.base.color.navy5
251
- }), React.createElement(blocks.Flex, {
252
- align: "center"
253
- }, React.createElement(blocks.Text, {
254
- role: "gray1",
255
- size: "small"
256
- }, intl$1.formatMessage({
257
- id: '페이지당 행:'
258
- })), React.createElement(blocks.Hspace, {
259
- width: 0.5
260
- }), React.createElement(StyledViewerFooterSelect, {
261
- width: 3,
262
- value: perPage,
263
- onChange: e => setPerPage(Number(e.target.value))
264
- }, OPTIONS_PER_PAGE.map(perPage => React.createElement("option", {
265
- value: perPage
266
- }, perPage)))));
282
+ var renderViewerFooterSettings = function renderViewerFooterSettings() {
283
+ return jsxRuntime.jsxs(blocks.Flex, {
284
+ align: "center",
285
+ children: [jsxRuntime.jsxs(blocks.Flex, {
286
+ align: "center",
287
+ children: [jsxRuntime.jsx(blocks.Text, {
288
+ role: "gray1",
289
+ size: "small",
290
+ children: intl$1.formatMessage({
291
+ id: '헤더 사용'
292
+ })
293
+ }), jsxRuntime.jsx(blocks.Hspace, {
294
+ width: 0.5
295
+ }), jsxRuntime.jsx(blocks.AntSwitch, {
296
+ size: "small",
297
+ checked: isUsingHeader,
298
+ onChange: setUsingHeader
299
+ })]
300
+ }), jsxRuntime.jsx(StyledViewerFooterHr, {
301
+ vertical: true,
302
+ color: designTokens.base.color.navy5
303
+ }), jsxRuntime.jsxs(blocks.Flex, {
304
+ align: "center",
305
+ children: [jsxRuntime.jsx(blocks.Text, {
306
+ role: "gray1",
307
+ size: "small",
308
+ children: intl$1.formatMessage({
309
+ id: '구분자:'
310
+ })
311
+ }), jsxRuntime.jsx(blocks.Hspace, {
312
+ width: 0.5
313
+ }), jsxRuntime.jsx(StyledViewerFooterSelect, {
314
+ width: 7.5,
315
+ value: delimiter,
316
+ onChange: function onChange(e) {
317
+ return setDelimiter(e.target.value);
318
+ },
319
+ children: OPTIONS_DELIMITER.map(function (_ref2) {
320
+ var char = _ref2.char,
321
+ label = _ref2.label;
322
+ return jsxRuntime.jsx("option", {
323
+ value: char,
324
+ children: label
325
+ });
326
+ })
327
+ })]
328
+ }), jsxRuntime.jsx(StyledViewerFooterHr, {
329
+ vertical: true,
330
+ color: designTokens.base.color.navy5
331
+ }), jsxRuntime.jsxs(blocks.Flex, {
332
+ align: "center",
333
+ children: [jsxRuntime.jsx(blocks.Text, {
334
+ role: "gray1",
335
+ size: "small",
336
+ children: intl$1.formatMessage({
337
+ id: '페이지당 행:'
338
+ })
339
+ }), jsxRuntime.jsx(blocks.Hspace, {
340
+ width: 0.5
341
+ }), jsxRuntime.jsx(StyledViewerFooterSelect, {
342
+ width: 3,
343
+ value: perPage,
344
+ onChange: function onChange(e) {
345
+ return setPerPage(Number(e.target.value));
346
+ },
347
+ children: OPTIONS_PER_PAGE.map(function (perPage) {
348
+ return jsxRuntime.jsx("option", {
349
+ value: perPage,
350
+ children: perPage
351
+ });
352
+ })
353
+ })]
354
+ })]
355
+ });
267
356
  };
268
357
  /**
269
358
  *
270
359
  */
271
- const renderViewerFooter = () => {
272
- return React.createElement(StyledViewerFooter, null, renderViewerFooterPagination(), renderViewerFooterSettings());
360
+ var renderViewerFooter = function renderViewerFooter() {
361
+ return jsxRuntime.jsxs(StyledViewerFooter, {
362
+ children: [renderViewerFooterPagination(), renderViewerFooterSettings()]
363
+ });
273
364
  };
274
365
  //
275
366
  //
276
367
  //
277
368
  if (csvStatus === 'idle' || csvStatus === 'pending') {
278
- return React.createElement(ExerciseFileShimmer.default, null);
369
+ return jsxRuntime.jsx(ExerciseFileShimmer.default, {});
279
370
  }
280
371
  if (csvStatus === 'rejected') {
281
- return React.createElement("div", null, "error");
372
+ return jsxRuntime.jsx("div", {
373
+ children: "error"
374
+ });
282
375
  }
283
- return React.createElement(StyledViewer, null, renderViewerTable(), renderViewerFooter());
376
+ return jsxRuntime.jsxs(StyledViewer, {
377
+ children: [renderViewerTable(), renderViewerFooter()]
378
+ });
284
379
  };
285
380
 
286
381
  exports.default = FileViewerCsv;
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var React = require('react');
5
+ var jsxRuntime = require('react/jsx-runtime');
6
6
  var blocks = require('@elice/blocks');
7
7
  var styled = require('styled-components');
8
8
  var ExerciseFileShimmer = require('../exercise-shimmer/ExerciseFileShimmer.js');
@@ -11,24 +11,28 @@ require('../exercise-shimmer/ExerciseFileTabShimmer.js');
11
11
  require('../exercise-shimmer/ExerciseFileTreeListShimmer.js');
12
12
  require('../exercise-shimmer/ExerciseFileTreeListItemShimmer.js');
13
13
 
14
- const StyledImage = styled.img.withConfig({
14
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
15
+
16
+ var styled__default = /*#__PURE__*/_interopDefaultCompat(styled);
17
+
18
+ var StyledImage = styled__default.default.img.withConfig({
15
19
  componentId: "sc-1bnx7lz-0"
16
20
  })(["max-width:100%;max-height:100%;height:auto;width:auto;"]);
17
- const FileViewerImage = ({
18
- fileurl
19
- }) => {
21
+ var FileViewerImage = function FileViewerImage(_ref) {
22
+ var fileurl = _ref.fileurl;
20
23
  if (!fileurl) {
21
- return React.createElement(ExerciseFileShimmer.default, null);
24
+ return jsxRuntime.jsx(ExerciseFileShimmer.default, {});
22
25
  }
23
- return React.createElement(blocks.Flex, {
26
+ return jsxRuntime.jsx(blocks.Flex, {
24
27
  align: "center",
25
28
  justify: "center",
26
29
  auto: true,
27
- overflow: "hidden"
28
- }, React.createElement(StyledImage, {
29
- src: fileurl,
30
- alt: fileurl
31
- }));
30
+ overflow: "hidden",
31
+ children: jsxRuntime.jsx(StyledImage, {
32
+ src: fileurl,
33
+ alt: fileurl
34
+ })
35
+ });
32
36
  };
33
37
 
34
38
  exports.default = FileViewerImage;
@@ -2,6 +2,8 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ var _rollupPluginBabelHelpers = require('../../../_virtual/_rollupPluginBabelHelpers.js');
6
+ var jsxRuntime = require('react/jsx-runtime');
5
7
  var React = require('react');
6
8
  var NotebookPreview = require('@nteract/notebook-preview');
7
9
  var styled = require('styled-components');
@@ -11,28 +13,42 @@ require('../exercise-shimmer/ExerciseFileTabShimmer.js');
11
13
  require('../exercise-shimmer/ExerciseFileTreeListShimmer.js');
12
14
  require('../exercise-shimmer/ExerciseFileTreeListItemShimmer.js');
13
15
 
14
- const StyledNotebookWrapper = styled.div.withConfig({
16
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
17
+
18
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
19
+ var NotebookPreview__default = /*#__PURE__*/_interopDefaultCompat(NotebookPreview);
20
+ var styled__default = /*#__PURE__*/_interopDefaultCompat(styled);
21
+
22
+ var StyledNotebookWrapper = styled__default.default.div.withConfig({
15
23
  componentId: "sc-1fmae1h-0"
16
24
  })(["width:100%;height:100%;overflow:auto;background-color:white;padding:1rem;.notebook-preview{width:100%;height:100%;}"]);
17
- const FileViewerIpynb = ({
18
- fileurl
19
- }) => {
20
- const [content, setContent] = React.useState(null);
21
- React.useEffect(() => {
25
+ var FileViewerIpynb = function FileViewerIpynb(_ref) {
26
+ var fileurl = _ref.fileurl;
27
+ var _React$useState = React__default.default.useState(null),
28
+ _React$useState2 = _rollupPluginBabelHelpers.slicedToArray(_React$useState, 2),
29
+ content = _React$useState2[0],
30
+ setContent = _React$useState2[1];
31
+ React__default.default.useEffect(function () {
22
32
  if (!fileurl) {
23
33
  return;
24
34
  }
25
- fetch(fileurl).then(res => res.text()).then(JSON.parse).then(setContent).catch(err => console.error(err));
35
+ fetch(fileurl).then(function (res) {
36
+ return res.text();
37
+ }).then(JSON.parse).then(setContent).catch(function (err) {
38
+ return console.error(err);
39
+ });
26
40
  }, [fileurl]);
27
41
  //
28
42
  //
29
43
  //
30
44
  if (!content) {
31
- return React.createElement(ExerciseFileShimmer.default, null);
45
+ return jsxRuntime.jsx(ExerciseFileShimmer.default, {});
32
46
  }
33
- return React.createElement(StyledNotebookWrapper, null, React.createElement(NotebookPreview, {
34
- notebook: content
35
- }));
47
+ return jsxRuntime.jsx(StyledNotebookWrapper, {
48
+ children: jsxRuntime.jsx(NotebookPreview__default.default, {
49
+ notebook: content
50
+ })
51
+ });
36
52
  };
37
53
 
38
54
  exports.default = FileViewerIpynb;