@elice/material-exercise 1.251120.1 → 1.260128.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (355) hide show
  1. package/cjs/_virtual/_rollupPluginBabelHelpers.js +241 -451
  2. package/cjs/components/index.js +9 -9
  3. package/cjs/components/material-exercise/MaterialExercise.js +14 -17
  4. package/cjs/components/material-exercise/MaterialExercise.styled.d.ts +40 -10
  5. package/cjs/components/material-exercise/MaterialExercise.styled.js +68 -33
  6. package/cjs/components/material-exercise/MaterialExerciseMobile.js +3 -6
  7. package/cjs/components/material-exercise/context/ExerciseProvider.js +17 -8
  8. package/cjs/components/material-exercise/context/ExerciseProviderNoImage.d.ts +1 -1
  9. package/cjs/components/material-exercise/context/ExerciseProviderNoImage.js +5 -5
  10. package/cjs/components/material-exercise/context/recoil.js +202 -219
  11. package/cjs/components/material-exercise/context/recoilTypes.d.ts +1 -2
  12. package/cjs/components/material-exercise/context/types.d.ts +0 -1
  13. package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.js +9 -25
  14. package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.d.ts +23 -9
  15. package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.js +45 -22
  16. package/cjs/components/material-exercise/exercise-file/ExerciseFile.js +8 -22
  17. package/cjs/components/material-exercise/exercise-file-editor/ExerciseFileEditor.js +34 -48
  18. package/cjs/components/material-exercise/exercise-file-editor/ExerciseFileReadOnlyBanner.js +5 -9
  19. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabs.js +16 -15
  20. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.d.ts +1 -1
  21. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.js +1 -5
  22. package/cjs/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/ExerciseFileTabsFileTreeButton.js +10 -13
  23. package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTree.js +73 -99
  24. package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.d.ts +1 -1
  25. package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.js +1 -5
  26. package/cjs/components/material-exercise/exercise-file-viewer/ExerciseFileViewer.js +2 -9
  27. package/cjs/components/material-exercise/exercise-menu/ExerciseMenu.js +7 -10
  28. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.d.ts +1 -1
  29. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.js +0 -4
  30. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.js +10 -14
  31. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuDropdown.js +5 -7
  32. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuReset.d.ts +1 -1
  33. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuReset.js +1 -15
  34. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.js +6 -12
  35. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.d.ts +46 -13
  36. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.js +81 -38
  37. package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdown.js +2 -5
  38. package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.d.ts +1 -1
  39. package/cjs/components/material-exercise/exercise-preview/ExercisePreview.js +9 -11
  40. package/cjs/components/material-exercise/exercise-preview/ExercisePreviewDisplayModeButton.d.ts +1 -2
  41. package/cjs/components/material-exercise/exercise-preview/ExercisePreviewDisplayModeButton.js +3 -6
  42. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpane.d.ts +1 -1
  43. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpane.js +25 -21
  44. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpaneEditorPerference.js +1 -6
  45. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpaneEnvironment.js +16 -11
  46. package/cjs/components/material-exercise/exercise-room/ExerciseRoom.styled.d.ts +30 -9
  47. package/cjs/components/material-exercise/exercise-room/ExerciseRoom.styled.js +33 -25
  48. package/cjs/components/material-exercise/exercise-room/ExerciseRoomDetail.js +101 -106
  49. package/cjs/components/material-exercise/exercise-room/ExerciseRoomList.js +31 -35
  50. package/cjs/components/material-exercise/exercise-runner/ExerciseRunner.js +53 -72
  51. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerController.js +8 -22
  52. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.js +2 -6
  53. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.d.ts +1 -1
  54. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.js +28 -22
  55. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js +23 -27
  56. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.d.ts +1 -1
  57. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerRunningInfo.js +28 -26
  58. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusIndicator.d.ts +4 -1
  59. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusIndicator.js +6 -6
  60. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusMessage.d.ts +1 -1
  61. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusMessage.js +15 -11
  62. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerTimer.js +6 -9
  63. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.js +107 -114
  64. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.styled.d.ts +30 -9
  65. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.styled.js +55 -26
  66. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistoryOutput.js +20 -16
  67. package/cjs/components/material-exercise/index.d.ts +1 -1
  68. package/cjs/components/shared/exercise-menu-button/ExerciseMenuButton.d.ts +1 -1
  69. package/cjs/components/shared/exercise-menu-button/ExerciseMenuButton.js +18 -10
  70. package/cjs/components/shared/exercise-shimmer/ExerciseFileShimmer.d.ts +1 -1
  71. package/cjs/components/shared/exercise-shimmer/ExerciseFileShimmer.js +17 -17
  72. package/cjs/components/shared/exercise-shimmer/ExerciseFileTabShimmer.d.ts +1 -1
  73. package/cjs/components/shared/exercise-shimmer/ExerciseFileTabShimmer.js +9 -9
  74. package/cjs/components/shared/exercise-shimmer/ExerciseFileTabsShimmer.d.ts +1 -1
  75. package/cjs/components/shared/exercise-shimmer/ExerciseFileTabsShimmer.js +5 -5
  76. package/cjs/components/shared/exercise-shimmer/ExerciseFileTreeListItemShimmer.d.ts +1 -1
  77. package/cjs/components/shared/exercise-shimmer/ExerciseFileTreeListItemShimmer.js +12 -12
  78. package/cjs/components/shared/exercise-shimmer/ExerciseFileTreeListShimmer.js +19 -11
  79. package/cjs/components/shared/exercise-version-list/ExerciseVersionList.d.ts +1 -1
  80. package/cjs/components/shared/exercise-version-list/ExerciseVersionList.styled.d.ts +5 -8
  81. package/cjs/components/shared/exercise-version-list/ExerciseVersionList.styled.js +13 -5
  82. package/cjs/components/shared/exercise-version-list/ExerciseVersionListItem.d.ts +1 -1
  83. package/cjs/components/shared/exercise-version-list/ExerciseVersionListItem.styled.d.ts +20 -5
  84. package/cjs/components/shared/exercise-version-list/ExerciseVersionListItem.styled.js +37 -15
  85. package/cjs/components/shared/file-tabs/FileTab.js +5 -5
  86. package/cjs/components/shared/file-tabs/FileTab.styled.d.ts +29 -8
  87. package/cjs/components/shared/file-tabs/FileTab.styled.js +50 -27
  88. package/cjs/components/shared/file-tabs/FileTabs.styled.d.ts +8 -2
  89. package/cjs/components/shared/file-tabs/FileTabs.styled.js +17 -9
  90. package/cjs/components/shared/file-tree/FileTree.d.ts +1 -1
  91. package/cjs/components/shared/file-tree/FileTree.js +20 -12
  92. package/cjs/components/shared/file-tree/FileTreeConfig.js +6 -6
  93. package/cjs/components/shared/file-tree/FileTreeList.d.ts +1 -1
  94. package/cjs/components/shared/file-tree/FileTreeList.js +10 -8
  95. package/cjs/components/shared/file-tree/FileTreeListItemContent.js +5 -5
  96. package/cjs/components/shared/file-tree/FileTreeListItemContent.styled.d.ts +35 -10
  97. package/cjs/components/shared/file-tree/FileTreeListItemContent.styled.js +49 -33
  98. package/cjs/components/shared/file-tree/FileTreeListItemContentInput.js +9 -9
  99. package/cjs/components/shared/file-tree/FileTreeListItemContentInput.styled.d.ts +7 -3
  100. package/cjs/components/shared/file-tree/FileTreeListItemContentInput.styled.js +16 -8
  101. package/cjs/components/shared/file-tree/FileTreeListItemContentMenu.js +1 -1
  102. package/cjs/components/shared/file-tree/FileTreeListItems.d.ts +1 -1
  103. package/cjs/components/shared/file-tree/FileTreeListItems.js +13 -11
  104. package/cjs/components/shared/file-tree/FileTreeListItems.styled.d.ts +8 -2
  105. package/cjs/components/shared/file-tree/FileTreeListItems.styled.js +23 -8
  106. package/cjs/components/shared/file-tree/FileTreeToolbar.styled.d.ts +4 -1
  107. package/cjs/components/shared/file-tree/FileTreeToolbar.styled.js +5 -5
  108. package/cjs/components/shared/file-tree/context/FileTreeContext.d.ts +1 -1
  109. package/cjs/components/shared/file-tree/context/FileTreeContext.js +0 -1
  110. package/cjs/components/shared/file-tree/file-tree-toolbar/FileTreeToolbar.js +7 -7
  111. package/cjs/components/shared/file-tree/index.d.ts +1 -1
  112. package/cjs/components/shared/file-tree/utils/fileTreeGenerator.js +2 -4
  113. package/cjs/components/shared/file-viewer/FileViewer.js +10 -14
  114. package/cjs/components/shared/file-viewer/FileViewerCsv.js +68 -52
  115. package/cjs/components/shared/file-viewer/FileViewerImage.d.ts +1 -1
  116. package/cjs/components/shared/file-viewer/FileViewerImage.js +14 -10
  117. package/cjs/components/shared/file-viewer/FileViewerIpynb.js +14 -10
  118. package/cjs/components/shared/file-viewer/FileViewerNonViewable.d.ts +1 -1
  119. package/cjs/components/shared/file-viewer/FileViewerNonViewable.js +46 -17
  120. package/cjs/components/shared/file-viewer/FileViewerText.js +3 -13
  121. package/cjs/components/shared/material-modal/MaterialModal.d.ts +1 -1
  122. package/cjs/components/shared/material-modal/MaterialModal.styled.d.ts +19 -6
  123. package/cjs/components/shared/material-modal/MaterialModal.styled.js +25 -17
  124. package/cjs/components/shared/monaco-editor/MonacoEditor.js +22 -14
  125. package/cjs/components/shared/monaco-editor/MonacoEditorLazy.js +0 -4
  126. package/cjs/components/shared/monaco-editor/MonacoEditorMobile.js +2 -2
  127. package/cjs/components/shared/monaco-editor/MonacoEditorPerferenceForm.js +28 -21
  128. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoMarkers.js +0 -1
  129. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoOptions.d.ts +0 -1
  130. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoOptions.js +2 -2
  131. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoTheme.d.ts +1 -1
  132. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoTheme.js +1 -2
  133. package/cjs/components/shared/monaco-editor/editor-languages/css/formatter.js +17 -21
  134. package/cjs/components/shared/monaco-editor/editor-languages/css/index.js +1 -1
  135. package/cjs/components/shared/monaco-editor/editor-languages/html/formatter.js +17 -21
  136. package/cjs/components/shared/monaco-editor/editor-languages/html/index.js +1 -1
  137. package/cjs/components/shared/monaco-editor/editor-languages/typescript/formatter.js +20 -24
  138. package/cjs/components/shared/monaco-editor/editor-languages/typescript/index.js +1 -2
  139. package/cjs/components/shared/monaco-editor/hooks/useEditorOptions.js +1 -1
  140. package/cjs/components/shared/monaco-editor/index.js +5 -5
  141. package/cjs/components/shared/monaco-editor/utils/emmet/abbreviationActions.d.ts +1 -1
  142. package/cjs/components/shared/monaco-editor/utils/emmet/abbreviationActions.js +2 -2
  143. package/cjs/components/shared/monaco-editor/utils/emmet/registerProvider.js +2 -2
  144. package/cjs/components/shared/monaco-editor/utils/grammar/index.js +24 -28
  145. package/cjs/components/shared/monaco-editor/utils/grammar/onigasm.js +8 -9
  146. package/cjs/components/shared/monaco-editor/utils/grammar/textmate.js +16 -18
  147. package/cjs/components/shared/monaco-editor/utils/prettier/index.js +13 -16
  148. package/cjs/components/shared/monaco-editor/utils/theme/convert.js +1 -1
  149. package/cjs/components/shared/monaco-editor/utils/theme/index.js +4 -7
  150. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursor.js +1 -2
  151. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorManager.d.ts +1 -2
  152. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorManager.js +2 -3
  153. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorWidget.js +1 -2
  154. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelection.js +1 -2
  155. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelectionManager.d.ts +1 -2
  156. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelectionManager.js +1 -2
  157. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/styles.d.ts +1 -1
  158. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/styles.js +2 -2
  159. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/emmetHelper.js +0 -1
  160. package/cjs/components/shared/no-vnc/NoVnc.js +44 -24
  161. package/cjs/components/shared/preview-container/PreviewContainer.d.ts +1 -1
  162. package/cjs/components/shared/preview-container/PreviewContainer.js +8 -8
  163. package/cjs/components/shared/web-browser/WebBrowser.js +20 -12
  164. package/cjs/components/shared/xterm/Xterm.js +9 -9
  165. package/cjs/components/shared/xterm/utils/index.js +0 -1
  166. package/cjs/constants/stylesheets.d.ts +2 -2
  167. package/cjs/constants/stylesheets.js +2 -2
  168. package/cjs/hooks/useArduino.js +70 -80
  169. package/cjs/hooks/useExerciseFile.js +1 -4
  170. package/cjs/hooks/useMaterialExerciseFileUrl.js +13 -13
  171. package/cjs/hooks/useRunnerRoomWebSocket.js +7 -10
  172. package/cjs/hooks/useStdioTextConcator.js +3 -6
  173. package/cjs/hooks/useUsercodeEditWebSocket.js +26 -29
  174. package/cjs/hooks/useUsercodeHistory.js +28 -30
  175. package/cjs/index.js +9 -9
  176. package/cjs/utils/arduino.d.ts +0 -3
  177. package/es/_virtual/_rollupPluginBabelHelpers.js +240 -451
  178. package/es/components/index.js +3 -3
  179. package/es/components/material-exercise/MaterialExercise.js +14 -17
  180. package/es/components/material-exercise/MaterialExercise.styled.d.ts +40 -10
  181. package/es/components/material-exercise/MaterialExercise.styled.js +67 -32
  182. package/es/components/material-exercise/MaterialExerciseMobile.js +3 -6
  183. package/es/components/material-exercise/context/ExerciseProvider.js +16 -7
  184. package/es/components/material-exercise/context/ExerciseProviderNoImage.d.ts +1 -1
  185. package/es/components/material-exercise/context/ExerciseProviderNoImage.js +4 -4
  186. package/es/components/material-exercise/context/recoil.js +204 -221
  187. package/es/components/material-exercise/context/recoilTypes.d.ts +1 -2
  188. package/es/components/material-exercise/context/types.d.ts +0 -1
  189. package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.js +9 -25
  190. package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.d.ts +23 -9
  191. package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.js +44 -21
  192. package/es/components/material-exercise/exercise-file/ExerciseFile.js +7 -21
  193. package/es/components/material-exercise/exercise-file-editor/ExerciseFileEditor.js +35 -49
  194. package/es/components/material-exercise/exercise-file-editor/ExerciseFileReadOnlyBanner.js +4 -8
  195. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabs.js +15 -14
  196. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.d.ts +1 -1
  197. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.js +1 -5
  198. package/es/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/ExerciseFileTabsFileTreeButton.js +9 -12
  199. package/es/components/material-exercise/exercise-file-tree/ExerciseFileTree.js +73 -99
  200. package/es/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.d.ts +1 -1
  201. package/es/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.js +1 -5
  202. package/es/components/material-exercise/exercise-file-viewer/ExerciseFileViewer.js +2 -9
  203. package/es/components/material-exercise/exercise-menu/ExerciseMenu.js +6 -9
  204. package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.d.ts +1 -1
  205. package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.js +0 -4
  206. package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.js +10 -14
  207. package/es/components/material-exercise/exercise-menu/ExerciseMenuDropdown.js +5 -7
  208. package/es/components/material-exercise/exercise-menu/ExerciseMenuReset.d.ts +1 -1
  209. package/es/components/material-exercise/exercise-menu/ExerciseMenuReset.js +1 -15
  210. package/es/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.js +7 -13
  211. package/es/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.d.ts +46 -13
  212. package/es/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.js +80 -37
  213. package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdown.js +2 -5
  214. package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.d.ts +1 -1
  215. package/es/components/material-exercise/exercise-preview/ExercisePreview.js +8 -10
  216. package/es/components/material-exercise/exercise-preview/ExercisePreviewDisplayModeButton.d.ts +1 -2
  217. package/es/components/material-exercise/exercise-preview/ExercisePreviewDisplayModeButton.js +3 -6
  218. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpane.d.ts +1 -1
  219. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpane.js +25 -21
  220. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpaneEditorPerference.js +1 -6
  221. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpaneEnvironment.js +15 -10
  222. package/es/components/material-exercise/exercise-room/ExerciseRoom.styled.d.ts +30 -9
  223. package/es/components/material-exercise/exercise-room/ExerciseRoom.styled.js +32 -24
  224. package/es/components/material-exercise/exercise-room/ExerciseRoomDetail.js +103 -108
  225. package/es/components/material-exercise/exercise-room/ExerciseRoomList.js +32 -36
  226. package/es/components/material-exercise/exercise-runner/ExerciseRunner.js +53 -72
  227. package/es/components/material-exercise/exercise-runner/ExerciseRunnerController.js +7 -21
  228. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.js +2 -6
  229. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.d.ts +1 -1
  230. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.js +27 -21
  231. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js +22 -26
  232. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.d.ts +1 -1
  233. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.js +1 -1
  234. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerRunningInfo.js +28 -26
  235. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusIndicator.d.ts +4 -1
  236. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusIndicator.js +5 -5
  237. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusMessage.d.ts +1 -1
  238. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusMessage.js +14 -10
  239. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerTimer.js +5 -8
  240. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.js +108 -115
  241. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.styled.d.ts +30 -9
  242. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.styled.js +54 -25
  243. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistoryOutput.js +20 -16
  244. package/es/components/material-exercise/index.d.ts +1 -1
  245. package/es/components/shared/exercise-menu-button/ExerciseMenuButton.d.ts +1 -1
  246. package/es/components/shared/exercise-menu-button/ExerciseMenuButton.js +18 -10
  247. package/es/components/shared/exercise-shimmer/ExerciseFileShimmer.d.ts +1 -1
  248. package/es/components/shared/exercise-shimmer/ExerciseFileShimmer.js +16 -16
  249. package/es/components/shared/exercise-shimmer/ExerciseFileTabShimmer.d.ts +1 -1
  250. package/es/components/shared/exercise-shimmer/ExerciseFileTabShimmer.js +8 -8
  251. package/es/components/shared/exercise-shimmer/ExerciseFileTabsShimmer.d.ts +1 -1
  252. package/es/components/shared/exercise-shimmer/ExerciseFileTabsShimmer.js +4 -4
  253. package/es/components/shared/exercise-shimmer/ExerciseFileTreeListItemShimmer.d.ts +1 -1
  254. package/es/components/shared/exercise-shimmer/ExerciseFileTreeListItemShimmer.js +12 -12
  255. package/es/components/shared/exercise-shimmer/ExerciseFileTreeListShimmer.js +18 -10
  256. package/es/components/shared/exercise-version-list/ExerciseVersionList.d.ts +1 -1
  257. package/es/components/shared/exercise-version-list/ExerciseVersionList.styled.d.ts +5 -8
  258. package/es/components/shared/exercise-version-list/ExerciseVersionList.styled.js +12 -4
  259. package/es/components/shared/exercise-version-list/ExerciseVersionListItem.d.ts +1 -1
  260. package/es/components/shared/exercise-version-list/ExerciseVersionListItem.styled.d.ts +20 -5
  261. package/es/components/shared/exercise-version-list/ExerciseVersionListItem.styled.js +36 -14
  262. package/es/components/shared/file-tabs/FileTab.js +5 -5
  263. package/es/components/shared/file-tabs/FileTab.styled.d.ts +29 -8
  264. package/es/components/shared/file-tabs/FileTab.styled.js +49 -26
  265. package/es/components/shared/file-tabs/FileTabs.styled.d.ts +8 -2
  266. package/es/components/shared/file-tabs/FileTabs.styled.js +16 -8
  267. package/es/components/shared/file-tree/FileTree.d.ts +1 -1
  268. package/es/components/shared/file-tree/FileTree.js +19 -11
  269. package/es/components/shared/file-tree/FileTreeConfig.js +5 -5
  270. package/es/components/shared/file-tree/FileTreeList.d.ts +1 -1
  271. package/es/components/shared/file-tree/FileTreeList.js +10 -8
  272. package/es/components/shared/file-tree/FileTreeListItemContent.js +5 -5
  273. package/es/components/shared/file-tree/FileTreeListItemContent.styled.d.ts +35 -10
  274. package/es/components/shared/file-tree/FileTreeListItemContent.styled.js +49 -33
  275. package/es/components/shared/file-tree/FileTreeListItemContentInput.js +9 -9
  276. package/es/components/shared/file-tree/FileTreeListItemContentInput.styled.d.ts +7 -3
  277. package/es/components/shared/file-tree/FileTreeListItemContentInput.styled.js +15 -7
  278. package/es/components/shared/file-tree/FileTreeListItemContentMenu.js +1 -1
  279. package/es/components/shared/file-tree/FileTreeListItems.d.ts +1 -1
  280. package/es/components/shared/file-tree/FileTreeListItems.js +13 -11
  281. package/es/components/shared/file-tree/FileTreeListItems.styled.d.ts +8 -2
  282. package/es/components/shared/file-tree/FileTreeListItems.styled.js +22 -7
  283. package/es/components/shared/file-tree/FileTreeToolbar.styled.d.ts +4 -1
  284. package/es/components/shared/file-tree/FileTreeToolbar.styled.js +4 -4
  285. package/es/components/shared/file-tree/context/FileTreeContext.d.ts +1 -1
  286. package/es/components/shared/file-tree/context/FileTreeContext.js +0 -1
  287. package/es/components/shared/file-tree/file-tree-toolbar/FileTreeToolbar.js +7 -7
  288. package/es/components/shared/file-tree/index.d.ts +1 -1
  289. package/es/components/shared/file-tree/utils/fileTreeGenerator.js +3 -5
  290. package/es/components/shared/file-viewer/FileViewer.js +9 -13
  291. package/es/components/shared/file-viewer/FileViewerCsv.js +68 -52
  292. package/es/components/shared/file-viewer/FileViewerImage.d.ts +1 -1
  293. package/es/components/shared/file-viewer/FileViewerImage.js +13 -9
  294. package/es/components/shared/file-viewer/FileViewerIpynb.js +13 -9
  295. package/es/components/shared/file-viewer/FileViewerNonViewable.d.ts +1 -1
  296. package/es/components/shared/file-viewer/FileViewerNonViewable.js +45 -16
  297. package/es/components/shared/file-viewer/FileViewerText.js +3 -13
  298. package/es/components/shared/material-modal/MaterialModal.d.ts +1 -1
  299. package/es/components/shared/material-modal/MaterialModal.styled.d.ts +19 -6
  300. package/es/components/shared/material-modal/MaterialModal.styled.js +24 -16
  301. package/es/components/shared/monaco-editor/MonacoEditor.js +21 -13
  302. package/es/components/shared/monaco-editor/MonacoEditorLazy.js +0 -4
  303. package/es/components/shared/monaco-editor/MonacoEditorMobile.js +2 -2
  304. package/es/components/shared/monaco-editor/MonacoEditorPerferenceForm.js +27 -20
  305. package/es/components/shared/monaco-editor/editor-hooks/useMonacoMarkers.js +0 -1
  306. package/es/components/shared/monaco-editor/editor-hooks/useMonacoOptions.d.ts +0 -1
  307. package/es/components/shared/monaco-editor/editor-hooks/useMonacoOptions.js +2 -2
  308. package/es/components/shared/monaco-editor/editor-hooks/useMonacoTheme.d.ts +1 -1
  309. package/es/components/shared/monaco-editor/editor-hooks/useMonacoTheme.js +1 -2
  310. package/es/components/shared/monaco-editor/editor-languages/css/formatter.js +18 -22
  311. package/es/components/shared/monaco-editor/editor-languages/css/index.js +1 -1
  312. package/es/components/shared/monaco-editor/editor-languages/html/formatter.js +18 -22
  313. package/es/components/shared/monaco-editor/editor-languages/html/index.js +1 -1
  314. package/es/components/shared/monaco-editor/editor-languages/typescript/formatter.js +21 -25
  315. package/es/components/shared/monaco-editor/editor-languages/typescript/index.js +1 -2
  316. package/es/components/shared/monaco-editor/hooks/useEditorOptions.js +1 -1
  317. package/es/components/shared/monaco-editor/index.js +2 -2
  318. package/es/components/shared/monaco-editor/utils/emmet/abbreviationActions.d.ts +1 -1
  319. package/es/components/shared/monaco-editor/utils/emmet/abbreviationActions.js +2 -2
  320. package/es/components/shared/monaco-editor/utils/emmet/registerProvider.js +2 -2
  321. package/es/components/shared/monaco-editor/utils/grammar/index.js +25 -29
  322. package/es/components/shared/monaco-editor/utils/grammar/onigasm.js +9 -10
  323. package/es/components/shared/monaco-editor/utils/grammar/textmate.js +17 -19
  324. package/es/components/shared/monaco-editor/utils/prettier/index.js +14 -17
  325. package/es/components/shared/monaco-editor/utils/theme/convert.js +1 -1
  326. package/es/components/shared/monaco-editor/utils/theme/index.js +5 -8
  327. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursor.js +1 -2
  328. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorManager.d.ts +1 -2
  329. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorManager.js +2 -3
  330. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorWidget.js +1 -2
  331. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelection.js +1 -2
  332. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelectionManager.d.ts +1 -2
  333. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelectionManager.js +1 -2
  334. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/styles.d.ts +1 -1
  335. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/styles.js +2 -2
  336. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/emmetHelper.js +1 -2
  337. package/es/components/shared/no-vnc/NoVnc.js +43 -23
  338. package/es/components/shared/preview-container/PreviewContainer.d.ts +1 -1
  339. package/es/components/shared/preview-container/PreviewContainer.js +7 -7
  340. package/es/components/shared/web-browser/WebBrowser.js +19 -11
  341. package/es/components/shared/xterm/Xterm.js +8 -8
  342. package/es/components/shared/xterm/utils/index.js +0 -1
  343. package/es/constants/stylesheets.d.ts +2 -2
  344. package/es/constants/stylesheets.js +2 -2
  345. package/es/hooks/useArduino.js +72 -82
  346. package/es/hooks/useExerciseFile.js +1 -4
  347. package/es/hooks/useMaterialExerciseFileUrl.js +14 -14
  348. package/es/hooks/useRunnerRoomWebSocket.js +8 -11
  349. package/es/hooks/useStdioTextConcator.js +3 -6
  350. package/es/hooks/useUsercodeEditWebSocket.js +27 -30
  351. package/es/hooks/useUsercodeHistory.js +29 -31
  352. package/es/index.js +3 -3
  353. package/es/utils/arduino.d.ts +0 -3
  354. package/es/utils/arduino.js +1 -1
  355. package/package.json +15 -17
