@elice/material-exercise 1.230328.0 → 1.230418.1

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 (369) 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.js +559 -371
  12. package/cjs/components/material-exercise/context/recoilTypes.js +0 -5
  13. package/cjs/components/material-exercise/context/subjects.js +3 -6
  14. package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.d.ts +2 -2
  15. package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.js +78 -65
  16. package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.js +8 -8
  17. package/cjs/components/material-exercise/exercise-code-history/locales/en.json.js +7 -0
  18. package/cjs/components/material-exercise/exercise-code-history/locales/ko.json.js +7 -0
  19. package/cjs/components/material-exercise/exercise-file/ExerciseFile.js +20 -21
  20. package/cjs/components/material-exercise/exercise-file-editor/ExerciseFileEditor.js +225 -198
  21. package/cjs/components/material-exercise/exercise-file-editor/ExerciseFileReadOnlyBanner.js +8 -10
  22. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabs.js +35 -32
  23. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabsFileTreeButton.js +57 -48
  24. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.js +6 -4
  25. package/cjs/components/material-exercise/exercise-file-tabs/locales/fileTreeButton.en.json.js +3 -1
  26. package/cjs/components/material-exercise/exercise-file-tabs/locales/fileTreeButton.ko.json.js +3 -1
  27. package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTree.js +327 -231
  28. package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.js +6 -4
  29. package/cjs/components/material-exercise/exercise-file-tree/locales/en.json.js +3 -1
  30. package/cjs/components/material-exercise/exercise-file-tree/locales/ko.json.js +3 -1
  31. package/cjs/components/material-exercise/exercise-file-viewer/ExerciseFileViewer.js +17 -17
  32. package/cjs/components/material-exercise/exercise-menu/ExerciseMenu.js +13 -14
  33. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.js +6 -6
  34. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.js +47 -38
  35. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuDropdown.js +60 -42
  36. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuReset.js +29 -22
  37. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.js +45 -56
  38. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.js +12 -12
  39. package/cjs/components/material-exercise/exercise-menu/locales/en.json.js +3 -1
  40. package/cjs/components/material-exercise/exercise-menu/locales/ko.json.js +3 -1
  41. package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdown.js +28 -20
  42. package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.js +5 -3
  43. package/cjs/components/material-exercise/exercise-preview/ExercisePreview.js +30 -41
  44. package/cjs/components/material-exercise/exercise-preview/ExercisePreviewDisplayModeButton.js +17 -12
  45. package/cjs/components/material-exercise/exercise-preview/locales/en.json.js +3 -1
  46. package/cjs/components/material-exercise/exercise-preview/locales/ko.json.js +3 -1
  47. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpane.js +24 -33
  48. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpaneEditorPerference.js +13 -8
  49. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpaneEnvironment.js +84 -83
  50. package/cjs/components/material-exercise/exercise-rightpane/locales/en.json.js +3 -1
  51. package/cjs/components/material-exercise/exercise-rightpane/locales/ko.json.js +3 -1
  52. package/cjs/components/material-exercise/exercise-room/ExerciseRoom.js +20 -12
  53. package/cjs/components/material-exercise/exercise-room/ExerciseRoom.styled.js +14 -12
  54. package/cjs/components/material-exercise/exercise-room/ExerciseRoomDetail.js +239 -147
  55. package/cjs/components/material-exercise/exercise-room/ExerciseRoomList.js +92 -63
  56. package/cjs/components/material-exercise/exercise-room/helpers/exerciseRoomPermissionStringConvertor.js +2 -8
  57. package/cjs/components/material-exercise/exercise-room/locales/en.json.js +3 -1
  58. package/cjs/components/material-exercise/exercise-room/locales/ko.json.js +3 -1
  59. package/cjs/components/material-exercise/exercise-runner/ExerciseRunner.js +219 -220
  60. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerContext.js +1 -1
  61. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerController.js +13 -13
  62. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.js +30 -26
  63. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.js +26 -26
  64. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js +70 -95
  65. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.js +27 -27
  66. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerRunningInfo.js +54 -60
  67. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusIndicator.js +5 -5
  68. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusMessage.js +10 -13
  69. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerTimer.js +29 -26
  70. package/cjs/components/material-exercise/exercise-runner/locales/en.json.js +3 -1
  71. package/cjs/components/material-exercise/exercise-runner/locales/ko.json.js +3 -1
  72. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.d.ts +2 -2
  73. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.js +290 -180
  74. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.styled.js +8 -8
  75. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistoryOutput.js +41 -45
  76. package/cjs/components/material-exercise/exercise-submit-history/locales/en.json.js +7 -0
  77. package/cjs/components/material-exercise/exercise-submit-history/locales/ko.json.js +7 -0
  78. package/cjs/components/shared/exercise-menu-button/ExerciseMenuButton.js +19 -17
  79. package/cjs/components/shared/exercise-shimmer/ExerciseFileShimmer.js +5 -4
  80. package/cjs/components/shared/exercise-shimmer/ExerciseFileTabShimmer.js +15 -14
  81. package/cjs/components/shared/exercise-shimmer/ExerciseFileTabsShimmer.js +7 -6
  82. package/cjs/components/shared/exercise-shimmer/ExerciseFileTreeListItemShimmer.js +17 -16
  83. package/cjs/components/shared/exercise-shimmer/ExerciseFileTreeListShimmer.js +18 -11
  84. package/cjs/components/shared/exercise-version-list/ExerciseVersionList.js +5 -4
  85. package/cjs/components/shared/exercise-version-list/ExerciseVersionList.styled.js +1 -1
  86. package/cjs/components/shared/exercise-version-list/ExerciseVersionListItem.js +8 -7
  87. package/cjs/components/shared/exercise-version-list/ExerciseVersionListItem.styled.js +9 -5
  88. package/cjs/components/shared/file-icon/FileIcon.js +23 -23
  89. package/cjs/components/shared/file-tabs/FileTab.js +32 -43
  90. package/cjs/components/shared/file-tabs/FileTab.styled.js +26 -22
  91. package/cjs/components/shared/file-tabs/FileTabs.js +55 -49
  92. package/cjs/components/shared/file-tabs/FileTabs.styled.js +2 -2
  93. package/cjs/components/shared/file-tabs/util.js +29 -18
  94. package/cjs/components/shared/file-tree/FileTree.js +11 -11
  95. package/cjs/components/shared/file-tree/FileTreeConfig.js +24 -23
  96. package/cjs/components/shared/file-tree/FileTreeList.js +35 -41
  97. package/cjs/components/shared/file-tree/FileTreeListItemContent.js +75 -91
  98. package/cjs/components/shared/file-tree/FileTreeListItemContent.styled.js +29 -40
  99. package/cjs/components/shared/file-tree/FileTreeListItemContentInput.js +77 -101
  100. package/cjs/components/shared/file-tree/FileTreeListItemContentInput.styled.js +6 -6
  101. package/cjs/components/shared/file-tree/FileTreeListItemContentMenu.js +51 -86
  102. package/cjs/components/shared/file-tree/FileTreeListItems.js +150 -153
  103. package/cjs/components/shared/file-tree/FileTreeListItems.styled.js +2 -2
  104. package/cjs/components/shared/file-tree/FileTreeToolbar.js +30 -41
  105. package/cjs/components/shared/file-tree/FileTreeToolbar.styled.js +1 -1
  106. package/cjs/components/shared/file-tree/context/FileTreeContext.js +91 -97
  107. package/cjs/components/shared/file-tree/locales/en.json.js +3 -1
  108. package/cjs/components/shared/file-tree/locales/ko.json.js +3 -1
  109. package/cjs/components/shared/file-tree/utils/fileTreeFiles.js +20 -22
  110. package/cjs/components/shared/file-tree/utils/fileTreeGenerator.js +193 -173
  111. package/cjs/components/shared/file-tree/utils/fileTreeInput.js +0 -1
  112. package/cjs/components/shared/file-tree/utils/fileTreeItem.js +1 -1
  113. package/cjs/components/shared/file-tree/utils/fileTreePath.js +5 -7
  114. package/cjs/components/shared/file-viewer/FileViewer.js +59 -60
  115. package/cjs/components/shared/file-viewer/FileViewerCsv.js +145 -101
  116. package/cjs/components/shared/file-viewer/FileViewerImage.js +7 -8
  117. package/cjs/components/shared/file-viewer/FileViewerIpynb.js +20 -14
  118. package/cjs/components/shared/file-viewer/FileViewerNonViewable.js +28 -34
  119. package/cjs/components/shared/file-viewer/FileViewerText.js +23 -16
  120. package/cjs/components/shared/file-viewer/locales/en.json.js +3 -1
  121. package/cjs/components/shared/file-viewer/locales/ko.json.js +3 -1
  122. package/cjs/components/shared/file-viewer/locales/nonViewable.en.json.js +3 -1
  123. package/cjs/components/shared/file-viewer/locales/nonViewable.ko.json.js +3 -1
  124. package/cjs/components/shared/material-modal/MaterialModal.js +10 -12
  125. package/cjs/components/shared/material-modal/MaterialModal.styled.js +5 -5
  126. package/cjs/components/shared/monaco-editor/MonacoEditor.js +123 -149
  127. package/cjs/components/shared/monaco-editor/MonacoEditorLazy.js +10 -8
  128. package/cjs/components/shared/monaco-editor/MonacoEditorMobile.js +49 -58
  129. package/cjs/components/shared/monaco-editor/MonacoEditorPerferenceForm.js +78 -85
  130. package/cjs/components/shared/monaco-editor/constants/grammars/index.js +131 -52
  131. package/cjs/components/shared/monaco-editor/constants/monaco/preferences.js +5 -9
  132. package/cjs/components/shared/monaco-editor/constants/themes/index.js +80 -32
  133. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventChange.js +10 -13
  134. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventCursor.js +14 -18
  135. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventScroll.js +8 -9
  136. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoMarkers.js +54 -72
  137. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoOptions.js +14 -15
  138. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoTheme.js +8 -9
  139. package/cjs/components/shared/monaco-editor/editor-languages/css/formatter.js +36 -12
  140. package/cjs/components/shared/monaco-editor/editor-languages/css/index.js +5 -8
  141. package/cjs/components/shared/monaco-editor/editor-languages/html/formatter.js +36 -12
  142. package/cjs/components/shared/monaco-editor/editor-languages/html/index.js +3 -6
  143. package/cjs/components/shared/monaco-editor/editor-languages/index.js +3 -1
  144. package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/_helper.js +1 -1
  145. package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/express.js +3 -2
  146. package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/propTypes.js +3 -2
  147. package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/react.js +3 -2
  148. package/cjs/components/shared/monaco-editor/editor-languages/typescript/formatter.js +36 -12
  149. package/cjs/components/shared/monaco-editor/editor-languages/typescript/index.js +18 -24
  150. package/cjs/components/shared/monaco-editor/hooks/useEditorOptions.js +12 -9
  151. package/cjs/components/shared/monaco-editor/locales/en.json.js +3 -1
  152. package/cjs/components/shared/monaco-editor/locales/ko.json.js +3 -1
  153. package/cjs/components/shared/monaco-editor/utils/emmet/abbreviationActions.js +18 -28
  154. package/cjs/components/shared/monaco-editor/utils/emmet/emmet.js +0 -3
  155. package/cjs/components/shared/monaco-editor/utils/emmet/registerProvider.js +12 -8
  156. package/cjs/components/shared/monaco-editor/utils/grammar/index.js +70 -32
  157. package/cjs/components/shared/monaco-editor/utils/grammar/onigasm.js +25 -7
  158. package/cjs/components/shared/monaco-editor/utils/grammar/textmate.js +67 -43
  159. package/cjs/components/shared/monaco-editor/utils/monacoLanguage.js +9 -19
  160. package/cjs/components/shared/monaco-editor/utils/monacoPreference.js +6 -5
  161. package/cjs/components/shared/monaco-editor/utils/prettier/config.js +2 -3
  162. package/cjs/components/shared/monaco-editor/utils/prettier/index.js +30 -9
  163. package/cjs/components/shared/monaco-editor/utils/theme/convert.js +20 -26
  164. package/cjs/components/shared/monaco-editor/utils/theme/index.js +22 -5
  165. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursor.js +77 -75
  166. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorManager.js +82 -93
  167. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorWidget.js +125 -135
  168. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelection.js +148 -160
  169. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelectionManager.js +104 -118
  170. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/styles.js +2 -2
  171. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/configCompat.js +1 -3
  172. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/data.js +2 -3
  173. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/emmetHelper.js +218 -329
  174. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/utils.js +3 -6
  175. package/cjs/components/shared/no-vnc/NoVnc.js +93 -90
  176. package/cjs/components/shared/no-vnc/NoVncLazy.js +7 -5
  177. package/cjs/components/shared/preview-container/PreviewContainer.js +7 -10
  178. package/cjs/components/shared/web-browser/WebBrowser.js +54 -59
  179. package/cjs/components/shared/xterm/Xterm.js +112 -105
  180. package/cjs/components/shared/xterm/XtermLazy.js +7 -5
  181. package/cjs/components/shared/xterm/locales/en.json.js +3 -1
  182. package/cjs/components/shared/xterm/locales/ko.json.js +3 -1
  183. package/cjs/constants/arduino.js +10 -10
  184. package/cjs/constants/shortcutKeyMap.js +5 -5
  185. package/cjs/constants/stylesheets.js +7 -10
  186. package/cjs/hooks/useArduino.js +327 -255
  187. package/cjs/hooks/useExerciseFile.js +24 -24
  188. package/cjs/hooks/useExericseShortcut.js +6 -5
  189. package/cjs/hooks/useMaterialExerciseFileUrl.js +54 -37
  190. package/cjs/hooks/useRunnerRoomWebSocket.js +58 -56
  191. package/cjs/hooks/useStdioTextConcator.js +18 -12
  192. package/cjs/hooks/useStdioWebSocket.js +41 -67
  193. package/cjs/hooks/useUsercodeEditWebSocket.js +230 -252
  194. package/cjs/hooks/useUsercodeHistory.js +121 -82
  195. package/cjs/index.js +4 -4
  196. package/cjs/utils/arduino.js +23 -25
  197. package/cjs/utils/exerciseFile.js +8 -16
  198. package/cjs/utils/runner.js +29 -25
  199. package/es/_virtual/_rollupPluginBabelHelpers.js +504 -0
  200. package/es/components/material-exercise/MaterialExercise.js +33 -54
  201. package/es/components/material-exercise/MaterialExercise.styled.js +20 -23
  202. package/es/components/material-exercise/MaterialExerciseMobile.js +15 -13
  203. package/es/components/material-exercise/context/ExerciseIntlProvider.js +9 -13
  204. package/es/components/material-exercise/context/ExerciseProvider.js +79 -79
  205. package/es/components/material-exercise/context/ExerciseProviderNoImage.js +11 -13
  206. package/es/components/material-exercise/context/context.js +1 -1
  207. package/es/components/material-exercise/context/recoil.js +560 -372
  208. package/es/components/material-exercise/context/recoilTypes.js +0 -5
  209. package/es/components/material-exercise/context/subjects.js +3 -6
  210. package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.d.ts +2 -2
  211. package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.js +73 -62
  212. package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.js +8 -8
  213. package/es/components/material-exercise/exercise-code-history/locales/en.json.js +3 -0
  214. package/es/components/material-exercise/exercise-code-history/locales/ko.json.js +3 -0
  215. package/es/components/material-exercise/exercise-file/ExerciseFile.js +15 -18
  216. package/es/components/material-exercise/exercise-file-editor/ExerciseFileEditor.js +218 -193
  217. package/es/components/material-exercise/exercise-file-editor/ExerciseFileReadOnlyBanner.js +5 -9
  218. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabs.js +31 -28
  219. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabsFileTreeButton.js +52 -45
  220. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.js +1 -1
  221. package/es/components/material-exercise/exercise-file-tree/ExerciseFileTree.js +321 -225
  222. package/es/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.js +1 -1
  223. package/es/components/material-exercise/exercise-file-viewer/ExerciseFileViewer.js +12 -14
  224. package/es/components/material-exercise/exercise-menu/ExerciseMenu.js +7 -10
  225. package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.js +3 -5
  226. package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.js +43 -36
  227. package/es/components/material-exercise/exercise-menu/ExerciseMenuDropdown.js +53 -37
  228. package/es/components/material-exercise/exercise-menu/ExerciseMenuReset.js +25 -20
  229. package/es/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.js +41 -54
  230. package/es/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.js +12 -12
  231. package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdown.js +25 -19
  232. package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.js +1 -1
  233. package/es/components/material-exercise/exercise-preview/ExercisePreview.js +21 -34
  234. package/es/components/material-exercise/exercise-preview/ExercisePreviewDisplayModeButton.js +13 -10
  235. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpane.js +17 -28
  236. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpaneEditorPerference.js +9 -6
  237. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpaneEnvironment.js +81 -82
  238. package/es/components/material-exercise/exercise-room/ExerciseRoom.js +13 -7
  239. package/es/components/material-exercise/exercise-room/ExerciseRoom.styled.js +14 -12
  240. package/es/components/material-exercise/exercise-room/ExerciseRoomDetail.js +236 -146
  241. package/es/components/material-exercise/exercise-room/ExerciseRoomList.js +90 -63
  242. package/es/components/material-exercise/exercise-room/helpers/exerciseRoomPermissionStringConvertor.js +2 -8
  243. package/es/components/material-exercise/exercise-runner/ExerciseRunner.js +212 -215
  244. package/es/components/material-exercise/exercise-runner/ExerciseRunnerContext.js +1 -1
  245. package/es/components/material-exercise/exercise-runner/ExerciseRunnerController.js +7 -9
  246. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.js +27 -25
  247. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.js +22 -24
  248. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js +66 -93
  249. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.js +24 -26
  250. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerRunningInfo.js +51 -59
  251. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusIndicator.js +2 -4
  252. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusMessage.js +6 -11
  253. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerTimer.js +26 -25
  254. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.d.ts +2 -2
  255. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.js +284 -174
  256. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.styled.js +8 -8
  257. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistoryOutput.js +38 -44
  258. package/es/components/material-exercise/exercise-submit-history/locales/en.json.js +3 -0
  259. package/es/components/material-exercise/exercise-submit-history/locales/ko.json.js +3 -0
  260. package/es/components/shared/exercise-menu-button/ExerciseMenuButton.js +16 -16
  261. package/es/components/shared/exercise-shimmer/ExerciseFileShimmer.js +2 -3
  262. package/es/components/shared/exercise-shimmer/ExerciseFileTabShimmer.js +12 -13
  263. package/es/components/shared/exercise-shimmer/ExerciseFileTabsShimmer.js +2 -3
  264. package/es/components/shared/exercise-shimmer/ExerciseFileTreeListItemShimmer.js +14 -15
  265. package/es/components/shared/exercise-shimmer/ExerciseFileTreeListShimmer.js +15 -10
  266. package/es/components/shared/exercise-version-list/ExerciseVersionList.js +2 -3
  267. package/es/components/shared/exercise-version-list/ExerciseVersionList.styled.js +1 -1
  268. package/es/components/shared/exercise-version-list/ExerciseVersionListItem.js +5 -6
  269. package/es/components/shared/exercise-version-list/ExerciseVersionListItem.styled.js +9 -5
  270. package/es/components/shared/file-icon/FileIcon.js +20 -22
  271. package/es/components/shared/file-tabs/FileTab.js +28 -41
  272. package/es/components/shared/file-tabs/FileTab.styled.js +26 -22
  273. package/es/components/shared/file-tabs/FileTabs.js +52 -48
  274. package/es/components/shared/file-tabs/FileTabs.styled.js +2 -2
  275. package/es/components/shared/file-tabs/util.js +29 -18
  276. package/es/components/shared/file-tree/FileTree.js +3 -5
  277. package/es/components/shared/file-tree/FileTreeConfig.js +21 -22
  278. package/es/components/shared/file-tree/FileTreeList.js +31 -39
  279. package/es/components/shared/file-tree/FileTreeListItemContent.js +67 -85
  280. package/es/components/shared/file-tree/FileTreeListItemContent.styled.js +29 -40
  281. package/es/components/shared/file-tree/FileTreeListItemContentInput.js +74 -100
  282. package/es/components/shared/file-tree/FileTreeListItemContentInput.styled.js +6 -6
  283. package/es/components/shared/file-tree/FileTreeListItemContentMenu.js +48 -85
  284. package/es/components/shared/file-tree/FileTreeListItems.js +147 -152
  285. package/es/components/shared/file-tree/FileTreeListItems.styled.js +2 -2
  286. package/es/components/shared/file-tree/FileTreeToolbar.js +24 -37
  287. package/es/components/shared/file-tree/FileTreeToolbar.styled.js +1 -1
  288. package/es/components/shared/file-tree/context/FileTreeContext.js +91 -97
  289. package/es/components/shared/file-tree/utils/fileTreeFiles.js +20 -22
  290. package/es/components/shared/file-tree/utils/fileTreeGenerator.js +193 -173
  291. package/es/components/shared/file-tree/utils/fileTreeInput.js +0 -1
  292. package/es/components/shared/file-tree/utils/fileTreeItem.js +1 -1
  293. package/es/components/shared/file-tree/utils/fileTreePath.js +5 -7
  294. package/es/components/shared/file-viewer/FileViewer.js +52 -53
  295. package/es/components/shared/file-viewer/FileViewerCsv.js +141 -99
  296. package/es/components/shared/file-viewer/FileViewerImage.js +3 -6
  297. package/es/components/shared/file-viewer/FileViewerIpynb.js +16 -12
  298. package/es/components/shared/file-viewer/FileViewerNonViewable.js +22 -30
  299. package/es/components/shared/file-viewer/FileViewerText.js +18 -13
  300. package/es/components/shared/material-modal/MaterialModal.js +7 -11
  301. package/es/components/shared/material-modal/MaterialModal.styled.js +5 -5
  302. package/es/components/shared/monaco-editor/MonacoEditor.js +119 -147
  303. package/es/components/shared/monaco-editor/MonacoEditorLazy.js +6 -4
  304. package/es/components/shared/monaco-editor/MonacoEditorMobile.js +45 -56
  305. package/es/components/shared/monaco-editor/MonacoEditorPerferenceForm.js +73 -82
  306. package/es/components/shared/monaco-editor/constants/grammars/index.js +131 -52
  307. package/es/components/shared/monaco-editor/constants/monaco/preferences.js +5 -9
  308. package/es/components/shared/monaco-editor/constants/themes/index.js +80 -32
  309. package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventChange.js +10 -13
  310. package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventCursor.js +14 -18
  311. package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventScroll.js +8 -9
  312. package/es/components/shared/monaco-editor/editor-hooks/useMonacoMarkers.js +54 -72
  313. package/es/components/shared/monaco-editor/editor-hooks/useMonacoOptions.js +14 -15
  314. package/es/components/shared/monaco-editor/editor-hooks/useMonacoTheme.js +8 -9
  315. package/es/components/shared/monaco-editor/editor-languages/css/formatter.js +33 -11
  316. package/es/components/shared/monaco-editor/editor-languages/css/index.js +2 -5
  317. package/es/components/shared/monaco-editor/editor-languages/html/formatter.js +33 -11
  318. package/es/components/shared/monaco-editor/editor-languages/html/index.js +2 -5
  319. package/es/components/shared/monaco-editor/editor-languages/typescript/dts/_helper.js +1 -1
  320. package/es/components/shared/monaco-editor/editor-languages/typescript/dts/express.js +0 -1
  321. package/es/components/shared/monaco-editor/editor-languages/typescript/dts/propTypes.js +0 -1
  322. package/es/components/shared/monaco-editor/editor-languages/typescript/dts/react.js +0 -1
  323. package/es/components/shared/monaco-editor/editor-languages/typescript/formatter.js +33 -11
  324. package/es/components/shared/monaco-editor/editor-languages/typescript/index.js +10 -16
  325. package/es/components/shared/monaco-editor/hooks/useEditorOptions.js +12 -9
  326. package/es/components/shared/monaco-editor/utils/emmet/abbreviationActions.js +18 -28
  327. package/es/components/shared/monaco-editor/utils/emmet/emmet.js +0 -3
  328. package/es/components/shared/monaco-editor/utils/emmet/registerProvider.js +12 -8
  329. package/es/components/shared/monaco-editor/utils/grammar/index.js +67 -31
  330. package/es/components/shared/monaco-editor/utils/grammar/onigasm.js +25 -7
  331. package/es/components/shared/monaco-editor/utils/grammar/textmate.js +67 -43
  332. package/es/components/shared/monaco-editor/utils/monacoLanguage.js +9 -19
  333. package/es/components/shared/monaco-editor/utils/monacoPreference.js +6 -5
  334. package/es/components/shared/monaco-editor/utils/prettier/config.js +2 -3
  335. package/es/components/shared/monaco-editor/utils/prettier/index.js +27 -8
  336. package/es/components/shared/monaco-editor/utils/theme/convert.js +20 -26
  337. package/es/components/shared/monaco-editor/utils/theme/index.js +22 -5
  338. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursor.js +77 -75
  339. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorManager.js +82 -93
  340. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorWidget.js +125 -135
  341. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelection.js +148 -160
  342. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelectionManager.js +104 -118
  343. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/styles.js +2 -2
  344. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/configCompat.js +1 -3
  345. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/data.js +2 -3
  346. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/emmetHelper.js +219 -330
  347. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/utils.js +3 -6
  348. package/es/components/shared/no-vnc/NoVnc.js +89 -88
  349. package/es/components/shared/no-vnc/NoVncLazy.js +4 -2
  350. package/es/components/shared/preview-container/PreviewContainer.js +7 -10
  351. package/es/components/shared/web-browser/WebBrowser.js +49 -56
  352. package/es/components/shared/xterm/Xterm.js +107 -102
  353. package/es/components/shared/xterm/XtermLazy.js +4 -2
  354. package/es/constants/arduino.js +10 -10
  355. package/es/constants/shortcutKeyMap.js +3 -5
  356. package/es/constants/stylesheets.js +7 -10
  357. package/es/hooks/useArduino.js +327 -255
  358. package/es/hooks/useExerciseFile.js +24 -24
  359. package/es/hooks/useExericseShortcut.js +6 -5
  360. package/es/hooks/useMaterialExerciseFileUrl.js +55 -38
  361. package/es/hooks/useRunnerRoomWebSocket.js +58 -56
  362. package/es/hooks/useStdioTextConcator.js +18 -12
  363. package/es/hooks/useStdioWebSocket.js +41 -67
  364. package/es/hooks/useUsercodeEditWebSocket.js +230 -252
  365. package/es/hooks/useUsercodeHistory.js +122 -83
  366. package/es/utils/arduino.js +23 -25
  367. package/es/utils/exerciseFile.js +8 -16
  368. package/es/utils/runner.js +29 -25
  369. package/package.json +8 -8
