@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
@@ -12,56 +12,54 @@ var FileTreeListItems = require('./FileTreeListItems.js');
12
12
  var fileTreeFiles = require('./utils/fileTreeFiles.js');
13
13
  var fileTreePath = require('./utils/fileTreePath.js');
14
14
 
15
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
16
-
17
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
18
- var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
19
- var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
20
-
21
- var StyledFileTreeList = styled__default["default"].div.withConfig({
15
+ const StyledFileTreeList = styled.div.withConfig({
22
16
  componentId: "sc-5ddw80-0"
23
17
  })(["flex:auto;background-color:", ";overflow-x:hidden;overflow-y:overlay;", ""], designTokens.base.color.navy9, stylesheets.getMaterialScrollBarCss({
24
18
  width: '0.375rem',
25
19
  borderRadius: '2px',
26
20
  hideable: true
27
21
  }));
28
- var FileTreeList = React.forwardRef(function (_ref, ref) {
29
- var className = _ref.className,
30
- style = _ref.style,
31
- options = _ref.options;
32
- var _useFileTreeState = FileTreeContext.useFileTreeState(),
33
- fileTree = _useFileTreeState.fileTree,
34
- dropzonePath = _useFileTreeState.dropzonePath,
35
- draggedPath = _useFileTreeState.draggedPath,
36
- maxFileUploadSize = _useFileTreeState.maxFileUploadSize;
37
- var _useFileTreeDispatch = FileTreeContext.useFileTreeDispatch(),
38
- dispatch = _useFileTreeDispatch.dispatch,
39
- onDirectoryMove = _useFileTreeDispatch.onDirectoryMove,
40
- onFileMove = _useFileTreeDispatch.onFileMove,
41
- onFilesUpload = _useFileTreeDispatch.onFilesUpload;
42
- var handleFilesUpload = function handleFilesUpload(_ref2) {
43
- var files = _ref2.files,
44
- path = _ref2.path;
22
+ const FileTreeList = React.forwardRef(({
23
+ className,
24
+ style,
25
+ options
26
+ }, ref) => {
27
+ const {
28
+ fileTree,
29
+ dropzonePath,
30
+ draggedPath,
31
+ maxFileUploadSize
32
+ } = FileTreeContext.useFileTreeState();
33
+ const {
34
+ dispatch,
35
+ onDirectoryMove,
36
+ onFileMove,
37
+ onFilesUpload
38
+ } = FileTreeContext.useFileTreeDispatch();
39
+ const handleFilesUpload = ({
40
+ files,
41
+ path
42
+ }) => {
45
43
  if (fileTreeFiles.validateFilesSize(files, maxFileUploadSize)) {
46
44
  if (typeof onFilesUpload === 'function') {
47
45
  onFilesUpload({
48
- files: files,
49
- path: path
46
+ files,
47
+ path
50
48
  });
51
49
  }
52
50
  }
53
51
  };
54
- return React__default["default"].createElement(StyledFileTreeList, {
55
- className: classnames__default["default"]('em-file-tree__list', className),
52
+ return React.createElement(StyledFileTreeList, {
53
+ className: classnames('em-file-tree__list', className),
56
54
  ref: ref,
57
55
  role: "tree",
58
56
  style: Object.assign({
59
57
  backgroundColor: dropzonePath === '' ? designTokens.base.color.primary7 : ''
60
58
  }, style),
61
- onDragEnter: function onDragEnter(e) {
59
+ onDragEnter: e => {
62
60
  e.preventDefault();
63
61
  e.stopPropagation();
64
- var isFiles = e.dataTransfer.types[0] === 'Files';
62
+ const isFiles = e.dataTransfer.types[0] === 'Files';
65
63
  if (draggedPath !== null || isFiles) {
66
64
  dispatch({
67
65
  type: 'UPDATE_DROPZONE_PATH',
@@ -69,14 +67,14 @@ var FileTreeList = React.forwardRef(function (_ref, ref) {
69
67
  });
70
68
  }
71
69
  },
72
- onDragOver: function onDragOver(e) {
70
+ onDragOver: e => {
73
71
  e.preventDefault();
74
72
  e.stopPropagation();
75
73
  },
76
- onDrop: function onDrop(e) {
74
+ onDrop: e => {
77
75
  e.stopPropagation();
78
76
  e.preventDefault();
79
- var draggedPath = e.dataTransfer.getData('text');
77
+ const draggedPath = e.dataTransfer.getData('text');
80
78
  // file drop
81
79
  if (e.dataTransfer.files.length > 0) {
82
80
  handleFilesUpload({
@@ -93,12 +91,12 @@ var FileTreeList = React.forwardRef(function (_ref, ref) {
93
91
  });
94
92
  } else {
95
93
  // file move
96
- var dragFileTreeNode = fileTree.findTreeNode(draggedPath);
94
+ const dragFileTreeNode = fileTree.findTreeNode(draggedPath);
97
95
  // file does not move. from a to a (the same path).
98
96
  if (fileTreePath.isMovingTheSamePath({
99
- draggedPath: draggedPath,
100
- dropzonePath: dropzonePath,
101
- dragFileTreeNode: dragFileTreeNode
97
+ draggedPath,
98
+ dropzonePath,
99
+ dragFileTreeNode
102
100
  })) {
103
101
  return;
104
102
  }
@@ -119,11 +117,11 @@ var FileTreeList = React.forwardRef(function (_ref, ref) {
119
117
  }
120
118
  }
121
119
  }
122
- }, React__default["default"].createElement(FileTreeListItems["default"], {
120
+ }, React.createElement(FileTreeListItems.default, {
123
121
  node: fileTree,
124
122
  indent: options === null || options === void 0 ? void 0 : options.indent
125
123
  }));
126
124
  });
127
125
  var FileTreeList$1 = FileTreeList;
128
126
 
129
- exports["default"] = FileTreeList$1;
127
+ exports.default = FileTreeList$1;
@@ -2,7 +2,6 @@
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 blocks = require('@elice/blocks');
8
7
  var designTokens = require('@elice/design-tokens');
@@ -13,52 +12,45 @@ var FileTreeListItemContentInput = require('./FileTreeListItemContentInput.js');
13
12
  var FileTreeListItemContentMenu = require('./FileTreeListItemContentMenu.js');
14
13
  var FileTreeListItemContent_styled = require('./FileTreeListItemContent.styled.js');
15
14
 
16
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
17
-
18
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
19
-
20
- var ITEM_IDENT_WIDTH = 8; // 0.5rem
21
- var FileTreeListItemContent = function FileTreeListItemContent(_ref) {
22
- var node = _ref.node,
23
- parentNode = _ref.parentNode,
24
- _ref$indent = _ref.indent,
25
- indent = _ref$indent === void 0 ? 1 : _ref$indent;
26
- var _useFileTreeState = FileTreeContext.useFileTreeState(),
27
- mode = _useFileTreeState.mode,
28
- activePath = _useFileTreeState.activePath,
29
- dropzonePath = _useFileTreeState.dropzonePath,
30
- newInput = _useFileTreeState.newInput;
31
- var _useFileTreeDispatch = FileTreeContext.useFileTreeDispatch(),
32
- dispatch = _useFileTreeDispatch.dispatch,
33
- onActivePathChange = _useFileTreeDispatch.onActivePathChange;
34
- var _React$useState = React__default["default"].useState(),
35
- _React$useState2 = _rollupPluginBabelHelpers.slicedToArray(_React$useState, 2),
36
- menuAnchorEl = _React$useState2[0],
37
- setMenuAnchorEl = _React$useState2[1];
38
- var isNewItem = newInput && node.isEdit;
15
+ const ITEM_IDENT_WIDTH = 8; // 0.5rem
16
+ const FileTreeListItemContent = ({
17
+ node,
18
+ parentNode,
19
+ indent = 1
20
+ }) => {
21
+ const {
22
+ mode,
23
+ activePath,
24
+ dropzonePath,
25
+ newInput
26
+ } = FileTreeContext.useFileTreeState();
27
+ const {
28
+ dispatch,
29
+ onActivePathChange
30
+ } = FileTreeContext.useFileTreeDispatch();
31
+ const [menuAnchorEl, setMenuAnchorEl] = React.useState();
32
+ const isNewItem = newInput && node.isEdit;
39
33
  /**
40
34
  * Indent.
41
35
  */
42
- var contentIndents = React__default["default"].useMemo(function () {
43
- var depth = (node.path.match(/\//g) || []).length;
44
- var counts = depth === 0 ? 0 : indent * depth;
45
- return React__default["default"].createElement(FileTreeListItemContent_styled.StyledContentIndents, {
36
+ const contentIndents = React.useMemo(() => {
37
+ const depth = (node.path.match(/\//g) || []).length;
38
+ const counts = depth === 0 ? 0 : indent * depth;
39
+ return React.createElement(FileTreeListItemContent_styled.StyledContentIndents, {
46
40
  style: {
47
- flex: "0 0 ".concat(ITEM_IDENT_WIDTH * counts, "px")
41
+ flex: `0 0 ${ITEM_IDENT_WIDTH * counts}px`
48
42
  }
49
- }, Array(counts).fill(0).map(function (_, index) {
50
- return React__default["default"].createElement(FileTreeListItemContent_styled.StyledContentIndentGuide, {
51
- key: index,
52
- style: {
53
- width: "".concat(ITEM_IDENT_WIDTH, "px")
54
- }
55
- });
56
- }));
43
+ }, Array(counts).fill(0).map((_, index) => React.createElement(FileTreeListItemContent_styled.StyledContentIndentGuide, {
44
+ key: index,
45
+ style: {
46
+ width: `${ITEM_IDENT_WIDTH}px`
47
+ }
48
+ })));
57
49
  }, [node, indent]);
58
50
  /**
59
51
  * Handle item click.
60
52
  */
61
- var handleClick = function handleClick() {
53
+ const handleClick = () => {
62
54
  if (node.isEdit) {
63
55
  return;
64
56
  }
@@ -73,7 +65,7 @@ var FileTreeListItemContent = function FileTreeListItemContent(_ref) {
73
65
  /**
74
66
  * Handle item right-click.
75
67
  */
76
- var handleContextMenu = function handleContextMenu(e) {
68
+ const handleContextMenu = e => {
77
69
  e.preventDefault();
78
70
  setMenuAnchorEl({
79
71
  x: e.clientX,
@@ -83,12 +75,12 @@ var FileTreeListItemContent = function FileTreeListItemContent(_ref) {
83
75
  /**
84
76
  * Directory expand arrow.
85
77
  */
86
- var renderContentDirectoryExpandArrow = function renderContentDirectoryExpandArrow() {
78
+ const renderContentDirectoryExpandArrow = () => {
87
79
  // new or directory
88
80
  if (isNewItem || !node.isDirectory) {
89
- return React__default["default"].createElement(FileTreeListItemContent_styled.StyledContentLabelDirArrowWrap, null);
81
+ return React.createElement(FileTreeListItemContent_styled.StyledContentLabelDirArrowWrap, null);
90
82
  }
91
- return React__default["default"].createElement(FileTreeListItemContent_styled.StyledContentLabelDirArrowWrap, null, React__default["default"].createElement(blocks.Icon, {
83
+ return React.createElement(FileTreeListItemContent_styled.StyledContentLabelDirArrowWrap, null, React.createElement(blocks.Icon, {
92
84
  icon: icons.eilArrowDownwardsSingle,
93
85
  size: "tiny",
94
86
  rotate: node.expanded ? 0 : 270,
@@ -98,10 +90,10 @@ var FileTreeListItemContent = function FileTreeListItemContent(_ref) {
98
90
  /**
99
91
  * Icon.
100
92
  */
101
- var renderContentIcon = function renderContentIcon() {
93
+ const renderContentIcon = () => {
102
94
  // new
103
95
  if (isNewItem) {
104
- return React__default["default"].createElement(FileTreeListItemContent_styled.StyledContentLabelIconWrap, null, React__default["default"].createElement(FileIcon["default"], {
96
+ return React.createElement(FileTreeListItemContent_styled.StyledContentLabelIconWrap, null, React.createElement(FileIcon.default, {
105
97
  filename: "newfile",
106
98
  directory: (newInput === null || newInput === void 0 ? void 0 : newInput.type) === 'directory',
107
99
  width: "1rem",
@@ -110,10 +102,10 @@ var FileTreeListItemContent = function FileTreeListItemContent(_ref) {
110
102
  }
111
103
  // checkbox for file
112
104
  if (mode === 'checkbox' && !node.isDirectory) {
113
- return React__default["default"].createElement(FileTreeListItemContent_styled.StyledContentLabelIconWrap, null, React__default["default"].createElement(blocks.Checkbox, {
105
+ return React.createElement(FileTreeListItemContent_styled.StyledContentLabelIconWrap, null, React.createElement(blocks.Checkbox, {
114
106
  value: node.isInitialOpen,
115
107
  dark: true,
116
- onChange: function onChange(checked) {
108
+ onChange: checked => {
117
109
  dispatch({
118
110
  type: checked ? 'INITIAL_OPEN_FILELIST_ADD' : 'INITIAL_OPEN_FILELIST_REMOVE',
119
111
  path: node.path
@@ -121,7 +113,7 @@ var FileTreeListItemContent = function FileTreeListItemContent(_ref) {
121
113
  }
122
114
  }));
123
115
  }
124
- return React__default["default"].createElement(FileTreeListItemContent_styled.StyledContentLabelIconWrap, null, React__default["default"].createElement(FileIcon["default"], {
116
+ return React.createElement(FileTreeListItemContent_styled.StyledContentLabelIconWrap, null, React.createElement(FileIcon.default, {
125
117
  filename: node.title,
126
118
  directory: node.isDirectory,
127
119
  expanded: node.expanded,
@@ -132,36 +124,32 @@ var FileTreeListItemContent = function FileTreeListItemContent(_ref) {
132
124
  /**
133
125
  * Filename.
134
126
  */
135
- var renderContentFilename = function renderContentFilename() {
127
+ const renderContentFilename = () => {
136
128
  var _a;
137
129
  // new
138
130
  if (isNewItem) {
139
- return React__default["default"].createElement(FileTreeListItemContentInput["default"], {
131
+ return React.createElement(FileTreeListItemContentInput.default, {
140
132
  type: "new",
141
133
  newInputType: (_a = newInput === null || newInput === void 0 ? void 0 : newInput.type) !== null && _a !== void 0 ? _a : 'file',
142
134
  currentPath: node.path,
143
- currentDirTitleList: parentNode.children.map(function (_ref2) {
144
- var title = _ref2.title;
145
- return title;
146
- })
135
+ currentDirTitleList: parentNode.children.map(({
136
+ title
137
+ }) => title)
147
138
  });
148
139
  }
149
140
  // rename
150
141
  if (node.isRenaming) {
151
- return React__default["default"].createElement(FileTreeListItemContentInput["default"], {
142
+ return React.createElement(FileTreeListItemContentInput.default, {
152
143
  type: "edit",
153
144
  initialValue: node.title,
154
145
  newInputType: node.isDirectory ? 'directory' : 'file',
155
146
  currentPath: node.path,
156
- currentDirTitleList: parentNode.children.map(function (_ref3) {
157
- var title = _ref3.title;
158
- return title;
159
- }).filter(function (title) {
160
- return title !== node.title;
161
- })
147
+ currentDirTitleList: parentNode.children.map(({
148
+ title
149
+ }) => title).filter(title => title !== node.title)
162
150
  });
163
151
  }
164
- return React__default["default"].createElement(FileTreeListItemContent_styled.StyledContentLabelFilename, {
152
+ return React.createElement(FileTreeListItemContent_styled.StyledContentLabelFilename, {
165
153
  size: "tiny",
166
154
  block: true,
167
155
  ellipsis: true
@@ -170,14 +158,14 @@ var FileTreeListItemContent = function FileTreeListItemContent(_ref) {
170
158
  /**
171
159
  * Status icon.
172
160
  */
173
- var renderContentStatusIcon = function renderContentStatusIcon() {
161
+ const renderContentStatusIcon = () => {
174
162
  // new or rename
175
163
  if (isNewItem || node.isRenaming) {
176
164
  return null;
177
165
  }
178
166
  // hidden
179
167
  if (node.isHidden) {
180
- return React__default["default"].createElement(FileTreeListItemContent_styled.StyledContentLabelStatusIcon, {
168
+ return React.createElement(FileTreeListItemContent_styled.StyledContentLabelStatusIcon, {
181
169
  icon: icons.eilVisibilityOff,
182
170
  color: designTokens.base.color.gray4,
183
171
  size: "small"
@@ -185,7 +173,7 @@ var FileTreeListItemContent = function FileTreeListItemContent(_ref) {
185
173
  }
186
174
  // readonly
187
175
  if (node.isReadonly) {
188
- return React__default["default"].createElement(FileTreeListItemContent_styled.StyledContentLabelStatusIcon, {
176
+ return React.createElement(FileTreeListItemContent_styled.StyledContentLabelStatusIcon, {
189
177
  icon: icons.eilLockOn,
190
178
  color: designTokens.base.color.gray4,
191
179
  size: "small"
@@ -196,39 +184,37 @@ var FileTreeListItemContent = function FileTreeListItemContent(_ref) {
196
184
  /**
197
185
  * Menu button.
198
186
  */
199
- var renderContentMenuButton = function renderContentMenuButton() {
187
+ const renderContentMenuButton = () => {
200
188
  // new or rename
201
189
  if (isNewItem || node.isRenaming) {
202
190
  return null;
203
191
  }
204
- return React__default["default"].createElement(React__default["default"].Fragment, null, React__default["default"].createElement(FileTreeListItemContent_styled.StyledContentLabelMenuButton, {
192
+ return React.createElement(React.Fragment, null, React.createElement(FileTreeListItemContent_styled.StyledContentLabelMenuButton, {
205
193
  icon: icons.eilMoreVertical,
206
194
  size: "tiny",
207
195
  role: "white",
208
196
  transparent: true,
209
197
  border: false,
210
- onClick: function onClick(e) {
198
+ onClick: e => {
211
199
  e.stopPropagation();
212
200
  setMenuAnchorEl(e.currentTarget);
213
201
  }
214
- }), React__default["default"].createElement(FileTreeListItemContentMenu["default"], {
202
+ }), React.createElement(FileTreeListItemContentMenu.default, {
215
203
  node: node,
216
204
  anchorEl: menuAnchorEl,
217
- onClose: function onClose() {
218
- return setMenuAnchorEl(undefined);
219
- }
205
+ onClose: () => setMenuAnchorEl(undefined)
220
206
  }));
221
207
  };
222
208
  //
223
209
  //
224
210
  //
225
- return React__default["default"].createElement(FileTreeListItemContent_styled.StyledContent, {
226
- title: "~/".concat(node.path),
211
+ return React.createElement(FileTreeListItemContent_styled.StyledContent, {
212
+ title: `~/${node.path}`,
227
213
  active: activePath === node.path,
228
214
  isDragging: dropzonePath !== null,
229
215
  onClick: handleClick,
230
216
  onContextMenu: handleContextMenu
231
- }, contentIndents, React__default["default"].createElement(FileTreeListItemContent_styled.StyledContentLabel, null, renderContentDirectoryExpandArrow(), renderContentIcon(), renderContentFilename(), renderContentStatusIcon(), renderContentMenuButton()));
217
+ }, contentIndents, React.createElement(FileTreeListItemContent_styled.StyledContentLabel, null, renderContentDirectoryExpandArrow(), renderContentIcon(), renderContentFilename(), renderContentStatusIcon(), renderContentMenuButton()));
232
218
  };
233
219
 
234
- exports["default"] = FileTreeListItemContent;
220
+ exports.default = FileTreeListItemContent;
@@ -1,87 +1,77 @@
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
7
  //
14
8
  //
15
9
  //
16
- var CONTENT_MIN_HEIGHT = 28; // 1.75rem
17
- var CONTENT_LEFT_BORDER_WIDTH = 3; // 0.1875rem
18
- var CONTENT_RIGHT_PADDING = 12; // 0.75rem
19
- var CONTENT_LABEL_VERTICAL_PADDING = 4; // 0.25rem
20
- var CONTENT_LABEL_ICON_SIZE = 16; // 1rem
21
- var CONTENT_LABEL_ICON_AFTER_MARGIN = 4; // 1rem
22
- var CONTENT_LABEL_DIR_ARROW_PADDING = 4; // 0.25rem
23
- var CONTENT_LABEL_DIR_ARROW_SIZE = 12; // 0.75rem
24
- var CONTENT_LABEL_MENU_BUTTON_SIZE = CONTENT_MIN_HEIGHT - CONTENT_LABEL_VERTICAL_PADDING * 2;
10
+ const CONTENT_MIN_HEIGHT = 28; // 1.75rem
11
+ const CONTENT_LEFT_BORDER_WIDTH = 3; // 0.1875rem
12
+ const CONTENT_RIGHT_PADDING = 12; // 0.75rem
13
+ const CONTENT_LABEL_VERTICAL_PADDING = 4; // 0.25rem
14
+ const CONTENT_LABEL_ICON_SIZE = 16; // 1rem
15
+ const CONTENT_LABEL_ICON_AFTER_MARGIN = 4; // 1rem
16
+ const CONTENT_LABEL_DIR_ARROW_PADDING = 4; // 0.25rem
17
+ const CONTENT_LABEL_DIR_ARROW_SIZE = 12; // 0.75rem
18
+ const CONTENT_LABEL_MENU_BUTTON_SIZE = CONTENT_MIN_HEIGHT - CONTENT_LABEL_VERTICAL_PADDING * 2;
25
19
  //
26
20
  //
27
21
  //
28
22
  /**
29
23
  * indent
30
24
  */
31
- var StyledContentIndents = styled__default["default"].div.withConfig({
25
+ const StyledContentIndents = styled.div.withConfig({
32
26
  componentId: "sc-3wfxns-0"
33
27
  })([""]);
34
- var StyledContentIndentGuide = styled__default["default"].div.withConfig({
28
+ const StyledContentIndentGuide = styled.div.withConfig({
35
29
  componentId: "sc-3wfxns-1"
36
30
  })(["display:inline-block;height:100%;border-right:0.5px solid ", ";"], designTokens.base.color.gray7);
37
31
  /**
38
32
  * label
39
33
  */
40
- var StyledContentLabel = styled__default["default"].div.withConfig({
34
+ const StyledContentLabel = styled.div.withConfig({
41
35
  componentId: "sc-3wfxns-2"
42
36
  })(["flex:1;display:flex;align-items:center;padding-top:", "px;padding-bottom:", "px;overflow:hidden;"], CONTENT_LABEL_VERTICAL_PADDING, CONTENT_LABEL_VERTICAL_PADDING);
43
37
  /**
44
38
  * label > dir arrow
45
39
  */
46
- var StyledContentLabelDirArrowWrap = styled__default["default"].div.withConfig({
40
+ const StyledContentLabelDirArrowWrap = styled.div.withConfig({
47
41
  componentId: "sc-3wfxns-3"
48
42
  })(["flex:0 0 ", "px;display:flex;justify-content:center;align-items:center;padding:", ";height:", "px;"], CONTENT_LABEL_DIR_ARROW_SIZE + CONTENT_LABEL_DIR_ARROW_PADDING * 2, CONTENT_LABEL_DIR_ARROW_PADDING, CONTENT_LABEL_DIR_ARROW_SIZE);
49
43
  /**
50
44
  * label > icon
51
45
  */
52
- var StyledContentLabelIconWrap = styled__default["default"].div.withConfig({
46
+ const StyledContentLabelIconWrap = styled.div.withConfig({
53
47
  componentId: "sc-3wfxns-4"
54
48
  })(["flex:0 0 ", "px;display:flex;margin-right:", "px;height:", "px;"], CONTENT_LABEL_ICON_SIZE + CONTENT_LABEL_ICON_AFTER_MARGIN, CONTENT_LABEL_ICON_AFTER_MARGIN, CONTENT_LABEL_ICON_SIZE);
55
49
  /**
56
50
  * label > filename
57
51
  */
58
- var StyledContentLabelFilename = styled__default["default"](blocks.Text).withConfig({
52
+ const StyledContentLabelFilename = styled(blocks.Text).withConfig({
59
53
  componentId: "sc-3wfxns-5"
60
54
  })(["flex:1;margin-right:0.125rem;color:", ";font-weight:500;"], designTokens.base.color.gray4);
61
55
  /**
62
56
  * label > status icon
63
57
  */
64
- var StyledContentLabelStatusIcon = styled__default["default"](blocks.Icon).withConfig({
58
+ const StyledContentLabelStatusIcon = styled(blocks.Icon).withConfig({
65
59
  componentId: "sc-3wfxns-6"
66
60
  })(["margin-left:0.25rem;margin-right:0;&:last-of-type{margin-right:0.25rem;}"]);
67
61
  /**
68
62
  * label > menu button
69
63
  */
70
- var StyledContentLabelMenuButton = styled__default["default"](blocks.IconButton).withConfig({
64
+ const StyledContentLabelMenuButton = styled(blocks.IconButton).withConfig({
71
65
  componentId: "sc-3wfxns-7"
72
66
  })(["flex:0 0 ", "px;width:", "px !important;height:", "px !important;opacity:0;transition:opacity 150ms ease-in-out;"], CONTENT_LABEL_MENU_BUTTON_SIZE, CONTENT_LABEL_MENU_BUTTON_SIZE, CONTENT_LABEL_MENU_BUTTON_SIZE);
73
67
  //
74
68
  //
75
69
  //
76
- var cssStyledContentActive = styled.css(["border-left-color:", ";background-color:", ";", "{color:", ";}"], designTokens.base.color.primary4, designTokens.base.color.navy7, StyledContentLabelFilename, designTokens.base.color.gray3);
77
- var cssStyledContentDragging = styled.css(["border-left-color:transparent !important;background-color:transparent !important;"]);
78
- var StyledContent = styled__default["default"].div.withConfig({
70
+ const cssStyledContentActive = styled.css(["border-left-color:", ";background-color:", ";", "{color:", ";}"], designTokens.base.color.primary4, designTokens.base.color.navy7, StyledContentLabelFilename, designTokens.base.color.gray3);
71
+ const cssStyledContentDragging = styled.css(["border-left-color:transparent !important;background-color:transparent !important;"]);
72
+ const StyledContent = styled.div.withConfig({
79
73
  componentId: "sc-3wfxns-8"
80
- })(["display:flex;padding-right:", "px;width:100%;min-width:0;min-height:", "px;border-left-width:", "px;border-left-style:solid;border-left-color:transparent;user-select:none;", " ", " &:hover{background-color:", ";", "{color:", ";}", "{opacity:1;}}"], CONTENT_RIGHT_PADDING, CONTENT_MIN_HEIGHT, CONTENT_LEFT_BORDER_WIDTH, function (props) {
81
- return props.active && cssStyledContentActive;
82
- }, function (props) {
83
- return props.isDragging && cssStyledContentDragging;
84
- }, designTokens.base.color.navy8, StyledContentLabelFilename, designTokens.base.color.gray3, StyledContentLabelMenuButton);
74
+ })(["display:flex;padding-right:", "px;width:100%;min-width:0;min-height:", "px;border-left-width:", "px;border-left-style:solid;border-left-color:transparent;user-select:none;", " ", " &:hover{background-color:", ";", "{color:", ";}", "{opacity:1;}}"], CONTENT_RIGHT_PADDING, CONTENT_MIN_HEIGHT, CONTENT_LEFT_BORDER_WIDTH, props => props.active && cssStyledContentActive, props => props.isDragging && cssStyledContentDragging, designTokens.base.color.navy8, StyledContentLabelFilename, designTokens.base.color.gray3, StyledContentLabelMenuButton);
85
75
 
86
76
  exports.StyledContent = StyledContent;
87
77
  exports.StyledContentIndentGuide = StyledContentIndentGuide;