@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,42 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
/* eslint-disable */
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* -ref: https://github.com/microsoft/vscode/blob/main/extensions/emmet/src/util.ts#L86
|
|
9
|
+
*/
|
|
10
|
+
const LANGUAGE_MODES = {
|
|
11
|
+
html: ['!', '.', '}', ':', '*', '$', ']', '/', '>', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'],
|
|
12
|
+
jade: ['!', '.', '}', ':', '*', '$', ']', '/', '>', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'],
|
|
13
|
+
slim: ['!', '.', '}', ':', '*', '$', ']', '/', '>', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'],
|
|
14
|
+
haml: ['!', '.', '}', ':', '*', '$', ']', '/', '>', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'],
|
|
15
|
+
xml: ['.', '}', '*', '$', ']', '/', '>', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'],
|
|
16
|
+
xsl: ['!', '.', '}', '*', '$', '/', ']', '>', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'],
|
|
17
|
+
css: [':', '!', '-', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'],
|
|
18
|
+
scss: [':', '!', '-', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'],
|
|
19
|
+
sass: [':', '!', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'],
|
|
20
|
+
less: [':', '!', '-', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'],
|
|
21
|
+
stylus: [':', '!', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'],
|
|
22
|
+
javascript: ['!', '.', '}', '*', '$', ']', '/', '>', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'],
|
|
23
|
+
typescript: ['!', '.', '}', '*', '$', ']', '/', '>', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* https://github.com/microsoft/vscode/blob/main/extensions/emmet/src/util.ts#L124
|
|
27
|
+
*/
|
|
28
|
+
|
|
29
|
+
const MAPPED_MODES = {
|
|
30
|
+
handlebars: 'html',
|
|
31
|
+
php: 'html',
|
|
32
|
+
twig: 'html'
|
|
33
|
+
};
|
|
34
|
+
const DEFAULT_CONFIG = {
|
|
35
|
+
showExpandedAbbreviation: 'always',
|
|
36
|
+
showAbbreviationSuggestions: true,
|
|
37
|
+
showSuggestionsAsSnippets: false
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
exports.DEFAULT_CONFIG = DEFAULT_CONFIG;
|
|
41
|
+
exports.LANGUAGE_MODES = LANGUAGE_MODES;
|
|
42
|
+
exports.MAPPED_MODES = MAPPED_MODES;
|
|
@@ -20,6 +20,20 @@ const StyledHeaderUrlInput = styled__default["default"].input.withConfig({
|
|
|
20
20
|
const StyledIframe = styled__default["default"].iframe.withConfig({
|
|
21
21
|
componentId: "sc-1c55yq-1"
|
|
22
22
|
})(["flex:1;width:100%;height:100%;min-height:0;border:0;"]);
|
|
23
|
+
/**
|
|
24
|
+
* Attach `_cachebust` search parameter to the URL to prevent caching.
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
const createCacheBustedUrl = url => {
|
|
28
|
+
try {
|
|
29
|
+
const urlObject = new URL(url);
|
|
30
|
+
urlObject.searchParams.set('_cachebust', Date.now().toString());
|
|
31
|
+
return urlObject.href;
|
|
32
|
+
} catch (_) {
|
|
33
|
+
return url;
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
|
|
23
37
|
const WebBrowser = React.forwardRef(({
|
|
24
38
|
httpUri,
|
|
25
39
|
menuButtons = null
|
|
@@ -27,15 +41,7 @@ const WebBrowser = React.forwardRef(({
|
|
|
27
41
|
const [url, setUrl] = React__default["default"].useState('');
|
|
28
42
|
const [inputUrl, setInputUrl] = React__default["default"].useState('');
|
|
29
43
|
const iframeRef = React__default["default"].useRef(null);
|
|
30
|
-
const iframeSrc = React__default["default"].useMemo(() =>
|
|
31
|
-
try {
|
|
32
|
-
const urlObj = new URL(url);
|
|
33
|
-
urlObj.searchParams.set('_', Date.now().toString());
|
|
34
|
-
return urlObj.href;
|
|
35
|
-
} catch (_) {
|
|
36
|
-
return '';
|
|
37
|
-
}
|
|
38
|
-
}, [url]);
|
|
44
|
+
const iframeSrc = React__default["default"].useMemo(() => createCacheBustedUrl(url), [url]);
|
|
39
45
|
/**
|
|
40
46
|
* Navigate browser.
|
|
41
47
|
*/
|
|
@@ -51,8 +57,7 @@ const WebBrowser = React.forwardRef(({
|
|
|
51
57
|
|
|
52
58
|
const reload = React__default["default"].useCallback(() => {
|
|
53
59
|
if (iframeRef.current) {
|
|
54
|
-
|
|
55
|
-
iframeRef.current.src = iframeRef.current.src;
|
|
60
|
+
iframeRef.current.src = createCacheBustedUrl(iframeRef.current.src);
|
|
56
61
|
}
|
|
57
62
|
}, []);
|
|
58
63
|
/**
|
|
@@ -154,6 +154,16 @@ const Xterm = React.forwardRef(({
|
|
|
154
154
|
|
|
155
155
|
return (_a = xterm$1.current) === null || _a === void 0 ? void 0 : _a.setOption('fontSize', fontSize);
|
|
156
156
|
}, [fontSize]); //
|
|
157
|
+
// Reset and resize xterm when code is running.
|
|
158
|
+
//
|
|
159
|
+
|
|
160
|
+
React__default["default"].useEffect(() => {
|
|
161
|
+
if (isRunning) {
|
|
162
|
+
reset();
|
|
163
|
+
onTtyResizeRequest(ttySize.current);
|
|
164
|
+
}
|
|
165
|
+
}, // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
166
|
+
[isRunning]); //
|
|
157
167
|
// Write system message when code is running.
|
|
158
168
|
//
|
|
159
169
|
|
|
@@ -163,9 +173,6 @@ const Xterm = React.forwardRef(({
|
|
|
163
173
|
}
|
|
164
174
|
|
|
165
175
|
if (isRunning) {
|
|
166
|
-
//
|
|
167
|
-
reset();
|
|
168
|
-
onTtyResizeRequest(ttySize.current);
|
|
169
176
|
writeSystem(intl.formatMessage({
|
|
170
177
|
id: 'xterm.systemMessage.running'
|
|
171
178
|
}));
|
|
@@ -20,7 +20,7 @@ const EXERCISE_HORIZONTAL_RATIO = {
|
|
|
20
20
|
|
|
21
21
|
const StyledExerciseContainer = styled.div.withConfig({
|
|
22
22
|
componentId: "sc-9joi7g-0"
|
|
23
|
-
})(["flex:1;display:flex;flex-direction:column;height:100%;min-width:0;min-height:0;
|
|
23
|
+
})(["flex:1;display:flex;flex-direction:column;height:100%;min-width:0;min-height:0;"]);
|
|
24
24
|
/**
|
|
25
25
|
* Wrapper contains:
|
|
26
26
|
* - FileTree
|
|
@@ -2,10 +2,11 @@ import React from 'react';
|
|
|
2
2
|
import { useIntl } from 'react-intl';
|
|
3
3
|
import { ButtonMenu } from '@elice/blocks';
|
|
4
4
|
import { eilMoreVertical } from '@elice/icons';
|
|
5
|
+
import { enums } from '@elice/types';
|
|
5
6
|
import { useRecoilValue, useSetRecoilState } from 'recoil';
|
|
6
7
|
import ExerciseMenuButton from '../../shared/exercise-menu-button/ExerciseMenuButton.js';
|
|
7
|
-
import { exerciseUserState, exerciseActiveFilenameState, exerciseRightpaneActiveState } from '../context/recoil.js';
|
|
8
|
-
import '../context/context.js';
|
|
8
|
+
import { exerciseUserState, exerciseState, exerciseLectureState, exerciseActiveFilenameState, exerciseRightpaneActiveState } from '../context/recoil.js';
|
|
9
|
+
import { ExerciseContext } from '../context/context.js';
|
|
9
10
|
import '../context/recoilTypes.js';
|
|
10
11
|
import { exerciseFileEditorContentChange$ } from '../context/subjects.js';
|
|
11
12
|
import '../context/ExerciseProvider.js';
|
|
@@ -15,12 +16,18 @@ import ExerciseSubmitHistory from '../exercise-submit-history/ExerciseSubmitHist
|
|
|
15
16
|
|
|
16
17
|
const ExerciseMenuDropdown = () => {
|
|
17
18
|
const intl = useIntl();
|
|
19
|
+
const {
|
|
20
|
+
materialExerciseId
|
|
21
|
+
} = React.useContext(ExerciseContext);
|
|
18
22
|
const user = useRecoilValue(exerciseUserState);
|
|
23
|
+
const exercise = useRecoilValue(exerciseState(materialExerciseId));
|
|
24
|
+
const lecture = useRecoilValue(exerciseLectureState(exercise === null || exercise === void 0 ? void 0 : exercise.lectureId));
|
|
19
25
|
const activeFilename = useRecoilValue(exerciseActiveFilenameState);
|
|
20
26
|
const setRightpaneActiveState = useSetRecoilState(exerciseRightpaneActiveState);
|
|
21
27
|
const [isSubmitHistoryModalOpen, setIsSubmitHistoryModalOpen] = React.useState(false);
|
|
22
28
|
const [isCodeHistoryModalOpen, setIsCodeHistoryModalOpen] = React.useState(false);
|
|
23
29
|
const [isExerciseRoomModalOpen, setIsExerciseRoomModalOpen] = React.useState(false);
|
|
30
|
+
const isLectureTestInProgress = typeof (lecture === null || lecture === void 0 ? void 0 : lecture.testAdmissionStatus) !== 'undefined' && lecture.testAdmissionStatus === enums.TestAdmissionStatus.InProgress;
|
|
24
31
|
/**
|
|
25
32
|
*
|
|
26
33
|
*/
|
|
@@ -97,6 +104,7 @@ const ExerciseMenuDropdown = () => {
|
|
|
97
104
|
label: intl.formatMessage({
|
|
98
105
|
id: 'exerciseMenu.dropdown.item.room'
|
|
99
106
|
}),
|
|
107
|
+
disabled: isLectureTestInProgress,
|
|
100
108
|
onClick: () => setIsExerciseRoomModalOpen(true)
|
|
101
109
|
}],
|
|
102
110
|
size: "xsmall",
|
|
@@ -477,10 +477,14 @@ const ExerciseRunner = ({
|
|
|
477
477
|
|
|
478
478
|
|
|
479
479
|
const renderXterm = () => {
|
|
480
|
+
// show system message when...
|
|
481
|
+
const showSystemMessage = // - run type is grade
|
|
482
|
+
runnerRunTypeState === enums.ExerciseRunType.Grade || // - not an arduino exercise
|
|
483
|
+
!isArduinoExercise;
|
|
480
484
|
return React.createElement(XtermLazy, {
|
|
481
485
|
isRunning: wsRunnerRoom.isRunning,
|
|
482
486
|
fontSize: editorPreferenceFontSize,
|
|
483
|
-
suppressSystemMessage:
|
|
487
|
+
suppressSystemMessage: !showSystemMessage,
|
|
484
488
|
onInputRequest: handleXtermInputRequest,
|
|
485
489
|
onTtyResizeRequest: wsStdio.sendTtyResize,
|
|
486
490
|
locale: locale,
|
|
@@ -2,8 +2,8 @@ import React, { forwardRef } from 'react';
|
|
|
2
2
|
import { base } from '@elice/design-tokens';
|
|
3
3
|
import * as monaco from 'monaco-editor/esm/vs/editor/editor.api';
|
|
4
4
|
import styled from 'styled-components';
|
|
5
|
-
import
|
|
6
|
-
import { cssRemoteMarker } from './
|
|
5
|
+
import initMonacoGrammars from './utils/grammar/index.js';
|
|
6
|
+
import { cssRemoteMarker } from './vendors/monaco-collab-ext/styles.js';
|
|
7
7
|
import { DEFAULT_MONACO_EDITOR_PREFERENCE } from './constants/monaco/preferences.js';
|
|
8
8
|
import { useMonacoEventChange } from './editor-hooks/useMonacoEventChange.js';
|
|
9
9
|
import { useMonacoEventCursor } from './editor-hooks/useMonacoEventCursor.js';
|
|
@@ -11,10 +11,16 @@ import { useMonacoEventScroll } from './editor-hooks/useMonacoEventScroll.js';
|
|
|
11
11
|
import { useMonacoMarkers } from './editor-hooks/useMonacoMarkers.js';
|
|
12
12
|
import { useMonacoOptions } from './editor-hooks/useMonacoOptions.js';
|
|
13
13
|
import { useMonacoTheme } from './editor-hooks/useMonacoTheme.js';
|
|
14
|
-
import
|
|
14
|
+
import initMonacoLanguages from './editor-languages/index.js';
|
|
15
15
|
import { useEditorOptions } from './hooks/useEditorOptions.js';
|
|
16
16
|
import { getLanguageFromFilename } from './utils/monacoLanguage.js';
|
|
17
17
|
|
|
18
|
+
//
|
|
19
|
+
//
|
|
20
|
+
// pre-init monaco editor
|
|
21
|
+
|
|
22
|
+
initMonacoLanguages();
|
|
23
|
+
initMonacoGrammars().catch(console.warn); //
|
|
18
24
|
//
|
|
19
25
|
//
|
|
20
26
|
|
|
@@ -23,10 +29,7 @@ const StyledMonacoEditorWrapper = styled.div.withConfig({
|
|
|
23
29
|
})(["width:100%;height:100%;"]);
|
|
24
30
|
const StyledMonacoEditor = styled.div.withConfig({
|
|
25
31
|
componentId: "sc-1j3uyex-1"
|
|
26
|
-
})(["width:100%;height:100%;background-color:", ";", ""], base.color.navy9, cssRemoteMarker);
|
|
27
|
-
//
|
|
28
|
-
//
|
|
29
|
-
|
|
32
|
+
})(["width:100%;height:100%;background-color:", ";", ""], base.color.navy9, cssRemoteMarker);
|
|
30
33
|
/**
|
|
31
34
|
*
|
|
32
35
|
*/
|
|
@@ -275,11 +278,8 @@ const MonacoEditor = forwardRef(({
|
|
|
275
278
|
try {
|
|
276
279
|
if (!editorElRef.current) {
|
|
277
280
|
return;
|
|
278
|
-
} //
|
|
279
|
-
|
|
281
|
+
} // create monaco editor instance and render it.
|
|
280
282
|
|
|
281
|
-
configEditorLanguages();
|
|
282
|
-
initGrammars().catch(console.warn); // create monaco editor instance and render it.
|
|
283
283
|
|
|
284
284
|
editor.current = monaco.editor.create(editorElRef.current, Object.assign(Object.assign({}, editorOptions), {
|
|
285
285
|
value: defaultValue,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { useRef } from 'react';
|
|
2
2
|
import { useDeepCompareEffect } from 'react-use';
|
|
3
|
-
import { RemoteCursorManager } from '../
|
|
4
|
-
import { RemoteSelectionManager } from '../
|
|
5
|
-
import '../
|
|
3
|
+
import { RemoteCursorManager } from '../vendors/monaco-collab-ext/RemoteCursorManager.js';
|
|
4
|
+
import { RemoteSelectionManager } from '../vendors/monaco-collab-ext/RemoteSelectionManager.js';
|
|
5
|
+
import '../vendors/monaco-collab-ext/styles.js';
|
|
6
6
|
|
|
7
7
|
/** Available colors for marker. */
|
|
8
8
|
|
|
@@ -6,4 +6,8 @@ export declare function setDocumentFormattingEditProvider(): void;
|
|
|
6
6
|
* Set CSS options.
|
|
7
7
|
*/
|
|
8
8
|
export declare function setOptions(): void;
|
|
9
|
+
/**
|
|
10
|
+
* Enable emmet feature.
|
|
11
|
+
*/
|
|
12
|
+
export declare function setEnableFeatrueEmmet(): void;
|
|
9
13
|
export default function (): void;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as monaco from 'monaco-editor/esm/vs/editor/editor.api';
|
|
2
|
+
import { emmetCSS } from '../../utils/emmet/emmet.js';
|
|
2
3
|
import CssDocumentFormattingEditProvider from './formatter.js';
|
|
3
4
|
|
|
4
5
|
/**
|
|
@@ -7,6 +8,8 @@ import CssDocumentFormattingEditProvider from './formatter.js';
|
|
|
7
8
|
|
|
8
9
|
function setDocumentFormattingEditProvider() {
|
|
9
10
|
monaco.languages.registerDocumentFormattingEditProvider('css', CssDocumentFormattingEditProvider);
|
|
11
|
+
monaco.languages.registerDocumentFormattingEditProvider('scss', CssDocumentFormattingEditProvider);
|
|
12
|
+
monaco.languages.registerDocumentFormattingEditProvider('less', CssDocumentFormattingEditProvider);
|
|
10
13
|
}
|
|
11
14
|
/**
|
|
12
15
|
* Set CSS options.
|
|
@@ -16,6 +19,13 @@ function setOptions() {
|
|
|
16
19
|
monaco.languages.css.cssDefaults.setOptions({
|
|
17
20
|
validate: false
|
|
18
21
|
});
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Enable emmet feature.
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
function setEnableFeatrueEmmet() {
|
|
28
|
+
emmetCSS(monaco, ['css', 'scss', 'less']);
|
|
19
29
|
} //
|
|
20
30
|
//
|
|
21
31
|
//
|
|
@@ -23,6 +33,7 @@ function setOptions() {
|
|
|
23
33
|
function css () {
|
|
24
34
|
setDocumentFormattingEditProvider();
|
|
25
35
|
setOptions();
|
|
36
|
+
setEnableFeatrueEmmet();
|
|
26
37
|
}
|
|
27
38
|
|
|
28
|
-
export { css as default, setDocumentFormattingEditProvider, setOptions };
|
|
39
|
+
export { css as default, setDocumentFormattingEditProvider, setEnableFeatrueEmmet, setOptions };
|
|
@@ -6,4 +6,8 @@ export declare function setDocumentFormattingEditProvider(): void;
|
|
|
6
6
|
* Set HTML options.
|
|
7
7
|
*/
|
|
8
8
|
export declare function setOptions(): void;
|
|
9
|
+
/**
|
|
10
|
+
* Enable emmet feature.
|
|
11
|
+
*/
|
|
12
|
+
export declare function setEnableFeatrueEmmet(): void;
|
|
9
13
|
export default function (): void;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as monaco from 'monaco-editor/esm/vs/editor/editor.api';
|
|
2
|
+
import { emmetHTML } from '../../utils/emmet/emmet.js';
|
|
2
3
|
import HtmlDocumentFormattingEditProvider from './formatter.js';
|
|
3
4
|
|
|
4
5
|
/**
|
|
@@ -14,6 +15,13 @@ function setDocumentFormattingEditProvider() {
|
|
|
14
15
|
|
|
15
16
|
function setOptions() {
|
|
16
17
|
monaco.languages.html.htmlDefaults.setOptions({});
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Enable emmet feature.
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
function setEnableFeatrueEmmet() {
|
|
24
|
+
emmetHTML(monaco, ['html', 'handlebars', 'php']);
|
|
17
25
|
} //
|
|
18
26
|
//
|
|
19
27
|
//
|
|
@@ -21,6 +29,7 @@ function setOptions() {
|
|
|
21
29
|
function html () {
|
|
22
30
|
setDocumentFormattingEditProvider();
|
|
23
31
|
setOptions();
|
|
32
|
+
setEnableFeatrueEmmet();
|
|
24
33
|
}
|
|
25
34
|
|
|
26
|
-
export { html as default, setDocumentFormattingEditProvider, setOptions };
|
|
35
|
+
export { html as default, setDocumentFormattingEditProvider, setEnableFeatrueEmmet, setOptions };
|
|
@@ -2,10 +2,10 @@ import css from './css/index.js';
|
|
|
2
2
|
import html from './html/index.js';
|
|
3
3
|
import typescript from './typescript/index.js';
|
|
4
4
|
|
|
5
|
-
function
|
|
5
|
+
function initMonacoLanguages () {
|
|
6
6
|
css();
|
|
7
7
|
html();
|
|
8
8
|
typescript();
|
|
9
9
|
}
|
|
10
10
|
|
|
11
|
-
export {
|
|
11
|
+
export { initMonacoLanguages as default };
|
|
@@ -22,4 +22,8 @@ export declare function setExernalLibs(): void;
|
|
|
22
22
|
* Enables intelliSense for all files without needing an `addExtraLib` call.
|
|
23
23
|
*/
|
|
24
24
|
export declare function setEagerModelSync(): void;
|
|
25
|
+
/**
|
|
26
|
+
* Enable emmet for JavaScript and TypeScript.
|
|
27
|
+
*/
|
|
28
|
+
export declare function setEnableFeatrueEmmet(): void;
|
|
25
29
|
export default function (): void;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as monaco from 'monaco-editor/esm/vs/editor/editor.api';
|
|
2
|
+
import { emmetJSX } from '../../utils/emmet/emmet.js';
|
|
2
3
|
import express from './dts/express.js';
|
|
3
4
|
import propTypes from './dts/propTypes.js';
|
|
4
5
|
import react from './dts/react.js';
|
|
@@ -79,6 +80,13 @@ function setExernalLibs() {
|
|
|
79
80
|
function setEagerModelSync() {
|
|
80
81
|
monaco.languages.typescript.javascriptDefaults.setEagerModelSync(true);
|
|
81
82
|
monaco.languages.typescript.typescriptDefaults.setEagerModelSync(true);
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Enable emmet for JavaScript and TypeScript.
|
|
86
|
+
*/
|
|
87
|
+
|
|
88
|
+
function setEnableFeatrueEmmet() {
|
|
89
|
+
emmetJSX(monaco, ['javascript', 'javascriptreact', 'typescript', 'typescriptreact']);
|
|
82
90
|
} //
|
|
83
91
|
//
|
|
84
92
|
//
|
|
@@ -89,6 +97,7 @@ function typescript () {
|
|
|
89
97
|
setDiagnosticsOptions();
|
|
90
98
|
setExernalLibs();
|
|
91
99
|
setEagerModelSync();
|
|
100
|
+
setEnableFeatrueEmmet();
|
|
92
101
|
}
|
|
93
102
|
|
|
94
|
-
export { typescript as default, setCompilerOptions, setDiagnosticsOptions, setDocumentFormattingEditProvider, setEagerModelSync, setExernalLibs };
|
|
103
|
+
export { typescript as default, setCompilerOptions, setDiagnosticsOptions, setDocumentFormattingEditProvider, setEagerModelSync, setEnableFeatrueEmmet, setExernalLibs };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type * as Monaco from 'monaco-editor';
|
|
2
|
+
/**
|
|
3
|
+
* Enable emmet feature for HTML.
|
|
4
|
+
*/
|
|
5
|
+
export declare function emmetHTML(monaco: typeof Monaco, languages: string[]): (() => void) | undefined;
|
|
6
|
+
/**
|
|
7
|
+
* Enable emmet feature for CSS.
|
|
8
|
+
*/
|
|
9
|
+
export declare function emmetCSS(monaco: typeof Monaco, languages: string[]): (() => void) | undefined;
|
|
10
|
+
/**
|
|
11
|
+
* Enable emmet feature for JSX.
|
|
12
|
+
*/
|
|
13
|
+
export declare function emmetJSX(monaco: typeof Monaco, languages: string[]): (() => void) | undefined;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { registerProvider } from './registerProvider.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Enable emmet feature for HTML.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
function emmetHTML(monaco, languages) {
|
|
8
|
+
return registerProvider(monaco, languages, 'html');
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Enable emmet feature for CSS.
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
function emmetCSS(monaco, languages) {
|
|
15
|
+
return registerProvider(monaco, languages, 'css');
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Enable emmet feature for JSX.
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
function emmetJSX(monaco, languages) {
|
|
22
|
+
return registerProvider(monaco, languages, 'jsx');
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export { emmetCSS, emmetHTML, emmetJSX };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './emmet';
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { doComplete } from '../../vendors/vscode-emmet-helper/emmetHelper.js';
|
|
2
|
+
import { LANGUAGE_MODES, MAPPED_MODES, DEFAULT_CONFIG } from '../../vendors/vscode-emmet-helper/utils.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Register completion provider of emmet.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
function registerProvider(monaco, languages, syntax) {
|
|
9
|
+
if (!monaco) {
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
const providers = languages.map(language => monaco.languages.registerCompletionItemProvider(language, {
|
|
14
|
+
triggerCharacters: LANGUAGE_MODES[MAPPED_MODES[language] || language],
|
|
15
|
+
provideCompletionItems: (model, position) => doComplete(monaco, model, position, syntax, DEFAULT_CONFIG)
|
|
16
|
+
}));
|
|
17
|
+
return () => {
|
|
18
|
+
providers.forEach(provider => provider.dispose());
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export { registerProvider };
|
|
@@ -50,11 +50,11 @@ function createGrammarRegistry() {
|
|
|
50
50
|
*/
|
|
51
51
|
|
|
52
52
|
|
|
53
|
-
async function
|
|
53
|
+
async function initMonacoGrammars () {
|
|
54
54
|
await initOnigasm();
|
|
55
55
|
const grammars = createGrammarMap();
|
|
56
56
|
const registry = createGrammarRegistry();
|
|
57
57
|
await wireTmGrammars(registry, grammars);
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
-
export {
|
|
60
|
+
export { initMonacoGrammars as default };
|
|
@@ -5,8 +5,12 @@ import { prettierConfigSource } from './config.js';
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
async function prettier (value, options) {
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
try {
|
|
9
|
+
const prettier = await import('prettier/standalone');
|
|
10
|
+
return prettier.format(value, Object.assign(Object.assign({}, options), prettierConfigSource.config));
|
|
11
|
+
} catch (_) {
|
|
12
|
+
return value;
|
|
13
|
+
}
|
|
10
14
|
}
|
|
11
15
|
|
|
12
16
|
export { prettier as default };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface SnippetsMap {
|
|
2
|
+
[name: string]: string;
|
|
3
|
+
}
|
|
4
|
+
/**
|
|
5
|
+
* Parses raw snippets definitions with possibly multiple keys into a plan
|
|
6
|
+
* snippet map
|
|
7
|
+
*/
|
|
8
|
+
export declare function parseSnippets(snippets: SnippetsMap): SnippetsMap;
|
|
9
|
+
/**
|
|
10
|
+
* List of all known syntaxes
|
|
11
|
+
*/
|
|
12
|
+
export declare const syntaxes: {
|
|
13
|
+
markup: string[];
|
|
14
|
+
stylesheet: string[];
|
|
15
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
|
|
3
|
+
/* ====================================================================================================
|
|
4
|
+
* These codes forked and modified from `microsoft/vscode-emmet-helper`
|
|
5
|
+
* under the terms of the MIT license.
|
|
6
|
+
* Make sure to check the original project if any issue exists.
|
|
7
|
+
* - project: https://github.com/microsoft/vscode-emmet-helper
|
|
8
|
+
* - codes: https://github.com/microsoft/vscode-emmet-helper/blob/e64481648451f0189216794979ce2ace82ee8148/src/data.ts
|
|
9
|
+
* ==================================================================================================== */
|
|
10
|
+
const cssData = {
|
|
11
|
+
"properties": ["additive-symbols", "align-content", "align-items", "justify-items", "justify-self", "justify-items", "align-self", "all", "alt", "animation", "animation-delay", "animation-direction", "animation-duration", "animation-fill-mode", "animation-iteration-count", "animation-name", "animation-play-state", "animation-timing-function", "backface-visibility", "background", "background-attachment", "background-blend-mode", "background-clip", "background-color", "background-image", "background-origin", "background-position", "background-position-x", "background-position-y", "background-repeat", "background-size", "behavior", "block-size", "border", "border-block-end", "border-block-start", "border-block-end-color", "border-block-start-color", "border-block-end-style", "border-block-start-style", "border-block-end-width", "border-block-start-width", "border-bottom", "border-bottom-color", "border-bottom-left-radius", "border-bottom-right-radius", "border-bottom-style", "border-bottom-width", "border-collapse", "border-color", "border-image", "border-image-outset", "border-image-repeat", "border-image-slice", "border-image-source", "border-image-width", "border-inline-end", "border-inline-start", "border-inline-end-color", "border-inline-start-color", "border-inline-end-style", "border-inline-start-style", "border-inline-end-width", "border-inline-start-width", "border-left", "border-left-color", "border-left-style", "border-left-width", "border-radius", "border-right", "border-right-color", "border-right-style", "border-right-width", "border-spacing", "border-style", "border-top", "border-top-color", "border-top-left-radius", "border-top-right-radius", "border-top-style", "border-top-width", "border-width", "bottom", "box-decoration-break", "box-shadow", "box-sizing", "break-after", "break-before", "break-inside", "caption-side", "caret-color", "clear", "clip", "clip-path", "clip-rule", "color", "color-interpolation-filters", "column-count", "column-fill", "column-gap", "column-rule", "column-rule-color", "column-rule-style", "column-rule-width", "columns", "column-span", "column-width", "contain", "content", "counter-increment", "counter-reset", "cursor", "direction", "display", "empty-cells", "enable-background", "fallback", "fill", "fill-opacity", "fill-rule", "filter", "flex", "flex-basis", "flex-direction", "flex-flow", "flex-grow", "flex-shrink", "flex-wrap", "float", "flood-color", "flood-opacity", "font", "font-family", "font-feature-settings", "font-kerning", "font-language-override", "font-size", "font-size-adjust", "font-stretch", "font-style", "font-synthesis", "font-variant", "font-variant-alternates", "font-variant-caps", "font-variant-east-asian", "font-variant-ligatures", "font-variant-numeric", "font-variant-position", "font-weight", "glyph-orientation-horizontal", "glyph-orientation-vertical", "grid-area", "grid-auto-columns", "grid-auto-flow", "grid-auto-rows", "grid-column", "grid-column-end", "grid-column-gap", "grid-column-start", "grid-gap", "grid-row", "grid-row-end", "grid-row-gap", "grid-row-start", "grid-template", "grid-template-areas", "grid-template-columns", "grid-template-rows", "height", "hyphens", "image-orientation", "image-rendering", "ime-mode", "inline-size", "isolation", "justify-content", "kerning", "left", "letter-spacing", "lighting-color", "line-break", "line-height", "list-style", "list-style-image", "list-style-position", "list-style-type", "margin", "margin-block-end", "margin-block-start", "margin-bottom", "margin-inline-end", "margin-inline-start", "margin-left", "margin-right", "margin-top", "marker", "marker-end", "marker-mid", "marker-start", "mask-type", "max-block-size", "max-height", "max-inline-size", "max-width", "min-block-size", "min-height", "min-inline-size", "min-width", "mix-blend-mode", "motion", "motion-offset", "motion-path", "motion-rotation", "-moz-animation", "-moz-animation-delay", "-moz-animation-direction", "-moz-animation-duration", "-moz-animation-iteration-count", "-moz-animation-name", "-moz-animation-play-state", "-moz-animation-timing-function", "-moz-appearance", "-moz-backface-visibility", "-moz-background-clip", "-moz-background-inline-policy", "-moz-background-origin", "-moz-border-bottom-colors", "-moz-border-image", "-moz-border-left-colors", "-moz-border-right-colors", "-moz-border-top-colors", "-moz-box-align", "-moz-box-direction", "-moz-box-flex", "-moz-box-flexgroup", "-moz-box-ordinal-group", "-moz-box-orient", "-moz-box-pack", "-moz-box-sizing", "-moz-column-count", "-moz-column-gap", "-moz-column-rule", "-moz-column-rule-color", "-moz-column-rule-style", "-moz-column-rule-width", "-moz-columns", "-moz-column-width", "-moz-font-feature-settings", "-moz-hyphens", "-moz-perspective", "-moz-perspective-origin", "-moz-text-align-last", "-moz-text-decoration-color", "-moz-text-decoration-line", "-moz-text-decoration-style", "-moz-text-size-adjust", "-moz-transform", "-moz-transform-origin", "-moz-transition", "-moz-transition-delay", "-moz-transition-duration", "-moz-transition-property", "-moz-transition-timing-function", "-moz-user-focus", "-moz-user-select", "-ms-accelerator", "-ms-behavior", "-ms-block-progression", "-ms-content-zoom-chaining", "-ms-content-zooming", "-ms-content-zoom-limit", "-ms-content-zoom-limit-max", "-ms-content-zoom-limit-min", "-ms-content-zoom-snap", "-ms-content-zoom-snap-points", "-ms-content-zoom-snap-type", "-ms-filter", "-ms-flex", "-ms-flex-align", "-ms-flex-direction", "-ms-flex-flow", "-ms-flex-item-align", "-ms-flex-line-pack", "-ms-flex-order", "-ms-flex-pack", "-ms-flex-wrap", "-ms-flow-from", "-ms-flow-into", "-ms-grid-column", "-ms-grid-column-align", "-ms-grid-columns", "-ms-grid-column-span", "-ms-grid-layer", "-ms-grid-row", "-ms-grid-row-align", "-ms-grid-rows", "-ms-grid-row-span", "-ms-high-contrast-adjust", "-ms-hyphenate-limit-chars", "-ms-hyphenate-limit-lines", "-ms-hyphenate-limit-zone", "-ms-hyphens", "-ms-ime-mode", "-ms-interpolation-mode", "-ms-layout-grid", "-ms-layout-grid-char", "-ms-layout-grid-line", "-ms-layout-grid-mode", "-ms-layout-grid-type", "-ms-line-break", "-ms-overflow-style", "-ms-perspective", "-ms-perspective-origin", "-ms-perspective-origin-x", "-ms-perspective-origin-y", "-ms-progress-appearance", "-ms-scrollbar-3dlight-color", "-ms-scrollbar-arrow-color", "-ms-scrollbar-base-color", "-ms-scrollbar-darkshadow-color", "-ms-scrollbar-face-color", "-ms-scrollbar-highlight-color", "-ms-scrollbar-shadow-color", "-ms-scrollbar-track-color", "-ms-scroll-chaining", "-ms-scroll-limit", "-ms-scroll-limit-x-max", "-ms-scroll-limit-x-min", "-ms-scroll-limit-y-max", "-ms-scroll-limit-y-min", "-ms-scroll-rails", "-ms-scroll-snap-points-x", "-ms-scroll-snap-points-y", "-ms-scroll-snap-type", "-ms-scroll-snap-x", "-ms-scroll-snap-y", "-ms-scroll-translation", "-ms-text-align-last", "-ms-text-autospace", "-ms-text-combine-horizontal", "-ms-text-justify", "-ms-text-kashida-space", "-ms-text-overflow", "-ms-text-size-adjust", "-ms-text-underline-position", "-ms-touch-action", "-ms-touch-select", "-ms-transform", "-ms-transform-origin", "-ms-transform-origin-x", "-ms-transform-origin-y", "-ms-transform-origin-z", "-ms-user-select", "-ms-word-break", "-ms-word-wrap", "-ms-wrap-flow", "-ms-wrap-margin", "-ms-wrap-through", "-ms-writing-mode", "-ms-zoom", "-ms-zoom-animation", "nav-down", "nav-index", "nav-left", "nav-right", "nav-up", "negative", "-o-animation", "-o-animation-delay", "-o-animation-direction", "-o-animation-duration", "-o-animation-fill-mode", "-o-animation-iteration-count", "-o-animation-name", "-o-animation-play-state", "-o-animation-timing-function", "object-fit", "object-position", "-o-border-image", "-o-object-fit", "-o-object-position", "opacity", "order", "orphans", "-o-table-baseline", "-o-tab-size", "-o-text-overflow", "-o-transform", "-o-transform-origin", "-o-transition", "-o-transition-delay", "-o-transition-duration", "-o-transition-property", "-o-transition-timing-function", "offset-block-end", "offset-block-start", "offset-inline-end", "offset-inline-start", "outline", "outline-color", "outline-offset", "outline-style", "outline-width", "overflow", "overflow-wrap", "overflow-x", "overflow-y", "pad", "padding", "padding-bottom", "padding-block-end", "padding-block-start", "padding-inline-end", "padding-inline-start", "padding-left", "padding-right", "padding-top", "page-break-after", "page-break-before", "page-break-inside", "paint-order", "perspective", "perspective-origin", "pointer-events", "position", "prefix", "quotes", "range", "resize", "right", "ruby-align", "ruby-overhang", "ruby-position", "ruby-span", "scrollbar-3dlight-color", "scrollbar-arrow-color", "scrollbar-base-color", "scrollbar-darkshadow-color", "scrollbar-face-color", "scrollbar-highlight-color", "scrollbar-shadow-color", "scrollbar-track-color", "scroll-behavior", "scroll-snap-coordinate", "scroll-snap-destination", "scroll-snap-points-x", "scroll-snap-points-y", "scroll-snap-type", "shape-image-threshold", "shape-margin", "shape-outside", "shape-rendering", "size", "src", "stop-color", "stop-opacity", "stroke", "stroke-dasharray", "stroke-dashoffset", "stroke-linecap", "stroke-linejoin", "stroke-miterlimit", "stroke-opacity", "stroke-width", "suffix", "system", "symbols", "table-layout", "tab-size", "text-align", "text-align-last", "text-anchor", "text-decoration", "text-decoration-color", "text-decoration-line", "text-decoration-style", "text-indent", "text-justify", "text-orientation", "text-overflow", "text-rendering", "text-shadow", "text-transform", "text-underline-position", "top", "touch-action", "transform", "transform-origin", "transform-style", "transition", "transition-delay", "transition-duration", "transition-property", "transition-timing-function", "unicode-bidi", "unicode-range", "user-select", "vertical-align", "visibility", "-webkit-animation", "-webkit-animation-delay", "-webkit-animation-direction", "-webkit-animation-duration", "-webkit-animation-fill-mode", "-webkit-animation-iteration-count", "-webkit-animation-name", "-webkit-animation-play-state", "-webkit-animation-timing-function", "-webkit-appearance", "-webkit-backdrop-filter", "-webkit-backface-visibility", "-webkit-background-clip", "-webkit-background-composite", "-webkit-background-origin", "-webkit-border-image", "-webkit-box-align", "-webkit-box-direction", "-webkit-box-flex", "-webkit-box-flex-group", "-webkit-box-ordinal-group", "-webkit-box-orient", "-webkit-box-pack", "-webkit-box-reflect", "-webkit-box-sizing", "-webkit-break-after", "-webkit-break-before", "-webkit-break-inside", "-webkit-column-break-after", "-webkit-column-break-before", "-webkit-column-break-inside", "-webkit-column-count", "-webkit-column-gap", "-webkit-column-rule", "-webkit-column-rule-color", "-webkit-column-rule-style", "-webkit-column-rule-width", "-webkit-columns", "-webkit-column-span", "-webkit-column-width", "-webkit-filter", "-webkit-flow-from", "-webkit-flow-into", "-webkit-font-feature-settings", "-webkit-hyphens", "-webkit-line-break", "-webkit-margin-bottom-collapse", "-webkit-margin-collapse", "-webkit-margin-start", "-webkit-margin-top-collapse", "-webkit-mask-clip", "-webkit-mask-image", "-webkit-mask-origin", "-webkit-mask-repeat", "-webkit-mask-size", "-webkit-nbsp-mode", "-webkit-overflow-scrolling", "-webkit-padding-start", "-webkit-perspective", "-webkit-perspective-origin", "-webkit-region-fragment", "-webkit-tap-highlight-color", "-webkit-text-fill-color", "-webkit-text-size-adjust", "-webkit-text-stroke", "-webkit-text-stroke-color", "-webkit-text-stroke-width", "-webkit-touch-callout", "-webkit-transform", "-webkit-transform-origin", "-webkit-transform-origin-x", "-webkit-transform-origin-y", "-webkit-transform-origin-z", "-webkit-transform-style", "-webkit-transition", "-webkit-transition-delay", "-webkit-transition-duration", "-webkit-transition-property", "-webkit-transition-timing-function", "-webkit-user-drag", "-webkit-user-modify", "-webkit-user-select", "white-space", "widows", "width", "will-change", "word-break", "word-spacing", "word-wrap", "writing-mode", "z-index", "zoom"]
|
|
12
|
+
};
|
|
13
|
+
const htmlData = {
|
|
14
|
+
"tags": ["body", "head", "html", "address", "blockquote", "dd", "div", "section", "article", "aside", "header", "footer", "nav", "menu", "dl", "dt", "fieldset", "form", "frame", "frameset", "h1", "h2", "h3", "h4", "h5", "h6", "iframe", "noframes", "object", "ol", "p", "ul", "applet", "center", "dir", "hr", "pre", "a", "abbr", "acronym", "area", "b", "base", "basefont", "bdo", "big", "br", "button", "caption", "cite", "code", "col", "colgroup", "del", "dfn", "em", "font", "i", "img", "input", "ins", "isindex", "kbd", "label", "legend", "li", "link", "map", "meta", "noscript", "optgroup", "option", "param", "q", "s", "samp", "script", "select", "small", "span", "strike", "strong", "style", "sub", "sup", "table", "tbody", "td", "textarea", "tfoot", "th", "thead", "title", "tr", "tt", "u", "var", "canvas", "main", "figure", "plaintext", "figcaption", "hgroup", "details", "summary"]
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export { cssData, htmlData };
|