@elice/material-exercise 1.230325.0 → 1.230418.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (373) hide show
  1. package/cjs/_virtual/_rollupPluginBabelHelpers.js +526 -0
  2. package/cjs/components/material-exercise/MaterialExercise.js +44 -63
  3. package/cjs/components/material-exercise/MaterialExercise.styled.js +20 -23
  4. package/cjs/components/material-exercise/MaterialExerciseMobile.js +19 -15
  5. package/cjs/components/material-exercise/context/ExerciseIntlProvider.js +9 -13
  6. package/cjs/components/material-exercise/context/ExerciseProvider.js +83 -81
  7. package/cjs/components/material-exercise/context/ExerciseProviderNoImage.js +16 -16
  8. package/cjs/components/material-exercise/context/context.js +1 -1
  9. package/cjs/components/material-exercise/context/locales/noImage.en.json.js +3 -1
  10. package/cjs/components/material-exercise/context/locales/noImage.ko.json.js +3 -1
  11. package/cjs/components/material-exercise/context/recoil.d.ts +2 -1
  12. package/cjs/components/material-exercise/context/recoil.js +562 -373
  13. package/cjs/components/material-exercise/context/recoilTypes.js +0 -5
  14. package/cjs/components/material-exercise/context/subjects.js +3 -6
  15. package/cjs/components/material-exercise/context/types.d.ts +8 -1
  16. package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.d.ts +2 -2
  17. package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.js +78 -65
  18. package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.js +8 -8
  19. package/cjs/components/material-exercise/exercise-code-history/locales/en.json.js +7 -0
  20. package/cjs/components/material-exercise/exercise-code-history/locales/ko.json.js +7 -0
  21. package/cjs/components/material-exercise/exercise-file/ExerciseFile.js +20 -21
  22. package/cjs/components/material-exercise/exercise-file-editor/ExerciseFileEditor.js +228 -199
  23. package/cjs/components/material-exercise/exercise-file-editor/ExerciseFileReadOnlyBanner.js +8 -10
  24. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabs.js +35 -32
  25. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabsFileTreeButton.js +57 -48
  26. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.js +6 -4
  27. package/cjs/components/material-exercise/exercise-file-tabs/locales/fileTreeButton.en.json.js +3 -1
  28. package/cjs/components/material-exercise/exercise-file-tabs/locales/fileTreeButton.ko.json.js +3 -1
  29. package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTree.js +327 -231
  30. package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.js +6 -4
  31. package/cjs/components/material-exercise/exercise-file-tree/locales/en.json.js +3 -1
  32. package/cjs/components/material-exercise/exercise-file-tree/locales/ko.json.js +3 -1
  33. package/cjs/components/material-exercise/exercise-file-viewer/ExerciseFileViewer.js +17 -17
  34. package/cjs/components/material-exercise/exercise-menu/ExerciseMenu.js +13 -14
  35. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.js +6 -6
  36. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.js +47 -38
  37. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuDropdown.js +60 -42
  38. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuReset.js +29 -22
  39. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.js +45 -56
  40. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.js +12 -12
  41. package/cjs/components/material-exercise/exercise-menu/locales/en.json.js +3 -1
  42. package/cjs/components/material-exercise/exercise-menu/locales/ko.json.js +3 -1
  43. package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdown.js +28 -20
  44. package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.js +5 -3
  45. package/cjs/components/material-exercise/exercise-preview/ExercisePreview.js +30 -41
  46. package/cjs/components/material-exercise/exercise-preview/ExercisePreviewDisplayModeButton.js +17 -12
  47. package/cjs/components/material-exercise/exercise-preview/locales/en.json.js +3 -1
  48. package/cjs/components/material-exercise/exercise-preview/locales/ko.json.js +3 -1
  49. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpane.js +24 -33
  50. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpaneEditorPerference.js +13 -8
  51. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpaneEnvironment.js +84 -83
  52. package/cjs/components/material-exercise/exercise-rightpane/locales/en.json.js +3 -1
  53. package/cjs/components/material-exercise/exercise-rightpane/locales/ko.json.js +3 -1
  54. package/cjs/components/material-exercise/exercise-room/ExerciseRoom.js +20 -12
  55. package/cjs/components/material-exercise/exercise-room/ExerciseRoom.styled.js +14 -12
  56. package/cjs/components/material-exercise/exercise-room/ExerciseRoomDetail.js +239 -147
  57. package/cjs/components/material-exercise/exercise-room/ExerciseRoomList.js +92 -63
  58. package/cjs/components/material-exercise/exercise-room/helpers/exerciseRoomPermissionStringConvertor.js +2 -8
  59. package/cjs/components/material-exercise/exercise-room/locales/en.json.js +3 -1
  60. package/cjs/components/material-exercise/exercise-room/locales/ko.json.js +3 -1
  61. package/cjs/components/material-exercise/exercise-runner/ExerciseRunner.js +224 -223
  62. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerContext.js +1 -1
  63. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerController.js +13 -13
  64. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.js +30 -26
  65. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.js +26 -26
  66. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js +79 -95
  67. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.js +27 -27
  68. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerRunningInfo.js +54 -60
  69. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusIndicator.js +5 -5
  70. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusMessage.js +10 -13
  71. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerTimer.js +29 -26
  72. package/cjs/components/material-exercise/exercise-runner/locales/en.json.js +3 -1
  73. package/cjs/components/material-exercise/exercise-runner/locales/ko.json.js +3 -1
  74. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.d.ts +2 -2
  75. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.js +290 -180
  76. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.styled.js +8 -8
  77. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistoryOutput.js +41 -45
  78. package/cjs/components/material-exercise/exercise-submit-history/locales/en.json.js +7 -0
  79. package/cjs/components/material-exercise/exercise-submit-history/locales/ko.json.js +7 -0
  80. package/cjs/components/shared/exercise-menu-button/ExerciseMenuButton.js +19 -17
  81. package/cjs/components/shared/exercise-shimmer/ExerciseFileShimmer.js +5 -4
  82. package/cjs/components/shared/exercise-shimmer/ExerciseFileTabShimmer.js +15 -14
  83. package/cjs/components/shared/exercise-shimmer/ExerciseFileTabsShimmer.js +7 -6
  84. package/cjs/components/shared/exercise-shimmer/ExerciseFileTreeListItemShimmer.js +17 -16
  85. package/cjs/components/shared/exercise-shimmer/ExerciseFileTreeListShimmer.js +18 -11
  86. package/cjs/components/shared/exercise-version-list/ExerciseVersionList.js +5 -4
  87. package/cjs/components/shared/exercise-version-list/ExerciseVersionList.styled.js +1 -1
  88. package/cjs/components/shared/exercise-version-list/ExerciseVersionListItem.js +8 -7
  89. package/cjs/components/shared/exercise-version-list/ExerciseVersionListItem.styled.js +9 -5
  90. package/cjs/components/shared/file-icon/FileIcon.js +23 -23
  91. package/cjs/components/shared/file-tabs/FileTab.js +32 -43
  92. package/cjs/components/shared/file-tabs/FileTab.styled.js +26 -22
  93. package/cjs/components/shared/file-tabs/FileTabs.js +55 -49
  94. package/cjs/components/shared/file-tabs/FileTabs.styled.js +2 -2
  95. package/cjs/components/shared/file-tabs/util.js +29 -18
  96. package/cjs/components/shared/file-tree/FileTree.js +11 -11
  97. package/cjs/components/shared/file-tree/FileTreeConfig.js +24 -23
  98. package/cjs/components/shared/file-tree/FileTreeList.js +35 -41
  99. package/cjs/components/shared/file-tree/FileTreeListItemContent.js +75 -91
  100. package/cjs/components/shared/file-tree/FileTreeListItemContent.styled.js +29 -40
  101. package/cjs/components/shared/file-tree/FileTreeListItemContentInput.js +77 -101
  102. package/cjs/components/shared/file-tree/FileTreeListItemContentInput.styled.js +6 -6
  103. package/cjs/components/shared/file-tree/FileTreeListItemContentMenu.js +51 -86
  104. package/cjs/components/shared/file-tree/FileTreeListItems.js +150 -153
  105. package/cjs/components/shared/file-tree/FileTreeListItems.styled.js +2 -2
  106. package/cjs/components/shared/file-tree/FileTreeToolbar.js +30 -41
  107. package/cjs/components/shared/file-tree/FileTreeToolbar.styled.js +1 -1
  108. package/cjs/components/shared/file-tree/context/FileTreeContext.js +91 -97
  109. package/cjs/components/shared/file-tree/locales/en.json.js +3 -1
  110. package/cjs/components/shared/file-tree/locales/ko.json.js +3 -1
  111. package/cjs/components/shared/file-tree/utils/fileTreeFiles.js +20 -22
  112. package/cjs/components/shared/file-tree/utils/fileTreeGenerator.js +193 -173
  113. package/cjs/components/shared/file-tree/utils/fileTreeInput.js +0 -1
  114. package/cjs/components/shared/file-tree/utils/fileTreeItem.js +1 -1
  115. package/cjs/components/shared/file-tree/utils/fileTreePath.js +5 -7
  116. package/cjs/components/shared/file-viewer/FileViewer.js +59 -60
  117. package/cjs/components/shared/file-viewer/FileViewerCsv.js +145 -101
  118. package/cjs/components/shared/file-viewer/FileViewerImage.js +7 -8
  119. package/cjs/components/shared/file-viewer/FileViewerIpynb.js +20 -14
  120. package/cjs/components/shared/file-viewer/FileViewerNonViewable.js +28 -34
  121. package/cjs/components/shared/file-viewer/FileViewerText.js +23 -16
  122. package/cjs/components/shared/file-viewer/locales/en.json.js +3 -1
  123. package/cjs/components/shared/file-viewer/locales/ko.json.js +3 -1
  124. package/cjs/components/shared/file-viewer/locales/nonViewable.en.json.js +3 -1
  125. package/cjs/components/shared/file-viewer/locales/nonViewable.ko.json.js +3 -1
  126. package/cjs/components/shared/material-modal/MaterialModal.js +10 -12
  127. package/cjs/components/shared/material-modal/MaterialModal.styled.js +5 -5
  128. package/cjs/components/shared/monaco-editor/MonacoEditor.js +123 -149
  129. package/cjs/components/shared/monaco-editor/MonacoEditorLazy.js +10 -8
  130. package/cjs/components/shared/monaco-editor/MonacoEditorMobile.js +49 -58
  131. package/cjs/components/shared/monaco-editor/MonacoEditorPerferenceForm.js +78 -85
  132. package/cjs/components/shared/monaco-editor/constants/grammars/index.js +131 -52
  133. package/cjs/components/shared/monaco-editor/constants/monaco/preferences.js +5 -9
  134. package/cjs/components/shared/monaco-editor/constants/themes/index.js +80 -32
  135. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventChange.js +10 -13
  136. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventCursor.js +14 -18
  137. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventScroll.js +8 -9
  138. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoMarkers.js +54 -72
  139. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoOptions.js +14 -15
  140. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoTheme.js +8 -9
  141. package/cjs/components/shared/monaco-editor/editor-languages/css/formatter.js +36 -12
  142. package/cjs/components/shared/monaco-editor/editor-languages/css/index.js +5 -8
  143. package/cjs/components/shared/monaco-editor/editor-languages/html/formatter.js +36 -12
  144. package/cjs/components/shared/monaco-editor/editor-languages/html/index.js +3 -6
  145. package/cjs/components/shared/monaco-editor/editor-languages/index.js +3 -1
  146. package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/_helper.js +1 -1
  147. package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/express.js +3 -2
  148. package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/propTypes.js +3 -2
  149. package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/react.js +3 -2
  150. package/cjs/components/shared/monaco-editor/editor-languages/typescript/formatter.js +36 -12
  151. package/cjs/components/shared/monaco-editor/editor-languages/typescript/index.js +18 -24
  152. package/cjs/components/shared/monaco-editor/hooks/useEditorOptions.js +12 -9
  153. package/cjs/components/shared/monaco-editor/locales/en.json.js +3 -1
  154. package/cjs/components/shared/monaco-editor/locales/ko.json.js +3 -1
  155. package/cjs/components/shared/monaco-editor/utils/emmet/abbreviationActions.js +18 -28
  156. package/cjs/components/shared/monaco-editor/utils/emmet/emmet.js +0 -3
  157. package/cjs/components/shared/monaco-editor/utils/emmet/registerProvider.js +12 -8
  158. package/cjs/components/shared/monaco-editor/utils/grammar/index.js +70 -32
  159. package/cjs/components/shared/monaco-editor/utils/grammar/onigasm.js +25 -7
  160. package/cjs/components/shared/monaco-editor/utils/grammar/textmate.js +67 -43
  161. package/cjs/components/shared/monaco-editor/utils/monacoLanguage.js +9 -19
  162. package/cjs/components/shared/monaco-editor/utils/monacoPreference.js +6 -5
  163. package/cjs/components/shared/monaco-editor/utils/prettier/config.js +2 -3
  164. package/cjs/components/shared/monaco-editor/utils/prettier/index.js +30 -9
  165. package/cjs/components/shared/monaco-editor/utils/theme/convert.js +20 -26
  166. package/cjs/components/shared/monaco-editor/utils/theme/index.js +22 -5
  167. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursor.js +77 -75
  168. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorManager.js +82 -93
  169. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorWidget.js +125 -135
  170. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelection.js +148 -160
  171. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelectionManager.js +104 -118
  172. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/styles.js +2 -2
  173. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/configCompat.js +1 -3
  174. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/data.js +2 -3
  175. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/emmetHelper.js +218 -329
  176. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/utils.js +3 -6
  177. package/cjs/components/shared/no-vnc/NoVnc.js +93 -90
  178. package/cjs/components/shared/no-vnc/NoVncLazy.js +7 -5
  179. package/cjs/components/shared/preview-container/PreviewContainer.js +7 -10
  180. package/cjs/components/shared/web-browser/WebBrowser.js +54 -59
  181. package/cjs/components/shared/xterm/Xterm.js +112 -105
  182. package/cjs/components/shared/xterm/XtermLazy.js +7 -5
  183. package/cjs/components/shared/xterm/locales/en.json.js +3 -1
  184. package/cjs/components/shared/xterm/locales/ko.json.js +3 -1
  185. package/cjs/constants/arduino.js +10 -10
  186. package/cjs/constants/shortcutKeyMap.js +5 -5
  187. package/cjs/constants/stylesheets.js +7 -10
  188. package/cjs/hooks/useArduino.js +327 -255
  189. package/cjs/hooks/useExerciseFile.js +24 -24
  190. package/cjs/hooks/useExericseShortcut.js +6 -5
  191. package/cjs/hooks/useMaterialExerciseFileUrl.js +54 -37
  192. package/cjs/hooks/useRunnerRoomWebSocket.js +58 -56
  193. package/cjs/hooks/useStdioTextConcator.js +18 -12
  194. package/cjs/hooks/useStdioWebSocket.js +41 -67
  195. package/cjs/hooks/useUsercodeEditWebSocket.js +230 -252
  196. package/cjs/hooks/useUsercodeHistory.js +121 -82
  197. package/cjs/index.js +4 -4
  198. package/cjs/utils/arduino.js +23 -25
  199. package/cjs/utils/exerciseFile.js +8 -16
  200. package/cjs/utils/runner.js +29 -25
  201. package/es/_virtual/_rollupPluginBabelHelpers.js +504 -0
  202. package/es/components/material-exercise/MaterialExercise.js +33 -54
  203. package/es/components/material-exercise/MaterialExercise.styled.js +20 -23
  204. package/es/components/material-exercise/MaterialExerciseMobile.js +15 -13
  205. package/es/components/material-exercise/context/ExerciseIntlProvider.js +9 -13
  206. package/es/components/material-exercise/context/ExerciseProvider.js +79 -79
  207. package/es/components/material-exercise/context/ExerciseProviderNoImage.js +11 -13
  208. package/es/components/material-exercise/context/context.js +1 -1
  209. package/es/components/material-exercise/context/recoil.d.ts +2 -1
  210. package/es/components/material-exercise/context/recoil.js +563 -374
  211. package/es/components/material-exercise/context/recoilTypes.js +0 -5
  212. package/es/components/material-exercise/context/subjects.js +3 -6
  213. package/es/components/material-exercise/context/types.d.ts +8 -1
  214. package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.d.ts +2 -2
  215. package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.js +73 -62
  216. package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.js +8 -8
  217. package/es/components/material-exercise/exercise-code-history/locales/en.json.js +3 -0
  218. package/es/components/material-exercise/exercise-code-history/locales/ko.json.js +3 -0
  219. package/es/components/material-exercise/exercise-file/ExerciseFile.js +15 -18
  220. package/es/components/material-exercise/exercise-file-editor/ExerciseFileEditor.js +222 -195
  221. package/es/components/material-exercise/exercise-file-editor/ExerciseFileReadOnlyBanner.js +5 -9
  222. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabs.js +31 -28
  223. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabsFileTreeButton.js +52 -45
  224. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.js +1 -1
  225. package/es/components/material-exercise/exercise-file-tree/ExerciseFileTree.js +321 -225
  226. package/es/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.js +1 -1
  227. package/es/components/material-exercise/exercise-file-viewer/ExerciseFileViewer.js +12 -14
  228. package/es/components/material-exercise/exercise-menu/ExerciseMenu.js +7 -10
  229. package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.js +3 -5
  230. package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.js +43 -36
  231. package/es/components/material-exercise/exercise-menu/ExerciseMenuDropdown.js +53 -37
  232. package/es/components/material-exercise/exercise-menu/ExerciseMenuReset.js +25 -20
  233. package/es/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.js +41 -54
  234. package/es/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.js +12 -12
  235. package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdown.js +25 -19
  236. package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.js +1 -1
  237. package/es/components/material-exercise/exercise-preview/ExercisePreview.js +21 -34
  238. package/es/components/material-exercise/exercise-preview/ExercisePreviewDisplayModeButton.js +13 -10
  239. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpane.js +17 -28
  240. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpaneEditorPerference.js +9 -6
  241. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpaneEnvironment.js +81 -82
  242. package/es/components/material-exercise/exercise-room/ExerciseRoom.js +13 -7
  243. package/es/components/material-exercise/exercise-room/ExerciseRoom.styled.js +14 -12
  244. package/es/components/material-exercise/exercise-room/ExerciseRoomDetail.js +236 -146
  245. package/es/components/material-exercise/exercise-room/ExerciseRoomList.js +90 -63
  246. package/es/components/material-exercise/exercise-room/helpers/exerciseRoomPermissionStringConvertor.js +2 -8
  247. package/es/components/material-exercise/exercise-runner/ExerciseRunner.js +218 -219
  248. package/es/components/material-exercise/exercise-runner/ExerciseRunnerContext.js +1 -1
  249. package/es/components/material-exercise/exercise-runner/ExerciseRunnerController.js +7 -9
  250. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.js +27 -25
  251. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.js +22 -24
  252. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js +76 -94
  253. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.js +24 -26
  254. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerRunningInfo.js +51 -59
  255. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusIndicator.js +2 -4
  256. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusMessage.js +6 -11
  257. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerTimer.js +26 -25
  258. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.d.ts +2 -2
  259. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.js +284 -174
  260. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.styled.js +8 -8
  261. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistoryOutput.js +38 -44
  262. package/es/components/material-exercise/exercise-submit-history/locales/en.json.js +3 -0
  263. package/es/components/material-exercise/exercise-submit-history/locales/ko.json.js +3 -0
  264. package/es/components/shared/exercise-menu-button/ExerciseMenuButton.js +16 -16
  265. package/es/components/shared/exercise-shimmer/ExerciseFileShimmer.js +2 -3
  266. package/es/components/shared/exercise-shimmer/ExerciseFileTabShimmer.js +12 -13
  267. package/es/components/shared/exercise-shimmer/ExerciseFileTabsShimmer.js +2 -3
  268. package/es/components/shared/exercise-shimmer/ExerciseFileTreeListItemShimmer.js +14 -15
  269. package/es/components/shared/exercise-shimmer/ExerciseFileTreeListShimmer.js +15 -10
  270. package/es/components/shared/exercise-version-list/ExerciseVersionList.js +2 -3
  271. package/es/components/shared/exercise-version-list/ExerciseVersionList.styled.js +1 -1
  272. package/es/components/shared/exercise-version-list/ExerciseVersionListItem.js +5 -6
  273. package/es/components/shared/exercise-version-list/ExerciseVersionListItem.styled.js +9 -5
  274. package/es/components/shared/file-icon/FileIcon.js +20 -22
  275. package/es/components/shared/file-tabs/FileTab.js +28 -41
  276. package/es/components/shared/file-tabs/FileTab.styled.js +26 -22
  277. package/es/components/shared/file-tabs/FileTabs.js +52 -48
  278. package/es/components/shared/file-tabs/FileTabs.styled.js +2 -2
  279. package/es/components/shared/file-tabs/util.js +29 -18
  280. package/es/components/shared/file-tree/FileTree.js +3 -5
  281. package/es/components/shared/file-tree/FileTreeConfig.js +21 -22
  282. package/es/components/shared/file-tree/FileTreeList.js +31 -39
  283. package/es/components/shared/file-tree/FileTreeListItemContent.js +67 -85
  284. package/es/components/shared/file-tree/FileTreeListItemContent.styled.js +29 -40
  285. package/es/components/shared/file-tree/FileTreeListItemContentInput.js +74 -100
  286. package/es/components/shared/file-tree/FileTreeListItemContentInput.styled.js +6 -6
  287. package/es/components/shared/file-tree/FileTreeListItemContentMenu.js +48 -85
  288. package/es/components/shared/file-tree/FileTreeListItems.js +147 -152
  289. package/es/components/shared/file-tree/FileTreeListItems.styled.js +2 -2
  290. package/es/components/shared/file-tree/FileTreeToolbar.js +24 -37
  291. package/es/components/shared/file-tree/FileTreeToolbar.styled.js +1 -1
  292. package/es/components/shared/file-tree/context/FileTreeContext.js +91 -97
  293. package/es/components/shared/file-tree/utils/fileTreeFiles.js +20 -22
  294. package/es/components/shared/file-tree/utils/fileTreeGenerator.js +193 -173
  295. package/es/components/shared/file-tree/utils/fileTreeInput.js +0 -1
  296. package/es/components/shared/file-tree/utils/fileTreeItem.js +1 -1
  297. package/es/components/shared/file-tree/utils/fileTreePath.js +5 -7
  298. package/es/components/shared/file-viewer/FileViewer.js +52 -53
  299. package/es/components/shared/file-viewer/FileViewerCsv.js +141 -99
  300. package/es/components/shared/file-viewer/FileViewerImage.js +3 -6
  301. package/es/components/shared/file-viewer/FileViewerIpynb.js +16 -12
  302. package/es/components/shared/file-viewer/FileViewerNonViewable.js +22 -30
  303. package/es/components/shared/file-viewer/FileViewerText.js +18 -13
  304. package/es/components/shared/material-modal/MaterialModal.js +7 -11
  305. package/es/components/shared/material-modal/MaterialModal.styled.js +5 -5
  306. package/es/components/shared/monaco-editor/MonacoEditor.js +119 -147
  307. package/es/components/shared/monaco-editor/MonacoEditorLazy.js +6 -4
  308. package/es/components/shared/monaco-editor/MonacoEditorMobile.js +45 -56
  309. package/es/components/shared/monaco-editor/MonacoEditorPerferenceForm.js +73 -82
  310. package/es/components/shared/monaco-editor/constants/grammars/index.js +131 -52
  311. package/es/components/shared/monaco-editor/constants/monaco/preferences.js +5 -9
  312. package/es/components/shared/monaco-editor/constants/themes/index.js +80 -32
  313. package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventChange.js +10 -13
  314. package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventCursor.js +14 -18
  315. package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventScroll.js +8 -9
  316. package/es/components/shared/monaco-editor/editor-hooks/useMonacoMarkers.js +54 -72
  317. package/es/components/shared/monaco-editor/editor-hooks/useMonacoOptions.js +14 -15
  318. package/es/components/shared/monaco-editor/editor-hooks/useMonacoTheme.js +8 -9
  319. package/es/components/shared/monaco-editor/editor-languages/css/formatter.js +33 -11
  320. package/es/components/shared/monaco-editor/editor-languages/css/index.js +2 -5
  321. package/es/components/shared/monaco-editor/editor-languages/html/formatter.js +33 -11
  322. package/es/components/shared/monaco-editor/editor-languages/html/index.js +2 -5
  323. package/es/components/shared/monaco-editor/editor-languages/typescript/dts/_helper.js +1 -1
  324. package/es/components/shared/monaco-editor/editor-languages/typescript/dts/express.js +0 -1
  325. package/es/components/shared/monaco-editor/editor-languages/typescript/dts/propTypes.js +0 -1
  326. package/es/components/shared/monaco-editor/editor-languages/typescript/dts/react.js +0 -1
  327. package/es/components/shared/monaco-editor/editor-languages/typescript/formatter.js +33 -11
  328. package/es/components/shared/monaco-editor/editor-languages/typescript/index.js +10 -16
  329. package/es/components/shared/monaco-editor/hooks/useEditorOptions.js +12 -9
  330. package/es/components/shared/monaco-editor/utils/emmet/abbreviationActions.js +18 -28
  331. package/es/components/shared/monaco-editor/utils/emmet/emmet.js +0 -3
  332. package/es/components/shared/monaco-editor/utils/emmet/registerProvider.js +12 -8
  333. package/es/components/shared/monaco-editor/utils/grammar/index.js +67 -31
  334. package/es/components/shared/monaco-editor/utils/grammar/onigasm.js +25 -7
  335. package/es/components/shared/monaco-editor/utils/grammar/textmate.js +67 -43
  336. package/es/components/shared/monaco-editor/utils/monacoLanguage.js +9 -19
  337. package/es/components/shared/monaco-editor/utils/monacoPreference.js +6 -5
  338. package/es/components/shared/monaco-editor/utils/prettier/config.js +2 -3
  339. package/es/components/shared/monaco-editor/utils/prettier/index.js +27 -8
  340. package/es/components/shared/monaco-editor/utils/theme/convert.js +20 -26
  341. package/es/components/shared/monaco-editor/utils/theme/index.js +22 -5
  342. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursor.js +77 -75
  343. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorManager.js +82 -93
  344. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorWidget.js +125 -135
  345. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelection.js +148 -160
  346. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelectionManager.js +104 -118
  347. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/styles.js +2 -2
  348. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/configCompat.js +1 -3
  349. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/data.js +2 -3
  350. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/emmetHelper.js +219 -330
  351. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/utils.js +3 -6
  352. package/es/components/shared/no-vnc/NoVnc.js +89 -88
  353. package/es/components/shared/no-vnc/NoVncLazy.js +4 -2
  354. package/es/components/shared/preview-container/PreviewContainer.js +7 -10
  355. package/es/components/shared/web-browser/WebBrowser.js +49 -56
  356. package/es/components/shared/xterm/Xterm.js +107 -102
  357. package/es/components/shared/xterm/XtermLazy.js +4 -2
  358. package/es/constants/arduino.js +10 -10
  359. package/es/constants/shortcutKeyMap.js +3 -5
  360. package/es/constants/stylesheets.js +7 -10
  361. package/es/hooks/useArduino.js +327 -255
  362. package/es/hooks/useExerciseFile.js +24 -24
  363. package/es/hooks/useExericseShortcut.js +6 -5
  364. package/es/hooks/useMaterialExerciseFileUrl.js +55 -38
  365. package/es/hooks/useRunnerRoomWebSocket.js +58 -56
  366. package/es/hooks/useStdioTextConcator.js +18 -12
  367. package/es/hooks/useStdioWebSocket.js +41 -67
  368. package/es/hooks/useUsercodeEditWebSocket.js +230 -252
  369. package/es/hooks/useUsercodeHistory.js +122 -83
  370. package/es/utils/arduino.js +23 -25
  371. package/es/utils/exerciseFile.js +8 -16
  372. package/es/utils/runner.js +29 -25
  373. package/package.json +8 -8
