@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 React = require('react');
4
6
  var apiClient = require('@elice/api-client');
5
7
  var blocks = require('@elice/blocks');
@@ -30,83 +32,67 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
30
32
 
31
33
  //
32
34
  //
33
-
35
+ //
34
36
  /**
35
37
  * Material exercise.
36
38
  */
37
-
38
- const MaterialExercise = React.forwardRef((props, ref) => {
39
- const _api = React__default["default"].useRef({});
40
-
41
- const {
42
- width,
43
- height
44
- } = recoil.useRecoilValue(recoil$1.exerciseContainerSizeState);
45
- const exercise = recoil.useRecoilValue(recoil$1.exerciseState(props.materialExerciseId));
46
- const exerciseFileTreeOpened = recoil.useRecoilValue(recoil$1.exerciseFileTreeOpenedState);
47
- const exercisePreviewType = recoil.useRecoilValue(recoil$1.exercisePreviewTypeState(props.materialExerciseId));
48
- const exercisePreviewDisplayMode = recoil.useRecoilValue(recoil$1.exercisePreviewDisplayModeState);
39
+ var MaterialExercise = React.forwardRef(function (props, ref) {
40
+ var _api = React__default["default"].useRef({});
41
+ var _useRecoilValue = recoil.useRecoilValue(recoil$1.exerciseContainerSizeState),
42
+ width = _useRecoilValue.width,
43
+ height = _useRecoilValue.height;
44
+ var exercise = recoil.useRecoilValue(recoil$1.exerciseState(props.materialExerciseId));
45
+ var exerciseFileTreeOpened = recoil.useRecoilValue(recoil$1.exerciseFileTreeOpenedState);
46
+ var exercisePreviewType = recoil.useRecoilValue(recoil$1.exercisePreviewTypeState(props.materialExerciseId));
47
+ var exercisePreviewDisplayMode = recoil.useRecoilValue(recoil$1.exercisePreviewDisplayModeState);
49
48
  /**
50
49
  * File tree
51
50
  */
52
-
53
- const renderExerciseFileTree = () => {
51
+ var renderExerciseFileTree = function renderExerciseFileTree() {
54
52
  return React__default["default"].createElement(MaterialExercise_styled.StyledxerciseFileTreeContaner, {
55
53
  "aria-hidden": !exerciseFileTreeOpened
56
54
  }, React__default["default"].createElement(blocks.ResizableNext, Object.assign({}, stylesheets.MATERIAL_RESIZABLE_COMMON_PROPS, {
57
55
  initialWidth: Math.max(MaterialExercise_styled.EXERCISE_FILE_TREE_MIN_WIDTH, width * MaterialExercise_styled.EXERCISE_HORIZONTAL_RATIO.FILETREE),
58
56
  minConstraints: [MaterialExercise_styled.EXERCISE_FILE_TREE_MIN_WIDTH, Infinity],
59
57
  resizeHandles: ['e']
60
- }), React__default["default"].createElement(MaterialExercise_styled.StyledExerciseFileTreeWrap, null, React__default["default"].createElement(ExerciseFileTreeLazy, null))));
58
+ }), React__default["default"].createElement(MaterialExercise_styled.StyledExerciseFileTreeWrap, null, React__default["default"].createElement(ExerciseFileTreeLazy["default"], null))));
61
59
  };
62
60
  /**
63
61
  * File tree toggle button
64
62
  */
65
-
66
-
67
- const renderExerciseFileTreeButton = () => {
68
- return React__default["default"].createElement(ExerciseFileTabsFileTreeButton, null);
63
+ var renderExerciseFileTreeButton = function renderExerciseFileTreeButton() {
64
+ return React__default["default"].createElement(ExerciseFileTabsFileTreeButton["default"], null);
69
65
  };
70
66
  /**
71
67
  * File tabs
72
68
  */
73
-
74
-
75
- const renderExerciseFileTabs = () => {
76
- return React__default["default"].createElement(MaterialExercise_styled.StyledExerciseTabsWrap, null, React__default["default"].createElement(ExerciseFileTabsLazy, null));
69
+ var renderExerciseFileTabs = function renderExerciseFileTabs() {
70
+ return React__default["default"].createElement(MaterialExercise_styled.StyledExerciseTabsWrap, null, React__default["default"].createElement(ExerciseFileTabsLazy["default"], null));
77
71
  };
78
72
  /**
79
73
  * Menu
80
74
  */
81
-
82
-
83
- const renderExerciseMenu = () => {
84
- return React__default["default"].createElement(MaterialExercise_styled.StyledExerciseTabMenuWrap, null, React__default["default"].createElement(ExerciseMultilangDropdownLazy, null), React__default["default"].createElement(ExerciseMenu, null));
75
+ var renderExerciseMenu = function renderExerciseMenu() {
76
+ return React__default["default"].createElement(MaterialExercise_styled.StyledExerciseTabMenuWrap, null, React__default["default"].createElement(ExerciseMultilangDropdownLazy["default"], null), React__default["default"].createElement(ExerciseMenu["default"], null));
85
77
  };
86
78
  /**
87
79
  * Code editor and file viewer
88
80
  */
89
-
90
-
91
- const renderExerciseFile = () => {
92
- return React__default["default"].createElement(MaterialExercise_styled.StyledExerciseFileWrap, null, React__default["default"].createElement(ExerciseFile, null));
81
+ var renderExerciseFile = function renderExerciseFile() {
82
+ return React__default["default"].createElement(MaterialExercise_styled.StyledExerciseFileWrap, null, React__default["default"].createElement(ExerciseFile["default"], null));
93
83
  };
94
84
  /**
95
85
  * Exercise preview (side by side)
96
86
  */
97
-
98
-
99
- const renderExercisePreviewSideBySide = () => {
87
+ var renderExercisePreviewSideBySide = function renderExercisePreviewSideBySide() {
100
88
  if (exercisePreviewType === recoilTypes.ExercisePreviewType.None) {
101
89
  return null;
102
90
  }
103
-
104
91
  if (exercisePreviewDisplayMode !== recoilTypes.ExercisePreviewDisplayMode.SideBySide) {
105
92
  return null;
106
93
  }
107
-
108
94
  return React__default["default"].createElement(blocks.ResizableNext, Object.assign({}, stylesheets.MATERIAL_RESIZABLE_COMMON_PROPS, {
109
- children: React__default["default"].createElement(ExercisePreview, null),
95
+ children: React__default["default"].createElement(ExercisePreview["default"], null),
110
96
  initialWidth: Math.max(MaterialExercise_styled.EXERCISE_PREVIEW_MIN_WIDTH, width * MaterialExercise_styled.EXERCISE_HORIZONTAL_RATIO.PREVIEW),
111
97
  minConstraints: [MaterialExercise_styled.EXERCISE_PREVIEW_MIN_WIDTH, Infinity],
112
98
  resizeHandles: ['w']
@@ -115,56 +101,51 @@ const MaterialExercise = React.forwardRef((props, ref) => {
115
101
  /**
116
102
  * Exercise main
117
103
  */
118
-
119
-
120
- const renderExerciseMain = () => {
104
+ var renderExerciseMain = function renderExerciseMain() {
121
105
  if (exercise === null || exercise === void 0 ? void 0 : exercise.uiConfig.isEditorDisabled) {
122
106
  return null;
123
107
  }
124
-
125
- return React__default["default"].createElement(MaterialExercise_styled.StyledExerciseMain, null, renderExerciseFileTree(), React__default["default"].createElement(MaterialExercise_styled.StyledExerciseFileAndTabWrap, null, React__default["default"].createElement(MaterialExercise_styled.StyledExerciseTabBar, null, renderExerciseFileTreeButton(), renderExerciseFileTabs(), renderExerciseMenu()), renderExerciseFile()), React__default["default"].createElement(ExerciseRightpane, null));
108
+ return React__default["default"].createElement(MaterialExercise_styled.StyledExerciseMain, null, renderExerciseFileTree(), React__default["default"].createElement(MaterialExercise_styled.StyledExerciseFileAndTabWrap, null, React__default["default"].createElement(MaterialExercise_styled.StyledExerciseTabBar, null, renderExerciseFileTreeButton(), renderExerciseFileTabs(), renderExerciseMenu()), renderExerciseFile()), React__default["default"].createElement(ExerciseRightpane["default"], null));
126
109
  };
127
110
  /**
128
111
  * Exercise Runner
129
112
  */
130
-
131
-
132
- const renderExerciseRunner = () => {
133
- const _runner = React__default["default"].createElement(MaterialExercise_styled.StyledExerciseRunnerWrap, null, React__default["default"].createElement(ExerciseRunner, {
134
- exercisePreview: React__default["default"].createElement(ExercisePreview, null)
113
+ var renderExerciseRunner = function renderExerciseRunner() {
114
+ var _runner = React__default["default"].createElement(MaterialExercise_styled.StyledExerciseRunnerWrap, null, React__default["default"].createElement(ExerciseRunner["default"], {
115
+ exercisePreview: React__default["default"].createElement(ExercisePreview["default"], null)
135
116
  }));
136
-
137
117
  if (exercise === null || exercise === void 0 ? void 0 : exercise.uiConfig.isEditorDisabled) {
138
118
  return _runner;
139
119
  }
140
-
141
120
  return React__default["default"].createElement(blocks.ResizableNext, Object.assign({}, stylesheets.MATERIAL_RESIZABLE_COMMON_PROPS, {
142
121
  initialHeight: Math.max(MaterialExercise_styled.EXERCISE_RUNNER_MIN_HEIGHT, height * 0.35),
143
122
  minConstraints: [Infinity, MaterialExercise_styled.EXERCISE_RUNNER_MIN_HEIGHT],
144
123
  resizeHandles: ['n']
145
124
  }), _runner);
146
- }; //
125
+ };
147
126
  //
148
127
  //
149
-
150
-
151
- _api.current.sendTextToRunner = text => {
128
+ //
129
+ _api.current.sendTextToRunner = function (text) {
152
130
  subjects.exerciseRunnerTextSend$.next(text);
153
131
  };
154
-
155
- React__default["default"].useImperativeHandle(ref, () => _api.current); //
132
+ React__default["default"].useImperativeHandle(ref, function () {
133
+ return _api.current;
134
+ });
135
+ //
156
136
  //
157
137
  //
158
-
159
138
  return React__default["default"].createElement(React__default["default"].Fragment, null, React__default["default"].createElement(MaterialExercise_styled.StyledExerciseContainer, null, renderExerciseMain(), renderExerciseRunner()), renderExercisePreviewSideBySide());
160
- }); //
139
+ });
161
140
  //
162
141
  //
163
-
164
- var MaterialExercise$1 = materialSharedUtils.withForwardRefMaterial(React.forwardRef((props, ref) => React__default["default"].createElement(ExerciseProvider, Object.assign({}, props), React__default["default"].createElement(MaterialExercise, Object.assign({}, props, {
165
- ref: ref
166
- })))), apiClient.config.init, {
142
+ //
143
+ var MaterialExercise$1 = materialSharedUtils.withForwardRefMaterial(React.forwardRef(function (props, ref) {
144
+ return React__default["default"].createElement(ExerciseProvider["default"], Object.assign({}, props), React__default["default"].createElement(MaterialExercise, Object.assign({}, props, {
145
+ ref: ref
146
+ })));
147
+ }), apiClient.config.init, {
167
148
  overrideRecoilScope: true
168
149
  });
169
150
 
170
- module.exports = MaterialExercise$1;
151
+ exports["default"] = MaterialExercise$1;
@@ -10,10 +10,10 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
10
10
 
11
11
  var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
12
12
 
13
- const EXERCISE_FILE_TREE_MIN_WIDTH = 128;
14
- const EXERCISE_PREVIEW_MIN_WIDTH = 128;
15
- const EXERCISE_RUNNER_MIN_HEIGHT = 128;
16
- const EXERCISE_HORIZONTAL_RATIO = {
13
+ var EXERCISE_FILE_TREE_MIN_WIDTH = 128;
14
+ var EXERCISE_PREVIEW_MIN_WIDTH = 128;
15
+ var EXERCISE_RUNNER_MIN_HEIGHT = 128;
16
+ var EXERCISE_HORIZONTAL_RATIO = {
17
17
  FILETREE: 0.15,
18
18
  EDITOR: 0.45,
19
19
  PREVIEW: 0.4
@@ -25,8 +25,7 @@ const EXERCISE_HORIZONTAL_RATIO = {
25
25
  * - File (Editor)
26
26
  * - Runner
27
27
  */
28
-
29
- const StyledExerciseContainer = styled__default["default"].div.withConfig({
28
+ var StyledExerciseContainer = styled__default["default"].div.withConfig({
30
29
  componentId: "sc-9joi7g-0"
31
30
  })(["flex:1;display:flex;flex-direction:column;height:100%;min-width:0;min-height:0;"]);
32
31
  /**
@@ -35,8 +34,7 @@ const StyledExerciseContainer = styled__default["default"].div.withConfig({
35
34
  * - FileTabs
36
35
  * - File (Editor)
37
36
  */
38
-
39
- const StyledExerciseMain = styled__default["default"].div.withConfig({
37
+ var StyledExerciseMain = styled__default["default"].div.withConfig({
40
38
  componentId: "sc-9joi7g-1"
41
39
  })(["flex:1;display:flex;width:100%;min-width:0;min-height:0;"]);
42
40
  /**
@@ -44,32 +42,31 @@ const StyledExerciseMain = styled__default["default"].div.withConfig({
44
42
  * - FileTabs
45
43
  * - File (Editor)
46
44
  */
47
-
48
- const StyledExerciseFileAndTabWrap = styled__default["default"].div.withConfig({
45
+ var StyledExerciseFileAndTabWrap = styled__default["default"].div.withConfig({
49
46
  componentId: "sc-9joi7g-2"
50
47
  })(["flex:1;display:flex;flex-direction:column;height:100%;min-width:0;min-height:0;background-color:", ";"], designTokens.base.color.navy9);
51
- const StyledExerciseFileWrap = styled__default["default"].div.withConfig({
48
+ var StyledExerciseFileWrap = styled__default["default"].div.withConfig({
52
49
  componentId: "sc-9joi7g-3"
53
- })(["flex:1;min-height:0;"]); // ========== Exercise FileTab ==========
54
-
55
- const StyledExerciseTabBar = styled__default["default"].div.withConfig({
50
+ })(["flex:1;min-height:0;"]);
51
+ // ========== Exercise FileTab ==========
52
+ var StyledExerciseTabBar = styled__default["default"].div.withConfig({
56
53
  componentId: "sc-9joi7g-4"
57
54
  })(["display:flex;border-bottom:", ";"], stylesheets.MATERIAL_DIVIDER_BORDER_VALUE);
58
- const StyledExerciseTabsWrap = styled__default["default"].div.withConfig({
55
+ var StyledExerciseTabsWrap = styled__default["default"].div.withConfig({
59
56
  componentId: "sc-9joi7g-5"
60
57
  })(["flex:1;min-width:0;"]);
61
- const StyledExerciseTabMenuWrap = styled__default["default"].div.withConfig({
58
+ var StyledExerciseTabMenuWrap = styled__default["default"].div.withConfig({
62
59
  componentId: "sc-9joi7g-6"
63
- })(["display:flex;justify-content:center;align-items:center;padding:0 0.5rem 0 1rem;background-color:", ";"], designTokens.base.color.navy8); // ========== Exercise FileTree ==========
64
-
65
- const StyledExerciseFileTreeWrap = styled__default["default"].div.withConfig({
60
+ })(["display:flex;justify-content:center;align-items:center;padding:0 0.5rem 0 1rem;background-color:", ";"], designTokens.base.color.navy8);
61
+ // ========== Exercise FileTree ==========
62
+ var StyledExerciseFileTreeWrap = styled__default["default"].div.withConfig({
66
63
  componentId: "sc-9joi7g-7"
67
64
  })(["flex:1;display:flex;flex-direction:column;min-width:0;height:100%;border-right:", ";"], stylesheets.MATERIAL_DIVIDER_BORDER_VALUE);
68
- const StyledxerciseFileTreeContaner = styled__default["default"].div.withConfig({
65
+ var StyledxerciseFileTreeContaner = styled__default["default"].div.withConfig({
69
66
  componentId: "sc-9joi7g-8"
70
- })(["display:flex;height:100%;max-width:auto;&[aria-hidden='true']{max-width:0;overflow:hidden;}"]); // ========== Exercise Runner ==========
71
-
72
- const StyledExerciseRunnerWrap = styled__default["default"].div.withConfig({
67
+ })(["display:flex;height:100%;max-width:auto;&[aria-hidden='true']{max-width:0;overflow:hidden;}"]);
68
+ // ========== Exercise Runner ==========
69
+ var StyledExerciseRunnerWrap = styled__default["default"].div.withConfig({
73
70
  componentId: "sc-9joi7g-9"
74
71
  })(["width:100%;height:100%;border-top:", ";"], stylesheets.MATERIAL_DIVIDER_BORDER_VALUE);
75
72
 
@@ -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 apiClient = require('@elice/api-client');
5
7
  var materialSharedUtils = require('@elice/material-shared-utils');
@@ -17,28 +19,30 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
17
19
 
18
20
  //
19
21
  //
20
-
22
+ //
21
23
  /**
22
24
  * Material exercise.
23
25
  */
24
-
25
- const MaterialExerciseMobile = ({
26
- filename
27
- }) => {
28
- const setExerciseActiveFilename = recoil.useSetRecoilState(recoil$1.exerciseActiveFilenameState);
29
- React__default["default"].useEffect(() => setExerciseActiveFilename(filename), // eslint-disable-next-line react-hooks/exhaustive-deps
30
- [filename]); //
26
+ var MaterialExerciseMobile = function MaterialExerciseMobile(_ref) {
27
+ var filename = _ref.filename;
28
+ var setExerciseActiveFilename = recoil.useSetRecoilState(recoil$1.exerciseActiveFilenameState);
29
+ React__default["default"].useEffect(function () {
30
+ return setExerciseActiveFilename(filename);
31
+ },
32
+ // eslint-disable-next-line react-hooks/exhaustive-deps
33
+ [filename]);
31
34
  //
32
35
  //
33
-
34
- return React__default["default"].createElement(ExerciseFile, null);
35
- }; //
36
+ //
37
+ return React__default["default"].createElement(ExerciseFile["default"], null);
38
+ };
36
39
  //
37
40
  //
38
-
39
-
40
- var MaterialExerciseMobile$1 = materialSharedUtils.withMaterial(props => React__default["default"].createElement(ExerciseProvider, Object.assign({}, props), React__default["default"].createElement(MaterialExerciseMobile, Object.assign({}, props))), apiClient.config.init, {
41
+ //
42
+ var MaterialExerciseMobile$1 = materialSharedUtils.withMaterial(function (props) {
43
+ return React__default["default"].createElement(ExerciseProvider["default"], Object.assign({}, props), React__default["default"].createElement(MaterialExerciseMobile, Object.assign({}, props)));
44
+ }, apiClient.config.init, {
41
45
  overrideRecoilScope: true
42
46
  });
43
47
 
44
- module.exports = MaterialExerciseMobile$1;
48
+ exports["default"] = MaterialExerciseMobile$1;
@@ -12,16 +12,14 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
12
12
 
13
13
  //
14
14
  //
15
-
15
+ //
16
16
  /**
17
17
  *
18
18
  */
19
-
20
- const withExerciseIntlProvider = (Component, phrases) => {
21
- return props => {
22
- const {
23
- locale
24
- } = React.useContext(context.ExerciseContext);
19
+ var withExerciseIntlProvider = function withExerciseIntlProvider(Component, phrases) {
20
+ return function (props) {
21
+ var _useContext = React.useContext(context.ExerciseContext),
22
+ locale = _useContext.locale;
25
23
  return React__default["default"].createElement(materialSharedUtils.MaterialIntlProvider, {
26
24
  children: React__default["default"].createElement(Component, Object.assign({}, props)),
27
25
  locale: locale,
@@ -32,12 +30,10 @@ const withExerciseIntlProvider = (Component, phrases) => {
32
30
  /**
33
31
  *
34
32
  */
35
-
36
- const withForwardRefExerciseIntlProvider = (Component, phrases) => {
37
- return React.forwardRef((props, ref) => {
38
- const {
39
- locale
40
- } = React.useContext(context.ExerciseContext);
33
+ var withForwardRefExerciseIntlProvider = function withForwardRefExerciseIntlProvider(Component, phrases) {
34
+ return React.forwardRef(function (props, ref) {
35
+ var _useContext2 = React.useContext(context.ExerciseContext),
36
+ locale = _useContext2.locale;
41
37
  return React__default["default"].createElement(materialSharedUtils.MaterialIntlProvider, {
42
38
  children: React__default["default"].createElement(Component, Object.assign({}, props, {
43
39
  ref: ref
@@ -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 tslib = require('tslib');
4
7
  var React = require('react');
5
8
  var reactUse = require('react-use');
@@ -16,8 +19,8 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
16
19
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
17
20
  var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
18
21
 
19
- const RECOIL_RESET_DELAY = 10;
20
- const StyledMaterialExercise = styled__default["default"].div.withConfig({
22
+ var RECOIL_RESET_DELAY = 10;
23
+ var StyledMaterialExercise = styled__default["default"].div.withConfig({
21
24
  componentId: "sc-pj5yv2-0"
22
25
  })(["display:flex;width:100%;height:100%;.eb-resizable{height:inherit;}"]);
23
26
  /**
@@ -26,113 +29,114 @@ const StyledMaterialExercise = styled__default["default"].div.withConfig({
26
29
  * - fetching exercise room
27
30
  * - fetching exercise room id
28
31
  */
29
-
30
- const ExerciseProvider = _a => {
31
- var {
32
- children,
33
- materialExerciseId,
34
- exerciseRoomId,
35
- exerciseRoomUserId,
36
- onDefaultExerciseRoomIdSet,
37
- exerciseImageEmptyOptions
38
- } = _a,
39
- contextProps = tslib.__rest(_a, ["children", "materialExerciseId", "exerciseRoomId", "exerciseRoomUserId", "onDefaultExerciseRoomIdSet", "exerciseImageEmptyOptions"]); // user
40
-
41
-
42
- const user = recoil.useRecoilValue(recoil$1.exerciseUserState); // exercise
43
-
44
- const exercise = recoil.useRecoilValue(recoil$1.exerciseState(materialExerciseId));
45
- const exerciseRoom = recoil.useRecoilValue(recoil$1.exerciseRoomState(exerciseRoomId)); // lecture
46
-
47
- const lecture = recoil.useRecoilValue(recoil$1.exerciseLectureState(exercise === null || exercise === void 0 ? void 0 : exercise._lectureId));
48
- const resetLecture = recoil.useResetRecoilState(recoil$1.exerciseLectureState(exercise === null || exercise === void 0 ? void 0 : exercise._lectureId)); // multilang languages
49
-
50
- const exerciseMultilangLanguages = recoil.useRecoilValue(recoil$1.exerciseMultilangLanguagesState(exercise === null || exercise === void 0 ? void 0 : exercise.id));
51
- const resetExerciseMultilangLanguages = recoil.useResetRecoilState(recoil$1.exerciseMultilangLanguagesState(exercise === null || exercise === void 0 ? void 0 : exercise.id)); // etc
52
-
53
- const activeFilename = recoil.useRecoilValue(recoil$1.exerciseActiveFilenameState);
54
- const setConatinerSize = recoil.useSetRecoilState(recoil$1.exerciseContainerSizeState); // wrap container size
55
-
56
- const [wrapElRef, {
57
- width,
58
- height
59
- }] = reactUse.useMeasure(); //
32
+ var ExerciseProvider = function ExerciseProvider(_a) {
33
+ var children = _a.children,
34
+ materialExerciseId = _a.materialExerciseId,
35
+ exerciseRoomId = _a.exerciseRoomId,
36
+ exerciseRoomUserId = _a.exerciseRoomUserId,
37
+ onDefaultExerciseRoomIdSet = _a.onDefaultExerciseRoomIdSet,
38
+ exerciseImageEmptyOptions = _a.exerciseImageEmptyOptions,
39
+ contextProps = tslib.__rest(_a, ["children", "materialExerciseId", "exerciseRoomId", "exerciseRoomUserId", "onDefaultExerciseRoomIdSet", "exerciseImageEmptyOptions"]);
40
+ // user
41
+ var user = recoil.useRecoilValue(recoil$1.exerciseUserState);
42
+ // exercise
43
+ var exercise = recoil.useRecoilValue(recoil$1.exerciseState(materialExerciseId));
44
+ var exerciseRoom = recoil.useRecoilValue(recoil$1.exerciseRoomState(exerciseRoomId));
45
+ // lecture
46
+ var lecture = recoil.useRecoilValue(recoil$1.exerciseLectureState(exercise === null || exercise === void 0 ? void 0 : exercise._lectureId));
47
+ var resetLecture = recoil.useResetRecoilState(recoil$1.exerciseLectureState(exercise === null || exercise === void 0 ? void 0 : exercise._lectureId));
48
+ // multilang languages
49
+ var exerciseMultilangLanguages = recoil.useRecoilValue(recoil$1.exerciseMultilangLanguagesState(exercise === null || exercise === void 0 ? void 0 : exercise.id));
50
+ var resetExerciseMultilangLanguages = recoil.useResetRecoilState(recoil$1.exerciseMultilangLanguagesState(exercise === null || exercise === void 0 ? void 0 : exercise.id));
51
+ // etc
52
+ var activeFilename = recoil.useRecoilValue(recoil$1.exerciseActiveFilenameState);
53
+ var setConatinerSize = recoil.useSetRecoilState(recoil$1.exerciseContainerSizeState);
54
+ // wrap container size
55
+ var _useMeasure = reactUse.useMeasure(),
56
+ _useMeasure2 = _rollupPluginBabelHelpers.slicedToArray(_useMeasure, 2),
57
+ wrapElRef = _useMeasure2[0],
58
+ _useMeasure2$ = _useMeasure2[1],
59
+ width = _useMeasure2$.width,
60
+ height = _useMeasure2$.height;
61
+ //
60
62
  // if exercise room id is not specified, fetch it from server
61
63
  // NOTICE: should not use `exercise.defaultRoom.id`, since will be removed (confrimed by backend-team)
62
64
  //
63
-
64
- React__default["default"].useEffect(() => {
65
+ React__default["default"].useEffect(function () {
65
66
  if (exerciseRoomId) {
66
67
  return;
67
68
  }
68
-
69
69
  apiClient.getOrgMaterialExerciseDefaultRoomGet({
70
- materialExerciseId
71
- }).then(res => {
70
+ materialExerciseId: materialExerciseId
71
+ }).then(function (res) {
72
72
  if (typeof onDefaultExerciseRoomIdSet === 'function') {
73
73
  onDefaultExerciseRoomIdSet(res.exerciseRoomId);
74
74
  }
75
- }).catch(err => {
75
+ }).catch(function (err) {
76
76
  if (typeof contextProps.onError === 'function') {
77
77
  contextProps.onError(err);
78
78
  }
79
79
  });
80
- }, // eslint-disable-next-line react-hooks/exhaustive-deps
81
- [exerciseRoomId, materialExerciseId]); //
80
+ },
81
+ // eslint-disable-next-line react-hooks/exhaustive-deps
82
+ [exerciseRoomId, materialExerciseId]);
83
+ //
82
84
  // reset lecture, after `exercise.lectureId` changed
83
85
  //
84
-
85
- React__default["default"].useEffect(() => {
86
+ React__default["default"].useEffect(function () {
86
87
  if (!(exercise === null || exercise === void 0 ? void 0 : exercise._lectureId)) {
87
88
  return;
88
89
  }
89
-
90
- const timeout = window.setTimeout(() => resetLecture(), RECOIL_RESET_DELAY);
91
- return () => {
90
+ var timeout = window.setTimeout(function () {
91
+ return resetLecture();
92
+ }, RECOIL_RESET_DELAY);
93
+ return function () {
92
94
  window.clearTimeout(timeout);
93
95
  };
94
- }, // eslint-disable-next-line react-hooks/exhaustive-deps
95
- [exercise]); //
96
+ },
97
+ // eslint-disable-next-line react-hooks/exhaustive-deps
98
+ [exercise]);
99
+ //
96
100
  // reset exercise multilang languages, after `exercise.id` changed
97
101
  //
98
-
99
- React__default["default"].useEffect(() => {
102
+ React__default["default"].useEffect(function () {
100
103
  if (!(exercise === null || exercise === void 0 ? void 0 : exercise.id)) {
101
104
  return;
102
105
  }
103
-
104
- const timeout = window.setTimeout(() => resetExerciseMultilangLanguages(), RECOIL_RESET_DELAY);
105
- return () => {
106
+ var timeout = window.setTimeout(function () {
107
+ return resetExerciseMultilangLanguages();
108
+ }, RECOIL_RESET_DELAY);
109
+ return function () {
106
110
  window.clearTimeout(timeout);
107
111
  };
108
- }, // eslint-disable-next-line react-hooks/exhaustive-deps
109
- [exercise]); //
112
+ },
113
+ // eslint-disable-next-line react-hooks/exhaustive-deps
114
+ [exercise]);
115
+ //
110
116
  // update Provider size
111
117
  //
112
-
113
- React__default["default"].useEffect(() => {
118
+ React__default["default"].useEffect(function () {
114
119
  if (width && height) {
115
120
  setConatinerSize({
116
- width,
117
- height
121
+ width: width,
122
+ height: height
118
123
  });
119
124
  }
120
- }, // eslint-disable-next-line react-hooks/exhaustive-deps
121
- [width, height]); //
125
+ },
126
+ // eslint-disable-next-line react-hooks/exhaustive-deps
127
+ [width, height]);
128
+ //
122
129
  //
123
130
  //
124
-
125
131
  return React__default["default"].createElement(StyledMaterialExercise, {
126
132
  ref: wrapElRef,
127
- children: (() => {
128
- var _a; // render after measure Provider size
129
-
130
-
133
+ children: function () {
134
+ var _a;
135
+ // render after measure Provider size
131
136
  if (!width || !height) {
132
137
  return null;
133
- } // show spinner before exercise ready
134
-
135
-
138
+ }
139
+ // show spinner before exercise ready
136
140
  if (!user || !lecture || !exercise || !exerciseRoomId || !exerciseRoom || typeof exerciseMultilangLanguages === 'undefined') {
137
141
  return React__default["default"].createElement(blocks.Flex, {
138
142
  align: "center",
@@ -140,27 +144,25 @@ const ExerciseProvider = _a => {
140
144
  width: "100%",
141
145
  height: "100%"
142
146
  }, React__default["default"].createElement(blocks.Spinner, null));
143
- } // when exerciseImage is not ready yet
144
-
145
-
147
+ }
148
+ // when exerciseImage is not ready yet
146
149
  if (exercise.readyExerciseImage === null) {
147
- return React__default["default"].createElement(ExerciseProviderNoImage, Object.assign({}, exerciseImageEmptyOptions, {
150
+ return React__default["default"].createElement(ExerciseProviderNoImage["default"], Object.assign({}, exerciseImageEmptyOptions, {
148
151
  locale: contextProps.locale
149
152
  }));
150
- } // render
151
-
152
-
153
+ }
154
+ // render
153
155
  return React__default["default"].createElement(context.ExerciseContext.Provider, {
154
156
  children: children,
155
157
  value: Object.assign(Object.assign({}, contextProps), {
156
- materialExerciseId,
157
- exerciseRoomId,
158
+ materialExerciseId: materialExerciseId,
159
+ exerciseRoomId: exerciseRoomId,
158
160
  exerciseRoomUserId: exerciseRoomUserId !== null && exerciseRoomUserId !== void 0 ? exerciseRoomUserId : user.id,
159
161
  readOnlyActiveFile: !!((_a = exercise === null || exercise === void 0 ? void 0 : exercise.readyExerciseImage) === null || _a === void 0 ? void 0 : _a.readOnlyFilelist.includes(activeFilename || ''))
160
162
  })
161
163
  });
162
- })()
164
+ }()
163
165
  });
164
- }; //
166
+ };
165
167
 
166
- module.exports = ExerciseProvider;
168
+ exports["default"] = ExerciseProvider;