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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (459) hide show
  1. package/cjs/assets/empty.png.js +2 -1
  2. package/cjs/components/material-exercise/MaterialExercise.d.ts +1 -1
  3. package/cjs/components/material-exercise/MaterialExercise.js +75 -111
  4. package/cjs/components/material-exercise/MaterialExercise.styled.js +14 -18
  5. package/cjs/components/material-exercise/MaterialExerciseMobile.d.ts +1 -1
  6. package/cjs/components/material-exercise/MaterialExerciseMobile.js +7 -17
  7. package/cjs/components/material-exercise/context/ExerciseProvider.js +58 -68
  8. package/cjs/components/material-exercise/context/ExerciseProviderNoImage.js +30 -39
  9. package/cjs/components/material-exercise/context/context.js +1 -5
  10. package/cjs/components/material-exercise/context/recoil.js +293 -542
  11. package/cjs/components/material-exercise/context/subjects.js +4 -4
  12. package/cjs/components/material-exercise/context/types.d.ts +2 -2
  13. package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.js +78 -100
  14. package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.js +8 -12
  15. package/cjs/components/material-exercise/exercise-file/ExerciseFile.js +27 -30
  16. package/cjs/components/material-exercise/exercise-file-editor/ExerciseFileEditor.js +149 -225
  17. package/cjs/components/material-exercise/exercise-file-editor/ExerciseFileReadOnlyBanner.js +13 -20
  18. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabs.js +29 -49
  19. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.d.ts +2 -1
  20. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.js +4 -10
  21. package/cjs/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/ExerciseFileTabsFileTreeButton.js +36 -53
  22. package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTree.js +211 -353
  23. package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.d.ts +2 -1
  24. package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.js +4 -10
  25. package/cjs/components/material-exercise/exercise-file-viewer/ExerciseFileViewer.js +15 -18
  26. package/cjs/components/material-exercise/exercise-menu/ExerciseMenu.js +12 -21
  27. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.js +11 -12
  28. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.js +80 -123
  29. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuDropdown.js +67 -100
  30. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuReset.js +22 -40
  31. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.js +119 -144
  32. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.js +13 -17
  33. package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdown.js +19 -32
  34. package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.d.ts +2 -1
  35. package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.js +4 -10
  36. package/cjs/components/material-exercise/exercise-preview/ExercisePreview.js +24 -31
  37. package/cjs/components/material-exercise/exercise-preview/ExercisePreviewDisplayModeButton.js +6 -13
  38. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpane.js +35 -51
  39. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpaneEditorPerference.js +6 -14
  40. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpaneEnvironment.js +78 -90
  41. package/cjs/components/material-exercise/exercise-room/ExerciseRoom.js +12 -25
  42. package/cjs/components/material-exercise/exercise-room/ExerciseRoom.styled.js +12 -18
  43. package/cjs/components/material-exercise/exercise-room/ExerciseRoomDetail.js +349 -504
  44. package/cjs/components/material-exercise/exercise-room/ExerciseRoomList.js +132 -197
  45. package/cjs/components/material-exercise/exercise-room/helpers/exerciseRoomPermissionStringConvertor.js +2 -2
  46. package/cjs/components/material-exercise/exercise-runner/ExerciseRunner.js +142 -205
  47. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerContext.js +1 -5
  48. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerController.js +16 -25
  49. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.js +86 -118
  50. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.js +19 -33
  51. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js +82 -95
  52. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.js +52 -68
  53. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerRunningInfo.js +87 -136
  54. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusIndicator.js +2 -6
  55. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusMessage.js +15 -21
  56. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerTimer.js +23 -36
  57. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.js +248 -402
  58. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.styled.js +8 -12
  59. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistoryOutput.js +50 -74
  60. package/cjs/components/shared/exercise-menu-button/ExerciseMenuButton.js +23 -32
  61. package/cjs/components/shared/exercise-shimmer/ExerciseFileShimmer.js +38 -44
  62. package/cjs/components/shared/exercise-shimmer/ExerciseFileTabShimmer.js +20 -26
  63. package/cjs/components/shared/exercise-shimmer/ExerciseFileTabsShimmer.js +8 -14
  64. package/cjs/components/shared/exercise-shimmer/ExerciseFileTreeListItemShimmer.js +22 -28
  65. package/cjs/components/shared/exercise-shimmer/ExerciseFileTreeListShimmer.js +9 -24
  66. package/cjs/components/shared/exercise-version-list/ExerciseVersionList.js +5 -6
  67. package/cjs/components/shared/exercise-version-list/ExerciseVersionList.styled.js +1 -5
  68. package/cjs/components/shared/exercise-version-list/ExerciseVersionListItem.js +10 -10
  69. package/cjs/components/shared/exercise-version-list/ExerciseVersionListItem.styled.js +5 -13
  70. package/cjs/components/shared/file-icon/FileIcon.js +16 -23
  71. package/cjs/components/shared/file-tabs/FileTab.js +33 -47
  72. package/cjs/components/shared/file-tabs/FileTab.styled.js +15 -23
  73. package/cjs/components/shared/file-tabs/FileTabs.js +39 -66
  74. package/cjs/components/shared/file-tabs/FileTabs.styled.js +2 -6
  75. package/cjs/components/shared/file-tabs/util.js +14 -27
  76. package/cjs/components/shared/file-tree/FileTree.js +10 -20
  77. package/cjs/components/shared/file-tree/FileTreeConfig.js +40 -46
  78. package/cjs/components/shared/file-tree/FileTreeList.js +40 -43
  79. package/cjs/components/shared/file-tree/FileTreeListItemContent.js +99 -128
  80. package/cjs/components/shared/file-tree/FileTreeListItemContent.styled.js +21 -29
  81. package/cjs/components/shared/file-tree/FileTreeListItemContentInput.js +96 -106
  82. package/cjs/components/shared/file-tree/FileTreeListItemContentInput.styled.js +6 -10
  83. package/cjs/components/shared/file-tree/FileTreeListItemContentMenu.js +91 -133
  84. package/cjs/components/shared/file-tree/FileTreeListItems.js +137 -149
  85. package/cjs/components/shared/file-tree/FileTreeListItems.styled.js +2 -6
  86. package/cjs/components/shared/file-tree/FileTreeToolbar.styled.js +1 -5
  87. package/cjs/components/shared/file-tree/context/FileTreeContext.d.ts +1 -1
  88. package/cjs/components/shared/file-tree/context/FileTreeContext.js +79 -101
  89. package/cjs/components/shared/file-tree/file-tree-toolbar/FileTreeToolbar.js +54 -59
  90. package/cjs/components/shared/file-tree/utils/fileTreeFiles.js +20 -24
  91. package/cjs/components/shared/file-tree/utils/fileTreeGenerator.js +146 -193
  92. package/cjs/components/shared/file-tree/utils/fileTreeInput.js +0 -11
  93. package/cjs/components/shared/file-tree/utils/fileTreeItem.js +1 -1
  94. package/cjs/components/shared/file-tree/utils/fileTreePath.js +6 -5
  95. package/cjs/components/shared/file-viewer/FileViewer.js +46 -76
  96. package/cjs/components/shared/file-viewer/FileViewerCsv.js +167 -262
  97. package/cjs/components/shared/file-viewer/FileViewerImage.js +12 -16
  98. package/cjs/components/shared/file-viewer/FileViewerIpynb.js +11 -27
  99. package/cjs/components/shared/file-viewer/FileViewerNonViewable.js +47 -65
  100. package/cjs/components/shared/file-viewer/FileViewerText.js +11 -23
  101. package/cjs/components/shared/material-modal/MaterialModal.js +11 -20
  102. package/cjs/components/shared/material-modal/MaterialModal.styled.js +5 -9
  103. package/cjs/components/shared/monaco-editor/MonacoEditor.js +74 -102
  104. package/cjs/components/shared/monaco-editor/MonacoEditorLazy.js +7 -15
  105. package/cjs/components/shared/monaco-editor/MonacoEditorMobile.js +34 -49
  106. package/cjs/components/shared/monaco-editor/MonacoEditorPerferenceForm.js +194 -249
  107. package/cjs/components/shared/monaco-editor/constants/grammars/index.js +28 -82
  108. package/cjs/components/shared/monaco-editor/constants/monaco/preferences.js +5 -5
  109. package/cjs/components/shared/monaco-editor/constants/themes/index.js +17 -49
  110. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventChange.js +10 -11
  111. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventCursor.js +14 -15
  112. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventScroll.js +8 -9
  113. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoMarkers.js +30 -34
  114. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoOptions.js +7 -9
  115. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoTheme.js +6 -6
  116. package/cjs/components/shared/monaco-editor/editor-languages/css/formatter.js +10 -33
  117. package/cjs/components/shared/monaco-editor/editor-languages/css/index.js +2 -3
  118. package/cjs/components/shared/monaco-editor/editor-languages/html/formatter.js +10 -33
  119. package/cjs/components/shared/monaco-editor/editor-languages/html/index.js +2 -3
  120. package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/_helper.js +1 -1
  121. package/cjs/components/shared/monaco-editor/editor-languages/typescript/formatter.js +10 -37
  122. package/cjs/components/shared/monaco-editor/editor-languages/typescript/index.js +5 -6
  123. package/cjs/components/shared/monaco-editor/hooks/useEditorOptions.js +5 -11
  124. package/cjs/components/shared/monaco-editor/utils/emmet/abbreviationActions.js +12 -10
  125. package/cjs/components/shared/monaco-editor/utils/emmet/registerProvider.js +6 -12
  126. package/cjs/components/shared/monaco-editor/utils/grammar/index.js +24 -67
  127. package/cjs/components/shared/monaco-editor/utils/grammar/onigasm.js +6 -25
  128. package/cjs/components/shared/monaco-editor/utils/grammar/textmate.js +37 -70
  129. package/cjs/components/shared/monaco-editor/utils/monacoLanguage.js +7 -8
  130. package/cjs/components/shared/monaco-editor/utils/monacoPreference.js +4 -6
  131. package/cjs/components/shared/monaco-editor/utils/prettier/config.js +2 -2
  132. package/cjs/components/shared/monaco-editor/utils/prettier/index.js +7 -27
  133. package/cjs/components/shared/monaco-editor/utils/theme/convert.js +14 -24
  134. package/cjs/components/shared/monaco-editor/utils/theme/index.js +3 -22
  135. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursor.js +56 -77
  136. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorManager.js +68 -82
  137. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorWidget.js +93 -120
  138. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelection.js +132 -155
  139. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelectionManager.js +92 -104
  140. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/styles.js +2 -2
  141. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/configCompat.js +6 -1
  142. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/data.js +2 -2
  143. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/emmetHelper.js +158 -177
  144. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/utils.js +3 -3
  145. package/cjs/components/shared/no-vnc/NoVnc.js +78 -118
  146. package/cjs/components/shared/no-vnc/NoVncLazy.js +7 -15
  147. package/cjs/components/shared/preview-container/PreviewContainer.js +13 -18
  148. package/cjs/components/shared/web-browser/WebBrowser.js +52 -74
  149. package/cjs/components/shared/xterm/Xterm.js +57 -82
  150. package/cjs/components/shared/xterm/XtermLazy.js +7 -15
  151. package/cjs/constants/arduino.js +10 -10
  152. package/cjs/constants/color.js +1 -1
  153. package/cjs/constants/shortcutKeyMap.js +1 -3
  154. package/cjs/constants/stylesheets.js +5 -7
  155. package/cjs/hooks/useArduino.js +141 -282
  156. package/cjs/hooks/useExerciseFile.js +22 -24
  157. package/cjs/hooks/useExericseShortcut.js +4 -6
  158. package/cjs/hooks/useMaterialExerciseFileUrl.js +33 -55
  159. package/cjs/hooks/useRunnerRoomWebSocket.js +27 -51
  160. package/cjs/hooks/useStdioTextConcator.js +11 -15
  161. package/cjs/hooks/useStdioWebSocket.js +28 -32
  162. package/cjs/hooks/useUsercodeEditWebSocket.js +158 -238
  163. package/cjs/hooks/useUsercodeHistory.js +63 -115
  164. package/cjs/utils/arduino.js +11 -23
  165. package/cjs/utils/exerciseFile.js +10 -8
  166. package/cjs/utils/runner.js +17 -33
  167. package/es/assets/empty.png.js +2 -1
  168. package/es/components/material-exercise/MaterialExercise.d.ts +1 -1
  169. package/es/components/material-exercise/MaterialExercise.js +75 -107
  170. package/es/components/material-exercise/MaterialExercise.styled.js +14 -14
  171. package/es/components/material-exercise/MaterialExerciseMobile.d.ts +1 -1
  172. package/es/components/material-exercise/MaterialExerciseMobile.js +7 -13
  173. package/es/components/material-exercise/context/ExerciseProvider.js +58 -63
  174. package/es/components/material-exercise/context/ExerciseProviderNoImage.js +30 -35
  175. package/es/components/material-exercise/context/context.js +1 -1
  176. package/es/components/material-exercise/context/recoil.js +290 -535
  177. package/es/components/material-exercise/context/subjects.js +4 -4
  178. package/es/components/material-exercise/context/types.d.ts +2 -2
  179. package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.js +78 -95
  180. package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.js +8 -8
  181. package/es/components/material-exercise/exercise-file/ExerciseFile.js +27 -25
  182. package/es/components/material-exercise/exercise-file-editor/ExerciseFileEditor.js +149 -221
  183. package/es/components/material-exercise/exercise-file-editor/ExerciseFileReadOnlyBanner.js +13 -15
  184. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabs.js +29 -44
  185. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.d.ts +2 -1
  186. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.js +4 -6
  187. package/es/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/ExerciseFileTabsFileTreeButton.js +36 -48
  188. package/es/components/material-exercise/exercise-file-tree/ExerciseFileTree.js +211 -348
  189. package/es/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.d.ts +2 -1
  190. package/es/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.js +4 -6
  191. package/es/components/material-exercise/exercise-file-viewer/ExerciseFileViewer.js +15 -14
  192. package/es/components/material-exercise/exercise-menu/ExerciseMenu.js +12 -16
  193. package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.js +11 -12
  194. package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.js +80 -119
  195. package/es/components/material-exercise/exercise-menu/ExerciseMenuDropdown.js +67 -96
  196. package/es/components/material-exercise/exercise-menu/ExerciseMenuReset.js +23 -41
  197. package/es/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.js +122 -143
  198. package/es/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.js +13 -13
  199. package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdown.js +19 -28
  200. package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.d.ts +2 -1
  201. package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.js +4 -6
  202. package/es/components/material-exercise/exercise-preview/ExercisePreview.js +24 -26
  203. package/es/components/material-exercise/exercise-preview/ExercisePreviewDisplayModeButton.js +7 -14
  204. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpane.js +35 -47
  205. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpaneEditorPerference.js +6 -10
  206. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpaneEnvironment.js +78 -85
  207. package/es/components/material-exercise/exercise-room/ExerciseRoom.js +12 -21
  208. package/es/components/material-exercise/exercise-room/ExerciseRoom.styled.js +12 -14
  209. package/es/components/material-exercise/exercise-room/ExerciseRoomDetail.js +349 -498
  210. package/es/components/material-exercise/exercise-room/ExerciseRoomList.js +133 -193
  211. package/es/components/material-exercise/exercise-room/helpers/exerciseRoomPermissionStringConvertor.js +2 -2
  212. package/es/components/material-exercise/exercise-runner/ExerciseRunner.js +142 -200
  213. package/es/components/material-exercise/exercise-runner/ExerciseRunnerContext.js +1 -1
  214. package/es/components/material-exercise/exercise-runner/ExerciseRunnerController.js +16 -20
  215. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.js +85 -112
  216. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.js +20 -30
  217. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js +82 -90
  218. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.js +52 -63
  219. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerRunningInfo.js +87 -131
  220. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusIndicator.js +2 -2
  221. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusMessage.js +15 -17
  222. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerTimer.js +23 -31
  223. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.js +250 -399
  224. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.styled.js +8 -8
  225. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistoryOutput.js +49 -68
  226. package/es/components/shared/exercise-menu-button/ExerciseMenuButton.js +24 -29
  227. package/es/components/shared/exercise-shimmer/ExerciseFileShimmer.js +38 -40
  228. package/es/components/shared/exercise-shimmer/ExerciseFileTabShimmer.js +20 -22
  229. package/es/components/shared/exercise-shimmer/ExerciseFileTabsShimmer.js +8 -10
  230. package/es/components/shared/exercise-shimmer/ExerciseFileTreeListItemShimmer.js +22 -24
  231. package/es/components/shared/exercise-shimmer/ExerciseFileTreeListShimmer.js +9 -19
  232. package/es/components/shared/exercise-version-list/ExerciseVersionList.js +5 -6
  233. package/es/components/shared/exercise-version-list/ExerciseVersionList.styled.js +1 -1
  234. package/es/components/shared/exercise-version-list/ExerciseVersionListItem.js +10 -10
  235. package/es/components/shared/exercise-version-list/ExerciseVersionListItem.styled.js +5 -9
  236. package/es/components/shared/file-icon/FileIcon.js +16 -19
  237. package/es/components/shared/file-tabs/FileTab.js +33 -43
  238. package/es/components/shared/file-tabs/FileTab.styled.js +15 -19
  239. package/es/components/shared/file-tabs/FileTabs.js +40 -62
  240. package/es/components/shared/file-tabs/FileTabs.styled.js +2 -2
  241. package/es/components/shared/file-tabs/util.js +14 -27
  242. package/es/components/shared/file-tree/FileTree.js +10 -16
  243. package/es/components/shared/file-tree/FileTreeConfig.js +39 -39
  244. package/es/components/shared/file-tree/FileTreeList.js +40 -38
  245. package/es/components/shared/file-tree/FileTreeListItemContent.js +99 -124
  246. package/es/components/shared/file-tree/FileTreeListItemContent.styled.js +21 -25
  247. package/es/components/shared/file-tree/FileTreeListItemContentInput.js +96 -102
  248. package/es/components/shared/file-tree/FileTreeListItemContentInput.styled.js +6 -6
  249. package/es/components/shared/file-tree/FileTreeListItemContentMenu.js +91 -129
  250. package/es/components/shared/file-tree/FileTreeListItems.js +137 -149
  251. package/es/components/shared/file-tree/FileTreeListItems.styled.js +2 -2
  252. package/es/components/shared/file-tree/FileTreeToolbar.styled.js +1 -1
  253. package/es/components/shared/file-tree/context/FileTreeContext.d.ts +1 -1
  254. package/es/components/shared/file-tree/context/FileTreeContext.js +79 -97
  255. package/es/components/shared/file-tree/file-tree-toolbar/FileTreeToolbar.js +54 -55
  256. package/es/components/shared/file-tree/utils/fileTreeFiles.js +20 -20
  257. package/es/components/shared/file-tree/utils/fileTreeGenerator.js +146 -193
  258. package/es/components/shared/file-tree/utils/fileTreeInput.js +1 -11
  259. package/es/components/shared/file-tree/utils/fileTreeItem.js +1 -1
  260. package/es/components/shared/file-tree/utils/fileTreePath.js +6 -5
  261. package/es/components/shared/file-viewer/FileViewer.js +46 -69
  262. package/es/components/shared/file-viewer/FileViewerCsv.js +167 -257
  263. package/es/components/shared/file-viewer/FileViewerImage.js +12 -12
  264. package/es/components/shared/file-viewer/FileViewerIpynb.js +11 -21
  265. package/es/components/shared/file-viewer/FileViewerNonViewable.js +47 -60
  266. package/es/components/shared/file-viewer/FileViewerText.js +11 -19
  267. package/es/components/shared/material-modal/MaterialModal.js +11 -20
  268. package/es/components/shared/material-modal/MaterialModal.styled.js +5 -5
  269. package/es/components/shared/monaco-editor/MonacoEditor.js +72 -95
  270. package/es/components/shared/monaco-editor/MonacoEditorLazy.js +7 -11
  271. package/es/components/shared/monaco-editor/MonacoEditorMobile.js +32 -43
  272. package/es/components/shared/monaco-editor/MonacoEditorPerferenceForm.js +194 -244
  273. package/es/components/shared/monaco-editor/constants/grammars/index.js +28 -82
  274. package/es/components/shared/monaco-editor/constants/monaco/preferences.js +5 -5
  275. package/es/components/shared/monaco-editor/constants/themes/index.js +17 -49
  276. package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventChange.js +10 -11
  277. package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventCursor.js +14 -15
  278. package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventScroll.js +8 -9
  279. package/es/components/shared/monaco-editor/editor-hooks/useMonacoMarkers.js +30 -34
  280. package/es/components/shared/monaco-editor/editor-hooks/useMonacoOptions.js +7 -9
  281. package/es/components/shared/monaco-editor/editor-hooks/useMonacoTheme.js +6 -6
  282. package/es/components/shared/monaco-editor/editor-languages/css/formatter.js +10 -33
  283. package/es/components/shared/monaco-editor/editor-languages/html/formatter.js +10 -33
  284. package/es/components/shared/monaco-editor/editor-languages/typescript/dts/_helper.js +1 -1
  285. package/es/components/shared/monaco-editor/editor-languages/typescript/formatter.js +10 -37
  286. package/es/components/shared/monaco-editor/editor-languages/typescript/index.js +3 -3
  287. package/es/components/shared/monaco-editor/hooks/useEditorOptions.js +5 -11
  288. package/es/components/shared/monaco-editor/utils/emmet/abbreviationActions.js +12 -10
  289. package/es/components/shared/monaco-editor/utils/emmet/registerProvider.js +6 -12
  290. package/es/components/shared/monaco-editor/utils/grammar/index.js +24 -67
  291. package/es/components/shared/monaco-editor/utils/grammar/onigasm.js +6 -25
  292. package/es/components/shared/monaco-editor/utils/grammar/textmate.js +35 -67
  293. package/es/components/shared/monaco-editor/utils/monacoLanguage.js +5 -5
  294. package/es/components/shared/monaco-editor/utils/monacoPreference.js +4 -6
  295. package/es/components/shared/monaco-editor/utils/prettier/config.js +2 -2
  296. package/es/components/shared/monaco-editor/utils/prettier/index.js +7 -27
  297. package/es/components/shared/monaco-editor/utils/theme/convert.js +13 -19
  298. package/es/components/shared/monaco-editor/utils/theme/index.js +3 -22
  299. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursor.js +56 -77
  300. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorManager.js +68 -82
  301. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorWidget.js +93 -120
  302. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelection.js +130 -152
  303. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelectionManager.js +92 -104
  304. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/styles.js +2 -2
  305. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/configCompat.js +6 -1
  306. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/data.js +2 -2
  307. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/emmetHelper.js +156 -171
  308. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/utils.js +3 -3
  309. package/es/components/shared/no-vnc/NoVnc.js +71 -99
  310. package/es/components/shared/no-vnc/NoVncLazy.js +7 -11
  311. package/es/components/shared/preview-container/PreviewContainer.js +14 -15
  312. package/es/components/shared/web-browser/WebBrowser.js +52 -69
  313. package/es/components/shared/xterm/Xterm.js +57 -77
  314. package/es/components/shared/xterm/XtermLazy.js +7 -11
  315. package/es/constants/arduino.js +10 -10
  316. package/es/constants/color.js +1 -1
  317. package/es/constants/shortcutKeyMap.js +1 -3
  318. package/es/constants/stylesheets.js +5 -7
  319. package/es/hooks/useArduino.js +141 -278
  320. package/es/hooks/useExerciseFile.js +22 -24
  321. package/es/hooks/useExericseShortcut.js +4 -6
  322. package/es/hooks/useMaterialExerciseFileUrl.js +34 -52
  323. package/es/hooks/useRunnerRoomWebSocket.js +27 -51
  324. package/es/hooks/useStdioTextConcator.js +11 -11
  325. package/es/hooks/useStdioWebSocket.js +28 -32
  326. package/es/hooks/useUsercodeEditWebSocket.js +157 -232
  327. package/es/hooks/useUsercodeHistory.js +63 -115
  328. package/es/utils/arduino.js +12 -24
  329. package/es/utils/exerciseFile.js +10 -8
  330. package/es/utils/runner.js +17 -33
  331. package/package.json +15 -11
  332. package/cjs/_virtual/_rollupPluginBabelHelpers.js +0 -519
  333. package/cjs/components/index.js +0 -25
  334. package/cjs/components/locales/index.js +0 -13
  335. package/cjs/components/material-exercise/context/index.js +0 -57
  336. package/cjs/components/material-exercise/exercise-code-history/index.js +0 -7
  337. package/cjs/components/material-exercise/exercise-code-history/locales/index.js +0 -13
  338. package/cjs/components/material-exercise/exercise-file/index.js +0 -7
  339. package/cjs/components/material-exercise/exercise-file-editor/index.js +0 -7
  340. package/cjs/components/material-exercise/exercise-file-editor/locales/index.js +0 -13
  341. package/cjs/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/index.js +0 -7
  342. package/cjs/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/locales/index.js +0 -13
  343. package/cjs/components/material-exercise/exercise-file-tabs/index.js +0 -9
  344. package/cjs/components/material-exercise/exercise-file-tabs/locales/index.js +0 -13
  345. package/cjs/components/material-exercise/exercise-file-tree/index.js +0 -9
  346. package/cjs/components/material-exercise/exercise-file-tree/locales/index.js +0 -13
  347. package/cjs/components/material-exercise/exercise-file-viewer/index.js +0 -7
  348. package/cjs/components/material-exercise/exercise-menu/index.js +0 -7
  349. package/cjs/components/material-exercise/exercise-menu/locales/index.js +0 -13
  350. package/cjs/components/material-exercise/exercise-multilang-dropdown/index.js +0 -9
  351. package/cjs/components/material-exercise/exercise-preview/index.js +0 -7
  352. package/cjs/components/material-exercise/exercise-preview/locales/index.js +0 -13
  353. package/cjs/components/material-exercise/exercise-rightpane/index.js +0 -7
  354. package/cjs/components/material-exercise/exercise-rightpane/locales/index.js +0 -13
  355. package/cjs/components/material-exercise/exercise-room/helpers/index.js +0 -7
  356. package/cjs/components/material-exercise/exercise-room/index.js +0 -7
  357. package/cjs/components/material-exercise/exercise-room/locales/index.js +0 -13
  358. package/cjs/components/material-exercise/exercise-runner/index.js +0 -7
  359. package/cjs/components/material-exercise/exercise-runner/locales/index.js +0 -13
  360. package/cjs/components/material-exercise/exercise-submit-history/index.js +0 -7
  361. package/cjs/components/material-exercise/exercise-submit-history/locales/index.js +0 -13
  362. package/cjs/components/material-exercise/index.js +0 -9
  363. package/cjs/components/shared/exercise-menu-button/index.js +0 -7
  364. package/cjs/components/shared/exercise-shimmer/index.js +0 -15
  365. package/cjs/components/shared/exercise-version-list/index.js +0 -9
  366. package/cjs/components/shared/file-icon/index.js +0 -7
  367. package/cjs/components/shared/file-tabs/index.js +0 -7
  368. package/cjs/components/shared/file-tree/context/index.js +0 -9
  369. package/cjs/components/shared/file-tree/file-tree-toolbar/index.js +0 -7
  370. package/cjs/components/shared/file-tree/file-tree-toolbar/locales/index.js +0 -13
  371. package/cjs/components/shared/file-tree/index.js +0 -7
  372. package/cjs/components/shared/file-tree/locales/index.js +0 -13
  373. package/cjs/components/shared/file-tree/utils/index.js +0 -20
  374. package/cjs/components/shared/file-viewer/index.js +0 -7
  375. package/cjs/components/shared/file-viewer/locales/index.js +0 -21
  376. package/cjs/components/shared/material-modal/index.js +0 -7
  377. package/cjs/components/shared/monaco-editor/constants/index.js +0 -13
  378. package/cjs/components/shared/monaco-editor/constants/monaco/index.js +0 -11
  379. package/cjs/components/shared/monaco-editor/editor-hooks/index.js +0 -17
  380. package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/index.js +0 -11
  381. package/cjs/components/shared/monaco-editor/hooks/index.js +0 -7
  382. package/cjs/components/shared/monaco-editor/index.js +0 -21
  383. package/cjs/components/shared/monaco-editor/locales/index.js +0 -13
  384. package/cjs/components/shared/monaco-editor/utils/emmet/index.js +0 -9
  385. package/cjs/components/shared/monaco-editor/utils/index.js +0 -9
  386. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/index.js +0 -12
  387. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/index.js +0 -11
  388. package/cjs/components/shared/no-vnc/index.js +0 -7
  389. package/cjs/components/shared/preview-container/index.js +0 -9
  390. package/cjs/components/shared/web-browser/index.js +0 -7
  391. package/cjs/components/shared/xterm/index.js +0 -7
  392. package/cjs/components/shared/xterm/locales/index.js +0 -13
  393. package/cjs/constants/index.js +0 -7
  394. package/cjs/hooks/index.js +0 -20
  395. package/cjs/utils/index.js +0 -10
  396. package/es/_virtual/_rollupPluginBabelHelpers.js +0 -499
  397. package/es/components/index.js +0 -8
  398. package/es/components/locales/index.js +0 -4
  399. package/es/components/material-exercise/context/index.js +0 -5
  400. package/es/components/material-exercise/exercise-code-history/index.js +0 -1
  401. package/es/components/material-exercise/exercise-code-history/locales/index.js +0 -4
  402. package/es/components/material-exercise/exercise-file/index.js +0 -1
  403. package/es/components/material-exercise/exercise-file-editor/index.js +0 -1
  404. package/es/components/material-exercise/exercise-file-editor/locales/index.js +0 -4
  405. package/es/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/index.js +0 -1
  406. package/es/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/locales/index.js +0 -4
  407. package/es/components/material-exercise/exercise-file-tabs/index.js +0 -2
  408. package/es/components/material-exercise/exercise-file-tabs/locales/index.js +0 -4
  409. package/es/components/material-exercise/exercise-file-tree/index.js +0 -2
  410. package/es/components/material-exercise/exercise-file-tree/locales/index.js +0 -4
  411. package/es/components/material-exercise/exercise-file-viewer/index.js +0 -1
  412. package/es/components/material-exercise/exercise-menu/index.js +0 -1
  413. package/es/components/material-exercise/exercise-menu/locales/index.js +0 -4
  414. package/es/components/material-exercise/exercise-multilang-dropdown/index.js +0 -2
  415. package/es/components/material-exercise/exercise-preview/index.js +0 -1
  416. package/es/components/material-exercise/exercise-preview/locales/index.js +0 -4
  417. package/es/components/material-exercise/exercise-rightpane/index.js +0 -1
  418. package/es/components/material-exercise/exercise-rightpane/locales/index.js +0 -4
  419. package/es/components/material-exercise/exercise-room/helpers/index.js +0 -1
  420. package/es/components/material-exercise/exercise-room/index.js +0 -1
  421. package/es/components/material-exercise/exercise-room/locales/index.js +0 -4
  422. package/es/components/material-exercise/exercise-runner/index.js +0 -1
  423. package/es/components/material-exercise/exercise-runner/locales/index.js +0 -4
  424. package/es/components/material-exercise/exercise-submit-history/index.js +0 -1
  425. package/es/components/material-exercise/exercise-submit-history/locales/index.js +0 -4
  426. package/es/components/material-exercise/index.js +0 -2
  427. package/es/components/shared/exercise-menu-button/index.js +0 -1
  428. package/es/components/shared/exercise-shimmer/index.js +0 -5
  429. package/es/components/shared/exercise-version-list/index.js +0 -2
  430. package/es/components/shared/file-icon/index.js +0 -1
  431. package/es/components/shared/file-tabs/index.js +0 -1
  432. package/es/components/shared/file-tree/context/index.js +0 -1
  433. package/es/components/shared/file-tree/file-tree-toolbar/index.js +0 -1
  434. package/es/components/shared/file-tree/file-tree-toolbar/locales/index.js +0 -4
  435. package/es/components/shared/file-tree/index.js +0 -1
  436. package/es/components/shared/file-tree/locales/index.js +0 -4
  437. package/es/components/shared/file-tree/utils/index.js +0 -5
  438. package/es/components/shared/file-viewer/index.js +0 -1
  439. package/es/components/shared/file-viewer/locales/index.js +0 -8
  440. package/es/components/shared/material-modal/index.js +0 -1
  441. package/es/components/shared/monaco-editor/constants/index.js +0 -2
  442. package/es/components/shared/monaco-editor/constants/monaco/index.js +0 -1
  443. package/es/components/shared/monaco-editor/editor-hooks/index.js +0 -6
  444. package/es/components/shared/monaco-editor/editor-languages/typescript/dts/index.js +0 -3
  445. package/es/components/shared/monaco-editor/hooks/index.js +0 -1
  446. package/es/components/shared/monaco-editor/index.js +0 -6
  447. package/es/components/shared/monaco-editor/locales/index.js +0 -4
  448. package/es/components/shared/monaco-editor/utils/emmet/index.js +0 -1
  449. package/es/components/shared/monaco-editor/utils/index.js +0 -2
  450. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/index.js +0 -3
  451. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/index.js +0 -2
  452. package/es/components/shared/no-vnc/index.js +0 -1
  453. package/es/components/shared/preview-container/index.js +0 -1
  454. package/es/components/shared/web-browser/index.js +0 -1
  455. package/es/components/shared/xterm/index.js +0 -1
  456. package/es/components/shared/xterm/locales/index.js +0 -4
  457. package/es/constants/index.js +0 -1
  458. package/es/hooks/index.js +0 -7
  459. package/es/utils/index.js +0 -2