@@ -3,11 +3,10 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  /* eslint-disable */
6
-
7
6
  /**
8
7
  * Default emmet configuration.
9
8
  */
10
- const DEFAULT_CONFIG = {
9
+ var DEFAULT_CONFIG = {
11
10
  showExpandedAbbreviation: 'always',
12
11
  showAbbreviationSuggestions: true,
13
12
  showSuggestionsAsSnippets: false
@@ -16,8 +15,7 @@ const DEFAULT_CONFIG = {
16
15
  * Mapping between languages that support Emmet and completion trigger characters.
17
16
  * - ref: https://github.com/microsoft/vscode/blob/50140a53cc2088f478a5560683ccd354f2d5f431/extensions/emmet/src/util.ts#L86
18
17
  */
19
-
20
- const LANGUAGE_MODES = {
18
+ var LANGUAGE_MODES = {
21
19
  html: ['!', '.', '}', ':', '*', '$', ']', '/', '>', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'],
22
20
  jade: ['!', '.', '}', ':', '*', '$', ']', '/', '>', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'],
23
21
  slim: ['!', '.', '}', ':', '*', '$', ']', '/', '>', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'],
@@ -36,8 +34,7 @@ const LANGUAGE_MODES = {
36
34
  * Language specific extensions can provide emmet completion support.
37
35
  * - ref: https://github.com/microsoft/vscode/blob/50140a53cc2088f478a5560683ccd354f2d5f431/extensions/emmet/src/util.ts#L124
38
36
  */
39
-
40
- const MAPPED_MODES = {
37
+ var MAPPED_MODES = {
41
38
  handlebars: 'html',
42
39
  php: 'html',
43
40
  twig: 'html'
@@ -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 reactUse = require('react-use');
5
8
  var blocks = require('@elice/blocks');
@@ -31,49 +34,53 @@ var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
31
34
 
32
35
  //
33
36
  //
34
-
35
- const VNC_BACKGROUND_COLOR = designTokens.base.color.navy7;
36
- const StyledHeaderTitle = styled__default["default"].div.withConfig({
37
+ //
38
+ var VNC_BACKGROUND_COLOR = designTokens.base.color.navy7;
39
+ var StyledHeaderTitle = styled__default["default"].div.withConfig({
37
40
  componentId: "sc-1duy62f-0"
38
41
  })(["flex:1;"]);
39
- const StyledHeaderButtonGroup = styled__default["default"].div.withConfig({
42
+ var StyledHeaderButtonGroup = styled__default["default"].div.withConfig({
40
43
  componentId: "sc-1duy62f-1"
41
44
  })(["flex:0 0 auto;display:flex;align-items:center;"]);
42
- const StyledVncWrap = styled__default["default"].div.withConfig({
45
+ var StyledVncWrap = styled__default["default"].div.withConfig({
43
46
  componentId: "sc-1duy62f-2"
44
47
  })(["display:flex;align-items:center;justify-content:center;width:100%;height:100%;background-color:", ";overflow:hidden;"], VNC_BACKGROUND_COLOR);
45
- const StyledNoVncContainer = styled__default["default"].div.withConfig({
48
+ var StyledNoVncContainer = styled__default["default"].div.withConfig({
46
49
  componentId: "sc-1duy62f-3"
47
50
  })([""]);
48
- const StyledNoVnc = styled__default["default"].div.withConfig({
51
+ var StyledNoVnc = styled__default["default"].div.withConfig({
49
52
  componentId: "sc-1duy62f-4"
50
- })(["position:relative;left:50%;top:50%;transform-origin:center center;transform:translate(-50%,-50%);"]); //
53
+ })(["position:relative;left:50%;top:50%;transform-origin:center center;transform:translate(-50%,-50%);"]);
51
54
  //
52
55
  //
53
-
54
- const NoVnc = React.forwardRef(({
55
- isRunning = false,
56
- wsUri,
57
- roomToken,
58
- readyExerciseImage,
59
- exercisePreviewDisplayModeButton = null,
60
- onConnect,
61
- onDisconnect
62
- }, ref) => {
63
- const vncRfb = React__default["default"].useRef(null);
64
- const vncElRef = React__default["default"].useRef(null);
65
- const [vncWrapRef, {
66
- width,
67
- height
68
- }] = reactUse.useMeasure();
69
- const [isVncScaledFromLocal, setVncScaledFromLocal] = React__default["default"].useState(true);
56
+ //
57
+ var NoVnc = React.forwardRef(function (_ref, ref) {
58
+ var _ref$isRunning = _ref.isRunning,
59
+ isRunning = _ref$isRunning === void 0 ? false : _ref$isRunning,
60
+ wsUri = _ref.wsUri,
61
+ roomToken = _ref.roomToken,
62
+ readyExerciseImage = _ref.readyExerciseImage,
63
+ _ref$exercisePreviewD = _ref.exercisePreviewDisplayModeButton,
64
+ exercisePreviewDisplayModeButton = _ref$exercisePreviewD === void 0 ? null : _ref$exercisePreviewD,
65
+ onConnect = _ref.onConnect,
66
+ onDisconnect = _ref.onDisconnect;
67
+ var vncRfb = React__default["default"].useRef(null);
68
+ var vncElRef = React__default["default"].useRef(null);
69
+ var _useMeasure = reactUse.useMeasure(),
70
+ _useMeasure2 = _rollupPluginBabelHelpers.slicedToArray(_useMeasure, 2),
71
+ vncWrapRef = _useMeasure2[0],
72
+ _useMeasure2$ = _useMeasure2[1],
73
+ width = _useMeasure2$.width,
74
+ height = _useMeasure2$.height;
75
+ var _React$useState = React__default["default"].useState(true),
76
+ _React$useState2 = _rollupPluginBabelHelpers.slicedToArray(_React$useState, 2),
77
+ isVncScaledFromLocal = _React$useState2[0],
78
+ setVncScaledFromLocal = _React$useState2[1];
70
79
  /**
71
80
  * Default size of VNC from exericse image.
72
81
  */
73
-
74
- const vncDefaultSize = React__default["default"].useMemo(() => {
82
+ var vncDefaultSize = React__default["default"].useMemo(function () {
75
83
  var _a, _b;
76
-
77
84
  return {
78
85
  width: (_a = readyExerciseImage === null || readyExerciseImage === void 0 ? void 0 : readyExerciseImage.defaultVncWidth) !== null && _a !== void 0 ? _a : 300,
79
86
  height: (_b = readyExerciseImage === null || readyExerciseImage === void 0 ? void 0 : readyExerciseImage.defaultVncHeight) !== null && _b !== void 0 ? _b : 300
@@ -82,86 +89,82 @@ const NoVnc = React.forwardRef(({
82
89
  /**
83
90
  * Transform scale to fit VNC to VNC wrap.
84
91
  */
85
-
86
- const vncTransformScale = React__default["default"].useMemo(() => Math.min(width / vncDefaultSize.width, height / vncDefaultSize.height), [width, height, vncDefaultSize.width, vncDefaultSize.height]);
92
+ var vncTransformScale = React__default["default"].useMemo(function () {
93
+ return Math.min(width / vncDefaultSize.width, height / vncDefaultSize.height);
94
+ }, [width, height, vncDefaultSize.width, vncDefaultSize.height]);
87
95
  /**
88
96
  * Element style of VNC and VNC wrap.
89
97
  */
90
-
91
- const vncElementStyle = React__default["default"].useMemo(() => ({
92
- width: `${(vncDefaultSize.width * vncTransformScale).toFixed(3)}px`,
93
- height: `${(vncDefaultSize.height * vncTransformScale).toFixed(3)}px`
94
- }), [vncDefaultSize.width, vncDefaultSize.height, vncTransformScale]);
98
+ var vncElementStyle = React__default["default"].useMemo(function () {
99
+ return {
100
+ width: "".concat((vncDefaultSize.width * vncTransformScale).toFixed(3), "px"),
101
+ height: "".concat((vncDefaultSize.height * vncTransformScale).toFixed(3), "px")
102
+ };
103
+ }, [vncDefaultSize.width, vncDefaultSize.height, vncTransformScale]);
95
104
  /**
96
105
  * Connect VNC.
97
106
  */
98
-
99
- const connect = React__default["default"].useCallback(() => {
107
+ var connect = React__default["default"].useCallback(function () {
100
108
  if (!vncElRef.current || !wsUri || !roomToken) {
101
109
  return;
102
110
  }
103
-
104
- const vncUrl = `${wsUri}/client/vnc/${roomToken}`; // The RFB object represents a single connection to a VNC server.
111
+ var vncUrl = "".concat(wsUri, "/client/vnc/").concat(roomToken);
112
+ // The RFB object represents a single connection to a VNC server.
105
113
  // It communicates using a WebSocket that must provide a standard RFB protocol stream.
106
114
  // -ref: https://github.com/novnc/noVNC/blob/master/docs/API.md#rfb-1
107
-
108
115
  vncRfb.current = new RFB__default["default"](vncElRef.current, vncUrl, {
109
116
  wsProtocols: ['binary']
110
- }); // ==============================
117
+ });
118
+ // ==============================
111
119
  // VNC options
112
120
  // ref: https://github.com/novnc/noVNC/blob/master/docs/API.md#properties
113
121
  // ==============================
114
122
  // Is a boolean indicating if the remote session should be clipped to its container.
115
123
  // When disabled scrollbars will be shown to handle the resulting overflow.
116
-
117
- vncRfb.current.clipViewport = false; // Is a boolean indicating if the remote session should be scaled locally so it fits its container.
124
+ vncRfb.current.clipViewport = false;
125
+ // Is a boolean indicating if the remote session should be scaled locally so it fits its container.
118
126
  // When disabled it will be centered if the remote session is smaller than its container,
119
127
  // or handled according to `clipViewport` if it is larger.
120
-
121
128
  vncRfb.current.scaleViewport = isVncScaledFromLocal; // NOTE: select one of `scaleViewport` or `resizeSession`, not both
122
129
  // Is a boolean indicating if a request to resize the remote session should be sent
123
130
  // whenever the container changes dimensions.
124
-
125
131
  vncRfb.current.resizeSession = !isVncScaledFromLocal; // NOTE: select one of `scaleViewport` or `resizeSession`, not both
126
132
  // Is a boolean indicating whether a dot cursor should be shown instead of a zero-sized
127
133
  // or fully-transparent cursor if the server sets such invisible cursor.
128
-
129
- vncRfb.current.showDotCursor = true; // Is a valid CSS background style value indicating
134
+ vncRfb.current.showDotCursor = true;
135
+ // Is a valid CSS background style value indicating
130
136
  // which background style should be applied to the element containing the remote session screen.
131
-
132
- vncRfb.current.background = VNC_BACKGROUND_COLOR; // ==============================
137
+ vncRfb.current.background = VNC_BACKGROUND_COLOR;
138
+ // ==============================
133
139
  // VNC events
134
140
  // ref: https://github.com/novnc/noVNC/blob/master/docs/API.md#events
135
141
  // ==============================
136
142
  // The connect event is fired when the RFB object has completed the connection and handshaking with the server.
137
143
  // - ref: https://github.com/novnc/noVNC/blob/master/docs/API.md#connect
138
-
139
- vncRfb.current.addEventListener('connect', () => {
144
+ vncRfb.current.addEventListener('connect', function () {
140
145
  if (typeof onConnect === 'function') {
141
146
  onConnect();
142
147
  }
143
- }); // The disconnect event is fired when the RFB object disconnects.
148
+ });
149
+ // The disconnect event is fired when the RFB object disconnects.
144
150
  // - ref: https://github.com/novnc/noVNC/blob/master/docs/API.md#disconnect
145
-
146
- vncRfb.current.addEventListener('disconnect', () => {
151
+ vncRfb.current.addEventListener('disconnect', function () {
147
152
  if (typeof onDisconnect === 'function') {
148
153
  onDisconnect();
149
154
  }
150
155
  });
151
- }, // eslint-disable-next-line react-hooks/exhaustive-deps
156
+ },
157
+ // eslint-disable-next-line react-hooks/exhaustive-deps
152
158
  [wsUri, roomToken, isVncScaledFromLocal]);
153
159
  /**
154
160
  * Disconnect VNC.
155
161
  */
156
-
157
- const disconnect = React__default["default"].useCallback(() => {
162
+ var disconnect = React__default["default"].useCallback(function () {
158
163
  var _a;
159
-
160
164
  if (typeof ((_a = vncRfb.current) === null || _a === void 0 ? void 0 : _a.disconnect) === 'function') {
161
165
  vncRfb.current.disconnect();
162
166
  vncRfb.current = null;
163
167
  }
164
-
165
168
  if (vncElRef.current) {
166
169
  vncElRef.current.innerHTML = '';
167
170
  }
@@ -170,15 +173,13 @@ const NoVnc = React.forwardRef(({
170
173
  * Reset VNC.
171
174
  * - note: https://www.notion.so/elice/elice-runner-v3-forwarder-4907ba8546274956b2f55c586df1641a#d61df659d91644db85a52fc148a69e13
172
175
  */
173
-
174
- const reset = React__default["default"].useCallback(() => {
176
+ var reset = React__default["default"].useCallback(function () {
175
177
  if (!vncRfb.current) {
176
178
  return;
177
- } //
179
+ }
180
+ //
178
181
  // FIXME: This code accesses to the internal of noVNC
179
182
  //
180
-
181
-
182
183
  vncRfb.current._rfbConnectionState = 'connecting';
183
184
  vncRfb.current._rfbInitState = 'ProtocolVersion';
184
185
  vncRfb.current._rfbTightVNC = false;
@@ -208,62 +209,64 @@ const NoVnc = React.forwardRef(({
208
209
  vncRfb.current._decoders[encodings.encodings.encodingHextile] = new RFB_decoders_hextile__default["default"]();
209
210
  vncRfb.current._decoders[encodings.encodings.encodingTight] = new RFB_decoders_tight__default["default"]();
210
211
  vncRfb.current._decoders[encodings.encodings.encodingTightPNG] = new RFB_decoders_tight_png__default["default"]();
211
-
212
212
  vncRfb.current._sock.flush();
213
-
214
213
  vncRfb.current._sock._allocateBuffers();
215
-
216
214
  vncRfb.current._sock._rQi = 0;
217
- vncRfb.current._sock._rQlen = 0; //
215
+ vncRfb.current._sock._rQlen = 0;
216
+ //
218
217
  // FIXME: This code accesses to the internal of noVNC
219
218
  //
220
- }, []); //
219
+ }, []);
220
+ //
221
221
  // Connect or disconnect VNC.
222
222
  //
223
-
224
223
  reactUse.useMount(connect);
225
- reactUse.useUnmount(disconnect); //
224
+ reactUse.useUnmount(disconnect);
225
+ //
226
226
  // Update VNC scale config.
227
227
  //
228
-
229
- reactUse.useUpdateEffect(() => {
228
+ reactUse.useUpdateEffect(function () {
230
229
  if (!vncRfb.current) {
231
230
  return;
232
231
  }
233
-
234
232
  vncRfb.current.scaleViewport = isVncScaledFromLocal;
235
233
  vncRfb.current.resizeSession = !isVncScaledFromLocal;
236
- }, // eslint-disable-next-line react-hooks/exhaustive-deps
237
- [isVncScaledFromLocal]); //
234
+ },
235
+ // eslint-disable-next-line react-hooks/exhaustive-deps
236
+ [isVncScaledFromLocal]);
238
237
  //
239
238
  //
240
-
241
- React__default["default"].useImperativeHandle(ref, () => ({
242
- connect,
243
- disconnect,
244
- reset
245
- }), [connect, disconnect, reset]);
239
+ //
240
+ React__default["default"].useImperativeHandle(ref, function () {
241
+ return {
242
+ connect: connect,
243
+ disconnect: disconnect,
244
+ reset: reset
245
+ };
246
+ }, [connect, disconnect, reset]);
246
247
  /**
247
248
  * Header.
248
249
  */
249
-
250
- const renderVncHeader = () => {
250
+ var renderVncHeader = function renderVncHeader() {
251
251
  return React__default["default"].createElement(React__default["default"].Fragment, null, React__default["default"].createElement(StyledHeaderTitle, null, React__default["default"].createElement(blocks.Text, {
252
252
  role: "white",
253
253
  size: "tiny"
254
- }, "\uC2E4\uD589 \uACB0\uACFC")), React__default["default"].createElement(StyledHeaderButtonGroup, null, React__default["default"].createElement(ExerciseMenuButton, {
254
+ }, "\uC2E4\uD589 \uACB0\uACFC")), React__default["default"].createElement(StyledHeaderButtonGroup, null, React__default["default"].createElement(ExerciseMenuButton["default"], {
255
255
  icon: isVncScaledFromLocal ? icons.eilViewMaximize : icons.eilViewMinimize,
256
256
  title: isRunning ? '실행 중에는 비율을 변경할 수 없습니다' : isVncScaledFromLocal ? '확대하여 보기' : '원본 비율로 보기',
257
257
  disabled: isRunning,
258
- onClick: () => setVncScaledFromLocal(prev => !prev)
258
+ onClick: function onClick() {
259
+ return setVncScaledFromLocal(function (prev) {
260
+ return !prev;
261
+ });
262
+ }
259
263
  }), React__default["default"].isValidElement(exercisePreviewDisplayModeButton) ? React__default["default"].cloneElement(exercisePreviewDisplayModeButton, {
260
264
  disabled: isRunning
261
265
  }) : null));
262
- }; //
266
+ };
267
+ //
263
268
  //
264
269
  //
265
-
266
-
267
270
  return React__default["default"].createElement(PreviewContainer["default"], {
268
271
  header: renderVncHeader()
269
272
  }, React__default["default"].createElement(StyledVncWrap, {
@@ -276,4 +279,4 @@ const NoVnc = React.forwardRef(({
276
279
  }))));
277
280
  });
278
281
 
279
- module.exports = NoVnc;
282
+ exports["default"] = NoVnc;
@@ -1,15 +1,17 @@
1
1
  'use strict';
2
2
 
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
3
5
  var React = require('react');
4
6
 
5
7
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
6
8
 
7
- function _interopNamespaceDefaultOnly (e) { return Object.freeze({ __proto__: null, 'default': e }); }
8
-
9
9
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
10
10
 
11
- const AsyncNoVnc = React__default["default"].lazy(() => Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefaultOnly(require('./NoVnc.js')); }));
12
- const NoVncLazy = React.forwardRef((props, ref) => {
11
+ var AsyncNoVnc = React__default["default"].lazy(function () {
12
+ return Promise.resolve().then(function () { return require('./NoVnc.js'); });
13
+ });
14
+ var NoVncLazy = React.forwardRef(function (props, ref) {
13
15
  return React__default["default"].createElement(React__default["default"].Suspense, {
14
16
  fallback: null
15
17
  }, React__default["default"].createElement(AsyncNoVnc, Object.assign({}, props, {
@@ -17,4 +19,4 @@ const NoVncLazy = React.forwardRef((props, ref) => {
17
19
  })));
18
20
  });
19
21
 
20
- module.exports = NoVncLazy;
22
+ exports["default"] = NoVncLazy;
@@ -11,20 +11,17 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
11
11
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
12
12
  var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
13
13
 
14
- const PREVIEW_CONTAINER_HEADER_HEIGHT = 36; // 2.25rem
15
-
16
- const PREVIEW_CONTAINER_HEADER_PADDING_TOP_BOTTOM = 4; // 0.25rem
17
-
18
- const StyledPreviewContainer = styled__default["default"].div.withConfig({
14
+ var PREVIEW_CONTAINER_HEADER_HEIGHT = 36; // 2.25rem
15
+ var PREVIEW_CONTAINER_HEADER_PADDING_TOP_BOTTOM = 4; // 0.25rem
16
+ var StyledPreviewContainer = styled__default["default"].div.withConfig({
19
17
  componentId: "sc-1oi07w2-0"
20
18
  })(["display:flex;flex-direction:column;width:100%;height:100%;background-color:", ";overflow:hidden;"], designTokens.base.color.white);
21
- const StyledPreviewHeader = styled__default["default"].div.withConfig({
19
+ var StyledPreviewHeader = styled__default["default"].div.withConfig({
22
20
  componentId: "sc-1oi07w2-1"
23
21
  })(["flex:0 0 ", "px;display:flex;align-items:center;padding:", "px 0.5rem;border-bottom:1px solid ", ";background-color:", ";"], PREVIEW_CONTAINER_HEADER_HEIGHT, PREVIEW_CONTAINER_HEADER_PADDING_TOP_BOTTOM, designTokens.base.color.navy7, designTokens.base.color.navy8);
24
- const PreviewContainer = React.forwardRef(({
25
- children,
26
- header
27
- }, ref) => {
22
+ var PreviewContainer = React.forwardRef(function (_ref, ref) {
23
+ var children = _ref.children,
24
+ header = _ref.header;
28
25
  return React__default["default"].createElement(StyledPreviewContainer, {
29
26
  ref: ref
30
27
  }, React__default["default"].createElement(StyledPreviewHeader, {
@@ -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 blocks = require('@elice/blocks');
5
8
  var designTokens = require('@elice/design-tokens');
@@ -13,40 +16,45 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
13
16
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
14
17
  var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
15
18
 
16
- const WEB_BROWSER_URL_INPUT_HEIGHT = PreviewContainer.PREVIEW_CONTAINER_HEADER_HEIGHT - PreviewContainer.PREVIEW_CONTAINER_HEADER_PADDING_TOP_BOTTOM * 2;
17
- const StyledHeaderUrlInput = styled__default["default"].input.withConfig({
19
+ var WEB_BROWSER_URL_INPUT_HEIGHT = PreviewContainer.PREVIEW_CONTAINER_HEADER_HEIGHT - PreviewContainer.PREVIEW_CONTAINER_HEADER_PADDING_TOP_BOTTOM * 2;
20
+ var StyledHeaderUrlInput = styled__default["default"].input.withConfig({
18
21
  componentId: "sc-1c55yq-0"
19
22
  })(["flex:1;min-width:0;height:", "px;padding:0.25rem 0.5rem;color:", ";background:", ";border:0;border-radius:0.25rem;&:active,&:focus{outline:none;}"], WEB_BROWSER_URL_INPUT_HEIGHT, designTokens.base.color.white, designTokens.base.color.navy6);
20
- const StyledIframe = styled__default["default"].iframe.withConfig({
23
+ var StyledIframe = styled__default["default"].iframe.withConfig({
21
24
  componentId: "sc-1c55yq-1"
22
25
  })(["flex:1;width:100%;height:100%;min-height:0;border:0;"]);
23
26
  /**
24
27
  * Attach `_cachebust` search parameter to the URL to prevent caching.
25
28
  */
26
-
27
- const createCacheBustedUrl = url => {
29
+ var createCacheBustedUrl = function createCacheBustedUrl(url) {
28
30
  try {
29
- const urlObject = new URL(url);
31
+ var urlObject = new URL(url);
30
32
  urlObject.searchParams.set('_cachebust', Date.now().toString());
31
33
  return urlObject.href;
32
34
  } catch (_) {
33
35
  return url;
34
36
  }
35
37
  };
36
-
37
- const WebBrowser = React.forwardRef(({
38
- httpUri,
39
- menuButtons = null
40
- }, ref) => {
41
- const [url, setUrl] = React__default["default"].useState('');
42
- const [inputUrl, setInputUrl] = React__default["default"].useState('');
43
- const iframeRef = React__default["default"].useRef(null);
44
- const iframeSrc = React__default["default"].useMemo(() => createCacheBustedUrl(url), [url]);
38
+ var WebBrowser = React.forwardRef(function (_ref, ref) {
39
+ var httpUri = _ref.httpUri,
40
+ _ref$menuButtons = _ref.menuButtons,
41
+ menuButtons = _ref$menuButtons === void 0 ? null : _ref$menuButtons;
42
+ var _React$useState = React__default["default"].useState(''),
43
+ _React$useState2 = _rollupPluginBabelHelpers.slicedToArray(_React$useState, 2),
44
+ url = _React$useState2[0],
45
+ setUrl = _React$useState2[1];
46
+ var _React$useState3 = React__default["default"].useState(''),
47
+ _React$useState4 = _rollupPluginBabelHelpers.slicedToArray(_React$useState3, 2),
48
+ inputUrl = _React$useState4[0],
49
+ setInputUrl = _React$useState4[1];
50
+ var iframeRef = React__default["default"].useRef(null);
51
+ var iframeSrc = React__default["default"].useMemo(function () {
52
+ return createCacheBustedUrl(url);
53
+ }, [url]);
45
54
  /**
46
55
  * Navigate browser.
47
56
  */
48
-
49
- const navigate = React__default["default"].useCallback(newUrl => {
57
+ var navigate = React__default["default"].useCallback(function (newUrl) {
50
58
  if (newUrl) {
51
59
  setUrl(newUrl);
52
60
  }
@@ -54,8 +62,7 @@ const WebBrowser = React.forwardRef(({
54
62
  /**
55
63
  * Reload browser.
56
64
  */
57
-
58
- const reload = React__default["default"].useCallback(() => {
65
+ var reload = React__default["default"].useCallback(function () {
59
66
  if (iframeRef.current) {
60
67
  iframeRef.current.src = createCacheBustedUrl(iframeRef.current.src);
61
68
  }
@@ -63,10 +70,8 @@ const WebBrowser = React.forwardRef(({
63
70
  /**
64
71
  * New window open click.
65
72
  */
66
-
67
- const handleNewWindowClick = () => {
68
- const win = window.open(url, '_blank');
69
-
73
+ var handleNewWindowClick = function handleNewWindowClick() {
74
+ var win = window.open(url, '_blank');
70
75
  if (win) {
71
76
  win.focus();
72
77
  }
@@ -74,19 +79,15 @@ const WebBrowser = React.forwardRef(({
74
79
  /**
75
80
  * Handle url input change.
76
81
  */
77
-
78
-
79
- const handleUrlInputChange = e => {
80
- const value = e.target.value; // prevent removal of origin url (props.httpUri)
81
-
82
+ var handleUrlInputChange = function handleUrlInputChange(e) {
83
+ var value = e.target.value;
84
+ // prevent removal of origin url (props.httpUri)
82
85
  setInputUrl(value.startsWith(httpUri) ? value : httpUri);
83
86
  };
84
87
  /**
85
88
  * Handle url input Enter key down.
86
89
  */
87
-
88
-
89
- const handleUrlInputKeyDown = e => {
90
+ var handleUrlInputKeyDown = function handleUrlInputKeyDown(e) {
90
91
  if (e.key === 'Enter') {
91
92
  e.preventDefault();
92
93
  navigate(inputUrl);
@@ -95,44 +96,41 @@ const WebBrowser = React.forwardRef(({
95
96
  /**
96
97
  * Handle iframe load.
97
98
  */
98
-
99
-
100
- const handleIframeLoad = () => {
99
+ var handleIframeLoad = function handleIframeLoad() {
101
100
  var _a, _b, _c;
102
-
103
101
  try {
104
- const iframeUrl = (_c = (_b = (_a = iframeRef.current) === null || _a === void 0 ? void 0 : _a.contentWindow) === null || _b === void 0 ? void 0 : _b.location) === null || _c === void 0 ? void 0 : _c.href;
105
-
102
+ var iframeUrl = (_c = (_b = (_a = iframeRef.current) === null || _a === void 0 ? void 0 : _a.contentWindow) === null || _b === void 0 ? void 0 : _b.location) === null || _c === void 0 ? void 0 : _c.href;
106
103
  if (iframeUrl) {
107
104
  setInputUrl(iframeUrl);
108
105
  }
109
- } catch (err) {// SecurityError : can be raised on the cross-origin environment!
106
+ } catch (err) {
107
+ // SecurityError : can be raised on the cross-origin environment!
110
108
  // do nothing.
111
109
  }
112
- }; //
110
+ };
111
+ //
113
112
  // Change url on new httpUri provided.
114
113
  //
115
-
116
-
117
- React__default["default"].useEffect(() => {
114
+ React__default["default"].useEffect(function () {
118
115
  setUrl(httpUri);
119
116
  setInputUrl(httpUri);
120
- }, [httpUri]); //
117
+ }, [httpUri]);
121
118
  //
122
119
  //
123
-
124
- React__default["default"].useImperativeHandle(ref, () => ({
125
- navigate,
126
- reload
127
- }), [navigate, reload]);
120
+ //
121
+ React__default["default"].useImperativeHandle(ref, function () {
122
+ return {
123
+ navigate: navigate,
124
+ reload: reload
125
+ };
126
+ }, [navigate, reload]);
128
127
  /**
129
128
  * Browser header.
130
129
  */
131
-
132
- const renderBrowserHeader = () => {
130
+ var renderBrowserHeader = function renderBrowserHeader() {
133
131
  return React__default["default"].createElement(React__default["default"].Fragment, null, React__default["default"].createElement(blocks.Flex, {
134
132
  marginright: "0.25rem"
135
- }, React__default["default"].createElement(ExerciseMenuButton, {
133
+ }, React__default["default"].createElement(ExerciseMenuButton["default"], {
136
134
  icon: icons.eilRetry,
137
135
  title: "\uC0C8\uB85C\uACE0\uCE68",
138
136
  placement: "bottom-start",
@@ -143,7 +141,7 @@ const WebBrowser = React.forwardRef(({
143
141
  onKeyDown: handleUrlInputKeyDown
144
142
  }), React__default["default"].createElement(blocks.Flex, {
145
143
  marginleft: "0.25rem"
146
- }, React__default["default"].createElement(ExerciseMenuButton, {
144
+ }, React__default["default"].createElement(ExerciseMenuButton["default"], {
147
145
  icon: icons.eilNewWindow,
148
146
  title: "\uC0C8\uCC3D\uC73C\uB85C \uC5F4\uAE30",
149
147
  placement: "bottom-end",
@@ -153,23 +151,20 @@ const WebBrowser = React.forwardRef(({
153
151
  /**
154
152
  * Browser content.
155
153
  */
156
-
157
-
158
- const renderBrowserBody = () => {
154
+ var renderBrowserBody = function renderBrowserBody() {
159
155
  return React__default["default"].createElement(StyledIframe, {
160
156
  src: iframeSrc,
161
157
  title: url,
162
158
  onLoad: handleIframeLoad,
163
159
  ref: iframeRef
164
160
  });
165
- }; //
161
+ };
162
+ //
166
163
  //
167
164
  //
168
-
169
-
170
165
  return React__default["default"].createElement(PreviewContainer["default"], {
171
166
  header: renderBrowserHeader()
172
167
  }, renderBrowserBody());
173
168
  });
174
169
 
175
- module.exports = WebBrowser;
170
+ exports["default"] = WebBrowser;