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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (459) hide show
  1. package/cjs/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 +117 -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 +120 -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
@@ -2,7 +2,6 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var jsxRuntime = require('react/jsx-runtime');
6
5
  var React = require('react');
7
6
  var blocks = require('@elice/blocks');
8
7
  var designTokens = require('@elice/design-tokens');
@@ -10,58 +9,53 @@ var classnames = require('classnames');
10
9
  var styled = require('styled-components');
11
10
  var FileTreeContext = require('./context/FileTreeContext.js');
12
11
 
13
- function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
14
-
15
- var React__default = /*#__PURE__*/_interopDefaultCompat(React);
16
- var classnames__default = /*#__PURE__*/_interopDefaultCompat(classnames);
17
- var styled__default = /*#__PURE__*/_interopDefaultCompat(styled);
18
-
19
- var StyledFileTreeConfig = styled__default.default.div.withConfig({
12
+ const StyledFileTreeConfig = styled.div.withConfig({
20
13
  componentId: "sc-1dxe3z0-0"
21
14
  })(["background-color:", ";padding:1rem;"], designTokens.base.color.navy8);
22
- var FileTreeConfig = React.forwardRef(function (_ref, ref) {
23
- var className = _ref.className,
24
- style = _ref.style,
25
- onInitialOpenFileListChange = _ref.onInitialOpenFileListChange,
26
- initialOpenFilelist = _ref.initialOpenFilelist;
27
- var _useFileTreeState = FileTreeContext.useFileTreeState(),
28
- mode = _useFileTreeState.mode,
29
- initialOpenFileListTemp = _useFileTreeState.initialOpenFileListTemp;
30
- var _useFileTreeDispatch = FileTreeContext.useFileTreeDispatch(),
31
- dispatch = _useFileTreeDispatch.dispatch;
32
- React__default.default.useEffect(function () {
15
+ const FileTreeConfig = React.forwardRef(({
16
+ className,
17
+ style,
18
+ onInitialOpenFileListChange,
19
+ initialOpenFilelist
20
+ }, ref) => {
21
+ const {
22
+ mode,
23
+ initialOpenFileListTemp
24
+ } = FileTreeContext.useFileTreeState();
25
+ const {
26
+ dispatch
27
+ } = FileTreeContext.useFileTreeDispatch();
28
+ React.useEffect(() => {
33
29
  dispatch({
34
30
  type: 'INITIAL_OPEN_FILELIST_UPDATE',
35
- initialOpenFilelist: initialOpenFilelist
31
+ initialOpenFilelist
36
32
  });
37
33
  }, [dispatch, initialOpenFilelist]);
38
- return jsxRuntime.jsx(StyledFileTreeConfig, {
39
- className: classnames__default.default('em-file-tree__config', className),
34
+ return React.createElement(StyledFileTreeConfig, {
35
+ className: classnames('em-file-tree__config', className),
40
36
  ref: ref,
41
- style: Object.assign({}, style),
42
- children: jsxRuntime.jsx(blocks.Button, {
43
- block: true,
44
- size: "small",
45
- role: "white",
46
- transparent: true,
47
- onClick: function onClick() {
48
- if ([
49
- // when mode changes from 'checkbox' to 'default'
50
- mode === 'checkbox',
51
- // when some value of initial open filelist changes'
52
- JSON.stringify(initialOpenFilelist.sort()) !== JSON.stringify(initialOpenFileListTemp.sort()),
53
- // when onInitialOpenFileListChange is function'
54
- typeof onInitialOpenFileListChange === 'function'].every(Boolean)) {
55
- onInitialOpenFileListChange(initialOpenFileListTemp);
56
- }
57
- dispatch({
58
- type: 'UPDATE_MODE',
59
- mode: mode === 'checkbox' ? 'default' : 'checkbox'
60
- });
61
- },
62
- children: mode === 'default' ? "Initial Open Files(".concat(initialOpenFileListTemp.length, ")") : "Settings (".concat(initialOpenFileListTemp.length, ")")
63
- })
64
- });
37
+ style: Object.assign({}, style)
38
+ }, React.createElement(blocks.Button, {
39
+ block: true,
40
+ size: "small",
41
+ role: "white",
42
+ transparent: true,
43
+ onClick: () => {
44
+ if ([
45
+ // when mode changes from 'checkbox' to 'default'
46
+ mode === 'checkbox',
47
+ // when some value of initial open filelist changes'
48
+ JSON.stringify(initialOpenFilelist.sort()) !== JSON.stringify(initialOpenFileListTemp.sort()),
49
+ // when onInitialOpenFileListChange is function'
50
+ typeof onInitialOpenFileListChange === 'function'].every(Boolean)) {
51
+ onInitialOpenFileListChange(initialOpenFileListTemp);
52
+ }
53
+ dispatch({
54
+ type: 'UPDATE_MODE',
55
+ mode: mode === 'checkbox' ? 'default' : 'checkbox'
56
+ });
57
+ }
58
+ }, mode === 'default' ? `Initial Open Files(${initialOpenFileListTemp.length})` : `Settings (${initialOpenFileListTemp.length})`));
65
59
  });
66
60
 
67
61
  exports.default = FileTreeConfig;
@@ -2,7 +2,6 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var jsxRuntime = require('react/jsx-runtime');
6
5
  var React = require('react');
7
6
  var designTokens = require('@elice/design-tokens');
8
7
  var classnames = require('classnames');
@@ -13,55 +12,54 @@ var FileTreeListItems = require('./FileTreeListItems.js');
13
12
  var fileTreeFiles = require('./utils/fileTreeFiles.js');
14
13
  var fileTreePath = require('./utils/fileTreePath.js');
15
14
 
16
- function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
17
-
18
- var classnames__default = /*#__PURE__*/_interopDefaultCompat(classnames);
19
- var styled__default = /*#__PURE__*/_interopDefaultCompat(styled);
20
-
21
- var StyledFileTreeList = styled__default.default.div.withConfig({
15
+ const StyledFileTreeList = styled.div.withConfig({
22
16
  componentId: "sc-5ddw80-0"
23
17
  })(["flex:auto;background-color:", ";overflow-x:hidden;overflow-y:overlay;", ""], designTokens.base.color.navy9, stylesheets.getMaterialScrollBarCss({
24
18
  width: '0.375rem',
25
19
  borderRadius: '2px',
26
20
  hideable: true
27
21
  }));
28
- var FileTreeList = React.forwardRef(function (_ref, ref) {
29
- var className = _ref.className,
30
- style = _ref.style,
31
- options = _ref.options;
32
- var _useFileTreeState = FileTreeContext.useFileTreeState(),
33
- fileTree = _useFileTreeState.fileTree,
34
- dropzonePath = _useFileTreeState.dropzonePath,
35
- draggedPath = _useFileTreeState.draggedPath,
36
- maxFileUploadSize = _useFileTreeState.maxFileUploadSize;
37
- var _useFileTreeDispatch = FileTreeContext.useFileTreeDispatch(),
38
- dispatch = _useFileTreeDispatch.dispatch,
39
- onDirectoryMove = _useFileTreeDispatch.onDirectoryMove,
40
- onFileMove = _useFileTreeDispatch.onFileMove,
41
- onFilesUpload = _useFileTreeDispatch.onFilesUpload;
42
- var handleFilesUpload = function handleFilesUpload(_ref2) {
43
- var files = _ref2.files,
44
- path = _ref2.path;
22
+ const FileTreeList = React.forwardRef(({
23
+ className,
24
+ style,
25
+ options
26
+ }, ref) => {
27
+ const {
28
+ fileTree,
29
+ dropzonePath,
30
+ draggedPath,
31
+ maxFileUploadSize
32
+ } = FileTreeContext.useFileTreeState();
33
+ const {
34
+ dispatch,
35
+ onDirectoryMove,
36
+ onFileMove,
37
+ onFilesUpload
38
+ } = FileTreeContext.useFileTreeDispatch();
39
+ const handleFilesUpload = ({
40
+ files,
41
+ path
42
+ }) => {
45
43
  if (fileTreeFiles.validateFilesSize(files, maxFileUploadSize)) {
46
44
  if (typeof onFilesUpload === 'function') {
47
45
  onFilesUpload({
48
- files: files,
49
- path: path
46
+ files,
47
+ path
50
48
  });
51
49
  }
52
50
  }
53
51
  };
54
- return jsxRuntime.jsx(StyledFileTreeList, {
55
- className: classnames__default.default('em-file-tree__list', className),
52
+ return React.createElement(StyledFileTreeList, {
53
+ className: classnames('em-file-tree__list', className),
56
54
  ref: ref,
57
55
  role: "tree",
58
56
  style: Object.assign({
59
57
  backgroundColor: dropzonePath === '' ? designTokens.base.color.primary7 : ''
60
58
  }, style),
61
- onDragEnter: function onDragEnter(e) {
59
+ onDragEnter: e => {
62
60
  e.preventDefault();
63
61
  e.stopPropagation();
64
- var isFiles = e.dataTransfer.types[0] === 'Files';
62
+ const isFiles = e.dataTransfer.types[0] === 'Files';
65
63
  if (draggedPath !== null || isFiles) {
66
64
  dispatch({
67
65
  type: 'UPDATE_DROPZONE_PATH',
@@ -69,14 +67,14 @@ var FileTreeList = React.forwardRef(function (_ref, ref) {
69
67
  });
70
68
  }
71
69
  },
72
- onDragOver: function onDragOver(e) {
70
+ onDragOver: e => {
73
71
  e.preventDefault();
74
72
  e.stopPropagation();
75
73
  },
76
- onDrop: function onDrop(e) {
74
+ onDrop: e => {
77
75
  e.stopPropagation();
78
76
  e.preventDefault();
79
- var draggedPath = e.dataTransfer.getData('text');
77
+ const draggedPath = e.dataTransfer.getData('text');
80
78
  // file drop
81
79
  if (e.dataTransfer.files.length > 0) {
82
80
  handleFilesUpload({
@@ -93,12 +91,12 @@ var FileTreeList = React.forwardRef(function (_ref, ref) {
93
91
  });
94
92
  } else {
95
93
  // file move
96
- var dragFileTreeNode = fileTree.findTreeNode(draggedPath);
94
+ const dragFileTreeNode = fileTree.findTreeNode(draggedPath);
97
95
  // file does not move. from a to a (the same path).
98
96
  if (fileTreePath.isMovingTheSamePath({
99
- draggedPath: draggedPath,
100
- dropzonePath: dropzonePath,
101
- dragFileTreeNode: dragFileTreeNode
97
+ draggedPath,
98
+ dropzonePath,
99
+ dragFileTreeNode
102
100
  })) {
103
101
  return;
104
102
  }
@@ -118,12 +116,11 @@ var FileTreeList = React.forwardRef(function (_ref, ref) {
118
116
  }
119
117
  }
120
118
  }
121
- },
122
- children: jsxRuntime.jsx(FileTreeListItems.default, {
123
- node: fileTree,
124
- indent: options === null || options === void 0 ? void 0 : options.indent
125
- })
126
- });
119
+ }
120
+ }, React.createElement(FileTreeListItems.default, {
121
+ node: fileTree,
122
+ indent: options === null || options === void 0 ? void 0 : options.indent
123
+ }));
127
124
  });
128
125
 
129
126
  exports.default = FileTreeList;
@@ -2,8 +2,6 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var _rollupPluginBabelHelpers = require('../../../_virtual/_rollupPluginBabelHelpers.js');
6
- var jsxRuntime = require('react/jsx-runtime');
7
5
  var React = require('react');
8
6
  var blocks = require('@elice/blocks');
9
7
  var designTokens = require('@elice/design-tokens');
@@ -14,52 +12,45 @@ var FileTreeListItemContentInput = require('./FileTreeListItemContentInput.js');
14
12
  var FileTreeListItemContentMenu = require('./FileTreeListItemContentMenu.js');
15
13
  var FileTreeListItemContent_styled = require('./FileTreeListItemContent.styled.js');
16
14
 
17
- function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
18
-
19
- var React__default = /*#__PURE__*/_interopDefaultCompat(React);
20
-
21
- var ITEM_IDENT_WIDTH = 8; // 0.5rem
22
- var FileTreeListItemContent = function FileTreeListItemContent(_ref) {
23
- var node = _ref.node,
24
- parentNode = _ref.parentNode,
25
- _ref$indent = _ref.indent,
26
- indent = _ref$indent === void 0 ? 1 : _ref$indent;
27
- var _useFileTreeState = FileTreeContext.useFileTreeState(),
28
- mode = _useFileTreeState.mode,
29
- activePath = _useFileTreeState.activePath,
30
- dropzonePath = _useFileTreeState.dropzonePath,
31
- newInput = _useFileTreeState.newInput;
32
- var _useFileTreeDispatch = FileTreeContext.useFileTreeDispatch(),
33
- dispatch = _useFileTreeDispatch.dispatch,
34
- onActivePathChange = _useFileTreeDispatch.onActivePathChange;
35
- var _React$useState = React__default.default.useState(),
36
- _React$useState2 = _rollupPluginBabelHelpers.slicedToArray(_React$useState, 2),
37
- menuAnchorEl = _React$useState2[0],
38
- setMenuAnchorEl = _React$useState2[1];
39
- var isNewItem = newInput && node.isEdit;
15
+ const ITEM_IDENT_WIDTH = 8; // 0.5rem
16
+ const FileTreeListItemContent = ({
17
+ node,
18
+ parentNode,
19
+ indent = 1
20
+ }) => {
21
+ const {
22
+ mode,
23
+ activePath,
24
+ dropzonePath,
25
+ newInput
26
+ } = FileTreeContext.useFileTreeState();
27
+ const {
28
+ dispatch,
29
+ onActivePathChange
30
+ } = FileTreeContext.useFileTreeDispatch();
31
+ const [menuAnchorEl, setMenuAnchorEl] = React.useState();
32
+ const isNewItem = newInput && node.isEdit;
40
33
  /**
41
34
  * Indent.
42
35
  */
43
- var contentIndents = React__default.default.useMemo(function () {
44
- var depth = (node.path.match(/\//g) || []).length;
45
- var counts = depth === 0 ? 0 : indent * depth;
46
- return jsxRuntime.jsx(FileTreeListItemContent_styled.StyledContentIndents, {
36
+ const contentIndents = React.useMemo(() => {
37
+ const depth = (node.path.match(/\//g) || []).length;
38
+ const counts = depth === 0 ? 0 : indent * depth;
39
+ return React.createElement(FileTreeListItemContent_styled.StyledContentIndents, {
47
40
  style: {
48
- flex: "0 0 ".concat(ITEM_IDENT_WIDTH * counts, "px")
49
- },
50
- children: Array(counts).fill(0).map(function (_, index) {
51
- return jsxRuntime.jsx(FileTreeListItemContent_styled.StyledContentIndentGuide, {
52
- style: {
53
- width: "".concat(ITEM_IDENT_WIDTH, "px")
54
- }
55
- }, index);
56
- })
57
- });
41
+ flex: `0 0 ${ITEM_IDENT_WIDTH * counts}px`
42
+ }
43
+ }, Array(counts).fill(0).map((_, index) => React.createElement(FileTreeListItemContent_styled.StyledContentIndentGuide, {
44
+ key: index,
45
+ style: {
46
+ width: `${ITEM_IDENT_WIDTH}px`
47
+ }
48
+ })));
58
49
  }, [node, indent]);
59
50
  /**
60
51
  * Handle item click.
61
52
  */
62
- var handleClick = function handleClick() {
53
+ const handleClick = () => {
63
54
  if (node.isEdit) {
64
55
  return;
65
56
  }
@@ -74,7 +65,7 @@ var FileTreeListItemContent = function FileTreeListItemContent(_ref) {
74
65
  /**
75
66
  * Handle item right-click.
76
67
  */
77
- var handleContextMenu = function handleContextMenu(e) {
68
+ const handleContextMenu = e => {
78
69
  e.preventDefault();
79
70
  setMenuAnchorEl({
80
71
  x: e.clientX,
@@ -84,110 +75,97 @@ var FileTreeListItemContent = function FileTreeListItemContent(_ref) {
84
75
  /**
85
76
  * Directory expand arrow.
86
77
  */
87
- var renderContentDirectoryExpandArrow = function renderContentDirectoryExpandArrow() {
78
+ const renderContentDirectoryExpandArrow = () => {
88
79
  // new or directory
89
80
  if (isNewItem || !node.isDirectory) {
90
- return jsxRuntime.jsx(FileTreeListItemContent_styled.StyledContentLabelDirArrowWrap, {});
81
+ return React.createElement(FileTreeListItemContent_styled.StyledContentLabelDirArrowWrap, null);
91
82
  }
92
- return jsxRuntime.jsx(FileTreeListItemContent_styled.StyledContentLabelDirArrowWrap, {
93
- children: jsxRuntime.jsx(blocks.Icon, {
94
- icon: icons.eilArrowDownwardsSingle,
95
- size: "tiny",
96
- rotate: node.expanded ? 0 : 270,
97
- color: designTokens.base.color.gray3
98
- })
99
- });
83
+ return React.createElement(FileTreeListItemContent_styled.StyledContentLabelDirArrowWrap, null, React.createElement(blocks.Icon, {
84
+ icon: icons.eilArrowDownwardsSingle,
85
+ size: "tiny",
86
+ rotate: node.expanded ? 0 : 270,
87
+ color: designTokens.base.color.gray3
88
+ }));
100
89
  };
101
90
  /**
102
91
  * Icon.
103
92
  */
104
- var renderContentIcon = function renderContentIcon() {
93
+ const renderContentIcon = () => {
105
94
  // new
106
95
  if (isNewItem) {
107
- return jsxRuntime.jsx(FileTreeListItemContent_styled.StyledContentLabelIconWrap, {
108
- children: jsxRuntime.jsx(FileIcon.default, {
109
- filename: "newfile",
110
- directory: (newInput === null || newInput === void 0 ? void 0 : newInput.type) === 'directory',
111
- width: "1rem",
112
- height: "1rem"
113
- })
114
- });
96
+ return React.createElement(FileTreeListItemContent_styled.StyledContentLabelIconWrap, null, React.createElement(FileIcon.default, {
97
+ filename: "newfile",
98
+ directory: (newInput === null || newInput === void 0 ? void 0 : newInput.type) === 'directory',
99
+ width: "1rem",
100
+ height: "1rem"
101
+ }));
115
102
  }
116
103
  // checkbox for file
117
104
  if (mode === 'checkbox' && !node.isDirectory) {
118
- return jsxRuntime.jsx(FileTreeListItemContent_styled.StyledContentLabelIconWrap, {
119
- children: jsxRuntime.jsx(blocks.Checkbox, {
120
- value: node.isInitialOpen,
121
- dark: true,
122
- onChange: function onChange(checked) {
123
- dispatch({
124
- type: checked ? 'INITIAL_OPEN_FILELIST_ADD' : 'INITIAL_OPEN_FILELIST_REMOVE',
125
- path: node.path
126
- });
127
- }
128
- })
129
- });
105
+ return React.createElement(FileTreeListItemContent_styled.StyledContentLabelIconWrap, null, React.createElement(blocks.Checkbox, {
106
+ value: node.isInitialOpen,
107
+ dark: true,
108
+ onChange: checked => {
109
+ dispatch({
110
+ type: checked ? 'INITIAL_OPEN_FILELIST_ADD' : 'INITIAL_OPEN_FILELIST_REMOVE',
111
+ path: node.path
112
+ });
113
+ }
114
+ }));
130
115
  }
131
- return jsxRuntime.jsx(FileTreeListItemContent_styled.StyledContentLabelIconWrap, {
132
- children: jsxRuntime.jsx(FileIcon.default, {
133
- filename: node.title,
134
- directory: node.isDirectory,
135
- expanded: node.expanded,
136
- width: "1rem",
137
- height: "1rem"
138
- })
139
- });
116
+ return React.createElement(FileTreeListItemContent_styled.StyledContentLabelIconWrap, null, React.createElement(FileIcon.default, {
117
+ filename: node.title,
118
+ directory: node.isDirectory,
119
+ expanded: node.expanded,
120
+ width: "1rem",
121
+ height: "1rem"
122
+ }));
140
123
  };
141
124
  /**
142
125
  * Filename.
143
126
  */
144
- var renderContentFilename = function renderContentFilename() {
127
+ const renderContentFilename = () => {
145
128
  var _a;
146
129
  // new
147
130
  if (isNewItem) {
148
- return jsxRuntime.jsx(FileTreeListItemContentInput.default, {
131
+ return React.createElement(FileTreeListItemContentInput.default, {
149
132
  type: "new",
150
133
  newInputType: (_a = newInput === null || newInput === void 0 ? void 0 : newInput.type) !== null && _a !== void 0 ? _a : 'file',
151
134
  currentPath: node.path,
152
- currentDirTitleList: parentNode.children.map(function (_ref2) {
153
- var title = _ref2.title;
154
- return title;
155
- })
135
+ currentDirTitleList: parentNode.children.map(({
136
+ title
137
+ }) => title)
156
138
  });
157
139
  }
158
140
  // rename
159
141
  if (node.isRenaming) {
160
- return jsxRuntime.jsx(FileTreeListItemContentInput.default, {
142
+ return React.createElement(FileTreeListItemContentInput.default, {
161
143
  type: "edit",
162
144
  initialValue: node.title,
163
145
  newInputType: node.isDirectory ? 'directory' : 'file',
164
146
  currentPath: node.path,
165
- currentDirTitleList: parentNode.children.map(function (_ref3) {
166
- var title = _ref3.title;
167
- return title;
168
- }).filter(function (title) {
169
- return title !== node.title;
170
- })
147
+ currentDirTitleList: parentNode.children.map(({
148
+ title
149
+ }) => title).filter(title => title !== node.title)
171
150
  });
172
151
  }
173
- return jsxRuntime.jsx(FileTreeListItemContent_styled.StyledContentLabelFilename, {
152
+ return React.createElement(FileTreeListItemContent_styled.StyledContentLabelFilename, {
174
153
  size: "tiny",
175
154
  block: true,
176
- ellipsis: true,
177
- children: node.title
178
- });
155
+ ellipsis: true
156
+ }, node.title);
179
157
  };
180
158
  /**
181
159
  * Status icon.
182
160
  */
183
- var renderContentStatusIcon = function renderContentStatusIcon() {
161
+ const renderContentStatusIcon = () => {
184
162
  // new or rename
185
163
  if (isNewItem || node.isRenaming) {
186
164
  return null;
187
165
  }
188
166
  // hidden
189
167
  if (node.isHidden) {
190
- return jsxRuntime.jsx(FileTreeListItemContent_styled.StyledContentLabelStatusIcon, {
168
+ return React.createElement(FileTreeListItemContent_styled.StyledContentLabelStatusIcon, {
191
169
  icon: icons.eilVisibilityOff,
192
170
  color: designTokens.base.color.gray4,
193
171
  size: "small"
@@ -195,7 +173,7 @@ var FileTreeListItemContent = function FileTreeListItemContent(_ref) {
195
173
  }
196
174
  // readonly
197
175
  if (node.isReadonly) {
198
- return jsxRuntime.jsx(FileTreeListItemContent_styled.StyledContentLabelStatusIcon, {
176
+ return React.createElement(FileTreeListItemContent_styled.StyledContentLabelStatusIcon, {
199
177
  icon: icons.eilLockOn,
200
178
  color: designTokens.base.color.gray4,
201
179
  size: "small"
@@ -206,44 +184,37 @@ var FileTreeListItemContent = function FileTreeListItemContent(_ref) {
206
184
  /**
207
185
  * Menu button.
208
186
  */
209
- var renderContentMenuButton = function renderContentMenuButton() {
187
+ const renderContentMenuButton = () => {
210
188
  // new or rename
211
189
  if (isNewItem || node.isRenaming) {
212
190
  return null;
213
191
  }
214
- return jsxRuntime.jsxs(jsxRuntime.Fragment, {
215
- children: [jsxRuntime.jsx(FileTreeListItemContent_styled.StyledContentLabelMenuButton, {
216
- icon: icons.eilMoreVertical,
217
- size: "tiny",
218
- role: "white",
219
- transparent: true,
220
- border: false,
221
- onClick: function onClick(e) {
222
- e.stopPropagation();
223
- setMenuAnchorEl(e.currentTarget);
224
- }
225
- }), jsxRuntime.jsx(FileTreeListItemContentMenu.default, {
226
- node: node,
227
- anchorEl: menuAnchorEl,
228
- onClose: function onClose() {
229
- return setMenuAnchorEl(undefined);
230
- }
231
- })]
232
- });
192
+ return React.createElement(React.Fragment, null, React.createElement(FileTreeListItemContent_styled.StyledContentLabelMenuButton, {
193
+ icon: icons.eilMoreVertical,
194
+ size: "tiny",
195
+ role: "white",
196
+ transparent: true,
197
+ border: false,
198
+ onClick: e => {
199
+ e.stopPropagation();
200
+ setMenuAnchorEl(e.currentTarget);
201
+ }
202
+ }), React.createElement(FileTreeListItemContentMenu.default, {
203
+ node: node,
204
+ anchorEl: menuAnchorEl,
205
+ onClose: () => setMenuAnchorEl(undefined)
206
+ }));
233
207
  };
234
208
  //
235
209
  //
236
210
  //
237
- return jsxRuntime.jsxs(FileTreeListItemContent_styled.StyledContent, {
238
- title: "~/".concat(node.path),
211
+ return React.createElement(FileTreeListItemContent_styled.StyledContent, {
212
+ title: `~/${node.path}`,
239
213
  active: activePath === node.path,
240
214
  isDragging: dropzonePath !== null,
241
215
  onClick: handleClick,
242
- onContextMenu: handleContextMenu,
243
- children: [contentIndents, jsxRuntime.jsxs(FileTreeListItemContent_styled.StyledContentLabel, {
244
- children: [renderContentDirectoryExpandArrow(), renderContentIcon(), renderContentFilename(), renderContentStatusIcon(), renderContentMenuButton()]
245
- })]
246
- });
216
+ onContextMenu: handleContextMenu
217
+ }, contentIndents, React.createElement(FileTreeListItemContent_styled.StyledContentLabel, null, renderContentDirectoryExpandArrow(), renderContentIcon(), renderContentFilename(), renderContentStatusIcon(), renderContentMenuButton()));
247
218
  };
248
219
 
249
220
  exports.default = FileTreeListItemContent;