@@ -1,5 +1,7 @@
1
1
  'use strict';
2
2
 
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
3
5
  var tslib = require('tslib');
4
6
  var React = require('react');
5
7
  var icons = require('@elice/icons');
@@ -10,27 +12,26 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
10
12
 
11
13
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
12
14
 
13
- const EMPTY_CHUNKS = [];
14
-
15
- const FileTab = _a => {
16
- var {
17
- fullname,
18
- chunks = EMPTY_CHUNKS,
19
- filename,
20
- isFilenameDuplicated = false,
21
- active = false,
22
- hovered = false,
23
- onClose
24
- } = _a,
25
- eventListeners = tslib.__rest(_a, ["fullname", "chunks", "filename", "isFilenameDuplicated", "active", "hovered", "onClose"]);
26
-
27
- const tabElRef = React__default["default"].useRef(null); //
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,
28
+ eventListeners = tslib.__rest(_a, ["fullname", "chunks", "filename", "isFilenameDuplicated", "active", "hovered", "onClose"]);
29
+ var tabElRef = React__default["default"].useRef(null);
30
+ //
28
31
  // Scroll into view.
29
32
  //
30
-
31
- React__default["default"].useEffect(() => {
33
+ React__default["default"].useEffect(function () {
32
34
  var _a;
33
-
34
35
  if (active) {
35
36
  (_a = tabElRef.current) === null || _a === void 0 ? void 0 : _a.scrollIntoView({
36
37
  behavior: 'smooth'
@@ -40,9 +41,8 @@ const FileTab = _a => {
40
41
  /**
41
42
  * File icon
42
43
  */
43
-
44
- const renderTabFileIcon = () => {
45
- return React__default["default"].createElement(FileIcon, {
44
+ var renderTabFileIcon = function renderTabFileIcon() {
45
+ return React__default["default"].createElement(FileIcon["default"], {
46
46
  filename: filename,
47
47
  width: "1rem",
48
48
  height: "1rem"
@@ -51,9 +51,7 @@ const FileTab = _a => {
51
51
  /**
52
52
  * File name
53
53
  */
54
-
55
-
56
- const renderTabFileName = () => {
54
+ var renderTabFileName = function renderTabFileName() {
57
55
  return React__default["default"].createElement(FileTab_styled.StyledTabLabelFilename, {
58
56
  size: "tiny",
59
57
  noWrap: true
@@ -62,53 +60,44 @@ const FileTab = _a => {
62
60
  /**
63
61
  * File directory name
64
62
  */
65
-
66
-
67
- const renderTabFileDirName = () => {
63
+ var renderTabFileDirName = function renderTabFileDirName() {
68
64
  if (!isFilenameDuplicated) {
69
65
  return null;
70
66
  }
71
-
72
- const parentDir = chunks.slice().pop();
67
+ var parentDir = chunks.slice().pop();
73
68
  return React__default["default"].createElement(FileTab_styled.StyledTabLabelDirname, {
74
69
  role: "gray5",
75
70
  size: "tiny",
76
71
  noWrap: true
77
- }, parentDir ? `.../${parentDir}` : '/');
72
+ }, parentDir ? ".../".concat(parentDir) : '/');
78
73
  };
79
74
  /**
80
75
  * File
81
76
  */
82
-
83
-
84
- const renderTabFile = () => {
77
+ var renderTabFile = function renderTabFile() {
85
78
  return React__default["default"].createElement(FileTab_styled.StyledTabLabel, null, renderTabFileIcon(), renderTabFileName(), renderTabFileDirName());
86
79
  };
87
80
  /**
88
81
  * Tab close icon
89
82
  */
90
-
91
-
92
- const renderTabCloseButton = () => {
83
+ var renderTabCloseButton = function renderTabCloseButton() {
93
84
  return React__default["default"].createElement(FileTab_styled.StyledTabCloseButton, {
94
85
  icon: icons.eilMathsignMultiplyBasic,
95
86
  role: "gray5",
96
87
  size: "nano",
97
88
  transparent: true,
98
89
  border: false,
99
- onClick: e => {
90
+ onClick: function onClick(e) {
100
91
  e.stopPropagation();
101
-
102
92
  if (typeof onClose === 'function') {
103
93
  onClose();
104
94
  }
105
95
  }
106
96
  });
107
- }; //
97
+ };
98
+ //
108
99
  //
109
100
  //
110
-
111
-
112
101
  return React__default["default"].createElement(FileTab_styled.StyledTab, Object.assign({}, eventListeners, {
113
102
  active: active,
114
103
  hovered: hovered,
@@ -116,10 +105,10 @@ const FileTab = _a => {
116
105
  role: "tab",
117
106
  "aria-label": filename,
118
107
  "aria-selected": active,
119
- title: `~/${fullname}`,
108
+ title: "~/".concat(fullname),
120
109
  tabIndex: -1,
121
110
  ref: tabElRef
122
111
  }), React__default["default"].createElement(FileTab_styled.StyledTabContent, null, renderTabFile(), renderTabCloseButton()), React__default["default"].createElement(FileTab_styled.StyledTabActiveBorder, null));
123
112
  };
124
113
 
125
- module.exports = FileTab;
114
+ exports["default"] = FileTab;
@@ -10,38 +10,42 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
10
10
 
11
11
  var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
12
12
 
13
- const TAB_MIN_WIDTH = '7rem';
14
- const TAB_VERTICAL_BORDER_WIDTH = '1.5px';
15
- const TAB_BACKGROUND_COLOR = designTokens.base.color.navy8;
16
- const TAB_ACTIVE_BACKGROUND_COLOR = designTokens.base.color.navy9;
17
- const TAB_HOVERED_BACKGROUND_COLOR = designTokens.base.color.navy7; // ========== Tab label ==========
18
-
19
- const StyledTabLabel = styled__default["default"].div.withConfig({
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;
18
+ // ========== Tab label ==========
19
+ var StyledTabLabel = styled__default["default"].div.withConfig({
20
20
  componentId: "sc-1pe3776-0"
21
21
  })(["flex:1;display:flex;align-items:center;overflow:hidden;pointer-events:none;user-select:none;& > *{margin-right:0.5rem;}"]);
22
- const StyledTabLabelFilename = styled__default["default"](blocks.Text).withConfig({
22
+ var StyledTabLabelFilename = styled__default["default"](blocks.Text).withConfig({
23
23
  componentId: "sc-1pe3776-1"
24
24
  })(["color:", ";font-weight:500;"], designTokens.base.color.gray4);
25
- const StyledTabLabelDirname = styled__default["default"](blocks.Text).withConfig({
25
+ var StyledTabLabelDirname = styled__default["default"](blocks.Text).withConfig({
26
26
  componentId: "sc-1pe3776-2"
27
27
  })(["font-weight:500;"]);
28
- const StyledTabCloseButton = styled__default["default"](blocks.IconButton).withConfig({
28
+ var StyledTabCloseButton = styled__default["default"](blocks.IconButton).withConfig({
29
29
  componentId: "sc-1pe3776-3"
30
- })(["flex:0 0 auto;margin-right:0.25rem !important;opacity:0;transition:opacity 150ms ease-in-out;"]); // ========== Tab content ==========
31
-
32
- const StyledTabContent = styled__default["default"].div.withConfig({
30
+ })(["flex:0 0 auto;margin-right:0.25rem !important;opacity:0;transition:opacity 150ms ease-in-out;"]);
31
+ // ========== Tab content ==========
32
+ var StyledTabContent = styled__default["default"].div.withConfig({
33
33
  componentId: "sc-1pe3776-4"
34
- })(["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); // ========== Tab active border ==========
35
-
36
- const StyledTabActiveBorder = styled__default["default"].div.withConfig({
34
+ })(["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
+ // ========== Tab active border ==========
36
+ var StyledTabActiveBorder = styled__default["default"].div.withConfig({
37
37
  componentId: "sc-1pe3776-5"
38
- })(["height:", ";background-color:", ";opacity:0;"], TAB_VERTICAL_BORDER_WIDTH, designTokens.base.color.primary5); // ========== Tab ==========
39
-
40
- const cssTabActive = styled.css(["background-color:", ";", "{color:", ";}", "{opacity:1;}", "{opacity:1;}"], TAB_ACTIVE_BACKGROUND_COLOR, StyledTabLabelFilename, designTokens.base.color.gray3, StyledTabCloseButton, StyledTabActiveBorder);
41
- const cssTabHovered = styled.css(["background-color:", ";", "{color:", ";}"], TAB_HOVERED_BACKGROUND_COLOR, StyledTabLabelFilename, designTokens.base.color.gray3);
42
- const StyledTab = styled__default["default"].div.withConfig({
38
+ })(["height:", ";background-color:", ";opacity:0;"], TAB_VERTICAL_BORDER_WIDTH, designTokens.base.color.primary5);
39
+ // ========== 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({
43
43
  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, props => props.active && cssTabActive, props => props.hovered && cssTabHovered);
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
+ });
45
49
 
46
50
  exports.StyledTab = StyledTab;
47
51
  exports.StyledTabActiveBorder = StyledTabActiveBorder;
@@ -1,5 +1,8 @@
1
1
  'use strict';
2
2
 
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _rollupPluginBabelHelpers = require('../../../_virtual/_rollupPluginBabelHelpers.js');
3
6
  var React = require('react');
4
7
  var throttle = require('lodash/throttle');
5
8
  var FileTab = require('./FileTab.js');
@@ -11,103 +14,106 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
11
14
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
12
15
  var throttle__default = /*#__PURE__*/_interopDefaultLegacy(throttle);
13
16
 
14
- const FileTabs = ({
15
- openedTabs,
16
- activeTab,
17
- onSelectTab,
18
- onCloseTab,
19
- onTabOrderChange
20
- }) => {
21
- const [curDraggingTabIndex, setCurDraggingTabIndex] = React__default["default"].useState(null);
22
- const [curHoveredTabIndex, setCurHoveredTabIndex] = React__default["default"].useState(null);
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];
23
31
  /**
24
32
  * Tab props.
25
33
  */
26
-
27
- const tabs = React__default["default"].useMemo(() => util.getTabProps(openedTabs), [openedTabs]);
34
+ var tabs = React__default["default"].useMemo(function () {
35
+ return util.getTabProps(openedTabs);
36
+ }, [openedTabs]);
28
37
  /**
29
38
  * Reset state.
30
39
  */
31
-
32
- const reset = () => {
40
+ var reset = function reset() {
33
41
  setCurDraggingTabIndex(null);
34
42
  setCurHoveredTabIndex(null);
35
43
  };
36
44
  /**
37
45
  * Throttled `setCurHoveredTabIndex`.
38
46
  */
39
-
40
-
41
- const setThrottledCurHoveredTabIndex = React__default["default"].useCallback(throttle__default["default"](setCurHoveredTabIndex, 100, {
47
+ var setThrottledCurHoveredTabIndex = React__default["default"].useCallback(throttle__default["default"](setCurHoveredTabIndex, 100, {
42
48
  leading: true,
43
49
  trailing: false
44
50
  }), []);
45
51
  /**
46
52
  * Handle tab drag start.
47
53
  */
48
-
49
- const getTabDragStartHandler = React__default["default"].useCallback(index => _ => {
50
- setCurDraggingTabIndex(index);
54
+ var getTabDragStartHandler = React__default["default"].useCallback(function (index) {
55
+ return function (_) {
56
+ setCurDraggingTabIndex(index);
57
+ };
51
58
  }, []);
52
59
  /**
53
60
  * Handle tab drag over.
54
61
  */
55
-
56
- const getTabDragOverHandler = React__default["default"].useCallback(index => e => {
57
- e.preventDefault();
58
- e.stopPropagation();
59
- setThrottledCurHoveredTabIndex(index);
62
+ var getTabDragOverHandler = React__default["default"].useCallback(function (index) {
63
+ return function (e) {
64
+ e.preventDefault();
65
+ e.stopPropagation();
66
+ setThrottledCurHoveredTabIndex(index);
67
+ };
60
68
  }, [setThrottledCurHoveredTabIndex]);
61
69
  /**
62
70
  * Handle tab drop.
63
71
  */
64
-
65
- const handleTabDrop = e => {
72
+ var handleTabDrop = function handleTabDrop(e) {
66
73
  e.preventDefault();
67
74
  e.stopPropagation();
68
-
69
75
  if (curDraggingTabIndex !== null && curHoveredTabIndex !== null && typeof onTabOrderChange === 'function') {
70
76
  onTabOrderChange(curDraggingTabIndex, curHoveredTabIndex);
71
77
  }
72
-
73
78
  reset();
74
79
  };
75
80
  /**
76
81
  * Tabs.
77
82
  */
78
-
79
-
80
- const renderTabs = () => {
81
- return tabs.map((tab, index) => React__default["default"].createElement(FileTab, Object.assign({}, tab, {
82
- key: tab.fullname,
83
- active: activeTab === tab.fullname,
84
- hovered: curHoveredTabIndex === index,
85
- onClick: () => onSelectTab(tab.fullname),
86
- onClose: () => onCloseTab(tab.fullname),
87
- onDragStart: getTabDragStartHandler(index),
88
- onDragOver: getTabDragOverHandler(index),
89
- onDragEnd: reset,
90
- onDrop: handleTabDrop
91
- })));
83
+ var renderTabs = function renderTabs() {
84
+ return tabs.map(function (tab, index) {
85
+ return React__default["default"].createElement(FileTab["default"], Object.assign({}, tab, {
86
+ key: tab.fullname,
87
+ active: activeTab === tab.fullname,
88
+ hovered: curHoveredTabIndex === index,
89
+ onClick: function onClick() {
90
+ return onSelectTab(tab.fullname);
91
+ },
92
+ onClose: function onClose() {
93
+ return onCloseTab(tab.fullname);
94
+ },
95
+ onDragStart: getTabDragStartHandler(index),
96
+ onDragOver: getTabDragOverHandler(index),
97
+ onDragEnd: reset,
98
+ onDrop: handleTabDrop
99
+ }));
100
+ });
92
101
  };
93
102
  /**
94
103
  * Tab drop zone.
95
104
  */
96
-
97
-
98
- const renderTabsDropZone = () => {
105
+ var renderTabsDropZone = function renderTabsDropZone() {
99
106
  return React__default["default"].createElement(FileTabs_styled.StyledTabsDropZone, {
100
107
  onDragOver: getTabDragOverHandler(tabs.length - 1),
101
108
  onDrop: handleTabDrop
102
109
  });
103
- }; //
110
+ };
111
+ //
104
112
  //
105
113
  //
106
-
107
-
108
114
  return React__default["default"].createElement(FileTabs_styled.StyledTabs, {
109
115
  role: "tablist"
110
116
  }, renderTabs(), renderTabsDropZone());
111
117
  };
112
118
 
113
- module.exports = FileTabs;
119
+ exports["default"] = FileTabs;
@@ -10,14 +10,14 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
10
10
 
11
11
  var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
12
12
 
13
- const StyledTabs = styled__default["default"].div.withConfig({
13
+ var StyledTabs = styled__default["default"].div.withConfig({
14
14
  componentId: "sc-ifwvzh-0"
15
15
  })(["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
16
  height: '2px',
17
17
  borderRadius: '2px',
18
18
  hideable: true
19
19
  }));
20
- const StyledTabsDropZone = styled__default["default"].div.withConfig({
20
+ var StyledTabsDropZone = styled__default["default"].div.withConfig({
21
21
  componentId: "sc-ifwvzh-1"
22
22
  })(["flex:1;height:100%;background-color:transparent;"]);
23
23
 
@@ -2,29 +2,40 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ var _rollupPluginBabelHelpers = require('../../../_virtual/_rollupPluginBabelHelpers.js');
6
+
5
7
  /**
6
8
  * Get file tab props.
7
9
  */
8
10
  function getTabProps(paths) {
9
- const tabs = []; // parse file paths
10
-
11
- for (const path of paths) {
12
- const chunks = path.split('/');
13
- const filename = chunks.pop();
14
-
15
- if (filename) {
16
- tabs.push({
17
- fullname: path,
18
- chunks,
19
- filename,
20
- isFilenameDuplicated: false
21
- });
11
+ var tabs = [];
12
+ // 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
+ }
22
28
  }
23
- } // check filename duplication
24
-
25
-
26
- tabs.forEach(thisTab => {
27
- thisTab.isFilenameDuplicated = tabs.filter(thatTab => thisTab.filename === thatTab.filename).length > 1;
29
+ // check filename duplication
30
+ } catch (err) {
31
+ _iterator.e(err);
32
+ } finally {
33
+ _iterator.f();
34
+ }
35
+ tabs.forEach(function (thisTab) {
36
+ thisTab.isFilenameDuplicated = tabs.filter(function (thatTab) {
37
+ return thisTab.filename === thatTab.filename;
38
+ }).length > 1;
28
39
  });
29
40
  return tabs;
30
41
  }
@@ -1,5 +1,7 @@
1
1
  'use strict';
2
2
 
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
3
5
  var React = require('react');
4
6
  var blocks = require('@elice/blocks');
5
7
  var designTokens = require('@elice/design-tokens');
@@ -17,29 +19,27 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
17
19
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
18
20
  var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
19
21
 
20
- const StyledFileTreeWrapper = styled__default["default"].div.withConfig({
22
+ var StyledFileTreeWrapper = styled__default["default"].div.withConfig({
21
23
  componentId: "sc-6ext2i-0"
22
24
  })(["display:flex;flex-direction:column;user-select:none;overflow:hidden;"]);
23
- const StyledLoading = styled__default["default"].div.withConfig({
25
+ var StyledLoading = styled__default["default"].div.withConfig({
24
26
  componentId: "sc-6ext2i-1"
25
27
  })(["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);
26
-
27
- const FileTree = props => {
28
+ var FileTree = function FileTree(props) {
28
29
  return React__default["default"].createElement(materialSharedUtils.MaterialIntlProvider, {
29
30
  locale: props.locale,
30
31
  phrases: {
31
- en: en,
32
- ko: ko
32
+ en: en["default"],
33
+ ko: ko["default"]
33
34
  }
34
35
  }, React__default["default"].createElement(FileTreeContext.FileTreeProvider, Object.assign({}, props), React__default["default"].createElement(StyledFileTreeWrapper, {
35
36
  style: props.style
36
37
  }, props.loading ? React__default["default"].createElement(StyledLoading, null, React__default["default"].createElement(blocks.Spinner, null)) : null, props.children)));
37
38
  };
38
-
39
39
  var FileTree$1 = Object.assign(FileTree, {
40
- Toolbar: FileTreeToolbar,
41
- List: FileTreeList,
42
- Config: FileTreeConfig
40
+ Toolbar: FileTreeToolbar["default"],
41
+ List: FileTreeList["default"],
42
+ Config: FileTreeConfig["default"]
43
43
  });
44
44
 
45
- module.exports = FileTree$1;
45
+ exports["default"] = FileTree$1;
@@ -1,5 +1,7 @@
1
1
  'use strict';
2
2
 
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
3
5
  var React = require('react');
4
6
  var blocks = require('@elice/blocks');
5
7
  var designTokens = require('@elice/design-tokens');
@@ -13,26 +15,23 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
13
15
  var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
14
16
  var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
15
17
 
16
- const StyledFileTreeConfig = styled__default["default"].div.withConfig({
18
+ var StyledFileTreeConfig = styled__default["default"].div.withConfig({
17
19
  componentId: "sc-1dxe3z0-0"
18
20
  })(["background-color:", ";padding:1rem;"], designTokens.base.color.navy8);
19
- const FileTreeConfig = React.forwardRef(({
20
- className,
21
- style,
22
- onInitialOpenFileListChange,
23
- initialOpenFilelist
24
- }, ref) => {
25
- const {
26
- mode,
27
- initialOpenFileListTemp
28
- } = FileTreeContext.useFileTreeState();
29
- const {
30
- dispatch
31
- } = FileTreeContext.useFileTreeDispatch();
32
- React__default["default"].useEffect(() => {
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 () {
33
32
  dispatch({
34
33
  type: 'INITIAL_OPEN_FILELIST_UPDATE',
35
- initialOpenFilelist
34
+ initialOpenFilelist: initialOpenFilelist
36
35
  });
37
36
  }, [dispatch, initialOpenFilelist]);
38
37
  return React__default["default"].createElement(StyledFileTreeConfig, {
@@ -44,21 +43,23 @@ const FileTreeConfig = React.forwardRef(({
44
43
  size: "small",
45
44
  role: "white",
46
45
  transparent: true,
47
- onClick: () => {
48
- if ([// when mode changes from 'checkbox' to 'default'
49
- mode === 'checkbox', // when some value of initial open filelist changes'
50
- JSON.stringify(initialOpenFilelist.sort()) !== JSON.stringify(initialOpenFileListTemp.sort()), // when onInitialOpenFileListChange is function'
46
+ onClick: function onClick() {
47
+ if ([
48
+ // when mode changes from 'checkbox' to 'default'
49
+ mode === 'checkbox',
50
+ // when some value of initial open filelist changes'
51
+ JSON.stringify(initialOpenFilelist.sort()) !== JSON.stringify(initialOpenFileListTemp.sort()),
52
+ // when onInitialOpenFileListChange is function'
51
53
  typeof onInitialOpenFileListChange === 'function'].every(Boolean)) {
52
54
  onInitialOpenFileListChange(initialOpenFileListTemp);
53
55
  }
54
-
55
56
  dispatch({
56
57
  type: 'UPDATE_MODE',
57
58
  mode: mode === 'checkbox' ? 'default' : 'checkbox'
58
59
  });
59
60
  }
60
- }, mode === 'default' ? `Initial Open Files(${initialOpenFileListTemp.length})` : `Settings (${initialOpenFileListTemp.length})`));
61
+ }, mode === 'default' ? "Initial Open Files(".concat(initialOpenFileListTemp.length, ")") : "Settings (".concat(initialOpenFileListTemp.length, ")")));
61
62
  });
62
63
  var FileTreeConfig$1 = FileTreeConfig;
63
64
 
64
- module.exports = FileTreeConfig$1;
65
+ exports["default"] = FileTreeConfig$1;