@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
@@ -10,49 +10,48 @@ var fileTreeGenerator = require('./utils/fileTreeGenerator.js');
10
10
  var FileTreeContext = require('./context/FileTreeContext.js');
11
11
  var FileTreeListItemContentInput_styled = require('./FileTreeListItemContentInput.styled.js');
12
12
 
13
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
14
-
15
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
16
-
17
- var FILENAME_MAX_LENGTH = 65535;
18
- var FILENAME_REGEXP_DOT = /^\.$/;
19
- var FILENAME_REGEXP_DOTDOT = /^\.\.$/;
20
- var FILENAME_REGEXP_DOT_ELICE = /^\.elice$/;
21
- var FILENAME_REGEXP_SLASH = /\//;
22
- var FILENAME_REGEXP_BACK_SLASH = /\\/;
23
- var FileTreeListItemContentInput = function FileTreeListItemContentInput(_ref) {
24
- var type = _ref.type,
25
- initialValue = _ref.initialValue,
26
- className = _ref.className,
27
- style = _ref.style,
28
- currentPath = _ref.currentPath,
29
- currentDirTitleList = _ref.currentDirTitleList,
30
- newInputType = _ref.newInputType;
31
- var intl = reactIntl.useIntl();
32
- var targetPath = fileTreeGenerator.getParentPath(currentPath);
33
- var _useFileTreeDispatch = FileTreeContext.useFileTreeDispatch(),
34
- dispatch = _useFileTreeDispatch.dispatch,
35
- onFileAdd = _useFileTreeDispatch.onFileAdd,
36
- onDirectoryAdd = _useFileTreeDispatch.onDirectoryAdd,
37
- onActivePathChange = _useFileTreeDispatch.onActivePathChange,
38
- onFileMove = _useFileTreeDispatch.onFileMove,
39
- onDirectoryMove = _useFileTreeDispatch.onDirectoryMove;
40
- var _useForm = reactHookForm.useForm({
41
- defaultValues: {
42
- filename: initialValue || ''
43
- },
44
- mode: 'onChange'
45
- }),
46
- control = _useForm.control,
47
- handleSubmit = _useForm.handleSubmit,
48
- reset = _useForm.reset,
49
- getValues = _useForm.getValues;
50
- var formElRef = React__default["default"].useRef(null);
51
- var inputElRef = React__default["default"].useRef(null);
13
+ const FILENAME_MAX_LENGTH = 65535;
14
+ const FILENAME_REGEXP_DOT = /^\.$/;
15
+ const FILENAME_REGEXP_DOTDOT = /^\.\.$/;
16
+ const FILENAME_REGEXP_DOT_ELICE = /^\.elice$/;
17
+ const FILENAME_REGEXP_SLASH = /\//;
18
+ const FILENAME_REGEXP_BACK_SLASH = /\\/;
19
+ const FileTreeListItemContentInput = ({
20
+ type,
21
+ initialValue,
22
+ className,
23
+ style,
24
+ currentPath,
25
+ currentDirTitleList,
26
+ newInputType
27
+ }) => {
28
+ const intl = reactIntl.useIntl();
29
+ const targetPath = fileTreeGenerator.getParentPath(currentPath);
30
+ const {
31
+ dispatch,
32
+ onFileAdd,
33
+ onDirectoryAdd,
34
+ onActivePathChange,
35
+ onFileMove,
36
+ onDirectoryMove
37
+ } = FileTreeContext.useFileTreeDispatch();
38
+ const {
39
+ control,
40
+ handleSubmit,
41
+ reset,
42
+ getValues
43
+ } = reactHookForm.useForm({
44
+ defaultValues: {
45
+ filename: initialValue || ''
46
+ },
47
+ mode: 'onChange'
48
+ });
49
+ const formElRef = React.useRef(null);
50
+ const inputElRef = React.useRef(null);
52
51
  /**
53
52
  * Close current input.
54
53
  */
55
- var close = function close() {
54
+ const close = () => {
56
55
  reset({
57
56
  filename: initialValue
58
57
  });
@@ -70,7 +69,7 @@ var FileTreeListItemContentInput = function FileTreeListItemContentInput(_ref) {
70
69
  /**
71
70
  * Validate input value.
72
71
  */
73
- var validateFilename = function validateFilename(newFilename) {
72
+ const validateFilename = newFilename => {
74
73
  switch (true) {
75
74
  // has dot or dot-dot
76
75
  case FILENAME_REGEXP_DOT.test(newFilename) || FILENAME_REGEXP_DOTDOT.test(newFilename):
@@ -88,9 +87,7 @@ var FileTreeListItemContentInput = function FileTreeListItemContentInput(_ref) {
88
87
  id: 'fileTree.list.item.content.input.validation.error.filename.slash'
89
88
  });
90
89
  // duplicated
91
- case currentDirTitleList.some(function (title) {
92
- return title === newFilename;
93
- }):
90
+ case currentDirTitleList.some(title => title === newFilename):
94
91
  return intl.formatMessage({
95
92
  id: 'fileTree.list.item.content.input.validation.error.filename.duplicated'
96
93
  });
@@ -101,59 +98,55 @@ var FileTreeListItemContentInput = function FileTreeListItemContentInput(_ref) {
101
98
  /**
102
99
  * Add file.
103
100
  */
104
- var addFile = function addFile(params) {
101
+ const addFile = params => {
105
102
  if (typeof onFileAdd !== 'function' || !params.emptyFileWithName) {
106
103
  close();
107
104
  return;
108
105
  }
109
- onFileAdd(params).then(function () {
110
- return onActivePathChange(params.path === '' ? "".concat(params.emptyFileWithName) : "".concat(params.path, "/").concat(params.emptyFileWithName), false);
111
- }).then(close).catch(function () {
106
+ onFileAdd(params).then(() => onActivePathChange(params.path === '' ? `${params.emptyFileWithName}` : `${params.path}/${params.emptyFileWithName}`, false)).then(close).catch(() => {
112
107
  //
113
108
  });
114
109
  };
115
110
  /**
116
111
  * Add directory.
117
112
  */
118
- var addDirectory = function addDirectory(params) {
113
+ const addDirectory = params => {
119
114
  if (typeof onDirectoryAdd !== 'function' || !params.name) {
120
115
  close();
121
116
  return;
122
117
  }
123
- onDirectoryAdd(params).then(function () {
124
- return onActivePathChange(params.path === '' ? "".concat(params.name) : "".concat(params.path, "/").concat(params.name), true);
125
- }).then(close).catch(function () {
118
+ onDirectoryAdd(params).then(() => onActivePathChange(params.path === '' ? `${params.name}` : `${params.path}/${params.name}`, true)).then(close).catch(() => {
126
119
  //
127
120
  });
128
121
  };
129
122
  /**
130
123
  * Move file.
131
124
  */
132
- var moveFile = function moveFile(params) {
125
+ const moveFile = params => {
133
126
  if (typeof onFileMove !== 'function' || params.newName === initialValue) {
134
127
  close();
135
128
  return;
136
129
  }
137
- onFileMove(params).then(close).catch(function () {
130
+ onFileMove(params).then(close).catch(() => {
138
131
  //
139
132
  });
140
133
  };
141
134
  /**
142
135
  * Move directory.
143
136
  */
144
- var moveDirectory = function moveDirectory(params) {
137
+ const moveDirectory = params => {
145
138
  if (typeof onDirectoryMove !== 'function' || params.newName === initialValue) {
146
139
  close();
147
140
  return;
148
141
  }
149
- onDirectoryMove(params).then(close).catch(function () {
142
+ onDirectoryMove(params).then(close).catch(() => {
150
143
  //
151
144
  });
152
145
  };
153
146
  /**
154
147
  * Submit and rename file.
155
148
  */
156
- var handleFormSubmit = handleSubmit(function (newData) {
149
+ const handleFormSubmit = handleSubmit(newData => {
157
150
  // if new input is empty, close it.
158
151
  if (!newData.filename) {
159
152
  close();
@@ -194,8 +187,8 @@ var FileTreeListItemContentInput = function FileTreeListItemContentInput(_ref) {
194
187
  /**
195
188
  * Handle click away.
196
189
  */
197
- var handleFormClickAway = function handleFormClickAway() {
198
- var newFilename = getValues('filename');
190
+ const handleFormClickAway = () => {
191
+ const newFilename = getValues('filename');
199
192
  if (newFilename) {
200
193
  void handleFormSubmit();
201
194
  return;
@@ -205,7 +198,7 @@ var FileTreeListItemContentInput = function FileTreeListItemContentInput(_ref) {
205
198
  /**
206
199
  * Handle keydown event.
207
200
  */
208
- var handleKeyDown = function handleKeyDown(e) {
201
+ const handleKeyDown = e => {
209
202
  switch (e.key) {
210
203
  case 'Escape':
211
204
  close();
@@ -215,12 +208,12 @@ var FileTreeListItemContentInput = function FileTreeListItemContentInput(_ref) {
215
208
  //
216
209
  // Select value at input when initial value is set.
217
210
  //
218
- React__default["default"].useEffect(function () {
211
+ React.useEffect(() => {
219
212
  var _a;
220
213
  if (!inputElRef.current || !initialValue) {
221
214
  return;
222
215
  }
223
- var rangeEndExcludeExtension = initialValue.indexOf((_a = initialValue.split('.').pop()) !== null && _a !== void 0 ? _a : '') - 1;
216
+ const rangeEndExcludeExtension = initialValue.indexOf((_a = initialValue.split('.').pop()) !== null && _a !== void 0 ? _a : '') - 1;
224
217
  inputElRef.current.setSelectionRange(0, rangeEndExcludeExtension > 0 ? rangeEndExcludeExtension : initialValue.length);
225
218
  }, [initialValue]);
226
219
  //
@@ -230,10 +223,10 @@ var FileTreeListItemContentInput = function FileTreeListItemContentInput(_ref) {
230
223
  //
231
224
  //
232
225
  //
233
- return React__default["default"].createElement(FileTreeListItemContentInput_styled.StyledInputForm, {
226
+ return React.createElement(FileTreeListItemContentInput_styled.StyledInputForm, {
234
227
  onSubmit: handleFormSubmit,
235
228
  ref: formElRef
236
- }, React__default["default"].createElement(reactHookForm.Controller, {
229
+ }, React.createElement(reactHookForm.Controller, {
237
230
  control: control,
238
231
  name: "filename",
239
232
  rules: {
@@ -253,11 +246,12 @@ var FileTreeListItemContentInput = function FileTreeListItemContentInput(_ref) {
253
246
  },
254
247
  validate: validateFilename
255
248
  },
256
- render: function render(_ref2) {
257
- var field = _ref2.field,
258
- fieldState = _ref2.fieldState;
249
+ render: ({
250
+ field,
251
+ fieldState
252
+ }) => {
259
253
  var _a;
260
- return React__default["default"].createElement(FileTreeListItemContentInput_styled.StyledInput, Object.assign({}, field, {
254
+ return React.createElement(FileTreeListItemContentInput_styled.StyledInput, Object.assign({}, field, {
261
255
  type: "text",
262
256
  className: className,
263
257
  size: "small",
@@ -266,9 +260,7 @@ var FileTreeListItemContentInput = function FileTreeListItemContentInput(_ref) {
266
260
  invalidText: (_a = fieldState.error) === null || _a === void 0 ? void 0 : _a.message,
267
261
  autoFocus: true,
268
262
  style: style,
269
- onChange: function onChange(e) {
270
- return field.onChange(e.target.value.trim());
271
- },
263
+ onChange: e => field.onChange(e.target.value.trim()),
272
264
  onKeyDown: handleKeyDown,
273
265
  ref: inputElRef
274
266
  }));
@@ -276,4 +268,4 @@ var FileTreeListItemContentInput = function FileTreeListItemContentInput(_ref) {
276
268
  }));
277
269
  };
278
270
 
279
- exports["default"] = FileTreeListItemContentInput;
271
+ exports.default = FileTreeListItemContentInput;
@@ -1,23 +1,17 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var blocks = require('@elice/blocks');
6
4
  var designTokens = require('@elice/design-tokens');
7
5
  var styled = require('styled-components');
8
6
 
9
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
10
-
11
- var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
12
-
13
- var INPUT_HEIGHT = '1.25rem';
14
- var INPUT_FONT_SIZE = '0.75rem';
15
- var INPUT_INNER_LEFT_PADDING = '0.125rem';
16
- var INPUT_INNER_RIGHT_PADDING = '0.25rem';
17
- var StyledInputForm = styled__default["default"].form.withConfig({
7
+ const INPUT_HEIGHT = '1.25rem';
8
+ const INPUT_FONT_SIZE = '0.75rem';
9
+ const INPUT_INNER_LEFT_PADDING = '0.125rem';
10
+ const INPUT_INNER_RIGHT_PADDING = '0.25rem';
11
+ const StyledInputForm = styled.form.withConfig({
18
12
  componentId: "sc-1glq6yp-0"
19
13
  })(["flex:1;display:flex;"]);
20
- var StyledInput = styled__default["default"](blocks.Input).withConfig({
14
+ const StyledInput = styled(blocks.Input).withConfig({
21
15
  componentId: "sc-1glq6yp-1"
22
16
  })(["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, designTokens.base.color.gray0, INPUT_FONT_SIZE);
23
17
 
@@ -2,38 +2,33 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var _rollupPluginBabelHelpers = require('../../../_virtual/_rollupPluginBabelHelpers.js');
6
5
  var React = require('react');
7
6
  var reactIntl = require('react-intl');
8
7
  var blocks = require('@elice/blocks');
9
8
  var FileTreeContext = require('./context/FileTreeContext.js');
10
9
 
11
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
12
-
13
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
14
-
15
- var FileTreeListItemContentMenu = function FileTreeListItemContentMenu(_ref) {
16
- var node = _ref.node,
17
- anchorEl = _ref.anchorEl,
18
- onClose = _ref.onClose;
19
- var intl = reactIntl.useIntl();
20
- var _useFileTreeState = FileTreeContext.useFileTreeState(),
21
- allowToggleHidden = _useFileTreeState.allowToggleHidden,
22
- allowToggleReadonly = _useFileTreeState.allowToggleReadonly;
23
- var _useFileTreeDispatch = FileTreeContext.useFileTreeDispatch(),
24
- dispatch = _useFileTreeDispatch.dispatch,
25
- onHiddenSet = _useFileTreeDispatch.onHiddenSet,
26
- onReadOnlySet = _useFileTreeDispatch.onReadOnlySet,
27
- onFileDelete = _useFileTreeDispatch.onFileDelete,
28
- onDirectoryDelete = _useFileTreeDispatch.onDirectoryDelete;
29
- var _React$useState = React__default["default"].useState(false),
30
- _React$useState2 = _rollupPluginBabelHelpers.slicedToArray(_React$useState, 2),
31
- isDeleteDialogOpen = _React$useState2[0],
32
- setDeleteDialogOpen = _React$useState2[1];
10
+ const FileTreeListItemContentMenu = ({
11
+ node,
12
+ anchorEl,
13
+ onClose
14
+ }) => {
15
+ const intl = reactIntl.useIntl();
16
+ const {
17
+ allowToggleHidden,
18
+ allowToggleReadonly
19
+ } = FileTreeContext.useFileTreeState();
20
+ const {
21
+ dispatch,
22
+ onHiddenSet,
23
+ onReadOnlySet,
24
+ onFileDelete,
25
+ onDirectoryDelete
26
+ } = FileTreeContext.useFileTreeDispatch();
27
+ const [isDeleteDialogOpen, setDeleteDialogOpen] = React.useState(false);
33
28
  /**
34
29
  * Set file readonly.
35
30
  */
36
- var handleReadOnlySet = function handleReadOnlySet() {
31
+ const handleReadOnlySet = () => {
37
32
  if (typeof onReadOnlySet === 'function') {
38
33
  onReadOnlySet({
39
34
  path: node.path,
@@ -44,7 +39,7 @@ var FileTreeListItemContentMenu = function FileTreeListItemContentMenu(_ref) {
44
39
  /**
45
40
  * Unset file readonly.
46
41
  */
47
- var handleReadOnlyUnset = function handleReadOnlyUnset() {
42
+ const handleReadOnlyUnset = () => {
48
43
  if (typeof onReadOnlySet === 'function') {
49
44
  onReadOnlySet({
50
45
  path: node.path,
@@ -55,7 +50,7 @@ var FileTreeListItemContentMenu = function FileTreeListItemContentMenu(_ref) {
55
50
  /**
56
51
  * Set file hidden.
57
52
  */
58
- var handleHiddenSet = function handleHiddenSet() {
53
+ const handleHiddenSet = () => {
59
54
  if (typeof onHiddenSet === 'function') {
60
55
  onHiddenSet({
61
56
  path: node.path,
@@ -66,7 +61,7 @@ var FileTreeListItemContentMenu = function FileTreeListItemContentMenu(_ref) {
66
61
  /**
67
62
  * Unset file hidden.
68
63
  */
69
- var handleHiddenUnset = function handleHiddenUnset() {
64
+ const handleHiddenUnset = () => {
70
65
  if (typeof onHiddenSet === 'function') {
71
66
  onHiddenSet({
72
67
  path: node.path,
@@ -77,7 +72,7 @@ var FileTreeListItemContentMenu = function FileTreeListItemContentMenu(_ref) {
77
72
  /**
78
73
  * Create a new file.
79
74
  */
80
- var handleNewFile = function handleNewFile() {
75
+ const handleNewFile = () => {
81
76
  dispatch({
82
77
  type: 'NEW_INPUT_OPEN',
83
78
  newInput: {
@@ -89,7 +84,7 @@ var FileTreeListItemContentMenu = function FileTreeListItemContentMenu(_ref) {
89
84
  /**
90
85
  * Create a new directory.
91
86
  */
92
- var handleNewDirectory = function handleNewDirectory() {
87
+ const handleNewDirectory = () => {
93
88
  dispatch({
94
89
  type: 'NEW_INPUT_OPEN',
95
90
  newInput: {
@@ -101,7 +96,7 @@ var FileTreeListItemContentMenu = function FileTreeListItemContentMenu(_ref) {
101
96
  /**
102
97
  * Rename file.
103
98
  */
104
- var handleRename = function handleRename() {
99
+ const handleRename = () => {
105
100
  dispatch({
106
101
  type: 'UPDATE_RENAME_INPUT_PATH',
107
102
  path: node.path
@@ -110,7 +105,7 @@ var FileTreeListItemContentMenu = function FileTreeListItemContentMenu(_ref) {
110
105
  /**
111
106
  * Delete file.
112
107
  */
113
- var handleDelete = function handleDelete() {
108
+ const handleDelete = () => {
114
109
  if (node.isDirectory && typeof onDirectoryDelete === 'function') {
115
110
  void onDirectoryDelete(node.path);
116
111
  }
@@ -121,110 +116,108 @@ var FileTreeListItemContentMenu = function FileTreeListItemContentMenu(_ref) {
121
116
  /**
122
117
  * Set file readonly.
123
118
  */
124
- var renderMenuItemReadOnlySet = function renderMenuItemReadOnlySet() {
119
+ const renderMenuItemReadOnlySet = () => {
125
120
  if (!allowToggleReadonly || node.isDirectory || node.isReadonly || node.isHidden) {
126
121
  return null;
127
122
  }
128
- return React__default["default"].createElement(blocks.List.Item, {
123
+ return React.createElement(blocks.List.Item, {
129
124
  onClick: handleReadOnlySet
130
- }, React__default["default"].createElement(blocks.List.ItemText, null, React__default["default"].createElement(reactIntl.FormattedMessage, {
125
+ }, React.createElement(blocks.List.ItemText, null, React.createElement(reactIntl.FormattedMessage, {
131
126
  id: "fileTree.list.item.content.menu.item.readOnlySet"
132
127
  })));
133
128
  };
134
129
  /**
135
130
  * Unset file readonly.
136
131
  */
137
- var renderMenuItemReadOnlyUnset = function renderMenuItemReadOnlyUnset() {
132
+ const renderMenuItemReadOnlyUnset = () => {
138
133
  if (!allowToggleReadonly || node.isDirectory || !node.isReadonly) {
139
134
  return null;
140
135
  }
141
- return React__default["default"].createElement(blocks.List.Item, {
136
+ return React.createElement(blocks.List.Item, {
142
137
  onClick: handleReadOnlyUnset
143
- }, React__default["default"].createElement(blocks.List.ItemText, null, React__default["default"].createElement(reactIntl.FormattedMessage, {
138
+ }, React.createElement(blocks.List.ItemText, null, React.createElement(reactIntl.FormattedMessage, {
144
139
  id: "fileTree.list.item.content.menu.item.readOnlyUnset"
145
140
  })));
146
141
  };
147
142
  /**
148
143
  * Set file hidden.
149
144
  */
150
- var renderMenuItemHiddenSet = function renderMenuItemHiddenSet() {
145
+ const renderMenuItemHiddenSet = () => {
151
146
  if (!allowToggleHidden || node.isDirectory || node.isReadonly || node.isHidden) {
152
147
  return null;
153
148
  }
154
- return React__default["default"].createElement(blocks.List.Item, {
149
+ return React.createElement(blocks.List.Item, {
155
150
  onClick: handleHiddenSet
156
- }, React__default["default"].createElement(blocks.List.ItemText, null, React__default["default"].createElement(reactIntl.FormattedMessage, {
151
+ }, React.createElement(blocks.List.ItemText, null, React.createElement(reactIntl.FormattedMessage, {
157
152
  id: "fileTree.list.item.content.menu.item.hiddenSet"
158
153
  })));
159
154
  };
160
155
  /**
161
156
  * Unset file hidden.
162
157
  */
163
- var renderMenuItemHiddenUnset = function renderMenuItemHiddenUnset() {
158
+ const renderMenuItemHiddenUnset = () => {
164
159
  if (!allowToggleHidden || node.isDirectory || !node.isHidden) {
165
160
  return null;
166
161
  }
167
- return React__default["default"].createElement(blocks.List.Item, {
162
+ return React.createElement(blocks.List.Item, {
168
163
  onClick: handleHiddenUnset
169
- }, React__default["default"].createElement(blocks.List.ItemText, null, React__default["default"].createElement(reactIntl.FormattedMessage, {
164
+ }, React.createElement(blocks.List.ItemText, null, React.createElement(reactIntl.FormattedMessage, {
170
165
  id: "fileTree.list.item.content.menu.item.hiddenUnset"
171
166
  })));
172
167
  };
173
168
  /**
174
169
  * New file.
175
170
  */
176
- var renderMenuItemNewFile = function renderMenuItemNewFile() {
171
+ const renderMenuItemNewFile = () => {
177
172
  if (!node.isDirectory) {
178
173
  return null;
179
174
  }
180
- return React__default["default"].createElement(blocks.List.Item, {
175
+ return React.createElement(blocks.List.Item, {
181
176
  onClick: handleNewFile
182
- }, React__default["default"].createElement(blocks.List.ItemText, null, React__default["default"].createElement(reactIntl.FormattedMessage, {
177
+ }, React.createElement(blocks.List.ItemText, null, React.createElement(reactIntl.FormattedMessage, {
183
178
  id: "fileTree.list.item.content.menu.item.newFile"
184
179
  })));
185
180
  };
186
181
  /**
187
182
  * New directory.
188
183
  */
189
- var renderMenuItemNewDirectory = function renderMenuItemNewDirectory() {
184
+ const renderMenuItemNewDirectory = () => {
190
185
  if (!node.isDirectory) {
191
186
  return null;
192
187
  }
193
- return React__default["default"].createElement(blocks.List.Item, {
188
+ return React.createElement(blocks.List.Item, {
194
189
  onClick: handleNewDirectory
195
- }, React__default["default"].createElement(blocks.List.ItemText, null, React__default["default"].createElement(reactIntl.FormattedMessage, {
190
+ }, React.createElement(blocks.List.ItemText, null, React.createElement(reactIntl.FormattedMessage, {
196
191
  id: "fileTree.list.item.content.menu.item.newDirectory"
197
192
  })));
198
193
  };
199
194
  /**
200
195
  * Rename file.
201
196
  */
202
- var renderMenuItemRename = function renderMenuItemRename() {
203
- return React__default["default"].createElement(blocks.List.Item, {
197
+ const renderMenuItemRename = () => {
198
+ return React.createElement(blocks.List.Item, {
204
199
  disabled: !node.isRemovable,
205
200
  onClick: handleRename
206
- }, React__default["default"].createElement(blocks.List.ItemText, null, React__default["default"].createElement(reactIntl.FormattedMessage, {
201
+ }, React.createElement(blocks.List.ItemText, null, React.createElement(reactIntl.FormattedMessage, {
207
202
  id: "fileTree.list.item.content.menu.item.rename"
208
203
  })));
209
204
  };
210
205
  /**
211
206
  * Delete file.
212
207
  */
213
- var renderMenuItemDelete = function renderMenuItemDelete() {
214
- return React__default["default"].createElement(blocks.List.Item, {
208
+ const renderMenuItemDelete = () => {
209
+ return React.createElement(blocks.List.Item, {
215
210
  disabled: !node.isRemovable,
216
- onClick: function onClick() {
217
- return setDeleteDialogOpen(true);
218
- }
219
- }, React__default["default"].createElement(blocks.List.ItemText, null, React__default["default"].createElement(reactIntl.FormattedMessage, {
211
+ onClick: () => setDeleteDialogOpen(true)
212
+ }, React.createElement(blocks.List.ItemText, null, React.createElement(reactIntl.FormattedMessage, {
220
213
  id: "fileTree.list.item.content.menu.item.delete"
221
214
  })));
222
215
  };
223
216
  /**
224
217
  * Menu.
225
218
  */
226
- var renderMenu = function renderMenu() {
227
- return React__default["default"].createElement(blocks.Menu, {
219
+ const renderMenu = () => {
220
+ return React.createElement(blocks.Menu, {
228
221
  open: Boolean(anchorEl),
229
222
  anchorEl: anchorEl,
230
223
  size: "xsmall",
@@ -236,11 +229,11 @@ var FileTreeListItemContentMenu = function FileTreeListItemContentMenu(_ref) {
236
229
  /**
237
230
  * Dialog for confirm delete.
238
231
  */
239
- var renderDeleteConfirmDialog = function renderDeleteConfirmDialog() {
232
+ const renderDeleteConfirmDialog = () => {
240
233
  if (!isDeleteDialogOpen) {
241
234
  return null;
242
235
  }
243
- return React__default["default"].createElement(blocks.Dialog, {
236
+ return React.createElement(blocks.Dialog, {
244
237
  type: "warning",
245
238
  title: intl.formatMessage({
246
239
  id: 'fileTree.list.item.content.menu.deleteConfirmDialog.title'
@@ -250,25 +243,21 @@ var FileTreeListItemContentMenu = function FileTreeListItemContentMenu(_ref) {
250
243
  }, {
251
244
  title: node.title
252
245
  }),
253
- onHide: function onHide() {
254
- return setDeleteDialogOpen(false);
255
- }
256
- }, React__default["default"].createElement(blocks.Dialog.CloseButton, {
257
- onClick: function onClick() {
258
- return setDeleteDialogOpen(false);
259
- }
260
- }, React__default["default"].createElement(reactIntl.FormattedMessage, {
246
+ onHide: () => setDeleteDialogOpen(false)
247
+ }, React.createElement(blocks.Dialog.CloseButton, {
248
+ onClick: () => setDeleteDialogOpen(false)
249
+ }, React.createElement(reactIntl.FormattedMessage, {
261
250
  id: "fileTree.list.item.content.menu.deleteConfirmDialog.cancel"
262
- })), React__default["default"].createElement(blocks.Dialog.ActionButton, {
251
+ })), React.createElement(blocks.Dialog.ActionButton, {
263
252
  onClick: handleDelete
264
- }, React__default["default"].createElement(reactIntl.FormattedMessage, {
253
+ }, React.createElement(reactIntl.FormattedMessage, {
265
254
  id: "fileTree.list.item.content.menu.deleteConfirmDialog.confirm"
266
255
  })));
267
256
  };
268
257
  //
269
258
  //
270
259
  //
271
- return React__default["default"].createElement(React__default["default"].Fragment, null, renderMenu(), renderDeleteConfirmDialog());
260
+ return React.createElement(React.Fragment, null, renderMenu(), renderDeleteConfirmDialog());
272
261
  };
273
262
 
274
- exports["default"] = FileTreeListItemContentMenu;
263
+ exports.default = FileTreeListItemContentMenu;