@elice/material-exercise 1.251120.1 → 1.260128.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/_virtual/_rollupPluginBabelHelpers.js +241 -451
- package/cjs/components/index.js +9 -9
- package/cjs/components/material-exercise/MaterialExercise.js +14 -17
- package/cjs/components/material-exercise/MaterialExercise.styled.d.ts +40 -10
- package/cjs/components/material-exercise/MaterialExercise.styled.js +68 -33
- package/cjs/components/material-exercise/MaterialExerciseMobile.js +3 -6
- package/cjs/components/material-exercise/context/ExerciseProvider.js +17 -8
- package/cjs/components/material-exercise/context/ExerciseProviderNoImage.d.ts +1 -1
- package/cjs/components/material-exercise/context/ExerciseProviderNoImage.js +5 -5
- package/cjs/components/material-exercise/context/recoil.js +202 -219
- package/cjs/components/material-exercise/context/recoilTypes.d.ts +1 -2
- package/cjs/components/material-exercise/context/types.d.ts +0 -1
- package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.js +9 -25
- package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.d.ts +23 -9
- package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.js +45 -22
- package/cjs/components/material-exercise/exercise-file/ExerciseFile.js +8 -22
- package/cjs/components/material-exercise/exercise-file-editor/ExerciseFileEditor.js +34 -48
- package/cjs/components/material-exercise/exercise-file-editor/ExerciseFileReadOnlyBanner.js +5 -9
- package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabs.js +16 -15
- package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.d.ts +1 -1
- package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.js +1 -5
- package/cjs/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/ExerciseFileTabsFileTreeButton.js +10 -13
- package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTree.js +73 -99
- package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.d.ts +1 -1
- package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.js +1 -5
- package/cjs/components/material-exercise/exercise-file-viewer/ExerciseFileViewer.js +2 -9
- package/cjs/components/material-exercise/exercise-menu/ExerciseMenu.js +7 -10
- package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.d.ts +1 -1
- package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.js +0 -4
- package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.js +10 -14
- package/cjs/components/material-exercise/exercise-menu/ExerciseMenuDropdown.js +5 -7
- package/cjs/components/material-exercise/exercise-menu/ExerciseMenuReset.d.ts +1 -1
- package/cjs/components/material-exercise/exercise-menu/ExerciseMenuReset.js +1 -15
- package/cjs/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.js +6 -12
- package/cjs/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.d.ts +46 -13
- package/cjs/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.js +81 -38
- package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdown.js +2 -5
- package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.d.ts +1 -1
- package/cjs/components/material-exercise/exercise-preview/ExercisePreview.js +9 -11
- package/cjs/components/material-exercise/exercise-preview/ExercisePreviewDisplayModeButton.d.ts +1 -2
- package/cjs/components/material-exercise/exercise-preview/ExercisePreviewDisplayModeButton.js +3 -6
- package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpane.d.ts +1 -1
- package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpane.js +25 -21
- package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpaneEditorPerference.js +1 -6
- package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpaneEnvironment.js +16 -11
- package/cjs/components/material-exercise/exercise-room/ExerciseRoom.styled.d.ts +30 -9
- package/cjs/components/material-exercise/exercise-room/ExerciseRoom.styled.js +33 -25
- package/cjs/components/material-exercise/exercise-room/ExerciseRoomDetail.js +101 -106
- package/cjs/components/material-exercise/exercise-room/ExerciseRoomList.js +31 -35
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunner.js +53 -72
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerController.js +8 -22
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.js +2 -6
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.d.ts +1 -1
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.js +28 -22
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js +23 -27
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.d.ts +1 -1
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerRunningInfo.js +28 -26
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusIndicator.d.ts +4 -1
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusIndicator.js +6 -6
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusMessage.d.ts +1 -1
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusMessage.js +15 -11
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerTimer.js +6 -9
- package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.js +107 -114
- package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.styled.d.ts +30 -9
- package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.styled.js +55 -26
- package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistoryOutput.js +20 -16
- package/cjs/components/material-exercise/index.d.ts +1 -1
- package/cjs/components/shared/exercise-menu-button/ExerciseMenuButton.d.ts +1 -1
- package/cjs/components/shared/exercise-menu-button/ExerciseMenuButton.js +18 -10
- package/cjs/components/shared/exercise-shimmer/ExerciseFileShimmer.d.ts +1 -1
- package/cjs/components/shared/exercise-shimmer/ExerciseFileShimmer.js +17 -17
- package/cjs/components/shared/exercise-shimmer/ExerciseFileTabShimmer.d.ts +1 -1
- package/cjs/components/shared/exercise-shimmer/ExerciseFileTabShimmer.js +9 -9
- package/cjs/components/shared/exercise-shimmer/ExerciseFileTabsShimmer.d.ts +1 -1
- package/cjs/components/shared/exercise-shimmer/ExerciseFileTabsShimmer.js +5 -5
- package/cjs/components/shared/exercise-shimmer/ExerciseFileTreeListItemShimmer.d.ts +1 -1
- package/cjs/components/shared/exercise-shimmer/ExerciseFileTreeListItemShimmer.js +12 -12
- package/cjs/components/shared/exercise-shimmer/ExerciseFileTreeListShimmer.js +19 -11
- package/cjs/components/shared/exercise-version-list/ExerciseVersionList.d.ts +1 -1
- package/cjs/components/shared/exercise-version-list/ExerciseVersionList.styled.d.ts +5 -8
- package/cjs/components/shared/exercise-version-list/ExerciseVersionList.styled.js +13 -5
- package/cjs/components/shared/exercise-version-list/ExerciseVersionListItem.d.ts +1 -1
- package/cjs/components/shared/exercise-version-list/ExerciseVersionListItem.styled.d.ts +20 -5
- package/cjs/components/shared/exercise-version-list/ExerciseVersionListItem.styled.js +37 -15
- package/cjs/components/shared/file-tabs/FileTab.js +5 -5
- package/cjs/components/shared/file-tabs/FileTab.styled.d.ts +29 -8
- package/cjs/components/shared/file-tabs/FileTab.styled.js +50 -27
- package/cjs/components/shared/file-tabs/FileTabs.styled.d.ts +8 -2
- package/cjs/components/shared/file-tabs/FileTabs.styled.js +17 -9
- package/cjs/components/shared/file-tree/FileTree.d.ts +1 -1
- package/cjs/components/shared/file-tree/FileTree.js +20 -12
- package/cjs/components/shared/file-tree/FileTreeConfig.js +6 -6
- package/cjs/components/shared/file-tree/FileTreeList.d.ts +1 -1
- package/cjs/components/shared/file-tree/FileTreeList.js +10 -8
- package/cjs/components/shared/file-tree/FileTreeListItemContent.js +5 -5
- package/cjs/components/shared/file-tree/FileTreeListItemContent.styled.d.ts +35 -10
- package/cjs/components/shared/file-tree/FileTreeListItemContent.styled.js +49 -33
- package/cjs/components/shared/file-tree/FileTreeListItemContentInput.js +9 -9
- package/cjs/components/shared/file-tree/FileTreeListItemContentInput.styled.d.ts +7 -3
- package/cjs/components/shared/file-tree/FileTreeListItemContentInput.styled.js +16 -8
- package/cjs/components/shared/file-tree/FileTreeListItemContentMenu.js +1 -1
- package/cjs/components/shared/file-tree/FileTreeListItems.d.ts +1 -1
- package/cjs/components/shared/file-tree/FileTreeListItems.js +13 -11
- package/cjs/components/shared/file-tree/FileTreeListItems.styled.d.ts +8 -2
- package/cjs/components/shared/file-tree/FileTreeListItems.styled.js +23 -8
- package/cjs/components/shared/file-tree/FileTreeToolbar.styled.d.ts +4 -1
- package/cjs/components/shared/file-tree/FileTreeToolbar.styled.js +5 -5
- package/cjs/components/shared/file-tree/context/FileTreeContext.d.ts +1 -1
- package/cjs/components/shared/file-tree/context/FileTreeContext.js +0 -1
- package/cjs/components/shared/file-tree/file-tree-toolbar/FileTreeToolbar.js +7 -7
- package/cjs/components/shared/file-tree/index.d.ts +1 -1
- package/cjs/components/shared/file-tree/utils/fileTreeGenerator.js +2 -4
- package/cjs/components/shared/file-viewer/FileViewer.js +10 -14
- package/cjs/components/shared/file-viewer/FileViewerCsv.js +68 -52
- package/cjs/components/shared/file-viewer/FileViewerImage.d.ts +1 -1
- package/cjs/components/shared/file-viewer/FileViewerImage.js +14 -10
- package/cjs/components/shared/file-viewer/FileViewerIpynb.js +14 -10
- package/cjs/components/shared/file-viewer/FileViewerNonViewable.d.ts +1 -1
- package/cjs/components/shared/file-viewer/FileViewerNonViewable.js +46 -17
- package/cjs/components/shared/file-viewer/FileViewerText.js +3 -13
- package/cjs/components/shared/material-modal/MaterialModal.d.ts +1 -1
- package/cjs/components/shared/material-modal/MaterialModal.styled.d.ts +19 -6
- package/cjs/components/shared/material-modal/MaterialModal.styled.js +25 -17
- package/cjs/components/shared/monaco-editor/MonacoEditor.js +22 -14
- package/cjs/components/shared/monaco-editor/MonacoEditorLazy.js +0 -4
- package/cjs/components/shared/monaco-editor/MonacoEditorMobile.js +2 -2
- package/cjs/components/shared/monaco-editor/MonacoEditorPerferenceForm.js +28 -21
- package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoMarkers.js +0 -1
- package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoOptions.d.ts +0 -1
- package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoOptions.js +2 -2
- package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoTheme.d.ts +1 -1
- package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoTheme.js +1 -2
- package/cjs/components/shared/monaco-editor/editor-languages/css/formatter.js +17 -21
- package/cjs/components/shared/monaco-editor/editor-languages/css/index.js +1 -1
- package/cjs/components/shared/monaco-editor/editor-languages/html/formatter.js +17 -21
- package/cjs/components/shared/monaco-editor/editor-languages/html/index.js +1 -1
- package/cjs/components/shared/monaco-editor/editor-languages/typescript/formatter.js +20 -24
- package/cjs/components/shared/monaco-editor/editor-languages/typescript/index.js +1 -2
- package/cjs/components/shared/monaco-editor/hooks/useEditorOptions.js +1 -1
- package/cjs/components/shared/monaco-editor/index.js +5 -5
- package/cjs/components/shared/monaco-editor/utils/emmet/abbreviationActions.d.ts +1 -1
- package/cjs/components/shared/monaco-editor/utils/emmet/abbreviationActions.js +2 -2
- package/cjs/components/shared/monaco-editor/utils/emmet/registerProvider.js +2 -2
- package/cjs/components/shared/monaco-editor/utils/grammar/index.js +24 -28
- package/cjs/components/shared/monaco-editor/utils/grammar/onigasm.js +8 -9
- package/cjs/components/shared/monaco-editor/utils/grammar/textmate.js +16 -18
- package/cjs/components/shared/monaco-editor/utils/prettier/index.js +13 -16
- package/cjs/components/shared/monaco-editor/utils/theme/convert.js +1 -1
- package/cjs/components/shared/monaco-editor/utils/theme/index.js +4 -7
- package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursor.js +1 -2
- package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorManager.d.ts +1 -2
- package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorManager.js +2 -3
- package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorWidget.js +1 -2
- package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelection.js +1 -2
- package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelectionManager.d.ts +1 -2
- package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelectionManager.js +1 -2
- package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/styles.d.ts +1 -1
- package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/styles.js +2 -2
- package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/emmetHelper.js +0 -1
- package/cjs/components/shared/no-vnc/NoVnc.js +44 -24
- package/cjs/components/shared/preview-container/PreviewContainer.d.ts +1 -1
- package/cjs/components/shared/preview-container/PreviewContainer.js +8 -8
- package/cjs/components/shared/web-browser/WebBrowser.js +20 -12
- package/cjs/components/shared/xterm/Xterm.js +9 -9
- package/cjs/components/shared/xterm/utils/index.js +0 -1
- package/cjs/constants/stylesheets.d.ts +2 -2
- package/cjs/constants/stylesheets.js +2 -2
- package/cjs/hooks/useArduino.js +70 -80
- package/cjs/hooks/useExerciseFile.js +1 -4
- package/cjs/hooks/useMaterialExerciseFileUrl.js +13 -13
- package/cjs/hooks/useRunnerRoomWebSocket.js +7 -10
- package/cjs/hooks/useStdioTextConcator.js +3 -6
- package/cjs/hooks/useUsercodeEditWebSocket.js +26 -29
- package/cjs/hooks/useUsercodeHistory.js +28 -30
- package/cjs/index.js +9 -9
- package/cjs/utils/arduino.d.ts +0 -3
- package/es/_virtual/_rollupPluginBabelHelpers.js +240 -451
- package/es/components/index.js +3 -3
- package/es/components/material-exercise/MaterialExercise.js +14 -17
- package/es/components/material-exercise/MaterialExercise.styled.d.ts +40 -10
- package/es/components/material-exercise/MaterialExercise.styled.js +67 -32
- package/es/components/material-exercise/MaterialExerciseMobile.js +3 -6
- package/es/components/material-exercise/context/ExerciseProvider.js +16 -7
- package/es/components/material-exercise/context/ExerciseProviderNoImage.d.ts +1 -1
- package/es/components/material-exercise/context/ExerciseProviderNoImage.js +4 -4
- package/es/components/material-exercise/context/recoil.js +204 -221
- package/es/components/material-exercise/context/recoilTypes.d.ts +1 -2
- package/es/components/material-exercise/context/types.d.ts +0 -1
- package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.js +9 -25
- package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.d.ts +23 -9
- package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.js +44 -21
- package/es/components/material-exercise/exercise-file/ExerciseFile.js +7 -21
- package/es/components/material-exercise/exercise-file-editor/ExerciseFileEditor.js +35 -49
- package/es/components/material-exercise/exercise-file-editor/ExerciseFileReadOnlyBanner.js +4 -8
- package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabs.js +15 -14
- package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.d.ts +1 -1
- package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.js +1 -5
- package/es/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/ExerciseFileTabsFileTreeButton.js +9 -12
- package/es/components/material-exercise/exercise-file-tree/ExerciseFileTree.js +73 -99
- package/es/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.d.ts +1 -1
- package/es/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.js +1 -5
- package/es/components/material-exercise/exercise-file-viewer/ExerciseFileViewer.js +2 -9
- package/es/components/material-exercise/exercise-menu/ExerciseMenu.js +6 -9
- package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.d.ts +1 -1
- package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.js +0 -4
- package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.js +10 -14
- package/es/components/material-exercise/exercise-menu/ExerciseMenuDropdown.js +5 -7
- package/es/components/material-exercise/exercise-menu/ExerciseMenuReset.d.ts +1 -1
- package/es/components/material-exercise/exercise-menu/ExerciseMenuReset.js +1 -15
- package/es/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.js +7 -13
- package/es/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.d.ts +46 -13
- package/es/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.js +80 -37
- package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdown.js +2 -5
- package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.d.ts +1 -1
- package/es/components/material-exercise/exercise-preview/ExercisePreview.js +8 -10
- package/es/components/material-exercise/exercise-preview/ExercisePreviewDisplayModeButton.d.ts +1 -2
- package/es/components/material-exercise/exercise-preview/ExercisePreviewDisplayModeButton.js +3 -6
- package/es/components/material-exercise/exercise-rightpane/ExerciseRightpane.d.ts +1 -1
- package/es/components/material-exercise/exercise-rightpane/ExerciseRightpane.js +25 -21
- package/es/components/material-exercise/exercise-rightpane/ExerciseRightpaneEditorPerference.js +1 -6
- package/es/components/material-exercise/exercise-rightpane/ExerciseRightpaneEnvironment.js +15 -10
- package/es/components/material-exercise/exercise-room/ExerciseRoom.styled.d.ts +30 -9
- package/es/components/material-exercise/exercise-room/ExerciseRoom.styled.js +32 -24
- package/es/components/material-exercise/exercise-room/ExerciseRoomDetail.js +103 -108
- package/es/components/material-exercise/exercise-room/ExerciseRoomList.js +32 -36
- package/es/components/material-exercise/exercise-runner/ExerciseRunner.js +53 -72
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerController.js +7 -21
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.js +2 -6
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.d.ts +1 -1
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.js +27 -21
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js +22 -26
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.d.ts +1 -1
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.js +1 -1
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerRunningInfo.js +28 -26
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusIndicator.d.ts +4 -1
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusIndicator.js +5 -5
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusMessage.d.ts +1 -1
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusMessage.js +14 -10
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerTimer.js +5 -8
- package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.js +108 -115
- package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.styled.d.ts +30 -9
- package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.styled.js +54 -25
- package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistoryOutput.js +20 -16
- package/es/components/material-exercise/index.d.ts +1 -1
- package/es/components/shared/exercise-menu-button/ExerciseMenuButton.d.ts +1 -1
- package/es/components/shared/exercise-menu-button/ExerciseMenuButton.js +18 -10
- package/es/components/shared/exercise-shimmer/ExerciseFileShimmer.d.ts +1 -1
- package/es/components/shared/exercise-shimmer/ExerciseFileShimmer.js +16 -16
- package/es/components/shared/exercise-shimmer/ExerciseFileTabShimmer.d.ts +1 -1
- package/es/components/shared/exercise-shimmer/ExerciseFileTabShimmer.js +8 -8
- package/es/components/shared/exercise-shimmer/ExerciseFileTabsShimmer.d.ts +1 -1
- package/es/components/shared/exercise-shimmer/ExerciseFileTabsShimmer.js +4 -4
- package/es/components/shared/exercise-shimmer/ExerciseFileTreeListItemShimmer.d.ts +1 -1
- package/es/components/shared/exercise-shimmer/ExerciseFileTreeListItemShimmer.js +12 -12
- package/es/components/shared/exercise-shimmer/ExerciseFileTreeListShimmer.js +18 -10
- package/es/components/shared/exercise-version-list/ExerciseVersionList.d.ts +1 -1
- package/es/components/shared/exercise-version-list/ExerciseVersionList.styled.d.ts +5 -8
- package/es/components/shared/exercise-version-list/ExerciseVersionList.styled.js +12 -4
- package/es/components/shared/exercise-version-list/ExerciseVersionListItem.d.ts +1 -1
- package/es/components/shared/exercise-version-list/ExerciseVersionListItem.styled.d.ts +20 -5
- package/es/components/shared/exercise-version-list/ExerciseVersionListItem.styled.js +36 -14
- package/es/components/shared/file-tabs/FileTab.js +5 -5
- package/es/components/shared/file-tabs/FileTab.styled.d.ts +29 -8
- package/es/components/shared/file-tabs/FileTab.styled.js +49 -26
- package/es/components/shared/file-tabs/FileTabs.styled.d.ts +8 -2
- package/es/components/shared/file-tabs/FileTabs.styled.js +16 -8
- package/es/components/shared/file-tree/FileTree.d.ts +1 -1
- package/es/components/shared/file-tree/FileTree.js +19 -11
- package/es/components/shared/file-tree/FileTreeConfig.js +5 -5
- package/es/components/shared/file-tree/FileTreeList.d.ts +1 -1
- package/es/components/shared/file-tree/FileTreeList.js +10 -8
- package/es/components/shared/file-tree/FileTreeListItemContent.js +5 -5
- package/es/components/shared/file-tree/FileTreeListItemContent.styled.d.ts +35 -10
- package/es/components/shared/file-tree/FileTreeListItemContent.styled.js +49 -33
- package/es/components/shared/file-tree/FileTreeListItemContentInput.js +9 -9
- package/es/components/shared/file-tree/FileTreeListItemContentInput.styled.d.ts +7 -3
- package/es/components/shared/file-tree/FileTreeListItemContentInput.styled.js +15 -7
- package/es/components/shared/file-tree/FileTreeListItemContentMenu.js +1 -1
- package/es/components/shared/file-tree/FileTreeListItems.d.ts +1 -1
- package/es/components/shared/file-tree/FileTreeListItems.js +13 -11
- package/es/components/shared/file-tree/FileTreeListItems.styled.d.ts +8 -2
- package/es/components/shared/file-tree/FileTreeListItems.styled.js +22 -7
- package/es/components/shared/file-tree/FileTreeToolbar.styled.d.ts +4 -1
- package/es/components/shared/file-tree/FileTreeToolbar.styled.js +4 -4
- package/es/components/shared/file-tree/context/FileTreeContext.d.ts +1 -1
- package/es/components/shared/file-tree/context/FileTreeContext.js +0 -1
- package/es/components/shared/file-tree/file-tree-toolbar/FileTreeToolbar.js +7 -7
- package/es/components/shared/file-tree/index.d.ts +1 -1
- package/es/components/shared/file-tree/utils/fileTreeGenerator.js +3 -5
- package/es/components/shared/file-viewer/FileViewer.js +9 -13
- package/es/components/shared/file-viewer/FileViewerCsv.js +68 -52
- package/es/components/shared/file-viewer/FileViewerImage.d.ts +1 -1
- package/es/components/shared/file-viewer/FileViewerImage.js +13 -9
- package/es/components/shared/file-viewer/FileViewerIpynb.js +13 -9
- package/es/components/shared/file-viewer/FileViewerNonViewable.d.ts +1 -1
- package/es/components/shared/file-viewer/FileViewerNonViewable.js +45 -16
- package/es/components/shared/file-viewer/FileViewerText.js +3 -13
- package/es/components/shared/material-modal/MaterialModal.d.ts +1 -1
- package/es/components/shared/material-modal/MaterialModal.styled.d.ts +19 -6
- package/es/components/shared/material-modal/MaterialModal.styled.js +24 -16
- package/es/components/shared/monaco-editor/MonacoEditor.js +21 -13
- package/es/components/shared/monaco-editor/MonacoEditorLazy.js +0 -4
- package/es/components/shared/monaco-editor/MonacoEditorMobile.js +2 -2
- package/es/components/shared/monaco-editor/MonacoEditorPerferenceForm.js +27 -20
- package/es/components/shared/monaco-editor/editor-hooks/useMonacoMarkers.js +0 -1
- package/es/components/shared/monaco-editor/editor-hooks/useMonacoOptions.d.ts +0 -1
- package/es/components/shared/monaco-editor/editor-hooks/useMonacoOptions.js +2 -2
- package/es/components/shared/monaco-editor/editor-hooks/useMonacoTheme.d.ts +1 -1
- package/es/components/shared/monaco-editor/editor-hooks/useMonacoTheme.js +1 -2
- package/es/components/shared/monaco-editor/editor-languages/css/formatter.js +18 -22
- package/es/components/shared/monaco-editor/editor-languages/css/index.js +1 -1
- package/es/components/shared/monaco-editor/editor-languages/html/formatter.js +18 -22
- package/es/components/shared/monaco-editor/editor-languages/html/index.js +1 -1
- package/es/components/shared/monaco-editor/editor-languages/typescript/formatter.js +21 -25
- package/es/components/shared/monaco-editor/editor-languages/typescript/index.js +1 -2
- package/es/components/shared/monaco-editor/hooks/useEditorOptions.js +1 -1
- package/es/components/shared/monaco-editor/index.js +2 -2
- package/es/components/shared/monaco-editor/utils/emmet/abbreviationActions.d.ts +1 -1
- package/es/components/shared/monaco-editor/utils/emmet/abbreviationActions.js +2 -2
- package/es/components/shared/monaco-editor/utils/emmet/registerProvider.js +2 -2
- package/es/components/shared/monaco-editor/utils/grammar/index.js +25 -29
- package/es/components/shared/monaco-editor/utils/grammar/onigasm.js +9 -10
- package/es/components/shared/monaco-editor/utils/grammar/textmate.js +17 -19
- package/es/components/shared/monaco-editor/utils/prettier/index.js +14 -17
- package/es/components/shared/monaco-editor/utils/theme/convert.js +1 -1
- package/es/components/shared/monaco-editor/utils/theme/index.js +5 -8
- package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursor.js +1 -2
- package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorManager.d.ts +1 -2
- package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorManager.js +2 -3
- package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorWidget.js +1 -2
- package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelection.js +1 -2
- package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelectionManager.d.ts +1 -2
- package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelectionManager.js +1 -2
- package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/styles.d.ts +1 -1
- package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/styles.js +2 -2
- package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/emmetHelper.js +1 -2
- package/es/components/shared/no-vnc/NoVnc.js +43 -23
- package/es/components/shared/preview-container/PreviewContainer.d.ts +1 -1
- package/es/components/shared/preview-container/PreviewContainer.js +7 -7
- package/es/components/shared/web-browser/WebBrowser.js +19 -11
- package/es/components/shared/xterm/Xterm.js +8 -8
- package/es/components/shared/xterm/utils/index.js +0 -1
- package/es/constants/stylesheets.d.ts +2 -2
- package/es/constants/stylesheets.js +2 -2
- package/es/hooks/useArduino.js +72 -82
- package/es/hooks/useExerciseFile.js +1 -4
- package/es/hooks/useMaterialExerciseFileUrl.js +14 -14
- package/es/hooks/useRunnerRoomWebSocket.js +8 -11
- package/es/hooks/useStdioTextConcator.js +3 -6
- package/es/hooks/useUsercodeEditWebSocket.js +27 -30
- package/es/hooks/useUsercodeHistory.js +29 -31
- package/es/index.js +3 -3
- package/es/utils/arduino.d.ts +0 -3
- package/es/utils/arduino.js +1 -1
- package/package.json +15 -17
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { slicedToArray as _slicedToArray,
|
|
1
|
+
import { slicedToArray as _slicedToArray, asyncToGenerator as _asyncToGenerator, regenerator as _regenerator, toConsumableArray as _toConsumableArray } from '../../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import _styled from '@emotion/styled/base';
|
|
2
3
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
3
4
|
import React from 'react';
|
|
4
5
|
import { useEvent } from 'react-use';
|
|
@@ -8,40 +9,29 @@ import { base } from '@elice/design-tokens';
|
|
|
8
9
|
import { IntlComponentBuilder, RawEliceIntlProvider } from '@elice/intl';
|
|
9
10
|
import { enums } from '@elice/types';
|
|
10
11
|
import { useRecoilValue, useSetRecoilState, useRecoilState } from 'recoil';
|
|
11
|
-
import styled from 'styled-components';
|
|
12
|
-
import XtermLazy from '../../shared/xterm/XtermLazy.js';
|
|
13
12
|
import { MATERIAL_RESIZABLE_COMMON_PROPS } from '../../../constants/stylesheets.js';
|
|
13
|
+
import { useStdioTextConcator } from '../../../hooks/useStdioTextConcator.js';
|
|
14
|
+
import { ExerciseRunnerContext } from './ExerciseRunnerContext.js';
|
|
15
|
+
import ExerciseRunnerController from './ExerciseRunnerController.js';
|
|
16
|
+
import messageEn from './locales/en.json.js';
|
|
17
|
+
import messageKo from './locales/ko.json.js';
|
|
18
|
+
import { exerciseState, exerciseEditorPreferenceState, exerciseActiveFilenameState, exerciseRunnerSubmittingState, exerciseRunnerRunningState, exerciseRunnerRunTypeState, exerciseRunnerRoomConnectionInfoState, exerciseRunnerStdioFilesState, exercisePreviewTypeState, exercisePreviewDisplayModeState, exerciseMonacoEditorApisState, exerciseWebsocketQuery, exerciseContainerSizeState } from '../context/recoil.js';
|
|
14
19
|
import { useArduino } from '../../../hooks/useArduino.js';
|
|
15
|
-
import { useExerciseFileEditable } from '../../../hooks/useExerciseFile.js';
|
|
16
20
|
import { useRunnerRoomWebSocket } from '../../../hooks/useRunnerRoomWebSocket.js';
|
|
17
21
|
import { useStdioWebSocket } from '../../../hooks/useStdioWebSocket.js';
|
|
18
|
-
import '
|
|
19
|
-
import '
|
|
20
|
-
import '@elice/websocket';
|
|
21
|
-
import 'humps';
|
|
22
|
-
import 'lodash/debounce';
|
|
23
|
-
import 'random-words';
|
|
24
|
-
import 'unicount';
|
|
25
|
-
import { useStdioTextConcator } from '../../../hooks/useStdioTextConcator.js';
|
|
22
|
+
import { exerciseRunnerTextSend$, exerciseFileEditorSyncRequestAction$ } from '../context/subjects.js';
|
|
23
|
+
import XtermLazy from '../../shared/xterm/XtermLazy.js';
|
|
26
24
|
import { withTimeout } from '../../../utils/async.js';
|
|
27
25
|
import { getProgrammingErrorResult } from '../../../utils/runner.js';
|
|
28
|
-
import { exerciseState, exerciseEditorPreferenceState, exerciseActiveFilenameState, exerciseRunnerSubmittingState, exerciseRunnerRunningState, exerciseRunnerRunTypeState, exerciseRunnerRoomConnectionInfoState, exerciseRunnerStdioFilesState, exercisePreviewTypeState, exercisePreviewDisplayModeState, exerciseMonacoEditorApisState, exerciseWebsocketQuery, exerciseContainerSizeState } from '../context/recoil.js';
|
|
29
26
|
import { ExerciseContext } from '../context/context.js';
|
|
27
|
+
import { useExerciseFileEditable } from '../../../hooks/useExerciseFile.js';
|
|
30
28
|
import { ExercisePreviewType, ExercisePreviewDisplayMode } from '../context/recoilTypes.js';
|
|
31
|
-
import { exerciseRunnerTextSend$, exerciseFileEditorSyncRequestAction$ } from '../context/subjects.js';
|
|
32
|
-
import '../context/ExerciseProvider.js';
|
|
33
|
-
import { ExerciseRunnerContext } from './ExerciseRunnerContext.js';
|
|
34
|
-
import ExerciseRunnerController from './ExerciseRunnerController.js';
|
|
35
|
-
import messageEn from './locales/en.json.js';
|
|
36
|
-
import messageKo from './locales/ko.json.js';
|
|
37
29
|
|
|
38
30
|
var EXERCISE_RUNNER_HORIZONTAL_RATIO = {
|
|
39
|
-
PREVIEW: 0.3
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
componentId: "sc-mp78g-0"
|
|
44
|
-
})(["display:flex;flex-direction:column;width:100%;height:100%;background-color:", ";min-height:0;"], base.color.navy8);
|
|
31
|
+
PREVIEW: 0.3};
|
|
32
|
+
var StyledExerciseRunner = /*#__PURE__*/_styled("div", {
|
|
33
|
+
target: "e1qffvif0"
|
|
34
|
+
})("display:flex;flex-direction:column;width:100%;height:100%;background-color:", base.color.navy8, ";min-height:0;");
|
|
45
35
|
/**
|
|
46
36
|
*
|
|
47
37
|
*/
|
|
@@ -293,25 +283,22 @@ var ExerciseRunner = function ExerciseRunner(_ref) {
|
|
|
293
283
|
}
|
|
294
284
|
};
|
|
295
285
|
var requestUsercodeSync = /*#__PURE__*/function () {
|
|
296
|
-
var _ref2 = _asyncToGenerator(
|
|
297
|
-
return
|
|
298
|
-
while (1) switch (_context.
|
|
286
|
+
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
|
|
287
|
+
return _regenerator().w(function (_context) {
|
|
288
|
+
while (1) switch (_context.n) {
|
|
299
289
|
case 0:
|
|
300
290
|
if (isFileEditable) {
|
|
301
|
-
_context.
|
|
291
|
+
_context.n = 1;
|
|
302
292
|
break;
|
|
303
293
|
}
|
|
304
|
-
return _context.
|
|
305
|
-
case
|
|
306
|
-
return _context.
|
|
294
|
+
return _context.a(2);
|
|
295
|
+
case 1:
|
|
296
|
+
return _context.a(2, new Promise(function (resolve, reject) {
|
|
307
297
|
exerciseFileEditorSyncRequestAction$.next({
|
|
308
298
|
onSucceed: resolve,
|
|
309
299
|
onFailed: reject
|
|
310
300
|
});
|
|
311
301
|
}));
|
|
312
|
-
case 3:
|
|
313
|
-
case "end":
|
|
314
|
-
return _context.stop();
|
|
315
302
|
}
|
|
316
303
|
}, _callee);
|
|
317
304
|
}));
|
|
@@ -323,20 +310,20 @@ var ExerciseRunner = function ExerciseRunner(_ref) {
|
|
|
323
310
|
* Handle submit code to runner and run / grade.
|
|
324
311
|
*/
|
|
325
312
|
var handleRunnerSubmit = /*#__PURE__*/function () {
|
|
326
|
-
var _ref3 = _asyncToGenerator(
|
|
313
|
+
var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(runType) {
|
|
327
314
|
var _a, _b, _c, readyExerciseImage, roomToken;
|
|
328
|
-
return
|
|
329
|
-
while (1) switch (_context2.
|
|
315
|
+
return _regenerator().w(function (_context2) {
|
|
316
|
+
while (1) switch (_context2.p = _context2.n) {
|
|
330
317
|
case 0:
|
|
331
|
-
_context2.
|
|
332
|
-
_context2.
|
|
318
|
+
_context2.p = 0;
|
|
319
|
+
_context2.n = 1;
|
|
333
320
|
return withTimeout(requestUsercodeSync(), 2000);
|
|
334
|
-
case
|
|
335
|
-
_context2.
|
|
321
|
+
case 1:
|
|
322
|
+
_context2.n = 3;
|
|
336
323
|
break;
|
|
337
|
-
case
|
|
338
|
-
_context2.
|
|
339
|
-
_context2.
|
|
324
|
+
case 2:
|
|
325
|
+
_context2.p = 2;
|
|
326
|
+
_context2.v;
|
|
340
327
|
setRunnerSubmitErrorDialog({
|
|
341
328
|
code: 'try_again',
|
|
342
329
|
message: __intl.formatMessage({
|
|
@@ -349,20 +336,20 @@ var ExerciseRunner = function ExerciseRunner(_ref) {
|
|
|
349
336
|
return window.location.reload();
|
|
350
337
|
}
|
|
351
338
|
});
|
|
352
|
-
return _context2.
|
|
353
|
-
case
|
|
339
|
+
return _context2.a(2);
|
|
340
|
+
case 3:
|
|
354
341
|
readyExerciseImage = exercise === null || exercise === void 0 ? void 0 : exercise.readyExerciseImage;
|
|
355
342
|
roomToken = (_a = wsRunnerRoom.roomConnectionInfo) === null || _a === void 0 ? void 0 : _a.roomToken;
|
|
356
343
|
if (!(!readyExerciseImage || !roomToken)) {
|
|
357
|
-
_context2.
|
|
344
|
+
_context2.n = 4;
|
|
358
345
|
break;
|
|
359
346
|
}
|
|
360
|
-
return _context2.
|
|
361
|
-
case
|
|
347
|
+
return _context2.a(2);
|
|
348
|
+
case 4:
|
|
362
349
|
setRunnerStdioFilesState([]);
|
|
363
350
|
setRunnerRunTypeState(runType);
|
|
364
351
|
setRunnerSubmitting(true);
|
|
365
|
-
return _context2.
|
|
352
|
+
return _context2.a(2, postOrgMaterialExerciseExerciseRunningSubmit({
|
|
366
353
|
roomToken: roomToken,
|
|
367
354
|
runType: runType,
|
|
368
355
|
exerciseImageId: readyExerciseImage.id,
|
|
@@ -372,18 +359,15 @@ var ExerciseRunner = function ExerciseRunner(_ref) {
|
|
|
372
359
|
if (typeof onSubmit === 'function') {
|
|
373
360
|
onSubmit(res);
|
|
374
361
|
}
|
|
375
|
-
})
|
|
362
|
+
})["catch"](function (err) {
|
|
376
363
|
setRunnerSubmitting(false);
|
|
377
364
|
handleRunnerSubmitError(err);
|
|
378
365
|
if (typeof onError === 'function') {
|
|
379
366
|
onError(err);
|
|
380
367
|
}
|
|
381
368
|
}));
|
|
382
|
-
case 17:
|
|
383
|
-
case "end":
|
|
384
|
-
return _context2.stop();
|
|
385
369
|
}
|
|
386
|
-
}, _callee2, null, [[0,
|
|
370
|
+
}, _callee2, null, [[0, 2]]);
|
|
387
371
|
}));
|
|
388
372
|
return function handleRunnerSubmit(_x) {
|
|
389
373
|
return _ref3.apply(this, arguments);
|
|
@@ -393,10 +377,10 @@ var ExerciseRunner = function ExerciseRunner(_ref) {
|
|
|
393
377
|
* Handle runner to cancel running.
|
|
394
378
|
*/
|
|
395
379
|
var handleRunnerCancel = /*#__PURE__*/function () {
|
|
396
|
-
var _ref4 = _asyncToGenerator(
|
|
380
|
+
var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3() {
|
|
397
381
|
var _a, roomToken;
|
|
398
|
-
return
|
|
399
|
-
while (1) switch (_context3.
|
|
382
|
+
return _regenerator().w(function (_context3) {
|
|
383
|
+
while (1) switch (_context3.n) {
|
|
400
384
|
case 0:
|
|
401
385
|
roomToken = (_a = wsRunnerRoom.roomConnectionInfo) === null || _a === void 0 ? void 0 : _a.roomToken;
|
|
402
386
|
if (roomToken) {
|
|
@@ -404,9 +388,8 @@ var ExerciseRunner = function ExerciseRunner(_ref) {
|
|
|
404
388
|
roomToken: roomToken
|
|
405
389
|
});
|
|
406
390
|
}
|
|
407
|
-
case
|
|
408
|
-
|
|
409
|
-
return _context3.stop();
|
|
391
|
+
case 1:
|
|
392
|
+
return _context3.a(2);
|
|
410
393
|
}
|
|
411
394
|
}, _callee3);
|
|
412
395
|
}));
|
|
@@ -423,9 +406,9 @@ var ExerciseRunner = function ExerciseRunner(_ref) {
|
|
|
423
406
|
/**
|
|
424
407
|
* Handle input requests for arduino.
|
|
425
408
|
*/
|
|
426
|
-
var handleXtermArduinoInputRequest = function handleXtermArduinoInputRequest(
|
|
409
|
+
var handleXtermArduinoInputRequest = function handleXtermArduinoInputRequest(_char) {
|
|
427
410
|
var _a, _b, _c;
|
|
428
|
-
switch (
|
|
411
|
+
switch (_char) {
|
|
429
412
|
// backspace
|
|
430
413
|
case "\x7F":
|
|
431
414
|
(_a = xterm.current) === null || _a === void 0 ? void 0 : _a.write(' ');
|
|
@@ -441,8 +424,8 @@ var ExerciseRunner = function ExerciseRunner(_ref) {
|
|
|
441
424
|
break;
|
|
442
425
|
// any char
|
|
443
426
|
default:
|
|
444
|
-
(_c = xterm.current) === null || _c === void 0 ? void 0 : _c.write(
|
|
445
|
-
arduinoTextBuffer.current = "".concat(arduinoTextBuffer.current).concat(
|
|
427
|
+
(_c = xterm.current) === null || _c === void 0 ? void 0 : _c.write(_char);
|
|
428
|
+
arduinoTextBuffer.current = "".concat(arduinoTextBuffer.current).concat(_char);
|
|
446
429
|
break;
|
|
447
430
|
}
|
|
448
431
|
};
|
|
@@ -510,9 +493,7 @@ var ExerciseRunner = function ExerciseRunner(_ref) {
|
|
|
510
493
|
return (_a = xterm.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
511
494
|
}, 100);
|
|
512
495
|
}
|
|
513
|
-
},
|
|
514
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
515
|
-
[wsRunnerRoom.isRunning]);
|
|
496
|
+
}, [wsRunnerRoom.isRunning]);
|
|
516
497
|
//
|
|
517
498
|
// Bind runner run type to ref.
|
|
518
499
|
//
|
|
@@ -577,10 +558,10 @@ var ExerciseRunner = function ExerciseRunner(_ref) {
|
|
|
577
558
|
isRunning: wsRunnerRoom.isRunning,
|
|
578
559
|
fontSize: editorPreferenceFontSize,
|
|
579
560
|
suppressSystemMessage: !showSystemMessage,
|
|
580
|
-
onInputRequest: handleXtermInputRequest,
|
|
581
|
-
onTtyResizeRequest: wsStdio.sendTtyResize,
|
|
582
561
|
locale: locale,
|
|
583
|
-
ref: xterm
|
|
562
|
+
ref: xterm,
|
|
563
|
+
onInputRequest: handleXtermInputRequest,
|
|
564
|
+
onTtyResizeRequest: wsStdio.sendTtyResize
|
|
584
565
|
});
|
|
585
566
|
};
|
|
586
567
|
/**
|
|
@@ -1,38 +1,24 @@
|
|
|
1
|
+
import _styled from '@emotion/styled/base';
|
|
1
2
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
3
|
import React from 'react';
|
|
3
4
|
import { Flex, Hspace } from '@elice/blocks';
|
|
4
5
|
import { enums } from '@elice/types';
|
|
5
6
|
import { useRecoilValue } from 'recoil';
|
|
6
|
-
import styled from 'styled-components';
|
|
7
7
|
import { MATERIAL_DIVIDER_BORDER_VALUE } from '../../../constants/stylesheets.js';
|
|
8
|
-
import 'react-use';
|
|
9
|
-
import 'socket.io-client';
|
|
10
|
-
import { exerciseState, exerciseActiveFilenameState } from '../context/recoil.js';
|
|
11
|
-
import { ExerciseContext } from '../context/context.js';
|
|
12
|
-
import '../context/recoilTypes.js';
|
|
13
|
-
import '../context/subjects.js';
|
|
14
|
-
import '../context/ExerciseProvider.js';
|
|
15
|
-
import '../../../constants/arduino.js';
|
|
16
|
-
import { useExerciseFileEditable } from '../../../hooks/useExerciseFile.js';
|
|
17
|
-
import '@elice/api-client';
|
|
18
|
-
import '@elice/material-shared-utils';
|
|
19
|
-
import '@elice/websocket';
|
|
20
|
-
import 'humps';
|
|
21
|
-
import 'ot-text-unicode';
|
|
22
|
-
import 'lodash/debounce';
|
|
23
|
-
import 'random-words';
|
|
24
|
-
import 'unicount';
|
|
25
8
|
import ExerciseRunnerControllerArduinoAgentModal from './ExerciseRunnerControllerArduinoAgentModal.js';
|
|
26
9
|
import ExerciseRunnerControllerArduinoStatusMessage from './ExerciseRunnerControllerArduinoStatusMessage.js';
|
|
27
10
|
import ExerciseRunnerControllerButtonGroup from './ExerciseRunnerControllerButtonGroup.js';
|
|
28
11
|
import ExerciseRunnerControllerRunningInfo from './ExerciseRunnerControllerRunningInfo.js';
|
|
29
12
|
import ExerciseRunnerControllerStatusMessage from './ExerciseRunnerControllerStatusMessage.js';
|
|
30
13
|
import ExerciseRunnerControllerTimer from './ExerciseRunnerControllerTimer.js';
|
|
14
|
+
import { ExerciseContext } from '../context/context.js';
|
|
15
|
+
import { exerciseState, exerciseActiveFilenameState } from '../context/recoil.js';
|
|
16
|
+
import { useExerciseFileEditable } from '../../../hooks/useExerciseFile.js';
|
|
31
17
|
|
|
32
18
|
var RUNNER_CONTROLLER_HEIGHT = 50;
|
|
33
|
-
var StyledController =
|
|
34
|
-
|
|
35
|
-
})(
|
|
19
|
+
var StyledController = /*#__PURE__*/_styled("div", {
|
|
20
|
+
target: "e1v7lwgl0"
|
|
21
|
+
})("display:flex;justify-content:space-between;align-items:center;padding:0.5rem 1rem;height:", RUNNER_CONTROLLER_HEIGHT, "px;border-bottom:", MATERIAL_DIVIDER_BORDER_VALUE, ";");
|
|
36
22
|
var ExerciseRunnerController = function ExerciseRunnerController() {
|
|
37
23
|
var _React$useContext = React.useContext(ExerciseContext),
|
|
38
24
|
materialExerciseId = _React$useContext.materialExerciseId;
|
package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.js
CHANGED
|
@@ -6,10 +6,6 @@ import { eisWindows, eisMac, eilArrowRightwardsBasic } from '@elice/icons';
|
|
|
6
6
|
import { useRawEliceIntl } from '@elice/intl';
|
|
7
7
|
import { useRecoilState } from 'recoil';
|
|
8
8
|
import { exerciseArduinoAgentModalState } from '../context/recoil.js';
|
|
9
|
-
import '../context/context.js';
|
|
10
|
-
import '../context/recoilTypes.js';
|
|
11
|
-
import '../context/subjects.js';
|
|
12
|
-
import '../context/ExerciseProvider.js';
|
|
13
9
|
|
|
14
10
|
//
|
|
15
11
|
//
|
|
@@ -107,8 +103,8 @@ var ExerciseRunnerControllerArduinoAgentModal = function ExerciseRunnerControlle
|
|
|
107
103
|
var renderAgentConnectionInstruction = function renderAgentConnectionInstruction() {
|
|
108
104
|
return jsxs(Fragment, {
|
|
109
105
|
children: [jsx(Text, {
|
|
110
|
-
role: "gray0",
|
|
111
106
|
bold: true,
|
|
107
|
+
role: "gray0",
|
|
112
108
|
children: intl.formatMessage({
|
|
113
109
|
id: 'exerciseRunner.controller.arduino.agent.instruction.connect'
|
|
114
110
|
})
|
|
@@ -143,7 +139,7 @@ var ExerciseRunnerControllerArduinoAgentModal = function ExerciseRunnerControlle
|
|
|
143
139
|
return null;
|
|
144
140
|
}
|
|
145
141
|
return jsx(Modal, {
|
|
146
|
-
theme:
|
|
142
|
+
theme: 'dark',
|
|
147
143
|
title: intl.formatMessage({
|
|
148
144
|
id: 'exerciseRunner.controller.arduino.agent.title'
|
|
149
145
|
}),
|
|
@@ -1,21 +1,25 @@
|
|
|
1
1
|
import { slicedToArray as _slicedToArray } from '../../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import _styled from '@emotion/styled/base';
|
|
2
3
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
4
|
import { useState, useEffect } from 'react';
|
|
4
5
|
import { Flex, Text } from '@elice/blocks';
|
|
5
6
|
import { useRawEliceIntl } from '@elice/intl';
|
|
6
7
|
import { useRecoilValue } from 'recoil';
|
|
7
|
-
import styled from 'styled-components';
|
|
8
8
|
import { getPortFromName, getDisplayName } from '../../../utils/arduino.js';
|
|
9
|
-
import { exerciseArduinoPortsState, exerciseArduinoOpenedPortNameState, exerciseArduinoUploadProgressState, exerciseArduinoAgentConnectionState } from '../context/recoil.js';
|
|
10
|
-
import '../context/context.js';
|
|
11
|
-
import '../context/recoilTypes.js';
|
|
12
|
-
import '../context/subjects.js';
|
|
13
|
-
import '../context/ExerciseProvider.js';
|
|
14
9
|
import ExerciseRunnerControllerStatusIndicator from './ExerciseRunnerControllerStatusIndicator.js';
|
|
10
|
+
import { exerciseArduinoPortsState, exerciseArduinoOpenedPortNameState, exerciseArduinoUploadProgressState, exerciseArduinoAgentConnectionState } from '../context/recoil.js';
|
|
15
11
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
12
|
+
function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
|
|
13
|
+
var StyledMessageWrapper = /*#__PURE__*/_styled(Flex, {
|
|
14
|
+
target: "e1o0k0400"
|
|
15
|
+
})("production" === "production" ? {
|
|
16
|
+
name: "1f87p0t",
|
|
17
|
+
styles: "height:1rem"
|
|
18
|
+
} : {
|
|
19
|
+
name: "1f87p0t",
|
|
20
|
+
styles: "height:1rem",
|
|
21
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
22
|
+
});
|
|
19
23
|
var ExerciseRunnerControllerArduinoStatusMessage = function ExerciseRunnerControllerArduinoStatusMessage() {
|
|
20
24
|
var intl = useRawEliceIntl();
|
|
21
25
|
var ports = useRecoilValue(exerciseArduinoPortsState);
|
|
@@ -73,19 +77,21 @@ var ExerciseRunnerControllerArduinoStatusMessage = function ExerciseRunnerContro
|
|
|
73
77
|
case 'error':
|
|
74
78
|
case 'done':
|
|
75
79
|
default:
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
80
|
+
{
|
|
81
|
+
var device = getPortFromName(ports, arduinoOpenedPort);
|
|
82
|
+
if (device) {
|
|
83
|
+
setMessage(intl.formatMessage({
|
|
84
|
+
id: 'exerciseRunner.controller.arduino.connectionStatus.connectedDevice'
|
|
85
|
+
}, {
|
|
86
|
+
device: getDisplayName(device)
|
|
87
|
+
}));
|
|
88
|
+
} else {
|
|
89
|
+
setMessage(intl.formatMessage({
|
|
90
|
+
id: 'exerciseRunner.controller.arduino.connectionStatus.connected'
|
|
91
|
+
}));
|
|
92
|
+
}
|
|
93
|
+
return;
|
|
87
94
|
}
|
|
88
|
-
return;
|
|
89
95
|
}
|
|
90
96
|
}, [intl, arduinoOpenedPort, arduinoUploadProgress, arduinoAgentConnectionStatus, ports]);
|
|
91
97
|
//
|
package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { toConsumableArray as _toConsumableArray } from '../../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import _styled from '@emotion/styled/base';
|
|
2
3
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
4
|
import React from 'react';
|
|
4
5
|
import { Button, Tooltip } from '@elice/blocks';
|
|
@@ -7,35 +8,30 @@ import { colors } from '@elice/mui-system';
|
|
|
7
8
|
import { enums } from '@elice/types';
|
|
8
9
|
import { EliceWebSocket } from '@elice/websocket';
|
|
9
10
|
import { useRecoilValue } from 'recoil';
|
|
10
|
-
import
|
|
11
|
-
import 'react-use';
|
|
12
|
-
import 'socket.io-client';
|
|
11
|
+
import { ExerciseRunnerContext } from './ExerciseRunnerContext.js';
|
|
13
12
|
import { exerciseActiveFilenameState, exerciseWebSocketTotalStatusQuery, exerciseState, exerciseRunnerRunTypeState, exerciseLectureState, exerciseRunnerSubmittingState, exerciseRunnerRunningState, exerciseArduinoUploadProgressState, exerciseArduinoOpenedPortNameState } from '../context/recoil.js';
|
|
13
|
+
import { useExericseShortcut } from '../../../hooks/useExericseShortcut.js';
|
|
14
14
|
import { ExerciseContext } from '../context/context.js';
|
|
15
|
-
import '../context/recoilTypes.js';
|
|
16
|
-
import { exerciseFileEditorSaveAction$ } from '../context/subjects.js';
|
|
17
|
-
import '../context/ExerciseProvider.js';
|
|
18
|
-
import '../../../constants/arduino.js';
|
|
19
15
|
import { useExerciseFileEditable } from '../../../hooks/useExerciseFile.js';
|
|
20
|
-
import {
|
|
21
|
-
import '@elice/api-client';
|
|
22
|
-
import '@elice/material-shared-utils';
|
|
23
|
-
import 'humps';
|
|
24
|
-
import 'ot-text-unicode';
|
|
25
|
-
import 'lodash/debounce';
|
|
26
|
-
import 'random-words';
|
|
27
|
-
import 'unicount';
|
|
28
|
-
import { ExerciseRunnerContext } from './ExerciseRunnerContext.js';
|
|
16
|
+
import { exerciseFileEditorSaveAction$ } from '../context/subjects.js';
|
|
29
17
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
18
|
+
function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
|
|
19
|
+
var StyledControllerButton = /*#__PURE__*/_styled(Button, {
|
|
20
|
+
target: "e45p2z2"
|
|
21
|
+
})("position:relative;transition:none;&.eb-button--role-danger{border-color:", colors.red[700], ";background-color:", colors.red[700], ";}");
|
|
22
|
+
var StyledControllerButtonWrap = /*#__PURE__*/_styled("div", {
|
|
23
|
+
target: "e45p2z1"
|
|
24
|
+
})("production" === "production" ? {
|
|
25
|
+
name: "zjik7",
|
|
26
|
+
styles: "display:flex"
|
|
27
|
+
} : {
|
|
28
|
+
name: "zjik7",
|
|
29
|
+
styles: "display:flex",
|
|
30
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
31
|
+
});
|
|
32
|
+
var StyledControllerButtonGroup = /*#__PURE__*/_styled("div", {
|
|
33
|
+
target: "e45p2z0"
|
|
34
|
+
})("display:flex;flex-direction:row;align-items:center;>", StyledControllerButtonWrap, ",>", StyledControllerButton, "{margin-right:0.5rem;&:last-child{margin-right:0;}}");
|
|
39
35
|
var ExerciseRunnerControllerButtonGroup = function ExerciseRunnerControllerButtonGroup() {
|
|
40
36
|
var _a;
|
|
41
37
|
var intl = useRawEliceIntl();
|
|
@@ -159,11 +155,11 @@ var ExerciseRunnerControllerButtonGroup = function ExerciseRunnerControllerButto
|
|
|
159
155
|
return null;
|
|
160
156
|
}
|
|
161
157
|
return jsx(Tooltip, {
|
|
158
|
+
dark: true,
|
|
162
159
|
title: exerciseWithNoGrade ? intl.formatMessage({
|
|
163
160
|
id: 'exerciseRunner.controller.buttonGroup.button.submit.tooltip.noSubmit'
|
|
164
161
|
}) : undefined,
|
|
165
162
|
placement: "top",
|
|
166
|
-
dark: true,
|
|
167
163
|
children: jsx(StyledControllerButtonWrap, {
|
|
168
164
|
children: jsx(StyledControllerButton, {
|
|
169
165
|
size: "tiny",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { useRawEliceIntl } from '@elice/intl';
|
|
3
3
|
import { useHelpyLogo } from '@elice/material-shared-utils';
|
|
4
|
-
import { Button,
|
|
4
|
+
import { Button, Typography, Avatar } from '@mui/material';
|
|
5
5
|
|
|
6
6
|
//
|
|
7
7
|
//
|
package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerRunningInfo.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { slicedToArray as _slicedToArray, asyncToGenerator as _asyncToGenerator,
|
|
1
|
+
import { slicedToArray as _slicedToArray, asyncToGenerator as _asyncToGenerator, regenerator as _regenerator } from '../../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import _styled from '@emotion/styled/base';
|
|
2
3
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
3
4
|
import React from 'react';
|
|
4
5
|
import { usePrevious } from 'react-use';
|
|
@@ -8,26 +9,30 @@ import { base } from '@elice/design-tokens';
|
|
|
8
9
|
import { useRawEliceIntl } from '@elice/intl';
|
|
9
10
|
import { enums } from '@elice/types';
|
|
10
11
|
import { useRecoilValue } from 'recoil';
|
|
11
|
-
import styled from 'styled-components';
|
|
12
|
-
import { exerciseRunnerRunningState, exerciseState, exerciseUserState, exerciseFileEditorCursorSelectionValueState, exerciseMonacoEditorApisState } from '../context/recoil.js';
|
|
13
|
-
import { ExerciseContext } from '../context/context.js';
|
|
14
|
-
import '../context/recoilTypes.js';
|
|
15
|
-
import '../context/subjects.js';
|
|
16
|
-
import '../context/ExerciseProvider.js';
|
|
17
12
|
import ExerciseRunnerControllerCodeHelpRequestButton from './ExerciseRunnerControllerCodeHelpRequestButton.js';
|
|
13
|
+
import { ExerciseContext } from '../context/context.js';
|
|
14
|
+
import { exerciseRunnerRunningState, exerciseState, exerciseUserState, exerciseFileEditorCursorSelectionValueState, exerciseMonacoEditorApisState } from '../context/recoil.js';
|
|
18
15
|
|
|
16
|
+
function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
|
|
19
17
|
//
|
|
20
18
|
//
|
|
21
19
|
//
|
|
22
|
-
var StyledHr =
|
|
23
|
-
|
|
24
|
-
})(
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
20
|
+
var StyledHr = /*#__PURE__*/_styled(Hr, {
|
|
21
|
+
target: "e12hdw272"
|
|
22
|
+
})("production" === "production" ? {
|
|
23
|
+
name: "hw7i2k",
|
|
24
|
+
styles: "height:2rem"
|
|
25
|
+
} : {
|
|
26
|
+
name: "hw7i2k",
|
|
27
|
+
styles: "height:2rem",
|
|
28
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
29
|
+
});
|
|
30
|
+
var StyledRunnerInfoTitle = /*#__PURE__*/_styled("span", {
|
|
31
|
+
target: "e12hdw271"
|
|
32
|
+
})("display:block;color:", base.color.navy3, ";font-size:11px;line-height:1.25;");
|
|
33
|
+
var StyledRunnerInfoContent = /*#__PURE__*/_styled("span", {
|
|
34
|
+
target: "e12hdw270"
|
|
35
|
+
})("display:block;color:", base.color.navy1, ";font-size:12px;line-height:1.25;");
|
|
31
36
|
//
|
|
32
37
|
//
|
|
33
38
|
//
|
|
@@ -96,11 +101,11 @@ var ExerciseRunnerControllerRunningInfo = function ExerciseRunnerControllerRunni
|
|
|
96
101
|
}
|
|
97
102
|
var abortCtrl = new AbortController();
|
|
98
103
|
var _fetch = /*#__PURE__*/function () {
|
|
99
|
-
var _ref = _asyncToGenerator(
|
|
100
|
-
return
|
|
101
|
-
while (1) switch (_context.
|
|
104
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(runType) {
|
|
105
|
+
return _regenerator().w(function (_context) {
|
|
106
|
+
while (1) switch (_context.n) {
|
|
102
107
|
case 0:
|
|
103
|
-
return _context.
|
|
108
|
+
return _context.a(2, getOrgMaterialExerciseExerciseRunningList({
|
|
104
109
|
exerciseRoomId: exerciseRoomId,
|
|
105
110
|
filterRunType: runType,
|
|
106
111
|
offset: 0,
|
|
@@ -112,9 +117,6 @@ var ExerciseRunnerControllerRunningInfo = function ExerciseRunnerControllerRunni
|
|
|
112
117
|
var _a;
|
|
113
118
|
return (_a = exerciseRunnings[0]) !== null && _a !== void 0 ? _a : null;
|
|
114
119
|
}));
|
|
115
|
-
case 1:
|
|
116
|
-
case "end":
|
|
117
|
-
return _context.stop();
|
|
118
120
|
}
|
|
119
121
|
}, _callee);
|
|
120
122
|
}));
|
|
@@ -140,7 +142,7 @@ var ExerciseRunnerControllerRunningInfo = function ExerciseRunnerControllerRunni
|
|
|
140
142
|
if (isRunningDone && typeof onExerciseRunningDone === 'function') {
|
|
141
143
|
onExerciseRunningDone(exerciseLastRunning);
|
|
142
144
|
}
|
|
143
|
-
})
|
|
145
|
+
})["catch"](function (err) {
|
|
144
146
|
if (err.name === 'AbortError') {
|
|
145
147
|
return;
|
|
146
148
|
}
|
|
@@ -171,7 +173,7 @@ var ExerciseRunnerControllerRunningInfo = function ExerciseRunnerControllerRunni
|
|
|
171
173
|
signal: abortCtrl.signal
|
|
172
174
|
}).then(function (res) {
|
|
173
175
|
return res.course;
|
|
174
|
-
}).then(setCourse)
|
|
176
|
+
}).then(setCourse)["catch"](console.error);
|
|
175
177
|
return function () {
|
|
176
178
|
abortCtrl.abort();
|
|
177
179
|
};
|
|
@@ -202,8 +204,8 @@ var ExerciseRunnerControllerRunningInfo = function ExerciseRunnerControllerRunni
|
|
|
202
204
|
}) : '--'
|
|
203
205
|
})]
|
|
204
206
|
}), jsx(StyledHr, {
|
|
205
|
-
color: base.color.navy6,
|
|
206
207
|
vertical: true,
|
|
208
|
+
color: base.color.navy6,
|
|
207
209
|
marginStart: "0.5rem",
|
|
208
210
|
marginEnd: "0.5rem"
|
|
209
211
|
})]
|
package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusIndicator.d.ts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
interface ExerciseRunnerControllerStatusIndicatorProps {
|
|
2
2
|
status: 'success' | 'warning' | 'error';
|
|
3
3
|
}
|
|
4
|
-
declare const ExerciseRunnerControllerStatusIndicator: import("styled
|
|
4
|
+
declare const ExerciseRunnerControllerStatusIndicator: import("@emotion/styled").StyledComponent<{
|
|
5
|
+
theme?: import("@emotion/react").Theme;
|
|
6
|
+
as?: React.ElementType;
|
|
7
|
+
} & ExerciseRunnerControllerStatusIndicatorProps, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
5
8
|
export default ExerciseRunnerControllerStatusIndicator;
|
package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusIndicator.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
import _styled from '@emotion/styled/base';
|
|
1
2
|
import { base } from '@elice/design-tokens';
|
|
2
|
-
import styled from 'styled-components';
|
|
3
3
|
|
|
4
|
-
var ExerciseRunnerControllerStatusIndicator =
|
|
5
|
-
|
|
6
|
-
})(
|
|
4
|
+
var ExerciseRunnerControllerStatusIndicator = /*#__PURE__*/_styled("div", {
|
|
5
|
+
target: "e1g2gefq0"
|
|
6
|
+
})("margin-top:1px;margin-right:0.3rem;width:0.375rem;height:0.375rem;border-radius:50%;vertical-align:middle;background-color:", function (props) {
|
|
7
7
|
switch (props.status) {
|
|
8
8
|
case 'success':
|
|
9
9
|
return base.color.green8;
|
|
@@ -12,6 +12,6 @@ var ExerciseRunnerControllerStatusIndicator = styled.div.withConfig({
|
|
|
12
12
|
case 'error':
|
|
13
13
|
return base.color.red8;
|
|
14
14
|
}
|
|
15
|
-
});
|
|
15
|
+
}, ";");
|
|
16
16
|
|
|
17
17
|
export { ExerciseRunnerControllerStatusIndicator as default };
|