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