@elice/material-exercise 1.240718.0-trasncript.2 → 1.240718.2

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 (459) hide show
  1. package/cjs/assets/empty.png.js +2 -1
  2. package/cjs/components/material-exercise/MaterialExercise.d.ts +1 -1
  3. package/cjs/components/material-exercise/MaterialExercise.js +75 -111
  4. package/cjs/components/material-exercise/MaterialExercise.styled.js +14 -18
  5. package/cjs/components/material-exercise/MaterialExerciseMobile.d.ts +1 -1
  6. package/cjs/components/material-exercise/MaterialExerciseMobile.js +7 -17
  7. package/cjs/components/material-exercise/context/ExerciseProvider.js +58 -68
  8. package/cjs/components/material-exercise/context/ExerciseProviderNoImage.js +30 -39
  9. package/cjs/components/material-exercise/context/context.js +1 -5
  10. package/cjs/components/material-exercise/context/recoil.js +293 -542
  11. package/cjs/components/material-exercise/context/subjects.js +4 -4
  12. package/cjs/components/material-exercise/context/types.d.ts +2 -2
  13. package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.js +78 -100
  14. package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.js +8 -12
  15. package/cjs/components/material-exercise/exercise-file/ExerciseFile.js +27 -30
  16. package/cjs/components/material-exercise/exercise-file-editor/ExerciseFileEditor.js +149 -225
  17. package/cjs/components/material-exercise/exercise-file-editor/ExerciseFileReadOnlyBanner.js +13 -20
  18. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabs.js +29 -49
  19. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.d.ts +2 -1
  20. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.js +4 -10
  21. package/cjs/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/ExerciseFileTabsFileTreeButton.js +36 -53
  22. package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTree.js +211 -353
  23. package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.d.ts +2 -1
  24. package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.js +4 -10
  25. package/cjs/components/material-exercise/exercise-file-viewer/ExerciseFileViewer.js +15 -18
  26. package/cjs/components/material-exercise/exercise-menu/ExerciseMenu.js +12 -21
  27. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.js +11 -12
  28. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.js +80 -123
  29. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuDropdown.js +67 -100
  30. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuReset.js +22 -40
  31. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.js +119 -144
  32. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.js +13 -17
  33. package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdown.js +19 -32
  34. package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.d.ts +2 -1
  35. package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.js +4 -10
  36. package/cjs/components/material-exercise/exercise-preview/ExercisePreview.js +24 -31
  37. package/cjs/components/material-exercise/exercise-preview/ExercisePreviewDisplayModeButton.js +6 -13
  38. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpane.js +35 -51
  39. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpaneEditorPerference.js +6 -14
  40. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpaneEnvironment.js +78 -90
  41. package/cjs/components/material-exercise/exercise-room/ExerciseRoom.js +12 -25
  42. package/cjs/components/material-exercise/exercise-room/ExerciseRoom.styled.js +12 -18
  43. package/cjs/components/material-exercise/exercise-room/ExerciseRoomDetail.js +349 -504
  44. package/cjs/components/material-exercise/exercise-room/ExerciseRoomList.js +132 -197
  45. package/cjs/components/material-exercise/exercise-room/helpers/exerciseRoomPermissionStringConvertor.js +2 -2
  46. package/cjs/components/material-exercise/exercise-runner/ExerciseRunner.js +142 -205
  47. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerContext.js +1 -5
  48. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerController.js +16 -25
  49. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.js +86 -118
  50. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.js +19 -33
  51. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js +82 -95
  52. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.js +52 -68
  53. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerRunningInfo.js +87 -136
  54. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusIndicator.js +2 -6
  55. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusMessage.js +15 -21
  56. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerTimer.js +23 -36
  57. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.js +248 -402
  58. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.styled.js +8 -12
  59. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistoryOutput.js +50 -74
  60. package/cjs/components/shared/exercise-menu-button/ExerciseMenuButton.js +23 -32
  61. package/cjs/components/shared/exercise-shimmer/ExerciseFileShimmer.js +38 -44
  62. package/cjs/components/shared/exercise-shimmer/ExerciseFileTabShimmer.js +20 -26
  63. package/cjs/components/shared/exercise-shimmer/ExerciseFileTabsShimmer.js +8 -14
  64. package/cjs/components/shared/exercise-shimmer/ExerciseFileTreeListItemShimmer.js +22 -28
  65. package/cjs/components/shared/exercise-shimmer/ExerciseFileTreeListShimmer.js +9 -24
  66. package/cjs/components/shared/exercise-version-list/ExerciseVersionList.js +5 -6
  67. package/cjs/components/shared/exercise-version-list/ExerciseVersionList.styled.js +1 -5
  68. package/cjs/components/shared/exercise-version-list/ExerciseVersionListItem.js +10 -10
  69. package/cjs/components/shared/exercise-version-list/ExerciseVersionListItem.styled.js +5 -13
  70. package/cjs/components/shared/file-icon/FileIcon.js +16 -23
  71. package/cjs/components/shared/file-tabs/FileTab.js +33 -47
  72. package/cjs/components/shared/file-tabs/FileTab.styled.js +15 -23
  73. package/cjs/components/shared/file-tabs/FileTabs.js +39 -66
  74. package/cjs/components/shared/file-tabs/FileTabs.styled.js +2 -6
  75. package/cjs/components/shared/file-tabs/util.js +14 -27
  76. package/cjs/components/shared/file-tree/FileTree.js +10 -20
  77. package/cjs/components/shared/file-tree/FileTreeConfig.js +40 -46
  78. package/cjs/components/shared/file-tree/FileTreeList.js +40 -43
  79. package/cjs/components/shared/file-tree/FileTreeListItemContent.js +99 -128
  80. package/cjs/components/shared/file-tree/FileTreeListItemContent.styled.js +21 -29
  81. package/cjs/components/shared/file-tree/FileTreeListItemContentInput.js +96 -106
  82. package/cjs/components/shared/file-tree/FileTreeListItemContentInput.styled.js +6 -10
  83. package/cjs/components/shared/file-tree/FileTreeListItemContentMenu.js +91 -133
  84. package/cjs/components/shared/file-tree/FileTreeListItems.js +137 -149
  85. package/cjs/components/shared/file-tree/FileTreeListItems.styled.js +2 -6
  86. package/cjs/components/shared/file-tree/FileTreeToolbar.styled.js +1 -5
  87. package/cjs/components/shared/file-tree/context/FileTreeContext.d.ts +1 -1
  88. package/cjs/components/shared/file-tree/context/FileTreeContext.js +79 -101
  89. package/cjs/components/shared/file-tree/file-tree-toolbar/FileTreeToolbar.js +54 -59
  90. package/cjs/components/shared/file-tree/utils/fileTreeFiles.js +20 -24
  91. package/cjs/components/shared/file-tree/utils/fileTreeGenerator.js +146 -193
  92. package/cjs/components/shared/file-tree/utils/fileTreeInput.js +0 -11
  93. package/cjs/components/shared/file-tree/utils/fileTreeItem.js +1 -1
  94. package/cjs/components/shared/file-tree/utils/fileTreePath.js +6 -5
  95. package/cjs/components/shared/file-viewer/FileViewer.js +46 -76
  96. package/cjs/components/shared/file-viewer/FileViewerCsv.js +167 -262
  97. package/cjs/components/shared/file-viewer/FileViewerImage.js +12 -16
  98. package/cjs/components/shared/file-viewer/FileViewerIpynb.js +11 -27
  99. package/cjs/components/shared/file-viewer/FileViewerNonViewable.js +47 -65
  100. package/cjs/components/shared/file-viewer/FileViewerText.js +11 -23
  101. package/cjs/components/shared/material-modal/MaterialModal.js +11 -20
  102. package/cjs/components/shared/material-modal/MaterialModal.styled.js +5 -9
  103. package/cjs/components/shared/monaco-editor/MonacoEditor.js +74 -102
  104. package/cjs/components/shared/monaco-editor/MonacoEditorLazy.js +7 -15
  105. package/cjs/components/shared/monaco-editor/MonacoEditorMobile.js +34 -49
  106. package/cjs/components/shared/monaco-editor/MonacoEditorPerferenceForm.js +194 -249
  107. package/cjs/components/shared/monaco-editor/constants/grammars/index.js +28 -82
  108. package/cjs/components/shared/monaco-editor/constants/monaco/preferences.js +5 -5
  109. package/cjs/components/shared/monaco-editor/constants/themes/index.js +17 -49
  110. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventChange.js +10 -11
  111. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventCursor.js +14 -15
  112. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventScroll.js +8 -9
  113. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoMarkers.js +30 -34
  114. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoOptions.js +7 -9
  115. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoTheme.js +6 -6
  116. package/cjs/components/shared/monaco-editor/editor-languages/css/formatter.js +10 -33
  117. package/cjs/components/shared/monaco-editor/editor-languages/css/index.js +2 -3
  118. package/cjs/components/shared/monaco-editor/editor-languages/html/formatter.js +10 -33
  119. package/cjs/components/shared/monaco-editor/editor-languages/html/index.js +2 -3
  120. package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/_helper.js +1 -1
  121. package/cjs/components/shared/monaco-editor/editor-languages/typescript/formatter.js +10 -37
  122. package/cjs/components/shared/monaco-editor/editor-languages/typescript/index.js +5 -6
  123. package/cjs/components/shared/monaco-editor/hooks/useEditorOptions.js +5 -11
  124. package/cjs/components/shared/monaco-editor/utils/emmet/abbreviationActions.js +12 -10
  125. package/cjs/components/shared/monaco-editor/utils/emmet/registerProvider.js +6 -12
  126. package/cjs/components/shared/monaco-editor/utils/grammar/index.js +24 -67
  127. package/cjs/components/shared/monaco-editor/utils/grammar/onigasm.js +6 -25
  128. package/cjs/components/shared/monaco-editor/utils/grammar/textmate.js +37 -70
  129. package/cjs/components/shared/monaco-editor/utils/monacoLanguage.js +7 -8
  130. package/cjs/components/shared/monaco-editor/utils/monacoPreference.js +4 -6
  131. package/cjs/components/shared/monaco-editor/utils/prettier/config.js +2 -2
  132. package/cjs/components/shared/monaco-editor/utils/prettier/index.js +7 -27
  133. package/cjs/components/shared/monaco-editor/utils/theme/convert.js +14 -24
  134. package/cjs/components/shared/monaco-editor/utils/theme/index.js +3 -22
  135. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursor.js +56 -77
  136. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorManager.js +68 -82
  137. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorWidget.js +93 -120
  138. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelection.js +132 -155
  139. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelectionManager.js +92 -104
  140. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/styles.js +2 -2
  141. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/configCompat.js +6 -1
  142. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/data.js +2 -2
  143. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/emmetHelper.js +158 -177
  144. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/utils.js +3 -3
  145. package/cjs/components/shared/no-vnc/NoVnc.js +78 -118
  146. package/cjs/components/shared/no-vnc/NoVncLazy.js +7 -15
  147. package/cjs/components/shared/preview-container/PreviewContainer.js +13 -18
  148. package/cjs/components/shared/web-browser/WebBrowser.js +52 -74
  149. package/cjs/components/shared/xterm/Xterm.js +57 -82
  150. package/cjs/components/shared/xterm/XtermLazy.js +7 -15
  151. package/cjs/constants/arduino.js +10 -10
  152. package/cjs/constants/color.js +1 -1
  153. package/cjs/constants/shortcutKeyMap.js +1 -3
  154. package/cjs/constants/stylesheets.js +5 -7
  155. package/cjs/hooks/useArduino.js +141 -282
  156. package/cjs/hooks/useExerciseFile.js +22 -24
  157. package/cjs/hooks/useExericseShortcut.js +4 -6
  158. package/cjs/hooks/useMaterialExerciseFileUrl.js +33 -55
  159. package/cjs/hooks/useRunnerRoomWebSocket.js +27 -51
  160. package/cjs/hooks/useStdioTextConcator.js +11 -15
  161. package/cjs/hooks/useStdioWebSocket.js +28 -32
  162. package/cjs/hooks/useUsercodeEditWebSocket.js +158 -238
  163. package/cjs/hooks/useUsercodeHistory.js +63 -115
  164. package/cjs/utils/arduino.js +11 -23
  165. package/cjs/utils/exerciseFile.js +10 -8
  166. package/cjs/utils/runner.js +17 -33
  167. package/es/assets/empty.png.js +2 -1
  168. package/es/components/material-exercise/MaterialExercise.d.ts +1 -1
  169. package/es/components/material-exercise/MaterialExercise.js +75 -107
  170. package/es/components/material-exercise/MaterialExercise.styled.js +14 -14
  171. package/es/components/material-exercise/MaterialExerciseMobile.d.ts +1 -1
  172. package/es/components/material-exercise/MaterialExerciseMobile.js +7 -13
  173. package/es/components/material-exercise/context/ExerciseProvider.js +58 -63
  174. package/es/components/material-exercise/context/ExerciseProviderNoImage.js +30 -35
  175. package/es/components/material-exercise/context/context.js +1 -1
  176. package/es/components/material-exercise/context/recoil.js +290 -535
  177. package/es/components/material-exercise/context/subjects.js +4 -4
  178. package/es/components/material-exercise/context/types.d.ts +2 -2
  179. package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.js +78 -95
  180. package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.js +8 -8
  181. package/es/components/material-exercise/exercise-file/ExerciseFile.js +27 -25
  182. package/es/components/material-exercise/exercise-file-editor/ExerciseFileEditor.js +149 -221
  183. package/es/components/material-exercise/exercise-file-editor/ExerciseFileReadOnlyBanner.js +13 -15
  184. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabs.js +29 -44
  185. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.d.ts +2 -1
  186. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.js +4 -6
  187. package/es/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/ExerciseFileTabsFileTreeButton.js +36 -48
  188. package/es/components/material-exercise/exercise-file-tree/ExerciseFileTree.js +211 -348
  189. package/es/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.d.ts +2 -1
  190. package/es/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.js +4 -6
  191. package/es/components/material-exercise/exercise-file-viewer/ExerciseFileViewer.js +15 -14
  192. package/es/components/material-exercise/exercise-menu/ExerciseMenu.js +12 -16
  193. package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.js +11 -12
  194. package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.js +80 -119
  195. package/es/components/material-exercise/exercise-menu/ExerciseMenuDropdown.js +67 -96
  196. package/es/components/material-exercise/exercise-menu/ExerciseMenuReset.js +23 -41
  197. package/es/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.js +122 -143
  198. package/es/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.js +13 -13
  199. package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdown.js +19 -28
  200. package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.d.ts +2 -1
  201. package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.js +4 -6
  202. package/es/components/material-exercise/exercise-preview/ExercisePreview.js +24 -26
  203. package/es/components/material-exercise/exercise-preview/ExercisePreviewDisplayModeButton.js +7 -14
  204. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpane.js +35 -47
  205. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpaneEditorPerference.js +6 -10
  206. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpaneEnvironment.js +78 -85
  207. package/es/components/material-exercise/exercise-room/ExerciseRoom.js +12 -21
  208. package/es/components/material-exercise/exercise-room/ExerciseRoom.styled.js +12 -14
  209. package/es/components/material-exercise/exercise-room/ExerciseRoomDetail.js +349 -498
  210. package/es/components/material-exercise/exercise-room/ExerciseRoomList.js +133 -193
  211. package/es/components/material-exercise/exercise-room/helpers/exerciseRoomPermissionStringConvertor.js +2 -2
  212. package/es/components/material-exercise/exercise-runner/ExerciseRunner.js +142 -200
  213. package/es/components/material-exercise/exercise-runner/ExerciseRunnerContext.js +1 -1
  214. package/es/components/material-exercise/exercise-runner/ExerciseRunnerController.js +16 -20
  215. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.js +85 -112
  216. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.js +20 -30
  217. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js +82 -90
  218. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.js +52 -63
  219. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerRunningInfo.js +87 -131
  220. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusIndicator.js +2 -2
  221. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusMessage.js +15 -17
  222. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerTimer.js +23 -31
  223. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.js +250 -399
  224. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.styled.js +8 -8
  225. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistoryOutput.js +49 -68
  226. package/es/components/shared/exercise-menu-button/ExerciseMenuButton.js +24 -29
  227. package/es/components/shared/exercise-shimmer/ExerciseFileShimmer.js +38 -40
  228. package/es/components/shared/exercise-shimmer/ExerciseFileTabShimmer.js +20 -22
  229. package/es/components/shared/exercise-shimmer/ExerciseFileTabsShimmer.js +8 -10
  230. package/es/components/shared/exercise-shimmer/ExerciseFileTreeListItemShimmer.js +22 -24
  231. package/es/components/shared/exercise-shimmer/ExerciseFileTreeListShimmer.js +9 -19
  232. package/es/components/shared/exercise-version-list/ExerciseVersionList.js +5 -6
  233. package/es/components/shared/exercise-version-list/ExerciseVersionList.styled.js +1 -1
  234. package/es/components/shared/exercise-version-list/ExerciseVersionListItem.js +10 -10
  235. package/es/components/shared/exercise-version-list/ExerciseVersionListItem.styled.js +5 -9
  236. package/es/components/shared/file-icon/FileIcon.js +16 -19
  237. package/es/components/shared/file-tabs/FileTab.js +33 -43
  238. package/es/components/shared/file-tabs/FileTab.styled.js +15 -19
  239. package/es/components/shared/file-tabs/FileTabs.js +40 -62
  240. package/es/components/shared/file-tabs/FileTabs.styled.js +2 -2
  241. package/es/components/shared/file-tabs/util.js +14 -27
  242. package/es/components/shared/file-tree/FileTree.js +10 -16
  243. package/es/components/shared/file-tree/FileTreeConfig.js +39 -39
  244. package/es/components/shared/file-tree/FileTreeList.js +40 -38
  245. package/es/components/shared/file-tree/FileTreeListItemContent.js +99 -124
  246. package/es/components/shared/file-tree/FileTreeListItemContent.styled.js +21 -25
  247. package/es/components/shared/file-tree/FileTreeListItemContentInput.js +96 -102
  248. package/es/components/shared/file-tree/FileTreeListItemContentInput.styled.js +6 -6
  249. package/es/components/shared/file-tree/FileTreeListItemContentMenu.js +91 -129
  250. package/es/components/shared/file-tree/FileTreeListItems.js +137 -149
  251. package/es/components/shared/file-tree/FileTreeListItems.styled.js +2 -2
  252. package/es/components/shared/file-tree/FileTreeToolbar.styled.js +1 -1
  253. package/es/components/shared/file-tree/context/FileTreeContext.d.ts +1 -1
  254. package/es/components/shared/file-tree/context/FileTreeContext.js +79 -97
  255. package/es/components/shared/file-tree/file-tree-toolbar/FileTreeToolbar.js +54 -55
  256. package/es/components/shared/file-tree/utils/fileTreeFiles.js +20 -20
  257. package/es/components/shared/file-tree/utils/fileTreeGenerator.js +146 -193
  258. package/es/components/shared/file-tree/utils/fileTreeInput.js +1 -11
  259. package/es/components/shared/file-tree/utils/fileTreeItem.js +1 -1
  260. package/es/components/shared/file-tree/utils/fileTreePath.js +6 -5
  261. package/es/components/shared/file-viewer/FileViewer.js +46 -69
  262. package/es/components/shared/file-viewer/FileViewerCsv.js +167 -257
  263. package/es/components/shared/file-viewer/FileViewerImage.js +12 -12
  264. package/es/components/shared/file-viewer/FileViewerIpynb.js +11 -21
  265. package/es/components/shared/file-viewer/FileViewerNonViewable.js +47 -60
  266. package/es/components/shared/file-viewer/FileViewerText.js +11 -19
  267. package/es/components/shared/material-modal/MaterialModal.js +11 -20
  268. package/es/components/shared/material-modal/MaterialModal.styled.js +5 -5
  269. package/es/components/shared/monaco-editor/MonacoEditor.js +72 -95
  270. package/es/components/shared/monaco-editor/MonacoEditorLazy.js +7 -11
  271. package/es/components/shared/monaco-editor/MonacoEditorMobile.js +32 -43
  272. package/es/components/shared/monaco-editor/MonacoEditorPerferenceForm.js +194 -244
  273. package/es/components/shared/monaco-editor/constants/grammars/index.js +28 -82
  274. package/es/components/shared/monaco-editor/constants/monaco/preferences.js +5 -5
  275. package/es/components/shared/monaco-editor/constants/themes/index.js +17 -49
  276. package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventChange.js +10 -11
  277. package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventCursor.js +14 -15
  278. package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventScroll.js +8 -9
  279. package/es/components/shared/monaco-editor/editor-hooks/useMonacoMarkers.js +30 -34
  280. package/es/components/shared/monaco-editor/editor-hooks/useMonacoOptions.js +7 -9
  281. package/es/components/shared/monaco-editor/editor-hooks/useMonacoTheme.js +6 -6
  282. package/es/components/shared/monaco-editor/editor-languages/css/formatter.js +10 -33
  283. package/es/components/shared/monaco-editor/editor-languages/html/formatter.js +10 -33
  284. package/es/components/shared/monaco-editor/editor-languages/typescript/dts/_helper.js +1 -1
  285. package/es/components/shared/monaco-editor/editor-languages/typescript/formatter.js +10 -37
  286. package/es/components/shared/monaco-editor/editor-languages/typescript/index.js +3 -3
  287. package/es/components/shared/monaco-editor/hooks/useEditorOptions.js +5 -11
  288. package/es/components/shared/monaco-editor/utils/emmet/abbreviationActions.js +12 -10
  289. package/es/components/shared/monaco-editor/utils/emmet/registerProvider.js +6 -12
  290. package/es/components/shared/monaco-editor/utils/grammar/index.js +24 -67
  291. package/es/components/shared/monaco-editor/utils/grammar/onigasm.js +6 -25
  292. package/es/components/shared/monaco-editor/utils/grammar/textmate.js +35 -67
  293. package/es/components/shared/monaco-editor/utils/monacoLanguage.js +5 -5
  294. package/es/components/shared/monaco-editor/utils/monacoPreference.js +4 -6
  295. package/es/components/shared/monaco-editor/utils/prettier/config.js +2 -2
  296. package/es/components/shared/monaco-editor/utils/prettier/index.js +7 -27
  297. package/es/components/shared/monaco-editor/utils/theme/convert.js +13 -19
  298. package/es/components/shared/monaco-editor/utils/theme/index.js +3 -22
  299. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursor.js +56 -77
  300. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorManager.js +68 -82
  301. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorWidget.js +93 -120
  302. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelection.js +130 -152
  303. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelectionManager.js +92 -104
  304. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/styles.js +2 -2
  305. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/configCompat.js +6 -1
  306. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/data.js +2 -2
  307. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/emmetHelper.js +156 -171
  308. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/utils.js +3 -3
  309. package/es/components/shared/no-vnc/NoVnc.js +71 -99
  310. package/es/components/shared/no-vnc/NoVncLazy.js +7 -11
  311. package/es/components/shared/preview-container/PreviewContainer.js +14 -15
  312. package/es/components/shared/web-browser/WebBrowser.js +52 -69
  313. package/es/components/shared/xterm/Xterm.js +57 -77
  314. package/es/components/shared/xterm/XtermLazy.js +7 -11
  315. package/es/constants/arduino.js +10 -10
  316. package/es/constants/color.js +1 -1
  317. package/es/constants/shortcutKeyMap.js +1 -3
  318. package/es/constants/stylesheets.js +5 -7
  319. package/es/hooks/useArduino.js +141 -278
  320. package/es/hooks/useExerciseFile.js +22 -24
  321. package/es/hooks/useExericseShortcut.js +4 -6
  322. package/es/hooks/useMaterialExerciseFileUrl.js +34 -52
  323. package/es/hooks/useRunnerRoomWebSocket.js +27 -51
  324. package/es/hooks/useStdioTextConcator.js +11 -11
  325. package/es/hooks/useStdioWebSocket.js +28 -32
  326. package/es/hooks/useUsercodeEditWebSocket.js +157 -232
  327. package/es/hooks/useUsercodeHistory.js +63 -115
  328. package/es/utils/arduino.js +12 -24
  329. package/es/utils/exerciseFile.js +10 -8
  330. package/es/utils/runner.js +17 -33
  331. package/package.json +15 -11
  332. package/cjs/_virtual/_rollupPluginBabelHelpers.js +0 -519
  333. package/cjs/components/index.js +0 -25
  334. package/cjs/components/locales/index.js +0 -13
  335. package/cjs/components/material-exercise/context/index.js +0 -57
  336. package/cjs/components/material-exercise/exercise-code-history/index.js +0 -7
  337. package/cjs/components/material-exercise/exercise-code-history/locales/index.js +0 -13
  338. package/cjs/components/material-exercise/exercise-file/index.js +0 -7
  339. package/cjs/components/material-exercise/exercise-file-editor/index.js +0 -7
  340. package/cjs/components/material-exercise/exercise-file-editor/locales/index.js +0 -13
  341. package/cjs/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/index.js +0 -7
  342. package/cjs/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/locales/index.js +0 -13
  343. package/cjs/components/material-exercise/exercise-file-tabs/index.js +0 -9
  344. package/cjs/components/material-exercise/exercise-file-tabs/locales/index.js +0 -13
  345. package/cjs/components/material-exercise/exercise-file-tree/index.js +0 -9
  346. package/cjs/components/material-exercise/exercise-file-tree/locales/index.js +0 -13
  347. package/cjs/components/material-exercise/exercise-file-viewer/index.js +0 -7
  348. package/cjs/components/material-exercise/exercise-menu/index.js +0 -7
  349. package/cjs/components/material-exercise/exercise-menu/locales/index.js +0 -13
  350. package/cjs/components/material-exercise/exercise-multilang-dropdown/index.js +0 -9
  351. package/cjs/components/material-exercise/exercise-preview/index.js +0 -7
  352. package/cjs/components/material-exercise/exercise-preview/locales/index.js +0 -13
  353. package/cjs/components/material-exercise/exercise-rightpane/index.js +0 -7
  354. package/cjs/components/material-exercise/exercise-rightpane/locales/index.js +0 -13
  355. package/cjs/components/material-exercise/exercise-room/helpers/index.js +0 -7
  356. package/cjs/components/material-exercise/exercise-room/index.js +0 -7
  357. package/cjs/components/material-exercise/exercise-room/locales/index.js +0 -13
  358. package/cjs/components/material-exercise/exercise-runner/index.js +0 -7
  359. package/cjs/components/material-exercise/exercise-runner/locales/index.js +0 -13
  360. package/cjs/components/material-exercise/exercise-submit-history/index.js +0 -7
  361. package/cjs/components/material-exercise/exercise-submit-history/locales/index.js +0 -13
  362. package/cjs/components/material-exercise/index.js +0 -9
  363. package/cjs/components/shared/exercise-menu-button/index.js +0 -7
  364. package/cjs/components/shared/exercise-shimmer/index.js +0 -15
  365. package/cjs/components/shared/exercise-version-list/index.js +0 -9
  366. package/cjs/components/shared/file-icon/index.js +0 -7
  367. package/cjs/components/shared/file-tabs/index.js +0 -7
  368. package/cjs/components/shared/file-tree/context/index.js +0 -9
  369. package/cjs/components/shared/file-tree/file-tree-toolbar/index.js +0 -7
  370. package/cjs/components/shared/file-tree/file-tree-toolbar/locales/index.js +0 -13
  371. package/cjs/components/shared/file-tree/index.js +0 -7
  372. package/cjs/components/shared/file-tree/locales/index.js +0 -13
  373. package/cjs/components/shared/file-tree/utils/index.js +0 -20
  374. package/cjs/components/shared/file-viewer/index.js +0 -7
  375. package/cjs/components/shared/file-viewer/locales/index.js +0 -21
  376. package/cjs/components/shared/material-modal/index.js +0 -7
  377. package/cjs/components/shared/monaco-editor/constants/index.js +0 -13
  378. package/cjs/components/shared/monaco-editor/constants/monaco/index.js +0 -11
  379. package/cjs/components/shared/monaco-editor/editor-hooks/index.js +0 -17
  380. package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/index.js +0 -11
  381. package/cjs/components/shared/monaco-editor/hooks/index.js +0 -7
  382. package/cjs/components/shared/monaco-editor/index.js +0 -21
  383. package/cjs/components/shared/monaco-editor/locales/index.js +0 -13
  384. package/cjs/components/shared/monaco-editor/utils/emmet/index.js +0 -9
  385. package/cjs/components/shared/monaco-editor/utils/index.js +0 -9
  386. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/index.js +0 -12
  387. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/index.js +0 -11
  388. package/cjs/components/shared/no-vnc/index.js +0 -7
  389. package/cjs/components/shared/preview-container/index.js +0 -9
  390. package/cjs/components/shared/web-browser/index.js +0 -7
  391. package/cjs/components/shared/xterm/index.js +0 -7
  392. package/cjs/components/shared/xterm/locales/index.js +0 -13
  393. package/cjs/constants/index.js +0 -7
  394. package/cjs/hooks/index.js +0 -20
  395. package/cjs/utils/index.js +0 -10
  396. package/es/_virtual/_rollupPluginBabelHelpers.js +0 -499
  397. package/es/components/index.js +0 -8
  398. package/es/components/locales/index.js +0 -4
  399. package/es/components/material-exercise/context/index.js +0 -5
  400. package/es/components/material-exercise/exercise-code-history/index.js +0 -1
  401. package/es/components/material-exercise/exercise-code-history/locales/index.js +0 -4
  402. package/es/components/material-exercise/exercise-file/index.js +0 -1
  403. package/es/components/material-exercise/exercise-file-editor/index.js +0 -1
  404. package/es/components/material-exercise/exercise-file-editor/locales/index.js +0 -4
  405. package/es/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/index.js +0 -1
  406. package/es/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/locales/index.js +0 -4
  407. package/es/components/material-exercise/exercise-file-tabs/index.js +0 -2
  408. package/es/components/material-exercise/exercise-file-tabs/locales/index.js +0 -4
  409. package/es/components/material-exercise/exercise-file-tree/index.js +0 -2
  410. package/es/components/material-exercise/exercise-file-tree/locales/index.js +0 -4
  411. package/es/components/material-exercise/exercise-file-viewer/index.js +0 -1
  412. package/es/components/material-exercise/exercise-menu/index.js +0 -1
  413. package/es/components/material-exercise/exercise-menu/locales/index.js +0 -4
  414. package/es/components/material-exercise/exercise-multilang-dropdown/index.js +0 -2
  415. package/es/components/material-exercise/exercise-preview/index.js +0 -1
  416. package/es/components/material-exercise/exercise-preview/locales/index.js +0 -4
  417. package/es/components/material-exercise/exercise-rightpane/index.js +0 -1
  418. package/es/components/material-exercise/exercise-rightpane/locales/index.js +0 -4
  419. package/es/components/material-exercise/exercise-room/helpers/index.js +0 -1
  420. package/es/components/material-exercise/exercise-room/index.js +0 -1
  421. package/es/components/material-exercise/exercise-room/locales/index.js +0 -4
  422. package/es/components/material-exercise/exercise-runner/index.js +0 -1
  423. package/es/components/material-exercise/exercise-runner/locales/index.js +0 -4
  424. package/es/components/material-exercise/exercise-submit-history/index.js +0 -1
  425. package/es/components/material-exercise/exercise-submit-history/locales/index.js +0 -4
  426. package/es/components/material-exercise/index.js +0 -2
  427. package/es/components/shared/exercise-menu-button/index.js +0 -1
  428. package/es/components/shared/exercise-shimmer/index.js +0 -5
  429. package/es/components/shared/exercise-version-list/index.js +0 -2
  430. package/es/components/shared/file-icon/index.js +0 -1
  431. package/es/components/shared/file-tabs/index.js +0 -1
  432. package/es/components/shared/file-tree/context/index.js +0 -1
  433. package/es/components/shared/file-tree/file-tree-toolbar/index.js +0 -1
  434. package/es/components/shared/file-tree/file-tree-toolbar/locales/index.js +0 -4
  435. package/es/components/shared/file-tree/index.js +0 -1
  436. package/es/components/shared/file-tree/locales/index.js +0 -4
  437. package/es/components/shared/file-tree/utils/index.js +0 -5
  438. package/es/components/shared/file-viewer/index.js +0 -1
  439. package/es/components/shared/file-viewer/locales/index.js +0 -8
  440. package/es/components/shared/material-modal/index.js +0 -1
  441. package/es/components/shared/monaco-editor/constants/index.js +0 -2
  442. package/es/components/shared/monaco-editor/constants/monaco/index.js +0 -1
  443. package/es/components/shared/monaco-editor/editor-hooks/index.js +0 -6
  444. package/es/components/shared/monaco-editor/editor-languages/typescript/dts/index.js +0 -3
  445. package/es/components/shared/monaco-editor/hooks/index.js +0 -1
  446. package/es/components/shared/monaco-editor/index.js +0 -6
  447. package/es/components/shared/monaco-editor/locales/index.js +0 -4
  448. package/es/components/shared/monaco-editor/utils/emmet/index.js +0 -1
  449. package/es/components/shared/monaco-editor/utils/index.js +0 -2
  450. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/index.js +0 -3
  451. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/index.js +0 -2
  452. package/es/components/shared/no-vnc/index.js +0 -1
  453. package/es/components/shared/preview-container/index.js +0 -1
  454. package/es/components/shared/web-browser/index.js +0 -1
  455. package/es/components/shared/xterm/index.js +0 -1
  456. package/es/components/shared/xterm/locales/index.js +0 -4
  457. package/es/constants/index.js +0 -1
  458. package/es/hooks/index.js +0 -7
  459. package/es/utils/index.js +0 -2
