@elice/material-exercise 1.230328.0 → 1.230418.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (369) hide show
  1. package/cjs/_virtual/_rollupPluginBabelHelpers.js +526 -0
  2. package/cjs/components/material-exercise/MaterialExercise.js +44 -63
  3. package/cjs/components/material-exercise/MaterialExercise.styled.js +20 -23
  4. package/cjs/components/material-exercise/MaterialExerciseMobile.js +19 -15
  5. package/cjs/components/material-exercise/context/ExerciseIntlProvider.js +9 -13
  6. package/cjs/components/material-exercise/context/ExerciseProvider.js +83 -81
  7. package/cjs/components/material-exercise/context/ExerciseProviderNoImage.js +16 -16
  8. package/cjs/components/material-exercise/context/context.js +1 -1
  9. package/cjs/components/material-exercise/context/locales/noImage.en.json.js +3 -1
  10. package/cjs/components/material-exercise/context/locales/noImage.ko.json.js +3 -1
  11. package/cjs/components/material-exercise/context/recoil.js +559 -371
  12. package/cjs/components/material-exercise/context/recoilTypes.js +0 -5
  13. package/cjs/components/material-exercise/context/subjects.js +3 -6
  14. package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.d.ts +2 -2
  15. package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.js +78 -65
  16. package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.js +8 -8
  17. package/cjs/components/material-exercise/exercise-code-history/locales/en.json.js +7 -0
  18. package/cjs/components/material-exercise/exercise-code-history/locales/ko.json.js +7 -0
  19. package/cjs/components/material-exercise/exercise-file/ExerciseFile.js +20 -21
  20. package/cjs/components/material-exercise/exercise-file-editor/ExerciseFileEditor.js +225 -198
  21. package/cjs/components/material-exercise/exercise-file-editor/ExerciseFileReadOnlyBanner.js +8 -10
  22. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabs.js +35 -32
  23. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabsFileTreeButton.js +57 -48
  24. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.js +6 -4
  25. package/cjs/components/material-exercise/exercise-file-tabs/locales/fileTreeButton.en.json.js +3 -1
  26. package/cjs/components/material-exercise/exercise-file-tabs/locales/fileTreeButton.ko.json.js +3 -1
  27. package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTree.js +327 -231
  28. package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.js +6 -4
  29. package/cjs/components/material-exercise/exercise-file-tree/locales/en.json.js +3 -1
  30. package/cjs/components/material-exercise/exercise-file-tree/locales/ko.json.js +3 -1
  31. package/cjs/components/material-exercise/exercise-file-viewer/ExerciseFileViewer.js +17 -17
  32. package/cjs/components/material-exercise/exercise-menu/ExerciseMenu.js +13 -14
  33. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.js +6 -6
  34. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.js +47 -38
  35. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuDropdown.js +60 -42
  36. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuReset.js +29 -22
  37. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.js +45 -56
  38. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.js +12 -12
  39. package/cjs/components/material-exercise/exercise-menu/locales/en.json.js +3 -1
  40. package/cjs/components/material-exercise/exercise-menu/locales/ko.json.js +3 -1
  41. package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdown.js +28 -20
  42. package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.js +5 -3
  43. package/cjs/components/material-exercise/exercise-preview/ExercisePreview.js +30 -41
  44. package/cjs/components/material-exercise/exercise-preview/ExercisePreviewDisplayModeButton.js +17 -12
  45. package/cjs/components/material-exercise/exercise-preview/locales/en.json.js +3 -1
  46. package/cjs/components/material-exercise/exercise-preview/locales/ko.json.js +3 -1
  47. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpane.js +24 -33
  48. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpaneEditorPerference.js +13 -8
  49. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpaneEnvironment.js +84 -83
  50. package/cjs/components/material-exercise/exercise-rightpane/locales/en.json.js +3 -1
  51. package/cjs/components/material-exercise/exercise-rightpane/locales/ko.json.js +3 -1
  52. package/cjs/components/material-exercise/exercise-room/ExerciseRoom.js +20 -12
  53. package/cjs/components/material-exercise/exercise-room/ExerciseRoom.styled.js +14 -12
  54. package/cjs/components/material-exercise/exercise-room/ExerciseRoomDetail.js +239 -147
  55. package/cjs/components/material-exercise/exercise-room/ExerciseRoomList.js +92 -63
  56. package/cjs/components/material-exercise/exercise-room/helpers/exerciseRoomPermissionStringConvertor.js +2 -8
  57. package/cjs/components/material-exercise/exercise-room/locales/en.json.js +3 -1
  58. package/cjs/components/material-exercise/exercise-room/locales/ko.json.js +3 -1
  59. package/cjs/components/material-exercise/exercise-runner/ExerciseRunner.js +219 -220
  60. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerContext.js +1 -1
  61. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerController.js +13 -13
  62. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.js +30 -26
  63. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.js +26 -26
  64. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js +70 -95
  65. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.js +27 -27
  66. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerRunningInfo.js +54 -60
  67. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusIndicator.js +5 -5
  68. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusMessage.js +10 -13
  69. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerTimer.js +29 -26
  70. package/cjs/components/material-exercise/exercise-runner/locales/en.json.js +3 -1
  71. package/cjs/components/material-exercise/exercise-runner/locales/ko.json.js +3 -1
  72. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.d.ts +2 -2
  73. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.js +290 -180
  74. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.styled.js +8 -8
  75. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistoryOutput.js +41 -45
  76. package/cjs/components/material-exercise/exercise-submit-history/locales/en.json.js +7 -0
  77. package/cjs/components/material-exercise/exercise-submit-history/locales/ko.json.js +7 -0
  78. package/cjs/components/shared/exercise-menu-button/ExerciseMenuButton.js +19 -17
  79. package/cjs/components/shared/exercise-shimmer/ExerciseFileShimmer.js +5 -4
  80. package/cjs/components/shared/exercise-shimmer/ExerciseFileTabShimmer.js +15 -14
  81. package/cjs/components/shared/exercise-shimmer/ExerciseFileTabsShimmer.js +7 -6
  82. package/cjs/components/shared/exercise-shimmer/ExerciseFileTreeListItemShimmer.js +17 -16
  83. package/cjs/components/shared/exercise-shimmer/ExerciseFileTreeListShimmer.js +18 -11
  84. package/cjs/components/shared/exercise-version-list/ExerciseVersionList.js +5 -4
  85. package/cjs/components/shared/exercise-version-list/ExerciseVersionList.styled.js +1 -1
  86. package/cjs/components/shared/exercise-version-list/ExerciseVersionListItem.js +8 -7
  87. package/cjs/components/shared/exercise-version-list/ExerciseVersionListItem.styled.js +9 -5
  88. package/cjs/components/shared/file-icon/FileIcon.js +23 -23
  89. package/cjs/components/shared/file-tabs/FileTab.js +32 -43
  90. package/cjs/components/shared/file-tabs/FileTab.styled.js +26 -22
  91. package/cjs/components/shared/file-tabs/FileTabs.js +55 -49
  92. package/cjs/components/shared/file-tabs/FileTabs.styled.js +2 -2
  93. package/cjs/components/shared/file-tabs/util.js +29 -18
  94. package/cjs/components/shared/file-tree/FileTree.js +11 -11
  95. package/cjs/components/shared/file-tree/FileTreeConfig.js +24 -23
  96. package/cjs/components/shared/file-tree/FileTreeList.js +35 -41
  97. package/cjs/components/shared/file-tree/FileTreeListItemContent.js +75 -91
  98. package/cjs/components/shared/file-tree/FileTreeListItemContent.styled.js +29 -40
  99. package/cjs/components/shared/file-tree/FileTreeListItemContentInput.js +77 -101
  100. package/cjs/components/shared/file-tree/FileTreeListItemContentInput.styled.js +6 -6
  101. package/cjs/components/shared/file-tree/FileTreeListItemContentMenu.js +51 -86
  102. package/cjs/components/shared/file-tree/FileTreeListItems.js +150 -153
  103. package/cjs/components/shared/file-tree/FileTreeListItems.styled.js +2 -2
  104. package/cjs/components/shared/file-tree/FileTreeToolbar.js +30 -41
  105. package/cjs/components/shared/file-tree/FileTreeToolbar.styled.js +1 -1
  106. package/cjs/components/shared/file-tree/context/FileTreeContext.js +91 -97
  107. package/cjs/components/shared/file-tree/locales/en.json.js +3 -1
  108. package/cjs/components/shared/file-tree/locales/ko.json.js +3 -1
  109. package/cjs/components/shared/file-tree/utils/fileTreeFiles.js +20 -22
  110. package/cjs/components/shared/file-tree/utils/fileTreeGenerator.js +193 -173
  111. package/cjs/components/shared/file-tree/utils/fileTreeInput.js +0 -1
  112. package/cjs/components/shared/file-tree/utils/fileTreeItem.js +1 -1
  113. package/cjs/components/shared/file-tree/utils/fileTreePath.js +5 -7
  114. package/cjs/components/shared/file-viewer/FileViewer.js +59 -60
  115. package/cjs/components/shared/file-viewer/FileViewerCsv.js +145 -101
  116. package/cjs/components/shared/file-viewer/FileViewerImage.js +7 -8
  117. package/cjs/components/shared/file-viewer/FileViewerIpynb.js +20 -14
  118. package/cjs/components/shared/file-viewer/FileViewerNonViewable.js +28 -34
  119. package/cjs/components/shared/file-viewer/FileViewerText.js +23 -16
  120. package/cjs/components/shared/file-viewer/locales/en.json.js +3 -1
  121. package/cjs/components/shared/file-viewer/locales/ko.json.js +3 -1
  122. package/cjs/components/shared/file-viewer/locales/nonViewable.en.json.js +3 -1
  123. package/cjs/components/shared/file-viewer/locales/nonViewable.ko.json.js +3 -1
  124. package/cjs/components/shared/material-modal/MaterialModal.js +10 -12
  125. package/cjs/components/shared/material-modal/MaterialModal.styled.js +5 -5
  126. package/cjs/components/shared/monaco-editor/MonacoEditor.js +123 -149
  127. package/cjs/components/shared/monaco-editor/MonacoEditorLazy.js +10 -8
  128. package/cjs/components/shared/monaco-editor/MonacoEditorMobile.js +49 -58
  129. package/cjs/components/shared/monaco-editor/MonacoEditorPerferenceForm.js +78 -85
  130. package/cjs/components/shared/monaco-editor/constants/grammars/index.js +131 -52
  131. package/cjs/components/shared/monaco-editor/constants/monaco/preferences.js +5 -9
  132. package/cjs/components/shared/monaco-editor/constants/themes/index.js +80 -32
  133. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventChange.js +10 -13
  134. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventCursor.js +14 -18
  135. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventScroll.js +8 -9
  136. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoMarkers.js +54 -72
  137. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoOptions.js +14 -15
  138. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoTheme.js +8 -9
  139. package/cjs/components/shared/monaco-editor/editor-languages/css/formatter.js +36 -12
  140. package/cjs/components/shared/monaco-editor/editor-languages/css/index.js +5 -8
  141. package/cjs/components/shared/monaco-editor/editor-languages/html/formatter.js +36 -12
  142. package/cjs/components/shared/monaco-editor/editor-languages/html/index.js +3 -6
  143. package/cjs/components/shared/monaco-editor/editor-languages/index.js +3 -1
  144. package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/_helper.js +1 -1
  145. package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/express.js +3 -2
  146. package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/propTypes.js +3 -2
  147. package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/react.js +3 -2
  148. package/cjs/components/shared/monaco-editor/editor-languages/typescript/formatter.js +36 -12
  149. package/cjs/components/shared/monaco-editor/editor-languages/typescript/index.js +18 -24
  150. package/cjs/components/shared/monaco-editor/hooks/useEditorOptions.js +12 -9
  151. package/cjs/components/shared/monaco-editor/locales/en.json.js +3 -1
  152. package/cjs/components/shared/monaco-editor/locales/ko.json.js +3 -1
  153. package/cjs/components/shared/monaco-editor/utils/emmet/abbreviationActions.js +18 -28
  154. package/cjs/components/shared/monaco-editor/utils/emmet/emmet.js +0 -3
  155. package/cjs/components/shared/monaco-editor/utils/emmet/registerProvider.js +12 -8
  156. package/cjs/components/shared/monaco-editor/utils/grammar/index.js +70 -32
  157. package/cjs/components/shared/monaco-editor/utils/grammar/onigasm.js +25 -7
  158. package/cjs/components/shared/monaco-editor/utils/grammar/textmate.js +67 -43
  159. package/cjs/components/shared/monaco-editor/utils/monacoLanguage.js +9 -19
  160. package/cjs/components/shared/monaco-editor/utils/monacoPreference.js +6 -5
  161. package/cjs/components/shared/monaco-editor/utils/prettier/config.js +2 -3
  162. package/cjs/components/shared/monaco-editor/utils/prettier/index.js +30 -9
  163. package/cjs/components/shared/monaco-editor/utils/theme/convert.js +20 -26
  164. package/cjs/components/shared/monaco-editor/utils/theme/index.js +22 -5
  165. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursor.js +77 -75
  166. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorManager.js +82 -93
  167. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorWidget.js +125 -135
  168. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelection.js +148 -160
  169. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelectionManager.js +104 -118
  170. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/styles.js +2 -2
  171. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/configCompat.js +1 -3
  172. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/data.js +2 -3
  173. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/emmetHelper.js +218 -329
  174. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/utils.js +3 -6
  175. package/cjs/components/shared/no-vnc/NoVnc.js +93 -90
  176. package/cjs/components/shared/no-vnc/NoVncLazy.js +7 -5
  177. package/cjs/components/shared/preview-container/PreviewContainer.js +7 -10
  178. package/cjs/components/shared/web-browser/WebBrowser.js +54 -59
  179. package/cjs/components/shared/xterm/Xterm.js +112 -105
  180. package/cjs/components/shared/xterm/XtermLazy.js +7 -5
  181. package/cjs/components/shared/xterm/locales/en.json.js +3 -1
  182. package/cjs/components/shared/xterm/locales/ko.json.js +3 -1
  183. package/cjs/constants/arduino.js +10 -10
  184. package/cjs/constants/shortcutKeyMap.js +5 -5
  185. package/cjs/constants/stylesheets.js +7 -10
  186. package/cjs/hooks/useArduino.js +327 -255
  187. package/cjs/hooks/useExerciseFile.js +24 -24
  188. package/cjs/hooks/useExericseShortcut.js +6 -5
  189. package/cjs/hooks/useMaterialExerciseFileUrl.js +54 -37
  190. package/cjs/hooks/useRunnerRoomWebSocket.js +58 -56
  191. package/cjs/hooks/useStdioTextConcator.js +18 -12
  192. package/cjs/hooks/useStdioWebSocket.js +41 -67
  193. package/cjs/hooks/useUsercodeEditWebSocket.js +230 -252
  194. package/cjs/hooks/useUsercodeHistory.js +121 -82
  195. package/cjs/index.js +4 -4
  196. package/cjs/utils/arduino.js +23 -25
  197. package/cjs/utils/exerciseFile.js +8 -16
  198. package/cjs/utils/runner.js +29 -25
  199. package/es/_virtual/_rollupPluginBabelHelpers.js +504 -0
  200. package/es/components/material-exercise/MaterialExercise.js +33 -54
  201. package/es/components/material-exercise/MaterialExercise.styled.js +20 -23
  202. package/es/components/material-exercise/MaterialExerciseMobile.js +15 -13
  203. package/es/components/material-exercise/context/ExerciseIntlProvider.js +9 -13
  204. package/es/components/material-exercise/context/ExerciseProvider.js +79 -79
  205. package/es/components/material-exercise/context/ExerciseProviderNoImage.js +11 -13
  206. package/es/components/material-exercise/context/context.js +1 -1
  207. package/es/components/material-exercise/context/recoil.js +560 -372
  208. package/es/components/material-exercise/context/recoilTypes.js +0 -5
  209. package/es/components/material-exercise/context/subjects.js +3 -6
  210. package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.d.ts +2 -2
  211. package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.js +73 -62
  212. package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.js +8 -8
  213. package/es/components/material-exercise/exercise-code-history/locales/en.json.js +3 -0
  214. package/es/components/material-exercise/exercise-code-history/locales/ko.json.js +3 -0
  215. package/es/components/material-exercise/exercise-file/ExerciseFile.js +15 -18
  216. package/es/components/material-exercise/exercise-file-editor/ExerciseFileEditor.js +218 -193
  217. package/es/components/material-exercise/exercise-file-editor/ExerciseFileReadOnlyBanner.js +5 -9
  218. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabs.js +31 -28
  219. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabsFileTreeButton.js +52 -45
  220. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.js +1 -1
  221. package/es/components/material-exercise/exercise-file-tree/ExerciseFileTree.js +321 -225
  222. package/es/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.js +1 -1
  223. package/es/components/material-exercise/exercise-file-viewer/ExerciseFileViewer.js +12 -14
  224. package/es/components/material-exercise/exercise-menu/ExerciseMenu.js +7 -10
  225. package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.js +3 -5
  226. package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.js +43 -36
  227. package/es/components/material-exercise/exercise-menu/ExerciseMenuDropdown.js +53 -37
  228. package/es/components/material-exercise/exercise-menu/ExerciseMenuReset.js +25 -20
  229. package/es/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.js +41 -54
  230. package/es/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.js +12 -12
  231. package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdown.js +25 -19
  232. package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.js +1 -1
  233. package/es/components/material-exercise/exercise-preview/ExercisePreview.js +21 -34
  234. package/es/components/material-exercise/exercise-preview/ExercisePreviewDisplayModeButton.js +13 -10
  235. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpane.js +17 -28
  236. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpaneEditorPerference.js +9 -6
  237. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpaneEnvironment.js +81 -82
  238. package/es/components/material-exercise/exercise-room/ExerciseRoom.js +13 -7
  239. package/es/components/material-exercise/exercise-room/ExerciseRoom.styled.js +14 -12
  240. package/es/components/material-exercise/exercise-room/ExerciseRoomDetail.js +236 -146
  241. package/es/components/material-exercise/exercise-room/ExerciseRoomList.js +90 -63
  242. package/es/components/material-exercise/exercise-room/helpers/exerciseRoomPermissionStringConvertor.js +2 -8
  243. package/es/components/material-exercise/exercise-runner/ExerciseRunner.js +212 -215
  244. package/es/components/material-exercise/exercise-runner/ExerciseRunnerContext.js +1 -1
  245. package/es/components/material-exercise/exercise-runner/ExerciseRunnerController.js +7 -9
  246. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.js +27 -25
  247. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.js +22 -24
  248. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js +66 -93
  249. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.js +24 -26
  250. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerRunningInfo.js +51 -59
  251. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusIndicator.js +2 -4
  252. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusMessage.js +6 -11
  253. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerTimer.js +26 -25
  254. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.d.ts +2 -2
  255. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.js +284 -174
  256. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.styled.js +8 -8
  257. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistoryOutput.js +38 -44
  258. package/es/components/material-exercise/exercise-submit-history/locales/en.json.js +3 -0
  259. package/es/components/material-exercise/exercise-submit-history/locales/ko.json.js +3 -0
  260. package/es/components/shared/exercise-menu-button/ExerciseMenuButton.js +16 -16
  261. package/es/components/shared/exercise-shimmer/ExerciseFileShimmer.js +2 -3
  262. package/es/components/shared/exercise-shimmer/ExerciseFileTabShimmer.js +12 -13
  263. package/es/components/shared/exercise-shimmer/ExerciseFileTabsShimmer.js +2 -3
  264. package/es/components/shared/exercise-shimmer/ExerciseFileTreeListItemShimmer.js +14 -15
  265. package/es/components/shared/exercise-shimmer/ExerciseFileTreeListShimmer.js +15 -10
  266. package/es/components/shared/exercise-version-list/ExerciseVersionList.js +2 -3
  267. package/es/components/shared/exercise-version-list/ExerciseVersionList.styled.js +1 -1
  268. package/es/components/shared/exercise-version-list/ExerciseVersionListItem.js +5 -6
  269. package/es/components/shared/exercise-version-list/ExerciseVersionListItem.styled.js +9 -5
  270. package/es/components/shared/file-icon/FileIcon.js +20 -22
  271. package/es/components/shared/file-tabs/FileTab.js +28 -41
  272. package/es/components/shared/file-tabs/FileTab.styled.js +26 -22
  273. package/es/components/shared/file-tabs/FileTabs.js +52 -48
  274. package/es/components/shared/file-tabs/FileTabs.styled.js +2 -2
  275. package/es/components/shared/file-tabs/util.js +29 -18
  276. package/es/components/shared/file-tree/FileTree.js +3 -5
  277. package/es/components/shared/file-tree/FileTreeConfig.js +21 -22
  278. package/es/components/shared/file-tree/FileTreeList.js +31 -39
  279. package/es/components/shared/file-tree/FileTreeListItemContent.js +67 -85
  280. package/es/components/shared/file-tree/FileTreeListItemContent.styled.js +29 -40
  281. package/es/components/shared/file-tree/FileTreeListItemContentInput.js +74 -100
  282. package/es/components/shared/file-tree/FileTreeListItemContentInput.styled.js +6 -6
  283. package/es/components/shared/file-tree/FileTreeListItemContentMenu.js +48 -85
  284. package/es/components/shared/file-tree/FileTreeListItems.js +147 -152
  285. package/es/components/shared/file-tree/FileTreeListItems.styled.js +2 -2
  286. package/es/components/shared/file-tree/FileTreeToolbar.js +24 -37
  287. package/es/components/shared/file-tree/FileTreeToolbar.styled.js +1 -1
  288. package/es/components/shared/file-tree/context/FileTreeContext.js +91 -97
  289. package/es/components/shared/file-tree/utils/fileTreeFiles.js +20 -22
  290. package/es/components/shared/file-tree/utils/fileTreeGenerator.js +193 -173
  291. package/es/components/shared/file-tree/utils/fileTreeInput.js +0 -1
  292. package/es/components/shared/file-tree/utils/fileTreeItem.js +1 -1
  293. package/es/components/shared/file-tree/utils/fileTreePath.js +5 -7
  294. package/es/components/shared/file-viewer/FileViewer.js +52 -53
  295. package/es/components/shared/file-viewer/FileViewerCsv.js +141 -99
  296. package/es/components/shared/file-viewer/FileViewerImage.js +3 -6
  297. package/es/components/shared/file-viewer/FileViewerIpynb.js +16 -12
  298. package/es/components/shared/file-viewer/FileViewerNonViewable.js +22 -30
  299. package/es/components/shared/file-viewer/FileViewerText.js +18 -13
  300. package/es/components/shared/material-modal/MaterialModal.js +7 -11
  301. package/es/components/shared/material-modal/MaterialModal.styled.js +5 -5
  302. package/es/components/shared/monaco-editor/MonacoEditor.js +119 -147
  303. package/es/components/shared/monaco-editor/MonacoEditorLazy.js +6 -4
  304. package/es/components/shared/monaco-editor/MonacoEditorMobile.js +45 -56
  305. package/es/components/shared/monaco-editor/MonacoEditorPerferenceForm.js +73 -82
  306. package/es/components/shared/monaco-editor/constants/grammars/index.js +131 -52
  307. package/es/components/shared/monaco-editor/constants/monaco/preferences.js +5 -9
  308. package/es/components/shared/monaco-editor/constants/themes/index.js +80 -32
  309. package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventChange.js +10 -13
  310. package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventCursor.js +14 -18
  311. package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventScroll.js +8 -9
  312. package/es/components/shared/monaco-editor/editor-hooks/useMonacoMarkers.js +54 -72
  313. package/es/components/shared/monaco-editor/editor-hooks/useMonacoOptions.js +14 -15
  314. package/es/components/shared/monaco-editor/editor-hooks/useMonacoTheme.js +8 -9
  315. package/es/components/shared/monaco-editor/editor-languages/css/formatter.js +33 -11
  316. package/es/components/shared/monaco-editor/editor-languages/css/index.js +2 -5
  317. package/es/components/shared/monaco-editor/editor-languages/html/formatter.js +33 -11
  318. package/es/components/shared/monaco-editor/editor-languages/html/index.js +2 -5
  319. package/es/components/shared/monaco-editor/editor-languages/typescript/dts/_helper.js +1 -1
  320. package/es/components/shared/monaco-editor/editor-languages/typescript/dts/express.js +0 -1
  321. package/es/components/shared/monaco-editor/editor-languages/typescript/dts/propTypes.js +0 -1
  322. package/es/components/shared/monaco-editor/editor-languages/typescript/dts/react.js +0 -1
  323. package/es/components/shared/monaco-editor/editor-languages/typescript/formatter.js +33 -11
  324. package/es/components/shared/monaco-editor/editor-languages/typescript/index.js +10 -16
  325. package/es/components/shared/monaco-editor/hooks/useEditorOptions.js +12 -9
  326. package/es/components/shared/monaco-editor/utils/emmet/abbreviationActions.js +18 -28
  327. package/es/components/shared/monaco-editor/utils/emmet/emmet.js +0 -3
  328. package/es/components/shared/monaco-editor/utils/emmet/registerProvider.js +12 -8
  329. package/es/components/shared/monaco-editor/utils/grammar/index.js +67 -31
  330. package/es/components/shared/monaco-editor/utils/grammar/onigasm.js +25 -7
  331. package/es/components/shared/monaco-editor/utils/grammar/textmate.js +67 -43
  332. package/es/components/shared/monaco-editor/utils/monacoLanguage.js +9 -19
  333. package/es/components/shared/monaco-editor/utils/monacoPreference.js +6 -5
  334. package/es/components/shared/monaco-editor/utils/prettier/config.js +2 -3
  335. package/es/components/shared/monaco-editor/utils/prettier/index.js +27 -8
  336. package/es/components/shared/monaco-editor/utils/theme/convert.js +20 -26
  337. package/es/components/shared/monaco-editor/utils/theme/index.js +22 -5
  338. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursor.js +77 -75
  339. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorManager.js +82 -93
  340. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorWidget.js +125 -135
  341. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelection.js +148 -160
  342. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelectionManager.js +104 -118
  343. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/styles.js +2 -2
  344. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/configCompat.js +1 -3
  345. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/data.js +2 -3
  346. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/emmetHelper.js +219 -330
  347. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/utils.js +3 -6
  348. package/es/components/shared/no-vnc/NoVnc.js +89 -88
  349. package/es/components/shared/no-vnc/NoVncLazy.js +4 -2
  350. package/es/components/shared/preview-container/PreviewContainer.js +7 -10
  351. package/es/components/shared/web-browser/WebBrowser.js +49 -56
  352. package/es/components/shared/xterm/Xterm.js +107 -102
  353. package/es/components/shared/xterm/XtermLazy.js +4 -2
  354. package/es/constants/arduino.js +10 -10
  355. package/es/constants/shortcutKeyMap.js +3 -5
  356. package/es/constants/stylesheets.js +7 -10
  357. package/es/hooks/useArduino.js +327 -255
  358. package/es/hooks/useExerciseFile.js +24 -24
  359. package/es/hooks/useExericseShortcut.js +6 -5
  360. package/es/hooks/useMaterialExerciseFileUrl.js +55 -38
  361. package/es/hooks/useRunnerRoomWebSocket.js +58 -56
  362. package/es/hooks/useStdioTextConcator.js +18 -12
  363. package/es/hooks/useStdioWebSocket.js +41 -67
  364. package/es/hooks/useUsercodeEditWebSocket.js +230 -252
  365. package/es/hooks/useUsercodeHistory.js +122 -83
  366. package/es/utils/arduino.js +23 -25
  367. package/es/utils/exerciseFile.js +8 -16
  368. package/es/utils/runner.js +29 -25
  369. package/package.json +8 -8
