@elice/material-exercise 1.260305.0 → 1.260430.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/components/material-exercise/MaterialExercise.js +113 -17
- package/cjs/components/material-exercise/context/ExerciseProvider.d.ts +3 -1
- package/cjs/components/material-exercise/context/index.js +0 -7
- package/cjs/components/material-exercise/context/recoil.d.ts +0 -44
- package/cjs/components/material-exercise/context/recoil.js +0 -108
- package/cjs/components/material-exercise/context/recoilTypes.d.ts +0 -7
- package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.js +52 -7
- package/cjs/components/material-exercise/exercise-menu/ExerciseMenu.d.ts +1 -1
- package/cjs/components/material-exercise/exercise-menu/ExerciseMenu.js +1 -18
- package/cjs/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.js +2 -4
- package/cjs/components/material-exercise/exercise-menu/locales/en.json.js +1 -1
- package/cjs/components/material-exercise/exercise-menu/locales/ko.json.js +1 -1
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunner.js +27 -57
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerController.js +34 -7
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.d.ts +1 -1
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js +13 -219
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.d.ts +2 -2
- package/cjs/components/material-exercise/exercise-runner/action/ControllerActionCancel.d.ts +3 -0
- package/cjs/components/material-exercise/exercise-runner/action/ControllerActionCancel.js +44 -0
- package/cjs/components/material-exercise/exercise-runner/action/ControllerActionGrade.d.ts +3 -0
- package/cjs/components/material-exercise/exercise-runner/action/ControllerActionGrade.js +58 -0
- package/cjs/components/material-exercise/exercise-runner/action/ControllerActionRun.d.ts +3 -0
- package/cjs/components/material-exercise/exercise-runner/action/ControllerActionRun.js +44 -0
- package/cjs/components/material-exercise/exercise-runner/action/ControllerActionSyncRequest.d.ts +3 -0
- package/cjs/components/material-exercise/exercise-runner/action/ControllerActionSyncRequest.js +44 -0
- package/cjs/components/material-exercise/exercise-runner/action/index.d.ts +5 -0
- package/cjs/components/material-exercise/exercise-runner/action/index.js +15 -0
- package/cjs/components/material-exercise/exercise-runner/action/useControllerActionCancel.d.ts +14 -0
- package/cjs/components/material-exercise/exercise-runner/action/useControllerActionCancel.js +52 -0
- package/cjs/components/material-exercise/exercise-runner/action/useControllerActionGrade.d.ts +16 -0
- package/cjs/components/material-exercise/exercise-runner/action/useControllerActionGrade.js +74 -0
- package/cjs/components/material-exercise/exercise-runner/action/useControllerActionRun.d.ts +14 -0
- package/cjs/components/material-exercise/exercise-runner/action/useControllerActionRun.js +65 -0
- package/cjs/components/material-exercise/exercise-runner/action/useControllerActionSyncRequest.d.ts +15 -0
- package/cjs/components/material-exercise/exercise-runner/action/useControllerActionSyncRequest.js +68 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoConnectionGuideDialog.d.ts +3 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoConnectionGuideDialog.js +163 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoConnectionGuideDialogNativeMock.d.ts +3 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoConnectionGuideDialogNativeMock.js +188 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoConnectionGuideDialogSteps.d.ts +3 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoConnectionGuideDialogSteps.js +128 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoControllerActionCompile.d.ts +3 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoControllerActionCompile.js +78 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoControllerActionUpload.d.ts +3 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoControllerActionUpload.js +98 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoControllerButtonGroup.d.ts +3 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoControllerButtonGroup.js +24 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoControllerStatusMessage.d.ts +3 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoControllerStatusMessage.js +201 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoErrorDialog.d.ts +3 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoErrorDialog.js +125 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoHelpDialog.d.ts +3 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoHelpDialog.js +179 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoHelpDialogButton.d.ts +3 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoHelpDialogButton.js +29 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoHelpDialogChecklist.d.ts +3 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoHelpDialogChecklist.js +94 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoProvider.d.ts +16 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoProvider.js +105 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoProviderApiBinder.d.ts +12 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoProviderApiBinder.js +94 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoProviderFlashWriter.d.ts +7 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoProviderFlashWriter.js +95 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoProviderSessionWriter.d.ts +7 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoProviderSessionWriter.js +70 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/_context.d.ts +35 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/_context.js +18 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/index.d.ts +6 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/index.js +13 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/useArduinoRunIntent.d.ts +9 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/useArduinoRunIntent.js +38 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/useArduinoTerminalWriter.d.ts +10 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/useArduinoTerminalWriter.js +33 -0
- package/cjs/components/material-exercise/exercise-runner/locales/en.json.js +1 -1
- package/cjs/components/material-exercise/exercise-runner/locales/ja.json.js +1 -1
- package/cjs/components/material-exercise/exercise-runner/locales/ko.json.js +1 -1
- package/cjs/components/material-exercise/exercise-runner/locales/th.json.js +1 -1
- package/cjs/components/shared/exercise-version-list/ExerciseVersionList.js +18 -2
- package/cjs/components/shared/exercise-version-list/ExerciseVersionListItem.d.ts +1 -0
- package/cjs/components/shared/file-tabs/FileTab.js +70 -8
- package/cjs/components/shared/file-tabs/FileTabs.js +24 -3
- package/cjs/components/shared/file-tree/FileTreeListItemContent.js +103 -14
- package/cjs/components/shared/file-tree/FileTreeListItemContentInput.js +24 -3
- package/cjs/components/shared/file-tree/FileTreeListItems.js +28 -3
- package/cjs/components/shared/file-tree/file-tree-toolbar/FileTreeToolbar.js +7 -2
- package/cjs/components/shared/material-modal/MaterialModal.d.ts +1 -0
- package/cjs/components/shared/material-modal/MaterialModal.js +34 -6
- package/cjs/components/shared/monaco-editor/utils/prettier/config.d.ts +1 -1
- package/cjs/components/shared/monaco-editor/utils/prettier/config.js +1 -1
- package/cjs/hooks/index.d.ts +0 -1
- package/cjs/hooks/index.js +0 -2
- package/es/components/material-exercise/MaterialExercise.js +97 -2
- package/es/components/material-exercise/context/ExerciseProvider.d.ts +3 -1
- package/es/components/material-exercise/context/index.js +1 -1
- package/es/components/material-exercise/context/recoil.d.ts +0 -44
- package/es/components/material-exercise/context/recoil.js +1 -102
- package/es/components/material-exercise/context/recoilTypes.d.ts +0 -7
- package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.js +46 -2
- package/es/components/material-exercise/exercise-menu/ExerciseMenu.d.ts +1 -1
- package/es/components/material-exercise/exercise-menu/ExerciseMenu.js +2 -18
- package/es/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.js +3 -3
- package/es/components/material-exercise/exercise-menu/locales/en.json.js +1 -1
- package/es/components/material-exercise/exercise-menu/locales/ko.json.js +1 -1
- package/es/components/material-exercise/exercise-runner/ExerciseRunner.js +28 -58
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerController.js +34 -7
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.d.ts +1 -1
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js +13 -214
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.d.ts +2 -2
- package/es/components/material-exercise/exercise-runner/action/ControllerActionCancel.d.ts +3 -0
- package/es/components/material-exercise/exercise-runner/action/ControllerActionCancel.js +40 -0
- package/es/components/material-exercise/exercise-runner/action/ControllerActionGrade.d.ts +3 -0
- package/es/components/material-exercise/exercise-runner/action/ControllerActionGrade.js +54 -0
- package/es/components/material-exercise/exercise-runner/action/ControllerActionRun.d.ts +3 -0
- package/es/components/material-exercise/exercise-runner/action/ControllerActionRun.js +40 -0
- package/es/components/material-exercise/exercise-runner/action/ControllerActionSyncRequest.d.ts +3 -0
- package/es/components/material-exercise/exercise-runner/action/ControllerActionSyncRequest.js +40 -0
- package/es/components/material-exercise/exercise-runner/action/index.d.ts +5 -0
- package/es/components/material-exercise/exercise-runner/action/index.js +5 -0
- package/es/components/material-exercise/exercise-runner/action/useControllerActionCancel.d.ts +14 -0
- package/es/components/material-exercise/exercise-runner/action/useControllerActionCancel.js +46 -0
- package/es/components/material-exercise/exercise-runner/action/useControllerActionGrade.d.ts +16 -0
- package/es/components/material-exercise/exercise-runner/action/useControllerActionGrade.js +68 -0
- package/es/components/material-exercise/exercise-runner/action/useControllerActionRun.d.ts +14 -0
- package/es/components/material-exercise/exercise-runner/action/useControllerActionRun.js +59 -0
- package/es/components/material-exercise/exercise-runner/action/useControllerActionSyncRequest.d.ts +15 -0
- package/es/components/material-exercise/exercise-runner/action/useControllerActionSyncRequest.js +62 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoConnectionGuideDialog.d.ts +3 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoConnectionGuideDialog.js +148 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoConnectionGuideDialogNativeMock.d.ts +3 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoConnectionGuideDialogNativeMock.js +177 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoConnectionGuideDialogSteps.d.ts +3 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoConnectionGuideDialogSteps.js +118 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoControllerActionCompile.d.ts +3 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoControllerActionCompile.js +70 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoControllerActionUpload.d.ts +3 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoControllerActionUpload.js +90 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoControllerButtonGroup.d.ts +3 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoControllerButtonGroup.js +20 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoControllerStatusMessage.d.ts +3 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoControllerStatusMessage.js +197 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoErrorDialog.d.ts +3 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoErrorDialog.js +112 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoHelpDialog.d.ts +3 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoHelpDialog.js +161 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoHelpDialogButton.d.ts +3 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoHelpDialogButton.js +25 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoHelpDialogChecklist.d.ts +3 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoHelpDialogChecklist.js +84 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoProvider.d.ts +16 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoProvider.js +97 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoProviderApiBinder.d.ts +12 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoProviderApiBinder.js +86 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoProviderFlashWriter.d.ts +7 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoProviderFlashWriter.js +87 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoProviderSessionWriter.d.ts +7 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoProviderSessionWriter.js +62 -0
- package/es/components/material-exercise/exercise-runner/arduino/_context.d.ts +35 -0
- package/es/components/material-exercise/exercise-runner/arduino/_context.js +15 -0
- package/es/components/material-exercise/exercise-runner/arduino/index.d.ts +6 -0
- package/es/components/material-exercise/exercise-runner/arduino/index.js +4 -0
- package/es/components/material-exercise/exercise-runner/arduino/useArduinoRunIntent.d.ts +9 -0
- package/es/components/material-exercise/exercise-runner/arduino/useArduinoRunIntent.js +32 -0
- package/es/components/material-exercise/exercise-runner/arduino/useArduinoTerminalWriter.d.ts +10 -0
- package/es/components/material-exercise/exercise-runner/arduino/useArduinoTerminalWriter.js +27 -0
- package/es/components/material-exercise/exercise-runner/locales/en.json.js +1 -1
- package/es/components/material-exercise/exercise-runner/locales/ja.json.js +1 -1
- package/es/components/material-exercise/exercise-runner/locales/ko.json.js +1 -1
- package/es/components/material-exercise/exercise-runner/locales/th.json.js +1 -1
- package/es/components/shared/exercise-version-list/ExerciseVersionList.js +13 -1
- package/es/components/shared/exercise-version-list/ExerciseVersionListItem.d.ts +1 -0
- package/es/components/shared/file-tabs/FileTab.js +62 -1
- package/es/components/shared/file-tabs/FileTabs.js +21 -1
- package/es/components/shared/file-tree/FileTreeListItemContent.js +90 -2
- package/es/components/shared/file-tree/FileTreeListItemContentInput.js +21 -1
- package/es/components/shared/file-tree/FileTreeListItems.js +22 -1
- package/es/components/shared/file-tree/file-tree-toolbar/FileTreeToolbar.js +5 -1
- package/es/components/shared/material-modal/MaterialModal.d.ts +1 -0
- package/es/components/shared/material-modal/MaterialModal.js +26 -2
- package/es/components/shared/monaco-editor/utils/prettier/config.d.ts +1 -1
- package/es/components/shared/monaco-editor/utils/prettier/config.js +1 -1
- package/es/hooks/index.d.ts +0 -1
- package/es/hooks/index.js +0 -1
- package/package.json +34 -21
- package/cjs/components/material-exercise/MaterialExercise.styled.d.ts +0 -66
- package/cjs/components/material-exercise/MaterialExercise.styled.js +0 -119
- package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.d.ts +0 -24
- package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.js +0 -62
- package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.d.ts +0 -3
- package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.js +0 -33
- package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.d.ts +0 -3
- package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.js +0 -178
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.d.ts +0 -3
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.js +0 -169
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.d.ts +0 -3
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.js +0 -120
- package/cjs/components/shared/exercise-version-list/ExerciseVersionList.styled.d.ts +0 -5
- package/cjs/components/shared/exercise-version-list/ExerciseVersionList.styled.js +0 -22
- package/cjs/components/shared/file-tabs/FileTab.styled.d.ts +0 -33
- package/cjs/components/shared/file-tabs/FileTab.styled.js +0 -77
- package/cjs/components/shared/file-tabs/FileTabs.styled.d.ts +0 -12
- package/cjs/components/shared/file-tabs/FileTabs.styled.js +0 -31
- package/cjs/components/shared/file-tree/FileTreeListItemContent.styled.d.ts +0 -62
- package/cjs/components/shared/file-tree/FileTreeListItemContent.styled.js +0 -108
- package/cjs/components/shared/file-tree/FileTreeListItemContentInput.styled.d.ts +0 -7
- package/cjs/components/shared/file-tree/FileTreeListItemContentInput.styled.js +0 -31
- package/cjs/components/shared/file-tree/FileTreeListItems.styled.d.ts +0 -8
- package/cjs/components/shared/file-tree/FileTreeListItems.styled.js +0 -32
- package/cjs/components/shared/file-tree/FileTreeToolbar.styled.d.ts +0 -4
- package/cjs/components/shared/file-tree/FileTreeToolbar.styled.js +0 -14
- package/cjs/components/shared/material-modal/MaterialModal.styled.d.ts +0 -20
- package/cjs/components/shared/material-modal/MaterialModal.styled.js +0 -39
- package/cjs/constants/arduino.d.ts +0 -35
- package/cjs/constants/arduino.js +0 -73
- package/cjs/hooks/useArduino.d.ts +0 -14
- package/cjs/hooks/useArduino.js +0 -589
- package/cjs/typings/arduino.d.ts +0 -77
- package/cjs/utils/arduino.d.ts +0 -43
- package/cjs/utils/arduino.js +0 -82
- package/es/components/material-exercise/MaterialExercise.styled.d.ts +0 -66
- package/es/components/material-exercise/MaterialExercise.styled.js +0 -100
- package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.d.ts +0 -24
- package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.js +0 -49
- package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.d.ts +0 -3
- package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.js +0 -29
- package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.d.ts +0 -3
- package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.js +0 -170
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.d.ts +0 -3
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.js +0 -161
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.d.ts +0 -3
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.js +0 -112
- package/es/components/shared/exercise-version-list/ExerciseVersionList.styled.d.ts +0 -5
- package/es/components/shared/exercise-version-list/ExerciseVersionList.styled.js +0 -16
- package/es/components/shared/file-tabs/FileTab.styled.d.ts +0 -33
- package/es/components/shared/file-tabs/FileTab.styled.js +0 -65
- package/es/components/shared/file-tabs/FileTabs.styled.d.ts +0 -12
- package/es/components/shared/file-tabs/FileTabs.styled.js +0 -24
- package/es/components/shared/file-tree/FileTreeListItemContent.styled.d.ts +0 -62
- package/es/components/shared/file-tree/FileTreeListItemContent.styled.js +0 -94
- package/es/components/shared/file-tree/FileTreeListItemContentInput.styled.d.ts +0 -7
- package/es/components/shared/file-tree/FileTreeListItemContentInput.styled.js +0 -24
- package/es/components/shared/file-tree/FileTreeListItems.styled.d.ts +0 -8
- package/es/components/shared/file-tree/FileTreeListItems.styled.js +0 -25
- package/es/components/shared/file-tree/FileTreeToolbar.styled.d.ts +0 -4
- package/es/components/shared/file-tree/FileTreeToolbar.styled.js +0 -8
- package/es/components/shared/material-modal/MaterialModal.styled.d.ts +0 -20
- package/es/components/shared/material-modal/MaterialModal.styled.js +0 -29
- package/es/constants/arduino.d.ts +0 -35
- package/es/constants/arduino.js +0 -62
- package/es/hooks/useArduino.d.ts +0 -14
- package/es/hooks/useArduino.js +0 -583
- package/es/typings/arduino.d.ts +0 -77
- package/es/utils/arduino.d.ts +0 -43
- package/es/utils/arduino.js +0 -75
|
@@ -2,16 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
+
var _styled = require('@emotion/styled/base');
|
|
5
6
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
7
|
var React = require('react');
|
|
7
8
|
var apiClient = require('@elice/api-client');
|
|
8
9
|
var blocks = require('@elice/blocks');
|
|
10
|
+
var designTokens = require('@elice/design-tokens');
|
|
9
11
|
var icons = require('@elice/icons');
|
|
10
12
|
var intl = require('@elice/intl');
|
|
11
13
|
var materialSharedUtils = require('@elice/material-shared-utils');
|
|
12
14
|
var recoil = require('recoil');
|
|
13
15
|
var stylesheets = require('../../constants/stylesheets.js');
|
|
14
|
-
var MaterialExercise_styled = require('./MaterialExercise.styled.js');
|
|
15
16
|
var ExerciseProvider = require('./context/ExerciseProvider.js');
|
|
16
17
|
var en = require('../locales/en.json.js');
|
|
17
18
|
var ko = require('../locales/ko.json.js');
|
|
@@ -31,11 +32,106 @@ var recoilTypes = require('./context/recoilTypes.js');
|
|
|
31
32
|
|
|
32
33
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
33
34
|
|
|
35
|
+
var _styled__default = /*#__PURE__*/_interopDefaultCompat(_styled);
|
|
34
36
|
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
35
37
|
|
|
38
|
+
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)."; }
|
|
39
|
+
var EXERCISE_FILE_TREE_MIN_WIDTH = 128;
|
|
40
|
+
var EXERCISE_PREVIEW_MIN_WIDTH = 128;
|
|
41
|
+
var EXERCISE_RUNNER_MIN_HEIGHT = 128;
|
|
42
|
+
var EXERCISE_HORIZONTAL_RATIO = {
|
|
43
|
+
FILETREE: 0.15,
|
|
44
|
+
PREVIEW: 0.4
|
|
45
|
+
};
|
|
36
46
|
//
|
|
37
47
|
//
|
|
38
48
|
//
|
|
49
|
+
/**
|
|
50
|
+
* Wrapper contains:
|
|
51
|
+
* - FileTree
|
|
52
|
+
* - FileTabs
|
|
53
|
+
* - File (Editor)
|
|
54
|
+
* - Runner
|
|
55
|
+
*/
|
|
56
|
+
var StyledExerciseContainer = /*#__PURE__*/_styled__default.default("div", {
|
|
57
|
+
target: "e1tvay129"
|
|
58
|
+
})("production" === "production" ? {
|
|
59
|
+
name: "1x6515k",
|
|
60
|
+
styles: "flex:1;display:flex;flex-direction:column;height:100%;min-width:0;min-height:0"
|
|
61
|
+
} : {
|
|
62
|
+
name: "1x6515k",
|
|
63
|
+
styles: "flex:1;display:flex;flex-direction:column;height:100%;min-width:0;min-height:0",
|
|
64
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
65
|
+
});
|
|
66
|
+
/**
|
|
67
|
+
* Wrapper contains:
|
|
68
|
+
* - FileTree
|
|
69
|
+
* - FileTabs
|
|
70
|
+
* - File (Editor)
|
|
71
|
+
*/
|
|
72
|
+
var StyledExerciseMain = /*#__PURE__*/_styled__default.default("div", {
|
|
73
|
+
target: "e1tvay128"
|
|
74
|
+
})("production" === "production" ? {
|
|
75
|
+
name: "gaqfa6",
|
|
76
|
+
styles: "flex:1;display:flex;width:100%;min-width:0;min-height:0"
|
|
77
|
+
} : {
|
|
78
|
+
name: "gaqfa6",
|
|
79
|
+
styles: "flex:1;display:flex;width:100%;min-width:0;min-height:0",
|
|
80
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
81
|
+
});
|
|
82
|
+
/**
|
|
83
|
+
* Wrapper contains:
|
|
84
|
+
* - FileTabs
|
|
85
|
+
* - File (Editor)
|
|
86
|
+
*/
|
|
87
|
+
var StyledExerciseFileAndTabWrap = /*#__PURE__*/_styled__default.default("div", {
|
|
88
|
+
target: "e1tvay127"
|
|
89
|
+
})("flex:1;display:flex;flex-direction:column;height:100%;min-width:0;min-height:0;background-color:", designTokens.base.color.navy9, ";");
|
|
90
|
+
var StyledExerciseFileWrap = /*#__PURE__*/_styled__default.default("div", {
|
|
91
|
+
target: "e1tvay126"
|
|
92
|
+
})("production" === "production" ? {
|
|
93
|
+
name: "1qvekf5",
|
|
94
|
+
styles: "flex:1;min-height:0"
|
|
95
|
+
} : {
|
|
96
|
+
name: "1qvekf5",
|
|
97
|
+
styles: "flex:1;min-height:0",
|
|
98
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
99
|
+
});
|
|
100
|
+
// ========== Exercise FileTab ==========
|
|
101
|
+
var StyledExerciseTabBar = /*#__PURE__*/_styled__default.default("div", {
|
|
102
|
+
target: "e1tvay125"
|
|
103
|
+
})("display:flex;border-bottom:", stylesheets.MATERIAL_DIVIDER_BORDER_VALUE, ";");
|
|
104
|
+
var StyledExerciseTabsWrap = /*#__PURE__*/_styled__default.default("div", {
|
|
105
|
+
target: "e1tvay124"
|
|
106
|
+
})("production" === "production" ? {
|
|
107
|
+
name: "fxp7t8",
|
|
108
|
+
styles: "flex:1;min-width:0"
|
|
109
|
+
} : {
|
|
110
|
+
name: "fxp7t8",
|
|
111
|
+
styles: "flex:1;min-width:0",
|
|
112
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
113
|
+
});
|
|
114
|
+
var StyledExerciseTabMenuWrap = /*#__PURE__*/_styled__default.default("div", {
|
|
115
|
+
target: "e1tvay123"
|
|
116
|
+
})("display:flex;justify-content:center;align-items:center;padding:0 0.5rem 0 1rem;background-color:", designTokens.base.color.navy8, ";");
|
|
117
|
+
// ========== Exercise FileTree ==========
|
|
118
|
+
var StyledExerciseFileTreeWrap = /*#__PURE__*/_styled__default.default("div", {
|
|
119
|
+
target: "e1tvay122"
|
|
120
|
+
})("flex:1;display:flex;flex-direction:column;min-width:0;height:100%;border-right:", stylesheets.MATERIAL_DIVIDER_BORDER_VALUE, ";");
|
|
121
|
+
var StyledxerciseFileTreeContaner = /*#__PURE__*/_styled__default.default("div", {
|
|
122
|
+
target: "e1tvay121"
|
|
123
|
+
})("production" === "production" ? {
|
|
124
|
+
name: "ajoz9e",
|
|
125
|
+
styles: "display:flex;height:100%;max-width:auto;&[aria-hidden='true']{max-width:0;overflow:hidden;}"
|
|
126
|
+
} : {
|
|
127
|
+
name: "ajoz9e",
|
|
128
|
+
styles: "display:flex;height:100%;max-width:auto;&[aria-hidden='true']{max-width:0;overflow:hidden;}",
|
|
129
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
130
|
+
});
|
|
131
|
+
// ========== Exercise Runner ==========
|
|
132
|
+
var StyledExerciseRunnerWrap = /*#__PURE__*/_styled__default.default("div", {
|
|
133
|
+
target: "e1tvay120"
|
|
134
|
+
})("width:100%;height:100%;border-top:", stylesheets.MATERIAL_DIVIDER_BORDER_VALUE, ";");
|
|
39
135
|
/**
|
|
40
136
|
* Material exercise.
|
|
41
137
|
*/
|
|
@@ -55,13 +151,13 @@ var MaterialExercise = React.forwardRef(function (props, ref) {
|
|
|
55
151
|
* File tree
|
|
56
152
|
*/
|
|
57
153
|
var renderExerciseFileTree = function renderExerciseFileTree() {
|
|
58
|
-
return jsxRuntime.jsx(
|
|
154
|
+
return jsxRuntime.jsx(StyledxerciseFileTreeContaner, {
|
|
59
155
|
"aria-hidden": !exerciseFileTreeOpened,
|
|
60
156
|
children: jsxRuntime.jsx(blocks.ResizableNext, Object.assign({}, stylesheets.MATERIAL_RESIZABLE_COMMON_PROPS, {
|
|
61
|
-
initialWidth: Math.max(
|
|
62
|
-
minConstraints: [
|
|
157
|
+
initialWidth: Math.max(EXERCISE_FILE_TREE_MIN_WIDTH, width * EXERCISE_HORIZONTAL_RATIO.FILETREE),
|
|
158
|
+
minConstraints: [EXERCISE_FILE_TREE_MIN_WIDTH, Infinity],
|
|
63
159
|
resizeHandles: ['e'],
|
|
64
|
-
children: jsxRuntime.jsx(
|
|
160
|
+
children: jsxRuntime.jsx(StyledExerciseFileTreeWrap, {
|
|
65
161
|
children: jsxRuntime.jsx(ExerciseFileTreeLazy.default, {})
|
|
66
162
|
})
|
|
67
163
|
}))
|
|
@@ -77,7 +173,7 @@ var MaterialExercise = React.forwardRef(function (props, ref) {
|
|
|
77
173
|
* File tabs
|
|
78
174
|
*/
|
|
79
175
|
var renderExerciseFileTabs = function renderExerciseFileTabs() {
|
|
80
|
-
return jsxRuntime.jsx(
|
|
176
|
+
return jsxRuntime.jsx(StyledExerciseTabsWrap, {
|
|
81
177
|
children: jsxRuntime.jsx(ExerciseFileTabsLazy.default, {})
|
|
82
178
|
});
|
|
83
179
|
};
|
|
@@ -112,7 +208,7 @@ var MaterialExercise = React.forwardRef(function (props, ref) {
|
|
|
112
208
|
* Menu
|
|
113
209
|
*/
|
|
114
210
|
var renderExerciseMenu = function renderExerciseMenu() {
|
|
115
|
-
return jsxRuntime.jsxs(
|
|
211
|
+
return jsxRuntime.jsxs(StyledExerciseTabMenuWrap, {
|
|
116
212
|
children: [renderExerciseReferenceDocsToggleButton(), jsxRuntime.jsx(ExerciseMultilangDropdownLazy.default, {}), jsxRuntime.jsx(ExerciseMenu.default, {})]
|
|
117
213
|
});
|
|
118
214
|
};
|
|
@@ -120,7 +216,7 @@ var MaterialExercise = React.forwardRef(function (props, ref) {
|
|
|
120
216
|
* Code editor and file viewer
|
|
121
217
|
*/
|
|
122
218
|
var renderExerciseFile = function renderExerciseFile() {
|
|
123
|
-
return jsxRuntime.jsx(
|
|
219
|
+
return jsxRuntime.jsx(StyledExerciseFileWrap, {
|
|
124
220
|
children: jsxRuntime.jsx(ExerciseFile.default, {})
|
|
125
221
|
});
|
|
126
222
|
};
|
|
@@ -136,8 +232,8 @@ var MaterialExercise = React.forwardRef(function (props, ref) {
|
|
|
136
232
|
}
|
|
137
233
|
return jsxRuntime.jsx(blocks.ResizableNext, Object.assign({}, stylesheets.MATERIAL_RESIZABLE_COMMON_PROPS, {
|
|
138
234
|
children: jsxRuntime.jsx(ExercisePreview.default, {}),
|
|
139
|
-
initialWidth: Math.max(
|
|
140
|
-
minConstraints: [
|
|
235
|
+
initialWidth: Math.max(EXERCISE_PREVIEW_MIN_WIDTH, width * EXERCISE_HORIZONTAL_RATIO.PREVIEW),
|
|
236
|
+
minConstraints: [EXERCISE_PREVIEW_MIN_WIDTH, Infinity],
|
|
141
237
|
resizeHandles: ['w']
|
|
142
238
|
}));
|
|
143
239
|
};
|
|
@@ -148,9 +244,9 @@ var MaterialExercise = React.forwardRef(function (props, ref) {
|
|
|
148
244
|
if (exercise === null || exercise === void 0 ? void 0 : exercise.uiConfig.isEditorDisabled) {
|
|
149
245
|
return null;
|
|
150
246
|
}
|
|
151
|
-
return jsxRuntime.jsxs(
|
|
152
|
-
children: [renderExerciseFileTree(), jsxRuntime.jsxs(
|
|
153
|
-
children: [jsxRuntime.jsxs(
|
|
247
|
+
return jsxRuntime.jsxs(StyledExerciseMain, {
|
|
248
|
+
children: [renderExerciseFileTree(), jsxRuntime.jsxs(StyledExerciseFileAndTabWrap, {
|
|
249
|
+
children: [jsxRuntime.jsxs(StyledExerciseTabBar, {
|
|
154
250
|
children: [renderExerciseFileTreeButton(), renderExerciseFileTabs(), renderExerciseMenu()]
|
|
155
251
|
}), renderExerciseFile()]
|
|
156
252
|
}), jsxRuntime.jsx(ExerciseRightpane.default, {})]
|
|
@@ -160,7 +256,7 @@ var MaterialExercise = React.forwardRef(function (props, ref) {
|
|
|
160
256
|
* Exercise Runner
|
|
161
257
|
*/
|
|
162
258
|
var renderExerciseRunner = function renderExerciseRunner() {
|
|
163
|
-
var _runner = jsxRuntime.jsx(
|
|
259
|
+
var _runner = jsxRuntime.jsx(StyledExerciseRunnerWrap, {
|
|
164
260
|
children: jsxRuntime.jsx(ExerciseRunner.default, {
|
|
165
261
|
exercisePreview: jsxRuntime.jsx(ExercisePreview.default, {})
|
|
166
262
|
})
|
|
@@ -169,8 +265,8 @@ var MaterialExercise = React.forwardRef(function (props, ref) {
|
|
|
169
265
|
return _runner;
|
|
170
266
|
}
|
|
171
267
|
return jsxRuntime.jsx(blocks.ResizableNext, Object.assign({}, stylesheets.MATERIAL_RESIZABLE_COMMON_PROPS, {
|
|
172
|
-
initialHeight: Math.max(
|
|
173
|
-
minConstraints: [Infinity,
|
|
268
|
+
initialHeight: Math.max(EXERCISE_RUNNER_MIN_HEIGHT, height * 0.35),
|
|
269
|
+
minConstraints: [Infinity, EXERCISE_RUNNER_MIN_HEIGHT],
|
|
174
270
|
resizeHandles: ['n'],
|
|
175
271
|
children: _runner
|
|
176
272
|
}));
|
|
@@ -195,7 +291,7 @@ var MaterialExercise = React.forwardRef(function (props, ref) {
|
|
|
195
291
|
//
|
|
196
292
|
//
|
|
197
293
|
return jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
198
|
-
children: [jsxRuntime.jsxs(
|
|
294
|
+
children: [jsxRuntime.jsxs(StyledExerciseContainer, {
|
|
199
295
|
children: [renderExerciseMain(), renderExerciseRunner()]
|
|
200
296
|
}), renderExercisePreviewSideBySide()]
|
|
201
297
|
});
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { ExerciseProviderDedicatedProps, MaterialExerciseCommonProps } from './types';
|
|
3
|
-
export type ExerciseProviderProps = MaterialExerciseCommonProps & Omit<ExerciseProviderDedicatedProps, 'readOnlyActiveFile'
|
|
3
|
+
export type ExerciseProviderProps = MaterialExerciseCommonProps & Omit<ExerciseProviderDedicatedProps, 'readOnlyActiveFile'> & {
|
|
4
|
+
children?: React.ReactNode;
|
|
5
|
+
};
|
|
4
6
|
/**
|
|
5
7
|
* Provider for exercise, which...
|
|
6
8
|
* - wrapping with `ExerciseContext`
|
|
@@ -10,13 +10,6 @@ var ExerciseProvider = require('./ExerciseProvider.js');
|
|
|
10
10
|
|
|
11
11
|
exports.exerciseActiveFilenameState = recoil.exerciseActiveFilenameState;
|
|
12
12
|
exports.exerciseAibotInfoEnableState = recoil.exerciseAibotInfoEnableState;
|
|
13
|
-
exports.exerciseArduinoAgentConnectionState = recoil.exerciseArduinoAgentConnectionState;
|
|
14
|
-
exports.exerciseArduinoAgentModalState = recoil.exerciseArduinoAgentModalState;
|
|
15
|
-
exports.exerciseArduinoOnSelectPortState = recoil.exerciseArduinoOnSelectPortState;
|
|
16
|
-
exports.exerciseArduinoOpenedPortNameState = recoil.exerciseArduinoOpenedPortNameState;
|
|
17
|
-
exports.exerciseArduinoPortsState = recoil.exerciseArduinoPortsState;
|
|
18
|
-
exports.exerciseArduinoPreferenceState = recoil.exerciseArduinoPreferenceState;
|
|
19
|
-
exports.exerciseArduinoUploadProgressState = recoil.exerciseArduinoUploadProgressState;
|
|
20
13
|
exports.exerciseContainerSizeState = recoil.exerciseContainerSizeState;
|
|
21
14
|
exports.exerciseEditorPreferenceState = recoil.exerciseEditorPreferenceState;
|
|
22
15
|
exports.exerciseFileEditorCursorSelectionValueState = recoil.exerciseFileEditorCursorSelectionValueState;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { ExercisePreviewDisplayMode, ExercisePreviewType } from './recoilTypes';
|
|
2
2
|
import type { MonacoEditorApis } from "../../shared/monaco-editor";
|
|
3
|
-
import type { ArduinoAgentConnectionStatus, ArduinoUploadProgressStatus } from "../../../typings/arduino";
|
|
4
3
|
import type { AtomContainerSizeState, AtomExerciseRoomState, AtomExerciseState, AtomFileEditorCursorState, AtomLectureState, AtomMultilangEnvironmentJson, AtomMultilangEnvironmentState, AtomRunnerRoomConnectionInfoState, AtomRunnerRunTypeState, AtomRunnerStdioFilesState, AtomUserState, AtomVisibilityState, AtomWebSocketStateKey, AtomWebSocketStates } from './recoilTypes';
|
|
5
4
|
/**
|
|
6
5
|
* Lecture.
|
|
@@ -84,49 +83,6 @@ export declare const exerciseMultilangEnvironmentState: (param: {
|
|
|
84
83
|
materialExerciseId: number;
|
|
85
84
|
exerciseRoomId: number;
|
|
86
85
|
}) => import("recoil").RecoilState<AtomMultilangEnvironmentJson>;
|
|
87
|
-
/**
|
|
88
|
-
* Arduino preference.
|
|
89
|
-
*/
|
|
90
|
-
export declare const exerciseArduinoPreferenceState: import("recoil").RecoilState<Required<{
|
|
91
|
-
baudRate: number;
|
|
92
|
-
port: string;
|
|
93
|
-
}>>;
|
|
94
|
-
/**
|
|
95
|
-
* Arduino ports.
|
|
96
|
-
*/
|
|
97
|
-
export declare const exerciseArduinoPortsState: import("recoil").RecoilState<{
|
|
98
|
-
Name: string;
|
|
99
|
-
SerialNumber: string;
|
|
100
|
-
DeviceClass: string;
|
|
101
|
-
IsOpen: boolean;
|
|
102
|
-
IsPrimary: boolean;
|
|
103
|
-
Baud: number;
|
|
104
|
-
BufferAlgorithm: string;
|
|
105
|
-
Ver: string;
|
|
106
|
-
NetworkPort: boolean;
|
|
107
|
-
VendorID: string;
|
|
108
|
-
ProductID: string;
|
|
109
|
-
}[]>;
|
|
110
|
-
/**
|
|
111
|
-
* Opened arduino port.
|
|
112
|
-
*/
|
|
113
|
-
export declare const exerciseArduinoOpenedPortNameState: import("recoil").RecoilState<string | null>;
|
|
114
|
-
/**
|
|
115
|
-
* Arduino port open handler.
|
|
116
|
-
*/
|
|
117
|
-
export declare const exerciseArduinoOnSelectPortState: import("recoil").RecoilState<(name: string) => void>;
|
|
118
|
-
/**
|
|
119
|
-
* Arduino agent connection status.
|
|
120
|
-
*/
|
|
121
|
-
export declare const exerciseArduinoAgentConnectionState: import("recoil").RecoilState<ArduinoAgentConnectionStatus>;
|
|
122
|
-
/**
|
|
123
|
-
* Arduino upload progress.
|
|
124
|
-
*/
|
|
125
|
-
export declare const exerciseArduinoUploadProgressState: import("recoil").RecoilState<ArduinoUploadProgressStatus>;
|
|
126
|
-
/**
|
|
127
|
-
* Arduino agent modal open status.
|
|
128
|
-
*/
|
|
129
|
-
export declare const exerciseArduinoAgentModalState: import("recoil").RecoilState<boolean>;
|
|
130
86
|
/**
|
|
131
87
|
*
|
|
132
88
|
*/
|
|
@@ -654,107 +654,6 @@ var exerciseMultilangEnvironmentState = recoil.atomFamily({
|
|
|
654
654
|
}
|
|
655
655
|
});
|
|
656
656
|
//
|
|
657
|
-
// =============== arduino ===============
|
|
658
|
-
//
|
|
659
|
-
var ARDUINO_ACCOUNT_PREFERENCE_KEY = 'material.exercise.arduino.preference';
|
|
660
|
-
var DEFAULT_ARDUINO_PREFERENCE = {
|
|
661
|
-
baudRate: 9600,
|
|
662
|
-
port: ''
|
|
663
|
-
};
|
|
664
|
-
/**
|
|
665
|
-
* Arduino preference.
|
|
666
|
-
*/
|
|
667
|
-
var exerciseArduinoPreferenceState = recoil.atom({
|
|
668
|
-
key: "".concat(KEY_PREFIX, "/Arduino/Preference"),
|
|
669
|
-
"default": DEFAULT_ARDUINO_PREFERENCE,
|
|
670
|
-
effects: [function (_ref26) {
|
|
671
|
-
var trigger = _ref26.trigger,
|
|
672
|
-
setSelf = _ref26.setSelf,
|
|
673
|
-
onSet = _ref26.onSet;
|
|
674
|
-
var get = /*#__PURE__*/function () {
|
|
675
|
-
var _ref27 = _rollupPluginBabelHelpers.asyncToGenerator(/*#__PURE__*/_rollupPluginBabelHelpers.regenerator().m(function _callee1() {
|
|
676
|
-
var _t8;
|
|
677
|
-
return _rollupPluginBabelHelpers.regenerator().w(function (_context1) {
|
|
678
|
-
while (1) switch (_context1.n) {
|
|
679
|
-
case 0:
|
|
680
|
-
_t8 = setSelf;
|
|
681
|
-
_context1.n = 1;
|
|
682
|
-
return apiClient.getGlobalAccountPreferenceGet({
|
|
683
|
-
pkey: ARDUINO_ACCOUNT_PREFERENCE_KEY
|
|
684
|
-
}).then(function (res) {
|
|
685
|
-
return Object.assign(Object.assign({}, DEFAULT_ARDUINO_PREFERENCE), res.pvalue);
|
|
686
|
-
})["catch"](function () {
|
|
687
|
-
return DEFAULT_ARDUINO_PREFERENCE;
|
|
688
|
-
});
|
|
689
|
-
case 1:
|
|
690
|
-
_t8(_context1.v);
|
|
691
|
-
case 2:
|
|
692
|
-
return _context1.a(2);
|
|
693
|
-
}
|
|
694
|
-
}, _callee1);
|
|
695
|
-
}));
|
|
696
|
-
return function get() {
|
|
697
|
-
return _ref27.apply(this, arguments);
|
|
698
|
-
};
|
|
699
|
-
}();
|
|
700
|
-
if (trigger === 'get') {
|
|
701
|
-
void get();
|
|
702
|
-
}
|
|
703
|
-
onSet(function (newPreference, prevPreference, isReset) {
|
|
704
|
-
if (!isEqual__default.default(newPreference, prevPreference) && !isReset) {
|
|
705
|
-
void apiClient.postGlobalAccountPreferenceEdit({
|
|
706
|
-
pkey: ARDUINO_ACCOUNT_PREFERENCE_KEY,
|
|
707
|
-
pvalue: Object.assign(Object.assign({}, DEFAULT_ARDUINO_PREFERENCE), newPreference)
|
|
708
|
-
});
|
|
709
|
-
}
|
|
710
|
-
});
|
|
711
|
-
}]
|
|
712
|
-
});
|
|
713
|
-
/**
|
|
714
|
-
* Arduino ports.
|
|
715
|
-
*/
|
|
716
|
-
var exerciseArduinoPortsState = recoil.atom({
|
|
717
|
-
key: "".concat(KEY_PREFIX, "/Arduino/Ports"),
|
|
718
|
-
"default": []
|
|
719
|
-
});
|
|
720
|
-
/**
|
|
721
|
-
* Opened arduino port.
|
|
722
|
-
*/
|
|
723
|
-
var exerciseArduinoOpenedPortNameState = recoil.atom({
|
|
724
|
-
key: "".concat(KEY_PREFIX, "/Arduino/OpenedPortName"),
|
|
725
|
-
"default": null
|
|
726
|
-
});
|
|
727
|
-
/**
|
|
728
|
-
* Arduino port open handler.
|
|
729
|
-
*/
|
|
730
|
-
var exerciseArduinoOnSelectPortState = recoil.atom({
|
|
731
|
-
key: "".concat(KEY_PREFIX, "/Arduino/OnSelectPort"),
|
|
732
|
-
"default": function _default(_) {
|
|
733
|
-
// do nothing.
|
|
734
|
-
}
|
|
735
|
-
});
|
|
736
|
-
/**
|
|
737
|
-
* Arduino agent connection status.
|
|
738
|
-
*/
|
|
739
|
-
var exerciseArduinoAgentConnectionState = recoil.atom({
|
|
740
|
-
key: "".concat(KEY_PREFIX, "/Arduino/AgentConnection"),
|
|
741
|
-
"default": 'disconnected'
|
|
742
|
-
});
|
|
743
|
-
/**
|
|
744
|
-
* Arduino upload progress.
|
|
745
|
-
*/
|
|
746
|
-
var exerciseArduinoUploadProgressState = recoil.atom({
|
|
747
|
-
key: "".concat(KEY_PREFIX, "/Arduino/UploadProgressState"),
|
|
748
|
-
"default": 'ready'
|
|
749
|
-
});
|
|
750
|
-
/**
|
|
751
|
-
* Arduino agent modal open status.
|
|
752
|
-
*/
|
|
753
|
-
var exerciseArduinoAgentModalState = recoil.atom({
|
|
754
|
-
key: "".concat(KEY_PREFIX, "/Arduino/AgentModalState"),
|
|
755
|
-
"default": false
|
|
756
|
-
});
|
|
757
|
-
//
|
|
758
657
|
// =============== others ===============
|
|
759
658
|
//
|
|
760
659
|
/**
|
|
@@ -816,13 +715,6 @@ var exerciseMonacoEditorApisState = recoil.atom({
|
|
|
816
715
|
|
|
817
716
|
exports.exerciseActiveFilenameState = exerciseActiveFilenameState;
|
|
818
717
|
exports.exerciseAibotInfoEnableState = exerciseAibotInfoEnableState;
|
|
819
|
-
exports.exerciseArduinoAgentConnectionState = exerciseArduinoAgentConnectionState;
|
|
820
|
-
exports.exerciseArduinoAgentModalState = exerciseArduinoAgentModalState;
|
|
821
|
-
exports.exerciseArduinoOnSelectPortState = exerciseArduinoOnSelectPortState;
|
|
822
|
-
exports.exerciseArduinoOpenedPortNameState = exerciseArduinoOpenedPortNameState;
|
|
823
|
-
exports.exerciseArduinoPortsState = exerciseArduinoPortsState;
|
|
824
|
-
exports.exerciseArduinoPreferenceState = exerciseArduinoPreferenceState;
|
|
825
|
-
exports.exerciseArduinoUploadProgressState = exerciseArduinoUploadProgressState;
|
|
826
718
|
exports.exerciseContainerSizeState = exerciseContainerSizeState;
|
|
827
719
|
exports.exerciseEditorPreferenceState = exerciseEditorPreferenceState;
|
|
828
720
|
exports.exerciseFileEditorCursorSelectionValueState = exerciseFileEditorCursorSelectionValueState;
|
|
@@ -76,13 +76,6 @@ export type AtomMultilangEnvironmentJson = MultilangEnvironmentJson | null;
|
|
|
76
76
|
* - `MultilangLanguagesJson`: Ready.
|
|
77
77
|
*/
|
|
78
78
|
export type AtomMultilangEnvironmentState = MultilangLanguagesJson | undefined | null;
|
|
79
|
-
/**
|
|
80
|
-
* Arduino preference.
|
|
81
|
-
*/
|
|
82
|
-
export type AtomArduinoPreferenceState = Required<{
|
|
83
|
-
baudRate: number;
|
|
84
|
-
port: string;
|
|
85
|
-
}>;
|
|
86
79
|
/**
|
|
87
80
|
*
|
|
88
81
|
*/
|
|
@@ -2,13 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
+
var _styled = require('@emotion/styled/base');
|
|
5
6
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
7
|
var React = require('react');
|
|
7
8
|
var blocks = require('@elice/blocks');
|
|
9
|
+
var designTokens = require('@elice/design-tokens');
|
|
8
10
|
var intl = require('@elice/intl');
|
|
11
|
+
var react = require('@emotion/react');
|
|
9
12
|
var dayjs = require('dayjs');
|
|
10
13
|
var recoil = require('recoil');
|
|
11
|
-
var ExerciseCodeHistory_styled = require('./ExerciseCodeHistory.styled.js');
|
|
12
14
|
var en = require('./locales/en.json.js');
|
|
13
15
|
var ko = require('./locales/ko.json.js');
|
|
14
16
|
var useUsercodeHistory = require('../../../hooks/useUsercodeHistory.js');
|
|
@@ -21,9 +23,52 @@ var recoil$1 = require('../context/recoil.js');
|
|
|
21
23
|
|
|
22
24
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
23
25
|
|
|
26
|
+
var _styled__default = /*#__PURE__*/_interopDefaultCompat(_styled);
|
|
24
27
|
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
25
28
|
var dayjs__default = /*#__PURE__*/_interopDefaultCompat(dayjs);
|
|
26
29
|
|
|
30
|
+
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)."; }
|
|
31
|
+
var cssInputRangeTrack = "production" === "production" ? {
|
|
32
|
+
name: "jsy83f",
|
|
33
|
+
styles: "width:100%;height:0.375rem;cursor:pointer;transition:all 0.2s ease"
|
|
34
|
+
} : {
|
|
35
|
+
name: "jsy83f",
|
|
36
|
+
styles: "width:100%;height:0.375rem;cursor:pointer;transition:all 0.2s ease",
|
|
37
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
38
|
+
};
|
|
39
|
+
var cssInputRangeThumb = /*#__PURE__*/react.css("height:1rem;width:1rem;border-radius:50%;background:", designTokens.base.color.primary6, ";cursor:pointer;");
|
|
40
|
+
var StyledModalContent = /*#__PURE__*/_styled__default.default(blocks.Flex, {
|
|
41
|
+
target: "e1y3ui135"
|
|
42
|
+
})("production" === "production" ? {
|
|
43
|
+
name: "1j1fdpn",
|
|
44
|
+
styles: "position:absolute;width:100%;height:100%;overflow:hidden"
|
|
45
|
+
} : {
|
|
46
|
+
name: "1j1fdpn",
|
|
47
|
+
styles: "position:absolute;width:100%;height:100%;overflow:hidden",
|
|
48
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
49
|
+
});
|
|
50
|
+
var StyledVersionRangeInput = /*#__PURE__*/_styled__default.default("input", {
|
|
51
|
+
target: "e1y3ui134"
|
|
52
|
+
})("--webkit-appearance:none;margin:0.5rem 0;width:100%;cursor:pointer;&:focus{outline:none;}&::-webkit-slider-runnable-track{background:", designTokens.base.color.navy9, ";", cssInputRangeTrack, ";}&::-webkit-slider-thumb{-webkit-appearance:none;margin-top:calc((0.375rem - 1rem) / 2);", cssInputRangeThumb, ";}&:focus::-webkit-slider-runnable-track{background:rgba(", designTokens.base.color.navy9, ", 0.05);}&::-moz-range-track{background:", designTokens.base.color.navy9, ";", cssInputRangeTrack, ";}&::-moz-range-thumb{", cssInputRangeThumb, ";}");
|
|
53
|
+
var StyledVersionsWrapper = /*#__PURE__*/_styled__default.default(blocks.Flex, {
|
|
54
|
+
target: "e1y3ui133"
|
|
55
|
+
})("flex-direction:column;flex:1 1.75 25rem;position:relative;height:100%;border-right:1px solid ", designTokens.base.color.navy9, ";");
|
|
56
|
+
var StyledVersionRangeInputWrapper = /*#__PURE__*/_styled__default.default(blocks.Flex, {
|
|
57
|
+
target: "e1y3ui132"
|
|
58
|
+
})("height:3rem;padding:1rem;border-bottom:1px solid ", designTokens.base.color.navy9, ";");
|
|
59
|
+
var StyledEditorWrapper = /*#__PURE__*/_styled__default.default(blocks.Flex, {
|
|
60
|
+
target: "e1y3ui131"
|
|
61
|
+
})("production" === "production" ? {
|
|
62
|
+
name: "xf8y5j",
|
|
63
|
+
styles: "flex-direction:column;flex:1 1 auto;width:100%;height:100%;overflow:scroll"
|
|
64
|
+
} : {
|
|
65
|
+
name: "xf8y5j",
|
|
66
|
+
styles: "flex-direction:column;flex:1 1 auto;width:100%;height:100%;overflow:scroll",
|
|
67
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
68
|
+
});
|
|
69
|
+
var StyledFileNameBox = /*#__PURE__*/_styled__default.default(blocks.Text, {
|
|
70
|
+
target: "e1y3ui130"
|
|
71
|
+
})("min-height:3rem;height:3rem;line-height:3rem;padding-left:1rem;border-bottom:1px solid ", designTokens.base.color.navy9, ";");
|
|
27
72
|
var ExerciseCodeHistory = function ExerciseCodeHistory(_ref) {
|
|
28
73
|
var onHide = _ref.onHide,
|
|
29
74
|
onLoadVersionButtonClick = _ref.onLoadVersionButtonClick,
|
|
@@ -81,9 +126,9 @@ var ExerciseCodeHistory = function ExerciseCodeHistory(_ref) {
|
|
|
81
126
|
*
|
|
82
127
|
*/
|
|
83
128
|
var rednerVersionControlColumn = function rednerVersionControlColumn() {
|
|
84
|
-
return jsxRuntime.jsxs(
|
|
85
|
-
children: [jsxRuntime.jsx(
|
|
86
|
-
children: jsxRuntime.jsx(
|
|
129
|
+
return jsxRuntime.jsxs(StyledVersionsWrapper, {
|
|
130
|
+
children: [jsxRuntime.jsx(StyledVersionRangeInputWrapper, {
|
|
131
|
+
children: jsxRuntime.jsx(StyledVersionRangeInput, {
|
|
87
132
|
type: "range",
|
|
88
133
|
min: latestVersion ? latestVersion - ops.length + 1 : 0,
|
|
89
134
|
max: latestVersion !== null && latestVersion !== void 0 ? latestVersion : 0,
|
|
@@ -104,8 +149,8 @@ var ExerciseCodeHistory = function ExerciseCodeHistory(_ref) {
|
|
|
104
149
|
}
|
|
105
150
|
var uniqueFilePath = "code-history/".concat(exerciseRoomId, "/v").concat(version !== null && version !== void 0 ? version : 0);
|
|
106
151
|
var editorFilename = "".concat(uniqueFilePath, "/").concat(activeFilename);
|
|
107
|
-
return jsxRuntime.jsxs(
|
|
108
|
-
children: [jsxRuntime.jsx(
|
|
152
|
+
return jsxRuntime.jsxs(StyledEditorWrapper, {
|
|
153
|
+
children: [jsxRuntime.jsx(StyledFileNameBox, {
|
|
109
154
|
role: "white",
|
|
110
155
|
children: activeFilename
|
|
111
156
|
}), jsxRuntime.jsx(MonacoEditorLazy.default, {
|
|
@@ -145,7 +190,7 @@ var ExerciseCodeHistory = function ExerciseCodeHistory(_ref) {
|
|
|
145
190
|
}),
|
|
146
191
|
footer: renderFooterButton(),
|
|
147
192
|
onHide: onHide,
|
|
148
|
-
children: jsxRuntime.jsxs(
|
|
193
|
+
children: jsxRuntime.jsxs(StyledModalContent, {
|
|
149
194
|
children: [rednerVersionControlColumn(), renderEditorColumn()]
|
|
150
195
|
})
|
|
151
196
|
});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
1
|
import type { WithIntlComponentBuilderProps as EliceIntlProps } from '@elice/intl';
|
|
2
|
+
import type React from 'react';
|
|
3
3
|
declare const _default: React.ForwardRefExoticComponent<Omit<import("@elice/intl").IntlComponentExtraProps & Omit<EliceIntlProps, keyof import("@elice/intl").IntlComponentExtraProps | "__intl">, "ref"> & React.RefAttributes<any>>;
|
|
4
4
|
export default _default;
|
|
@@ -4,44 +4,27 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var _styled = require('@emotion/styled/base');
|
|
6
6
|
var jsxRuntime = require('react/jsx-runtime');
|
|
7
|
-
var React = require('react');
|
|
8
7
|
var designTokens = require('@elice/design-tokens');
|
|
9
8
|
var intl = require('@elice/intl');
|
|
10
|
-
var types = require('@elice/types');
|
|
11
|
-
var recoil = require('recoil');
|
|
12
|
-
var ExerciseMenuArduinoAgentModalButton = require('./ExerciseMenuArduinoAgentModalButton.js');
|
|
13
|
-
var ExerciseMenuArduinoSettings = require('./ExerciseMenuArduinoSettings.js');
|
|
14
9
|
var ExerciseMenuDropdown = require('./ExerciseMenuDropdown.js');
|
|
15
10
|
var ExerciseMenuReset = require('./ExerciseMenuReset.js');
|
|
16
11
|
var ExerciseMenuStdioFileBrowser = require('./ExerciseMenuStdioFileBrowser.js');
|
|
17
12
|
var en = require('./locales/en.json.js');
|
|
18
13
|
var ko = require('./locales/ko.json.js');
|
|
19
|
-
var context = require('../context/context.js');
|
|
20
|
-
var recoil$1 = require('../context/recoil.js');
|
|
21
14
|
|
|
22
15
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
23
16
|
|
|
24
17
|
var _styled__default = /*#__PURE__*/_interopDefaultCompat(_styled);
|
|
25
|
-
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
26
18
|
|
|
27
19
|
var StyledExerciseMenuWrapper = /*#__PURE__*/_styled__default.default("div", {
|
|
28
20
|
target: "e16oipg60"
|
|
29
21
|
})("display:flex;justify-content:center;align-items:center;padding:0 0.5rem 0 1rem;height:2.25rem;gap:0.5rem;background-color:", designTokens.base.color.navy8, ";");
|
|
30
22
|
var ExerciseMenu = function ExerciseMenu(_ref) {
|
|
31
23
|
var __intl = _ref.__intl;
|
|
32
|
-
var _React$useContext = React__default.default.useContext(context.ExerciseContext),
|
|
33
|
-
materialExerciseId = _React$useContext.materialExerciseId;
|
|
34
|
-
var exercise = recoil.useRecoilValue(recoil$1.exerciseState(materialExerciseId));
|
|
35
|
-
var isArduinoExercise = (exercise === null || exercise === void 0 ? void 0 : exercise.envType) === types.enums.ExerciseEnvType.Arduino;
|
|
36
|
-
//
|
|
37
|
-
//
|
|
38
|
-
//
|
|
39
24
|
return jsxRuntime.jsx(intl.RawEliceIntlProvider, {
|
|
40
25
|
value: __intl,
|
|
41
26
|
children: jsxRuntime.jsxs(StyledExerciseMenuWrapper, {
|
|
42
|
-
children: [
|
|
43
|
-
children: [jsxRuntime.jsx(ExerciseMenuArduinoAgentModalButton.default, {}), jsxRuntime.jsx(ExerciseMenuArduinoSettings.default, {})]
|
|
44
|
-
}) : jsxRuntime.jsx(ExerciseMenuStdioFileBrowser.default, {}), jsxRuntime.jsx(ExerciseMenuReset.default, {}), jsxRuntime.jsx(ExerciseMenuDropdown.default, {})]
|
|
27
|
+
children: [jsxRuntime.jsx(ExerciseMenuStdioFileBrowser.default, {}), jsxRuntime.jsx(ExerciseMenuReset.default, {}), jsxRuntime.jsx(ExerciseMenuDropdown.default, {})]
|
|
45
28
|
})
|
|
46
29
|
});
|
|
47
30
|
};
|
package/cjs/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.js
CHANGED
|
@@ -74,7 +74,7 @@ var StyledFilePopoverBodyListItemContentImage = /*#__PURE__*/_styled__default.de
|
|
|
74
74
|
styles: "width:100%;max-height:128px;object-fit:contain;cursor:zoom-in",
|
|
75
75
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
76
76
|
});
|
|
77
|
-
|
|
77
|
+
/*#__PURE__*/_styled__default.default("div", {
|
|
78
78
|
target: "e8nx2or1"
|
|
79
79
|
})("production" === "production" ? {
|
|
80
80
|
name: "10vug81",
|
|
@@ -84,7 +84,7 @@ var StyledPreferenceBodyItem = /*#__PURE__*/_styled__default.default("div", {
|
|
|
84
84
|
styles: "display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;min-height:2rem;color:white;&:last-child{margin-bottom:0;}",
|
|
85
85
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
86
86
|
});
|
|
87
|
-
|
|
87
|
+
/*#__PURE__*/_styled__default.default(blocks.Select, {
|
|
88
88
|
target: "e8nx2or0"
|
|
89
89
|
})(">div{background:", designTokens.base.color.navy8, "!important;border-color:", designTokens.base.color.navy7, "!important;}select{padding:0!important;height:2rem!important;color:#fff!important;>option{background:", designTokens.base.color.navy8, "!important;}}");
|
|
90
90
|
|
|
@@ -98,5 +98,3 @@ exports.StyledFilePopoverBodyListItemDownloadButton = StyledFilePopoverBodyListI
|
|
|
98
98
|
exports.StyledFilePopoverContent = StyledFilePopoverContent;
|
|
99
99
|
exports.StyledFilePopoverHeader = StyledFilePopoverHeader;
|
|
100
100
|
exports.StyledMenuButtonFileCount = StyledMenuButtonFileCount;
|
|
101
|
-
exports.StyledPreferenceBodyItem = StyledPreferenceBodyItem;
|
|
102
|
-
exports.StyledSelect = StyledSelect;
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var messageEn = {"exerciseMenu.dropdown.button.tooltip":"More","exerciseMenu.dropdown.item.codeHistory":"Code Revision History","exerciseMenu.dropdown.item.environment":"Environment","exerciseMenu.dropdown.item.preference":"Editor Preferences","exerciseMenu.dropdown.item.room":"Code Sharing","exerciseMenu.dropdown.item.submitHistory":"Execution/Submission History","exerciseMenu.arduino.
|
|
5
|
+
var messageEn = {"exerciseMenu.dropdown.button.tooltip":"More","exerciseMenu.dropdown.item.codeHistory":"Code Revision History","exerciseMenu.dropdown.item.environment":"Environment","exerciseMenu.dropdown.item.preference":"Editor Preferences","exerciseMenu.dropdown.item.room":"Code Sharing","exerciseMenu.dropdown.item.submitHistory":"Execution/Submission History","exerciseMenu.arduino.setting":"Arduino Setting","exerciseMenu.arduino.transferSpeed":"Transfer speed","exerciseMenu.reset.button.tooltip.disabled":"The file cannot be reset","exerciseMenu.reset.button.tooltip.enabled":"Reset the file","exerciseMenu.reset.confirmDialog.body":"Are you sure you want to clear all the code you wrote at current file and reset it?","exerciseMenu.reset.confirmDialog.cancel":"Cancel","exerciseMenu.reset.confirmDialog.confirm":"Confirm","exerciseMenu.reset.confirmDialog.title":"Reset the file","exerciseMenu.stdioFileBrowser.button.tooltip":"File","exerciseMenu.stdioFileBrowser.popover.body.placeholder":"Files sent from your code\nappear here.","exerciseMenu.stdioFileBrowser.popover.header":"File"};
|
|
6
6
|
|
|
7
7
|
exports.default = messageEn;
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var messageKo = {"exerciseMenu.dropdown.button.tooltip":"더 보기","exerciseMenu.dropdown.item.codeHistory":"코드 수정 이력","exerciseMenu.dropdown.item.environment":"실습 환경","exerciseMenu.dropdown.item.preference":"에디터 설정","exerciseMenu.dropdown.item.room":"코드 공유","exerciseMenu.dropdown.item.submitHistory":"실행/제출 이력","exerciseMenu.arduino.
|
|
5
|
+
var messageKo = {"exerciseMenu.dropdown.button.tooltip":"더 보기","exerciseMenu.dropdown.item.codeHistory":"코드 수정 이력","exerciseMenu.dropdown.item.environment":"실습 환경","exerciseMenu.dropdown.item.preference":"에디터 설정","exerciseMenu.dropdown.item.room":"코드 공유","exerciseMenu.dropdown.item.submitHistory":"실행/제출 이력","exerciseMenu.arduino.setting":"아두이노 세팅","exerciseMenu.arduino.transferSpeed":"전송 속도","exerciseMenu.reset.button.tooltip.disabled":"해당 파일은 초기화를 할 수 없습니다","exerciseMenu.reset.button.tooltip.enabled":"코드 초기화","exerciseMenu.reset.confirmDialog.body":"작성한 코드를 모두 지우고 초기화하시겠습니까?","exerciseMenu.reset.confirmDialog.cancel":"취소","exerciseMenu.reset.confirmDialog.confirm":"확인","exerciseMenu.reset.confirmDialog.title":"코드 초기화","exerciseMenu.stdioFileBrowser.button.tooltip":"파일","exerciseMenu.stdioFileBrowser.popover.body.placeholder":"코드에서 전송한 파일이\n여기에 표시됩니다.","exerciseMenu.stdioFileBrowser.popover.header":"파일"};
|
|
6
6
|
|
|
7
7
|
exports.default = messageKo;
|