@@ -1,5 +1,4 @@
1
- import { jsx } from 'react/jsx-runtime';
2
- import { forwardRef } from 'react';
1
+ import React, { forwardRef } from 'react';
3
2
  import { base } from '@elice/design-tokens';
4
3
  import classnames from 'classnames';
5
4
  import styled from 'styled-components';
@@ -9,50 +8,54 @@ import FileTreeListItems from './FileTreeListItems.js';
9
8
  import { validateFilesSize } from './utils/fileTreeFiles.js';
10
9
  import { isMovingTheSamePath } from './utils/fileTreePath.js';
11
10
 
12
- var StyledFileTreeList = styled.div.withConfig({
11
+ const StyledFileTreeList = styled.div.withConfig({
13
12
  componentId: "sc-5ddw80-0"
14
13
  })(["flex:auto;background-color:", ";overflow-x:hidden;overflow-y:overlay;", ""], base.color.navy9, getMaterialScrollBarCss({
15
14
  width: '0.375rem',
16
15
  borderRadius: '2px',
17
16
  hideable: true
18
17
  }));
19
- var FileTreeList = forwardRef(function (_ref, ref) {
20
- var className = _ref.className,
21
- style = _ref.style,
22
- options = _ref.options;
23
- var _useFileTreeState = useFileTreeState(),
24
- fileTree = _useFileTreeState.fileTree,
25
- dropzonePath = _useFileTreeState.dropzonePath,
26
- draggedPath = _useFileTreeState.draggedPath,
27
- maxFileUploadSize = _useFileTreeState.maxFileUploadSize;
28
- var _useFileTreeDispatch = useFileTreeDispatch(),
29
- dispatch = _useFileTreeDispatch.dispatch,
30
- onDirectoryMove = _useFileTreeDispatch.onDirectoryMove,
31
- onFileMove = _useFileTreeDispatch.onFileMove,
32
- onFilesUpload = _useFileTreeDispatch.onFilesUpload;
33
- var handleFilesUpload = function handleFilesUpload(_ref2) {
34
- var files = _ref2.files,
35
- path = _ref2.path;
18
+ const FileTreeList = forwardRef(({
19
+ className,
20
+ style,
21
+ options
22
+ }, ref) => {
23
+ const {
24
+ fileTree,
25
+ dropzonePath,
26
+ draggedPath,
27
+ maxFileUploadSize
28
+ } = useFileTreeState();
29
+ const {
30
+ dispatch,
31
+ onDirectoryMove,
32
+ onFileMove,
33
+ onFilesUpload
34
+ } = useFileTreeDispatch();
35
+ const handleFilesUpload = ({
36
+ files,
37
+ path
38
+ }) => {
36
39
  if (validateFilesSize(files, maxFileUploadSize)) {
37
40
  if (typeof onFilesUpload === 'function') {
38
41
  onFilesUpload({
39
- files: files,
40
- path: path
42
+ files,
43
+ path
41
44
  });
42
45
  }
43
46
  }
44
47
  };
45
- return jsx(StyledFileTreeList, {
48
+ return React.createElement(StyledFileTreeList, {
46
49
  className: classnames('em-file-tree__list', className),
47
50
  ref: ref,
48
51
  role: "tree",
49
52
  style: Object.assign({
50
53
  backgroundColor: dropzonePath === '' ? base.color.primary7 : ''
51
54
  }, style),
52
- onDragEnter: function onDragEnter(e) {
55
+ onDragEnter: e => {
53
56
  e.preventDefault();
54
57
  e.stopPropagation();
55
- var isFiles = e.dataTransfer.types[0] === 'Files';
58
+ const isFiles = e.dataTransfer.types[0] === 'Files';
56
59
  if (draggedPath !== null || isFiles) {
57
60
  dispatch({
58
61
  type: 'UPDATE_DROPZONE_PATH',
@@ -60,14 +63,14 @@ var FileTreeList = forwardRef(function (_ref, ref) {
60
63
  });
61
64
  }
62
65
  },
63
- onDragOver: function onDragOver(e) {
66
+ onDragOver: e => {
64
67
  e.preventDefault();
65
68
  e.stopPropagation();
66
69
  },
67
- onDrop: function onDrop(e) {
70
+ onDrop: e => {
68
71
  e.stopPropagation();
69
72
  e.preventDefault();
70
- var draggedPath = e.dataTransfer.getData('text');
73
+ const draggedPath = e.dataTransfer.getData('text');
71
74
  // file drop
72
75
  if (e.dataTransfer.files.length > 0) {
73
76
  handleFilesUpload({
@@ -84,12 +87,12 @@ var FileTreeList = forwardRef(function (_ref, ref) {
84
87
  });
85
88
  } else {
86
89
  // file move
87
- var dragFileTreeNode = fileTree.findTreeNode(draggedPath);
90
+ const dragFileTreeNode = fileTree.findTreeNode(draggedPath);
88
91
  // file does not move. from a to a (the same path).
89
92
  if (isMovingTheSamePath({
90
- draggedPath: draggedPath,
91
- dropzonePath: dropzonePath,
92
- dragFileTreeNode: dragFileTreeNode
93
+ draggedPath,
94
+ dropzonePath,
95
+ dragFileTreeNode
93
96
  })) {
94
97
  return;
95
98
  }
@@ -109,12 +112,11 @@ var FileTreeList = forwardRef(function (_ref, ref) {
109
112
  }
110
113
  }
111
114
  }
112
- },
113
- children: jsx(FileTreeListItems, {
114
- node: fileTree,
115
- indent: options === null || options === void 0 ? void 0 : options.indent
116
- })
117
- });
115
+ }
116
+ }, React.createElement(FileTreeListItems, {
117
+ node: fileTree,
118
+ indent: options === null || options === void 0 ? void 0 : options.indent
119
+ }));
118
120
  });
119
121
 
120
122
  export { FileTreeList as default };
@@ -1,5 +1,3 @@
1
- import { slicedToArray as _slicedToArray } from '../../../_virtual/_rollupPluginBabelHelpers.js';
2
- import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
3
1
  import React from 'react';
4
2
  import { Icon, Checkbox } from '@elice/blocks';
5
3
  import { base } from '@elice/design-tokens';
@@ -10,48 +8,45 @@ import FileTreeListItemContentInput from './FileTreeListItemContentInput.js';
10
8
  import FileTreeListItemContentMenu from './FileTreeListItemContentMenu.js';
11
9
  import { StyledContentIndents, StyledContentIndentGuide, StyledContent, StyledContentLabel, StyledContentLabelDirArrowWrap, StyledContentLabelIconWrap, StyledContentLabelFilename, StyledContentLabelStatusIcon, StyledContentLabelMenuButton } from './FileTreeListItemContent.styled.js';
12
10
 
13
- var ITEM_IDENT_WIDTH = 8; // 0.5rem
14
- var FileTreeListItemContent = function FileTreeListItemContent(_ref) {
15
- var node = _ref.node,
16
- parentNode = _ref.parentNode,
17
- _ref$indent = _ref.indent,
18
- indent = _ref$indent === void 0 ? 1 : _ref$indent;
19
- var _useFileTreeState = useFileTreeState(),
20
- mode = _useFileTreeState.mode,
21
- activePath = _useFileTreeState.activePath,
22
- dropzonePath = _useFileTreeState.dropzonePath,
23
- newInput = _useFileTreeState.newInput;
24
- var _useFileTreeDispatch = useFileTreeDispatch(),
25
- dispatch = _useFileTreeDispatch.dispatch,
26
- onActivePathChange = _useFileTreeDispatch.onActivePathChange;
27
- var _React$useState = React.useState(),
28
- _React$useState2 = _slicedToArray(_React$useState, 2),
29
- menuAnchorEl = _React$useState2[0],
30
- setMenuAnchorEl = _React$useState2[1];
31
- var isNewItem = newInput && node.isEdit;
11
+ const ITEM_IDENT_WIDTH = 8; // 0.5rem
12
+ const FileTreeListItemContent = ({
13
+ node,
14
+ parentNode,
15
+ indent = 1
16
+ }) => {
17
+ const {
18
+ mode,
19
+ activePath,
20
+ dropzonePath,
21
+ newInput
22
+ } = useFileTreeState();
23
+ const {
24
+ dispatch,
25
+ onActivePathChange
26
+ } = useFileTreeDispatch();
27
+ const [menuAnchorEl, setMenuAnchorEl] = React.useState();
28
+ const isNewItem = newInput && node.isEdit;
32
29
  /**
33
30
  * Indent.
34
31
  */
35
- var contentIndents = React.useMemo(function () {
36
- var depth = (node.path.match(/\//g) || []).length;
37
- var counts = depth === 0 ? 0 : indent * depth;
38
- return jsx(StyledContentIndents, {
32
+ const contentIndents = React.useMemo(() => {
33
+ const depth = (node.path.match(/\//g) || []).length;
34
+ const counts = depth === 0 ? 0 : indent * depth;
35
+ return React.createElement(StyledContentIndents, {
39
36
  style: {
40
- flex: "0 0 ".concat(ITEM_IDENT_WIDTH * counts, "px")
41
- },
42
- children: Array(counts).fill(0).map(function (_, index) {
43
- return jsx(StyledContentIndentGuide, {
44
- style: {
45
- width: "".concat(ITEM_IDENT_WIDTH, "px")
46
- }
47
- }, index);
48
- })
49
- });
37
+ flex: `0 0 ${ITEM_IDENT_WIDTH * counts}px`
38
+ }
39
+ }, Array(counts).fill(0).map((_, index) => React.createElement(StyledContentIndentGuide, {
40
+ key: index,
41
+ style: {
42
+ width: `${ITEM_IDENT_WIDTH}px`
43
+ }
44
+ })));
50
45
  }, [node, indent]);
51
46
  /**
52
47
  * Handle item click.
53
48
  */
54
- var handleClick = function handleClick() {
49
+ const handleClick = () => {
55
50
  if (node.isEdit) {
56
51
  return;
57
52
  }
@@ -66,7 +61,7 @@ var FileTreeListItemContent = function FileTreeListItemContent(_ref) {
66
61
  /**
67
62
  * Handle item right-click.
68
63
  */
69
- var handleContextMenu = function handleContextMenu(e) {
64
+ const handleContextMenu = e => {
70
65
  e.preventDefault();
71
66
  setMenuAnchorEl({
72
67
  x: e.clientX,
@@ -76,110 +71,97 @@ var FileTreeListItemContent = function FileTreeListItemContent(_ref) {
76
71
  /**
77
72
  * Directory expand arrow.
78
73
  */
79
- var renderContentDirectoryExpandArrow = function renderContentDirectoryExpandArrow() {
74
+ const renderContentDirectoryExpandArrow = () => {
80
75
  // new or directory
81
76
  if (isNewItem || !node.isDirectory) {
82
- return jsx(StyledContentLabelDirArrowWrap, {});
77
+ return React.createElement(StyledContentLabelDirArrowWrap, null);
83
78
  }
84
- return jsx(StyledContentLabelDirArrowWrap, {
85
- children: jsx(Icon, {
86
- icon: eilArrowDownwardsSingle,
87
- size: "tiny",
88
- rotate: node.expanded ? 0 : 270,
89
- color: base.color.gray3
90
- })
91
- });
79
+ return React.createElement(StyledContentLabelDirArrowWrap, null, React.createElement(Icon, {
80
+ icon: eilArrowDownwardsSingle,
81
+ size: "tiny",
82
+ rotate: node.expanded ? 0 : 270,
83
+ color: base.color.gray3
84
+ }));
92
85
  };
93
86
  /**
94
87
  * Icon.
95
88
  */
96
- var renderContentIcon = function renderContentIcon() {
89
+ const renderContentIcon = () => {
97
90
  // new
98
91
  if (isNewItem) {
99
- return jsx(StyledContentLabelIconWrap, {
100
- children: jsx(FileIcon, {
101
- filename: "newfile",
102
- directory: (newInput === null || newInput === void 0 ? void 0 : newInput.type) === 'directory',
103
- width: "1rem",
104
- height: "1rem"
105
- })
106
- });
92
+ return React.createElement(StyledContentLabelIconWrap, null, React.createElement(FileIcon, {
93
+ filename: "newfile",
94
+ directory: (newInput === null || newInput === void 0 ? void 0 : newInput.type) === 'directory',
95
+ width: "1rem",
96
+ height: "1rem"
97
+ }));
107
98
  }
108
99
  // checkbox for file
109
100
  if (mode === 'checkbox' && !node.isDirectory) {
110
- return jsx(StyledContentLabelIconWrap, {
111
- children: jsx(Checkbox, {
112
- value: node.isInitialOpen,
113
- dark: true,
114
- onChange: function onChange(checked) {
115
- dispatch({
116
- type: checked ? 'INITIAL_OPEN_FILELIST_ADD' : 'INITIAL_OPEN_FILELIST_REMOVE',
117
- path: node.path
118
- });
119
- }
120
- })
121
- });
101
+ return React.createElement(StyledContentLabelIconWrap, null, React.createElement(Checkbox, {
102
+ value: node.isInitialOpen,
103
+ dark: true,
104
+ onChange: checked => {
105
+ dispatch({
106
+ type: checked ? 'INITIAL_OPEN_FILELIST_ADD' : 'INITIAL_OPEN_FILELIST_REMOVE',
107
+ path: node.path
108
+ });
109
+ }
110
+ }));
122
111
  }
123
- return jsx(StyledContentLabelIconWrap, {
124
- children: jsx(FileIcon, {
125
- filename: node.title,
126
- directory: node.isDirectory,
127
- expanded: node.expanded,
128
- width: "1rem",
129
- height: "1rem"
130
- })
131
- });
112
+ return React.createElement(StyledContentLabelIconWrap, null, React.createElement(FileIcon, {
113
+ filename: node.title,
114
+ directory: node.isDirectory,
115
+ expanded: node.expanded,
116
+ width: "1rem",
117
+ height: "1rem"
118
+ }));
132
119
  };
133
120
  /**
134
121
  * Filename.
135
122
  */
136
- var renderContentFilename = function renderContentFilename() {
123
+ const renderContentFilename = () => {
137
124
  var _a;
138
125
  // new
139
126
  if (isNewItem) {
140
- return jsx(FileTreeListItemContentInput, {
127
+ return React.createElement(FileTreeListItemContentInput, {
141
128
  type: "new",
142
129
  newInputType: (_a = newInput === null || newInput === void 0 ? void 0 : newInput.type) !== null && _a !== void 0 ? _a : 'file',
143
130
  currentPath: node.path,
144
- currentDirTitleList: parentNode.children.map(function (_ref2) {
145
- var title = _ref2.title;
146
- return title;
147
- })
131
+ currentDirTitleList: parentNode.children.map(({
132
+ title
133
+ }) => title)
148
134
  });
149
135
  }
150
136
  // rename
151
137
  if (node.isRenaming) {
152
- return jsx(FileTreeListItemContentInput, {
138
+ return React.createElement(FileTreeListItemContentInput, {
153
139
  type: "edit",
154
140
  initialValue: node.title,
155
141
  newInputType: node.isDirectory ? 'directory' : 'file',
156
142
  currentPath: node.path,
157
- currentDirTitleList: parentNode.children.map(function (_ref3) {
158
- var title = _ref3.title;
159
- return title;
160
- }).filter(function (title) {
161
- return title !== node.title;
162
- })
143
+ currentDirTitleList: parentNode.children.map(({
144
+ title
145
+ }) => title).filter(title => title !== node.title)
163
146
  });
164
147
  }
165
- return jsx(StyledContentLabelFilename, {
148
+ return React.createElement(StyledContentLabelFilename, {
166
149
  size: "tiny",
167
150
  block: true,
168
- ellipsis: true,
169
- children: node.title
170
- });
151
+ ellipsis: true
152
+ }, node.title);
171
153
  };
172
154
  /**
173
155
  * Status icon.
174
156
  */
175
- var renderContentStatusIcon = function renderContentStatusIcon() {
157
+ const renderContentStatusIcon = () => {
176
158
  // new or rename
177
159
  if (isNewItem || node.isRenaming) {
178
160
  return null;
179
161
  }
180
162
  // hidden
181
163
  if (node.isHidden) {
182
- return jsx(StyledContentLabelStatusIcon, {
164
+ return React.createElement(StyledContentLabelStatusIcon, {
183
165
  icon: eilVisibilityOff,
184
166
  color: base.color.gray4,
185
167
  size: "small"
@@ -187,7 +169,7 @@ var FileTreeListItemContent = function FileTreeListItemContent(_ref) {
187
169
  }
188
170
  // readonly
189
171
  if (node.isReadonly) {
190
- return jsx(StyledContentLabelStatusIcon, {
172
+ return React.createElement(StyledContentLabelStatusIcon, {
191
173
  icon: eilLockOn,
192
174
  color: base.color.gray4,
193
175
  size: "small"
@@ -198,44 +180,37 @@ var FileTreeListItemContent = function FileTreeListItemContent(_ref) {
198
180
  /**
199
181
  * Menu button.
200
182
  */
201
- var renderContentMenuButton = function renderContentMenuButton() {
183
+ const renderContentMenuButton = () => {
202
184
  // new or rename
203
185
  if (isNewItem || node.isRenaming) {
204
186
  return null;
205
187
  }
206
- return jsxs(Fragment, {
207
- children: [jsx(StyledContentLabelMenuButton, {
208
- icon: eilMoreVertical,
209
- size: "tiny",
210
- role: "white",
211
- transparent: true,
212
- border: false,
213
- onClick: function onClick(e) {
214
- e.stopPropagation();
215
- setMenuAnchorEl(e.currentTarget);
216
- }
217
- }), jsx(FileTreeListItemContentMenu, {
218
- node: node,
219
- anchorEl: menuAnchorEl,
220
- onClose: function onClose() {
221
- return setMenuAnchorEl(undefined);
222
- }
223
- })]
224
- });
188
+ return React.createElement(React.Fragment, null, React.createElement(StyledContentLabelMenuButton, {
189
+ icon: eilMoreVertical,
190
+ size: "tiny",
191
+ role: "white",
192
+ transparent: true,
193
+ border: false,
194
+ onClick: e => {
195
+ e.stopPropagation();
196
+ setMenuAnchorEl(e.currentTarget);
197
+ }
198
+ }), React.createElement(FileTreeListItemContentMenu, {
199
+ node: node,
200
+ anchorEl: menuAnchorEl,
201
+ onClose: () => setMenuAnchorEl(undefined)
202
+ }));
225
203
  };
226
204
  //
227
205
  //
228
206
  //
229
- return jsxs(StyledContent, {
230
- title: "~/".concat(node.path),
207
+ return React.createElement(StyledContent, {
208
+ title: `~/${node.path}`,
231
209
  active: activePath === node.path,
232
210
  isDragging: dropzonePath !== null,
233
211
  onClick: handleClick,
234
- onContextMenu: handleContextMenu,
235
- children: [contentIndents, jsxs(StyledContentLabel, {
236
- children: [renderContentDirectoryExpandArrow(), renderContentIcon(), renderContentFilename(), renderContentStatusIcon(), renderContentMenuButton()]
237
- })]
238
- });
212
+ onContextMenu: handleContextMenu
213
+ }, contentIndents, React.createElement(StyledContentLabel, null, renderContentDirectoryExpandArrow(), renderContentIcon(), renderContentFilename(), renderContentStatusIcon(), renderContentMenuButton()));
239
214
  };
240
215
 
241
216
  export { FileTreeListItemContent as default };
@@ -5,74 +5,70 @@ import styled, { css } from 'styled-components';
5
5
  //
6
6
  //
7
7
  //
8
- var CONTENT_MIN_HEIGHT = 28; // 1.75rem
9
- var CONTENT_LEFT_BORDER_WIDTH = 3; // 0.1875rem
10
- var CONTENT_RIGHT_PADDING = 12; // 0.75rem
11
- var CONTENT_LABEL_VERTICAL_PADDING = 4; // 0.25rem
12
- var CONTENT_LABEL_ICON_SIZE = 16; // 1rem
13
- var CONTENT_LABEL_ICON_AFTER_MARGIN = 4; // 1rem
14
- var CONTENT_LABEL_DIR_ARROW_PADDING = 4; // 0.25rem
15
- var CONTENT_LABEL_DIR_ARROW_SIZE = 12; // 0.75rem
16
- var CONTENT_LABEL_MENU_BUTTON_SIZE = CONTENT_MIN_HEIGHT - CONTENT_LABEL_VERTICAL_PADDING * 2;
8
+ const CONTENT_MIN_HEIGHT = 28; // 1.75rem
9
+ const CONTENT_LEFT_BORDER_WIDTH = 3; // 0.1875rem
10
+ const CONTENT_RIGHT_PADDING = 12; // 0.75rem
11
+ const CONTENT_LABEL_VERTICAL_PADDING = 4; // 0.25rem
12
+ const CONTENT_LABEL_ICON_SIZE = 16; // 1rem
13
+ const CONTENT_LABEL_ICON_AFTER_MARGIN = 4; // 1rem
14
+ const CONTENT_LABEL_DIR_ARROW_PADDING = 4; // 0.25rem
15
+ const CONTENT_LABEL_DIR_ARROW_SIZE = 12; // 0.75rem
16
+ const CONTENT_LABEL_MENU_BUTTON_SIZE = CONTENT_MIN_HEIGHT - CONTENT_LABEL_VERTICAL_PADDING * 2;
17
17
  //
18
18
  //
19
19
  //
20
20
  /**
21
21
  * indent
22
22
  */
23
- var StyledContentIndents = styled.div.withConfig({
23
+ const StyledContentIndents = styled.div.withConfig({
24
24
  componentId: "sc-3wfxns-0"
25
25
  })([""]);
26
- var StyledContentIndentGuide = styled.div.withConfig({
26
+ const StyledContentIndentGuide = styled.div.withConfig({
27
27
  componentId: "sc-3wfxns-1"
28
28
  })(["display:inline-block;height:100%;border-right:0.5px solid ", ";"], base.color.gray7);
29
29
  /**
30
30
  * label
31
31
  */
32
- var StyledContentLabel = styled.div.withConfig({
32
+ const StyledContentLabel = styled.div.withConfig({
33
33
  componentId: "sc-3wfxns-2"
34
34
  })(["flex:1;display:flex;align-items:center;padding-top:", "px;padding-bottom:", "px;overflow:hidden;"], CONTENT_LABEL_VERTICAL_PADDING, CONTENT_LABEL_VERTICAL_PADDING);
35
35
  /**
36
36
  * label > dir arrow
37
37
  */
38
- var StyledContentLabelDirArrowWrap = styled.div.withConfig({
38
+ const StyledContentLabelDirArrowWrap = styled.div.withConfig({
39
39
  componentId: "sc-3wfxns-3"
40
40
  })(["flex:0 0 ", "px;display:flex;justify-content:center;align-items:center;padding:", ";height:", "px;"], CONTENT_LABEL_DIR_ARROW_SIZE + CONTENT_LABEL_DIR_ARROW_PADDING * 2, CONTENT_LABEL_DIR_ARROW_PADDING, CONTENT_LABEL_DIR_ARROW_SIZE);
41
41
  /**
42
42
  * label > icon
43
43
  */
44
- var StyledContentLabelIconWrap = styled.div.withConfig({
44
+ const StyledContentLabelIconWrap = styled.div.withConfig({
45
45
  componentId: "sc-3wfxns-4"
46
46
  })(["flex:0 0 ", "px;display:flex;margin-right:", "px;height:", "px;"], CONTENT_LABEL_ICON_SIZE + CONTENT_LABEL_ICON_AFTER_MARGIN, CONTENT_LABEL_ICON_AFTER_MARGIN, CONTENT_LABEL_ICON_SIZE);
47
47
  /**
48
48
  * label > filename
49
49
  */
50
- var StyledContentLabelFilename = styled(Text).withConfig({
50
+ const StyledContentLabelFilename = styled(Text).withConfig({
51
51
  componentId: "sc-3wfxns-5"
52
52
  })(["flex:1;margin-right:0.125rem;color:", ";font-weight:500;"], base.color.gray4);
53
53
  /**
54
54
  * label > status icon
55
55
  */
56
- var StyledContentLabelStatusIcon = styled(Icon).withConfig({
56
+ const StyledContentLabelStatusIcon = styled(Icon).withConfig({
57
57
  componentId: "sc-3wfxns-6"
58
58
  })(["margin-left:0.25rem;margin-right:0;&:last-of-type{margin-right:0.25rem;}"]);
59
59
  /**
60
60
  * label > menu button
61
61
  */
62
- var StyledContentLabelMenuButton = styled(IconButton).withConfig({
62
+ const StyledContentLabelMenuButton = styled(IconButton).withConfig({
63
63
  componentId: "sc-3wfxns-7"
64
64
  })(["flex:0 0 ", "px;width:", "px !important;height:", "px !important;opacity:0;transition:opacity 150ms ease-in-out;"], CONTENT_LABEL_MENU_BUTTON_SIZE, CONTENT_LABEL_MENU_BUTTON_SIZE, CONTENT_LABEL_MENU_BUTTON_SIZE);
65
65
  //
66
66
  //
67
67
  //
68
- var cssStyledContentActive = css(["border-left-color:", ";background-color:", ";", "{color:", ";}"], base.color.primary4, base.color.navy7, StyledContentLabelFilename, base.color.gray3);
69
- var cssStyledContentDragging = css(["border-left-color:transparent !important;background-color:transparent !important;"]);
70
- var StyledContent = styled.div.withConfig({
68
+ const cssStyledContentActive = css(["border-left-color:", ";background-color:", ";", "{color:", ";}"], base.color.primary4, base.color.navy7, StyledContentLabelFilename, base.color.gray3);
69
+ const cssStyledContentDragging = css(["border-left-color:transparent !important;background-color:transparent !important;"]);
70
+ const StyledContent = styled.div.withConfig({
71
71
  componentId: "sc-3wfxns-8"
72
- })(["display:flex;padding-right:", "px;width:100%;min-width:0;min-height:", "px;border-left-width:", "px;border-left-style:solid;border-left-color:transparent;user-select:none;", " ", " &:hover{background-color:", ";", "{color:", ";}", "{opacity:1;}}"], CONTENT_RIGHT_PADDING, CONTENT_MIN_HEIGHT, CONTENT_LEFT_BORDER_WIDTH, function (props) {
73
- return props.active && cssStyledContentActive;
74
- }, function (props) {
75
- return props.isDragging && cssStyledContentDragging;
76
- }, base.color.navy8, StyledContentLabelFilename, base.color.gray3, StyledContentLabelMenuButton);
72
+ })(["display:flex;padding-right:", "px;width:100%;min-width:0;min-height:", "px;border-left-width:", "px;border-left-style:solid;border-left-color:transparent;user-select:none;", " ", " &:hover{background-color:", ";", "{color:", ";}", "{opacity:1;}}"], CONTENT_RIGHT_PADDING, CONTENT_MIN_HEIGHT, CONTENT_LEFT_BORDER_WIDTH, props => props.active && cssStyledContentActive, props => props.isDragging && cssStyledContentDragging, base.color.navy8, StyledContentLabelFilename, base.color.gray3, StyledContentLabelMenuButton);
77
73
 
78
74
  export { StyledContent, StyledContentIndentGuide, StyledContentIndents, StyledContentLabel, StyledContentLabelDirArrowWrap, StyledContentLabelFilename, StyledContentLabelIconWrap, StyledContentLabelMenuButton, StyledContentLabelStatusIcon };