@@ -6,50 +6,45 @@ import { getParentPath } from './utils/fileTreeGenerator.js';
6
6
  import { useFileTreeDispatch } from './context/FileTreeContext.js';
7
7
  import { StyledInputForm, StyledInput } from './FileTreeListItemContentInput.styled.js';
8
8
 
9
- const FILENAME_MAX_LENGTH = 65535;
10
- const FILENAME_REGEXP_DOT = /^\.$/;
11
- const FILENAME_REGEXP_DOTDOT = /^\.\.$/;
12
- const FILENAME_REGEXP_DOT_ELICE = /^\.elice$/;
13
- const FILENAME_REGEXP_SLASH = /\//;
14
- const FILENAME_REGEXP_BACK_SLASH = /\\/;
15
-
16
- const FileTreeListItemContentInput = ({
17
- type,
18
- initialValue,
19
- className,
20
- style,
21
- currentPath,
22
- currentDirTitleList,
23
- newInputType
24
- }) => {
25
- const intl = useIntl();
26
- const targetPath = getParentPath(currentPath);
27
- const {
28
- dispatch,
29
- onFileAdd,
30
- onDirectoryAdd,
31
- onActivePathChange,
32
- onFileMove,
33
- onDirectoryMove
34
- } = useFileTreeDispatch();
35
- const {
36
- control,
37
- handleSubmit,
38
- reset,
39
- getValues
40
- } = useForm({
41
- defaultValues: {
42
- filename: initialValue || ''
43
- },
44
- mode: 'onChange'
45
- });
46
- const formElRef = React.useRef(null);
47
- const inputElRef = React.useRef(null);
9
+ var FILENAME_MAX_LENGTH = 65535;
10
+ var FILENAME_REGEXP_DOT = /^\.$/;
11
+ var FILENAME_REGEXP_DOTDOT = /^\.\.$/;
12
+ var FILENAME_REGEXP_DOT_ELICE = /^\.elice$/;
13
+ var FILENAME_REGEXP_SLASH = /\//;
14
+ var FILENAME_REGEXP_BACK_SLASH = /\\/;
15
+ var FileTreeListItemContentInput = function FileTreeListItemContentInput(_ref) {
16
+ var type = _ref.type,
17
+ initialValue = _ref.initialValue,
18
+ className = _ref.className,
19
+ style = _ref.style,
20
+ currentPath = _ref.currentPath,
21
+ currentDirTitleList = _ref.currentDirTitleList,
22
+ newInputType = _ref.newInputType;
23
+ var intl = useIntl();
24
+ var targetPath = getParentPath(currentPath);
25
+ var _useFileTreeDispatch = useFileTreeDispatch(),
26
+ dispatch = _useFileTreeDispatch.dispatch,
27
+ onFileAdd = _useFileTreeDispatch.onFileAdd,
28
+ onDirectoryAdd = _useFileTreeDispatch.onDirectoryAdd,
29
+ onActivePathChange = _useFileTreeDispatch.onActivePathChange,
30
+ onFileMove = _useFileTreeDispatch.onFileMove,
31
+ onDirectoryMove = _useFileTreeDispatch.onDirectoryMove;
32
+ var _useForm = useForm({
33
+ defaultValues: {
34
+ filename: initialValue || ''
35
+ },
36
+ mode: 'onChange'
37
+ }),
38
+ control = _useForm.control,
39
+ handleSubmit = _useForm.handleSubmit,
40
+ reset = _useForm.reset,
41
+ getValues = _useForm.getValues;
42
+ var formElRef = React.useRef(null);
43
+ var inputElRef = React.useRef(null);
48
44
  /**
49
45
  * Close current input.
50
46
  */
51
-
52
- const close = () => {
47
+ var close = function close() {
53
48
  reset({
54
49
  filename: initialValue
55
50
  });
@@ -67,9 +62,7 @@ const FileTreeListItemContentInput = ({
67
62
  /**
68
63
  * Validate input value.
69
64
  */
70
-
71
-
72
- const validateFilename = newFilename => {
65
+ var validateFilename = function validateFilename(newFilename) {
73
66
  switch (true) {
74
67
  // has dot or dot-dot
75
68
  case FILENAME_REGEXP_DOT.test(newFilename) || FILENAME_REGEXP_DOTDOT.test(newFilename):
@@ -77,24 +70,22 @@ const FileTreeListItemContentInput = ({
77
70
  id: 'fileTree.list.item.content.input.validation.error.filename.dot'
78
71
  });
79
72
  // has `.elice`
80
-
81
73
  case FILENAME_REGEXP_DOT_ELICE.test(newFilename):
82
74
  return intl.formatMessage({
83
75
  id: 'fileTree.list.item.content.input.validation.error.filename.dotElice'
84
76
  });
85
77
  // has slash or backslash
86
-
87
78
  case FILENAME_REGEXP_SLASH.test(newFilename) || FILENAME_REGEXP_BACK_SLASH.test(newFilename):
88
79
  return intl.formatMessage({
89
80
  id: 'fileTree.list.item.content.input.validation.error.filename.slash'
90
81
  });
91
82
  // duplicated
92
-
93
- case currentDirTitleList.some(title => title === newFilename):
83
+ case currentDirTitleList.some(function (title) {
84
+ return title === newFilename;
85
+ }):
94
86
  return intl.formatMessage({
95
87
  id: 'fileTree.list.item.content.input.validation.error.filename.duplicated'
96
88
  });
97
-
98
89
  default:
99
90
  return true;
100
91
  }
@@ -102,71 +93,64 @@ const FileTreeListItemContentInput = ({
102
93
  /**
103
94
  * Add file.
104
95
  */
105
-
106
-
107
- const addFile = params => {
96
+ var addFile = function addFile(params) {
108
97
  if (typeof onFileAdd !== 'function' || !params.emptyFileWithName) {
109
98
  close();
110
99
  return;
111
100
  }
112
-
113
- onFileAdd(params).then(() => onActivePathChange(params.path === '' ? `${params.emptyFileWithName}` : `${params.path}/${params.emptyFileWithName}`, false)).then(close).catch(() => {//
101
+ onFileAdd(params).then(function () {
102
+ return onActivePathChange(params.path === '' ? "".concat(params.emptyFileWithName) : "".concat(params.path, "/").concat(params.emptyFileWithName), false);
103
+ }).then(close).catch(function () {
104
+ //
114
105
  });
115
106
  };
116
107
  /**
117
108
  * Add directory.
118
109
  */
119
-
120
-
121
- const addDirectory = params => {
110
+ var addDirectory = function addDirectory(params) {
122
111
  if (typeof onDirectoryAdd !== 'function' || !params.name) {
123
112
  close();
124
113
  return;
125
114
  }
126
-
127
- onDirectoryAdd(params).then(() => onActivePathChange(params.path === '' ? `${params.name}` : `${params.path}/${params.name}`, true)).then(close).catch(() => {//
115
+ onDirectoryAdd(params).then(function () {
116
+ return onActivePathChange(params.path === '' ? "".concat(params.name) : "".concat(params.path, "/").concat(params.name), true);
117
+ }).then(close).catch(function () {
118
+ //
128
119
  });
129
120
  };
130
121
  /**
131
122
  * Move file.
132
123
  */
133
-
134
-
135
- const moveFile = params => {
124
+ var moveFile = function moveFile(params) {
136
125
  if (typeof onFileMove !== 'function' || params.newName === initialValue) {
137
126
  close();
138
127
  return;
139
128
  }
140
-
141
- onFileMove(params).then(close).catch(() => {//
129
+ onFileMove(params).then(close).catch(function () {
130
+ //
142
131
  });
143
132
  };
144
133
  /**
145
134
  * Move directory.
146
135
  */
147
-
148
-
149
- const moveDirectory = params => {
136
+ var moveDirectory = function moveDirectory(params) {
150
137
  if (typeof onDirectoryMove !== 'function' || params.newName === initialValue) {
151
138
  close();
152
139
  return;
153
140
  }
154
-
155
- onDirectoryMove(params).then(close).catch(() => {//
141
+ onDirectoryMove(params).then(close).catch(function () {
142
+ //
156
143
  });
157
144
  };
158
145
  /**
159
146
  * Submit and rename file.
160
147
  */
161
-
162
-
163
- const handleFormSubmit = handleSubmit(newData => {
148
+ var handleFormSubmit = handleSubmit(function (newData) {
164
149
  // if new input is empty, close it.
165
150
  if (!newData.filename) {
166
151
  close();
167
152
  return;
168
153
  }
169
-
170
154
  if (type === 'new') {
171
155
  if (newInputType === 'file') {
172
156
  addFile({
@@ -175,7 +159,6 @@ const FileTreeListItemContentInput = ({
175
159
  overwrite: false
176
160
  });
177
161
  }
178
-
179
162
  if (newInputType === 'directory') {
180
163
  addDirectory({
181
164
  path: targetPath,
@@ -191,7 +174,6 @@ const FileTreeListItemContentInput = ({
191
174
  newPath: targetPath
192
175
  });
193
176
  }
194
-
195
177
  if (newInputType === 'directory') {
196
178
  moveDirectory({
197
179
  currentFilename: currentPath,
@@ -204,50 +186,42 @@ const FileTreeListItemContentInput = ({
204
186
  /**
205
187
  * Handle click away.
206
188
  */
207
-
208
- const handleFormClickAway = () => {
209
- const newFilename = getValues('filename');
210
-
189
+ var handleFormClickAway = function handleFormClickAway() {
190
+ var newFilename = getValues('filename');
211
191
  if (newFilename) {
212
192
  void handleFormSubmit();
213
193
  return;
214
194
  }
215
-
216
195
  close();
217
196
  };
218
197
  /**
219
198
  * Handle keydown event.
220
199
  */
221
-
222
-
223
- const handleKeyDown = e => {
200
+ var handleKeyDown = function handleKeyDown(e) {
224
201
  switch (e.key) {
225
202
  case 'Escape':
226
203
  close();
227
204
  break;
228
205
  }
229
- }; //
206
+ };
207
+ //
230
208
  // Select value at input when initial value is set.
231
209
  //
232
-
233
-
234
- React.useEffect(() => {
210
+ React.useEffect(function () {
235
211
  var _a;
236
-
237
212
  if (!inputElRef.current || !initialValue) {
238
213
  return;
239
214
  }
240
-
241
- const rangeEndExcludeExtension = initialValue.indexOf((_a = initialValue.split('.').pop()) !== null && _a !== void 0 ? _a : '') - 1;
215
+ var rangeEndExcludeExtension = initialValue.indexOf((_a = initialValue.split('.').pop()) !== null && _a !== void 0 ? _a : '') - 1;
242
216
  inputElRef.current.setSelectionRange(0, rangeEndExcludeExtension > 0 ? rangeEndExcludeExtension : initialValue.length);
243
- }, [initialValue]); //
217
+ }, [initialValue]);
218
+ //
244
219
  // Submit form when click outside.
245
220
  //
246
-
247
- useClickAway(formElRef, handleFormClickAway); //
221
+ useClickAway(formElRef, handleFormClickAway);
222
+ //
248
223
  //
249
224
  //
250
-
251
225
  return React.createElement(StyledInputForm, {
252
226
  onSubmit: handleFormSubmit,
253
227
  ref: formElRef
@@ -271,12 +245,10 @@ const FileTreeListItemContentInput = ({
271
245
  },
272
246
  validate: validateFilename
273
247
  },
274
- render: ({
275
- field,
276
- fieldState
277
- }) => {
248
+ render: function render(_ref2) {
249
+ var field = _ref2.field,
250
+ fieldState = _ref2.fieldState;
278
251
  var _a;
279
-
280
252
  return React.createElement(StyledInput, Object.assign({}, field, {
281
253
  type: "text",
282
254
  className: className,
@@ -286,7 +258,9 @@ const FileTreeListItemContentInput = ({
286
258
  invalidText: (_a = fieldState.error) === null || _a === void 0 ? void 0 : _a.message,
287
259
  autoFocus: true,
288
260
  style: style,
289
- onChange: e => field.onChange(e.target.value.trim()),
261
+ onChange: function onChange(e) {
262
+ return field.onChange(e.target.value.trim());
263
+ },
290
264
  onKeyDown: handleKeyDown,
291
265
  ref: inputElRef
292
266
  }));
@@ -2,14 +2,14 @@ import { Input } from '@elice/blocks';
2
2
  import { base } from '@elice/design-tokens';
3
3
  import styled from 'styled-components';
4
4
 
5
- const INPUT_HEIGHT = '1.25rem';
6
- const INPUT_FONT_SIZE = '0.75rem';
7
- const INPUT_INNER_LEFT_PADDING = '0.125rem';
8
- const INPUT_INNER_RIGHT_PADDING = '0.25rem';
9
- const StyledInputForm = styled.form.withConfig({
5
+ var INPUT_HEIGHT = '1.25rem';
6
+ var INPUT_FONT_SIZE = '0.75rem';
7
+ var INPUT_INNER_LEFT_PADDING = '0.125rem';
8
+ var INPUT_INNER_RIGHT_PADDING = '0.25rem';
9
+ var StyledInputForm = styled.form.withConfig({
10
10
  componentId: "sc-1glq6yp-0"
11
11
  })(["flex:1;display:flex;"]);
12
- const StyledInput = styled(Input).withConfig({
12
+ var StyledInput = styled(Input).withConfig({
13
13
  componentId: "sc-1glq6yp-1"
14
14
  })(["min-height:", ";> div{background:transparent !important;> div{&:nth-child(1){padding:", ";}&:nth-child(3){padding:", ";}}.eb-icon{width:0.875em;height:0.875em;font-size:0.875em;}}& input{padding-top:0 !important;padding-bottom:0 !important;height:", " !important;color:", " !important;font-size:", " !important;}"], INPUT_HEIGHT, INPUT_INNER_LEFT_PADDING, INPUT_INNER_RIGHT_PADDING, INPUT_HEIGHT, base.color.gray0, INPUT_FONT_SIZE);
15
15
 
@@ -1,31 +1,31 @@
1
+ import { slicedToArray as _slicedToArray } from '../../../_virtual/_rollupPluginBabelHelpers.js';
1
2
  import React from 'react';
2
3
  import { useIntl, FormattedMessage } from 'react-intl';
3
4
  import { Menu, List, Dialog } from '@elice/blocks';
4
5
  import { useFileTreeState, useFileTreeDispatch } from './context/FileTreeContext.js';
5
6
 
6
- const FileTreeListItemContentMenu = ({
7
- node,
8
- anchorEl,
9
- onClose
10
- }) => {
11
- const intl = useIntl();
12
- const {
13
- allowToggleHidden,
14
- allowToggleReadonly
15
- } = useFileTreeState();
16
- const {
17
- dispatch,
18
- onHiddenSet,
19
- onReadOnlySet,
20
- onFileDelete,
21
- onDirectoryDelete
22
- } = useFileTreeDispatch();
23
- const [isDeleteDialogOpen, setDeleteDialogOpen] = React.useState(false);
7
+ var FileTreeListItemContentMenu = function FileTreeListItemContentMenu(_ref) {
8
+ var node = _ref.node,
9
+ anchorEl = _ref.anchorEl,
10
+ onClose = _ref.onClose;
11
+ var intl = useIntl();
12
+ var _useFileTreeState = useFileTreeState(),
13
+ allowToggleHidden = _useFileTreeState.allowToggleHidden,
14
+ allowToggleReadonly = _useFileTreeState.allowToggleReadonly;
15
+ var _useFileTreeDispatch = useFileTreeDispatch(),
16
+ dispatch = _useFileTreeDispatch.dispatch,
17
+ onHiddenSet = _useFileTreeDispatch.onHiddenSet,
18
+ onReadOnlySet = _useFileTreeDispatch.onReadOnlySet,
19
+ onFileDelete = _useFileTreeDispatch.onFileDelete,
20
+ onDirectoryDelete = _useFileTreeDispatch.onDirectoryDelete;
21
+ var _React$useState = React.useState(false),
22
+ _React$useState2 = _slicedToArray(_React$useState, 2),
23
+ isDeleteDialogOpen = _React$useState2[0],
24
+ setDeleteDialogOpen = _React$useState2[1];
24
25
  /**
25
26
  * Set file readonly.
26
27
  */
27
-
28
- const handleReadOnlySet = () => {
28
+ var handleReadOnlySet = function handleReadOnlySet() {
29
29
  if (typeof onReadOnlySet === 'function') {
30
30
  onReadOnlySet({
31
31
  path: node.path,
@@ -36,9 +36,7 @@ const FileTreeListItemContentMenu = ({
36
36
  /**
37
37
  * Unset file readonly.
38
38
  */
39
-
40
-
41
- const handleReadOnlyUnset = () => {
39
+ var handleReadOnlyUnset = function handleReadOnlyUnset() {
42
40
  if (typeof onReadOnlySet === 'function') {
43
41
  onReadOnlySet({
44
42
  path: node.path,
@@ -49,9 +47,7 @@ const FileTreeListItemContentMenu = ({
49
47
  /**
50
48
  * Set file hidden.
51
49
  */
52
-
53
-
54
- const handleHiddenSet = () => {
50
+ var handleHiddenSet = function handleHiddenSet() {
55
51
  if (typeof onHiddenSet === 'function') {
56
52
  onHiddenSet({
57
53
  path: node.path,
@@ -62,9 +58,7 @@ const FileTreeListItemContentMenu = ({
62
58
  /**
63
59
  * Unset file hidden.
64
60
  */
65
-
66
-
67
- const handleHiddenUnset = () => {
61
+ var handleHiddenUnset = function handleHiddenUnset() {
68
62
  if (typeof onHiddenSet === 'function') {
69
63
  onHiddenSet({
70
64
  path: node.path,
@@ -75,9 +69,7 @@ const FileTreeListItemContentMenu = ({
75
69
  /**
76
70
  * Create a new file.
77
71
  */
78
-
79
-
80
- const handleNewFile = () => {
72
+ var handleNewFile = function handleNewFile() {
81
73
  dispatch({
82
74
  type: 'NEW_INPUT_OPEN',
83
75
  newInput: {
@@ -89,9 +81,7 @@ const FileTreeListItemContentMenu = ({
89
81
  /**
90
82
  * Create a new directory.
91
83
  */
92
-
93
-
94
- const handleNewDirectory = () => {
84
+ var handleNewDirectory = function handleNewDirectory() {
95
85
  dispatch({
96
86
  type: 'NEW_INPUT_OPEN',
97
87
  newInput: {
@@ -103,9 +93,7 @@ const FileTreeListItemContentMenu = ({
103
93
  /**
104
94
  * Rename file.
105
95
  */
106
-
107
-
108
- const handleRename = () => {
96
+ var handleRename = function handleRename() {
109
97
  dispatch({
110
98
  type: 'UPDATE_RENAME_INPUT_PATH',
111
99
  path: node.path
@@ -114,13 +102,10 @@ const FileTreeListItemContentMenu = ({
114
102
  /**
115
103
  * Delete file.
116
104
  */
117
-
118
-
119
- const handleDelete = () => {
105
+ var handleDelete = function handleDelete() {
120
106
  if (node.isDirectory && typeof onDirectoryDelete === 'function') {
121
107
  void onDirectoryDelete(node.path);
122
108
  }
123
-
124
109
  if (!node.isDirectory && typeof onFileDelete === 'function') {
125
110
  void onFileDelete(node.path);
126
111
  }
@@ -128,13 +113,10 @@ const FileTreeListItemContentMenu = ({
128
113
  /**
129
114
  * Set file readonly.
130
115
  */
131
-
132
-
133
- const renderMenuItemReadOnlySet = () => {
116
+ var renderMenuItemReadOnlySet = function renderMenuItemReadOnlySet() {
134
117
  if (!allowToggleReadonly || node.isDirectory || node.isReadonly || node.isHidden) {
135
118
  return null;
136
119
  }
137
-
138
120
  return React.createElement(List.Item, {
139
121
  onClick: handleReadOnlySet
140
122
  }, React.createElement(List.ItemText, null, React.createElement(FormattedMessage, {
@@ -144,13 +126,10 @@ const FileTreeListItemContentMenu = ({
144
126
  /**
145
127
  * Unset file readonly.
146
128
  */
147
-
148
-
149
- const renderMenuItemReadOnlyUnset = () => {
129
+ var renderMenuItemReadOnlyUnset = function renderMenuItemReadOnlyUnset() {
150
130
  if (!allowToggleReadonly || node.isDirectory || !node.isReadonly) {
151
131
  return null;
152
132
  }
153
-
154
133
  return React.createElement(List.Item, {
155
134
  onClick: handleReadOnlyUnset
156
135
  }, React.createElement(List.ItemText, null, React.createElement(FormattedMessage, {
@@ -160,13 +139,10 @@ const FileTreeListItemContentMenu = ({
160
139
  /**
161
140
  * Set file hidden.
162
141
  */
163
-
164
-
165
- const renderMenuItemHiddenSet = () => {
142
+ var renderMenuItemHiddenSet = function renderMenuItemHiddenSet() {
166
143
  if (!allowToggleHidden || node.isDirectory || node.isReadonly || node.isHidden) {
167
144
  return null;
168
145
  }
169
-
170
146
  return React.createElement(List.Item, {
171
147
  onClick: handleHiddenSet
172
148
  }, React.createElement(List.ItemText, null, React.createElement(FormattedMessage, {
@@ -176,13 +152,10 @@ const FileTreeListItemContentMenu = ({
176
152
  /**
177
153
  * Unset file hidden.
178
154
  */
179
-
180
-
181
- const renderMenuItemHiddenUnset = () => {
155
+ var renderMenuItemHiddenUnset = function renderMenuItemHiddenUnset() {
182
156
  if (!allowToggleHidden || node.isDirectory || !node.isHidden) {
183
157
  return null;
184
158
  }
185
-
186
159
  return React.createElement(List.Item, {
187
160
  onClick: handleHiddenUnset
188
161
  }, React.createElement(List.ItemText, null, React.createElement(FormattedMessage, {
@@ -192,13 +165,10 @@ const FileTreeListItemContentMenu = ({
192
165
  /**
193
166
  * New file.
194
167
  */
195
-
196
-
197
- const renderMenuItemNewFile = () => {
168
+ var renderMenuItemNewFile = function renderMenuItemNewFile() {
198
169
  if (!node.isDirectory) {
199
170
  return null;
200
171
  }
201
-
202
172
  return React.createElement(List.Item, {
203
173
  onClick: handleNewFile
204
174
  }, React.createElement(List.ItemText, null, React.createElement(FormattedMessage, {
@@ -208,13 +178,10 @@ const FileTreeListItemContentMenu = ({
208
178
  /**
209
179
  * New directory.
210
180
  */
211
-
212
-
213
- const renderMenuItemNewDirectory = () => {
181
+ var renderMenuItemNewDirectory = function renderMenuItemNewDirectory() {
214
182
  if (!node.isDirectory) {
215
183
  return null;
216
184
  }
217
-
218
185
  return React.createElement(List.Item, {
219
186
  onClick: handleNewDirectory
220
187
  }, React.createElement(List.ItemText, null, React.createElement(FormattedMessage, {
@@ -224,9 +191,7 @@ const FileTreeListItemContentMenu = ({
224
191
  /**
225
192
  * Rename file.
226
193
  */
227
-
228
-
229
- const renderMenuItemRename = () => {
194
+ var renderMenuItemRename = function renderMenuItemRename() {
230
195
  return React.createElement(List.Item, {
231
196
  disabled: !node.isRemovable,
232
197
  onClick: handleRename
@@ -237,12 +202,12 @@ const FileTreeListItemContentMenu = ({
237
202
  /**
238
203
  * Delete file.
239
204
  */
240
-
241
-
242
- const renderMenuItemDelete = () => {
205
+ var renderMenuItemDelete = function renderMenuItemDelete() {
243
206
  return React.createElement(List.Item, {
244
207
  disabled: !node.isRemovable,
245
- onClick: () => setDeleteDialogOpen(true)
208
+ onClick: function onClick() {
209
+ return setDeleteDialogOpen(true);
210
+ }
246
211
  }, React.createElement(List.ItemText, null, React.createElement(FormattedMessage, {
247
212
  id: "fileTree.list.item.content.menu.item.delete"
248
213
  })));
@@ -250,9 +215,7 @@ const FileTreeListItemContentMenu = ({
250
215
  /**
251
216
  * Menu.
252
217
  */
253
-
254
-
255
- const renderMenu = () => {
218
+ var renderMenu = function renderMenu() {
256
219
  return React.createElement(Menu, {
257
220
  open: Boolean(anchorEl),
258
221
  anchorEl: anchorEl,
@@ -265,13 +228,10 @@ const FileTreeListItemContentMenu = ({
265
228
  /**
266
229
  * Dialog for confirm delete.
267
230
  */
268
-
269
-
270
- const renderDeleteConfirmDialog = () => {
231
+ var renderDeleteConfirmDialog = function renderDeleteConfirmDialog() {
271
232
  if (!isDeleteDialogOpen) {
272
233
  return null;
273
234
  }
274
-
275
235
  return React.createElement(Dialog, {
276
236
  type: "warning",
277
237
  title: intl.formatMessage({
@@ -282,9 +242,13 @@ const FileTreeListItemContentMenu = ({
282
242
  }, {
283
243
  title: node.title
284
244
  }),
285
- onHide: () => setDeleteDialogOpen(false)
245
+ onHide: function onHide() {
246
+ return setDeleteDialogOpen(false);
247
+ }
286
248
  }, React.createElement(Dialog.CloseButton, {
287
- onClick: () => setDeleteDialogOpen(false)
249
+ onClick: function onClick() {
250
+ return setDeleteDialogOpen(false);
251
+ }
288
252
  }, React.createElement(FormattedMessage, {
289
253
  id: "fileTree.list.item.content.menu.deleteConfirmDialog.cancel"
290
254
  })), React.createElement(Dialog.ActionButton, {
@@ -292,11 +256,10 @@ const FileTreeListItemContentMenu = ({
292
256
  }, React.createElement(FormattedMessage, {
293
257
  id: "fileTree.list.item.content.menu.deleteConfirmDialog.confirm"
294
258
  })));
295
- }; //
259
+ };
260
+ //
296
261
  //
297
262
  //
298
-
299
-
300
263
  return React.createElement(React.Fragment, null, renderMenu(), renderDeleteConfirmDialog());
301
264
  };
302
265