@@ -4,7 +4,7 @@
4
4
  /**
5
5
  * Default emmet configuration.
6
6
  */
7
- var DEFAULT_CONFIG = {
7
+ const DEFAULT_CONFIG = {
8
8
  showExpandedAbbreviation: 'always',
9
9
  showAbbreviationSuggestions: true,
10
10
  showSuggestionsAsSnippets: false
@@ -13,7 +13,7 @@ var DEFAULT_CONFIG = {
13
13
  * Mapping between languages that support Emmet and completion trigger characters.
14
14
  * - ref: https://github.com/microsoft/vscode/blob/50140a53cc2088f478a5560683ccd354f2d5f431/extensions/emmet/src/util.ts#L86
15
15
  */
16
- var LANGUAGE_MODES = {
16
+ const LANGUAGE_MODES = {
17
17
  html: ['!', '.', '}', ':', '*', '$', ']', '/', '>', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'],
18
18
  jade: ['!', '.', '}', ':', '*', '$', ']', '/', '>', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'],
19
19
  slim: ['!', '.', '}', ':', '*', '$', ']', '/', '>', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'],
@@ -32,7 +32,7 @@ var LANGUAGE_MODES = {
32
32
  * Language specific extensions can provide emmet completion support.
33
33
  * - ref: https://github.com/microsoft/vscode/blob/50140a53cc2088f478a5560683ccd354f2d5f431/extensions/emmet/src/util.ts#L124
34
34
  */
35
- var MAPPED_MODES = {
35
+ const MAPPED_MODES = {
36
36
  handlebars: 'html',
37
37
  php: 'html',
38
38
  twig: 'html'
@@ -2,8 +2,6 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var _rollupPluginBabelHelpers = require('../../../_virtual/_rollupPluginBabelHelpers.js');
6
- var jsxRuntime = require('react/jsx-runtime');
7
5
  var React = require('react');
8
6
  var reactUse = require('react-use');
9
7
  var blocks = require('@elice/blocks');
@@ -23,67 +21,49 @@ var ExerciseMenuButton = require('../exercise-menu-button/ExerciseMenuButton.js'
23
21
  var PreviewContainer = require('../preview-container/PreviewContainer.js');
24
22
  var en = require('./locales/en.json.js');
25
23
 
26
- function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
27
-
28
- var React__default = /*#__PURE__*/_interopDefaultCompat(React);
29
- var RFB_decoders_copy_rect__default = /*#__PURE__*/_interopDefaultCompat(RFB_decoders_copy_rect);
30
- var RFB_decoders_hextile__default = /*#__PURE__*/_interopDefaultCompat(RFB_decoders_hextile);
31
- var RFB_decoders_raw__default = /*#__PURE__*/_interopDefaultCompat(RFB_decoders_raw);
32
- var RFB_decoders_rre__default = /*#__PURE__*/_interopDefaultCompat(RFB_decoders_rre);
33
- var RFB_decoders_tight__default = /*#__PURE__*/_interopDefaultCompat(RFB_decoders_tight);
34
- var RFB_decoders_tight_png__default = /*#__PURE__*/_interopDefaultCompat(RFB_decoders_tight_png);
35
- var RFB__default = /*#__PURE__*/_interopDefaultCompat(RFB);
36
- var styled__default = /*#__PURE__*/_interopDefaultCompat(styled);
37
-
38
24
  //
39
25
  //
40
26
  //
41
- var VNC_BACKGROUND_COLOR = designTokens.base.color.navy7;
42
- var StyledHeaderTitle = styled__default.default.div.withConfig({
27
+ const VNC_BACKGROUND_COLOR = designTokens.base.color.navy7;
28
+ const StyledHeaderTitle = styled.div.withConfig({
43
29
  componentId: "sc-1duy62f-0"
44
30
  })(["flex:1;"]);
45
- var StyledHeaderButtonGroup = styled__default.default.div.withConfig({
31
+ const StyledHeaderButtonGroup = styled.div.withConfig({
46
32
  componentId: "sc-1duy62f-1"
47
33
  })(["flex:0 0 auto;display:flex;align-items:center;"]);
48
- var StyledVncWrap = styled__default.default.div.withConfig({
34
+ const StyledVncWrap = styled.div.withConfig({
49
35
  componentId: "sc-1duy62f-2"
50
36
  })(["display:flex;align-items:center;justify-content:center;width:100%;height:100%;background-color:", ";overflow:hidden;"], VNC_BACKGROUND_COLOR);
51
- var StyledNoVncContainer = styled__default.default.div.withConfig({
37
+ const StyledNoVncContainer = styled.div.withConfig({
52
38
  componentId: "sc-1duy62f-3"
53
39
  })([""]);
54
- var StyledNoVnc = styled__default.default.div.withConfig({
40
+ const StyledNoVnc = styled.div.withConfig({
55
41
  componentId: "sc-1duy62f-4"
56
42
  })(["position:relative;left:50%;top:50%;transform-origin:center center;transform:translate(-50%,-50%);"]);
57
43
  //
58
44
  //
59
45
  //
60
- var NoVnc = React.forwardRef(function (_ref, ref) {
61
- var _ref$isRunning = _ref.isRunning,
62
- isRunning = _ref$isRunning === void 0 ? false : _ref$isRunning,
63
- wsUri = _ref.wsUri,
64
- roomToken = _ref.roomToken,
65
- readyExerciseImage = _ref.readyExerciseImage,
66
- _ref$exercisePreviewD = _ref.exercisePreviewDisplayModeButton,
67
- exercisePreviewDisplayModeButton = _ref$exercisePreviewD === void 0 ? null : _ref$exercisePreviewD,
68
- onConnect = _ref.onConnect,
69
- onDisconnect = _ref.onDisconnect,
70
- __intl = _ref.__intl;
71
- var vncRfb = React__default.default.useRef(null);
72
- var vncElRef = React__default.default.useRef(null);
73
- var _useMeasure = reactUse.useMeasure(),
74
- _useMeasure2 = _rollupPluginBabelHelpers.slicedToArray(_useMeasure, 2),
75
- vncWrapRef = _useMeasure2[0],
76
- _useMeasure2$ = _useMeasure2[1],
77
- width = _useMeasure2$.width,
78
- height = _useMeasure2$.height;
79
- var _React$useState = React__default.default.useState(true),
80
- _React$useState2 = _rollupPluginBabelHelpers.slicedToArray(_React$useState, 2),
81
- isVncScaledFromLocal = _React$useState2[0],
82
- setVncScaledFromLocal = _React$useState2[1];
46
+ const NoVnc = React.forwardRef(({
47
+ isRunning = false,
48
+ wsUri,
49
+ roomToken,
50
+ readyExerciseImage,
51
+ exercisePreviewDisplayModeButton = null,
52
+ onConnect,
53
+ onDisconnect,
54
+ __intl
55
+ }, ref) => {
56
+ const vncRfb = React.useRef(null);
57
+ const vncElRef = React.useRef(null);
58
+ const [vncWrapRef, {
59
+ width,
60
+ height
61
+ }] = reactUse.useMeasure();
62
+ const [isVncScaledFromLocal, setVncScaledFromLocal] = React.useState(true);
83
63
  /**
84
64
  * Default size of VNC from exericse image.
85
65
  */
86
- var vncDefaultSize = React__default.default.useMemo(function () {
66
+ const vncDefaultSize = React.useMemo(() => {
87
67
  var _a, _b;
88
68
  return {
89
69
  width: (_a = readyExerciseImage === null || readyExerciseImage === void 0 ? void 0 : readyExerciseImage.defaultVncWidth) !== null && _a !== void 0 ? _a : 300,
@@ -93,30 +73,26 @@ var NoVnc = React.forwardRef(function (_ref, ref) {
93
73
  /**
94
74
  * Transform scale to fit VNC to VNC wrap.
95
75
  */
96
- var vncTransformScale = React__default.default.useMemo(function () {
97
- return Math.min(width / vncDefaultSize.width, height / vncDefaultSize.height);
98
- }, [width, height, vncDefaultSize.width, vncDefaultSize.height]);
76
+ const vncTransformScale = React.useMemo(() => Math.min(width / vncDefaultSize.width, height / vncDefaultSize.height), [width, height, vncDefaultSize.width, vncDefaultSize.height]);
99
77
  /**
100
78
  * Element style of VNC and VNC wrap.
101
79
  */
102
- var vncElementStyle = React__default.default.useMemo(function () {
103
- return {
104
- width: "".concat((vncDefaultSize.width * vncTransformScale).toFixed(3), "px"),
105
- height: "".concat((vncDefaultSize.height * vncTransformScale).toFixed(3), "px")
106
- };
107
- }, [vncDefaultSize.width, vncDefaultSize.height, vncTransformScale]);
80
+ const vncElementStyle = React.useMemo(() => ({
81
+ width: `${(vncDefaultSize.width * vncTransformScale).toFixed(3)}px`,
82
+ height: `${(vncDefaultSize.height * vncTransformScale).toFixed(3)}px`
83
+ }), [vncDefaultSize.width, vncDefaultSize.height, vncTransformScale]);
108
84
  /**
109
85
  * Connect VNC.
110
86
  */
111
- var connect = React__default.default.useCallback(function () {
87
+ const connect = React.useCallback(() => {
112
88
  if (!vncElRef.current || !wsUri || !roomToken) {
113
89
  return;
114
90
  }
115
- var vncUrl = "".concat(wsUri, "/client/vnc/").concat(roomToken);
91
+ const vncUrl = `${wsUri}/client/vnc/${roomToken}`;
116
92
  // The RFB object represents a single connection to a VNC server.
117
93
  // It communicates using a WebSocket that must provide a standard RFB protocol stream.
118
94
  // -ref: https://github.com/novnc/noVNC/blob/master/docs/API.md#rfb-1
119
- vncRfb.current = new RFB__default.default(vncElRef.current, vncUrl, {
95
+ vncRfb.current = new RFB(vncElRef.current, vncUrl, {
120
96
  wsProtocols: ['binary']
121
97
  });
122
98
  // ==============================
@@ -145,14 +121,14 @@ var NoVnc = React.forwardRef(function (_ref, ref) {
145
121
  // ==============================
146
122
  // The connect event is fired when the RFB object has completed the connection and handshaking with the server.
147
123
  // - ref: https://github.com/novnc/noVNC/blob/master/docs/API.md#connect
148
- vncRfb.current.addEventListener('connect', function () {
124
+ vncRfb.current.addEventListener('connect', () => {
149
125
  if (typeof onConnect === 'function') {
150
126
  onConnect();
151
127
  }
152
128
  });
153
129
  // The disconnect event is fired when the RFB object disconnects.
154
130
  // - ref: https://github.com/novnc/noVNC/blob/master/docs/API.md#disconnect
155
- vncRfb.current.addEventListener('disconnect', function () {
131
+ vncRfb.current.addEventListener('disconnect', () => {
156
132
  if (typeof onDisconnect === 'function') {
157
133
  onDisconnect();
158
134
  }
@@ -163,7 +139,7 @@ var NoVnc = React.forwardRef(function (_ref, ref) {
163
139
  /**
164
140
  * Disconnect VNC.
165
141
  */
166
- var disconnect = React__default.default.useCallback(function () {
142
+ const disconnect = React.useCallback(() => {
167
143
  var _a;
168
144
  if (typeof ((_a = vncRfb.current) === null || _a === void 0 ? void 0 : _a.disconnect) === 'function') {
169
145
  vncRfb.current.disconnect();
@@ -177,7 +153,7 @@ var NoVnc = React.forwardRef(function (_ref, ref) {
177
153
  * Reset VNC.
178
154
  * - note: https://www.notion.so/elice/elice-runner-v3-forwarder-4907ba8546274956b2f55c586df1641a#d61df659d91644db85a52fc148a69e13
179
155
  */
180
- var reset = React__default.default.useCallback(function () {
156
+ const reset = React.useCallback(() => {
181
157
  if (!vncRfb.current) {
182
158
  return;
183
159
  }
@@ -207,12 +183,12 @@ var NoVnc = React.forwardRef(function (_ref, ref) {
207
183
  encoding: null
208
184
  };
209
185
  vncRfb.current._decoders = {};
210
- vncRfb.current._decoders[encodings.encodings.encodingRaw] = new RFB_decoders_raw__default.default();
211
- vncRfb.current._decoders[encodings.encodings.encodingCopyRect] = new RFB_decoders_copy_rect__default.default();
212
- vncRfb.current._decoders[encodings.encodings.encodingRRE] = new RFB_decoders_rre__default.default();
213
- vncRfb.current._decoders[encodings.encodings.encodingHextile] = new RFB_decoders_hextile__default.default();
214
- vncRfb.current._decoders[encodings.encodings.encodingTight] = new RFB_decoders_tight__default.default();
215
- vncRfb.current._decoders[encodings.encodings.encodingTightPNG] = new RFB_decoders_tight_png__default.default();
186
+ vncRfb.current._decoders[encodings.encodings.encodingRaw] = new RFB_decoders_raw();
187
+ vncRfb.current._decoders[encodings.encodings.encodingCopyRect] = new RFB_decoders_copy_rect();
188
+ vncRfb.current._decoders[encodings.encodings.encodingRRE] = new RFB_decoders_rre();
189
+ vncRfb.current._decoders[encodings.encodings.encodingHextile] = new RFB_decoders_hextile();
190
+ vncRfb.current._decoders[encodings.encodings.encodingTight] = new RFB_decoders_tight();
191
+ vncRfb.current._decoders[encodings.encodings.encodingTightPNG] = new RFB_decoders_tight_png();
216
192
  vncRfb.current._sock.flush();
217
193
  vncRfb.current._sock._allocateBuffers();
218
194
  vncRfb.current._sock._rQi = 0;
@@ -229,7 +205,7 @@ var NoVnc = React.forwardRef(function (_ref, ref) {
229
205
  //
230
206
  // Update VNC scale config.
231
207
  //
232
- reactUse.useUpdateEffect(function () {
208
+ reactUse.useUpdateEffect(() => {
233
209
  if (!vncRfb.current) {
234
210
  return;
235
211
  }
@@ -241,64 +217,48 @@ var NoVnc = React.forwardRef(function (_ref, ref) {
241
217
  //
242
218
  //
243
219
  //
244
- React__default.default.useImperativeHandle(ref, function () {
245
- return {
246
- connect: connect,
247
- disconnect: disconnect,
248
- reset: reset
249
- };
250
- }, [connect, disconnect, reset]);
220
+ React.useImperativeHandle(ref, () => ({
221
+ connect,
222
+ disconnect,
223
+ reset
224
+ }), [connect, disconnect, reset]);
251
225
  /**
252
226
  * Header.
253
227
  */
254
- var renderVncHeader = function renderVncHeader() {
255
- return jsxRuntime.jsxs(jsxRuntime.Fragment, {
256
- children: [jsxRuntime.jsx(StyledHeaderTitle, {
257
- children: jsxRuntime.jsx(blocks.Text, {
258
- role: "white",
259
- size: "tiny",
260
- children: __intl.formatMessage({
261
- id: 'no_vnc.header.title'
262
- })
263
- })
264
- }), jsxRuntime.jsxs(StyledHeaderButtonGroup, {
265
- children: [jsxRuntime.jsx(ExerciseMenuButton.default, {
266
- icon: isVncScaledFromLocal ? icons.eilViewMaximize : icons.eilViewMinimize,
267
- title: isRunning ? __intl.formatMessage({
268
- id: 'no_vnc.header.button_group.exercise_menu.is_running'
269
- }) : isVncScaledFromLocal ? __intl.formatMessage({
270
- id: 'no_vnc.header.button_group.exercise_menu.zoom_in'
271
- }) : __intl.formatMessage({
272
- id: 'no_vnc.header.button_group.exercise_menu.keep_ratio'
273
- }),
274
- disabled: isRunning,
275
- onClick: function onClick() {
276
- return setVncScaledFromLocal(function (prev) {
277
- return !prev;
278
- });
279
- }
280
- }), React__default.default.isValidElement(exercisePreviewDisplayModeButton) ? React__default.default.cloneElement(exercisePreviewDisplayModeButton, {
281
- disabled: isRunning
282
- }) : null]
283
- })]
284
- });
228
+ const renderVncHeader = () => {
229
+ return React.createElement(React.Fragment, null, React.createElement(StyledHeaderTitle, null, React.createElement(blocks.Text, {
230
+ role: "white",
231
+ size: "tiny"
232
+ }, __intl.formatMessage({
233
+ id: 'no_vnc.header.title'
234
+ }))), React.createElement(StyledHeaderButtonGroup, null, React.createElement(ExerciseMenuButton.default, {
235
+ icon: isVncScaledFromLocal ? icons.eilViewMaximize : icons.eilViewMinimize,
236
+ title: isRunning ? __intl.formatMessage({
237
+ id: 'no_vnc.header.button_group.exercise_menu.is_running'
238
+ }) : isVncScaledFromLocal ? __intl.formatMessage({
239
+ id: 'no_vnc.header.button_group.exercise_menu.zoom_in'
240
+ }) : __intl.formatMessage({
241
+ id: 'no_vnc.header.button_group.exercise_menu.keep_ratio'
242
+ }),
243
+ disabled: isRunning,
244
+ onClick: () => setVncScaledFromLocal(prev => !prev)
245
+ }), React.isValidElement(exercisePreviewDisplayModeButton) ? React.cloneElement(exercisePreviewDisplayModeButton, {
246
+ disabled: isRunning
247
+ }) : null));
285
248
  };
286
249
  //
287
250
  //
288
251
  //
289
- return jsxRuntime.jsx(PreviewContainer.default, {
290
- header: renderVncHeader(),
291
- children: jsxRuntime.jsx(StyledVncWrap, {
292
- ref: vncWrapRef,
293
- children: jsxRuntime.jsx(StyledNoVncContainer, {
294
- style: vncElementStyle,
295
- children: jsxRuntime.jsx(StyledNoVnc, {
296
- style: vncElementStyle,
297
- ref: vncElRef
298
- })
299
- })
300
- })
301
- });
252
+ return React.createElement(PreviewContainer.default, {
253
+ header: renderVncHeader()
254
+ }, React.createElement(StyledVncWrap, {
255
+ ref: vncWrapRef
256
+ }, React.createElement(StyledNoVncContainer, {
257
+ style: vncElementStyle
258
+ }, React.createElement(StyledNoVnc, {
259
+ style: vncElementStyle,
260
+ ref: vncElRef
261
+ }))));
302
262
  });
303
263
  var NoVnc$1 = new intl.IntlComponentBuilder(NoVnc).add('en', en.default).addAsync('ko', Promise.resolve().then(function () { return require('./locales/ko.json.js'); })).addAsync('th', Promise.resolve().then(function () { return require('./locales/th.json.js'); })).addAsync('ja', Promise.resolve().then(function () { return require('./locales/ja.json.js'); })).build();
304
264
 
@@ -2,23 +2,15 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var jsxRuntime = require('react/jsx-runtime');
6
5
  var React = require('react');
7
6
 
8
- function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
9
-
10
- var React__default = /*#__PURE__*/_interopDefaultCompat(React);
11
-
12
- var AsyncNoVnc = React__default.default.lazy(function () {
13
- return Promise.resolve().then(function () { return require('./NoVnc.js'); });
14
- });
15
- var NoVncLazy = React.forwardRef(function (props, ref) {
16
- return jsxRuntime.jsx(React__default.default.Suspense, {
17
- fallback: null,
18
- children: jsxRuntime.jsx(AsyncNoVnc, Object.assign({}, props, {
19
- ref: ref
20
- }))
21
- });
7
+ const AsyncNoVnc = React.lazy(() => Promise.resolve().then(function () { return require('./NoVnc.js'); }));
8
+ const NoVncLazy = React.forwardRef((props, ref) => {
9
+ return React.createElement(React.Suspense, {
10
+ fallback: null
11
+ }, React.createElement(AsyncNoVnc, Object.assign({}, props, {
12
+ ref: ref
13
+ })));
22
14
  });
23
15
 
24
16
  exports.default = NoVncLazy;
@@ -2,32 +2,27 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var jsxRuntime = require('react/jsx-runtime');
6
5
  var React = require('react');
7
6
  var designTokens = require('@elice/design-tokens');
8
7
  var styled = require('styled-components');
9
8
 
10
- function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
11
-
12
- var styled__default = /*#__PURE__*/_interopDefaultCompat(styled);
13
-
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({
9
+ const PREVIEW_CONTAINER_HEADER_HEIGHT = 36; // 2.25rem
10
+ const PREVIEW_CONTAINER_HEADER_PADDING_TOP_BOTTOM = 4; // 0.25rem
11
+ const StyledPreviewContainer = styled.div.withConfig({
17
12
  componentId: "sc-1oi07w2-0"
18
13
  })(["display:flex;flex-direction:column;width:100%;height:100%;background-color:", ";overflow:hidden;"], designTokens.base.color.white);
19
- var StyledPreviewHeader = styled__default.default.div.withConfig({
14
+ const StyledPreviewHeader = styled.div.withConfig({
20
15
  componentId: "sc-1oi07w2-1"
21
16
  })(["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);
22
- var PreviewContainer = React.forwardRef(function (_ref, ref) {
23
- var children = _ref.children,
24
- header = _ref.header;
25
- return jsxRuntime.jsxs(StyledPreviewContainer, {
26
- ref: ref,
27
- children: [jsxRuntime.jsx(StyledPreviewHeader, {
28
- children: header
29
- }), children]
30
- });
17
+ const PreviewContainer = React.forwardRef(({
18
+ children,
19
+ header
20
+ }, ref) => {
21
+ return React.createElement(StyledPreviewContainer, {
22
+ ref: ref
23
+ }, React.createElement(StyledPreviewHeader, {
24
+ children: header
25
+ }), children);
31
26
  });
32
27
 
33
28
  exports.PREVIEW_CONTAINER_HEADER_HEIGHT = PREVIEW_CONTAINER_HEADER_HEIGHT;
@@ -2,8 +2,6 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var _rollupPluginBabelHelpers = require('../../../_virtual/_rollupPluginBabelHelpers.js');
6
- var jsxRuntime = require('react/jsx-runtime');
7
5
  var React = require('react');
8
6
  var blocks = require('@elice/blocks');
9
7
  var designTokens = require('@elice/design-tokens');
@@ -12,50 +10,37 @@ var styled = require('styled-components');
12
10
  var ExerciseMenuButton = require('../exercise-menu-button/ExerciseMenuButton.js');
13
11
  var PreviewContainer = require('../preview-container/PreviewContainer.js');
14
12
 
15
- function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
16
-
17
- var React__default = /*#__PURE__*/_interopDefaultCompat(React);
18
- var styled__default = /*#__PURE__*/_interopDefaultCompat(styled);
19
-
20
- var WEB_BROWSER_URL_INPUT_HEIGHT = PreviewContainer.PREVIEW_CONTAINER_HEADER_HEIGHT - PreviewContainer.PREVIEW_CONTAINER_HEADER_PADDING_TOP_BOTTOM * 2;
21
- var StyledHeaderUrlInput = styled__default.default.input.withConfig({
13
+ const WEB_BROWSER_URL_INPUT_HEIGHT = PreviewContainer.PREVIEW_CONTAINER_HEADER_HEIGHT - PreviewContainer.PREVIEW_CONTAINER_HEADER_PADDING_TOP_BOTTOM * 2;
14
+ const StyledHeaderUrlInput = styled.input.withConfig({
22
15
  componentId: "sc-1c55yq-0"
23
16
  })(["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);
24
- var StyledIframe = styled__default.default.iframe.withConfig({
17
+ const StyledIframe = styled.iframe.withConfig({
25
18
  componentId: "sc-1c55yq-1"
26
19
  })(["flex:1;width:100%;height:100%;min-height:0;border:0;"]);
27
20
  /**
28
21
  * Attach `_cachebust` search parameter to the URL to prevent caching.
29
22
  */
30
- var createCacheBustedUrl = function createCacheBustedUrl(url) {
23
+ const createCacheBustedUrl = url => {
31
24
  try {
32
- var urlObject = new URL(url);
25
+ const urlObject = new URL(url);
33
26
  urlObject.searchParams.set('_cachebust', Date.now().toString());
34
27
  return urlObject.href;
35
28
  } catch (_) {
36
29
  return url;
37
30
  }
38
31
  };
39
- var WebBrowser = React.forwardRef(function (_ref, ref) {
40
- var httpUri = _ref.httpUri,
41
- _ref$menuButtons = _ref.menuButtons,
42
- menuButtons = _ref$menuButtons === void 0 ? null : _ref$menuButtons;
43
- var _React$useState = React__default.default.useState(''),
44
- _React$useState2 = _rollupPluginBabelHelpers.slicedToArray(_React$useState, 2),
45
- url = _React$useState2[0],
46
- setUrl = _React$useState2[1];
47
- var _React$useState3 = React__default.default.useState(''),
48
- _React$useState4 = _rollupPluginBabelHelpers.slicedToArray(_React$useState3, 2),
49
- inputUrl = _React$useState4[0],
50
- setInputUrl = _React$useState4[1];
51
- var iframeRef = React__default.default.useRef(null);
52
- var iframeSrc = React__default.default.useMemo(function () {
53
- return createCacheBustedUrl(url);
54
- }, [url]);
32
+ const WebBrowser = React.forwardRef(({
33
+ httpUri,
34
+ menuButtons = null
35
+ }, ref) => {
36
+ const [url, setUrl] = React.useState('');
37
+ const [inputUrl, setInputUrl] = React.useState('');
38
+ const iframeRef = React.useRef(null);
39
+ const iframeSrc = React.useMemo(() => createCacheBustedUrl(url), [url]);
55
40
  /**
56
41
  * Navigate browser.
57
42
  */
58
- var navigate = React__default.default.useCallback(function (newUrl) {
43
+ const navigate = React.useCallback(newUrl => {
59
44
  if (newUrl) {
60
45
  setUrl(newUrl);
61
46
  }
@@ -63,7 +48,7 @@ var WebBrowser = React.forwardRef(function (_ref, ref) {
63
48
  /**
64
49
  * Reload browser.
65
50
  */
66
- var reload = React__default.default.useCallback(function () {
51
+ const reload = React.useCallback(() => {
67
52
  if (iframeRef.current) {
68
53
  iframeRef.current.src = createCacheBustedUrl(iframeRef.current.src);
69
54
  }
@@ -71,8 +56,8 @@ var WebBrowser = React.forwardRef(function (_ref, ref) {
71
56
  /**
72
57
  * New window open click.
73
58
  */
74
- var handleNewWindowClick = function handleNewWindowClick() {
75
- var win = window.open(url, '_blank');
59
+ const handleNewWindowClick = () => {
60
+ const win = window.open(url, '_blank');
76
61
  if (win) {
77
62
  win.focus();
78
63
  }
@@ -80,15 +65,15 @@ var WebBrowser = React.forwardRef(function (_ref, ref) {
80
65
  /**
81
66
  * Handle url input change.
82
67
  */
83
- var handleUrlInputChange = function handleUrlInputChange(e) {
84
- var value = e.target.value;
68
+ const handleUrlInputChange = e => {
69
+ const value = e.target.value;
85
70
  // prevent removal of origin url (props.httpUri)
86
71
  setInputUrl(value.startsWith(httpUri) ? value : httpUri);
87
72
  };
88
73
  /**
89
74
  * Handle url input Enter key down.
90
75
  */
91
- var handleUrlInputKeyDown = function handleUrlInputKeyDown(e) {
76
+ const handleUrlInputKeyDown = e => {
92
77
  if (e.key === 'Enter') {
93
78
  e.preventDefault();
94
79
  navigate(inputUrl);
@@ -97,10 +82,10 @@ var WebBrowser = React.forwardRef(function (_ref, ref) {
97
82
  /**
98
83
  * Handle iframe load.
99
84
  */
100
- var handleIframeLoad = function handleIframeLoad() {
85
+ const handleIframeLoad = () => {
101
86
  var _a, _b, _c;
102
87
  try {
103
- 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;
88
+ 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;
104
89
  if (iframeUrl) {
105
90
  setInputUrl(iframeUrl);
106
91
  }
@@ -112,52 +97,46 @@ var WebBrowser = React.forwardRef(function (_ref, ref) {
112
97
  //
113
98
  // Change url on new httpUri provided.
114
99
  //
115
- React__default.default.useEffect(function () {
100
+ React.useEffect(() => {
116
101
  setUrl(httpUri);
117
102
  setInputUrl(httpUri);
118
103
  }, [httpUri]);
119
104
  //
120
105
  //
121
106
  //
122
- React__default.default.useImperativeHandle(ref, function () {
123
- return {
124
- navigate: navigate,
125
- reload: reload
126
- };
127
- }, [navigate, reload]);
107
+ React.useImperativeHandle(ref, () => ({
108
+ navigate,
109
+ reload
110
+ }), [navigate, reload]);
128
111
  /**
129
112
  * Browser header.
130
113
  */
131
- var renderBrowserHeader = function renderBrowserHeader() {
132
- return jsxRuntime.jsxs(jsxRuntime.Fragment, {
133
- children: [jsxRuntime.jsx(blocks.Flex, {
134
- marginright: "0.25rem",
135
- children: jsxRuntime.jsx(ExerciseMenuButton.default, {
136
- icon: icons.eilRetry,
137
- title: "\uC0C8\uB85C\uACE0\uCE68",
138
- placement: "bottom-start",
139
- onClick: reload
140
- })
141
- }), jsxRuntime.jsx(StyledHeaderUrlInput, {
142
- value: inputUrl,
143
- onChange: handleUrlInputChange,
144
- onKeyDown: handleUrlInputKeyDown
145
- }), jsxRuntime.jsxs(blocks.Flex, {
146
- marginleft: "0.25rem",
147
- children: [jsxRuntime.jsx(ExerciseMenuButton.default, {
148
- icon: icons.eilNewWindow,
149
- title: "\uC0C8\uCC3D\uC73C\uB85C \uC5F4\uAE30",
150
- placement: "bottom-end",
151
- onClick: handleNewWindowClick
152
- }), menuButtons]
153
- })]
154
- });
114
+ const renderBrowserHeader = () => {
115
+ return React.createElement(React.Fragment, null, React.createElement(blocks.Flex, {
116
+ marginright: "0.25rem"
117
+ }, React.createElement(ExerciseMenuButton.default, {
118
+ icon: icons.eilRetry,
119
+ title: "\uC0C8\uB85C\uACE0\uCE68",
120
+ placement: "bottom-start",
121
+ onClick: reload
122
+ })), React.createElement(StyledHeaderUrlInput, {
123
+ value: inputUrl,
124
+ onChange: handleUrlInputChange,
125
+ onKeyDown: handleUrlInputKeyDown
126
+ }), React.createElement(blocks.Flex, {
127
+ marginleft: "0.25rem"
128
+ }, React.createElement(ExerciseMenuButton.default, {
129
+ icon: icons.eilNewWindow,
130
+ title: "\uC0C8\uCC3D\uC73C\uB85C \uC5F4\uAE30",
131
+ placement: "bottom-end",
132
+ onClick: handleNewWindowClick
133
+ }), menuButtons));
155
134
  };
156
135
  /**
157
136
  * Browser content.
158
137
  */
159
- var renderBrowserBody = function renderBrowserBody() {
160
- return jsxRuntime.jsx(StyledIframe, {
138
+ const renderBrowserBody = () => {
139
+ return React.createElement(StyledIframe, {
161
140
  src: iframeSrc,
162
141
  title: url,
163
142
  onLoad: handleIframeLoad,
@@ -167,10 +146,9 @@ var WebBrowser = React.forwardRef(function (_ref, ref) {
167
146
  //
168
147
  //
169
148
  //
170
- return jsxRuntime.jsx(PreviewContainer.default, {
171
- header: renderBrowserHeader(),
172
- children: renderBrowserBody()
173
- });
149
+ return React.createElement(PreviewContainer.default, {
150
+ header: renderBrowserHeader()
151
+ }, renderBrowserBody());
174
152
  });
175
153
 
176
154
  exports.default = WebBrowser;