@@ -1,16 +1,24 @@
1
+ import _styled from '@emotion/styled/base';
1
2
  import { Input } from '@elice/blocks';
2
3
  import { base } from '@elice/design-tokens';
3
- import styled from 'styled-components';
4
4
 
5
+ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
5
6
  var INPUT_HEIGHT = '1.25rem';
6
7
  var INPUT_FONT_SIZE = '0.75rem';
7
8
  var INPUT_INNER_LEFT_PADDING = '0.125rem';
8
9
  var INPUT_INNER_RIGHT_PADDING = '0.25rem';
9
- var StyledInputForm = styled.form.withConfig({
10
- componentId: "sc-1glq6yp-0"
11
- })(["flex:1;display:flex;"]);
12
- var StyledInput = styled(Input).withConfig({
13
- componentId: "sc-1glq6yp-1"
14
- })(["min-height:", ";> div{background:transparent !important;> div{&:nth-child(1){padding:", ";}&:nth-child(3){padding:", ";}}.eb-icon{width:0.875em;height:0.875em;font-size:0.875em;}}& input{padding-top:0 !important;padding-bottom:0 !important;height:", " !important;color:", " !important;font-size:", " !important;}"], INPUT_HEIGHT, INPUT_INNER_LEFT_PADDING, INPUT_INNER_RIGHT_PADDING, INPUT_HEIGHT, base.color.gray0, INPUT_FONT_SIZE);
10
+ var StyledInputForm = /*#__PURE__*/_styled("form", {
11
+ target: "e14adbux1"
12
+ })("production" === "production" ? {
13
+ name: "y3klfd",
14
+ styles: "flex:1;display:flex"
15
+ } : {
16
+ name: "y3klfd",
17
+ styles: "flex:1;display:flex",
18
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
19
+ });
20
+ var StyledInput = /*#__PURE__*/_styled(Input, {
21
+ target: "e14adbux0"
22
+ })("min-height:", INPUT_HEIGHT, ";>div{background:transparent!important;>div{&:nth-child(1){padding:", INPUT_INNER_LEFT_PADDING, ";}&:nth-child(3){padding:", INPUT_INNER_RIGHT_PADDING, ";}}.eb-icon{width:0.875em;height:0.875em;font-size:0.875em;}}& input{padding-top:0!important;padding-bottom:0!important;height:", INPUT_HEIGHT, "!important;color:", base.color.gray0, "!important;font-size:", INPUT_FONT_SIZE, "!important;}");
15
23
 
