@elice/material-exercise 1.220830.0 → 1.220919.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.styled.js +1 -1
- package/cjs/components/material-exercise/exercise-menu/ExerciseMenuDropdown.js +9 -1
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunner.js +5 -1
- package/cjs/components/shared/monaco-editor/MonacoEditor.js +9 -9
- package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoMarkers.js +3 -3
- package/cjs/components/shared/monaco-editor/editor-languages/css/index.d.ts +4 -0
- package/cjs/components/shared/monaco-editor/editor-languages/css/index.js +12 -0
- package/cjs/components/shared/monaco-editor/editor-languages/html/index.d.ts +4 -0
- package/cjs/components/shared/monaco-editor/editor-languages/html/index.js +10 -0
- package/cjs/components/shared/monaco-editor/editor-languages/index.js +2 -2
- package/cjs/components/shared/monaco-editor/editor-languages/typescript/index.d.ts +4 -0
- package/cjs/components/shared/monaco-editor/editor-languages/typescript/index.js +10 -0
- package/cjs/components/shared/monaco-editor/utils/emmet/emmet.d.ts +13 -0
- package/cjs/components/shared/monaco-editor/utils/emmet/emmet.js +31 -0
- package/cjs/components/shared/monaco-editor/utils/emmet/index.d.ts +1 -0
- package/cjs/components/shared/monaco-editor/utils/emmet/registerProvider.d.ts +5 -0
- package/cjs/components/shared/monaco-editor/utils/emmet/registerProvider.js +26 -0
- package/cjs/components/shared/monaco-editor/utils/grammar/index.js +2 -2
- package/cjs/components/shared/monaco-editor/utils/prettier/index.js +6 -2
- package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/configCompat.d.ts +15 -0
- package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/configCompat.js +15 -0
- package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/data.d.ts +6 -0
- package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/data.js +22 -0
- package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/emmetHelper.d.ts +96 -0
- package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/emmetHelper.js +900 -0
- package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/index.d.ts +2 -0
- package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/utils.d.ts +12 -0
- package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/utils.js +42 -0
- package/cjs/components/shared/web-browser/WebBrowser.js +16 -11
- package/cjs/components/shared/xterm/Xterm.js +10 -3
- package/es/components/material-exercise/MaterialExercise.styled.js +1 -1
- package/es/components/material-exercise/exercise-menu/ExerciseMenuDropdown.js +10 -2
- package/es/components/material-exercise/exercise-runner/ExerciseRunner.js +5 -1
- package/es/components/shared/monaco-editor/MonacoEditor.js +11 -11
- package/es/components/shared/monaco-editor/editor-hooks/useMonacoMarkers.js +3 -3
- package/es/components/shared/monaco-editor/editor-languages/css/index.d.ts +4 -0
- package/es/components/shared/monaco-editor/editor-languages/css/index.js +12 -1
- package/es/components/shared/monaco-editor/editor-languages/html/index.d.ts +4 -0
- package/es/components/shared/monaco-editor/editor-languages/html/index.js +10 -1
- package/es/components/shared/monaco-editor/editor-languages/index.js +2 -2
- package/es/components/shared/monaco-editor/editor-languages/typescript/index.d.ts +4 -0
- package/es/components/shared/monaco-editor/editor-languages/typescript/index.js +10 -1
- package/es/components/shared/monaco-editor/utils/emmet/emmet.d.ts +13 -0
- package/es/components/shared/monaco-editor/utils/emmet/emmet.js +25 -0
- package/es/components/shared/monaco-editor/utils/emmet/index.d.ts +1 -0
- package/es/components/shared/monaco-editor/utils/emmet/registerProvider.d.ts +5 -0
- package/es/components/shared/monaco-editor/utils/emmet/registerProvider.js +22 -0
- package/es/components/shared/monaco-editor/utils/grammar/index.js +2 -2
- package/es/components/shared/monaco-editor/utils/prettier/index.js +6 -2
- package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/configCompat.d.ts +15 -0
- package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/configCompat.js +11 -0
- package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/data.d.ts +6 -0
- package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/data.js +17 -0
- package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/emmetHelper.d.ts +96 -0
- package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/emmetHelper.js +883 -0
- package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/index.d.ts +2 -0
- package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/utils.d.ts +12 -0
- package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/utils.js +36 -0
- package/es/components/shared/web-browser/WebBrowser.js +16 -11
- package/es/components/shared/xterm/Xterm.js +10 -3
- package/package.json +7 -6
- /package/cjs/components/shared/monaco-editor/{utils/remoteMarker → vendors/monaco-collab-ext}/OnDisposed.d.ts +0 -0
- /package/cjs/components/shared/monaco-editor/{utils/remoteMarker → vendors/monaco-collab-ext}/RemoteCursor.d.ts +0 -0
- /package/cjs/components/shared/monaco-editor/{utils/remoteMarker → vendors/monaco-collab-ext}/RemoteCursor.js +0 -0
- /package/cjs/components/shared/monaco-editor/{utils/remoteMarker → vendors/monaco-collab-ext}/RemoteCursorManager.d.ts +0 -0
- /package/cjs/components/shared/monaco-editor/{utils/remoteMarker → vendors/monaco-collab-ext}/RemoteCursorManager.js +0 -0
- /package/cjs/components/shared/monaco-editor/{utils/remoteMarker → vendors/monaco-collab-ext}/RemoteCursorWidget.d.ts +0 -0
- /package/cjs/components/shared/monaco-editor/{utils/remoteMarker → vendors/monaco-collab-ext}/RemoteCursorWidget.js +0 -0
- /package/cjs/components/shared/monaco-editor/{utils/remoteMarker → vendors/monaco-collab-ext}/RemoteSelection.d.ts +0 -0
- /package/cjs/components/shared/monaco-editor/{utils/remoteMarker → vendors/monaco-collab-ext}/RemoteSelection.js +0 -0
- /package/cjs/components/shared/monaco-editor/{utils/remoteMarker → vendors/monaco-collab-ext}/RemoteSelectionManager.d.ts +0 -0
- /package/cjs/components/shared/monaco-editor/{utils/remoteMarker → vendors/monaco-collab-ext}/RemoteSelectionManager.js +0 -0
- /package/cjs/components/shared/monaco-editor/{utils/remoteMarker → vendors/monaco-collab-ext}/index.d.ts +0 -0
- /package/cjs/components/shared/monaco-editor/{utils/remoteMarker → vendors/monaco-collab-ext}/styles.d.ts +0 -0
- /package/cjs/components/shared/monaco-editor/{utils/remoteMarker → vendors/monaco-collab-ext}/styles.js +0 -0
- /package/es/components/shared/monaco-editor/{utils/remoteMarker → vendors/monaco-collab-ext}/OnDisposed.d.ts +0 -0
- /package/es/components/shared/monaco-editor/{utils/remoteMarker → vendors/monaco-collab-ext}/RemoteCursor.d.ts +0 -0
- /package/es/components/shared/monaco-editor/{utils/remoteMarker → vendors/monaco-collab-ext}/RemoteCursor.js +0 -0
- /package/es/components/shared/monaco-editor/{utils/remoteMarker → vendors/monaco-collab-ext}/RemoteCursorManager.d.ts +0 -0
- /package/es/components/shared/monaco-editor/{utils/remoteMarker → vendors/monaco-collab-ext}/RemoteCursorManager.js +0 -0
- /package/es/components/shared/monaco-editor/{utils/remoteMarker → vendors/monaco-collab-ext}/RemoteCursorWidget.d.ts +0 -0
- /package/es/components/shared/monaco-editor/{utils/remoteMarker → vendors/monaco-collab-ext}/RemoteCursorWidget.js +0 -0
- /package/es/components/shared/monaco-editor/{utils/remoteMarker → vendors/monaco-collab-ext}/RemoteSelection.d.ts +0 -0
- /package/es/components/shared/monaco-editor/{utils/remoteMarker → vendors/monaco-collab-ext}/RemoteSelection.js +0 -0
- /package/es/components/shared/monaco-editor/{utils/remoteMarker → vendors/monaco-collab-ext}/RemoteSelectionManager.d.ts +0 -0
- /package/es/components/shared/monaco-editor/{utils/remoteMarker → vendors/monaco-collab-ext}/RemoteSelectionManager.js +0 -0
- /package/es/components/shared/monaco-editor/{utils/remoteMarker → vendors/monaco-collab-ext}/index.d.ts +0 -0
- /package/es/components/shared/monaco-editor/{utils/remoteMarker → vendors/monaco-collab-ext}/styles.d.ts +0 -0
- /package/es/components/shared/monaco-editor/{utils/remoteMarker → vendors/monaco-collab-ext}/styles.js +0 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { VSCodeEmmetConfig } from "./emmetHelper";
|
|
2
|
+
/**
|
|
3
|
+
* -ref: https://github.com/microsoft/vscode/blob/main/extensions/emmet/src/util.ts#L86
|
|
4
|
+
*/
|
|
5
|
+
export declare const LANGUAGE_MODES: {
|
|
6
|
+
[id: string]: string[];
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* https://github.com/microsoft/vscode/blob/main/extensions/emmet/src/util.ts#L124
|
|
10
|
+
*/
|
|
11
|
+
export declare const MAPPED_MODES: Record<string, string>;
|
|
12
|
+
export declare const DEFAULT_CONFIG: VSCodeEmmetConfig;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* -ref: https://github.com/microsoft/vscode/blob/main/extensions/emmet/src/util.ts#L86
|
|
5
|
+
*/
|
|
6
|
+
const LANGUAGE_MODES = {
|
|
7
|
+
html: ['!', '.', '}', ':', '*', '$', ']', '/', '>', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'],
|
|
8
|
+
jade: ['!', '.', '}', ':', '*', '$', ']', '/', '>', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'],
|
|
9
|
+
slim: ['!', '.', '}', ':', '*', '$', ']', '/', '>', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'],
|
|
10
|
+
haml: ['!', '.', '}', ':', '*', '$', ']', '/', '>', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'],
|
|
11
|
+
xml: ['.', '}', '*', '$', ']', '/', '>', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'],
|
|
12
|
+
xsl: ['!', '.', '}', '*', '$', '/', ']', '>', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'],
|
|
13
|
+
css: [':', '!', '-', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'],
|
|
14
|
+
scss: [':', '!', '-', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'],
|
|
15
|
+
sass: [':', '!', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'],
|
|
16
|
+
less: [':', '!', '-', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'],
|
|
17
|
+
stylus: [':', '!', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'],
|
|
18
|
+
javascript: ['!', '.', '}', '*', '$', ']', '/', '>', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'],
|
|
19
|
+
typescript: ['!', '.', '}', '*', '$', ']', '/', '>', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* https://github.com/microsoft/vscode/blob/main/extensions/emmet/src/util.ts#L124
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
const MAPPED_MODES = {
|
|
26
|
+
handlebars: 'html',
|
|
27
|
+
php: 'html',
|
|
28
|
+
twig: 'html'
|
|
29
|
+
};
|
|
30
|
+
const DEFAULT_CONFIG = {
|
|
31
|
+
showExpandedAbbreviation: 'always',
|
|
32
|
+
showAbbreviationSuggestions: true,
|
|
33
|
+
showSuggestionsAsSnippets: false
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
export { DEFAULT_CONFIG, LANGUAGE_MODES, MAPPED_MODES };
|
|
@@ -13,6 +13,20 @@ const StyledHeaderUrlInput = styled.input.withConfig({
|
|
|
13
13
|
const StyledIframe = styled.iframe.withConfig({
|
|
14
14
|
componentId: "sc-1c55yq-1"
|
|
15
15
|
})(["flex:1;width:100%;height:100%;min-height:0;border:0;"]);
|
|
16
|
+
/**
|
|
17
|
+
* Attach `_cachebust` search parameter to the URL to prevent caching.
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
const createCacheBustedUrl = url => {
|
|
21
|
+
try {
|
|
22
|
+
const urlObject = new URL(url);
|
|
23
|
+
urlObject.searchParams.set('_cachebust', Date.now().toString());
|
|
24
|
+
return urlObject.href;
|
|
25
|
+
} catch (_) {
|
|
26
|
+
return url;
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
|
|
16
30
|
const WebBrowser = forwardRef(({
|
|
17
31
|
httpUri,
|
|
18
32
|
menuButtons = null
|
|
@@ -20,15 +34,7 @@ const WebBrowser = forwardRef(({
|
|
|
20
34
|
const [url, setUrl] = React.useState('');
|
|
21
35
|
const [inputUrl, setInputUrl] = React.useState('');
|
|
22
36
|
const iframeRef = React.useRef(null);
|
|
23
|
-
const iframeSrc = React.useMemo(() =>
|
|
24
|
-
try {
|
|
25
|
-
const urlObj = new URL(url);
|
|
26
|
-
urlObj.searchParams.set('_', Date.now().toString());
|
|
27
|
-
return urlObj.href;
|
|
28
|
-
} catch (_) {
|
|
29
|
-
return '';
|
|
30
|
-
}
|
|
31
|
-
}, [url]);
|
|
37
|
+
const iframeSrc = React.useMemo(() => createCacheBustedUrl(url), [url]);
|
|
32
38
|
/**
|
|
33
39
|
* Navigate browser.
|
|
34
40
|
*/
|
|
@@ -44,8 +50,7 @@ const WebBrowser = forwardRef(({
|
|
|
44
50
|
|
|
45
51
|
const reload = React.useCallback(() => {
|
|
46
52
|
if (iframeRef.current) {
|
|
47
|
-
|
|
48
|
-
iframeRef.current.src = iframeRef.current.src;
|
|
53
|
+
iframeRef.current.src = createCacheBustedUrl(iframeRef.current.src);
|
|
49
54
|
}
|
|
50
55
|
}, []);
|
|
51
56
|
/**
|
|
@@ -147,6 +147,16 @@ const Xterm = forwardRef(({
|
|
|
147
147
|
|
|
148
148
|
return (_a = xterm.current) === null || _a === void 0 ? void 0 : _a.setOption('fontSize', fontSize);
|
|
149
149
|
}, [fontSize]); //
|
|
150
|
+
// Reset and resize xterm when code is running.
|
|
151
|
+
//
|
|
152
|
+
|
|
153
|
+
React.useEffect(() => {
|
|
154
|
+
if (isRunning) {
|
|
155
|
+
reset();
|
|
156
|
+
onTtyResizeRequest(ttySize.current);
|
|
157
|
+
}
|
|
158
|
+
}, // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
159
|
+
[isRunning]); //
|
|
150
160
|
// Write system message when code is running.
|
|
151
161
|
//
|
|
152
162
|
|
|
@@ -156,9 +166,6 @@ const Xterm = forwardRef(({
|
|
|
156
166
|
}
|
|
157
167
|
|
|
158
168
|
if (isRunning) {
|
|
159
|
-
//
|
|
160
|
-
reset();
|
|
161
|
-
onTtyResizeRequest(ttySize.current);
|
|
162
169
|
writeSystem(intl.formatMessage({
|
|
163
170
|
id: 'xterm.systemMessage.running'
|
|
164
171
|
}));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elice/material-exercise",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.220919.0",
|
|
4
4
|
"description": "User view and editing components of Elice material exercise",
|
|
5
5
|
"repository": "https://git.elicer.io/elice/frontend/library/elice-material",
|
|
6
6
|
"license": "UNLICENSED",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"@elice/markdown": "^1.220803.0",
|
|
37
37
|
"@elice/material-shared-types": "22.7.2-1",
|
|
38
38
|
"@elice/material-shared-utils": "22.7.2-1",
|
|
39
|
-
"@elice/types": "^1.
|
|
39
|
+
"@elice/types": "^1.220914.0",
|
|
40
40
|
"@elice/websocket": "^1.220803.0",
|
|
41
41
|
"humps": "^2.0.1",
|
|
42
42
|
"lodash": "^4.17.21",
|
|
@@ -71,6 +71,7 @@
|
|
|
71
71
|
"classnames": "^2.2.0",
|
|
72
72
|
"color": "^4.2.3",
|
|
73
73
|
"dayjs": "^1.10.6",
|
|
74
|
+
"emmet": "^2.3.0",
|
|
74
75
|
"file-saver": "^2.0.5",
|
|
75
76
|
"filesize": "^8.0.7",
|
|
76
77
|
"mime": "^2.5.2",
|
|
@@ -115,9 +116,9 @@
|
|
|
115
116
|
"@elice/design-tokens": "^1.220803.0",
|
|
116
117
|
"@elice/icons": "^1.220803.0",
|
|
117
118
|
"@elice/markdown": "^1.220803.0",
|
|
118
|
-
"@elice/material-shared-types": "1.
|
|
119
|
-
"@elice/material-shared-utils": "1.
|
|
120
|
-
"@elice/types": "^1.
|
|
119
|
+
"@elice/material-shared-types": "1.220919.0",
|
|
120
|
+
"@elice/material-shared-utils": "1.220919.0",
|
|
121
|
+
"@elice/types": "^1.220914.0",
|
|
121
122
|
"@elice/websocket": "^1.220803.0",
|
|
122
123
|
"@types/classnames": "^2.3.1",
|
|
123
124
|
"@types/color": "^3.0.3",
|
|
@@ -138,5 +139,5 @@
|
|
|
138
139
|
"recoil": "^0.6.1",
|
|
139
140
|
"styled-components": "^5.2.0"
|
|
140
141
|
},
|
|
141
|
-
"gitHead": "
|
|
142
|
+
"gitHead": "bddb3a6f9165572b2ba351356d5443f85d0ff519"
|
|
142
143
|
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|