@eccenca/gui-elements 24.0.1 → 24.1.0-featureimprovepublishingprocesscmem6356.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/CHANGELOG.md +82 -0
- package/dist/cjs/cmem/ActivityControl/ActivityControlWidget.js +7 -2
- package/dist/cjs/cmem/ActivityControl/ActivityControlWidget.js.map +1 -1
- package/dist/cjs/cmem/react-flow/StickyNoteModal/StickyNoteModal.js +3 -3
- package/dist/cjs/cmem/react-flow/StickyNoteModal/StickyNoteModal.js.map +1 -1
- package/dist/cjs/components/AutoSuggestion/AutoSuggestion.js +13 -3
- package/dist/cjs/components/AutoSuggestion/AutoSuggestion.js.map +1 -1
- package/dist/cjs/components/AutoSuggestion/ExtendedCodeEditor.js +3 -3
- package/dist/cjs/components/AutoSuggestion/ExtendedCodeEditor.js.map +1 -1
- package/dist/cjs/components/AutocompleteField/AutoCompleteField.js +4 -2
- package/dist/cjs/components/AutocompleteField/AutoCompleteField.js.map +1 -1
- package/dist/cjs/components/Card/CardActions.js +2 -1
- package/dist/cjs/components/Card/CardActions.js.map +1 -1
- package/dist/cjs/components/Card/CardContent.js +4 -6
- package/dist/cjs/components/Card/CardContent.js.map +1 -1
- package/dist/cjs/components/ContentGroup/ContentGroup.js +95 -0
- package/dist/cjs/components/ContentGroup/ContentGroup.js.map +1 -0
- package/dist/cjs/components/Dialog/SimpleDialog.js +3 -3
- package/dist/cjs/components/Dialog/SimpleDialog.js.map +1 -1
- package/dist/cjs/components/Icon/canonicalIconNames.js +12 -0
- package/dist/cjs/components/Icon/canonicalIconNames.js.map +1 -1
- package/dist/cjs/components/Label/Label.js +8 -3
- package/dist/cjs/components/Label/Label.js.map +1 -1
- package/dist/cjs/components/Menu/MenuItem.js +3 -2
- package/dist/cjs/components/Menu/MenuItem.js.map +1 -1
- package/dist/cjs/components/OverviewItem/OverviewItem.js +5 -2
- package/dist/cjs/components/OverviewItem/OverviewItem.js.map +1 -1
- package/dist/cjs/components/OverviewItem/OverviewItemList.js +2 -2
- package/dist/cjs/components/OverviewItem/OverviewItemList.js.map +1 -1
- package/dist/cjs/components/Switch/Switch.js +6 -4
- package/dist/cjs/components/Switch/Switch.js.map +1 -1
- package/dist/cjs/components/Tag/TagList.js +1 -1
- package/dist/cjs/components/Tag/TagList.js.map +1 -1
- package/dist/cjs/components/TextField/SearchField.js +19 -2
- package/dist/cjs/components/TextField/SearchField.js.map +1 -1
- package/dist/cjs/components/Typography/OverflowText.js +1 -1
- package/dist/cjs/components/Typography/OverflowText.js.map +1 -1
- package/dist/cjs/components/index.js +1 -0
- package/dist/cjs/components/index.js.map +1 -1
- package/dist/cjs/extensions/codemirror/CodeMirror.js +93 -11
- package/dist/cjs/extensions/codemirror/CodeMirror.js.map +1 -1
- package/dist/cjs/extensions/codemirror/debouncedLinter.js +18 -0
- package/dist/cjs/extensions/codemirror/debouncedLinter.js.map +1 -0
- package/dist/cjs/extensions/codemirror/hooks/useCodemirrorModeExtension.hooks.js +1 -1
- package/dist/cjs/extensions/codemirror/hooks/useCodemirrorModeExtension.hooks.js.map +1 -1
- package/dist/cjs/extensions/codemirror/linters/jsLinter.js +36 -0
- package/dist/cjs/extensions/codemirror/linters/jsLinter.js.map +1 -0
- package/dist/cjs/extensions/codemirror/linters/turtleLinter.js +81 -0
- package/dist/cjs/extensions/codemirror/linters/turtleLinter.js.map +1 -0
- package/dist/cjs/extensions/codemirror/tests/codemirrorTestHelper.js +4 -1
- package/dist/cjs/extensions/codemirror/tests/codemirrorTestHelper.js.map +1 -1
- package/dist/cjs/extensions/codemirror/toolbars/commands/markdown.command.js +278 -0
- package/dist/cjs/extensions/codemirror/toolbars/commands/markdown.command.js.map +1 -0
- package/dist/cjs/extensions/codemirror/toolbars/markdown.toolbar.js +47 -0
- package/dist/cjs/extensions/codemirror/toolbars/markdown.toolbar.js.map +1 -0
- package/dist/cjs/extensions/codemirror/types.js +3 -0
- package/dist/cjs/extensions/codemirror/types.js.map +1 -0
- package/dist/cjs/extensions/react-flow/nodes/NodeContent.js +140 -41
- package/dist/cjs/extensions/react-flow/nodes/NodeContent.js.map +1 -1
- package/dist/cjs/extensions/react-flow/nodes/nodeUtils.js +5 -6
- package/dist/cjs/extensions/react-flow/nodes/nodeUtils.js.map +1 -1
- package/dist/esm/cmem/ActivityControl/ActivityControlWidget.js +7 -2
- package/dist/esm/cmem/ActivityControl/ActivityControlWidget.js.map +1 -1
- package/dist/esm/cmem/react-flow/StickyNoteModal/StickyNoteModal.js +4 -4
- package/dist/esm/cmem/react-flow/StickyNoteModal/StickyNoteModal.js.map +1 -1
- package/dist/esm/components/AutoSuggestion/AutoSuggestion.js +13 -3
- package/dist/esm/components/AutoSuggestion/AutoSuggestion.js.map +1 -1
- package/dist/esm/components/AutoSuggestion/ExtendedCodeEditor.js +14 -3
- package/dist/esm/components/AutoSuggestion/ExtendedCodeEditor.js.map +1 -1
- package/dist/esm/components/AutocompleteField/AutoCompleteField.js +4 -3
- package/dist/esm/components/AutocompleteField/AutoCompleteField.js.map +1 -1
- package/dist/esm/components/Card/CardActions.js +2 -1
- package/dist/esm/components/Card/CardActions.js.map +1 -1
- package/dist/esm/components/Card/CardContent.js +4 -5
- package/dist/esm/components/Card/CardContent.js.map +1 -1
- package/dist/esm/components/ContentGroup/ContentGroup.js +100 -0
- package/dist/esm/components/ContentGroup/ContentGroup.js.map +1 -0
- package/dist/esm/components/Dialog/SimpleDialog.js +4 -4
- package/dist/esm/components/Dialog/SimpleDialog.js.map +1 -1
- package/dist/esm/components/Icon/canonicalIconNames.js +12 -0
- package/dist/esm/components/Icon/canonicalIconNames.js.map +1 -1
- package/dist/esm/components/Label/Label.js +8 -3
- package/dist/esm/components/Label/Label.js.map +1 -1
- package/dist/esm/components/Menu/MenuItem.js +3 -2
- package/dist/esm/components/Menu/MenuItem.js.map +1 -1
- package/dist/esm/components/OverviewItem/OverviewItem.js +5 -2
- package/dist/esm/components/OverviewItem/OverviewItem.js.map +1 -1
- package/dist/esm/components/OverviewItem/OverviewItemList.js +2 -2
- package/dist/esm/components/OverviewItem/OverviewItemList.js.map +1 -1
- package/dist/esm/components/Switch/Switch.js +7 -5
- package/dist/esm/components/Switch/Switch.js.map +1 -1
- package/dist/esm/components/Tag/TagList.js +1 -1
- package/dist/esm/components/Tag/TagList.js.map +1 -1
- package/dist/esm/components/TextField/SearchField.js +35 -2
- package/dist/esm/components/TextField/SearchField.js.map +1 -1
- package/dist/esm/components/Typography/OverflowText.js +1 -1
- package/dist/esm/components/Typography/OverflowText.js.map +1 -1
- package/dist/esm/components/index.js +1 -0
- package/dist/esm/components/index.js.map +1 -1
- package/dist/esm/extensions/codemirror/CodeMirror.js +94 -13
- package/dist/esm/extensions/codemirror/CodeMirror.js.map +1 -1
- package/dist/esm/extensions/codemirror/debouncedLinter.js +15 -0
- package/dist/esm/extensions/codemirror/debouncedLinter.js.map +1 -0
- package/dist/esm/extensions/codemirror/hooks/useCodemirrorModeExtension.hooks.js +1 -1
- package/dist/esm/extensions/codemirror/hooks/useCodemirrorModeExtension.hooks.js.map +1 -1
- package/dist/esm/extensions/codemirror/linters/jsLinter.js +32 -0
- package/dist/esm/extensions/codemirror/linters/jsLinter.js.map +1 -0
- package/dist/esm/extensions/codemirror/linters/turtleLinter.js +77 -0
- package/dist/esm/extensions/codemirror/linters/turtleLinter.js.map +1 -0
- package/dist/esm/extensions/codemirror/tests/codemirrorTestHelper.js +4 -0
- package/dist/esm/extensions/codemirror/tests/codemirrorTestHelper.js.map +1 -1
- package/dist/esm/extensions/codemirror/toolbars/commands/markdown.command.js +283 -0
- package/dist/esm/extensions/codemirror/toolbars/commands/markdown.command.js.map +1 -0
- package/dist/esm/extensions/codemirror/toolbars/markdown.toolbar.js +41 -0
- package/dist/esm/extensions/codemirror/toolbars/markdown.toolbar.js.map +1 -0
- package/dist/esm/extensions/codemirror/types.js +2 -0
- package/dist/esm/extensions/codemirror/types.js.map +1 -0
- package/dist/esm/extensions/react-flow/nodes/NodeContent.js +149 -48
- package/dist/esm/extensions/react-flow/nodes/NodeContent.js.map +1 -1
- package/dist/esm/extensions/react-flow/nodes/nodeUtils.js +5 -6
- package/dist/esm/extensions/react-flow/nodes/nodeUtils.js.map +1 -1
- package/dist/types/cmem/ActivityControl/ActivityControlWidget.d.ts +1 -1
- package/dist/types/cmem/react-flow/StickyNoteModal/StickyNoteModal.d.ts +5 -1
- package/dist/types/components/AutoSuggestion/ExtendedCodeEditor.d.ts +11 -6
- package/dist/types/components/Card/CardActions.d.ts +5 -1
- package/dist/types/components/Card/CardContent.d.ts +1 -2
- package/dist/types/components/ContentGroup/ContentGroup.d.ts +78 -0
- package/dist/types/components/Dialog/SimpleDialog.d.ts +4 -1
- package/dist/types/components/Icon/canonicalIconNames.d.ts +12 -0
- package/dist/types/components/Label/Label.d.ts +7 -1
- package/dist/types/components/Menu/MenuItem.d.ts +8 -1
- package/dist/types/components/OverviewItem/OverviewItem.d.ts +13 -1
- package/dist/types/components/OverviewItem/OverviewItemList.d.ts +3 -2
- package/dist/types/components/ProgressBar/ProgressBar.d.ts +2 -2
- package/dist/types/components/Structure/TitleSubsection.d.ts +7 -0
- package/dist/types/components/Switch/Switch.d.ts +3 -3
- package/dist/types/components/Tabs/Tab.d.ts +14 -0
- package/dist/types/components/TextField/SearchField.d.ts +1 -1
- package/dist/types/components/Typography/OverflowText.d.ts +23 -2
- package/dist/types/components/index.d.ts +1 -0
- package/dist/types/extensions/codemirror/CodeMirror.d.ts +32 -5
- package/dist/types/extensions/codemirror/debouncedLinter.d.ts +4 -0
- package/dist/types/extensions/codemirror/linters/jsLinter.d.ts +5 -0
- package/dist/types/extensions/codemirror/linters/turtleLinter.d.ts +5 -0
- package/dist/types/extensions/codemirror/tests/codemirrorTestHelper.d.ts +1 -0
- package/dist/types/extensions/codemirror/toolbars/commands/markdown.command.d.ts +55 -0
- package/dist/types/extensions/codemirror/toolbars/markdown.toolbar.d.ts +12 -0
- package/dist/types/extensions/codemirror/types.d.ts +5 -0
- package/dist/types/extensions/react-flow/nodes/NodeContent.d.ts +18 -4
- package/dist/types/extensions/react-flow/nodes/nodeUtils.d.ts +7 -6
- package/package.json +50 -47
- package/src/cmem/ActivityControl/ActivityControlWidget.tsx +5 -2
- package/src/cmem/react-flow/StickyNoteModal/StickyNoteModal.tsx +16 -2
- package/src/cmem/react-flow/configuration/_colors-graph.scss +4 -1
- package/src/cmem/react-flow/configuration/_colors-workflow.scss +3 -0
- package/src/components/AutoSuggestion/AutoSuggestion.tsx +14 -3
- package/src/components/AutoSuggestion/ExtendedCodeEditor.tsx +29 -6
- package/src/components/AutocompleteField/AutoCompleteField.tsx +5 -3
- package/src/components/Card/CardActions.tsx +6 -0
- package/src/components/Card/CardContent.tsx +8 -4
- package/src/components/Card/card.scss +15 -0
- package/src/components/CodeAutocompleteField/CodeAutocompleteField.stories.tsx +3 -2
- package/src/components/ContentGroup/ContentGroup.stories.tsx +47 -0
- package/src/components/ContentGroup/ContentGroup.tsx +256 -0
- package/src/components/ContentGroup/_contentgroup.scss +56 -0
- package/src/components/ContextOverlay/ContextOverlay.stories.tsx +15 -4
- package/src/components/Depiction/depiction.scss +7 -0
- package/src/components/Dialog/SimpleDialog.tsx +9 -2
- package/src/components/Dialog/stories/AlertDialog.stories.tsx +5 -1
- package/src/components/Dialog/stories/Modal.stories.tsx +4 -2
- package/src/components/Dialog/stories/SimpleDialog.stories.tsx +5 -2
- package/src/components/Icon/canonicalIconNames.tsx +12 -0
- package/src/components/Label/Label.stories.tsx +2 -1
- package/src/components/Label/Label.tsx +17 -1
- package/src/components/Label/label.scss +5 -1
- package/src/components/Menu/MenuItem.tsx +27 -1
- package/src/components/Menu/menu.scss +1 -0
- package/src/components/OverviewItem/OverviewItem.tsx +24 -1
- package/src/components/OverviewItem/OverviewItemList.tsx +3 -2
- package/src/components/OverviewItem/overviewitem.scss +4 -1
- package/src/components/OverviewItem/stories/OverviewItem.stories.tsx +6 -12
- package/src/components/Select/Select.stories.tsx +4 -1
- package/src/components/Switch/Switch.tsx +27 -8
- package/src/components/Tag/TagList.tsx +2 -2
- package/src/components/TextField/SearchField.tsx +37 -9
- package/src/components/TextField/stories/SearchField.stories.tsx +15 -1
- package/src/components/TextField/stories/TextField.stories.tsx +2 -1
- package/src/components/TextField/textfield.scss +17 -3
- package/src/components/Typography/OverflowText.tsx +24 -3
- package/src/components/Typography/stories/OverflowText.stories.tsx +33 -0
- package/src/components/index.scss +1 -0
- package/src/components/index.ts +1 -0
- package/src/extensions/codemirror/CodeMirror.stories.tsx +19 -1
- package/src/extensions/codemirror/CodeMirror.tsx +154 -16
- package/src/extensions/codemirror/_codemirror.scss +130 -1
- package/src/extensions/codemirror/debouncedLinter.ts +26 -0
- package/src/extensions/codemirror/hooks/useCodemirrorModeExtension.hooks.ts +1 -1
- package/src/extensions/codemirror/linters/jsLinter.ts +38 -0
- package/src/extensions/codemirror/linters/turtleLinter.ts +102 -0
- package/src/extensions/codemirror/tests/codemirrorTestHelper.ts +4 -0
- package/src/extensions/codemirror/toolbars/commands/markdown.command.ts +340 -0
- package/src/extensions/codemirror/toolbars/markdown.toolbar.tsx +117 -0
- package/src/extensions/codemirror/types.ts +7 -0
- package/src/extensions/react-flow/_config.scss +1 -0
- package/src/extensions/react-flow/nodes/NodeContent.tsx +170 -52
- package/src/extensions/react-flow/nodes/_nodes.scss +71 -35
- package/src/extensions/react-flow/nodes/nodeUtils.tsx +16 -14
- package/src/extensions/react-flow/nodes/stories/NodeContent.stories.tsx +51 -12
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.jsLinter = void 0;
|
|
4
|
+
const lint_1 = require("@codemirror/lint");
|
|
5
|
+
const jshint_1 = require("jshint");
|
|
6
|
+
const lintOptions = {
|
|
7
|
+
esversion: 11,
|
|
8
|
+
browser: true,
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Sets up the javascript linter. Documentation: https://codemirror.net/examples/lint/
|
|
12
|
+
*/
|
|
13
|
+
const jsLinter = () => {
|
|
14
|
+
return (0, lint_1.linter)((view) => {
|
|
15
|
+
var _a;
|
|
16
|
+
const diagnostics = [];
|
|
17
|
+
const codeText = view.state.doc.toJSON();
|
|
18
|
+
(0, jshint_1.JSHINT)(codeText, lintOptions);
|
|
19
|
+
const errors = (_a = jshint_1.JSHINT === null || jshint_1.JSHINT === void 0 ? void 0 : jshint_1.JSHINT.data()) === null || _a === void 0 ? void 0 : _a.errors;
|
|
20
|
+
if (errors && errors.length > 0) {
|
|
21
|
+
errors.forEach((error) => {
|
|
22
|
+
const selectedLine = view.state.doc.line(error.line);
|
|
23
|
+
const diagnostic = {
|
|
24
|
+
from: selectedLine.from,
|
|
25
|
+
to: selectedLine.to,
|
|
26
|
+
severity: "error",
|
|
27
|
+
message: error.reason,
|
|
28
|
+
};
|
|
29
|
+
diagnostics.push(diagnostic);
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
return diagnostics;
|
|
33
|
+
});
|
|
34
|
+
};
|
|
35
|
+
exports.jsLinter = jsLinter;
|
|
36
|
+
//# sourceMappingURL=jsLinter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsLinter.js","sourceRoot":"","sources":["../../../../../src/extensions/codemirror/linters/jsLinter.ts"],"names":[],"mappings":";;;AAAA,2CAAsD;AACtD,mCAA0C;AAI1C,MAAM,WAAW,GAAG;IAChB,SAAS,EAAE,EAAE;IACb,OAAO,EAAE,IAAI;CAChB,CAAC;AAEF;;GAEG;AACI,MAAM,QAAQ,GAAqB,GAAG,EAAE;IAC3C,OAAO,IAAA,aAAM,EAAC,CAAC,IAAI,EAAE,EAAE;;QACnB,MAAM,WAAW,GAAsB,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QACzC,IAAA,eAAM,EAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAA,eAAM,aAAN,eAAM,uBAAN,eAAM,CAAE,IAAI,EAAE,0CAAE,MAAM,CAAC;QAEtC,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBACrB,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAErD,MAAM,UAAU,GAAe;oBAC3B,IAAI,EAAE,YAAY,CAAC,IAAI;oBACvB,EAAE,EAAE,YAAY,CAAC,EAAE;oBACnB,QAAQ,EAAE,OAAO;oBACjB,OAAO,EAAE,KAAK,CAAC,MAAM;iBACxB,CAAC;gBAEF,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACjC,CAAC,CAAC,CAAC;QACP,CAAC;QAED,OAAO,WAAW,CAAC;IACvB,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAxBW,QAAA,QAAQ,YAwBnB"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.turtleLinter = void 0;
|
|
4
|
+
const lint_1 = require("@codemirror/lint");
|
|
5
|
+
const n3_1 = require("n3");
|
|
6
|
+
const debouncedLinter_1 = require("../debouncedLinter");
|
|
7
|
+
const parser = new n3_1.Parser();
|
|
8
|
+
const EMPTY_RESOURCE = "<>";
|
|
9
|
+
const getError = (message, view) => {
|
|
10
|
+
const lineMatch = message.match(/(?<=line )\d{1,}/);
|
|
11
|
+
const valueMatch = message.match(/"([^"]*)"/);
|
|
12
|
+
const lineNumber = lineMatch ? Number(lineMatch[0]) : 1;
|
|
13
|
+
// the [1] index is used to get the caputre group
|
|
14
|
+
const errorContent = valueMatch && valueMatch[1];
|
|
15
|
+
const line = view.state.doc.line(lineNumber);
|
|
16
|
+
const position = line.text.search(errorContent !== null && errorContent !== void 0 ? errorContent : /\S/);
|
|
17
|
+
const from = line.from + position;
|
|
18
|
+
const errorLength = errorContent === null || errorContent === void 0 ? void 0 : errorContent.length;
|
|
19
|
+
return { from, to: errorLength ? from + errorLength : line.to };
|
|
20
|
+
};
|
|
21
|
+
const getQuadError = (view) => {
|
|
22
|
+
const lines = view.state.doc.toJSON();
|
|
23
|
+
for (let i = 0; i < lines.length; i += 1) {
|
|
24
|
+
const input = lines[i].trim();
|
|
25
|
+
if (!input) {
|
|
26
|
+
continue;
|
|
27
|
+
}
|
|
28
|
+
if (input.includes(EMPTY_RESOURCE)) {
|
|
29
|
+
// i + 1 is used here because the codemirror uses 1-indexes
|
|
30
|
+
const line = view.state.doc.line(i + 1);
|
|
31
|
+
const position = line.text.search(EMPTY_RESOURCE);
|
|
32
|
+
const from = line.from + position;
|
|
33
|
+
return {
|
|
34
|
+
from,
|
|
35
|
+
to: from + EMPTY_RESOURCE.length,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return { from: 0, to: view.state.doc.length };
|
|
40
|
+
};
|
|
41
|
+
const n3Linter = (view) => {
|
|
42
|
+
const diagnostics = [];
|
|
43
|
+
const value = view.state.doc.toString();
|
|
44
|
+
try {
|
|
45
|
+
const quads = parser.parse(value);
|
|
46
|
+
quads.forEach((quad) => {
|
|
47
|
+
if (!quad.subject || !quad.predicate || !quad.object) {
|
|
48
|
+
const { from, to } = getQuadError(view);
|
|
49
|
+
view.dispatch({
|
|
50
|
+
scrollIntoView: true,
|
|
51
|
+
});
|
|
52
|
+
diagnostics.push({
|
|
53
|
+
from,
|
|
54
|
+
to,
|
|
55
|
+
severity: "error",
|
|
56
|
+
message: `Invalid RDF quad:\n\nsubject: ${quad.subject}\npredicate: ${quad.predicate}\nobject: ${quad.object}`,
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
const { message } = error;
|
|
63
|
+
const { from, to } = getError(message, view);
|
|
64
|
+
view.dispatch({
|
|
65
|
+
scrollIntoView: true,
|
|
66
|
+
});
|
|
67
|
+
diagnostics.push({
|
|
68
|
+
from,
|
|
69
|
+
to,
|
|
70
|
+
severity: "error",
|
|
71
|
+
message: error.message,
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
return diagnostics;
|
|
75
|
+
};
|
|
76
|
+
/**
|
|
77
|
+
* Sets up the turtle linter. Documentation: https://codemirror.net/examples/lint/
|
|
78
|
+
*/
|
|
79
|
+
const turtleLinter = () => (0, lint_1.linter)((0, debouncedLinter_1.debouncedLinter)(n3Linter));
|
|
80
|
+
exports.turtleLinter = turtleLinter;
|
|
81
|
+
//# sourceMappingURL=turtleLinter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"turtleLinter.js","sourceRoot":"","sources":["../../../../../src/extensions/codemirror/linters/turtleLinter.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,9 +8,10 @@
|
|
|
8
8
|
*/
|
|
9
9
|
//Todo this should become redundant with later patches that avoid this error
|
|
10
10
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
-
exports.adaptedCodeFolding = exports.adaptedFoldGutter = exports.adaptedHighlightActiveLine = exports.adaptedLineNumbers = exports.adaptedHighlightSpecialChars = exports.adaptedSyntaxHighlighting = exports.AdaptedEditorViewDomEventHandlers = exports.AdaptedEditorView = exports.adaptedPlaceholder = void 0;
|
|
11
|
+
exports.adaptedLintGutter = exports.adaptedCodeFolding = exports.adaptedFoldGutter = exports.adaptedHighlightActiveLine = exports.adaptedLineNumbers = exports.adaptedHighlightSpecialChars = exports.adaptedSyntaxHighlighting = exports.AdaptedEditorViewDomEventHandlers = exports.AdaptedEditorView = exports.adaptedPlaceholder = void 0;
|
|
12
12
|
const view_1 = require("@codemirror/view");
|
|
13
13
|
const language_1 = require("@codemirror/language");
|
|
14
|
+
const lint_1 = require("@codemirror/lint");
|
|
14
15
|
/** placeholder extension, current error '_view.placeholder is not a function' */
|
|
15
16
|
const adaptedPlaceholder = (text) => typeof view_1.placeholder === "function" ? (0, view_1.placeholder)(text !== null && text !== void 0 ? text : "") : (() => { });
|
|
16
17
|
exports.adaptedPlaceholder = adaptedPlaceholder;
|
|
@@ -46,4 +47,6 @@ const adaptedFoldGutter = (props) => typeof language_1.foldGutter === "function"
|
|
|
46
47
|
exports.adaptedFoldGutter = adaptedFoldGutter;
|
|
47
48
|
const adaptedCodeFolding = (props) => typeof language_1.codeFolding === "function" ? (0, language_1.codeFolding)(props) : emptyExtension;
|
|
48
49
|
exports.adaptedCodeFolding = adaptedCodeFolding;
|
|
50
|
+
const adaptedLintGutter = (props) => typeof lint_1.lintGutter === "function" ? (0, lint_1.lintGutter)(props) : emptyExtension;
|
|
51
|
+
exports.adaptedLintGutter = adaptedLintGutter;
|
|
49
52
|
//# sourceMappingURL=codemirrorTestHelper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codemirrorTestHelper.js","sourceRoot":"","sources":["../../../../../src/extensions/codemirror/tests/codemirrorTestHelper.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;AACH,4EAA4E;;;AAE5E,2CAAoH;AACpH,mDAAmF;
|
|
1
|
+
{"version":3,"file":"codemirrorTestHelper.js","sourceRoot":"","sources":["../../../../../src/extensions/codemirror/tests/codemirrorTestHelper.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;AACH,4EAA4E;;;AAE5E,2CAAoH;AACpH,mDAAmF;AAEnF,2CAA8C;AAE9C,iFAAiF;AAC1E,MAAM,kBAAkB,GAAG,CAAC,IAAa,EAAE,EAAE,CAChD,OAAO,kBAAW,KAAK,UAAU,CAAC,CAAC,CAAC,IAAA,kBAAW,EAAC,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,GAAG,EAAE,GAAE,CAAC,CAA0B,CAAC;AAD1F,QAAA,kBAAkB,sBACwE;AAEvG,SAAS,aAAa,CAAC,CAAM;IACzB,IAAI,CAAC;QACD,IAAI,CAAC,EAAE,CAAC;IACZ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,4CAA4C;QAC5C,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,wDAAwD;AAC3C,QAAA,iBAAiB,GAAG,aAAa,CAAC,iBAAU,CAAC;IACtD,CAAC,CAAC,iBAAU;IACZ,CAAC,CAAE,MAAM,IAAI;QACP,gBAAe,CAAC;QAChB,OAAO,KAAI,CAAC;KACP,CAAC;AAEhB,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,GAAE,CAAC,CAAQ,CAAC;AACzC,mGAAmG;AACtF,QAAA,iCAAiC,GAC1C,OAAO,CAAA,iBAAU,aAAV,iBAAU,uBAAV,iBAAU,CAAE,gBAAgB,CAAA,IAAI,UAAU,CAAC,CAAC,CAAC,iBAAU,aAAV,iBAAU,uBAAV,iBAAU,CAAE,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC;AAE/F,MAAM,yBAAyB,GAAG,CAAC,KAAU,EAAE,EAAE,CACpD,OAAO,6BAAkB,KAAK,UAAU,CAAC,CAAC,CAAC,IAAA,6BAAkB,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;AAD7E,QAAA,yBAAyB,6BACoD;AAEnF,MAAM,4BAA4B,GAAG,CAAC,KAAW,EAAE,EAAE,CACxD,OAAO,4BAAqB,KAAK,UAAU,CAAC,CAAC,CAAC,IAAA,4BAAqB,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;AADnF,QAAA,4BAA4B,gCACuD;AAEzF,MAAM,kBAAkB,GAAG,CAAC,KAAW,EAAE,EAAE,CAC9C,OAAO,kBAAW,KAAK,UAAU,CAAC,CAAC,CAAC,IAAA,kBAAW,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;AAD/D,QAAA,kBAAkB,sBAC6C;AAErE,MAAM,0BAA0B,GAAG,GAAG,EAAE,CAC3C,OAAO,0BAAmB,KAAK,UAAU,CAAC,CAAC,CAAC,IAAA,0BAAmB,GAAE,CAAC,CAAC,CAAC,cAAc,CAAC;AAD1E,QAAA,0BAA0B,8BACgD;AAEhF,MAAM,iBAAiB,GAAG,CAAC,KAAW,EAAE,EAAE,CAC7C,OAAO,qBAAU,KAAK,UAAU,CAAC,CAAC,CAAC,IAAA,qBAAU,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;AAD7D,QAAA,iBAAiB,qBAC4C;AAEnE,MAAM,kBAAkB,GAAG,CAAC,KAAW,EAAE,EAAE,CAC9C,OAAO,sBAAW,KAAK,UAAU,CAAC,CAAC,CAAC,IAAA,sBAAW,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;AAD/D,QAAA,kBAAkB,sBAC6C;AAErE,MAAM,iBAAiB,GAAG,CAAC,KAAW,EAAE,EAAE,CAC7C,OAAO,iBAAU,KAAK,UAAU,CAAC,CAAC,CAAC,IAAA,iBAAU,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;AAD7D,QAAA,iBAAiB,qBAC4C"}
|
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const state_1 = require("@codemirror/state");
|
|
4
|
+
var Commands;
|
|
5
|
+
(function (Commands) {
|
|
6
|
+
Commands["header1"] = "Heading 1";
|
|
7
|
+
Commands["header2"] = "Heading 2";
|
|
8
|
+
Commands["header3"] = "Heading 3";
|
|
9
|
+
Commands["header4"] = "Heading 4";
|
|
10
|
+
Commands["header5"] = "Heading 5";
|
|
11
|
+
Commands["header6"] = "Heading 6";
|
|
12
|
+
Commands["codeBlock"] = "Code block";
|
|
13
|
+
Commands["quote"] = "Block quote";
|
|
14
|
+
Commands["bold"] = "Bold";
|
|
15
|
+
Commands["italic"] = "Italic";
|
|
16
|
+
Commands["strike"] = "StrikeThrough";
|
|
17
|
+
Commands["inlineCode"] = "Inline code";
|
|
18
|
+
Commands["unorderedList"] = "Unordered list";
|
|
19
|
+
Commands["orderedList"] = "Ordered list";
|
|
20
|
+
Commands["todoList"] = "Todo list";
|
|
21
|
+
Commands["link"] = "Link";
|
|
22
|
+
Commands["image"] = "Image";
|
|
23
|
+
})(Commands || (Commands = {}));
|
|
24
|
+
//contains all utilities for markdown toolbar
|
|
25
|
+
class MarkdownCommand {
|
|
26
|
+
constructor(view) {
|
|
27
|
+
this.view = null;
|
|
28
|
+
/**
|
|
29
|
+
* Supported list types are ol, ul, todo.
|
|
30
|
+
* utility helps to determine which at the start of the line
|
|
31
|
+
*/
|
|
32
|
+
this.getListTypeOfLine = (text) => {
|
|
33
|
+
if (!text)
|
|
34
|
+
return;
|
|
35
|
+
text = text === null || text === void 0 ? void 0 : text.trimStart();
|
|
36
|
+
if (text.startsWith("- ")) {
|
|
37
|
+
if (text.startsWith("- [ ] ") || text.startsWith("- [x] "))
|
|
38
|
+
return ["todo"];
|
|
39
|
+
return ["ul"];
|
|
40
|
+
}
|
|
41
|
+
const v = text.match(/^(\d+)\. /);
|
|
42
|
+
return v ? ["ol", Number.parseInt(v[1], 10)] : undefined;
|
|
43
|
+
};
|
|
44
|
+
//factory for different list types.
|
|
45
|
+
this.createList = (type) => {
|
|
46
|
+
if (!this.view)
|
|
47
|
+
return;
|
|
48
|
+
const view = this.view;
|
|
49
|
+
const doc = view.state.doc;
|
|
50
|
+
const orderedList = { currentIndex: 1 };
|
|
51
|
+
view.dispatch(view.state.changeByRange((range) => {
|
|
52
|
+
const text = doc.slice(range.from, range.to);
|
|
53
|
+
const changes = [];
|
|
54
|
+
let selectionStart = range.from;
|
|
55
|
+
let selectionLength = range.to - range.from;
|
|
56
|
+
Array.from({ length: text.lines }).forEach((_, index) => {
|
|
57
|
+
const line = doc.line(doc.lineAt(range.from).number + index);
|
|
58
|
+
const currentListType = this.getListTypeOfLine(line.text);
|
|
59
|
+
if (currentListType && currentListType[0] === type) {
|
|
60
|
+
if (currentListType[0] === "ol" && currentListType[1]) {
|
|
61
|
+
orderedList.currentIndex = currentListType[1];
|
|
62
|
+
}
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
const content = this.createListDelimiter(line.text, type, orderedList);
|
|
66
|
+
const diffLength = content.length - line.length;
|
|
67
|
+
changes.push({
|
|
68
|
+
from: line.from,
|
|
69
|
+
to: line.to,
|
|
70
|
+
insert: content,
|
|
71
|
+
});
|
|
72
|
+
if (index === 0) {
|
|
73
|
+
selectionStart = selectionStart + diffLength;
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
selectionLength = selectionLength + diffLength;
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
return {
|
|
80
|
+
changes,
|
|
81
|
+
range: state_1.EditorSelection.range(selectionStart, selectionStart + selectionLength),
|
|
82
|
+
};
|
|
83
|
+
}));
|
|
84
|
+
view.focus();
|
|
85
|
+
};
|
|
86
|
+
this.enforceCursorFocus = (cursorPosition) => {
|
|
87
|
+
if (!this.view)
|
|
88
|
+
return;
|
|
89
|
+
const view = this.view;
|
|
90
|
+
setTimeout(() => {
|
|
91
|
+
view.dispatch({
|
|
92
|
+
selection: state_1.EditorSelection.cursor(cursorPosition),
|
|
93
|
+
});
|
|
94
|
+
view.focus();
|
|
95
|
+
}, 50);
|
|
96
|
+
};
|
|
97
|
+
//supported headers from h1-h6, h6 being the smallest
|
|
98
|
+
this.createHeading = (level) => {
|
|
99
|
+
if (!this.view)
|
|
100
|
+
return;
|
|
101
|
+
const view = this.view;
|
|
102
|
+
const state = view.state;
|
|
103
|
+
const flags = "#".repeat(level) + " ";
|
|
104
|
+
let lastCursorPosition = 0;
|
|
105
|
+
view.dispatch(state.changeByRange((range) => {
|
|
106
|
+
const line = state.doc.lineAt(range.from);
|
|
107
|
+
const content = line.text.replace(/^((#+) )?/, flags);
|
|
108
|
+
const diffLength = content.length - line.length;
|
|
109
|
+
lastCursorPosition = line.to + diffLength;
|
|
110
|
+
return {
|
|
111
|
+
changes: {
|
|
112
|
+
from: line.from,
|
|
113
|
+
to: line.to,
|
|
114
|
+
insert: content,
|
|
115
|
+
},
|
|
116
|
+
range: state_1.EditorSelection.range(range.anchor + diffLength, range.head + diffLength),
|
|
117
|
+
};
|
|
118
|
+
}));
|
|
119
|
+
this.enforceCursorFocus(lastCursorPosition);
|
|
120
|
+
};
|
|
121
|
+
this.applyFormatting = ({ start, startDelimiter, endDelimiter = startDelimiter, stop = start, }) => {
|
|
122
|
+
if (!this.view)
|
|
123
|
+
return;
|
|
124
|
+
const view = this.view;
|
|
125
|
+
const { from, to } = view.state.selection.main;
|
|
126
|
+
const text = view.state.sliceDoc(from, to);
|
|
127
|
+
view.dispatch(view.state.changeByRange((range) => {
|
|
128
|
+
return {
|
|
129
|
+
changes: [{ from: range.from, to: range.to, insert: `${startDelimiter}${text}${endDelimiter}` }],
|
|
130
|
+
range: state_1.EditorSelection.range(range.from + start, range.to + stop),
|
|
131
|
+
};
|
|
132
|
+
}));
|
|
133
|
+
view.focus();
|
|
134
|
+
};
|
|
135
|
+
this.applyAttachment = (type) => {
|
|
136
|
+
if (!this.view)
|
|
137
|
+
return;
|
|
138
|
+
const view = this.view;
|
|
139
|
+
const { state } = view;
|
|
140
|
+
const isImageAttachmentType = type === Commands.image;
|
|
141
|
+
const { doc } = state;
|
|
142
|
+
view.dispatch(state.changeByRange((range) => {
|
|
143
|
+
const { from, to } = range;
|
|
144
|
+
const text = doc.sliceString(from, to);
|
|
145
|
+
const link = `${isImageAttachmentType ? `!` : ""}[${text}]()`;
|
|
146
|
+
const cursor = from + (text.length ? 3 + text.length : 1 + Number(isImageAttachmentType));
|
|
147
|
+
return {
|
|
148
|
+
changes: [
|
|
149
|
+
{
|
|
150
|
+
from,
|
|
151
|
+
to,
|
|
152
|
+
insert: link,
|
|
153
|
+
},
|
|
154
|
+
],
|
|
155
|
+
range: state_1.EditorSelection.range(cursor, cursor),
|
|
156
|
+
};
|
|
157
|
+
}));
|
|
158
|
+
view.focus();
|
|
159
|
+
};
|
|
160
|
+
this.applyQuoteFormatting = () => {
|
|
161
|
+
if (!this.view)
|
|
162
|
+
return;
|
|
163
|
+
const view = this.view;
|
|
164
|
+
const { state } = view;
|
|
165
|
+
const { doc } = state;
|
|
166
|
+
let lastCursorPosition = 0;
|
|
167
|
+
view.dispatch(view.state.changeByRange((range) => {
|
|
168
|
+
const startLine = doc.lineAt(range.from);
|
|
169
|
+
const text = doc.slice(range.from, range.to);
|
|
170
|
+
const lineCount = text.lines;
|
|
171
|
+
const changes = [];
|
|
172
|
+
let selectionStart = range.from;
|
|
173
|
+
let selectionLength = range.to - range.from;
|
|
174
|
+
new Array(lineCount).fill(0).forEach((_, index) => {
|
|
175
|
+
const line = doc.line(startLine.number + index);
|
|
176
|
+
if (line.text.startsWith("> ")) {
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
179
|
+
changes.push({
|
|
180
|
+
from: line.from,
|
|
181
|
+
insert: "> ",
|
|
182
|
+
});
|
|
183
|
+
if (index === 0) {
|
|
184
|
+
selectionStart = selectionStart + 2;
|
|
185
|
+
}
|
|
186
|
+
else {
|
|
187
|
+
selectionLength += 2;
|
|
188
|
+
}
|
|
189
|
+
});
|
|
190
|
+
lastCursorPosition = selectionStart + selectionLength;
|
|
191
|
+
return {
|
|
192
|
+
changes,
|
|
193
|
+
range: state_1.EditorSelection.range(selectionStart, selectionStart + selectionLength),
|
|
194
|
+
};
|
|
195
|
+
}));
|
|
196
|
+
this.enforceCursorFocus(lastCursorPosition);
|
|
197
|
+
};
|
|
198
|
+
this.executeCommand = (command) => {
|
|
199
|
+
var _a;
|
|
200
|
+
switch (command) {
|
|
201
|
+
case Commands.bold:
|
|
202
|
+
return this.applyFormatting({ start: 2, startDelimiter: "**" });
|
|
203
|
+
case Commands.italic:
|
|
204
|
+
return this.applyFormatting({ start: 1, startDelimiter: "*" });
|
|
205
|
+
case Commands.codeBlock:
|
|
206
|
+
return this.applyFormatting({ start: 3, startDelimiter: "```\n", endDelimiter: "\n```" });
|
|
207
|
+
case Commands.strike:
|
|
208
|
+
return this.applyFormatting({ start: 2, startDelimiter: "~~" });
|
|
209
|
+
case Commands.inlineCode:
|
|
210
|
+
return this.applyFormatting({ start: 1, startDelimiter: "`" });
|
|
211
|
+
case Commands.header1:
|
|
212
|
+
case Commands.header2:
|
|
213
|
+
case Commands.header3:
|
|
214
|
+
case Commands.header4:
|
|
215
|
+
case Commands.header5:
|
|
216
|
+
case Commands.header6:
|
|
217
|
+
return this.createHeading(Number(command.slice(-1)));
|
|
218
|
+
case Commands.unorderedList:
|
|
219
|
+
case Commands.orderedList:
|
|
220
|
+
case Commands.todoList:
|
|
221
|
+
return this.createList((_a = MarkdownCommand.commands.lists.find((l) => l.title === command)) === null || _a === void 0 ? void 0 : _a.moniker);
|
|
222
|
+
case Commands.image:
|
|
223
|
+
case Commands.link:
|
|
224
|
+
return this.applyAttachment(command);
|
|
225
|
+
case Commands.quote:
|
|
226
|
+
return this.applyQuoteFormatting();
|
|
227
|
+
default:
|
|
228
|
+
return; //do nothing;
|
|
229
|
+
}
|
|
230
|
+
};
|
|
231
|
+
this.view = view;
|
|
232
|
+
}
|
|
233
|
+
//inserts the list delimiters of "-", "- [ ]" and "{number}."
|
|
234
|
+
createListDelimiter(text, type, orderedList) {
|
|
235
|
+
return text.replace(/^(( *)(-( \[[x ]])?|\d+\.) )?/, (...args) => {
|
|
236
|
+
const { space = "" } = args[args.length - 1];
|
|
237
|
+
let newFlag = "- ";
|
|
238
|
+
if (type === "ol") {
|
|
239
|
+
newFlag = `${orderedList.currentIndex}. `;
|
|
240
|
+
orderedList.currentIndex++;
|
|
241
|
+
}
|
|
242
|
+
else if (type === "todo") {
|
|
243
|
+
newFlag = "- [ ] ";
|
|
244
|
+
}
|
|
245
|
+
return space + newFlag;
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
//list of supported commands as well as the valid icon names.
|
|
250
|
+
MarkdownCommand.commands = {
|
|
251
|
+
paragraphs: [
|
|
252
|
+
Commands.header1,
|
|
253
|
+
Commands.header2,
|
|
254
|
+
Commands.header3,
|
|
255
|
+
Commands.header4,
|
|
256
|
+
Commands.header5,
|
|
257
|
+
Commands.header6,
|
|
258
|
+
Commands.quote,
|
|
259
|
+
Commands.codeBlock,
|
|
260
|
+
],
|
|
261
|
+
basic: [
|
|
262
|
+
{ title: Commands.bold, icon: "operation-format-text-bold" },
|
|
263
|
+
{ title: Commands.italic, icon: "operation-format-text-italic" },
|
|
264
|
+
{ title: Commands.strike, icon: "operation-format-text-strikethrough" },
|
|
265
|
+
{ title: Commands.inlineCode, icon: "operation-format-text-code" },
|
|
266
|
+
],
|
|
267
|
+
lists: [
|
|
268
|
+
{ title: Commands.unorderedList, icon: "operation-format-list-bullet", moniker: "ul" },
|
|
269
|
+
{ title: Commands.orderedList, icon: "operation-format-list-numbered", moniker: "ol" },
|
|
270
|
+
{ title: Commands.todoList, icon: "operation-format-list-checked", moniker: "todo" },
|
|
271
|
+
],
|
|
272
|
+
attachments: [
|
|
273
|
+
{ title: Commands.link, icon: "operation-link" },
|
|
274
|
+
{ title: Commands.image, icon: "item-image" },
|
|
275
|
+
],
|
|
276
|
+
};
|
|
277
|
+
exports.default = MarkdownCommand;
|
|
278
|
+
//# sourceMappingURL=markdown.command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdown.command.js","sourceRoot":"","sources":["../../../../../../src/extensions/codemirror/toolbars/commands/markdown.command.ts"],"names":[],"mappings":";;AAAA,6CAAqE;AAKrE,IAAK,QAkBJ;AAlBD,WAAK,QAAQ;IACT,iCAAqB,CAAA;IACrB,iCAAqB,CAAA;IACrB,iCAAqB,CAAA;IACrB,iCAAqB,CAAA;IACrB,iCAAqB,CAAA;IACrB,iCAAqB,CAAA;IACrB,oCAAwB,CAAA;IACxB,iCAAqB,CAAA;IACrB,yBAAa,CAAA;IACb,6BAAiB,CAAA;IACjB,oCAAwB,CAAA;IACxB,sCAA0B,CAAA;IAC1B,4CAAgC,CAAA;IAChC,wCAA4B,CAAA;IAC5B,kCAAsB,CAAA;IACtB,yBAAa,CAAA;IACb,2BAAe,CAAA;AACnB,CAAC,EAlBI,QAAQ,KAAR,QAAQ,QAkBZ;AAMD,6CAA6C;AAC7C,MAAqB,eAAe;IAgChC,YAAY,IAAgB;QA/BpB,SAAI,GAAsB,IAAI,CAAC;QAmCvC;;;WAGG;QACK,sBAAiB,GAAG,CAAC,IAAY,EAAmC,EAAE;YAC1E,IAAI,CAAC,IAAI;gBAAE,OAAO;YAClB,IAAI,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,SAAS,EAAE,CAAC;YAEzB,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;oBAAE,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC5E,OAAO,CAAC,IAAI,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAElC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7D,CAAC,CAAC;QAoBF,mCAAmC;QAC3B,eAAU,GAAG,CAAC,IAAc,EAAE,EAAE;YACpC,IAAI,CAAC,IAAI,CAAC,IAAI;gBAAE,OAAO;YACvB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACvB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;YAE3B,MAAM,WAAW,GAAG,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;YAExC,IAAI,CAAC,QAAQ,CACT,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC/B,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC7C,MAAM,OAAO,GAAiB,EAAE,CAAC;gBAEjC,IAAI,cAAc,GAAW,KAAK,CAAC,IAAI,CAAC;gBACxC,IAAI,eAAe,GAAW,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC;gBAEpD,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;oBACpD,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;oBAE7D,MAAM,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAE1D,IAAI,eAAe,IAAI,eAAe,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;wBACjD,IAAI,eAAe,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;4BACpD,WAAW,CAAC,YAAY,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;wBAClD,CAAC;wBAED,OAAO;oBACX,CAAC;oBACD,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;oBAEvE,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;oBAEhD,OAAO,CAAC,IAAI,CAAC;wBACT,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,EAAE,EAAE,IAAI,CAAC,EAAE;wBACX,MAAM,EAAE,OAAO;qBAClB,CAAC,CAAC;oBAEH,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;wBACd,cAAc,GAAG,cAAc,GAAG,UAAU,CAAC;oBACjD,CAAC;yBAAM,CAAC;wBACJ,eAAe,GAAG,eAAe,GAAG,UAAU,CAAC;oBACnD,CAAC;gBACL,CAAC,CAAC,CAAC;gBAEH,OAAO;oBACH,OAAO;oBACP,KAAK,EAAE,uBAAe,CAAC,KAAK,CAAC,cAAc,EAAE,cAAc,GAAG,eAAe,CAAC;iBACjF,CAAC;YACN,CAAC,CAAC,CACL,CAAC;YAEF,IAAI,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC,CAAC;QAEM,uBAAkB,GAAG,CAAC,cAAsB,EAAE,EAAE;YACpD,IAAI,CAAC,IAAI,CAAC,IAAI;gBAAE,OAAO;YACvB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACvB,UAAU,CAAC,GAAG,EAAE;gBACZ,IAAI,CAAC,QAAQ,CAAC;oBACV,SAAS,EAAE,uBAAe,CAAC,MAAM,CAAC,cAAc,CAAC;iBACpD,CAAC,CAAC;gBACH,IAAI,CAAC,KAAK,EAAE,CAAC;YACjB,CAAC,EAAE,EAAE,CAAC,CAAC;QACX,CAAC,CAAC;QAEF,qDAAqD;QAC7C,kBAAa,GAAG,CAAC,KAAmB,EAAE,EAAE;YAC5C,IAAI,CAAC,IAAI,CAAC,IAAI;gBAAE,OAAO;YACvB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACvB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YAEzB,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;YAEtC,IAAI,kBAAkB,GAAG,CAAC,CAAC;YAE3B,IAAI,CAAC,QAAQ,CACT,KAAK,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC1B,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAE1C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;gBAEtD,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBAChD,kBAAkB,GAAG,IAAI,CAAC,EAAE,GAAG,UAAU,CAAC;gBAC1C,OAAO;oBACH,OAAO,EAAE;wBACL,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,EAAE,EAAE,IAAI,CAAC,EAAE;wBACX,MAAM,EAAE,OAAO;qBAClB;oBACD,KAAK,EAAE,uBAAe,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,UAAU,EAAE,KAAK,CAAC,IAAI,GAAG,UAAU,CAAC;iBACnF,CAAC;YACN,CAAC,CAAC,CACL,CAAC;YAEF,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;QAChD,CAAC,CAAC;QAEM,oBAAe,GAAG,CAAC,EACvB,KAAK,EACL,cAAc,EACd,YAAY,GAAG,cAAc,EAC7B,IAAI,GAAG,KAAK,GACD,EAAE,EAAE;YACf,IAAI,CAAC,IAAI,CAAC,IAAI;gBAAE,OAAO;YACvB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACvB,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;YAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC3C,IAAI,CAAC,QAAQ,CACT,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC/B,OAAO;oBACH,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,cAAc,GAAG,IAAI,GAAG,YAAY,EAAE,EAAE,CAAC;oBAChG,KAAK,EAAE,uBAAe,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,EAAE,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC;iBACpE,CAAC;YACN,CAAC,CAAC,CACL,CAAC;YACF,IAAI,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC,CAAC;QAEM,oBAAe,GAAG,CAAC,IAAoC,EAAE,EAAE;YAC/D,IAAI,CAAC,IAAI,CAAC,IAAI;gBAAE,OAAO;YACvB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACvB,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;YACvB,MAAM,qBAAqB,GAAG,IAAI,KAAK,QAAQ,CAAC,KAAK,CAAC;YAEtD,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;YAEtB,IAAI,CAAC,QAAQ,CACT,KAAK,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC1B,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC;gBAE3B,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAEvC,MAAM,IAAI,GAAG,GAAG,qBAAqB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,KAAK,CAAC;gBAE9D,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC;gBAE1F,OAAO;oBACH,OAAO,EAAE;wBACL;4BACI,IAAI;4BACJ,EAAE;4BACF,MAAM,EAAE,IAAI;yBACf;qBACJ;oBACD,KAAK,EAAE,uBAAe,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC;iBAC/C,CAAC;YACN,CAAC,CAAC,CACL,CAAC;YAEF,IAAI,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC,CAAC;QAEM,yBAAoB,GAAG,GAAG,EAAE;YAChC,IAAI,CAAC,IAAI,CAAC,IAAI;gBAAE,OAAO;YACvB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACvB,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;YACvB,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;YAEtB,IAAI,kBAAkB,GAAG,CAAC,CAAC;YAE3B,IAAI,CAAC,QAAQ,CACT,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC/B,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAEzC,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;gBAE7C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;gBAE7B,MAAM,OAAO,GAAiB,EAAE,CAAC;gBAEjC,IAAI,cAAc,GAAW,KAAK,CAAC,IAAI,CAAC;gBACxC,IAAI,eAAe,GAAW,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC;gBAEpD,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;oBAC9C,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;oBAEhD,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC7B,OAAO;oBACX,CAAC;oBACD,OAAO,CAAC,IAAI,CAAC;wBACT,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,MAAM,EAAE,IAAI;qBACf,CAAC,CAAC;oBAEH,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;wBACd,cAAc,GAAG,cAAc,GAAG,CAAC,CAAC;oBACxC,CAAC;yBAAM,CAAC;wBACJ,eAAe,IAAI,CAAC,CAAC;oBACzB,CAAC;gBACL,CAAC,CAAC,CAAC;gBAEH,kBAAkB,GAAG,cAAc,GAAG,eAAe,CAAC;gBAEtD,OAAO;oBACH,OAAO;oBACP,KAAK,EAAE,uBAAe,CAAC,KAAK,CAAC,cAAc,EAAE,cAAc,GAAG,eAAe,CAAC;iBACjF,CAAC;YACN,CAAC,CAAC,CACL,CAAC;YACF,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;QAChD,CAAC,CAAC;QAEF,mBAAc,GAAG,CAAC,OAAiB,EAAe,EAAE;;YAChD,QAAQ,OAAO,EAAE,CAAC;gBACd,KAAK,QAAQ,CAAC,IAAI;oBACd,OAAO,IAAI,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;gBACpE,KAAK,QAAQ,CAAC,MAAM;oBAChB,OAAO,IAAI,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;gBACnE,KAAK,QAAQ,CAAC,SAAS;oBACnB,OAAO,IAAI,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,cAAc,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC9F,KAAK,QAAQ,CAAC,MAAM;oBAChB,OAAO,IAAI,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;gBACpE,KAAK,QAAQ,CAAC,UAAU;oBACpB,OAAO,IAAI,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;gBACnE,KAAK,QAAQ,CAAC,OAAO,CAAC;gBACtB,KAAK,QAAQ,CAAC,OAAO,CAAC;gBACtB,KAAK,QAAQ,CAAC,OAAO,CAAC;gBACtB,KAAK,QAAQ,CAAC,OAAO,CAAC;gBACtB,KAAK,QAAQ,CAAC,OAAO,CAAC;gBACtB,KAAK,QAAQ,CAAC,OAAO;oBACjB,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAiB,CAAC,CAAC;gBACzE,KAAK,QAAQ,CAAC,aAAa,CAAC;gBAC5B,KAAK,QAAQ,CAAC,WAAW,CAAC;gBAC1B,KAAK,QAAQ,CAAC,QAAQ;oBAClB,OAAO,IAAI,CAAC,UAAU,CAClB,MAAA,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,0CAAE,OAAmB,CACvF,CAAC;gBACN,KAAK,QAAQ,CAAC,KAAK,CAAC;gBACpB,KAAK,QAAQ,CAAC,IAAI;oBACd,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;gBACzC,KAAK,QAAQ,CAAC,KAAK;oBACf,OAAO,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBACvC;oBACI,OAAO,CAAC,aAAa;YAC7B,CAAC;QACL,CAAC,CAAC;QAnRE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IAoBD,6DAA6D;IACrD,mBAAmB,CAAC,IAAY,EAAE,IAAY,EAAE,WAAqC;QACzF,OAAO,IAAI,CAAC,OAAO,CAAC,+BAA+B,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE;YAC7D,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAE7C,IAAI,OAAO,GAAG,IAAI,CAAC;YAEnB,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAChB,OAAO,GAAG,GAAG,WAAW,CAAC,YAAY,IAAI,CAAC;gBAC1C,WAAW,CAAC,YAAY,EAAE,CAAC;YAC/B,CAAC;iBAAM,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;gBACzB,OAAO,GAAG,QAAQ,CAAC;YACvB,CAAC;YAED,OAAO,KAAK,GAAG,OAAO,CAAC;QAC3B,CAAC,CAAC,CAAC;IACP,CAAC;;AAnED,6DAA6D;AAC/C,wBAAQ,GAAG;IACrB,UAAU,EAAE;QACR,QAAQ,CAAC,OAAO;QAChB,QAAQ,CAAC,OAAO;QAChB,QAAQ,CAAC,OAAO;QAChB,QAAQ,CAAC,OAAO;QAChB,QAAQ,CAAC,OAAO;QAChB,QAAQ,CAAC,OAAO;QAChB,QAAQ,CAAC,KAAK;QACd,QAAQ,CAAC,SAAS;KACrB;IACD,KAAK,EAAE;QACH,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,4BAA4B,EAAE;QAC5D,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,8BAA8B,EAAE;QAChE,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,qCAAqC,EAAE;QACvE,EAAE,KAAK,EAAE,QAAQ,CAAC,UAAU,EAAE,IAAI,EAAE,4BAA4B,EAAE;KACvB;IAC/C,KAAK,EAAE;QACH,EAAE,KAAK,EAAE,QAAQ,CAAC,aAAa,EAAE,IAAI,EAAE,8BAA8B,EAAE,OAAO,EAAE,IAAI,EAAE;QACtF,EAAE,KAAK,EAAE,QAAQ,CAAC,WAAW,EAAE,IAAI,EAAE,gCAAgC,EAAE,OAAO,EAAE,IAAI,EAAE;QACtF,EAAE,KAAK,EAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,+BAA+B,EAAE,OAAO,EAAE,MAAM,EAAE;KACxB;IAChE,WAAW,EAAE;QACT,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE;QAChD,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE;KACF;CACzC,AA1BY,CA0BX;kBA9BM,eAAe"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.MarkdownToolbar = void 0;
|
|
7
|
+
const react_1 = __importDefault(require("react"));
|
|
8
|
+
const Button_1 = require("../../../components/Button/Button");
|
|
9
|
+
const ContextOverlay_1 = require("../../../components/ContextOverlay");
|
|
10
|
+
const Icon_1 = require("../../../components/Icon");
|
|
11
|
+
const Menu_1 = require("../../../components/Menu");
|
|
12
|
+
const Spacing_1 = require("../../../components/Separation/Spacing");
|
|
13
|
+
const Toolbar_1 = require("../../../components/Toolbar");
|
|
14
|
+
const markdown_command_1 = __importDefault(require("./commands/markdown.command"));
|
|
15
|
+
const MarkdownToolbar = ({ view, togglePreviewStatus, showPreview, disabled, readonly, translate }) => {
|
|
16
|
+
const commandRef = react_1.default.useRef(null);
|
|
17
|
+
react_1.default.useEffect(() => {
|
|
18
|
+
if (view) {
|
|
19
|
+
commandRef.current = new markdown_command_1.default(view);
|
|
20
|
+
}
|
|
21
|
+
}, [view]);
|
|
22
|
+
const getTranslation = (fallback) => {
|
|
23
|
+
const key = fallback.toLowerCase().replace(" ", "-");
|
|
24
|
+
return translate(key) || fallback;
|
|
25
|
+
};
|
|
26
|
+
const { basic, lists, attachments } = markdown_command_1.default.commands;
|
|
27
|
+
return (react_1.default.createElement(Toolbar_1.Toolbar, { noWrap: true },
|
|
28
|
+
react_1.default.createElement(Toolbar_1.ToolbarSection, { canShrink: true, hideOverflow: true },
|
|
29
|
+
react_1.default.createElement(ContextOverlay_1.ContextMenu, { togglerElement: react_1.default.createElement(Button_1.Button, { rightIcon: react_1.default.createElement(Icon_1.Icon, { name: "toggler-showmore" }), text: getTranslation("Paragraphs"), minimal: true, fill: true, ellipsizeText: true, disabled: showPreview || disabled || readonly }) }, markdown_command_1.default.commands.paragraphs.map((p, i) => (react_1.default.createElement(Menu_1.MenuItem, { key: p, text: react_1.default.createElement(react_1.default.Fragment, null,
|
|
30
|
+
react_1.default.createElement("span", { style: p.startsWith("Head") ? { fontSize: 22 - (i * (22 - 12)) / 5 } : {} }, getTranslation(p))), onClick: () => { var _a; return (_a = commandRef.current) === null || _a === void 0 ? void 0 : _a.executeCommand(p); } }))))),
|
|
31
|
+
react_1.default.createElement(Toolbar_1.ToolbarSection, { canShrink: true },
|
|
32
|
+
react_1.default.createElement(Spacing_1.Spacing, { vertical: true, hasDivider: true, size: "tiny" })),
|
|
33
|
+
[basic, lists, attachments].map((section, i) => {
|
|
34
|
+
return (react_1.default.createElement(react_1.default.Fragment, { key: i },
|
|
35
|
+
react_1.default.createElement(Toolbar_1.ToolbarSection, null, section.map((command) => {
|
|
36
|
+
return (react_1.default.createElement(Icon_1.IconButton, { key: command.title, name: command.icon, onClick: () => { var _a; return (_a = commandRef.current) === null || _a === void 0 ? void 0 : _a.executeCommand(command.title); }, text: getTranslation(command.title), disabled: showPreview || disabled || readonly }));
|
|
37
|
+
})),
|
|
38
|
+
i < 2 && (react_1.default.createElement(Toolbar_1.ToolbarSection, { canShrink: true },
|
|
39
|
+
react_1.default.createElement(Spacing_1.Spacing, { vertical: true, hasDivider: true, size: "tiny" })))));
|
|
40
|
+
}),
|
|
41
|
+
react_1.default.createElement(Toolbar_1.ToolbarSection, { canGrow: true, canShrink: true },
|
|
42
|
+
react_1.default.createElement(Spacing_1.Spacing, { vertical: true, size: "small" })),
|
|
43
|
+
react_1.default.createElement(Toolbar_1.ToolbarSection, { canShrink: true, hideOverflow: true },
|
|
44
|
+
react_1.default.createElement(Button_1.Button, { minimal: true, ellipsizeText: true, onClick: togglePreviewStatus, text: showPreview ? getTranslation("Continue editing") : getTranslation("Preview"), icon: showPreview ? "item-edit" : "item-viewdetails", disabled: disabled }))));
|
|
45
|
+
};
|
|
46
|
+
exports.MarkdownToolbar = MarkdownToolbar;
|
|
47
|
+
//# sourceMappingURL=markdown.toolbar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdown.toolbar.js","sourceRoot":"","sources":["../../../../../src/extensions/codemirror/toolbars/markdown.toolbar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/extensions/codemirror/types.ts"],"names":[],"mappings":""}
|