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