@elice/material-exercise 1.230328.0 → 1.230418.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/_virtual/_rollupPluginBabelHelpers.js +526 -0
- package/cjs/components/material-exercise/MaterialExercise.js +44 -63
- package/cjs/components/material-exercise/MaterialExercise.styled.js +20 -23
- package/cjs/components/material-exercise/MaterialExerciseMobile.js +19 -15
- package/cjs/components/material-exercise/context/ExerciseIntlProvider.js +9 -13
- package/cjs/components/material-exercise/context/ExerciseProvider.js +83 -81
- package/cjs/components/material-exercise/context/ExerciseProviderNoImage.js +16 -16
- package/cjs/components/material-exercise/context/context.js +1 -1
- package/cjs/components/material-exercise/context/locales/noImage.en.json.js +3 -1
- package/cjs/components/material-exercise/context/locales/noImage.ko.json.js +3 -1
- package/cjs/components/material-exercise/context/recoil.js +559 -371
- package/cjs/components/material-exercise/context/recoilTypes.js +0 -5
- package/cjs/components/material-exercise/context/subjects.js +3 -6
- package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.d.ts +2 -2
- package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.js +78 -65
- package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.js +8 -8
- package/cjs/components/material-exercise/exercise-code-history/locales/en.json.js +7 -0
- package/cjs/components/material-exercise/exercise-code-history/locales/ko.json.js +7 -0
- package/cjs/components/material-exercise/exercise-file/ExerciseFile.js +20 -21
- package/cjs/components/material-exercise/exercise-file-editor/ExerciseFileEditor.js +225 -198
- package/cjs/components/material-exercise/exercise-file-editor/ExerciseFileReadOnlyBanner.js +8 -10
- package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabs.js +35 -32
- package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabsFileTreeButton.js +57 -48
- package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.js +6 -4
- package/cjs/components/material-exercise/exercise-file-tabs/locales/fileTreeButton.en.json.js +3 -1
- package/cjs/components/material-exercise/exercise-file-tabs/locales/fileTreeButton.ko.json.js +3 -1
- package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTree.js +327 -231
- package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.js +6 -4
- package/cjs/components/material-exercise/exercise-file-tree/locales/en.json.js +3 -1
- package/cjs/components/material-exercise/exercise-file-tree/locales/ko.json.js +3 -1
- package/cjs/components/material-exercise/exercise-file-viewer/ExerciseFileViewer.js +17 -17
- package/cjs/components/material-exercise/exercise-menu/ExerciseMenu.js +13 -14
- package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.js +6 -6
- package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.js +47 -38
- package/cjs/components/material-exercise/exercise-menu/ExerciseMenuDropdown.js +60 -42
- package/cjs/components/material-exercise/exercise-menu/ExerciseMenuReset.js +29 -22
- package/cjs/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.js +45 -56
- package/cjs/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.js +12 -12
- package/cjs/components/material-exercise/exercise-menu/locales/en.json.js +3 -1
- package/cjs/components/material-exercise/exercise-menu/locales/ko.json.js +3 -1
- package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdown.js +28 -20
- package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.js +5 -3
- package/cjs/components/material-exercise/exercise-preview/ExercisePreview.js +30 -41
- package/cjs/components/material-exercise/exercise-preview/ExercisePreviewDisplayModeButton.js +17 -12
- package/cjs/components/material-exercise/exercise-preview/locales/en.json.js +3 -1
- package/cjs/components/material-exercise/exercise-preview/locales/ko.json.js +3 -1
- package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpane.js +24 -33
- package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpaneEditorPerference.js +13 -8
- package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpaneEnvironment.js +84 -83
- package/cjs/components/material-exercise/exercise-rightpane/locales/en.json.js +3 -1
- package/cjs/components/material-exercise/exercise-rightpane/locales/ko.json.js +3 -1
- package/cjs/components/material-exercise/exercise-room/ExerciseRoom.js +20 -12
- package/cjs/components/material-exercise/exercise-room/ExerciseRoom.styled.js +14 -12
- package/cjs/components/material-exercise/exercise-room/ExerciseRoomDetail.js +239 -147
- package/cjs/components/material-exercise/exercise-room/ExerciseRoomList.js +92 -63
- package/cjs/components/material-exercise/exercise-room/helpers/exerciseRoomPermissionStringConvertor.js +2 -8
- package/cjs/components/material-exercise/exercise-room/locales/en.json.js +3 -1
- package/cjs/components/material-exercise/exercise-room/locales/ko.json.js +3 -1
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunner.js +219 -220
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerContext.js +1 -1
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerController.js +13 -13
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.js +30 -26
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.js +26 -26
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js +70 -95
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.js +27 -27
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerRunningInfo.js +54 -60
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusIndicator.js +5 -5
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusMessage.js +10 -13
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerTimer.js +29 -26
- package/cjs/components/material-exercise/exercise-runner/locales/en.json.js +3 -1
- package/cjs/components/material-exercise/exercise-runner/locales/ko.json.js +3 -1
- package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.d.ts +2 -2
- package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.js +290 -180
- package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.styled.js +8 -8
- package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistoryOutput.js +41 -45
- package/cjs/components/material-exercise/exercise-submit-history/locales/en.json.js +7 -0
- package/cjs/components/material-exercise/exercise-submit-history/locales/ko.json.js +7 -0
- package/cjs/components/shared/exercise-menu-button/ExerciseMenuButton.js +19 -17
- package/cjs/components/shared/exercise-shimmer/ExerciseFileShimmer.js +5 -4
- package/cjs/components/shared/exercise-shimmer/ExerciseFileTabShimmer.js +15 -14
- package/cjs/components/shared/exercise-shimmer/ExerciseFileTabsShimmer.js +7 -6
- package/cjs/components/shared/exercise-shimmer/ExerciseFileTreeListItemShimmer.js +17 -16
- package/cjs/components/shared/exercise-shimmer/ExerciseFileTreeListShimmer.js +18 -11
- package/cjs/components/shared/exercise-version-list/ExerciseVersionList.js +5 -4
- package/cjs/components/shared/exercise-version-list/ExerciseVersionList.styled.js +1 -1
- package/cjs/components/shared/exercise-version-list/ExerciseVersionListItem.js +8 -7
- package/cjs/components/shared/exercise-version-list/ExerciseVersionListItem.styled.js +9 -5
- package/cjs/components/shared/file-icon/FileIcon.js +23 -23
- package/cjs/components/shared/file-tabs/FileTab.js +32 -43
- package/cjs/components/shared/file-tabs/FileTab.styled.js +26 -22
- package/cjs/components/shared/file-tabs/FileTabs.js +55 -49
- package/cjs/components/shared/file-tabs/FileTabs.styled.js +2 -2
- package/cjs/components/shared/file-tabs/util.js +29 -18
- package/cjs/components/shared/file-tree/FileTree.js +11 -11
- package/cjs/components/shared/file-tree/FileTreeConfig.js +24 -23
- package/cjs/components/shared/file-tree/FileTreeList.js +35 -41
- package/cjs/components/shared/file-tree/FileTreeListItemContent.js +75 -91
- package/cjs/components/shared/file-tree/FileTreeListItemContent.styled.js +29 -40
- package/cjs/components/shared/file-tree/FileTreeListItemContentInput.js +77 -101
- package/cjs/components/shared/file-tree/FileTreeListItemContentInput.styled.js +6 -6
- package/cjs/components/shared/file-tree/FileTreeListItemContentMenu.js +51 -86
- package/cjs/components/shared/file-tree/FileTreeListItems.js +150 -153
- package/cjs/components/shared/file-tree/FileTreeListItems.styled.js +2 -2
- package/cjs/components/shared/file-tree/FileTreeToolbar.js +30 -41
- package/cjs/components/shared/file-tree/FileTreeToolbar.styled.js +1 -1
- package/cjs/components/shared/file-tree/context/FileTreeContext.js +91 -97
- package/cjs/components/shared/file-tree/locales/en.json.js +3 -1
- package/cjs/components/shared/file-tree/locales/ko.json.js +3 -1
- package/cjs/components/shared/file-tree/utils/fileTreeFiles.js +20 -22
- package/cjs/components/shared/file-tree/utils/fileTreeGenerator.js +193 -173
- package/cjs/components/shared/file-tree/utils/fileTreeInput.js +0 -1
- package/cjs/components/shared/file-tree/utils/fileTreeItem.js +1 -1
- package/cjs/components/shared/file-tree/utils/fileTreePath.js +5 -7
- package/cjs/components/shared/file-viewer/FileViewer.js +59 -60
- package/cjs/components/shared/file-viewer/FileViewerCsv.js +145 -101
- package/cjs/components/shared/file-viewer/FileViewerImage.js +7 -8
- package/cjs/components/shared/file-viewer/FileViewerIpynb.js +20 -14
- package/cjs/components/shared/file-viewer/FileViewerNonViewable.js +28 -34
- package/cjs/components/shared/file-viewer/FileViewerText.js +23 -16
- package/cjs/components/shared/file-viewer/locales/en.json.js +3 -1
- package/cjs/components/shared/file-viewer/locales/ko.json.js +3 -1
- package/cjs/components/shared/file-viewer/locales/nonViewable.en.json.js +3 -1
- package/cjs/components/shared/file-viewer/locales/nonViewable.ko.json.js +3 -1
- package/cjs/components/shared/material-modal/MaterialModal.js +10 -12
- package/cjs/components/shared/material-modal/MaterialModal.styled.js +5 -5
- package/cjs/components/shared/monaco-editor/MonacoEditor.js +123 -149
- package/cjs/components/shared/monaco-editor/MonacoEditorLazy.js +10 -8
- package/cjs/components/shared/monaco-editor/MonacoEditorMobile.js +49 -58
- package/cjs/components/shared/monaco-editor/MonacoEditorPerferenceForm.js +78 -85
- package/cjs/components/shared/monaco-editor/constants/grammars/index.js +131 -52
- package/cjs/components/shared/monaco-editor/constants/monaco/preferences.js +5 -9
- package/cjs/components/shared/monaco-editor/constants/themes/index.js +80 -32
- package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventChange.js +10 -13
- package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventCursor.js +14 -18
- package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventScroll.js +8 -9
- package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoMarkers.js +54 -72
- package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoOptions.js +14 -15
- package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoTheme.js +8 -9
- package/cjs/components/shared/monaco-editor/editor-languages/css/formatter.js +36 -12
- package/cjs/components/shared/monaco-editor/editor-languages/css/index.js +5 -8
- package/cjs/components/shared/monaco-editor/editor-languages/html/formatter.js +36 -12
- package/cjs/components/shared/monaco-editor/editor-languages/html/index.js +3 -6
- package/cjs/components/shared/monaco-editor/editor-languages/index.js +3 -1
- package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/_helper.js +1 -1
- package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/express.js +3 -2
- package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/propTypes.js +3 -2
- package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/react.js +3 -2
- package/cjs/components/shared/monaco-editor/editor-languages/typescript/formatter.js +36 -12
- package/cjs/components/shared/monaco-editor/editor-languages/typescript/index.js +18 -24
- package/cjs/components/shared/monaco-editor/hooks/useEditorOptions.js +12 -9
- package/cjs/components/shared/monaco-editor/locales/en.json.js +3 -1
- package/cjs/components/shared/monaco-editor/locales/ko.json.js +3 -1
- package/cjs/components/shared/monaco-editor/utils/emmet/abbreviationActions.js +18 -28
- package/cjs/components/shared/monaco-editor/utils/emmet/emmet.js +0 -3
- package/cjs/components/shared/monaco-editor/utils/emmet/registerProvider.js +12 -8
- package/cjs/components/shared/monaco-editor/utils/grammar/index.js +70 -32
- package/cjs/components/shared/monaco-editor/utils/grammar/onigasm.js +25 -7
- package/cjs/components/shared/monaco-editor/utils/grammar/textmate.js +67 -43
- package/cjs/components/shared/monaco-editor/utils/monacoLanguage.js +9 -19
- package/cjs/components/shared/monaco-editor/utils/monacoPreference.js +6 -5
- package/cjs/components/shared/monaco-editor/utils/prettier/config.js +2 -3
- package/cjs/components/shared/monaco-editor/utils/prettier/index.js +30 -9
- package/cjs/components/shared/monaco-editor/utils/theme/convert.js +20 -26
- package/cjs/components/shared/monaco-editor/utils/theme/index.js +22 -5
- package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursor.js +77 -75
- package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorManager.js +82 -93
- package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorWidget.js +125 -135
- package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelection.js +148 -160
- package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelectionManager.js +104 -118
- package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/styles.js +2 -2
- package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/configCompat.js +1 -3
- package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/data.js +2 -3
- package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/emmetHelper.js +218 -329
- package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/utils.js +3 -6
- package/cjs/components/shared/no-vnc/NoVnc.js +93 -90
- package/cjs/components/shared/no-vnc/NoVncLazy.js +7 -5
- package/cjs/components/shared/preview-container/PreviewContainer.js +7 -10
- package/cjs/components/shared/web-browser/WebBrowser.js +54 -59
- package/cjs/components/shared/xterm/Xterm.js +112 -105
- package/cjs/components/shared/xterm/XtermLazy.js +7 -5
- package/cjs/components/shared/xterm/locales/en.json.js +3 -1
- package/cjs/components/shared/xterm/locales/ko.json.js +3 -1
- package/cjs/constants/arduino.js +10 -10
- package/cjs/constants/shortcutKeyMap.js +5 -5
- package/cjs/constants/stylesheets.js +7 -10
- package/cjs/hooks/useArduino.js +327 -255
- package/cjs/hooks/useExerciseFile.js +24 -24
- package/cjs/hooks/useExericseShortcut.js +6 -5
- package/cjs/hooks/useMaterialExerciseFileUrl.js +54 -37
- package/cjs/hooks/useRunnerRoomWebSocket.js +58 -56
- package/cjs/hooks/useStdioTextConcator.js +18 -12
- package/cjs/hooks/useStdioWebSocket.js +41 -67
- package/cjs/hooks/useUsercodeEditWebSocket.js +230 -252
- package/cjs/hooks/useUsercodeHistory.js +121 -82
- package/cjs/index.js +4 -4
- package/cjs/utils/arduino.js +23 -25
- package/cjs/utils/exerciseFile.js +8 -16
- package/cjs/utils/runner.js +29 -25
- package/es/_virtual/_rollupPluginBabelHelpers.js +504 -0
- package/es/components/material-exercise/MaterialExercise.js +33 -54
- package/es/components/material-exercise/MaterialExercise.styled.js +20 -23
- package/es/components/material-exercise/MaterialExerciseMobile.js +15 -13
- package/es/components/material-exercise/context/ExerciseIntlProvider.js +9 -13
- package/es/components/material-exercise/context/ExerciseProvider.js +79 -79
- package/es/components/material-exercise/context/ExerciseProviderNoImage.js +11 -13
- package/es/components/material-exercise/context/context.js +1 -1
- package/es/components/material-exercise/context/recoil.js +560 -372
- package/es/components/material-exercise/context/recoilTypes.js +0 -5
- package/es/components/material-exercise/context/subjects.js +3 -6
- package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.d.ts +2 -2
- package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.js +73 -62
- package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.js +8 -8
- package/es/components/material-exercise/exercise-code-history/locales/en.json.js +3 -0
- package/es/components/material-exercise/exercise-code-history/locales/ko.json.js +3 -0
- package/es/components/material-exercise/exercise-file/ExerciseFile.js +15 -18
- package/es/components/material-exercise/exercise-file-editor/ExerciseFileEditor.js +218 -193
- package/es/components/material-exercise/exercise-file-editor/ExerciseFileReadOnlyBanner.js +5 -9
- package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabs.js +31 -28
- package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabsFileTreeButton.js +52 -45
- package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.js +1 -1
- package/es/components/material-exercise/exercise-file-tree/ExerciseFileTree.js +321 -225
- package/es/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.js +1 -1
- package/es/components/material-exercise/exercise-file-viewer/ExerciseFileViewer.js +12 -14
- package/es/components/material-exercise/exercise-menu/ExerciseMenu.js +7 -10
- package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.js +3 -5
- package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.js +43 -36
- package/es/components/material-exercise/exercise-menu/ExerciseMenuDropdown.js +53 -37
- package/es/components/material-exercise/exercise-menu/ExerciseMenuReset.js +25 -20
- package/es/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.js +41 -54
- package/es/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.js +12 -12
- package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdown.js +25 -19
- package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.js +1 -1
- package/es/components/material-exercise/exercise-preview/ExercisePreview.js +21 -34
- package/es/components/material-exercise/exercise-preview/ExercisePreviewDisplayModeButton.js +13 -10
- package/es/components/material-exercise/exercise-rightpane/ExerciseRightpane.js +17 -28
- package/es/components/material-exercise/exercise-rightpane/ExerciseRightpaneEditorPerference.js +9 -6
- package/es/components/material-exercise/exercise-rightpane/ExerciseRightpaneEnvironment.js +81 -82
- package/es/components/material-exercise/exercise-room/ExerciseRoom.js +13 -7
- package/es/components/material-exercise/exercise-room/ExerciseRoom.styled.js +14 -12
- package/es/components/material-exercise/exercise-room/ExerciseRoomDetail.js +236 -146
- package/es/components/material-exercise/exercise-room/ExerciseRoomList.js +90 -63
- package/es/components/material-exercise/exercise-room/helpers/exerciseRoomPermissionStringConvertor.js +2 -8
- package/es/components/material-exercise/exercise-runner/ExerciseRunner.js +212 -215
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerContext.js +1 -1
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerController.js +7 -9
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.js +27 -25
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.js +22 -24
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js +66 -93
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.js +24 -26
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerRunningInfo.js +51 -59
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusIndicator.js +2 -4
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusMessage.js +6 -11
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerTimer.js +26 -25
- package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.d.ts +2 -2
- package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.js +284 -174
- package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.styled.js +8 -8
- package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistoryOutput.js +38 -44
- package/es/components/material-exercise/exercise-submit-history/locales/en.json.js +3 -0
- package/es/components/material-exercise/exercise-submit-history/locales/ko.json.js +3 -0
- package/es/components/shared/exercise-menu-button/ExerciseMenuButton.js +16 -16
- package/es/components/shared/exercise-shimmer/ExerciseFileShimmer.js +2 -3
- package/es/components/shared/exercise-shimmer/ExerciseFileTabShimmer.js +12 -13
- package/es/components/shared/exercise-shimmer/ExerciseFileTabsShimmer.js +2 -3
- package/es/components/shared/exercise-shimmer/ExerciseFileTreeListItemShimmer.js +14 -15
- package/es/components/shared/exercise-shimmer/ExerciseFileTreeListShimmer.js +15 -10
- package/es/components/shared/exercise-version-list/ExerciseVersionList.js +2 -3
- package/es/components/shared/exercise-version-list/ExerciseVersionList.styled.js +1 -1
- package/es/components/shared/exercise-version-list/ExerciseVersionListItem.js +5 -6
- package/es/components/shared/exercise-version-list/ExerciseVersionListItem.styled.js +9 -5
- package/es/components/shared/file-icon/FileIcon.js +20 -22
- package/es/components/shared/file-tabs/FileTab.js +28 -41
- package/es/components/shared/file-tabs/FileTab.styled.js +26 -22
- package/es/components/shared/file-tabs/FileTabs.js +52 -48
- package/es/components/shared/file-tabs/FileTabs.styled.js +2 -2
- package/es/components/shared/file-tabs/util.js +29 -18
- package/es/components/shared/file-tree/FileTree.js +3 -5
- package/es/components/shared/file-tree/FileTreeConfig.js +21 -22
- package/es/components/shared/file-tree/FileTreeList.js +31 -39
- package/es/components/shared/file-tree/FileTreeListItemContent.js +67 -85
- package/es/components/shared/file-tree/FileTreeListItemContent.styled.js +29 -40
- package/es/components/shared/file-tree/FileTreeListItemContentInput.js +74 -100
- package/es/components/shared/file-tree/FileTreeListItemContentInput.styled.js +6 -6
- package/es/components/shared/file-tree/FileTreeListItemContentMenu.js +48 -85
- package/es/components/shared/file-tree/FileTreeListItems.js +147 -152
- package/es/components/shared/file-tree/FileTreeListItems.styled.js +2 -2
- package/es/components/shared/file-tree/FileTreeToolbar.js +24 -37
- package/es/components/shared/file-tree/FileTreeToolbar.styled.js +1 -1
- package/es/components/shared/file-tree/context/FileTreeContext.js +91 -97
- package/es/components/shared/file-tree/utils/fileTreeFiles.js +20 -22
- package/es/components/shared/file-tree/utils/fileTreeGenerator.js +193 -173
- package/es/components/shared/file-tree/utils/fileTreeInput.js +0 -1
- package/es/components/shared/file-tree/utils/fileTreeItem.js +1 -1
- package/es/components/shared/file-tree/utils/fileTreePath.js +5 -7
- package/es/components/shared/file-viewer/FileViewer.js +52 -53
- package/es/components/shared/file-viewer/FileViewerCsv.js +141 -99
- package/es/components/shared/file-viewer/FileViewerImage.js +3 -6
- package/es/components/shared/file-viewer/FileViewerIpynb.js +16 -12
- package/es/components/shared/file-viewer/FileViewerNonViewable.js +22 -30
- package/es/components/shared/file-viewer/FileViewerText.js +18 -13
- package/es/components/shared/material-modal/MaterialModal.js +7 -11
- package/es/components/shared/material-modal/MaterialModal.styled.js +5 -5
- package/es/components/shared/monaco-editor/MonacoEditor.js +119 -147
- package/es/components/shared/monaco-editor/MonacoEditorLazy.js +6 -4
- package/es/components/shared/monaco-editor/MonacoEditorMobile.js +45 -56
- package/es/components/shared/monaco-editor/MonacoEditorPerferenceForm.js +73 -82
- package/es/components/shared/monaco-editor/constants/grammars/index.js +131 -52
- package/es/components/shared/monaco-editor/constants/monaco/preferences.js +5 -9
- package/es/components/shared/monaco-editor/constants/themes/index.js +80 -32
- package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventChange.js +10 -13
- package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventCursor.js +14 -18
- package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventScroll.js +8 -9
- package/es/components/shared/monaco-editor/editor-hooks/useMonacoMarkers.js +54 -72
- package/es/components/shared/monaco-editor/editor-hooks/useMonacoOptions.js +14 -15
- package/es/components/shared/monaco-editor/editor-hooks/useMonacoTheme.js +8 -9
- package/es/components/shared/monaco-editor/editor-languages/css/formatter.js +33 -11
- package/es/components/shared/monaco-editor/editor-languages/css/index.js +2 -5
- package/es/components/shared/monaco-editor/editor-languages/html/formatter.js +33 -11
- package/es/components/shared/monaco-editor/editor-languages/html/index.js +2 -5
- package/es/components/shared/monaco-editor/editor-languages/typescript/dts/_helper.js +1 -1
- package/es/components/shared/monaco-editor/editor-languages/typescript/dts/express.js +0 -1
- package/es/components/shared/monaco-editor/editor-languages/typescript/dts/propTypes.js +0 -1
- package/es/components/shared/monaco-editor/editor-languages/typescript/dts/react.js +0 -1
- package/es/components/shared/monaco-editor/editor-languages/typescript/formatter.js +33 -11
- package/es/components/shared/monaco-editor/editor-languages/typescript/index.js +10 -16
- package/es/components/shared/monaco-editor/hooks/useEditorOptions.js +12 -9
- package/es/components/shared/monaco-editor/utils/emmet/abbreviationActions.js +18 -28
- package/es/components/shared/monaco-editor/utils/emmet/emmet.js +0 -3
- package/es/components/shared/monaco-editor/utils/emmet/registerProvider.js +12 -8
- package/es/components/shared/monaco-editor/utils/grammar/index.js +67 -31
- package/es/components/shared/monaco-editor/utils/grammar/onigasm.js +25 -7
- package/es/components/shared/monaco-editor/utils/grammar/textmate.js +67 -43
- package/es/components/shared/monaco-editor/utils/monacoLanguage.js +9 -19
- package/es/components/shared/monaco-editor/utils/monacoPreference.js +6 -5
- package/es/components/shared/monaco-editor/utils/prettier/config.js +2 -3
- package/es/components/shared/monaco-editor/utils/prettier/index.js +27 -8
- package/es/components/shared/monaco-editor/utils/theme/convert.js +20 -26
- package/es/components/shared/monaco-editor/utils/theme/index.js +22 -5
- package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursor.js +77 -75
- package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorManager.js +82 -93
- package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorWidget.js +125 -135
- package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelection.js +148 -160
- package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelectionManager.js +104 -118
- package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/styles.js +2 -2
- package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/configCompat.js +1 -3
- package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/data.js +2 -3
- package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/emmetHelper.js +219 -330
- package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/utils.js +3 -6
- package/es/components/shared/no-vnc/NoVnc.js +89 -88
- package/es/components/shared/no-vnc/NoVncLazy.js +4 -2
- package/es/components/shared/preview-container/PreviewContainer.js +7 -10
- package/es/components/shared/web-browser/WebBrowser.js +49 -56
- package/es/components/shared/xterm/Xterm.js +107 -102
- package/es/components/shared/xterm/XtermLazy.js +4 -2
- package/es/constants/arduino.js +10 -10
- package/es/constants/shortcutKeyMap.js +3 -5
- package/es/constants/stylesheets.js +7 -10
- package/es/hooks/useArduino.js +327 -255
- package/es/hooks/useExerciseFile.js +24 -24
- package/es/hooks/useExericseShortcut.js +6 -5
- package/es/hooks/useMaterialExerciseFileUrl.js +55 -38
- package/es/hooks/useRunnerRoomWebSocket.js +58 -56
- package/es/hooks/useStdioTextConcator.js +18 -12
- package/es/hooks/useStdioWebSocket.js +41 -67
- package/es/hooks/useUsercodeEditWebSocket.js +230 -252
- package/es/hooks/useUsercodeHistory.js +122 -83
- package/es/utils/arduino.js +23 -25
- package/es/utils/exerciseFile.js +8 -16
- package/es/utils/runner.js +29 -25
- package/package.json +8 -8
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
3
5
|
var React = require('react');
|
|
4
6
|
var reactHookForm = require('react-hook-form');
|
|
5
7
|
var reactIntl = require('react-intl');
|
|
@@ -12,50 +14,45 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
12
14
|
|
|
13
15
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
14
16
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
mode: 'onChange'
|
|
51
|
-
});
|
|
52
|
-
const formElRef = React__default["default"].useRef(null);
|
|
53
|
-
const inputElRef = React__default["default"].useRef(null);
|
|
17
|
+
var FILENAME_MAX_LENGTH = 65535;
|
|
18
|
+
var FILENAME_REGEXP_DOT = /^\.$/;
|
|
19
|
+
var FILENAME_REGEXP_DOTDOT = /^\.\.$/;
|
|
20
|
+
var FILENAME_REGEXP_DOT_ELICE = /^\.elice$/;
|
|
21
|
+
var FILENAME_REGEXP_SLASH = /\//;
|
|
22
|
+
var FILENAME_REGEXP_BACK_SLASH = /\\/;
|
|
23
|
+
var FileTreeListItemContentInput = function FileTreeListItemContentInput(_ref) {
|
|
24
|
+
var type = _ref.type,
|
|
25
|
+
initialValue = _ref.initialValue,
|
|
26
|
+
className = _ref.className,
|
|
27
|
+
style = _ref.style,
|
|
28
|
+
currentPath = _ref.currentPath,
|
|
29
|
+
currentDirTitleList = _ref.currentDirTitleList,
|
|
30
|
+
newInputType = _ref.newInputType;
|
|
31
|
+
var intl = reactIntl.useIntl();
|
|
32
|
+
var targetPath = fileTreeGenerator.getParentPath(currentPath);
|
|
33
|
+
var _useFileTreeDispatch = FileTreeContext.useFileTreeDispatch(),
|
|
34
|
+
dispatch = _useFileTreeDispatch.dispatch,
|
|
35
|
+
onFileAdd = _useFileTreeDispatch.onFileAdd,
|
|
36
|
+
onDirectoryAdd = _useFileTreeDispatch.onDirectoryAdd,
|
|
37
|
+
onActivePathChange = _useFileTreeDispatch.onActivePathChange,
|
|
38
|
+
onFileMove = _useFileTreeDispatch.onFileMove,
|
|
39
|
+
onDirectoryMove = _useFileTreeDispatch.onDirectoryMove;
|
|
40
|
+
var _useForm = reactHookForm.useForm({
|
|
41
|
+
defaultValues: {
|
|
42
|
+
filename: initialValue || ''
|
|
43
|
+
},
|
|
44
|
+
mode: 'onChange'
|
|
45
|
+
}),
|
|
46
|
+
control = _useForm.control,
|
|
47
|
+
handleSubmit = _useForm.handleSubmit,
|
|
48
|
+
reset = _useForm.reset,
|
|
49
|
+
getValues = _useForm.getValues;
|
|
50
|
+
var formElRef = React__default["default"].useRef(null);
|
|
51
|
+
var inputElRef = React__default["default"].useRef(null);
|
|
54
52
|
/**
|
|
55
53
|
* Close current input.
|
|
56
54
|
*/
|
|
57
|
-
|
|
58
|
-
const close = () => {
|
|
55
|
+
var close = function close() {
|
|
59
56
|
reset({
|
|
60
57
|
filename: initialValue
|
|
61
58
|
});
|
|
@@ -73,9 +70,7 @@ const FileTreeListItemContentInput = ({
|
|
|
73
70
|
/**
|
|
74
71
|
* Validate input value.
|
|
75
72
|
*/
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
const validateFilename = newFilename => {
|
|
73
|
+
var validateFilename = function validateFilename(newFilename) {
|
|
79
74
|
switch (true) {
|
|
80
75
|
// has dot or dot-dot
|
|
81
76
|
case FILENAME_REGEXP_DOT.test(newFilename) || FILENAME_REGEXP_DOTDOT.test(newFilename):
|
|
@@ -83,24 +78,22 @@ const FileTreeListItemContentInput = ({
|
|
|
83
78
|
id: 'fileTree.list.item.content.input.validation.error.filename.dot'
|
|
84
79
|
});
|
|
85
80
|
// has `.elice`
|
|
86
|
-
|
|
87
81
|
case FILENAME_REGEXP_DOT_ELICE.test(newFilename):
|
|
88
82
|
return intl.formatMessage({
|
|
89
83
|
id: 'fileTree.list.item.content.input.validation.error.filename.dotElice'
|
|
90
84
|
});
|
|
91
85
|
// has slash or backslash
|
|
92
|
-
|
|
93
86
|
case FILENAME_REGEXP_SLASH.test(newFilename) || FILENAME_REGEXP_BACK_SLASH.test(newFilename):
|
|
94
87
|
return intl.formatMessage({
|
|
95
88
|
id: 'fileTree.list.item.content.input.validation.error.filename.slash'
|
|
96
89
|
});
|
|
97
90
|
// duplicated
|
|
98
|
-
|
|
99
|
-
|
|
91
|
+
case currentDirTitleList.some(function (title) {
|
|
92
|
+
return title === newFilename;
|
|
93
|
+
}):
|
|
100
94
|
return intl.formatMessage({
|
|
101
95
|
id: 'fileTree.list.item.content.input.validation.error.filename.duplicated'
|
|
102
96
|
});
|
|
103
|
-
|
|
104
97
|
default:
|
|
105
98
|
return true;
|
|
106
99
|
}
|
|
@@ -108,71 +101,64 @@ const FileTreeListItemContentInput = ({
|
|
|
108
101
|
/**
|
|
109
102
|
* Add file.
|
|
110
103
|
*/
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
const addFile = params => {
|
|
104
|
+
var addFile = function addFile(params) {
|
|
114
105
|
if (typeof onFileAdd !== 'function' || !params.emptyFileWithName) {
|
|
115
106
|
close();
|
|
116
107
|
return;
|
|
117
108
|
}
|
|
118
|
-
|
|
119
|
-
|
|
109
|
+
onFileAdd(params).then(function () {
|
|
110
|
+
return onActivePathChange(params.path === '' ? "".concat(params.emptyFileWithName) : "".concat(params.path, "/").concat(params.emptyFileWithName), false);
|
|
111
|
+
}).then(close).catch(function () {
|
|
112
|
+
//
|
|
120
113
|
});
|
|
121
114
|
};
|
|
122
115
|
/**
|
|
123
116
|
* Add directory.
|
|
124
117
|
*/
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
const addDirectory = params => {
|
|
118
|
+
var addDirectory = function addDirectory(params) {
|
|
128
119
|
if (typeof onDirectoryAdd !== 'function' || !params.name) {
|
|
129
120
|
close();
|
|
130
121
|
return;
|
|
131
122
|
}
|
|
132
|
-
|
|
133
|
-
|
|
123
|
+
onDirectoryAdd(params).then(function () {
|
|
124
|
+
return onActivePathChange(params.path === '' ? "".concat(params.name) : "".concat(params.path, "/").concat(params.name), true);
|
|
125
|
+
}).then(close).catch(function () {
|
|
126
|
+
//
|
|
134
127
|
});
|
|
135
128
|
};
|
|
136
129
|
/**
|
|
137
130
|
* Move file.
|
|
138
131
|
*/
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
const moveFile = params => {
|
|
132
|
+
var moveFile = function moveFile(params) {
|
|
142
133
|
if (typeof onFileMove !== 'function' || params.newName === initialValue) {
|
|
143
134
|
close();
|
|
144
135
|
return;
|
|
145
136
|
}
|
|
146
|
-
|
|
147
|
-
|
|
137
|
+
onFileMove(params).then(close).catch(function () {
|
|
138
|
+
//
|
|
148
139
|
});
|
|
149
140
|
};
|
|
150
141
|
/**
|
|
151
142
|
* Move directory.
|
|
152
143
|
*/
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
const moveDirectory = params => {
|
|
144
|
+
var moveDirectory = function moveDirectory(params) {
|
|
156
145
|
if (typeof onDirectoryMove !== 'function' || params.newName === initialValue) {
|
|
157
146
|
close();
|
|
158
147
|
return;
|
|
159
148
|
}
|
|
160
|
-
|
|
161
|
-
|
|
149
|
+
onDirectoryMove(params).then(close).catch(function () {
|
|
150
|
+
//
|
|
162
151
|
});
|
|
163
152
|
};
|
|
164
153
|
/**
|
|
165
154
|
* Submit and rename file.
|
|
166
155
|
*/
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
const handleFormSubmit = handleSubmit(newData => {
|
|
156
|
+
var handleFormSubmit = handleSubmit(function (newData) {
|
|
170
157
|
// if new input is empty, close it.
|
|
171
158
|
if (!newData.filename) {
|
|
172
159
|
close();
|
|
173
160
|
return;
|
|
174
161
|
}
|
|
175
|
-
|
|
176
162
|
if (type === 'new') {
|
|
177
163
|
if (newInputType === 'file') {
|
|
178
164
|
addFile({
|
|
@@ -181,7 +167,6 @@ const FileTreeListItemContentInput = ({
|
|
|
181
167
|
overwrite: false
|
|
182
168
|
});
|
|
183
169
|
}
|
|
184
|
-
|
|
185
170
|
if (newInputType === 'directory') {
|
|
186
171
|
addDirectory({
|
|
187
172
|
path: targetPath,
|
|
@@ -197,7 +182,6 @@ const FileTreeListItemContentInput = ({
|
|
|
197
182
|
newPath: targetPath
|
|
198
183
|
});
|
|
199
184
|
}
|
|
200
|
-
|
|
201
185
|
if (newInputType === 'directory') {
|
|
202
186
|
moveDirectory({
|
|
203
187
|
currentFilename: currentPath,
|
|
@@ -210,50 +194,42 @@ const FileTreeListItemContentInput = ({
|
|
|
210
194
|
/**
|
|
211
195
|
* Handle click away.
|
|
212
196
|
*/
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
const newFilename = getValues('filename');
|
|
216
|
-
|
|
197
|
+
var handleFormClickAway = function handleFormClickAway() {
|
|
198
|
+
var newFilename = getValues('filename');
|
|
217
199
|
if (newFilename) {
|
|
218
200
|
void handleFormSubmit();
|
|
219
201
|
return;
|
|
220
202
|
}
|
|
221
|
-
|
|
222
203
|
close();
|
|
223
204
|
};
|
|
224
205
|
/**
|
|
225
206
|
* Handle keydown event.
|
|
226
207
|
*/
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
const handleKeyDown = e => {
|
|
208
|
+
var handleKeyDown = function handleKeyDown(e) {
|
|
230
209
|
switch (e.key) {
|
|
231
210
|
case 'Escape':
|
|
232
211
|
close();
|
|
233
212
|
break;
|
|
234
213
|
}
|
|
235
|
-
};
|
|
214
|
+
};
|
|
215
|
+
//
|
|
236
216
|
// Select value at input when initial value is set.
|
|
237
217
|
//
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
React__default["default"].useEffect(() => {
|
|
218
|
+
React__default["default"].useEffect(function () {
|
|
241
219
|
var _a;
|
|
242
|
-
|
|
243
220
|
if (!inputElRef.current || !initialValue) {
|
|
244
221
|
return;
|
|
245
222
|
}
|
|
246
|
-
|
|
247
|
-
const rangeEndExcludeExtension = initialValue.indexOf((_a = initialValue.split('.').pop()) !== null && _a !== void 0 ? _a : '') - 1;
|
|
223
|
+
var rangeEndExcludeExtension = initialValue.indexOf((_a = initialValue.split('.').pop()) !== null && _a !== void 0 ? _a : '') - 1;
|
|
248
224
|
inputElRef.current.setSelectionRange(0, rangeEndExcludeExtension > 0 ? rangeEndExcludeExtension : initialValue.length);
|
|
249
|
-
}, [initialValue]);
|
|
225
|
+
}, [initialValue]);
|
|
226
|
+
//
|
|
250
227
|
// Submit form when click outside.
|
|
251
228
|
//
|
|
252
|
-
|
|
253
|
-
|
|
229
|
+
reactUse.useClickAway(formElRef, handleFormClickAway);
|
|
230
|
+
//
|
|
254
231
|
//
|
|
255
232
|
//
|
|
256
|
-
|
|
257
233
|
return React__default["default"].createElement(FileTreeListItemContentInput_styled.StyledInputForm, {
|
|
258
234
|
onSubmit: handleFormSubmit,
|
|
259
235
|
ref: formElRef
|
|
@@ -277,12 +253,10 @@ const FileTreeListItemContentInput = ({
|
|
|
277
253
|
},
|
|
278
254
|
validate: validateFilename
|
|
279
255
|
},
|
|
280
|
-
render: ({
|
|
281
|
-
field,
|
|
282
|
-
|
|
283
|
-
}) => {
|
|
256
|
+
render: function render(_ref2) {
|
|
257
|
+
var field = _ref2.field,
|
|
258
|
+
fieldState = _ref2.fieldState;
|
|
284
259
|
var _a;
|
|
285
|
-
|
|
286
260
|
return React__default["default"].createElement(FileTreeListItemContentInput_styled.StyledInput, Object.assign({}, field, {
|
|
287
261
|
type: "text",
|
|
288
262
|
className: className,
|
|
@@ -292,7 +266,9 @@ const FileTreeListItemContentInput = ({
|
|
|
292
266
|
invalidText: (_a = fieldState.error) === null || _a === void 0 ? void 0 : _a.message,
|
|
293
267
|
autoFocus: true,
|
|
294
268
|
style: style,
|
|
295
|
-
onChange:
|
|
269
|
+
onChange: function onChange(e) {
|
|
270
|
+
return field.onChange(e.target.value.trim());
|
|
271
|
+
},
|
|
296
272
|
onKeyDown: handleKeyDown,
|
|
297
273
|
ref: inputElRef
|
|
298
274
|
}));
|
|
@@ -300,4 +276,4 @@ const FileTreeListItemContentInput = ({
|
|
|
300
276
|
}));
|
|
301
277
|
};
|
|
302
278
|
|
|
303
|
-
|
|
279
|
+
exports["default"] = FileTreeListItemContentInput;
|
|
@@ -10,14 +10,14 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
10
10
|
|
|
11
11
|
var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
var INPUT_HEIGHT = '1.25rem';
|
|
14
|
+
var INPUT_FONT_SIZE = '0.75rem';
|
|
15
|
+
var INPUT_INNER_LEFT_PADDING = '0.125rem';
|
|
16
|
+
var INPUT_INNER_RIGHT_PADDING = '0.25rem';
|
|
17
|
+
var StyledInputForm = styled__default["default"].form.withConfig({
|
|
18
18
|
componentId: "sc-1glq6yp-0"
|
|
19
19
|
})(["flex:1;display:flex;"]);
|
|
20
|
-
|
|
20
|
+
var StyledInput = styled__default["default"](blocks.Input).withConfig({
|
|
21
21
|
componentId: "sc-1glq6yp-1"
|
|
22
22
|
})(["min-height:", ";> div{background:transparent !important;> div{&:nth-child(1){padding:", ";}&:nth-child(3){padding:", ";}}.eb-icon{width:0.875em;height:0.875em;font-size:0.875em;}}& input{padding-top:0 !important;padding-bottom:0 !important;height:", " !important;color:", " !important;font-size:", " !important;}"], INPUT_HEIGHT, INPUT_INNER_LEFT_PADDING, INPUT_INNER_RIGHT_PADDING, INPUT_HEIGHT, designTokens.base.color.gray0, INPUT_FONT_SIZE);
|
|
23
23
|
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var _rollupPluginBabelHelpers = require('../../../_virtual/_rollupPluginBabelHelpers.js');
|
|
3
6
|
var React = require('react');
|
|
4
7
|
var reactIntl = require('react-intl');
|
|
5
8
|
var blocks = require('@elice/blocks');
|
|
@@ -9,29 +12,28 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
9
12
|
|
|
10
13
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
11
14
|
|
|
12
|
-
|
|
13
|
-
node,
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
15
|
+
var FileTreeListItemContentMenu = function FileTreeListItemContentMenu(_ref) {
|
|
16
|
+
var node = _ref.node,
|
|
17
|
+
anchorEl = _ref.anchorEl,
|
|
18
|
+
onClose = _ref.onClose;
|
|
19
|
+
var intl = reactIntl.useIntl();
|
|
20
|
+
var _useFileTreeState = FileTreeContext.useFileTreeState(),
|
|
21
|
+
allowToggleHidden = _useFileTreeState.allowToggleHidden,
|
|
22
|
+
allowToggleReadonly = _useFileTreeState.allowToggleReadonly;
|
|
23
|
+
var _useFileTreeDispatch = FileTreeContext.useFileTreeDispatch(),
|
|
24
|
+
dispatch = _useFileTreeDispatch.dispatch,
|
|
25
|
+
onHiddenSet = _useFileTreeDispatch.onHiddenSet,
|
|
26
|
+
onReadOnlySet = _useFileTreeDispatch.onReadOnlySet,
|
|
27
|
+
onFileDelete = _useFileTreeDispatch.onFileDelete,
|
|
28
|
+
onDirectoryDelete = _useFileTreeDispatch.onDirectoryDelete;
|
|
29
|
+
var _React$useState = React__default["default"].useState(false),
|
|
30
|
+
_React$useState2 = _rollupPluginBabelHelpers.slicedToArray(_React$useState, 2),
|
|
31
|
+
isDeleteDialogOpen = _React$useState2[0],
|
|
32
|
+
setDeleteDialogOpen = _React$useState2[1];
|
|
30
33
|
/**
|
|
31
34
|
* Set file readonly.
|
|
32
35
|
*/
|
|
33
|
-
|
|
34
|
-
const handleReadOnlySet = () => {
|
|
36
|
+
var handleReadOnlySet = function handleReadOnlySet() {
|
|
35
37
|
if (typeof onReadOnlySet === 'function') {
|
|
36
38
|
onReadOnlySet({
|
|
37
39
|
path: node.path,
|
|
@@ -42,9 +44,7 @@ const FileTreeListItemContentMenu = ({
|
|
|
42
44
|
/**
|
|
43
45
|
* Unset file readonly.
|
|
44
46
|
*/
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
const handleReadOnlyUnset = () => {
|
|
47
|
+
var handleReadOnlyUnset = function handleReadOnlyUnset() {
|
|
48
48
|
if (typeof onReadOnlySet === 'function') {
|
|
49
49
|
onReadOnlySet({
|
|
50
50
|
path: node.path,
|
|
@@ -55,9 +55,7 @@ const FileTreeListItemContentMenu = ({
|
|
|
55
55
|
/**
|
|
56
56
|
* Set file hidden.
|
|
57
57
|
*/
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
const handleHiddenSet = () => {
|
|
58
|
+
var handleHiddenSet = function handleHiddenSet() {
|
|
61
59
|
if (typeof onHiddenSet === 'function') {
|
|
62
60
|
onHiddenSet({
|
|
63
61
|
path: node.path,
|
|
@@ -68,9 +66,7 @@ const FileTreeListItemContentMenu = ({
|
|
|
68
66
|
/**
|
|
69
67
|
* Unset file hidden.
|
|
70
68
|
*/
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
const handleHiddenUnset = () => {
|
|
69
|
+
var handleHiddenUnset = function handleHiddenUnset() {
|
|
74
70
|
if (typeof onHiddenSet === 'function') {
|
|
75
71
|
onHiddenSet({
|
|
76
72
|
path: node.path,
|
|
@@ -81,9 +77,7 @@ const FileTreeListItemContentMenu = ({
|
|
|
81
77
|
/**
|
|
82
78
|
* Create a new file.
|
|
83
79
|
*/
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
const handleNewFile = () => {
|
|
80
|
+
var handleNewFile = function handleNewFile() {
|
|
87
81
|
dispatch({
|
|
88
82
|
type: 'NEW_INPUT_OPEN',
|
|
89
83
|
newInput: {
|
|
@@ -95,9 +89,7 @@ const FileTreeListItemContentMenu = ({
|
|
|
95
89
|
/**
|
|
96
90
|
* Create a new directory.
|
|
97
91
|
*/
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
const handleNewDirectory = () => {
|
|
92
|
+
var handleNewDirectory = function handleNewDirectory() {
|
|
101
93
|
dispatch({
|
|
102
94
|
type: 'NEW_INPUT_OPEN',
|
|
103
95
|
newInput: {
|
|
@@ -109,9 +101,7 @@ const FileTreeListItemContentMenu = ({
|
|
|
109
101
|
/**
|
|
110
102
|
* Rename file.
|
|
111
103
|
*/
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
const handleRename = () => {
|
|
104
|
+
var handleRename = function handleRename() {
|
|
115
105
|
dispatch({
|
|
116
106
|
type: 'UPDATE_RENAME_INPUT_PATH',
|
|
117
107
|
path: node.path
|
|
@@ -120,13 +110,10 @@ const FileTreeListItemContentMenu = ({
|
|
|
120
110
|
/**
|
|
121
111
|
* Delete file.
|
|
122
112
|
*/
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
const handleDelete = () => {
|
|
113
|
+
var handleDelete = function handleDelete() {
|
|
126
114
|
if (node.isDirectory && typeof onDirectoryDelete === 'function') {
|
|
127
115
|
void onDirectoryDelete(node.path);
|
|
128
116
|
}
|
|
129
|
-
|
|
130
117
|
if (!node.isDirectory && typeof onFileDelete === 'function') {
|
|
131
118
|
void onFileDelete(node.path);
|
|
132
119
|
}
|
|
@@ -134,13 +121,10 @@ const FileTreeListItemContentMenu = ({
|
|
|
134
121
|
/**
|
|
135
122
|
* Set file readonly.
|
|
136
123
|
*/
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
const renderMenuItemReadOnlySet = () => {
|
|
124
|
+
var renderMenuItemReadOnlySet = function renderMenuItemReadOnlySet() {
|
|
140
125
|
if (!allowToggleReadonly || node.isDirectory || node.isReadonly || node.isHidden) {
|
|
141
126
|
return null;
|
|
142
127
|
}
|
|
143
|
-
|
|
144
128
|
return React__default["default"].createElement(blocks.List.Item, {
|
|
145
129
|
onClick: handleReadOnlySet
|
|
146
130
|
}, React__default["default"].createElement(blocks.List.ItemText, null, React__default["default"].createElement(reactIntl.FormattedMessage, {
|
|
@@ -150,13 +134,10 @@ const FileTreeListItemContentMenu = ({
|
|
|
150
134
|
/**
|
|
151
135
|
* Unset file readonly.
|
|
152
136
|
*/
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
const renderMenuItemReadOnlyUnset = () => {
|
|
137
|
+
var renderMenuItemReadOnlyUnset = function renderMenuItemReadOnlyUnset() {
|
|
156
138
|
if (!allowToggleReadonly || node.isDirectory || !node.isReadonly) {
|
|
157
139
|
return null;
|
|
158
140
|
}
|
|
159
|
-
|
|
160
141
|
return React__default["default"].createElement(blocks.List.Item, {
|
|
161
142
|
onClick: handleReadOnlyUnset
|
|
162
143
|
}, React__default["default"].createElement(blocks.List.ItemText, null, React__default["default"].createElement(reactIntl.FormattedMessage, {
|
|
@@ -166,13 +147,10 @@ const FileTreeListItemContentMenu = ({
|
|
|
166
147
|
/**
|
|
167
148
|
* Set file hidden.
|
|
168
149
|
*/
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
const renderMenuItemHiddenSet = () => {
|
|
150
|
+
var renderMenuItemHiddenSet = function renderMenuItemHiddenSet() {
|
|
172
151
|
if (!allowToggleHidden || node.isDirectory || node.isReadonly || node.isHidden) {
|
|
173
152
|
return null;
|
|
174
153
|
}
|
|
175
|
-
|
|
176
154
|
return React__default["default"].createElement(blocks.List.Item, {
|
|
177
155
|
onClick: handleHiddenSet
|
|
178
156
|
}, React__default["default"].createElement(blocks.List.ItemText, null, React__default["default"].createElement(reactIntl.FormattedMessage, {
|
|
@@ -182,13 +160,10 @@ const FileTreeListItemContentMenu = ({
|
|
|
182
160
|
/**
|
|
183
161
|
* Unset file hidden.
|
|
184
162
|
*/
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
const renderMenuItemHiddenUnset = () => {
|
|
163
|
+
var renderMenuItemHiddenUnset = function renderMenuItemHiddenUnset() {
|
|
188
164
|
if (!allowToggleHidden || node.isDirectory || !node.isHidden) {
|
|
189
165
|
return null;
|
|
190
166
|
}
|
|
191
|
-
|
|
192
167
|
return React__default["default"].createElement(blocks.List.Item, {
|
|
193
168
|
onClick: handleHiddenUnset
|
|
194
169
|
}, React__default["default"].createElement(blocks.List.ItemText, null, React__default["default"].createElement(reactIntl.FormattedMessage, {
|
|
@@ -198,13 +173,10 @@ const FileTreeListItemContentMenu = ({
|
|
|
198
173
|
/**
|
|
199
174
|
* New file.
|
|
200
175
|
*/
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
const renderMenuItemNewFile = () => {
|
|
176
|
+
var renderMenuItemNewFile = function renderMenuItemNewFile() {
|
|
204
177
|
if (!node.isDirectory) {
|
|
205
178
|
return null;
|
|
206
179
|
}
|
|
207
|
-
|
|
208
180
|
return React__default["default"].createElement(blocks.List.Item, {
|
|
209
181
|
onClick: handleNewFile
|
|
210
182
|
}, React__default["default"].createElement(blocks.List.ItemText, null, React__default["default"].createElement(reactIntl.FormattedMessage, {
|
|
@@ -214,13 +186,10 @@ const FileTreeListItemContentMenu = ({
|
|
|
214
186
|
/**
|
|
215
187
|
* New directory.
|
|
216
188
|
*/
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
const renderMenuItemNewDirectory = () => {
|
|
189
|
+
var renderMenuItemNewDirectory = function renderMenuItemNewDirectory() {
|
|
220
190
|
if (!node.isDirectory) {
|
|
221
191
|
return null;
|
|
222
192
|
}
|
|
223
|
-
|
|
224
193
|
return React__default["default"].createElement(blocks.List.Item, {
|
|
225
194
|
onClick: handleNewDirectory
|
|
226
195
|
}, React__default["default"].createElement(blocks.List.ItemText, null, React__default["default"].createElement(reactIntl.FormattedMessage, {
|
|
@@ -230,9 +199,7 @@ const FileTreeListItemContentMenu = ({
|
|
|
230
199
|
/**
|
|
231
200
|
* Rename file.
|
|
232
201
|
*/
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
const renderMenuItemRename = () => {
|
|
202
|
+
var renderMenuItemRename = function renderMenuItemRename() {
|
|
236
203
|
return React__default["default"].createElement(blocks.List.Item, {
|
|
237
204
|
disabled: !node.isRemovable,
|
|
238
205
|
onClick: handleRename
|
|
@@ -243,12 +210,12 @@ const FileTreeListItemContentMenu = ({
|
|
|
243
210
|
/**
|
|
244
211
|
* Delete file.
|
|
245
212
|
*/
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
const renderMenuItemDelete = () => {
|
|
213
|
+
var renderMenuItemDelete = function renderMenuItemDelete() {
|
|
249
214
|
return React__default["default"].createElement(blocks.List.Item, {
|
|
250
215
|
disabled: !node.isRemovable,
|
|
251
|
-
onClick: ()
|
|
216
|
+
onClick: function onClick() {
|
|
217
|
+
return setDeleteDialogOpen(true);
|
|
218
|
+
}
|
|
252
219
|
}, React__default["default"].createElement(blocks.List.ItemText, null, React__default["default"].createElement(reactIntl.FormattedMessage, {
|
|
253
220
|
id: "fileTree.list.item.content.menu.item.delete"
|
|
254
221
|
})));
|
|
@@ -256,9 +223,7 @@ const FileTreeListItemContentMenu = ({
|
|
|
256
223
|
/**
|
|
257
224
|
* Menu.
|
|
258
225
|
*/
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
const renderMenu = () => {
|
|
226
|
+
var renderMenu = function renderMenu() {
|
|
262
227
|
return React__default["default"].createElement(blocks.Menu, {
|
|
263
228
|
open: Boolean(anchorEl),
|
|
264
229
|
anchorEl: anchorEl,
|
|
@@ -271,13 +236,10 @@ const FileTreeListItemContentMenu = ({
|
|
|
271
236
|
/**
|
|
272
237
|
* Dialog for confirm delete.
|
|
273
238
|
*/
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
const renderDeleteConfirmDialog = () => {
|
|
239
|
+
var renderDeleteConfirmDialog = function renderDeleteConfirmDialog() {
|
|
277
240
|
if (!isDeleteDialogOpen) {
|
|
278
241
|
return null;
|
|
279
242
|
}
|
|
280
|
-
|
|
281
243
|
return React__default["default"].createElement(blocks.Dialog, {
|
|
282
244
|
type: "warning",
|
|
283
245
|
title: intl.formatMessage({
|
|
@@ -288,9 +250,13 @@ const FileTreeListItemContentMenu = ({
|
|
|
288
250
|
}, {
|
|
289
251
|
title: node.title
|
|
290
252
|
}),
|
|
291
|
-
onHide: ()
|
|
253
|
+
onHide: function onHide() {
|
|
254
|
+
return setDeleteDialogOpen(false);
|
|
255
|
+
}
|
|
292
256
|
}, React__default["default"].createElement(blocks.Dialog.CloseButton, {
|
|
293
|
-
onClick: ()
|
|
257
|
+
onClick: function onClick() {
|
|
258
|
+
return setDeleteDialogOpen(false);
|
|
259
|
+
}
|
|
294
260
|
}, React__default["default"].createElement(reactIntl.FormattedMessage, {
|
|
295
261
|
id: "fileTree.list.item.content.menu.deleteConfirmDialog.cancel"
|
|
296
262
|
})), React__default["default"].createElement(blocks.Dialog.ActionButton, {
|
|
@@ -298,12 +264,11 @@ const FileTreeListItemContentMenu = ({
|
|
|
298
264
|
}, React__default["default"].createElement(reactIntl.FormattedMessage, {
|
|
299
265
|
id: "fileTree.list.item.content.menu.deleteConfirmDialog.confirm"
|
|
300
266
|
})));
|
|
301
|
-
};
|
|
267
|
+
};
|
|
268
|
+
//
|
|
302
269
|
//
|
|
303
270
|
//
|
|
304
|
-
|
|
305
|
-
|
|
306
271
|
return React__default["default"].createElement(React__default["default"].Fragment, null, renderMenu(), renderDeleteConfirmDialog());
|
|
307
272
|
};
|
|
308
273
|
|
|
309
|
-
|
|
274
|
+
exports["default"] = FileTreeListItemContentMenu;
|