16
24
  export { StyledInput, StyledInputForm };
@@ -242,11 +242,11 @@ var FileTreeListItemContentMenu = function FileTreeListItemContentMenu(_ref) {
242
242
  */
243
243
  var renderMenu = function renderMenu() {
244
244
  return jsxs(Menu, {
245
+ dark: true,
245
246
  open: Boolean(anchorEl),
246
247
  anchorEl: anchorEl,
247
248
  size: "xsmall",
248
249
  placement: "right-start",
249
- dark: true,
250
250
  onClose: onClose,
251
251
  children: [renderMenuItemReadOnlySet(), renderMenuItemReadOnlyUnset(), renderMenuItemHiddenSet(), renderMenuItemHiddenUnset(), renderMenuItemNewFile(), renderMenuItemNewDirectory(), renderMenuItemRename(), renderMenuItemDelete()]
252
252
  });
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import type React from 'react';
2
2
  import type { FileTreeNode } from './utils';
3
3
  interface FileTreeListItemProps {
4
4
  node: FileTreeNode;
@@ -1,13 +1,13 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import { base } from '@elice/design-tokens';
3
- import { useFileTreeState, useFileTreeDispatch } from './context/FileTreeContext.js';
4
3
  import FileTreeListItemContent from './FileTreeListItemContent.js';
5
- import { validateFilesSize } from './utils/fileTreeFiles.js';
6
- import { getTargetDirectoryPath } from './utils/fileTreeInput.js';
7
- import { isMovingTheSamePath } from './utils/fileTreePath.js';
8
4
  import { StyledTreeItems, StyledTreeItem } from './FileTreeListItems.styled.js';
5
+ import { isMovingTheSamePath } from './utils/fileTreePath.js';
6
+ import { useFileTreeState, useFileTreeDispatch } from './context/FileTreeContext.js';
7
+ import { getTargetDirectoryPath } from './utils/fileTreeInput.js';
8
+ import { validateFilesSize } from './utils/fileTreeFiles.js';
9
9
 
10
- var FileTreeListItems = function FileTreeListItems(_ref) {
10
+ var _FileTreeListItems = function FileTreeListItems(_ref) {
11
11
  var node = _ref.node,
12
12
  _ref$indent = _ref.indent,
13
13
  indent = _ref$indent === void 0 ? 1 : _ref$indent;
@@ -58,7 +58,7 @@ var FileTreeListItems = function FileTreeListItems(_ref) {
58
58
  /**
59
59
  *
60
60
  */
61
- var getDragEndHandler = function getDragEndHandler(childNode) {
61
+ var getDragEndHandler = function getDragEndHandler(_) {
62
62
  return function (e) {
63
63
  e.preventDefault();
64
64
  e.stopPropagation();
@@ -140,12 +140,14 @@ var FileTreeListItems = function FileTreeListItems(_ref) {
140
140
  }
141
141
  if (dragFileTreeNode && dropzonePath !== null) {
142
142
  if (dragFileTreeNode.isDirectory) {
143
+ // eslint-disable-next-line @typescript-eslint/no-unused-expressions
143
144
  onDirectoryMove && void onDirectoryMove({
144
145
  currentFilename: dragFileTreeNode.path,
145
146
  newPath: dropzonePath,
146
147
  newName: dragFileTreeNode.title
147
148
  });
148
149
  } else {
150
+ // eslint-disable-next-line @typescript-eslint/no-unused-expressions
149
151
  onFileMove && void onFileMove({
150
152
  currentFilename: dragFileTreeNode.path,
151
153
  newPath: dropzonePath,
@@ -176,19 +178,19 @@ var FileTreeListItems = function FileTreeListItems(_ref) {
176
178
  "aria-posinset": index + 1,
177
179
  "aria-expanded": childNode.isDirectory && childNode.expanded,
178
180
  draggable: !newInput && !renameInputPath && childNode.isRemovable,
181
+ style: {
182
+ backgroundColor: dropzonePath === childNode.path && !childNode.isEdit ? base.color.primary7 : ''
183
+ },
179
184
  onDragStart: getDragStartHandler(childNode),
180
185
  onDragEnd: getDragEndHandler(),
181
186
  onDragEnter: getDragEnterHandler(childNode),
182
187
  onDragOver: getDragOverHandler(),
183
188
  onDrop: getDropHandler(),
184
- style: {
185
- backgroundColor: dropzonePath === childNode.path && !childNode.isEdit ? base.color.primary7 : ''
186
- },
187
189
  children: [jsx(FileTreeListItemContent, {
188
190
  node: childNode,
189
191
  parentNode: node,
190
192
  indent: indent
191
- }), childNode.children.length > 0 && childNode.expanded ? jsx(FileTreeListItems, {
193
+ }), childNode.children.length > 0 && childNode.expanded ? jsx(_FileTreeListItems, {
192
194
  node: childNode,
193
195
  indent: indent
194
196
  }) : null]
@@ -197,4 +199,4 @@ var FileTreeListItems = function FileTreeListItems(_ref) {
197
199
  });
198
200
  };
199
201
 
200
- export { FileTreeListItems as default };
202
+ export { _FileTreeListItems as default };
@@ -1,2 +1,8 @@
1
- export declare const StyledTreeItems: import("styled-components").StyledComponent<"ul", any, {}, never>;
2
- export declare const StyledTreeItem: import("styled-components").StyledComponent<"li", any, {}, never>;
1
+ export declare const StyledTreeItems: import("@emotion/styled").StyledComponent<{
2
+ theme?: import("@emotion/react").Theme;
3
+ as?: React.ElementType;
4
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLUListElement>, HTMLUListElement>, {}>;
5
+ export declare const StyledTreeItem: import("@emotion/styled").StyledComponent<{
6
+ theme?: import("@emotion/react").Theme;
7
+ as?: React.ElementType;
8
+ }, import("react").DetailedHTMLProps<import("react").LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, {}>;
@@ -1,10 +1,25 @@
1
- import styled from 'styled-components';
1
+ import _styled from '@emotion/styled/base';
2
2
 
3
- var StyledTreeItems = styled.ul.withConfig({
4
- componentId: "sc-1bh7pa8-0"
5
- })(["padding:0;margin:0;overflow:hidden;"]);
6
- var StyledTreeItem = styled.li.withConfig({
7
- componentId: "sc-1bh7pa8-1"
8
- })(["list-style:none;cursor:pointer;"]);
3
+ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
4
+ var StyledTreeItems = /*#__PURE__*/_styled("ul", {
5
+ target: "edfr9o21"
6
+ })("production" === "production" ? {
7
+ name: "n5lwfe",
8
+ styles: "padding:0;margin:0;overflow:hidden"
9
+ } : {
10
+ name: "n5lwfe",
11
+ styles: "padding:0;margin:0;overflow:hidden",
12
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
13
+ });
14
+ var StyledTreeItem = /*#__PURE__*/_styled("li", {
15
+ target: "edfr9o20"
16
+ })("production" === "production" ? {
17
+ name: "i710ph",
18
+ styles: "list-style:none;cursor:pointer"
19
+ } : {
20
+ name: "i710ph",
21
+ styles: "list-style:none;cursor:pointer",
22
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
23
+ });
9
24
 
10
25
  export { StyledTreeItem, StyledTreeItems };
@@ -1 +1,4 @@
1
- export declare const StyledFileTreeToolbar: import("styled-components").StyledComponent<"div", any, {}, never>;
1
+ export declare const StyledFileTreeToolbar: import("@emotion/styled").StyledComponent<{
2
+ theme?: import("@emotion/react").Theme;
3
+ as?: React.ElementType;
4
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
@@ -1,8 +1,8 @@
1
+ import _styled from '@emotion/styled/base';
1
2
  import { base } from '@elice/design-tokens';
2
- import styled from 'styled-components';
3
3
 
4
- var StyledFileTreeToolbar = styled.div.withConfig({
5
- componentId: "sc-1lmdwux-0"
6
- })(["flex:0 0 2.25rem;display:flex;align-items:center;padding:0.25rem 0.5rem;background-color:", ";"], base.color.navy8);
4
+ var StyledFileTreeToolbar = /*#__PURE__*/_styled("div", {
5
+ target: "e8jw97x0"
6
+ })("flex:0 0 2.25rem;display:flex;align-items:center;padding:0.25rem 0.5rem;background-color:", base.color.navy8, ";");
7
7
 
8
8
  export { StyledFileTreeToolbar };
@@ -121,7 +121,7 @@ interface DispatchContextType {
121
121
  onSetInitialOpenFile?: OnInitialOpenFileSet;
122
122
  onFilesUpload?: OnFilesUpload;
123
123
  }
124
- declare function FileTreeProvider({ theme, collapsed, activePath, allowToggleReadonly, allowToggleHidden, onCollapse, onActivePathChange, maxFileUploadSize, onFilesUpload, onFileAdd, onDirectoryAdd, onHiddenSet, onReadOnlySet, onFileDelete, onDirectoryDelete, onFileMove, onDirectoryMove, exerciseRoomFilelist, imageFilelist, readOnlyFilelist, hiddenFilelist, isHiddenFilelistVisible, children, }: FileTreeProviderProps): JSX.Element;
124
+ declare function FileTreeProvider({ theme, collapsed, activePath, allowToggleReadonly, allowToggleHidden, onCollapse, onActivePathChange, maxFileUploadSize, onFilesUpload, onFileAdd, onDirectoryAdd, onHiddenSet, onReadOnlySet, onFileDelete, onDirectoryDelete, onFileMove, onDirectoryMove, exerciseRoomFilelist, imageFilelist, readOnlyFilelist, hiddenFilelist, isHiddenFilelistVisible, children, }: FileTreeProviderProps): import("react/jsx-runtime").JSX.Element;
125
125
  declare function useFileTreeState(): StateContextType;
126
126
  declare function useFileTreeDispatch(): DispatchContextType;
127
127
  export { FileTreeProvider, useFileTreeState, useFileTreeDispatch };
@@ -1,7 +1,6 @@
1
1
  import { slicedToArray as _slicedToArray, toConsumableArray as _toConsumableArray } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
2
2
  import { jsx } from 'react/jsx-runtime';
3
3
  import React from 'react';
4
- import 'filesize';
5
4
  import { create } from '../utils/fileTreeGenerator.js';
6
5
 
7
6
  var StateContext = React.createContext(undefined);
@@ -2,13 +2,13 @@ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
2
2
  import React from 'react';
3
3
  import { eilFileAdd, eilFolderAdd, eilUpload } from '@elice/icons';
4
4
  import { IntlComponentBuilder, useRawEliceIntl } from '@elice/intl';
5
- import ExerciseMenuButton from '../../exercise-menu-button/ExerciseMenuButton.js';
6
- import { useFileTreeState, useFileTreeDispatch } from '../context/FileTreeContext.js';
7
- import { validateFilesSize } from '../utils/fileTreeFiles.js';
8
- import { getTargetDirectoryPath } from '../utils/fileTreeInput.js';
5
+ import { StyledFileTreeToolbar } from '../FileTreeToolbar.styled.js';
9
6
  import messageEn from './locales/en.json.js';
10
7
  import messageKo from './locales/ko.json.js';
11
- import { StyledFileTreeToolbar } from '../FileTreeToolbar.styled.js';
8
+ import { useFileTreeState, useFileTreeDispatch } from '../context/FileTreeContext.js';
9
+ import ExerciseMenuButton from '../../exercise-menu-button/ExerciseMenuButton.js';
10
+ import { getTargetDirectoryPath } from '../utils/fileTreeInput.js';
11
+ import { validateFilesSize } from '../utils/fileTreeFiles.js';
12
12
 
13
13
  var FileTreeToolbar = function FileTreeToolbar(_ref) {
14
14
  var className = _ref.className;
@@ -81,13 +81,13 @@ var FileTreeToolbar = function FileTreeToolbar(_ref) {
81
81
  (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.click();
82
82
  }
83
83
  }), jsx("input", {
84
+ multiple: true,
84
85
  ref: inputRef,
85
86
  type: "file",
86
- multiple: true,
87
87
  style: {
88
88
  display: 'none'
89
89
  },
90
- onChange: function onChange(e) {
90
+ onChange: function onChange() {
91
91
  var _a;
92
92
  var files = (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.files;
93
93
  if (files && typeof onFilesUpload === 'function') {
@@ -11,5 +11,5 @@ export type { OnFilesUpload, OnFilesUploadParams } from './interface';
11
11
  export type { OnDirectoryMove, OnDirectoryMoveParams } from './interface';
12
12
  export type { OnFileMove, OnFileMoveParams } from './interface';
13
13
  export type { OnHiddenSet, OnHiddenSetParams } from './interface';
14
- export type { OnInitialOpenFileSet, OnInitialOpenFileSetParams, } from './interface';
14
+ export type { OnInitialOpenFileSet, OnInitialOpenFileSetParams } from './interface';
15
15
  export type { OnReadOnlySet, OnReadOnlySetParams } from './interface';
@@ -1,4 +1,4 @@
1
- import { createClass as _createClass, toConsumableArray as _toConsumableArray, classCallCheck as _classCallCheck, createForOfIteratorHelper as _createForOfIteratorHelper } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
1
+ import { toConsumableArray as _toConsumableArray, createClass as _createClass, createForOfIteratorHelper as _createForOfIteratorHelper, classCallCheck as _classCallCheck } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
2
2
  import { getTitle } from './fileTreeItem.js';
3
3
 
4
4
  var FileTreeRoot = /*#__PURE__*/function () {
@@ -28,7 +28,7 @@ var FileTreeRoot = /*#__PURE__*/function () {
28
28
  this.renameInputPath = renameInputPath;
29
29
  this.initialOpenFilelist = initialOpenFilelist;
30
30
  }
31
- _createClass(FileTreeRoot, [{
31
+ return _createClass(FileTreeRoot, [{
32
32
  key: "createDirectoryNode",
33
33
  value: function createDirectoryNode(path, parentPath) {
34
34
  return new FileTreeNode({
@@ -144,7 +144,6 @@ var FileTreeRoot = /*#__PURE__*/function () {
144
144
  return node.isRemovable;
145
145
  }
146
146
  }]);
147
- return FileTreeRoot;
148
147
  }();
149
148
  var FileTreeNode = /*#__PURE__*/function () {
150
149
  function FileTreeNode(_ref2) {
@@ -182,7 +181,7 @@ var FileTreeNode = /*#__PURE__*/function () {
182
181
  this.isInitialOpen = isInitialOpen;
183
182
  this.children = [];
184
183
  }
185
- _createClass(FileTreeNode, [{
184
+ return _createClass(FileTreeNode, [{
186
185
  key: "findTreeNode",
187
186
  value: function findTreeNode(path) {
188
187
  var depth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
@@ -197,7 +196,6 @@ var FileTreeNode = /*#__PURE__*/function () {
197
196
  return;
198
197
  }
199
198
  }]);
200
- return FileTreeNode;
201
199
  }();
202
200
  function create(_ref3) {
203
201
  var imageFilelist = _ref3.imageFilelist,
@@ -1,4 +1,5 @@
1
1
  import { slicedToArray as _slicedToArray } from '../../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import _styled from '@emotion/styled/base';
2
3
  import { jsx, jsxs } from 'react/jsx-runtime';
3
4
  import React, { useState } from 'react';
4
5
  import { Flex, Hspace, Icon } from '@elice/blocks';
@@ -7,17 +8,12 @@ import { eilDownload } from '@elice/icons';
7
8
  import { IntlComponentBuilder } from '@elice/intl';
8
9
  import FileSaver from 'file-saver';
9
10
  import mime from 'mime';
10
- import styled from 'styled-components';
11
- import ExerciseFileShimmer from '../exercise-shimmer/ExerciseFileShimmer.js';
12
- import '../exercise-shimmer/ExerciseFileTabsShimmer.js';
13
- import '../exercise-shimmer/ExerciseFileTabShimmer.js';
14
- import '../exercise-shimmer/ExerciseFileTreeListShimmer.js';
15
- import '../exercise-shimmer/ExerciseFileTreeListItemShimmer.js';
16
11
  import phrasesEn from './locales/en.json.js';
17
12
  import phrasesJa from './locales/ja.json.js';
18
13
  import phrasesKo from './locales/ko.json.js';
19
14
  import phrasesTh from './locales/th.json.js';
20
15
  import FileViewerNonViewable from './FileViewerNonViewable.js';
16
+ import ExerciseFileShimmer from '../exercise-shimmer/ExerciseFileShimmer.js';
21
17
 
22
18
  var AsyncFileViewerCsv = React.lazy(function () {
23
19
  return import('./FileViewerCsv.js');
@@ -31,12 +27,12 @@ var AsyncFileViewerIpynb = React.lazy(function () {
31
27
  var AsyncFileViewerText = React.lazy(function () {
32
28
  return import('./FileViewerText.js');
33
29
  });
34
- var StyledFileWrapper = styled.div.withConfig({
35
- componentId: "sc-197v06u-0"
36
- })(["display:flex;justify-content:center;align-items:center;background-color:", ";width:100%;height:100%;"], base.color.navy9);
37
- var StyledReadonlyBanner = styled.div.withConfig({
38
- componentId: "sc-197v06u-1"
39
- })(["width:100%;padding:0.7rem;color:white;font-size:0.7rem;a{color:", ";font-weight:bold;text-decoration:underline;.eb-icon{margin-right:0.25rem;}}"], base.color.primary5);
30
+ var StyledFileWrapper = /*#__PURE__*/_styled("div", {
31
+ target: "e8vydcg1"
32
+ })("display:flex;justify-content:center;align-items:center;background-color:", base.color.navy9, ";width:100%;height:100%;");
33
+ var StyledReadonlyBanner = /*#__PURE__*/_styled("div", {
34
+ target: "e8vydcg0"
35
+ })("width:100%;padding:0.7rem;color:white;font-size:0.7rem;a{color:", base.color.primary5, ";font-weight:bold;text-decoration:underline;.eb-icon{margin-right:0.25rem;}}");
40
36
  var FileViewer = function FileViewer(_ref) {
41
37
  var filename = _ref.filename,
42
38
  fileurl = _ref.fileurl,
@@ -93,7 +89,7 @@ var FileViewer = function FileViewer(_ref) {
93
89
  return res.blob();
94
90
  }).then(function (blob) {
95
91
  return FileSaver.saveAs(blob, filename);
96
- }).catch(function () {
92
+ })["catch"](function () {
97
93
  var win = window.open(fileurl, '_blank');
98
94
  if (win) {
99
95
  win.focus();
@@ -1,64 +1,82 @@
1
1
  import { slicedToArray as _slicedToArray, toConsumableArray as _toConsumableArray } from '../../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import _styled from '@emotion/styled/base';
2
3
  import { jsx, jsxs } from 'react/jsx-runtime';
3
4
  import React from 'react';
4
- import { Hr, Flex, Text, IconButton, Hspace, AntSwitch } from '@elice/blocks';
5
+ import { Flex, Text, IconButton, Hspace, AntSwitch, Hr } from '@elice/blocks';
5
6
  import { base } from '@elice/design-tokens';
6
7
  import { eilArrowLeftwardsDouble, eilArrowLeftwardsSingle, eilArrowRightwardsSingle, eilArrowRightwardsDouble } from '@elice/icons';
7
8
  import { IntlComponentBuilder } from '@elice/intl';
8
- import styled from 'styled-components';
9
- import ExerciseFileShimmer from '../exercise-shimmer/ExerciseFileShimmer.js';
10
- import '../exercise-shimmer/ExerciseFileTabsShimmer.js';
11
- import '../exercise-shimmer/ExerciseFileTabShimmer.js';
12
- import '../exercise-shimmer/ExerciseFileTreeListShimmer.js';
13
- import '../exercise-shimmer/ExerciseFileTreeListItemShimmer.js';
14
9
  import phrasesEn from './locales/en.json.js';
15
10
  import phrasesJa from './locales/ja.json.js';
16
11
  import phrasesKo from './locales/ko.json.js';
17
12
  import phrasesTh from './locales/th.json.js';
13
+ import ExerciseFileShimmer from '../exercise-shimmer/ExerciseFileShimmer.js';
18
14
 
15
+ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
19
16
  //
20
17
  //
21
18
  //
22
19
  var OPTIONS_PER_PAGE = [10, 25, 50];
23
20
  var OPTIONS_DELIMITER = [{
24
- char: ',',
21
+ "char": ',',
25
22
  label: 'Comma [,]'
26
23
  }, {
27
- char: '\t',
24
+ "char": '\t',
28
25
  label: 'Tab [\\t]'
29
26
  }, {
30
- char: '/',
27
+ "char": '/',
31
28
  label: 'Regular Bar [/]'
32
29
  }, {
33
- char: '\\',
30
+ "char": '\\',
34
31
  label: 'Inverted Bar [\\]'
35
32
  }, {
36
- char: '|',
33
+ "char": '|',
37
34
  label: 'Vertical Bar [|]'
38
35
  }];
39
36
  //
40
37
  //
41
38
  //
42
- var StyledViewer = styled.div.withConfig({
43
- componentId: "sc-pyv7uu-0"
44
- })(["flex:1;display:flex;flex-direction:column;width:100%;height:100%;min-width:0;min-height:0;background-color:", ";"], base.color.navy9);
45
- var StyledViewerTableWrap = styled.div.withConfig({
46
- componentId: "sc-pyv7uu-1"
47
- })(["flex:1;overflow:auto;"]);
48
- var StyledViewerTable = styled.table.withConfig({
49
- componentId: "sc-pyv7uu-2"
50
- })(["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);
51
- var StyledViewerFooter = styled.div.withConfig({
52
- componentId: "sc-pyv7uu-3"
53
- })(["flex:0 0 auto;display:flex;justify-content:space-between;align-items:center;padding:0.5rem;"]);
54
- var StyledViewerFooterSelect = styled.select.withConfig({
55
- componentId: "sc-pyv7uu-4"
56
- })(["width:", "rem;border-radius:0.25rem;"], function (props) {
39
+ var StyledViewer = /*#__PURE__*/_styled("div", {
40
+ target: "eqmpszh5"
41
+ })("flex:1;display:flex;flex-direction:column;width:100%;height:100%;min-width:0;min-height:0;background-color:", base.color.navy9, ";");
42
+ var StyledViewerTableWrap = /*#__PURE__*/_styled("div", {
43
+ target: "eqmpszh4"
44
+ })("production" === "production" ? {
45
+ name: "1tc6xju",
46
+ styles: "flex:1;overflow:auto"
47
+ } : {
48
+ name: "1tc6xju",
49
+ styles: "flex:1;overflow:auto",
50
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
51
+ });
52
+ var StyledViewerTable = /*#__PURE__*/_styled("table", {
53
+ target: "eqmpszh3"
54
+ })("border:none;border-collapse:collapse;color:", base.color.white, ";font-family:'Elice Digital Coding',monospace,fixed-width;th,td{border:1px solid ", base.color.navy5, ";padding:0.5rem;white-space:pre;&:first-of-type{color:", base.color.gray5, ";border-left:none;}&:last-of-type{border-right:none;}}tbody{tr:nth-child(odd){background:", base.color.navy8, ";}tr:hover{background:", base.color.navy6, ";}}");
55
+ var StyledViewerFooter = /*#__PURE__*/_styled("div", {
56
+ target: "eqmpszh2"
57
+ })("production" === "production" ? {
58
+ name: "1jiwe9a",
59
+ styles: "flex:0 0 auto;display:flex;justify-content:space-between;align-items:center;padding:0.5rem"
60
+ } : {
61
+ name: "1jiwe9a",
62
+ styles: "flex:0 0 auto;display:flex;justify-content:space-between;align-items:center;padding:0.5rem",
63
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
64
+ });
65
+ var StyledViewerFooterSelect = /*#__PURE__*/_styled("select", {
66
+ target: "eqmpszh1"
67
+ })("width:", function (props) {
57
68
  return props.width;
69
+ }, "rem;border-radius:0.25rem;");
70
+ var StyledViewerFooterHr = /*#__PURE__*/_styled(Hr, {
71
+ target: "eqmpszh0"
72
+ })("production" === "production" ? {
73
+ name: "1f87p0t",
74
+ styles: "height:1rem"
75
+ } : {
76
+ name: "1f87p0t",
77
+ styles: "height:1rem",
78
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
58
79
  });
59
- var StyledViewerFooterHr = styled(Hr).withConfig({
60
- componentId: "sc-pyv7uu-5"
61
- })(["height:1rem;"]);
62
80
  //
63
81
  //
64
82
  //
@@ -82,21 +100,21 @@ var FileViewerCsv = function FileViewerCsv(_ref) {
82
100
  csvStatus = _React$useState8[0],
83
101
  setCsvStatus = _React$useState8[1];
84
102
  var _React$useState9 = React.useState(1),
85
- _React$useState10 = _slicedToArray(_React$useState9, 2),
86
- page = _React$useState10[0],
87
- setPage = _React$useState10[1];
88
- var _React$useState11 = React.useState(OPTIONS_PER_PAGE[0]),
103
+ _React$useState0 = _slicedToArray(_React$useState9, 2),
104
+ page = _React$useState0[0],
105
+ setPage = _React$useState0[1];
106
+ var _React$useState1 = React.useState(OPTIONS_PER_PAGE[0]),
107
+ _React$useState10 = _slicedToArray(_React$useState1, 2),
108
+ perPage = _React$useState10[0],
109
+ setPerPage = _React$useState10[1];
110
+ var _React$useState11 = React.useState(OPTIONS_DELIMITER[0]["char"]),
89
111
  _React$useState12 = _slicedToArray(_React$useState11, 2),
90
- perPage = _React$useState12[0],
91
- setPerPage = _React$useState12[1];
92
- var _React$useState13 = React.useState(OPTIONS_DELIMITER[0].char),
112
+ delimiter = _React$useState12[0],
113
+ setDelimiter = _React$useState12[1];
114
+ var _React$useState13 = React.useState(true),
93
115
  _React$useState14 = _slicedToArray(_React$useState13, 2),
94
- delimiter = _React$useState14[0],
95
- setDelimiter = _React$useState14[1];
96
- var _React$useState15 = React.useState(true),
97
- _React$useState16 = _slicedToArray(_React$useState15, 2),
98
- isUsingHeader = _React$useState16[0],
99
- setUsingHeader = _React$useState16[1];
116
+ isUsingHeader = _React$useState14[0],
117
+ setUsingHeader = _React$useState14[1];
100
118
  var csvRecordCount = csvRecords.length + (csvHeader ? -1 : 0);
101
119
  var maxPage = Math.ceil(csvRecordCount / perPage);
102
120
  var tableWrapElRef = React.useRef(null);
@@ -116,7 +134,7 @@ var FileViewerCsv = function FileViewerCsv(_ref) {
116
134
  return res.text();
117
135
  }).then(setCsv).then(function () {
118
136
  return setCsvStatus('resolved');
119
- }).catch(function (err) {
137
+ })["catch"](function (err) {
120
138
  if (err.name === 'AbortError') {
121
139
  return;
122
140
  }
@@ -182,9 +200,7 @@ var FileViewerCsv = function FileViewerCsv(_ref) {
182
200
  return jsx("td", {
183
201
  style: {
184
202
  // test whether the column is number, and align right
185
- textAlign:
186
- // eslint-disable-next-line no-self-compare
187
- +col === +col ? 'right' : 'left'
203
+ textAlign: +col === +col ? 'right' : 'left'
188
204
  },
189
205
  children: col
190
206
  }, colIdx);
@@ -312,12 +328,12 @@ var FileViewerCsv = function FileViewerCsv(_ref) {
312
328
  return setDelimiter(e.target.value);
313
329
  },
314
330
  children: OPTIONS_DELIMITER.map(function (_ref2) {
315
- var char = _ref2.char,
331
+ var _char = _ref2["char"],
316
332
  label = _ref2.label;
317
333
  return jsx("option", {
318
- value: char,
334
+ value: _char,
319
335
  children: label
320
- }, char);
336
+ }, _char);
321
337
  })
322
338
  })]
323
339
  }), jsx(StyledViewerFooterHr, {
@@ -372,6 +388,6 @@ var FileViewerCsv = function FileViewerCsv(_ref) {
372
388
  children: [renderViewerTable(), renderViewerFooter()]
373
389
  });
374
390
  };
375
- var FileViewerCsv$1 = new IntlComponentBuilder(FileViewerCsv).add('en', phrasesEn).add('ko', phrasesKo).add('th', phrasesTh).add('ja', phrasesJa).build();
391
+ var FileViewerCsv_default = new IntlComponentBuilder(FileViewerCsv).add('en', phrasesEn).add('ko', phrasesKo).add('th', phrasesTh).add('ja', phrasesJa).build();
376
392
 
377
- export { FileViewerCsv$1 as default };
393
+ export { FileViewerCsv_default as default };
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import type React from 'react';
2
2
  import type { FileViewerBaseProps } from './FileViewer';
3
3
  declare const FileViewerImage: React.VFC<FileViewerBaseProps>;
4
4
  export default FileViewerImage;
@@ -1,24 +1,28 @@
1
+ import _styled from '@emotion/styled/base';
1
2
  import { jsx } from 'react/jsx-runtime';
2
3
  import { Flex } from '@elice/blocks';
3
- import styled from 'styled-components';
4
4
  import ExerciseFileShimmer from '../exercise-shimmer/ExerciseFileShimmer.js';
5
- import '../exercise-shimmer/ExerciseFileTabsShimmer.js';
6
- import '../exercise-shimmer/ExerciseFileTabShimmer.js';
7
- import '../exercise-shimmer/ExerciseFileTreeListShimmer.js';
8
- import '../exercise-shimmer/ExerciseFileTreeListItemShimmer.js';
9
5
 
10
- var StyledImage = styled.img.withConfig({
11
- componentId: "sc-1bnx7lz-0"
12
- })(["max-width:100%;max-height:100%;height:auto;width:auto;"]);
6
+ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
7
+ var StyledImage = /*#__PURE__*/_styled("img", {
8
+ target: "e149xxe60"
9
+ })("production" === "production" ? {
10
+ name: "1rrpinh",
11
+ styles: "max-width:100%;max-height:100%;height:auto;width:auto"
12
+ } : {
13
+ name: "1rrpinh",
14
+ styles: "max-width:100%;max-height:100%;height:auto;width:auto",
15
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
16
+ });
13
17
  var FileViewerImage = function FileViewerImage(_ref) {
14
18
  var fileurl = _ref.fileurl;
15
19
  if (!fileurl) {
16
20
  return jsx(ExerciseFileShimmer, {});
17
21
  }
18
22
  return jsx(Flex, {
23
+ auto: true,
19
24
  align: "center",
20
25
  justify: "center",
21
- auto: true,
22
26
  overflow: "hidden",
23
27
  children: jsx(StyledImage, {
24
28
  src: fileurl,
@@ -1,17 +1,21 @@
1
1
  import { slicedToArray as _slicedToArray } from '../../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import _styled from '@emotion/styled/base';
2
3
  import { jsx } from 'react/jsx-runtime';
3
4
  import React from 'react';
4
5
  import NotebookPreview from '@nteract/notebook-preview';
5
- import styled from 'styled-components';
6
6
  import ExerciseFileShimmer from '../exercise-shimmer/ExerciseFileShimmer.js';
7
- import '../exercise-shimmer/ExerciseFileTabsShimmer.js';
8
- import '../exercise-shimmer/ExerciseFileTabShimmer.js';
9
- import '../exercise-shimmer/ExerciseFileTreeListShimmer.js';
10
- import '../exercise-shimmer/ExerciseFileTreeListItemShimmer.js';
11
7
 
12
- var StyledNotebookWrapper = styled.div.withConfig({
13
- componentId: "sc-1fmae1h-0"
14
- })(["width:100%;height:100%;overflow:auto;background-color:white;padding:1rem;.notebook-preview{width:100%;height:100%;}"]);
8
+ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
9
+ var StyledNotebookWrapper = /*#__PURE__*/_styled("div", {
10
+ target: "e1cliib90"
11
+ })("production" === "production" ? {
12
+ name: "17houcl",
13
+ styles: "width:100%;height:100%;overflow:auto;background-color:white;padding:1rem;.notebook-preview{width:100%;height:100%;}"
14
+ } : {
15
+ name: "17houcl",
16
+ styles: "width:100%;height:100%;overflow:auto;background-color:white;padding:1rem;.notebook-preview{width:100%;height:100%;}",
17
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
18
+ });
15
19
  var FileViewerIpynb = function FileViewerIpynb(_ref) {
16
20
  var fileurl = _ref.fileurl;
17
21
  var _React$useState = React.useState(null),
@@ -24,7 +28,7 @@ var FileViewerIpynb = function FileViewerIpynb(_ref) {
24
28
  }
25
29
  fetch(fileurl).then(function (res) {
26
30
  return res.text();
27
- }).then(JSON.parse).then(setContent).catch(function (err) {
31
+ }).then(JSON.parse).then(setContent)["catch"](function (err) {
28
32
  return console.error(err);
29
33
  });
30
34
  }, [fileurl]);
@@ -1,5 +1,5 @@
1
- import React from 'react';
2
1
  import type { WithIntlComponentBuilderProps } from '@elice/intl';
2
+ import type React from 'react';
3
3
  import type { FileViewerBaseProps } from './FileViewer';
4
4
  interface FileViewerNonViewableProps extends FileViewerBaseProps {
5
5
  onTextViewerClick?: () => void;