@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
@@ -7,41 +7,35 @@ var React = require('react');
7
7
  var blocks = require('@elice/blocks');
8
8
  var vscodeIconsJs = require('vscode-icons-js');
9
9
 
10
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
11
-
12
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
13
-
14
- var ICON_ASSET_BASE_URL = 'https://static.elice.io/code-editor/icons';
15
- var createIconUrl = function createIconUrl(svgFilename) {
16
- return "".concat(ICON_ASSET_BASE_URL, "/").concat(svgFilename.toLowerCase());
10
+ const ICON_ASSET_BASE_URL = 'https://static.elice.io/code-editor/icons';
11
+ const createIconUrl = svgFilename => {
12
+ return `${ICON_ASSET_BASE_URL}/${svgFilename.toLowerCase()}`;
17
13
  };
18
- var FileIcon = function FileIcon(_a) {
19
- var filename = _a.filename,
20
- _a$directory = _a.directory,
21
- directory = _a$directory === void 0 ? false : _a$directory,
22
- _a$expanded = _a.expanded,
23
- expanded = _a$expanded === void 0 ? false : _a$expanded,
24
- _a$width = _a.width,
25
- width = _a$width === void 0 ? '1rem' : _a$width,
26
- _a$height = _a.height,
27
- height = _a$height === void 0 ? '1rem' : _a$height,
14
+ const FileIcon = _a => {
15
+ var {
16
+ filename,
17
+ directory = false,
18
+ expanded = false,
19
+ width = '1rem',
20
+ height = '1rem'
21
+ } = _a,
28
22
  props = tslib.__rest(_a, ["filename", "directory", "expanded", "width", "height"]);
29
- var src = React__default["default"].useMemo(function () {
23
+ const src = React.useMemo(() => {
30
24
  if (directory) {
31
- var suffix = expanded ? '_opened' : '';
32
- return createIconUrl("default_folder".concat(suffix, ".svg"));
25
+ const suffix = expanded ? '_opened' : '';
26
+ return createIconUrl(`default_folder${suffix}.svg`);
33
27
  }
34
28
  return createIconUrl(vscodeIconsJs.getIconForFile(filename) || 'default_file.svg');
35
29
  }, [filename, directory, expanded]);
36
30
  //
37
31
  //
38
32
  //
39
- return React__default["default"].createElement(blocks.Image, Object.assign({}, props, {
33
+ return React.createElement(blocks.Image, Object.assign({}, props, {
40
34
  src: src,
41
- alt: "icon for ".concat(filename),
35
+ alt: `icon for ${filename}`,
42
36
  width: width,
43
37
  height: height
44
38
  }));
45
39
  };
46
40
 
47
- exports["default"] = FileIcon;
41
+ exports.default = FileIcon;
@@ -8,29 +8,23 @@ var icons = require('@elice/icons');
8
8
  var FileIcon = require('../file-icon/FileIcon.js');
9
9
  var FileTab_styled = require('./FileTab.styled.js');
10
10
 
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 EMPTY_CHUNKS = [];
16
- var FileTab = function FileTab(_a) {
17
- var fullname = _a.fullname,
18
- _a$chunks = _a.chunks,
19
- chunks = _a$chunks === void 0 ? EMPTY_CHUNKS : _a$chunks,
20
- filename = _a.filename,
21
- _a$isFilenameDuplicat = _a.isFilenameDuplicated,
22
- isFilenameDuplicated = _a$isFilenameDuplicat === void 0 ? false : _a$isFilenameDuplicat,
23
- _a$active = _a.active,
24
- active = _a$active === void 0 ? false : _a$active,
25
- _a$hovered = _a.hovered,
26
- hovered = _a$hovered === void 0 ? false : _a$hovered,
27
- onClose = _a.onClose,
11
+ const EMPTY_CHUNKS = [];
12
+ const FileTab = _a => {
13
+ var {
14
+ fullname,
15
+ chunks = EMPTY_CHUNKS,
16
+ filename,
17
+ isFilenameDuplicated = false,
18
+ active = false,
19
+ hovered = false,
20
+ onClose
21
+ } = _a,
28
22
  eventListeners = tslib.__rest(_a, ["fullname", "chunks", "filename", "isFilenameDuplicated", "active", "hovered", "onClose"]);
29
- var tabElRef = React__default["default"].useRef(null);
23
+ const tabElRef = React.useRef(null);
30
24
  //
31
25
  // Scroll into view.
32
26
  //
33
- React__default["default"].useEffect(function () {
27
+ React.useEffect(() => {
34
28
  var _a;
35
29
  if (active) {
36
30
  (_a = tabElRef.current) === null || _a === void 0 ? void 0 : _a.scrollIntoView({
@@ -41,8 +35,8 @@ var FileTab = function FileTab(_a) {
41
35
  /**
42
36
  * File icon
43
37
  */
44
- var renderTabFileIcon = function renderTabFileIcon() {
45
- return React__default["default"].createElement(FileIcon["default"], {
38
+ const renderTabFileIcon = () => {
39
+ return React.createElement(FileIcon.default, {
46
40
  filename: filename,
47
41
  width: "1rem",
48
42
  height: "1rem"
@@ -51,8 +45,8 @@ var FileTab = function FileTab(_a) {
51
45
  /**
52
46
  * File name
53
47
  */
54
- var renderTabFileName = function renderTabFileName() {
55
- return React__default["default"].createElement(FileTab_styled.StyledTabLabelFilename, {
48
+ const renderTabFileName = () => {
49
+ return React.createElement(FileTab_styled.StyledTabLabelFilename, {
56
50
  size: "tiny",
57
51
  noWrap: true
58
52
  }, filename);
@@ -60,34 +54,34 @@ var FileTab = function FileTab(_a) {
60
54
  /**
61
55
  * File directory name
62
56
  */
63
- var renderTabFileDirName = function renderTabFileDirName() {
57
+ const renderTabFileDirName = () => {
64
58
  if (!isFilenameDuplicated) {
65
59
  return null;
66
60
  }
67
- var parentDir = chunks.slice().pop();
68
- return React__default["default"].createElement(FileTab_styled.StyledTabLabelDirname, {
61
+ const parentDir = chunks.slice().pop();
62
+ return React.createElement(FileTab_styled.StyledTabLabelDirname, {
69
63
  role: "gray5",
70
64
  size: "tiny",
71
65
  noWrap: true
72
- }, parentDir ? ".../".concat(parentDir) : '/');
66
+ }, parentDir ? `.../${parentDir}` : '/');
73
67
  };
74
68
  /**
75
69
  * File
76
70
  */
77
- var renderTabFile = function renderTabFile() {
78
- return React__default["default"].createElement(FileTab_styled.StyledTabLabel, null, renderTabFileIcon(), renderTabFileName(), renderTabFileDirName());
71
+ const renderTabFile = () => {
72
+ return React.createElement(FileTab_styled.StyledTabLabel, null, renderTabFileIcon(), renderTabFileName(), renderTabFileDirName());
79
73
  };
80
74
  /**
81
75
  * Tab close icon
82
76
  */
83
- var renderTabCloseButton = function renderTabCloseButton() {
84
- return React__default["default"].createElement(FileTab_styled.StyledTabCloseButton, {
77
+ const renderTabCloseButton = () => {
78
+ return React.createElement(FileTab_styled.StyledTabCloseButton, {
85
79
  icon: icons.eilMathsignMultiplyBasic,
86
80
  role: "gray5",
87
81
  size: "nano",
88
82
  transparent: true,
89
83
  border: false,
90
- onClick: function onClick(e) {
84
+ onClick: e => {
91
85
  e.stopPropagation();
92
86
  if (typeof onClose === 'function') {
93
87
  onClose();
@@ -98,17 +92,17 @@ var FileTab = function FileTab(_a) {
98
92
  //
99
93
  //
100
94
  //
101
- return React__default["default"].createElement(FileTab_styled.StyledTab, Object.assign({}, eventListeners, {
95
+ return React.createElement(FileTab_styled.StyledTab, Object.assign({}, eventListeners, {
102
96
  active: active,
103
97
  hovered: hovered,
104
98
  draggable: true,
105
99
  role: "tab",
106
100
  "aria-label": filename,
107
101
  "aria-selected": active,
108
- title: "~/".concat(fullname),
102
+ title: `~/${fullname}`,
109
103
  tabIndex: -1,
110
104
  ref: tabElRef
111
- }), React__default["default"].createElement(FileTab_styled.StyledTabContent, null, renderTabFile(), renderTabCloseButton()), React__default["default"].createElement(FileTab_styled.StyledTabActiveBorder, null));
105
+ }), React.createElement(FileTab_styled.StyledTabContent, null, renderTabFile(), renderTabCloseButton()), React.createElement(FileTab_styled.StyledTabActiveBorder, null));
112
106
  };
113
107
 
114
- exports["default"] = FileTab;
108
+ exports.default = FileTab;
@@ -1,51 +1,41 @@
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 TAB_MIN_WIDTH = '7rem';
14
- var TAB_VERTICAL_BORDER_WIDTH = '1.5px';
15
- var TAB_BACKGROUND_COLOR = designTokens.base.color.navy8;
16
- var TAB_ACTIVE_BACKGROUND_COLOR = designTokens.base.color.navy9;
17
- var TAB_HOVERED_BACKGROUND_COLOR = designTokens.base.color.navy7;
7
+ const TAB_MIN_WIDTH = '7rem';
8
+ const TAB_VERTICAL_BORDER_WIDTH = '1.5px';
9
+ const TAB_BACKGROUND_COLOR = designTokens.base.color.navy8;
10
+ const TAB_ACTIVE_BACKGROUND_COLOR = designTokens.base.color.navy9;
11
+ const TAB_HOVERED_BACKGROUND_COLOR = designTokens.base.color.navy7;
18
12
  // ========== Tab label ==========
19
- var StyledTabLabel = styled__default["default"].div.withConfig({
13
+ const StyledTabLabel = styled.div.withConfig({
20
14
  componentId: "sc-1pe3776-0"
21
15
  })(["flex:1;display:flex;align-items:center;overflow:hidden;pointer-events:none;user-select:none;& > *{margin-right:0.5rem;}"]);
22
- var StyledTabLabelFilename = styled__default["default"](blocks.Text).withConfig({
16
+ const StyledTabLabelFilename = styled(blocks.Text).withConfig({
23
17
  componentId: "sc-1pe3776-1"
24
18
  })(["color:", ";font-weight:500;"], designTokens.base.color.gray4);
25
- var StyledTabLabelDirname = styled__default["default"](blocks.Text).withConfig({
19
+ const StyledTabLabelDirname = styled(blocks.Text).withConfig({
26
20
  componentId: "sc-1pe3776-2"
27
21
  })(["font-weight:500;"]);
28
- var StyledTabCloseButton = styled__default["default"](blocks.IconButton).withConfig({
22
+ const StyledTabCloseButton = styled(blocks.IconButton).withConfig({
29
23
  componentId: "sc-1pe3776-3"
30
24
  })(["flex:0 0 auto;margin-right:0.25rem !important;opacity:0;transition:opacity 150ms ease-in-out;"]);
31
25
  // ========== Tab content ==========
32
- var StyledTabContent = styled__default["default"].div.withConfig({
26
+ const StyledTabContent = styled.div.withConfig({
33
27
  componentId: "sc-1pe3776-4"
34
28
  })(["display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding-left:0.5rem;height:calc(100% - ", ");&:hover{", "{color:", ";}", "{opacity:1;}}"], TAB_VERTICAL_BORDER_WIDTH, StyledTabLabelFilename, designTokens.base.color.gray3, StyledTabCloseButton);
35
29
  // ========== Tab active border ==========
36
- var StyledTabActiveBorder = styled__default["default"].div.withConfig({
30
+ const StyledTabActiveBorder = styled.div.withConfig({
37
31
  componentId: "sc-1pe3776-5"
38
32
  })(["height:", ";background-color:", ";opacity:0;"], TAB_VERTICAL_BORDER_WIDTH, designTokens.base.color.primary5);
39
33
  // ========== Tab ==========
40
- var cssTabActive = styled.css(["background-color:", ";", "{color:", ";}", "{opacity:1;}", "{opacity:1;}"], TAB_ACTIVE_BACKGROUND_COLOR, StyledTabLabelFilename, designTokens.base.color.gray3, StyledTabCloseButton, StyledTabActiveBorder);
41
- var cssTabHovered = styled.css(["background-color:", ";", "{color:", ";}"], TAB_HOVERED_BACKGROUND_COLOR, StyledTabLabelFilename, designTokens.base.color.gray3);
42
- var StyledTab = styled__default["default"].div.withConfig({
34
+ const cssTabActive = styled.css(["background-color:", ";", "{color:", ";}", "{opacity:1;}", "{opacity:1;}"], TAB_ACTIVE_BACKGROUND_COLOR, StyledTabLabelFilename, designTokens.base.color.gray3, StyledTabCloseButton, StyledTabActiveBorder);
35
+ const cssTabHovered = styled.css(["background-color:", ";", "{color:", ";}"], TAB_HOVERED_BACKGROUND_COLOR, StyledTabLabelFilename, designTokens.base.color.gray3);
36
+ const StyledTab = styled.div.withConfig({
43
37
  componentId: "sc-1pe3776-6"
44
- })(["padding-top:", ";width:", ";min-width:fit-content;height:100%;background-color:", ";border-right:1px solid ", ";cursor:pointer;", " ", ""], TAB_VERTICAL_BORDER_WIDTH, TAB_MIN_WIDTH, TAB_BACKGROUND_COLOR, designTokens.base.color.navy7, function (props) {
45
- return props.active && cssTabActive;
46
- }, function (props) {
47
- return props.hovered && cssTabHovered;
48
- });
38
+ })(["padding-top:", ";width:", ";min-width:fit-content;height:100%;background-color:", ";border-right:1px solid ", ";cursor:pointer;", " ", ""], TAB_VERTICAL_BORDER_WIDTH, TAB_MIN_WIDTH, TAB_BACKGROUND_COLOR, designTokens.base.color.navy7, props => props.active && cssTabActive, props => props.hovered && cssTabHovered);
49
39
 
50
40
  exports.StyledTab = StyledTab;
51
41
  exports.StyledTabActiveBorder = StyledTabActiveBorder;
@@ -2,76 +2,57 @@
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 throttle = require('lodash/throttle');
8
7
  var FileTab = require('./FileTab.js');
9
8
  var util = require('./util.js');
10
9
  var FileTabs_styled = require('./FileTabs.styled.js');
11
10
 
12
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
-
14
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
15
- var throttle__default = /*#__PURE__*/_interopDefaultLegacy(throttle);
16
-
17
- var FileTabs = function FileTabs(_ref) {
18
- var openedTabs = _ref.openedTabs,
19
- activeTab = _ref.activeTab,
20
- onSelectTab = _ref.onSelectTab,
21
- onCloseTab = _ref.onCloseTab,
22
- onTabOrderChange = _ref.onTabOrderChange;
23
- var _React$useState = React__default["default"].useState(null),
24
- _React$useState2 = _rollupPluginBabelHelpers.slicedToArray(_React$useState, 2),
25
- curDraggingTabIndex = _React$useState2[0],
26
- setCurDraggingTabIndex = _React$useState2[1];
27
- var _React$useState3 = React__default["default"].useState(null),
28
- _React$useState4 = _rollupPluginBabelHelpers.slicedToArray(_React$useState3, 2),
29
- curHoveredTabIndex = _React$useState4[0],
30
- setCurHoveredTabIndex = _React$useState4[1];
11
+ const FileTabs = ({
12
+ openedTabs,
13
+ activeTab,
14
+ onSelectTab,
15
+ onCloseTab,
16
+ onTabOrderChange
17
+ }) => {
18
+ const [curDraggingTabIndex, setCurDraggingTabIndex] = React.useState(null);
19
+ const [curHoveredTabIndex, setCurHoveredTabIndex] = React.useState(null);
31
20
  /**
32
21
  * Tab props.
33
22
  */
34
- var tabs = React__default["default"].useMemo(function () {
35
- return util.getTabProps(openedTabs);
36
- }, [openedTabs]);
23
+ const tabs = React.useMemo(() => util.getTabProps(openedTabs), [openedTabs]);
37
24
  /**
38
25
  * Reset state.
39
26
  */
40
- var reset = function reset() {
27
+ const reset = () => {
41
28
  setCurDraggingTabIndex(null);
42
29
  setCurHoveredTabIndex(null);
43
30
  };
44
31
  /**
45
32
  * Throttled `setCurHoveredTabIndex`.
46
33
  */
47
- var setThrottledCurHoveredTabIndex = React__default["default"].useMemo(function () {
48
- return throttle__default["default"](setCurHoveredTabIndex, 100, {
49
- leading: true,
50
- trailing: false
51
- });
52
- }, []);
34
+ const setThrottledCurHoveredTabIndex = React.useMemo(() => throttle(setCurHoveredTabIndex, 100, {
35
+ leading: true,
36
+ trailing: false
37
+ }), []);
53
38
  /**
54
39
  * Handle tab drag start.
55
40
  */
56
- var getTabDragStartHandler = React__default["default"].useCallback(function (index) {
57
- return function (_) {
58
- setCurDraggingTabIndex(index);
59
- };
41
+ const getTabDragStartHandler = React.useCallback(index => _ => {
42
+ setCurDraggingTabIndex(index);
60
43
  }, []);
61
44
  /**
62
45
  * Handle tab drag over.
63
46
  */
64
- var getTabDragOverHandler = React__default["default"].useCallback(function (index) {
65
- return function (e) {
66
- e.preventDefault();
67
- e.stopPropagation();
68
- setThrottledCurHoveredTabIndex(index);
69
- };
47
+ const getTabDragOverHandler = React.useCallback(index => e => {
48
+ e.preventDefault();
49
+ e.stopPropagation();
50
+ setThrottledCurHoveredTabIndex(index);
70
51
  }, [setThrottledCurHoveredTabIndex]);
71
52
  /**
72
53
  * Handle tab drop.
73
54
  */
74
- var handleTabDrop = function handleTabDrop(e) {
55
+ const handleTabDrop = e => {
75
56
  e.preventDefault();
76
57
  e.stopPropagation();
77
58
  if (curDraggingTabIndex !== null && curHoveredTabIndex !== null && typeof onTabOrderChange === 'function') {
@@ -82,30 +63,24 @@ var FileTabs = function FileTabs(_ref) {
82
63
  /**
83
64
  * Tabs.
84
65
  */
85
- var renderTabs = function renderTabs() {
86
- return tabs.map(function (tab, index) {
87
- return React__default["default"].createElement(FileTab["default"], Object.assign({}, tab, {
88
- key: tab.fullname,
89
- active: activeTab === tab.fullname,
90
- hovered: curHoveredTabIndex === index,
91
- onClick: function onClick() {
92
- return onSelectTab(tab.fullname);
93
- },
94
- onClose: function onClose() {
95
- return onCloseTab(tab.fullname);
96
- },
97
- onDragStart: getTabDragStartHandler(index),
98
- onDragOver: getTabDragOverHandler(index),
99
- onDragEnd: reset,
100
- onDrop: handleTabDrop
101
- }));
102
- });
66
+ const renderTabs = () => {
67
+ return tabs.map((tab, index) => React.createElement(FileTab.default, Object.assign({}, tab, {
68
+ key: tab.fullname,
69
+ active: activeTab === tab.fullname,
70
+ hovered: curHoveredTabIndex === index,
71
+ onClick: () => onSelectTab(tab.fullname),
72
+ onClose: () => onCloseTab(tab.fullname),
73
+ onDragStart: getTabDragStartHandler(index),
74
+ onDragOver: getTabDragOverHandler(index),
75
+ onDragEnd: reset,
76
+ onDrop: handleTabDrop
77
+ })));
103
78
  };
104
79
  /**
105
80
  * Tab drop zone.
106
81
  */
107
- var renderTabsDropZone = function renderTabsDropZone() {
108
- return React__default["default"].createElement(FileTabs_styled.StyledTabsDropZone, {
82
+ const renderTabsDropZone = () => {
83
+ return React.createElement(FileTabs_styled.StyledTabsDropZone, {
109
84
  onDragOver: getTabDragOverHandler(tabs.length - 1),
110
85
  onDrop: handleTabDrop
111
86
  });
@@ -113,9 +88,9 @@ var FileTabs = function FileTabs(_ref) {
113
88
  //
114
89
  //
115
90
  //
116
- return React__default["default"].createElement(FileTabs_styled.StyledTabs, {
91
+ return React.createElement(FileTabs_styled.StyledTabs, {
117
92
  role: "tablist"
118
93
  }, renderTabs(), renderTabsDropZone());
119
94
  };
120
95
 
121
- exports["default"] = FileTabs;
96
+ exports.default = FileTabs;
@@ -1,23 +1,17 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var designTokens = require('@elice/design-tokens');
6
4
  var styled = require('styled-components');
7
5
  var stylesheets = require('../../../constants/stylesheets.js');
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 StyledTabs = styled__default["default"].div.withConfig({
7
+ const StyledTabs = styled.div.withConfig({
14
8
  componentId: "sc-ifwvzh-0"
15
9
  })(["display:flex;align-items:flex-end;box-sizing:border-box;flex-direction:row;height:2.25rem;font-family:inherit;background:", ";overflow-x:overlay;overflow-y:hidden;scrollbar-width:none;", ""], designTokens.base.color.navy8, stylesheets.getMaterialScrollBarCss({
16
10
  height: '2px',
17
11
  borderRadius: '2px',
18
12
  hideable: true
19
13
  }));
20
- var StyledTabsDropZone = styled__default["default"].div.withConfig({
14
+ const StyledTabsDropZone = styled.div.withConfig({
21
15
  componentId: "sc-ifwvzh-1"
22
16
  })(["flex:1;height:100%;background-color:transparent;"]);
23
17
 
@@ -1,41 +1,26 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var _rollupPluginBabelHelpers = require('../../../_virtual/_rollupPluginBabelHelpers.js');
6
-
7
3
  /**
8
4
  * Get file tab props.
9
5
  */
10
6
  function getTabProps(paths) {
11
- var tabs = [];
7
+ const tabs = [];
12
8
  // parse file paths
13
- var _iterator = _rollupPluginBabelHelpers.createForOfIteratorHelper(paths),
14
- _step;
15
- try {
16
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
17
- var path = _step.value;
18
- var chunks = path.split('/');
19
- var filename = chunks.pop();
20
- if (filename) {
21
- tabs.push({
22
- fullname: path,
23
- chunks: chunks,
24
- filename: filename,
25
- isFilenameDuplicated: false
26
- });
27
- }
9
+ for (const path of paths) {
10
+ const chunks = path.split('/');
11
+ const filename = chunks.pop();
12
+ if (filename) {
13
+ tabs.push({
14
+ fullname: path,
15
+ chunks,
16
+ filename,
17
+ isFilenameDuplicated: false
18
+ });
28
19
  }
29
- // check filename duplication
30
- } catch (err) {
31
- _iterator.e(err);
32
- } finally {
33
- _iterator.f();
34
20
  }
35
- tabs.forEach(function (thisTab) {
36
- thisTab.isFilenameDuplicated = tabs.filter(function (thatTab) {
37
- return thisTab.filename === thatTab.filename;
38
- }).length > 1;
21
+ // check filename duplication
22
+ tabs.forEach(thisTab => {
23
+ thisTab.isFilenameDuplicated = tabs.filter(thatTab => thisTab.filename === thatTab.filename).length > 1;
39
24
  });
40
25
  return tabs;
41
26
  }
@@ -14,32 +14,27 @@ var FileTreeConfig = require('./FileTreeConfig.js');
14
14
  var FileTreeList = require('./FileTreeList.js');
15
15
  var FileTreeToolbar = require('./FileTreeToolbar.js');
16
16
 
17
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
18
-
19
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
20
- var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
21
-
22
- var StyledFileTreeWrapper = styled__default["default"].div.withConfig({
17
+ const StyledFileTreeWrapper = styled.div.withConfig({
23
18
  componentId: "sc-6ext2i-0"
24
19
  })(["display:flex;flex-direction:column;user-select:none;overflow:hidden;"]);
25
- var StyledLoading = styled__default["default"].div.withConfig({
20
+ const StyledLoading = styled.div.withConfig({
26
21
  componentId: "sc-6ext2i-1"
27
22
  })(["position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background-color:", ";opacity:0.5;width:100%;height:100%;display:flex;align-items:center;justify-content:center;z-index:100;"], designTokens.base.color.navy7);
28
- var FileTree = function FileTree(props) {
29
- return React__default["default"].createElement(materialSharedUtils.MaterialIntlProvider, {
23
+ const FileTree = props => {
24
+ return React.createElement(materialSharedUtils.MaterialIntlProvider, {
30
25
  locale: props.locale,
31
26
  phrases: {
32
- en: en["default"],
33
- ko: ko["default"]
27
+ en: en.default,
28
+ ko: ko.default
34
29
  }
35
- }, React__default["default"].createElement(FileTreeContext.FileTreeProvider, Object.assign({}, props), React__default["default"].createElement(StyledFileTreeWrapper, {
30
+ }, React.createElement(FileTreeContext.FileTreeProvider, Object.assign({}, props), React.createElement(StyledFileTreeWrapper, {
36
31
  style: props.style
37
- }, props.loading ? React__default["default"].createElement(StyledLoading, null, React__default["default"].createElement(blocks.Spinner, null)) : null, props.children)));
32
+ }, props.loading ? React.createElement(StyledLoading, null, React.createElement(blocks.Spinner, null)) : null, props.children)));
38
33
  };
39
34
  var FileTree$1 = Object.assign(FileTree, {
40
- Toolbar: FileTreeToolbar["default"],
41
- List: FileTreeList["default"],
42
- Config: FileTreeConfig["default"]
35
+ Toolbar: FileTreeToolbar.default,
36
+ List: FileTreeList.default,
37
+ Config: FileTreeConfig.default
43
38
  });
44
39
 
45
- exports["default"] = FileTree$1;
40
+ exports.default = FileTree$1;
@@ -9,41 +9,38 @@ var classnames = require('classnames');
9
9
  var styled = require('styled-components');
10
10
  var FileTreeContext = require('./context/FileTreeContext.js');
11
11
 
12
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
-
14
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
15
- var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
16
- var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
17
-
18
- var StyledFileTreeConfig = styled__default["default"].div.withConfig({
12
+ const StyledFileTreeConfig = styled.div.withConfig({
19
13
  componentId: "sc-1dxe3z0-0"
20
14
  })(["background-color:", ";padding:1rem;"], designTokens.base.color.navy8);
21
- var FileTreeConfig = React.forwardRef(function (_ref, ref) {
22
- var className = _ref.className,
23
- style = _ref.style,
24
- onInitialOpenFileListChange = _ref.onInitialOpenFileListChange,
25
- initialOpenFilelist = _ref.initialOpenFilelist;
26
- var _useFileTreeState = FileTreeContext.useFileTreeState(),
27
- mode = _useFileTreeState.mode,
28
- initialOpenFileListTemp = _useFileTreeState.initialOpenFileListTemp;
29
- var _useFileTreeDispatch = FileTreeContext.useFileTreeDispatch(),
30
- dispatch = _useFileTreeDispatch.dispatch;
31
- React__default["default"].useEffect(function () {
15
+ const FileTreeConfig = React.forwardRef(({
16
+ className,
17
+ style,
18
+ onInitialOpenFileListChange,
19
+ initialOpenFilelist
20
+ }, ref) => {
21
+ const {
22
+ mode,
23
+ initialOpenFileListTemp
24
+ } = FileTreeContext.useFileTreeState();
25
+ const {
26
+ dispatch
27
+ } = FileTreeContext.useFileTreeDispatch();
28
+ React.useEffect(() => {
32
29
  dispatch({
33
30
  type: 'INITIAL_OPEN_FILELIST_UPDATE',
34
- initialOpenFilelist: initialOpenFilelist
31
+ initialOpenFilelist
35
32
  });
36
33
  }, [dispatch, initialOpenFilelist]);
37
- return React__default["default"].createElement(StyledFileTreeConfig, {
38
- className: classnames__default["default"]('em-file-tree__config', className),
34
+ return React.createElement(StyledFileTreeConfig, {
35
+ className: classnames('em-file-tree__config', className),
39
36
  ref: ref,
40
37
  style: Object.assign({}, style)
41
- }, React__default["default"].createElement(blocks.Button, {
38
+ }, React.createElement(blocks.Button, {
42
39
  block: true,
43
40
  size: "small",
44
41
  role: "white",
45
42
  transparent: true,
46
- onClick: function onClick() {
43
+ onClick: () => {
47
44
  if ([
48
45
  // when mode changes from 'checkbox' to 'default'
49
46
  mode === 'checkbox',
@@ -58,8 +55,8 @@ var FileTreeConfig = React.forwardRef(function (_ref, ref) {
58
55
  mode: mode === 'checkbox' ? 'default' : 'checkbox'
59
56
  });
60
57
  }
61
- }, mode === 'default' ? "Initial Open Files(".concat(initialOpenFileListTemp.length, ")") : "Settings (".concat(initialOpenFileListTemp.length, ")")));
58
+ }, mode === 'default' ? `Initial Open Files(${initialOpenFileListTemp.length})` : `Settings (${initialOpenFileListTemp.length})`));
62
59
  });
63
60
  var FileTreeConfig$1 = FileTreeConfig;
64
61
 
65
- exports["default"] = FileTreeConfig$1;
62
+ exports.default = FileTreeConfig$1;