@ecodev/natural-editor 41.3.0 → 42.2.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/{esm2015/ecodev-natural-editor.js → esm2020/ecodev-natural-editor.mjs} +0 -0
- package/esm2020/lib/class-dialog/class-dialog.component.mjs +37 -0
- package/esm2020/lib/color-dialog/color-dialog.component.mjs +184 -0
- package/esm2020/lib/custom-css/custom-css.directive.mjs +71 -0
- package/esm2020/lib/editor/editor.component.mjs +213 -0
- package/esm2020/lib/editor.module.mjs +90 -0
- package/{esm2015/lib/link-dialog/link-dialog.component.js → esm2020/lib/link-dialog/link-dialog.component.mjs} +5 -8
- package/esm2020/lib/utils/image.mjs +81 -0
- package/{esm2015/lib/utils/inputrules.js → esm2020/lib/utils/inputrules.mjs} +0 -0
- package/esm2020/lib/utils/items/cell-background-color-item.mjs +55 -0
- package/esm2020/lib/utils/items/class-item.mjs +86 -0
- package/esm2020/lib/utils/items/horizontal-rule-item.mjs +24 -0
- package/esm2020/lib/utils/items/item.mjs +39 -0
- package/esm2020/lib/utils/items/link-item.mjs +40 -0
- package/esm2020/lib/utils/items/table-item.mjs +43 -0
- package/esm2020/lib/utils/items/text-align-item.mjs +78 -0
- package/esm2020/lib/utils/items/utils.mjs +41 -0
- package/esm2020/lib/utils/items/wrap-list-item.mjs +6 -0
- package/esm2020/lib/utils/keymap.mjs +115 -0
- package/esm2020/lib/utils/menu.mjs +101 -0
- package/esm2020/lib/utils/schema/paragraph-with-alignment.mjs +50 -0
- package/esm2020/lib/utils/schema/schema.mjs +51 -0
- package/esm2020/lib/utils/schema/table.mjs +113 -0
- package/esm2020/public-api.mjs +9 -0
- package/fesm2015/ecodev-natural-editor.mjs +1548 -0
- package/fesm2015/ecodev-natural-editor.mjs.map +1 -0
- package/fesm2020/ecodev-natural-editor.mjs +1546 -0
- package/fesm2020/ecodev-natural-editor.mjs.map +1 -0
- package/lib/class-dialog/class-dialog.component.d.ts +24 -0
- package/lib/color-dialog/color-dialog.component.d.ts +26 -0
- package/lib/custom-css/custom-css.directive.d.ts +29 -0
- package/lib/editor.module.d.ts +19 -16
- package/lib/utils/items/cell-background-color-item.d.ts +5 -0
- package/lib/utils/items/class-item.d.ts +6 -0
- package/lib/utils/items/horizontal-rule-item.d.ts +5 -0
- package/lib/utils/{item.d.ts → items/item.d.ts} +0 -0
- package/lib/utils/items/link-item.d.ts +6 -0
- package/lib/utils/items/table-item.d.ts +4 -0
- package/lib/utils/{text-align-item.d.ts → items/text-align-item.d.ts} +0 -0
- package/lib/utils/items/utils.d.ts +18 -0
- package/lib/utils/items/wrap-list-item.d.ts +3 -0
- package/lib/utils/menu.d.ts +2 -2
- package/lib/utils/schema/paragraph-with-alignment.d.ts +8 -0
- package/lib/utils/{schema.d.ts → schema/schema.d.ts} +0 -0
- package/lib/utils/schema/table.d.ts +9 -0
- package/package.json +22 -8
- package/public-api.d.ts +1 -0
- package/src/lib/editor/_editor.theme.scss +1 -1
- package/theming/_natural-editor.theme.scss +1 -1
- package/bundles/ecodev-natural-editor.umd.js +0 -1351
- package/bundles/ecodev-natural-editor.umd.js.map +0 -1
- package/esm2015/lib/editor/editor.component.js +0 -219
- package/esm2015/lib/editor.module.js +0 -82
- package/esm2015/lib/utils/image.js +0 -81
- package/esm2015/lib/utils/item.js +0 -39
- package/esm2015/lib/utils/keymap.js +0 -115
- package/esm2015/lib/utils/menu.js +0 -178
- package/esm2015/lib/utils/paragraph-with-alignment.js +0 -43
- package/esm2015/lib/utils/schema.js +0 -47
- package/esm2015/lib/utils/table.js +0 -37
- package/esm2015/lib/utils/text-align-item.js +0 -78
- package/esm2015/public-api.js +0 -8
- package/fesm2015/ecodev-natural-editor.js +0 -997
- package/fesm2015/ecodev-natural-editor.js.map +0 -1
- package/lib/utils/paragraph-with-alignment.d.ts +0 -2
- package/lib/utils/table.d.ts +0 -8
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { chainCommands, exitCode, joinDown, joinUp, lift, selectParentNode, setBlockType, toggleMark, wrapIn, } from 'prosemirror-commands';
|
|
2
|
+
import { liftListItem, sinkListItem, splitListItem, wrapInList } from 'prosemirror-schema-list';
|
|
3
|
+
import { redo, undo } from 'prosemirror-history';
|
|
4
|
+
import { undoInputRule } from 'prosemirror-inputrules';
|
|
5
|
+
/**
|
|
6
|
+
* Inspect the given schema looking for marks and nodes from the
|
|
7
|
+
* basic schema, and if found, add key bindings related to them.
|
|
8
|
+
* This will add:
|
|
9
|
+
*
|
|
10
|
+
* * **Mod-b** for toggling [strong](#schema-basic.StrongMark)
|
|
11
|
+
* * **Mod-i** for toggling [emphasis](#schema-basic.EmMark)
|
|
12
|
+
* * **Mod-`** for toggling [code font](#schema-basic.CodeMark)
|
|
13
|
+
* * **Ctrl-Shift-0** for making the current textblock a paragraph
|
|
14
|
+
* * **Ctrl-Shift-1** to **Ctrl-Shift-Digit6** for making the current
|
|
15
|
+
* textblock a heading of the corresponding level
|
|
16
|
+
* * **Ctrl-Shift-Backslash** to make the current textblock a code block
|
|
17
|
+
* * **Ctrl-Shift-8** to wrap the selection in an ordered list
|
|
18
|
+
* * **Ctrl-Shift-9** to wrap the selection in a bullet list
|
|
19
|
+
* * **Ctrl->** to wrap the selection in a block quote
|
|
20
|
+
* * **Enter** to split a non-empty textblock in a list item while at
|
|
21
|
+
* the same time splitting the list item
|
|
22
|
+
* * **Mod-Enter** to insert a hard break
|
|
23
|
+
* * **Mod-_** to insert a horizontal rule
|
|
24
|
+
* * **Backspace** to undo an input rule
|
|
25
|
+
* * **Alt-ArrowUp** to `joinUp`
|
|
26
|
+
* * **Alt-ArrowDown** to `joinDown`
|
|
27
|
+
* * **Mod-BracketLeft** to `lift`
|
|
28
|
+
* * **Escape** to `selectParentNode`
|
|
29
|
+
*
|
|
30
|
+
* You can suppress or map these bindings by passing a `mapKeys`
|
|
31
|
+
* argument, which maps key names (say `"Mod-B"` to either `false`, to
|
|
32
|
+
* remove the binding, or a new key name string.
|
|
33
|
+
*/
|
|
34
|
+
export function buildKeymap(schema, isMac) {
|
|
35
|
+
const keys = {};
|
|
36
|
+
keys['Mod-z'] = undo;
|
|
37
|
+
keys['Shift-Mod-z'] = redo;
|
|
38
|
+
keys['Backspace'] = undoInputRule;
|
|
39
|
+
if (!isMac) {
|
|
40
|
+
keys['Mod-y'] = redo;
|
|
41
|
+
}
|
|
42
|
+
keys['Alt-ArrowUp'] = joinUp;
|
|
43
|
+
keys['Alt-ArrowDown'] = joinDown;
|
|
44
|
+
keys['Mod-BracketLeft'] = lift;
|
|
45
|
+
keys['Escape'] = selectParentNode;
|
|
46
|
+
let type = schema.marks.strong;
|
|
47
|
+
if (type) {
|
|
48
|
+
keys['Mod-b'] = toggleMark(type);
|
|
49
|
+
keys['Mod-B'] = toggleMark(type);
|
|
50
|
+
}
|
|
51
|
+
type = schema.marks.em;
|
|
52
|
+
if (type) {
|
|
53
|
+
keys['Mod-i'] = toggleMark(type);
|
|
54
|
+
keys['Mod-I'] = toggleMark(type);
|
|
55
|
+
}
|
|
56
|
+
type = schema.marks.code;
|
|
57
|
+
if (type) {
|
|
58
|
+
keys['Mod-`'] = toggleMark(type);
|
|
59
|
+
}
|
|
60
|
+
type = schema.nodes.bullet_list;
|
|
61
|
+
if (type) {
|
|
62
|
+
keys['Shift-Ctrl-8'] = wrapInList(type);
|
|
63
|
+
}
|
|
64
|
+
type = schema.nodes.ordered_list;
|
|
65
|
+
if (type) {
|
|
66
|
+
keys['Shift-Ctrl-9'] = wrapInList(type);
|
|
67
|
+
}
|
|
68
|
+
type = schema.nodes.blockquote;
|
|
69
|
+
if (type) {
|
|
70
|
+
keys['Ctrl->'] = wrapIn(type);
|
|
71
|
+
}
|
|
72
|
+
type = schema.nodes.hard_break;
|
|
73
|
+
if (type) {
|
|
74
|
+
const br = type;
|
|
75
|
+
const cmd = chainCommands(exitCode, (state, dispatch) => {
|
|
76
|
+
dispatch?.(state.tr.replaceSelectionWith(br.create()).scrollIntoView());
|
|
77
|
+
return true;
|
|
78
|
+
});
|
|
79
|
+
keys['Mod-Enter'] = cmd;
|
|
80
|
+
keys['Shift-Enter'] = cmd;
|
|
81
|
+
if (isMac) {
|
|
82
|
+
keys['Ctrl-Enter'] = cmd;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
type = schema.nodes.list_item;
|
|
86
|
+
if (type) {
|
|
87
|
+
keys['Enter'] = splitListItem(type);
|
|
88
|
+
keys['Mod-['] = liftListItem(type);
|
|
89
|
+
keys['Mod-]'] = sinkListItem(type);
|
|
90
|
+
}
|
|
91
|
+
type = schema.nodes.paragraph;
|
|
92
|
+
if (type) {
|
|
93
|
+
keys['Shift-Ctrl-0'] = setBlockType(type);
|
|
94
|
+
}
|
|
95
|
+
type = schema.nodes.code_block;
|
|
96
|
+
if (type) {
|
|
97
|
+
keys['Shift-Ctrl-\\'] = setBlockType(type);
|
|
98
|
+
}
|
|
99
|
+
type = schema.nodes.heading;
|
|
100
|
+
if (type) {
|
|
101
|
+
for (let i = 1; i <= 6; i++) {
|
|
102
|
+
keys['Shift-Ctrl-' + i] = setBlockType(type, { level: i });
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
type = schema.nodes.horizontal_rule;
|
|
106
|
+
if (type) {
|
|
107
|
+
const hr = type;
|
|
108
|
+
keys['Mod-_'] = (state, dispatch) => {
|
|
109
|
+
dispatch?.(state.tr.replaceSelectionWith(hr.create()).scrollIntoView());
|
|
110
|
+
return true;
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
return keys;
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5bWFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC1lZGl0b3Ivc3JjL2xpYi91dGlscy9rZXltYXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILGFBQWEsRUFDYixRQUFRLEVBQ1IsUUFBUSxFQUNSLE1BQU0sRUFFTixJQUFJLEVBQ0osZ0JBQWdCLEVBQ2hCLFlBQVksRUFDWixVQUFVLEVBQ1YsTUFBTSxHQUNULE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzlGLE9BQU8sRUFBQyxJQUFJLEVBQUUsSUFBSSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBR3JEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNEJHO0FBQ0gsTUFBTSxVQUFVLFdBQVcsQ0FBQyxNQUFjLEVBQUUsS0FBYztJQUN0RCxNQUFNLElBQUksR0FBVyxFQUFFLENBQUM7SUFFeEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQztJQUNyQixJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsSUFBSSxDQUFDO0lBQzNCLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxhQUFhLENBQUM7SUFDbEMsSUFBSSxDQUFDLEtBQUssRUFBRTtRQUNSLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUM7S0FDeEI7SUFFRCxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsTUFBTSxDQUFDO0lBQzdCLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxRQUFRLENBQUM7SUFDakMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsSUFBSSxDQUFDO0lBQy9CLElBQUksQ0FBQyxRQUFRLENBQUMsR0FB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SSxDQUFDLGVBQWUsQ0FBQyxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUM5QztJQUVELElBQUksR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztJQUM1QixJQUFJLElBQUksRUFBRTtRQUNOLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDekIsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUMsR0FBRyxZQUFZLENBQUMsSUFBSSxFQUFFLEVBQUMsS0FBSyxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUM7U0FDNUQ7S0FDSjtJQUVELElBQUksR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQztJQUNwQyxJQUFJLElBQUksRUFBRTtRQUNOLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQztRQUNoQixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLEVBQUU7WUFDaEMsUUFBUSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO1lBQ3hFLE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUMsQ0FBQztLQUNMO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgY2hhaW5Db21tYW5kcyxcbiAgICBleGl0Q29kZSxcbiAgICBqb2luRG93bixcbiAgICBqb2luVXAsXG4gICAgS2V5bWFwLFxuICAgIGxpZnQsXG4gICAgc2VsZWN0UGFyZW50Tm9kZSxcbiAgICBzZXRCbG9ja1R5cGUsXG4gICAgdG9nZ2xlTWFyayxcbiAgICB3cmFwSW4sXG59IGZyb20gJ3Byb3NlbWlycm9yLWNvbW1hbmRzJztcbmltcG9ydCB7bGlmdExpc3RJdGVtLCBzaW5rTGlzdEl0ZW0sIHNwbGl0TGlzdEl0ZW0sIHdyYXBJbkxpc3R9IGZyb20gJ3Byb3NlbWlycm9yLXNjaGVtYS1saXN0JztcbmltcG9ydCB7cmVkbywgdW5kb30gZnJvbSAncHJvc2VtaXJyb3ItaGlzdG9yeSc7XG5pbXBvcnQge3VuZG9JbnB1dFJ1bGV9IGZyb20gJ3Byb3NlbWlycm9yLWlucHV0cnVsZXMnO1xuaW1wb3J0IHtNYXJrVHlwZSwgTm9kZVR5cGUsIFNjaGVtYX0gZnJvbSAncHJvc2VtaXJyb3ItbW9kZWwnO1xuXG4vKipcbiAqIEluc3BlY3QgdGhlIGdpdmVuIHNjaGVtYSBsb29raW5nIGZvciBtYXJrcyBhbmQgbm9kZXMgZnJvbSB0aGVcbiAqIGJhc2ljIHNjaGVtYSwgYW5kIGlmIGZvdW5kLCBhZGQga2V5IGJpbmRpbmdzIHJlbGF0ZWQgdG8gdGhlbS5cbiAqIFRoaXMgd2lsbCBhZGQ6XG4gKlxuICogKiAqKk1vZC1iKiogZm9yIHRvZ2dsaW5nIFtzdHJvbmddKCNzY2hlbWEtYmFzaWMuU3Ryb25nTWFyaylcbiAqICogKipNb2QtaSoqIGZvciB0b2dnbGluZyBbZW1waGFzaXNdKCNzY2hlbWEtYmFzaWMuRW1NYXJrKVxuICogKiAqKk1vZC1gKiogZm9yIHRvZ2dsaW5nIFtjb2RlIGZvbnRdKCNzY2hlbWEtYmFzaWMuQ29kZU1hcmspXG4gKiAqICoqQ3RybC1TaGlmdC0wKiogZm9yIG1ha2luZyB0aGUgY3VycmVudCB0ZXh0YmxvY2sgYSBwYXJhZ3JhcGhcbiAqICogKipDdHJsLVNoaWZ0LTEqKiB0byAqKkN0cmwtU2hpZnQtRGlnaXQ2KiogZm9yIG1ha2luZyB0aGUgY3VycmVudFxuICogICB0ZXh0YmxvY2sgYSBoZWFkaW5nIG9mIHRoZSBjb3JyZXNwb25kaW5nIGxldmVsXG4gKiAqICoqQ3RybC1TaGlmdC1CYWNrc2xhc2gqKiB0byBtYWtlIHRoZSBjdXJyZW50IHRleHRibG9jayBhIGNvZGUgYmxvY2tcbiAqICogKipDdHJsLVNoaWZ0LTgqKiB0byB3cmFwIHRoZSBzZWxlY3Rpb24gaW4gYW4gb3JkZXJlZCBsaXN0XG4gKiAqICoqQ3RybC1TaGlmdC05KiogdG8gd3JhcCB0aGUgc2VsZWN0aW9uIGluIGEgYnVsbGV0IGxpc3RcbiAqICogKipDdHJsLT4qKiB0byB3cmFwIHRoZSBzZWxlY3Rpb24gaW4gYSBibG9jayBxdW90ZVxuICogKiAqKkVudGVyKiogdG8gc3BsaXQgYSBub24tZW1wdHkgdGV4dGJsb2NrIGluIGEgbGlzdCBpdGVtIHdoaWxlIGF0XG4gKiAgIHRoZSBzYW1lIHRpbWUgc3BsaXR0aW5nIHRoZSBsaXN0IGl0ZW1cbiAqICogKipNb2QtRW50ZXIqKiB0byBpbnNlcnQgYSBoYXJkIGJyZWFrXG4gKiAqICoqTW9kLV8qKiB0byBpbnNlcnQgYSBob3Jpem9udGFsIHJ1bGVcbiAqICogKipCYWNrc3BhY2UqKiB0byB1bmRvIGFuIGlucHV0IHJ1bGVcbiAqICogKipBbHQtQXJyb3dVcCoqIHRvIGBqb2luVXBgXG4gKiAqICoqQWx0LUFycm93RG93bioqIHRvIGBqb2luRG93bmBcbiAqICogKipNb2QtQnJhY2tldExlZnQqKiB0byBgbGlmdGBcbiAqICogKipFc2NhcGUqKiB0byBgc2VsZWN0UGFyZW50Tm9kZWBcbiAqXG4gKiBZb3UgY2FuIHN1cHByZXNzIG9yIG1hcCB0aGVzZSBiaW5kaW5ncyBieSBwYXNzaW5nIGEgYG1hcEtleXNgXG4gKiBhcmd1bWVudCwgd2hpY2ggbWFwcyBrZXkgbmFtZXMgKHNheSBgXCJNb2QtQlwiYCB0byBlaXRoZXIgYGZhbHNlYCwgdG9cbiAqIHJlbW92ZSB0aGUgYmluZGluZywgb3IgYSBuZXcga2V5IG5hbWUgc3RyaW5nLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRLZXltYXAoc2NoZW1hOiBTY2hlbWEsIGlzTWFjOiBib29sZWFuKTogS2V5bWFwIHtcbiAgICBjb25zdCBrZXlzOiBLZXltYXAgPSB7fTtcblxuICAgIGtleXNbJ01vZC16J10gPSB1bmRvO1xuICAgIGtleXNbJ1NoaWZ0LU1vZC16J10gPSByZWRvO1xuICAgIGtleXNbJ0JhY2tzcGFjZSddID0gdW5kb0lucHV0UnVsZTtcbiAgICBpZiAoIWlzTWFjKSB7XG4gICAgICAgIGtleXNbJ01vZC15J10gPSByZWRvO1xuICAgIH1cblxuICAgIGtleXNbJ0FsdC1BcnJvd1VwJ10gPSBqb2luVXA7XG4gICAga2V5c1snQWx0LUFycm93RG93biddID0gam9pbkRvd247XG4gICAga2V5c1snTW9kLUJyYWNrZXRMZWZ0J10gPSBsaWZ0O1xuICAgIGtleXNbJ0VzY2FwZSddID0gc2VsZWN0UGFyZW50Tm9kZTtcblxuICAgIGxldCB0eXBlOiBNYXJrVHlwZSB8IE5vZGVUeXBlID0gc2NoZW1hLm1hcmtzLnN0cm9uZztcbiAgICBpZiAodHlwZSkge1xuICAgICAgICBrZXlzWydNb2QtYiddID0gdG9nZ2xlTWFyayh0eXBlKTtcbiAgICAgICAga2V5c1snTW9kLUInXSA9IHRvZ2dsZU1hcmsodHlwZSk7XG4gICAgfVxuXG4gICAgdHlwZSA9IHNjaGVtYS5tYXJrcy5lbTtcbiAgICBpZiAodHlwZSkge1xuICAgICAgICBrZXlzWydNb2QtaSddID0gdG9nZ2xlTWFyayh0eXBlKTtcbiAgICAgICAga2V5c1snTW9kLUknXSA9IHRvZ2dsZU1hcmsodHlwZSk7XG4gICAgfVxuXG4gICAgdHlwZSA9IHNjaGVtYS5tYXJrcy5jb2RlO1xuICAgIGlmICh0eXBlKSB7XG4gICAgICAgIGtleXNbJ01vZC1gJ10gPSB0b2dnbGVNYXJrKHR5cGUpO1xuICAgIH1cblxuICAgIHR5cGUgPSBzY2hlbWEubm9kZXMuYnVsbGV0X2xpc3Q7XG4gICAgaWYgKHR5cGUpIHtcbiAgICAgICAga2V5c1snU2hpZnQtQ3RybC04J10gPSB3cmFwSW5MaXN0KHR5cGUpO1xuICAgIH1cblxuICAgIHR5cGUgPSBzY2hlbWEubm9kZXMub3JkZXJlZF9saXN0O1xuICAgIGlmICh0eXBlKSB7XG4gICAgICAgIGtleXNbJ1NoaWZ0LUN0cmwtOSddID0gd3JhcEluTGlzdCh0eXBlKTtcbiAgICB9XG5cbiAgICB0eXBlID0gc2NoZW1hLm5vZGVzLmJsb2NrcXVvdGU7XG4gICAgaWYgKHR5cGUpIHtcbiAgICAgICAga2V5c1snQ3RybC0+J10gPSB3cmFwSW4odHlwZSk7XG4gICAgfVxuXG4gICAgdHlwZSA9IHNjaGVtYS5ub2Rlcy5oYXJkX2JyZWFrO1xuICAgIGlmICh0eXBlKSB7XG4gICAgICAgIGNvbnN0IGJyID0gdHlwZTtcbiAgICAgICAgY29uc3QgY21kID0gY2hhaW5Db21tYW5kcyhleGl0Q29kZSwgKHN0YXRlLCBkaXNwYXRjaCkgPT4ge1xuICAgICAgICAgICAgZGlzcGF0Y2g/LihzdGF0ZS50ci5yZXBsYWNlU2VsZWN0aW9uV2l0aChici5jcmVhdGUoKSkuc2Nyb2xsSW50b1ZpZXcoKSk7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSk7XG4gICAgICAgIGtleXNbJ01vZC1FbnRlciddID0gY21kO1xuICAgICAgICBrZXlzWydTaGlmdC1FbnRlciddID0gY21kO1xuICAgICAgICBpZiAoaXNNYWMpIHtcbiAgICAgICAgICAgIGtleXNbJ0N0cmwtRW50ZXInXSA9IGNtZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHR5cGUgPSBzY2hlbWEubm9kZXMubGlzdF9pdGVtO1xuICAgIGlmICh0eXBlKSB7XG4gICAgICAgIGtleXNbJ0VudGVyJ10gPSBzcGxpdExpc3RJdGVtKHR5cGUpO1xuICAgICAgICBrZXlzWydNb2QtWyddID0gbGlmdExpc3RJdGVtKHR5cGUpO1xuICAgICAgICBrZXlzWydNb2QtXSddID0gc2lua0xpc3RJdGVtKHR5cGUpO1xuICAgIH1cblxuICAgIHR5cGUgPSBzY2hlbWEubm9kZXMucGFyYWdyYXBoO1xuICAgIGlmICh0eXBlKSB7XG4gICAgICAgIGtleXNbJ1NoaWZ0LUN0cmwtMCddID0gc2V0QmxvY2tUeXBlKHR5cGUpO1xuICAgIH1cblxuICAgIHR5cGUgPSBzY2hlbWEubm9kZXMuY29kZV9ibG9jaztcbiAgICBpZiAodHlwZSkge1xuICAgICAgICBrZXlzWydTaGlmdC1DdHJsLVxcXFwnXSA9IHNldEJsb2NrVHlwZSh0eXBlKTtcbiAgICB9XG5cbiAgICB0eXBlID0gc2NoZW1hLm5vZGVzLmhlYWRpbmc7XG4gICAgaWYgKHR5cGUpIHtcbiAgICAgICAgZm9yIChsZXQgaSA9IDE7IGkgPD0gNjsgaSsrKSB7XG4gICAgICAgICAgICBrZXlzWydTaGlmdC1DdHJsLScgKyBpXSA9IHNldEJsb2NrVHlwZSh0eXBlLCB7bGV2ZWw6IGl9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHR5cGUgPSBzY2hlbWEubm9kZXMuaG9yaXpvbnRhbF9ydWxlO1xuICAgIGlmICh0eXBlKSB7XG4gICAgICAgIGNvbnN0IGhyID0gdHlwZTtcbiAgICAgICAga2V5c1snTW9kLV8nXSA9IChzdGF0ZSwgZGlzcGF0Y2gpID0+IHtcbiAgICAgICAgICAgIGRpc3BhdGNoPy4oc3RhdGUudHIucmVwbGFjZVNlbGVjdGlvbldpdGgoaHIuY3JlYXRlKCkpLnNjcm9sbEludG9WaWV3KCkpO1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIGtleXM7XG59XG4iXX0=
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { blockTypeItem, joinUpItem, liftItem, redoItem, selectParentNodeItem, undoItem, wrapItem, } from 'prosemirror-menu';
|
|
2
|
+
import { addColumnAfter, addColumnBefore, addRowAfter, addRowBefore, deleteColumn, deleteRow, deleteTable, mergeCells, splitCell, toggleHeaderCell, toggleHeaderColumn, toggleHeaderRow, } from 'prosemirror-tables';
|
|
3
|
+
import { paragraphWithAlignment } from './schema/paragraph-with-alignment';
|
|
4
|
+
import { TextAlignItem } from './items/text-align-item';
|
|
5
|
+
import { CellBackgroundColorItem } from './items/cell-background-color-item';
|
|
6
|
+
import { LinkItem } from './items/link-item';
|
|
7
|
+
import { HorizontalRuleItem } from './items/horizontal-rule-item';
|
|
8
|
+
import { cmdToItem, markTypeToItem, menuItemToItem } from './items/utils';
|
|
9
|
+
import { wrapListItem } from './items/wrap-list-item';
|
|
10
|
+
import { ClassItem } from './items/class-item';
|
|
11
|
+
import { AddTableItem } from './items/table-item';
|
|
12
|
+
/**
|
|
13
|
+
* Given a schema, look for default mark and node types in it and
|
|
14
|
+
* return an object with relevant menu items relating to those marks:
|
|
15
|
+
*/
|
|
16
|
+
export function buildMenuItems(schema, dialog) {
|
|
17
|
+
const r = {
|
|
18
|
+
joinUp: menuItemToItem(joinUpItem),
|
|
19
|
+
lift: menuItemToItem(liftItem),
|
|
20
|
+
selectParentNode: menuItemToItem(selectParentNodeItem),
|
|
21
|
+
undo: menuItemToItem(undoItem),
|
|
22
|
+
redo: menuItemToItem(redoItem),
|
|
23
|
+
};
|
|
24
|
+
let type;
|
|
25
|
+
type = schema.marks.strong;
|
|
26
|
+
if (type) {
|
|
27
|
+
r.toggleStrong = markTypeToItem(type);
|
|
28
|
+
}
|
|
29
|
+
type = schema.marks.em;
|
|
30
|
+
if (type) {
|
|
31
|
+
r.toggleEm = markTypeToItem(type);
|
|
32
|
+
}
|
|
33
|
+
type = schema.marks.code;
|
|
34
|
+
if (type) {
|
|
35
|
+
r.toggleCode = markTypeToItem(type);
|
|
36
|
+
}
|
|
37
|
+
type = schema.marks.link;
|
|
38
|
+
if (type) {
|
|
39
|
+
r.toggleLink = new LinkItem(type, dialog);
|
|
40
|
+
}
|
|
41
|
+
type = schema.nodes.bullet_list;
|
|
42
|
+
if (type) {
|
|
43
|
+
r.wrapBulletList = wrapListItem(type);
|
|
44
|
+
}
|
|
45
|
+
type = schema.nodes.ordered_list;
|
|
46
|
+
if (type) {
|
|
47
|
+
r.wrapOrderedList = wrapListItem(type);
|
|
48
|
+
}
|
|
49
|
+
type = schema.nodes.blockquote;
|
|
50
|
+
if (type) {
|
|
51
|
+
r.wrapBlockQuote = menuItemToItem(wrapItem(type, {}));
|
|
52
|
+
}
|
|
53
|
+
type = schema.nodes.paragraph;
|
|
54
|
+
if (type) {
|
|
55
|
+
r.makeParagraph = menuItemToItem(blockTypeItem(type, {}));
|
|
56
|
+
if (type.spec === paragraphWithAlignment) {
|
|
57
|
+
r.alignLeft = new TextAlignItem('left');
|
|
58
|
+
r.alignRight = new TextAlignItem('right');
|
|
59
|
+
r.alignCenter = new TextAlignItem('center');
|
|
60
|
+
r.alignJustify = new TextAlignItem('justify');
|
|
61
|
+
r.paragraphClass = new ClassItem(dialog, type);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
type = schema.nodes.code_block;
|
|
65
|
+
if (type) {
|
|
66
|
+
r.makeCodeBlock = menuItemToItem(blockTypeItem(type, {}));
|
|
67
|
+
}
|
|
68
|
+
type = schema.nodes.heading;
|
|
69
|
+
if (type) {
|
|
70
|
+
r.makeHead1 = menuItemToItem(blockTypeItem(type, { attrs: { level: 1 } }));
|
|
71
|
+
r.makeHead2 = menuItemToItem(blockTypeItem(type, { attrs: { level: 2 } }));
|
|
72
|
+
r.makeHead3 = menuItemToItem(blockTypeItem(type, { attrs: { level: 3 } }));
|
|
73
|
+
r.makeHead4 = menuItemToItem(blockTypeItem(type, { attrs: { level: 4 } }));
|
|
74
|
+
r.makeHead5 = menuItemToItem(blockTypeItem(type, { attrs: { level: 5 } }));
|
|
75
|
+
r.makeHead6 = menuItemToItem(blockTypeItem(type, { attrs: { level: 6 } }));
|
|
76
|
+
}
|
|
77
|
+
type = schema.nodes.horizontal_rule;
|
|
78
|
+
if (type) {
|
|
79
|
+
r.insertHorizontalRule = new HorizontalRuleItem(type);
|
|
80
|
+
}
|
|
81
|
+
type = schema.nodes.table;
|
|
82
|
+
if (type) {
|
|
83
|
+
r.insertTable = new AddTableItem();
|
|
84
|
+
r.addColumnBefore = cmdToItem(addColumnBefore);
|
|
85
|
+
r.addColumnAfter = cmdToItem(addColumnAfter);
|
|
86
|
+
r.deleteColumn = cmdToItem(deleteColumn);
|
|
87
|
+
r.addRowBefore = cmdToItem(addRowBefore);
|
|
88
|
+
r.addRowAfter = cmdToItem(addRowAfter);
|
|
89
|
+
r.deleteRow = cmdToItem(deleteRow);
|
|
90
|
+
r.deleteTable = cmdToItem(deleteTable);
|
|
91
|
+
r.mergeCells = cmdToItem(mergeCells);
|
|
92
|
+
r.splitCell = cmdToItem(splitCell);
|
|
93
|
+
r.toggleHeaderColumn = cmdToItem(toggleHeaderColumn);
|
|
94
|
+
r.toggleHeaderRow = cmdToItem(toggleHeaderRow);
|
|
95
|
+
r.toggleHeaderCell = cmdToItem(toggleHeaderCell);
|
|
96
|
+
r.cellBackgroundColor = new CellBackgroundColorItem(dialog);
|
|
97
|
+
r.tableClass = new ClassItem(dialog, type);
|
|
98
|
+
}
|
|
99
|
+
return r;
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwtZWRpdG9yL3NyYy9saWIvdXRpbHMvbWVudS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsYUFBYSxFQUNiLFVBQVUsRUFDVixRQUFRLEVBRVIsUUFBUSxFQUNSLG9CQUFvQixFQUNwQixRQUFRLEVBQ1IsUUFBUSxHQUNYLE1BQU0sa0JBQWtCLENBQUM7QUFHMUIsT0FBTyxFQUNILGNBQWMsRUFDZCxlQUFlLEVBQ2YsV0FBVyxFQUNYLFlBQVksRUFDWixZQUFZLEVBQ1osU0FBUyxFQUNULFdBQVcsRUFDWCxVQUFVLEVBQ1YsU0FBUyxFQUNULGdCQUFnQixFQUNoQixrQkFBa0IsRUFDbEIsZUFBZSxHQUNsQixNQUFNLG9CQUFvQixDQUFDO0FBRTVCLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN0RCxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUMzRSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDM0MsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFDLFNBQVMsRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNwRCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDN0MsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBK0NoRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsY0FBYyxDQUFDLE1BQWMsRUFBRSxNQUFpQjtJQUM1RCxNQUFNLENBQUMsR0FBYztRQUNqQixNQUFNLEVBQUUsY0FBYyxDQUFDLFVBQVUsQ0FBQztRQUNsQyxJQUFJLEVBQUUsY0FBYyxDQUFDLFFBQVEsQ0FBQztRQUM5QixnQkFBZ0IsRUFBRSxjQUFjLENBQUMsb0JBQW9CLENBQUM7UUFDdEQsSUFBSSxFQUFFLGNBQWMsQ0FBQyxRQUErQixDQUFDO1FBQ3JELElBQUksRUFBRSxjQUFjLENBQUMsUUFBK0IsQ0FBQztLQUN4RCxDQUFDO0lBRUYsSUFBSSxJQUFxQyxDQUFDO0lBQzFDLElBQUksR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUMzQixJQUFJLElBQUksRUFBRTtRQUNOLENBQUMsQ0FBQyxZQUFZLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ3pDO0lBRUQsSUFBSSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO0lBQ3ZCLElBQUksSUFBSSxFQUFFO1FBQ04sQ0FBQyxDQUFDLFFBQVEsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDckM7SUFFRCxJQUFJLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7SUFDekIsSUFBSSxJQUFJLEVBQUU7UUFDTixDQUFDLENBQUMsVUFBVSxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUN2QztJQUVELElBQUksR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztJQUN6QixJQUFJLElBQUksRUFBRTtRQUNOLENBQUMsQ0FBQyxVQUFVLEdBQUcsSUFBSSxRQUFRLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0tBQzdDO0lBRUQsSUFBSSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDO0lBQ2hDLElBQUksSUFBSSxFQUFFO1FBQ04sQ0FBQyxDQUFDLGNBQWMsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDekM7SUFFRCxJQUFJLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUM7SUFDakMsSUFBSSxJQUFJLEVBQUU7UUFDTixDQUFDLENBQUMsZUFBZSxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUMxQztJQUVELElBQUksR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQztJQUMvQixJQUFJLElBQUksRUFBRTtRQUNOLENBQUMsQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztLQUN6RDtJQUVELElBQUksR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQztJQUM5QixJQUFJLElBQUksRUFBRTtRQUNOLENBQUMsQ0FBQyxhQUFhLEdBQUcsY0FBYyxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUUxRCxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssc0JBQXNCLEVBQUU7WUFDdEMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxJQUFJLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN4QyxDQUFDLENBQUMsVUFBVSxHQUFHLElBQUksYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzFDLENBQUMsQ0FBQyxXQUFXLEdBQUcsSUFBSSxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDNUMsQ0FBQyxDQUFDLFlBQVksR0FBRyxJQUFJLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUM5QyxDQUFDLENBQUMsY0FBYyxHQUFHLElBQUksU0FBUyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztTQUNsRDtLQUNKO0lBRUQsSUFBSSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDO0lBQy9CLElBQUksSUFBSSxFQUFFO1FBQ04sQ0FBQyxDQUFDLGFBQWEsR0FBRyxjQUFjLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0tBQzdEO0lBRUQsSUFBSSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO0lBQzVCLElBQUksSUFBSSxFQUFFO1FBQ04sQ0FBQyxDQUFDLFNBQVMsR0FBRyxjQUFjLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxFQUFDLEtBQUssRUFBRSxFQUFDLEtBQUssRUFBRSxDQUFDLEVBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQztRQUN2RSxDQUFDLENBQUMsU0FBUyxHQUFHLGNBQWMsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLEVBQUMsS0FBSyxFQUFFLEVBQUMsS0FBSyxFQUFFLENBQUMsRUFBQyxFQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZFLENBQUMsQ0FBQyxTQUFTLEdBQUcsY0FBYyxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsRUFBQyxLQUFLLEVBQUUsRUFBQyxLQUFLLEVBQUUsQ0FBQyxFQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkUsQ0FBQyxDQUFDLFNBQVMsR0FBRyxjQUFjLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxFQUFDLEtBQUssRUFBRSxFQUFDLEtBQUssRUFBRSxDQUFDLEVBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQztRQUN2RSxDQUFDLENBQUMsU0FBUyxHQUFHLGNBQWMsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLEVBQUMsS0FBSyxFQUFFLEVBQUMsS0FBSyxFQUFFLENBQUMsRUFBQyxFQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZFLENBQUMsQ0FBQyxTQUFTLEdBQUcsY0FBYyxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsRUFBQyxLQUFLLEVBQUUsRUFBQyxLQUFLLEVBQUUsQ0FBQyxFQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUM7S0FDMUU7SUFFRCxJQUFJLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUM7SUFDcEMsSUFBSSxJQUFJLEVBQUU7UUFDTixDQUFDLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUN6RDtJQUVELElBQUksR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztJQUMxQixJQUFJLElBQUksRUFBRTtRQUNOLENBQUMsQ0FBQyxXQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNuQyxDQUFDLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMvQyxDQUFDLENBQUMsY0FBYyxHQUFHLFNBQVMsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUM3QyxDQUFDLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN6QyxDQUFDLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN6QyxDQUFDLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN2QyxDQUFDLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNuQyxDQUFDLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN2QyxDQUFDLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNuQyxDQUFDLENBQUMsa0JBQWtCLEdBQUcsU0FBUyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDckQsQ0FBQyxDQUFDLGVBQWUsR0FBRyxTQUFTLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDL0MsQ0FBQyxDQUFDLGdCQUFnQixHQUFHLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2pELENBQUMsQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVELENBQUMsQ0FBQyxVQUFVLEdBQUcsSUFBSSxTQUFTLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0tBQzlDO0lBRUQsT0FBTyxDQUFDLENBQUM7QUFDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBibG9ja1R5cGVJdGVtLFxuICAgIGpvaW5VcEl0ZW0sXG4gICAgbGlmdEl0ZW0sXG4gICAgTWVudUl0ZW0sXG4gICAgcmVkb0l0ZW0sXG4gICAgc2VsZWN0UGFyZW50Tm9kZUl0ZW0sXG4gICAgdW5kb0l0ZW0sXG4gICAgd3JhcEl0ZW0sXG59IGZyb20gJ3Byb3NlbWlycm9yLW1lbnUnO1xuaW1wb3J0IHtNYXJrVHlwZSwgTm9kZVR5cGUsIFNjaGVtYX0gZnJvbSAncHJvc2VtaXJyb3ItbW9kZWwnO1xuaW1wb3J0IHtNYXREaWFsb2d9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQge1xuICAgIGFkZENvbHVtbkFmdGVyLFxuICAgIGFkZENvbHVtbkJlZm9yZSxcbiAgICBhZGRSb3dBZnRlcixcbiAgICBhZGRSb3dCZWZvcmUsXG4gICAgZGVsZXRlQ29sdW1uLFxuICAgIGRlbGV0ZVJvdyxcbiAgICBkZWxldGVUYWJsZSxcbiAgICBtZXJnZUNlbGxzLFxuICAgIHNwbGl0Q2VsbCxcbiAgICB0b2dnbGVIZWFkZXJDZWxsLFxuICAgIHRvZ2dsZUhlYWRlckNvbHVtbixcbiAgICB0b2dnbGVIZWFkZXJSb3csXG59IGZyb20gJ3Byb3NlbWlycm9yLXRhYmxlcyc7XG5pbXBvcnQge0l0ZW19IGZyb20gJy4vaXRlbXMvaXRlbSc7XG5pbXBvcnQge3BhcmFncmFwaFdpdGhBbGlnbm1lbnR9IGZyb20gJy4vc2NoZW1hL3BhcmFncmFwaC13aXRoLWFsaWdubWVudCc7XG5pbXBvcnQge1RleHRBbGlnbkl0ZW19IGZyb20gJy4vaXRlbXMvdGV4dC1hbGlnbi1pdGVtJztcbmltcG9ydCB7Q2VsbEJhY2tncm91bmRDb2xvckl0ZW19IGZyb20gJy4vaXRlbXMvY2VsbC1iYWNrZ3JvdW5kLWNvbG9yLWl0ZW0nO1xuaW1wb3J0IHtMaW5rSXRlbX0gZnJvbSAnLi9pdGVtcy9saW5rLWl0ZW0nO1xuaW1wb3J0IHtIb3Jpem9udGFsUnVsZUl0ZW19IGZyb20gJy4vaXRlbXMvaG9yaXpvbnRhbC1ydWxlLWl0ZW0nO1xuaW1wb3J0IHtjbWRUb0l0ZW0sIG1hcmtUeXBlVG9JdGVtLCBtZW51SXRlbVRvSXRlbX0gZnJvbSAnLi9pdGVtcy91dGlscyc7XG5pbXBvcnQge3dyYXBMaXN0SXRlbX0gZnJvbSAnLi9pdGVtcy93cmFwLWxpc3QtaXRlbSc7XG5pbXBvcnQge0NsYXNzSXRlbX0gZnJvbSAnLi9pdGVtcy9jbGFzcy1pdGVtJztcbmltcG9ydCB7QWRkVGFibGVJdGVtfSBmcm9tICcuL2l0ZW1zL3RhYmxlLWl0ZW0nO1xuXG5leHBvcnQgdHlwZSBLZXkgPVxuICAgIHwgJ3RvZ2dsZVN0cm9uZydcbiAgICB8ICd0b2dnbGVFbSdcbiAgICB8ICd0b2dnbGVDb2RlJ1xuICAgIHwgJ3RvZ2dsZUxpbmsnXG4gICAgfCAnd3JhcEJ1bGxldExpc3QnXG4gICAgfCAnd3JhcE9yZGVyZWRMaXN0J1xuICAgIHwgJ3dyYXBCbG9ja1F1b3RlJ1xuICAgIHwgJ21ha2VQYXJhZ3JhcGgnXG4gICAgfCAnbWFrZUNvZGVCbG9jaydcbiAgICB8ICdtYWtlSGVhZDEnXG4gICAgfCAnbWFrZUhlYWQyJ1xuICAgIHwgJ21ha2VIZWFkMydcbiAgICB8ICdtYWtlSGVhZDQnXG4gICAgfCAnbWFrZUhlYWQ1J1xuICAgIHwgJ21ha2VIZWFkNidcbiAgICB8ICdhbGlnbkxlZnQnXG4gICAgfCAnYWxpZ25SaWdodCdcbiAgICB8ICdhbGlnbkNlbnRlcidcbiAgICB8ICdhbGlnbkp1c3RpZnknXG4gICAgfCAnaW5zZXJ0SG9yaXpvbnRhbFJ1bGUnXG4gICAgfCAnam9pblVwJ1xuICAgIHwgJ2xpZnQnXG4gICAgfCAnc2VsZWN0UGFyZW50Tm9kZSdcbiAgICB8ICd1bmRvJ1xuICAgIHwgJ3JlZG8nXG4gICAgfCAnaW5zZXJ0VGFibGUnXG4gICAgfCAnYWRkQ29sdW1uQmVmb3JlJ1xuICAgIHwgJ2FkZENvbHVtbkFmdGVyJ1xuICAgIHwgJ2RlbGV0ZUNvbHVtbidcbiAgICB8ICdhZGRSb3dCZWZvcmUnXG4gICAgfCAnYWRkUm93QWZ0ZXInXG4gICAgfCAnZGVsZXRlUm93J1xuICAgIHwgJ2RlbGV0ZVRhYmxlJ1xuICAgIHwgJ21lcmdlQ2VsbHMnXG4gICAgfCAnc3BsaXRDZWxsJ1xuICAgIHwgJ3RvZ2dsZUhlYWRlckNvbHVtbidcbiAgICB8ICd0b2dnbGVIZWFkZXJSb3cnXG4gICAgfCAndG9nZ2xlSGVhZGVyQ2VsbCdcbiAgICB8ICdjZWxsQmFja2dyb3VuZENvbG9yJ1xuICAgIHwgJ3RhYmxlQ2xhc3MnXG4gICAgfCAncGFyYWdyYXBoQ2xhc3MnO1xuXG5leHBvcnQgdHlwZSBNZW51SXRlbXMgPSBQYXJ0aWFsPFJlY29yZDxLZXksIEl0ZW0+PjtcblxuLyoqXG4gKiBHaXZlbiBhIHNjaGVtYSwgbG9vayBmb3IgZGVmYXVsdCBtYXJrIGFuZCBub2RlIHR5cGVzIGluIGl0IGFuZFxuICogcmV0dXJuIGFuIG9iamVjdCB3aXRoIHJlbGV2YW50IG1lbnUgaXRlbXMgcmVsYXRpbmcgdG8gdGhvc2UgbWFya3M6XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZE1lbnVJdGVtcyhzY2hlbWE6IFNjaGVtYSwgZGlhbG9nOiBNYXREaWFsb2cpOiBNZW51SXRlbXMge1xuICAgIGNvbnN0IHI6IE1lbnVJdGVtcyA9IHtcbiAgICAgICAgam9pblVwOiBtZW51SXRlbVRvSXRlbShqb2luVXBJdGVtKSxcbiAgICAgICAgbGlmdDogbWVudUl0ZW1Ub0l0ZW0obGlmdEl0ZW0pLFxuICAgICAgICBzZWxlY3RQYXJlbnROb2RlOiBtZW51SXRlbVRvSXRlbShzZWxlY3RQYXJlbnROb2RlSXRlbSksXG4gICAgICAgIHVuZG86IG1lbnVJdGVtVG9JdGVtKHVuZG9JdGVtIGFzIHVua25vd24gYXMgTWVudUl0ZW0pLCAvLyBUeXBpbmcgaXMgaW5jb3JyZWN0LCBzbyB3ZSBmb3JjZSBpdFxuICAgICAgICByZWRvOiBtZW51SXRlbVRvSXRlbShyZWRvSXRlbSBhcyB1bmtub3duIGFzIE1lbnVJdGVtKSxcbiAgICB9O1xuXG4gICAgbGV0IHR5cGU6IE1hcmtUeXBlIHwgTm9kZVR5cGUgfCB1bmRlZmluZWQ7XG4gICAgdHlwZSA9IHNjaGVtYS5tYXJrcy5zdHJvbmc7XG4gICAgaWYgKHR5cGUpIHtcbiAgICAgICAgci50b2dnbGVTdHJvbmcgPSBtYXJrVHlwZVRvSXRlbSh0eXBlKTtcbiAgICB9XG5cbiAgICB0eXBlID0gc2NoZW1hLm1hcmtzLmVtO1xuICAgIGlmICh0eXBlKSB7XG4gICAgICAgIHIudG9nZ2xlRW0gPSBtYXJrVHlwZVRvSXRlbSh0eXBlKTtcbiAgICB9XG5cbiAgICB0eXBlID0gc2NoZW1hLm1hcmtzLmNvZGU7XG4gICAgaWYgKHR5cGUpIHtcbiAgICAgICAgci50b2dnbGVDb2RlID0gbWFya1R5cGVUb0l0ZW0odHlwZSk7XG4gICAgfVxuXG4gICAgdHlwZSA9IHNjaGVtYS5tYXJrcy5saW5rO1xuICAgIGlmICh0eXBlKSB7XG4gICAgICAgIHIudG9nZ2xlTGluayA9IG5ldyBMaW5rSXRlbSh0eXBlLCBkaWFsb2cpO1xuICAgIH1cblxuICAgIHR5cGUgPSBzY2hlbWEubm9kZXMuYnVsbGV0X2xpc3Q7XG4gICAgaWYgKHR5cGUpIHtcbiAgICAgICAgci53cmFwQnVsbGV0TGlzdCA9IHdyYXBMaXN0SXRlbSh0eXBlKTtcbiAgICB9XG5cbiAgICB0eXBlID0gc2NoZW1hLm5vZGVzLm9yZGVyZWRfbGlzdDtcbiAgICBpZiAodHlwZSkge1xuICAgICAgICByLndyYXBPcmRlcmVkTGlzdCA9IHdyYXBMaXN0SXRlbSh0eXBlKTtcbiAgICB9XG5cbiAgICB0eXBlID0gc2NoZW1hLm5vZGVzLmJsb2NrcXVvdGU7XG4gICAgaWYgKHR5cGUpIHtcbiAgICAgICAgci53cmFwQmxvY2tRdW90ZSA9IG1lbnVJdGVtVG9JdGVtKHdyYXBJdGVtKHR5cGUsIHt9KSk7XG4gICAgfVxuXG4gICAgdHlwZSA9IHNjaGVtYS5ub2Rlcy5wYXJhZ3JhcGg7XG4gICAgaWYgKHR5cGUpIHtcbiAgICAgICAgci5tYWtlUGFyYWdyYXBoID0gbWVudUl0ZW1Ub0l0ZW0oYmxvY2tUeXBlSXRlbSh0eXBlLCB7fSkpO1xuXG4gICAgICAgIGlmICh0eXBlLnNwZWMgPT09IHBhcmFncmFwaFdpdGhBbGlnbm1lbnQpIHtcbiAgICAgICAgICAgIHIuYWxpZ25MZWZ0ID0gbmV3IFRleHRBbGlnbkl0ZW0oJ2xlZnQnKTtcbiAgICAgICAgICAgIHIuYWxpZ25SaWdodCA9IG5ldyBUZXh0QWxpZ25JdGVtKCdyaWdodCcpO1xuICAgICAgICAgICAgci5hbGlnbkNlbnRlciA9IG5ldyBUZXh0QWxpZ25JdGVtKCdjZW50ZXInKTtcbiAgICAgICAgICAgIHIuYWxpZ25KdXN0aWZ5ID0gbmV3IFRleHRBbGlnbkl0ZW0oJ2p1c3RpZnknKTtcbiAgICAgICAgICAgIHIucGFyYWdyYXBoQ2xhc3MgPSBuZXcgQ2xhc3NJdGVtKGRpYWxvZywgdHlwZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0eXBlID0gc2NoZW1hLm5vZGVzLmNvZGVfYmxvY2s7XG4gICAgaWYgKHR5cGUpIHtcbiAgICAgICAgci5tYWtlQ29kZUJsb2NrID0gbWVudUl0ZW1Ub0l0ZW0oYmxvY2tUeXBlSXRlbSh0eXBlLCB7fSkpO1xuICAgIH1cblxuICAgIHR5cGUgPSBzY2hlbWEubm9kZXMuaGVhZGluZztcbiAgICBpZiAodHlwZSkge1xuICAgICAgICByLm1ha2VIZWFkMSA9IG1lbnVJdGVtVG9JdGVtKGJsb2NrVHlwZUl0ZW0odHlwZSwge2F0dHJzOiB7bGV2ZWw6IDF9fSkpO1xuICAgICAgICByLm1ha2VIZWFkMiA9IG1lbnVJdGVtVG9JdGVtKGJsb2NrVHlwZUl0ZW0odHlwZSwge2F0dHJzOiB7bGV2ZWw6IDJ9fSkpO1xuICAgICAgICByLm1ha2VIZWFkMyA9IG1lbnVJdGVtVG9JdGVtKGJsb2NrVHlwZUl0ZW0odHlwZSwge2F0dHJzOiB7bGV2ZWw6IDN9fSkpO1xuICAgICAgICByLm1ha2VIZWFkNCA9IG1lbnVJdGVtVG9JdGVtKGJsb2NrVHlwZUl0ZW0odHlwZSwge2F0dHJzOiB7bGV2ZWw6IDR9fSkpO1xuICAgICAgICByLm1ha2VIZWFkNSA9IG1lbnVJdGVtVG9JdGVtKGJsb2NrVHlwZUl0ZW0odHlwZSwge2F0dHJzOiB7bGV2ZWw6IDV9fSkpO1xuICAgICAgICByLm1ha2VIZWFkNiA9IG1lbnVJdGVtVG9JdGVtKGJsb2NrVHlwZUl0ZW0odHlwZSwge2F0dHJzOiB7bGV2ZWw6IDZ9fSkpO1xuICAgIH1cblxuICAgIHR5cGUgPSBzY2hlbWEubm9kZXMuaG9yaXpvbnRhbF9ydWxlO1xuICAgIGlmICh0eXBlKSB7XG4gICAgICAgIHIuaW5zZXJ0SG9yaXpvbnRhbFJ1bGUgPSBuZXcgSG9yaXpvbnRhbFJ1bGVJdGVtKHR5cGUpO1xuICAgIH1cblxuICAgIHR5cGUgPSBzY2hlbWEubm9kZXMudGFibGU7XG4gICAgaWYgKHR5cGUpIHtcbiAgICAgICAgci5pbnNlcnRUYWJsZSA9IG5ldyBBZGRUYWJsZUl0ZW0oKTtcbiAgICAgICAgci5hZGRDb2x1bW5CZWZvcmUgPSBjbWRUb0l0ZW0oYWRkQ29sdW1uQmVmb3JlKTtcbiAgICAgICAgci5hZGRDb2x1bW5BZnRlciA9IGNtZFRvSXRlbShhZGRDb2x1bW5BZnRlcik7XG4gICAgICAgIHIuZGVsZXRlQ29sdW1uID0gY21kVG9JdGVtKGRlbGV0ZUNvbHVtbik7XG4gICAgICAgIHIuYWRkUm93QmVmb3JlID0gY21kVG9JdGVtKGFkZFJvd0JlZm9yZSk7XG4gICAgICAgIHIuYWRkUm93QWZ0ZXIgPSBjbWRUb0l0ZW0oYWRkUm93QWZ0ZXIpO1xuICAgICAgICByLmRlbGV0ZVJvdyA9IGNtZFRvSXRlbShkZWxldGVSb3cpO1xuICAgICAgICByLmRlbGV0ZVRhYmxlID0gY21kVG9JdGVtKGRlbGV0ZVRhYmxlKTtcbiAgICAgICAgci5tZXJnZUNlbGxzID0gY21kVG9JdGVtKG1lcmdlQ2VsbHMpO1xuICAgICAgICByLnNwbGl0Q2VsbCA9IGNtZFRvSXRlbShzcGxpdENlbGwpO1xuICAgICAgICByLnRvZ2dsZUhlYWRlckNvbHVtbiA9IGNtZFRvSXRlbSh0b2dnbGVIZWFkZXJDb2x1bW4pO1xuICAgICAgICByLnRvZ2dsZUhlYWRlclJvdyA9IGNtZFRvSXRlbSh0b2dnbGVIZWFkZXJSb3cpO1xuICAgICAgICByLnRvZ2dsZUhlYWRlckNlbGwgPSBjbWRUb0l0ZW0odG9nZ2xlSGVhZGVyQ2VsbCk7XG4gICAgICAgIHIuY2VsbEJhY2tncm91bmRDb2xvciA9IG5ldyBDZWxsQmFja2dyb3VuZENvbG9ySXRlbShkaWFsb2cpO1xuICAgICAgICByLnRhYmxlQ2xhc3MgPSBuZXcgQ2xhc3NJdGVtKGRpYWxvZywgdHlwZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHI7XG59XG4iXX0=
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
const ALIGN_PATTERN = /(left|right|center|justify)/;
|
|
2
|
+
/**
|
|
3
|
+
* A plain paragraph textblock. Represented in the DOM
|
|
4
|
+
* as a `<p>` element.
|
|
5
|
+
*
|
|
6
|
+
* https://github.com/ProseMirror/prosemirror-schema-basic/blob/master/src/schema-basic.js
|
|
7
|
+
*/
|
|
8
|
+
export const paragraphWithAlignment = {
|
|
9
|
+
attrs: {
|
|
10
|
+
align: { default: null },
|
|
11
|
+
class: { default: null },
|
|
12
|
+
id: { default: null },
|
|
13
|
+
},
|
|
14
|
+
content: 'inline*',
|
|
15
|
+
group: 'block',
|
|
16
|
+
parseDOM: [
|
|
17
|
+
{
|
|
18
|
+
tag: 'p',
|
|
19
|
+
getAttrs: (dom) => {
|
|
20
|
+
if (!(dom instanceof HTMLElement)) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
const { textAlign } = dom.style;
|
|
24
|
+
let align = dom.getAttribute('align') || textAlign || '';
|
|
25
|
+
align = ALIGN_PATTERN.test(align) ? align : null;
|
|
26
|
+
const id = dom.getAttribute('id') || '';
|
|
27
|
+
return { align, class: dom.className, id };
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
],
|
|
31
|
+
toDOM: node => {
|
|
32
|
+
const { align, id } = node.attrs;
|
|
33
|
+
const attrs = {};
|
|
34
|
+
let style = '';
|
|
35
|
+
if (align && align !== 'left') {
|
|
36
|
+
style += `text-align: ${align};`;
|
|
37
|
+
}
|
|
38
|
+
if (style) {
|
|
39
|
+
attrs.style = style;
|
|
40
|
+
}
|
|
41
|
+
if (id) {
|
|
42
|
+
attrs.id = id;
|
|
43
|
+
}
|
|
44
|
+
if (node.attrs.class) {
|
|
45
|
+
attrs.class = node.attrs.class;
|
|
46
|
+
}
|
|
47
|
+
return ['p', attrs, 0];
|
|
48
|
+
},
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYWdyYXBoLXdpdGgtYWxpZ25tZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC1lZGl0b3Ivc3JjL2xpYi91dGlscy9zY2hlbWEvcGFyYWdyYXBoLXdpdGgtYWxpZ25tZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sYUFBYSxHQUFHLDZCQUE2QixDQUFDO0FBT3BEOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQWE7SUFDNUMsS0FBSyxFQUFFO1FBQ0gsS0FBSyxFQUFFLEVBQUMsT0FBTyxFQUFFLElBQUksRUFBQztRQUN0QixLQUFLLEVBQUUsRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFDO1FBQ3RCLEVBQUUsRUFBRSxFQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUM7S0FDdEI7SUFDRCxPQUFPLEVBQUUsU0FBUztJQUNsQixLQUFLLEVBQUUsT0FBTztJQUNkLFFBQVEsRUFBRTtRQUNOO1lBQ0ksR0FBRyxFQUFFLEdBQUc7WUFDUixRQUFRLEVBQUUsQ0FBQyxHQUFrQixFQUEwQixFQUFFO2dCQUNyRCxJQUFJLENBQUMsQ0FBQyxHQUFHLFlBQVksV0FBVyxDQUFDLEVBQUU7b0JBQy9CLE9BQU87aUJBQ1Y7Z0JBRUQsTUFBTSxFQUFDLFNBQVMsRUFBQyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUM7Z0JBRTlCLElBQUksS0FBSyxHQUFrQixHQUFHLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLFNBQVMsSUFBSSxFQUFFLENBQUM7Z0JBQ3hFLEtBQUssR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztnQkFFakQsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBRXhDLE9BQU8sRUFBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxTQUFTLEVBQUUsRUFBRSxFQUFDLENBQUM7WUFDN0MsQ0FBQztTQUNKO0tBQ0o7SUFDRCxLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQUU7UUFDVixNQUFNLEVBQUMsS0FBSyxFQUFFLEVBQUUsRUFBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDL0IsTUFBTSxLQUFLLEdBQTRCLEVBQUUsQ0FBQztRQUUxQyxJQUFJLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDZixJQUFJLEtBQUssSUFBSSxLQUFLLEtBQUssTUFBTSxFQUFFO1lBQzNCLEtBQUssSUFBSSxlQUFlLEtBQUssR0FBRyxDQUFDO1NBQ3BDO1FBRUQsSUFBSSxLQUFLLEVBQUU7WUFDUCxLQUFLLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztTQUN2QjtRQUVELElBQUksRUFBRSxFQUFFO1lBQ0osS0FBSyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7U0FDakI7UUFFRCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFO1lBQ2xCLEtBQUssQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7U0FDbEM7UUFFRCxPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMzQixDQUFDO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Tm9kZVNwZWN9IGZyb20gJ3Byb3NlbWlycm9yLW1vZGVsJztcblxuY29uc3QgQUxJR05fUEFUVEVSTiA9IC8obGVmdHxyaWdodHxjZW50ZXJ8anVzdGlmeSkvO1xudHlwZSBBdHRyaWJ1dGVzID0ge1xuICAgIGFsaWduOiBudWxsIHwgc3RyaW5nO1xuICAgIGNsYXNzOiBzdHJpbmc7XG4gICAgaWQ6IHN0cmluZztcbn07XG5cbi8qKlxuICogQSBwbGFpbiBwYXJhZ3JhcGggdGV4dGJsb2NrLiBSZXByZXNlbnRlZCBpbiB0aGUgRE9NXG4gKiBhcyBhIGA8cD5gIGVsZW1lbnQuXG4gKlxuICogaHR0cHM6Ly9naXRodWIuY29tL1Byb3NlTWlycm9yL3Byb3NlbWlycm9yLXNjaGVtYS1iYXNpYy9ibG9iL21hc3Rlci9zcmMvc2NoZW1hLWJhc2ljLmpzXG4gKi9cbmV4cG9ydCBjb25zdCBwYXJhZ3JhcGhXaXRoQWxpZ25tZW50OiBOb2RlU3BlYyA9IHtcbiAgICBhdHRyczoge1xuICAgICAgICBhbGlnbjoge2RlZmF1bHQ6IG51bGx9LFxuICAgICAgICBjbGFzczoge2RlZmF1bHQ6IG51bGx9LFxuICAgICAgICBpZDoge2RlZmF1bHQ6IG51bGx9LFxuICAgIH0sXG4gICAgY29udGVudDogJ2lubGluZSonLFxuICAgIGdyb3VwOiAnYmxvY2snLFxuICAgIHBhcnNlRE9NOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHRhZzogJ3AnLFxuICAgICAgICAgICAgZ2V0QXR0cnM6IChkb206IE5vZGUgfCBzdHJpbmcpOiB1bmRlZmluZWQgfCBBdHRyaWJ1dGVzID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIShkb20gaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IHt0ZXh0QWxpZ259ID0gZG9tLnN0eWxlO1xuXG4gICAgICAgICAgICAgICAgbGV0IGFsaWduOiBzdHJpbmcgfCBudWxsID0gZG9tLmdldEF0dHJpYnV0ZSgnYWxpZ24nKSB8fCB0ZXh0QWxpZ24gfHwgJyc7XG4gICAgICAgICAgICAgICAgYWxpZ24gPSBBTElHTl9QQVRURVJOLnRlc3QoYWxpZ24pID8gYWxpZ24gOiBudWxsO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgaWQgPSBkb20uZ2V0QXR0cmlidXRlKCdpZCcpIHx8ICcnO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHthbGlnbiwgY2xhc3M6IGRvbS5jbGFzc05hbWUsIGlkfTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgXSxcbiAgICB0b0RPTTogbm9kZSA9PiB7XG4gICAgICAgIGNvbnN0IHthbGlnbiwgaWR9ID0gbm9kZS5hdHRycztcbiAgICAgICAgY29uc3QgYXR0cnM6IHtba2V5OiBzdHJpbmddOiBzdHJpbmd9ID0ge307XG5cbiAgICAgICAgbGV0IHN0eWxlID0gJyc7XG4gICAgICAgIGlmIChhbGlnbiAmJiBhbGlnbiAhPT0gJ2xlZnQnKSB7XG4gICAgICAgICAgICBzdHlsZSArPSBgdGV4dC1hbGlnbjogJHthbGlnbn07YDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzdHlsZSkge1xuICAgICAgICAgICAgYXR0cnMuc3R5bGUgPSBzdHlsZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpZCkge1xuICAgICAgICAgICAgYXR0cnMuaWQgPSBpZDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChub2RlLmF0dHJzLmNsYXNzKSB7XG4gICAgICAgICAgICBhdHRycy5jbGFzcyA9IG5vZGUuYXR0cnMuY2xhc3M7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gWydwJywgYXR0cnMsIDBdO1xuICAgIH0sXG59O1xuIl19
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { marks, nodes } from 'prosemirror-schema-basic';
|
|
2
|
+
import { addListNodes } from 'prosemirror-schema-list';
|
|
3
|
+
import { Schema } from 'prosemirror-model';
|
|
4
|
+
import { paragraphWithAlignment } from './paragraph-with-alignment';
|
|
5
|
+
import { tableNodes } from './table';
|
|
6
|
+
const basicNodes = {
|
|
7
|
+
heading: nodes.heading,
|
|
8
|
+
doc: nodes.doc,
|
|
9
|
+
paragraph: nodes.paragraph,
|
|
10
|
+
text: nodes.text,
|
|
11
|
+
hard_break: nodes.hard_break,
|
|
12
|
+
};
|
|
13
|
+
const basicMarks = {
|
|
14
|
+
link: marks.link,
|
|
15
|
+
em: marks.em,
|
|
16
|
+
strong: marks.strong,
|
|
17
|
+
};
|
|
18
|
+
const tmpSchema = new Schema({ nodes: basicNodes, marks: basicMarks });
|
|
19
|
+
export const basicSchema = new Schema({
|
|
20
|
+
nodes: addListNodes(tmpSchema.spec.nodes, 'paragraph block*', 'block'),
|
|
21
|
+
marks: tmpSchema.spec.marks,
|
|
22
|
+
});
|
|
23
|
+
const tmpSchema2 = new Schema({
|
|
24
|
+
nodes: {
|
|
25
|
+
...nodes,
|
|
26
|
+
...tableNodes({
|
|
27
|
+
tableGroup: 'block',
|
|
28
|
+
cellContent: 'block+',
|
|
29
|
+
cellAttributes: {
|
|
30
|
+
background: {
|
|
31
|
+
default: null,
|
|
32
|
+
getFromDOM(dom) {
|
|
33
|
+
return dom.style.backgroundColor || null;
|
|
34
|
+
},
|
|
35
|
+
setDOMAttr(value, attrs) {
|
|
36
|
+
if (value) {
|
|
37
|
+
attrs.style = (attrs.style || '') + `background-color: ${value};`;
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
}),
|
|
43
|
+
paragraph: paragraphWithAlignment,
|
|
44
|
+
},
|
|
45
|
+
marks: basicMarks,
|
|
46
|
+
});
|
|
47
|
+
export const advancedSchema = new Schema({
|
|
48
|
+
nodes: addListNodes(tmpSchema2.spec.nodes, 'paragraph block*', 'block'),
|
|
49
|
+
marks: basicMarks,
|
|
50
|
+
});
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC1lZGl0b3Ivc3JjL2xpYi91dGlscy9zY2hlbWEvc2NoZW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxLQUFLLEVBQUUsS0FBSyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDdEQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUN6QyxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNsRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sU0FBUyxDQUFDO0FBSW5DLE1BQU0sVUFBVSxHQUFlO0lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztJQUN0QixHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUc7SUFDZCxTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7SUFDMUIsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO0lBQ2hCLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVTtDQUMvQixDQUFDO0FBR0YsTUFBTSxVQUFVLEdBQWU7SUFDM0IsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO0lBQ2hCLEVBQUUsRUFBRSxLQUFLLENBQUMsRUFBRTtJQUNaLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTTtDQUN2QixDQUFDO0FBRUYsTUFBTSxTQUFTLEdBQUcsSUFBSSxNQUFNLENBQUMsRUFBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUMsQ0FBQyxDQUFDO0FBRXJFLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxJQUFJLE1BQU0sQ0FBQztJQUNsQyxLQUFLLEVBQUUsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLGtCQUFrQixFQUFFLE9BQU8sQ0FBQztJQUN0RSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLO0NBQzlCLENBQUMsQ0FBQztBQUVILE1BQU0sVUFBVSxHQUFHLElBQUksTUFBTSxDQUFDO0lBQzFCLEtBQUssRUFBRTtRQUNILEdBQUcsS0FBSztRQUNSLEdBQUcsVUFBVSxDQUFDO1lBQ1YsVUFBVSxFQUFFLE9BQU87WUFDbkIsV0FBVyxFQUFFLFFBQVE7WUFDckIsY0FBYyxFQUFFO2dCQUNaLFVBQVUsRUFBRTtvQkFDUixPQUFPLEVBQUUsSUFBSTtvQkFDYixVQUFVLENBQUMsR0FBWTt3QkFDbkIsT0FBUSxHQUFtQixDQUFDLEtBQUssQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDO29CQUM5RCxDQUFDO29CQUNELFVBQVUsQ0FBQyxLQUFVLEVBQUUsS0FBVTt3QkFDN0IsSUFBSSxLQUFLLEVBQUU7NEJBQ1AsS0FBSyxDQUFDLEtBQUssR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLEdBQUcscUJBQXFCLEtBQUssR0FBRyxDQUFDO3lCQUNyRTtvQkFDTCxDQUFDO2lCQUNKO2FBQ0o7U0FDSixDQUFDO1FBQ0YsU0FBUyxFQUFFLHNCQUFzQjtLQUNwQztJQUNELEtBQUssRUFBRSxVQUFVO0NBQ3BCLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxJQUFJLE1BQU0sQ0FBQztJQUNyQyxLQUFLLEVBQUUsWUFBWSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLGtCQUFrQixFQUFFLE9BQU8sQ0FBQztJQUN2RSxLQUFLLEVBQUUsVUFBVTtDQUNwQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge21hcmtzLCBub2Rlc30gZnJvbSAncHJvc2VtaXJyb3Itc2NoZW1hLWJhc2ljJztcbmltcG9ydCB7YWRkTGlzdE5vZGVzfSBmcm9tICdwcm9zZW1pcnJvci1zY2hlbWEtbGlzdCc7XG5pbXBvcnQge1NjaGVtYX0gZnJvbSAncHJvc2VtaXJyb3ItbW9kZWwnO1xuaW1wb3J0IHtwYXJhZ3JhcGhXaXRoQWxpZ25tZW50fSBmcm9tICcuL3BhcmFncmFwaC13aXRoLWFsaWdubWVudCc7XG5pbXBvcnQge3RhYmxlTm9kZXN9IGZyb20gJy4vdGFibGUnO1xuXG4vLyBLZWVwIG9ubHkgYmFzaWMgZWxlbWVudHNcbnR5cGUgQmFzaWNOb2RlcyA9IE9taXQ8dHlwZW9mIG5vZGVzLCAnaW1hZ2UnIHwgJ2NvZGVfYmxvY2snIHwgJ2Jsb2NrcXVvdGUnIHwgJ2hvcml6b250YWxfcnVsZSc+O1xuY29uc3QgYmFzaWNOb2RlczogQmFzaWNOb2RlcyA9IHtcbiAgICBoZWFkaW5nOiBub2Rlcy5oZWFkaW5nLFxuICAgIGRvYzogbm9kZXMuZG9jLFxuICAgIHBhcmFncmFwaDogbm9kZXMucGFyYWdyYXBoLFxuICAgIHRleHQ6IG5vZGVzLnRleHQsXG4gICAgaGFyZF9icmVhazogbm9kZXMuaGFyZF9icmVhayxcbn07XG5cbnR5cGUgQmFzaWNNYXJrcyA9IE9taXQ8dHlwZW9mIG1hcmtzLCAnY29kZSc+O1xuY29uc3QgYmFzaWNNYXJrczogQmFzaWNNYXJrcyA9IHtcbiAgICBsaW5rOiBtYXJrcy5saW5rLFxuICAgIGVtOiBtYXJrcy5lbSxcbiAgICBzdHJvbmc6IG1hcmtzLnN0cm9uZyxcbn07XG5cbmNvbnN0IHRtcFNjaGVtYSA9IG5ldyBTY2hlbWEoe25vZGVzOiBiYXNpY05vZGVzLCBtYXJrczogYmFzaWNNYXJrc30pO1xuXG5leHBvcnQgY29uc3QgYmFzaWNTY2hlbWEgPSBuZXcgU2NoZW1hKHtcbiAgICBub2RlczogYWRkTGlzdE5vZGVzKHRtcFNjaGVtYS5zcGVjLm5vZGVzLCAncGFyYWdyYXBoIGJsb2NrKicsICdibG9jaycpLFxuICAgIG1hcmtzOiB0bXBTY2hlbWEuc3BlYy5tYXJrcyxcbn0pO1xuXG5jb25zdCB0bXBTY2hlbWEyID0gbmV3IFNjaGVtYSh7XG4gICAgbm9kZXM6IHtcbiAgICAgICAgLi4ubm9kZXMsXG4gICAgICAgIC4uLnRhYmxlTm9kZXMoe1xuICAgICAgICAgICAgdGFibGVHcm91cDogJ2Jsb2NrJyxcbiAgICAgICAgICAgIGNlbGxDb250ZW50OiAnYmxvY2srJyxcbiAgICAgICAgICAgIGNlbGxBdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDoge1xuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICBnZXRGcm9tRE9NKGRvbTogRWxlbWVudCk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChkb20gYXMgSFRNTEVsZW1lbnQpLnN0eWxlLmJhY2tncm91bmRDb2xvciB8fCBudWxsO1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBzZXRET01BdHRyKHZhbHVlOiBhbnksIGF0dHJzOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJzLnN0eWxlID0gKGF0dHJzLnN0eWxlIHx8ICcnKSArIGBiYWNrZ3JvdW5kLWNvbG9yOiAke3ZhbHVlfTtgO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICB9KSxcbiAgICAgICAgcGFyYWdyYXBoOiBwYXJhZ3JhcGhXaXRoQWxpZ25tZW50LFxuICAgIH0sXG4gICAgbWFya3M6IGJhc2ljTWFya3MsXG59KTtcblxuZXhwb3J0IGNvbnN0IGFkdmFuY2VkU2NoZW1hID0gbmV3IFNjaGVtYSh7XG4gICAgbm9kZXM6IGFkZExpc3ROb2Rlcyh0bXBTY2hlbWEyLnNwZWMubm9kZXMsICdwYXJhZ3JhcGggYmxvY2sqJywgJ2Jsb2NrJyksXG4gICAgbWFya3M6IGJhc2ljTWFya3MsXG59KTtcbiJdfQ==
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
function getCellAttrs(dom, extraAttrs) {
|
|
2
|
+
if (!(dom instanceof HTMLElement)) {
|
|
3
|
+
return;
|
|
4
|
+
}
|
|
5
|
+
const widthAttr = dom.getAttribute('data-colwidth');
|
|
6
|
+
const widths = widthAttr && /^\d+(,\d+)*$/.test(widthAttr) ? widthAttr.split(',').map(s => Number(s)) : null;
|
|
7
|
+
const colspan = Number(dom.getAttribute('colspan') || 1);
|
|
8
|
+
const result = {
|
|
9
|
+
colspan,
|
|
10
|
+
rowspan: Number(dom.getAttribute('rowspan') || 1),
|
|
11
|
+
colwidth: widths && widths.length == colspan ? widths : null,
|
|
12
|
+
};
|
|
13
|
+
for (const prop in extraAttrs) {
|
|
14
|
+
const getter = extraAttrs[prop].getFromDOM;
|
|
15
|
+
const value = getter && getter(dom);
|
|
16
|
+
if (value != null)
|
|
17
|
+
result[prop] = value;
|
|
18
|
+
}
|
|
19
|
+
return result;
|
|
20
|
+
}
|
|
21
|
+
function setCellAttrs(node, extraAttrs) {
|
|
22
|
+
const attrs = {};
|
|
23
|
+
if (node.attrs.colspan != 1)
|
|
24
|
+
attrs.colspan = node.attrs.colspan;
|
|
25
|
+
if (node.attrs.rowspan != 1)
|
|
26
|
+
attrs.rowspan = node.attrs.rowspan;
|
|
27
|
+
if (node.attrs.colwidth)
|
|
28
|
+
attrs['data-colwidth'] = node.attrs.colwidth.join(',');
|
|
29
|
+
for (const prop in extraAttrs) {
|
|
30
|
+
const setter = extraAttrs[prop].setDOMAttr;
|
|
31
|
+
if (setter)
|
|
32
|
+
setter(node.attrs[prop], attrs);
|
|
33
|
+
}
|
|
34
|
+
return attrs;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* This function creates a set of [node
|
|
38
|
+
* specs](http://prosemirror.net/docs/ref/#model.SchemaSpec.nodes) for
|
|
39
|
+
* `table`, `table_row`, and `table_cell` nodes types.
|
|
40
|
+
*
|
|
41
|
+
* It is very directly inspired by prosemirror-table
|
|
42
|
+
*/
|
|
43
|
+
export function tableNodes(options) {
|
|
44
|
+
const extraAttrs = options.cellAttributes || {};
|
|
45
|
+
const cellAttrs = {
|
|
46
|
+
colspan: { default: 1 },
|
|
47
|
+
rowspan: { default: 1 },
|
|
48
|
+
colwidth: { default: null },
|
|
49
|
+
};
|
|
50
|
+
for (const prop in extraAttrs) {
|
|
51
|
+
cellAttrs[prop] = {
|
|
52
|
+
default: extraAttrs[prop].default,
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
return {
|
|
56
|
+
table: {
|
|
57
|
+
attrs: {
|
|
58
|
+
class: { default: null },
|
|
59
|
+
},
|
|
60
|
+
content: 'table_row+',
|
|
61
|
+
tableRole: 'table',
|
|
62
|
+
isolating: true,
|
|
63
|
+
group: options.tableGroup,
|
|
64
|
+
parseDOM: [
|
|
65
|
+
{
|
|
66
|
+
tag: 'table',
|
|
67
|
+
getAttrs: (dom) => {
|
|
68
|
+
if (!(dom instanceof HTMLElement)) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
return { class: dom.className };
|
|
72
|
+
},
|
|
73
|
+
},
|
|
74
|
+
],
|
|
75
|
+
toDOM: node => {
|
|
76
|
+
const attrs = {};
|
|
77
|
+
if (node.attrs.class) {
|
|
78
|
+
attrs.class = node.attrs.class;
|
|
79
|
+
}
|
|
80
|
+
return ['table', attrs, ['tbody', 0]];
|
|
81
|
+
},
|
|
82
|
+
},
|
|
83
|
+
table_row: {
|
|
84
|
+
content: '(table_cell | table_header)*',
|
|
85
|
+
tableRole: 'row',
|
|
86
|
+
parseDOM: [{ tag: 'tr' }],
|
|
87
|
+
toDOM: () => {
|
|
88
|
+
return ['tr', 0];
|
|
89
|
+
},
|
|
90
|
+
},
|
|
91
|
+
table_cell: {
|
|
92
|
+
content: options.cellContent,
|
|
93
|
+
attrs: cellAttrs,
|
|
94
|
+
tableRole: 'cell',
|
|
95
|
+
isolating: true,
|
|
96
|
+
parseDOM: [{ tag: 'td', getAttrs: dom => getCellAttrs(dom, extraAttrs) }],
|
|
97
|
+
toDOM: node => {
|
|
98
|
+
return ['td', setCellAttrs(node, extraAttrs), 0];
|
|
99
|
+
},
|
|
100
|
+
},
|
|
101
|
+
table_header: {
|
|
102
|
+
content: options.cellContent,
|
|
103
|
+
attrs: cellAttrs,
|
|
104
|
+
tableRole: 'header_cell',
|
|
105
|
+
isolating: true,
|
|
106
|
+
parseDOM: [{ tag: 'th', getAttrs: dom => getCellAttrs(dom, extraAttrs) }],
|
|
107
|
+
toDOM: node => {
|
|
108
|
+
return ['th', setCellAttrs(node, extraAttrs), 0];
|
|
109
|
+
},
|
|
110
|
+
},
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsLWVkaXRvci9zcmMvbGliL3V0aWxzL3NjaGVtYS90YWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxTQUFTLFlBQVksQ0FBQyxHQUFrQixFQUFFLFVBQTBCO0lBQ2hFLElBQUksQ0FBQyxDQUFDLEdBQUcsWUFBWSxXQUFXLENBQUMsRUFBRTtRQUMvQixPQUFPO0tBQ1Y7SUFFRCxNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3BELE1BQU0sTUFBTSxHQUFHLFNBQVMsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDN0csTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDekQsTUFBTSxNQUFNLEdBQWU7UUFDdkIsT0FBTztRQUNQLE9BQU8sRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakQsUUFBUSxFQUFFLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTSxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJO0tBQy9ELENBQUM7SUFFRixLQUFLLE1BQU0sSUFBSSxJQUFJLFVBQVUsRUFBRTtRQUMzQixNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDO1FBQzNDLE1BQU0sS0FBSyxHQUFHLE1B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cnQge1RhYmxlTm9kZXMsIFRhYmxlTm9kZXNPcHRpb25zfSBmcm9tICdwcm9zZW1pcnJvci10YWJsZXMnO1xuaW1wb3J0IHtOb2RlIGFzIFByb3NlbWlycm9yTm9kZX0gZnJvbSAncHJvc2VtaXJyb3ItbW9kZWwnO1xuXG50eXBlIENlbGxBdHRyaWJ1dGVzID0gVGFibGVOb2Rlc09wdGlvbnNbJ2NlbGxBdHRyaWJ1dGVzJ107XG50eXBlIEF0dHJpYnV0ZXMgPSB7W2tleTogc3RyaW5nXTogbnVtYmVyIHwgc3RyaW5nIHwgbnVsbCB8IG51bWJlcltdfTtcblxuZnVuY3Rpb24gZ2V0Q2VsbEF0dHJzKGRvbTogTm9kZSB8IHN0cmluZywgZXh0cmFBdHRyczogQ2VsbEF0dHJpYnV0ZXMpOiB1bmRlZmluZWQgfCBBdHRyaWJ1dGVzIHtcbiAgICBpZiAoIShkb20gaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHdpZHRoQXR0ciA9IGRvbS5nZXRBdHRyaWJ1dGUoJ2RhdGEtY29sd2lkdGgnKTtcbiAgICBjb25zdCB3aWR0aHMgPSB3aWR0aEF0dHIgJiYgL15cXGQrKCxcXGQrKSokLy50ZXN0KHdpZHRoQXR0cikgPyB3aWR0aEF0dHIuc3BsaXQoJywnKS5tYXAocyA9PiBOdW1iZXIocykpIDogbnVsbDtcbiAgICBjb25zdCBjb2xzcGFuID0gTnVtYmVyKGRvbS5nZXRBdHRyaWJ1dGUoJ2NvbHNwYW4nKSB8fCAxKTtcbiAgICBjb25zdCByZXN1bHQ6IEF0dHJpYnV0ZXMgPSB7XG4gICAgICAgIGNvbHNwYW4sXG4gICAgICAgIHJvd3NwYW46IE51bWJlcihkb20uZ2V0QXR0cmlidXRlKCdyb3dzcGFuJykgfHwgMSksXG4gICAgICAgIGNvbHdpZHRoOiB3aWR0aHMgJiYgd2lkdGhzLmxlbmd0aCA9PSBjb2xzcGFuID8gd2lkdGhzIDogbnVsbCxcbiAgICB9O1xuXG4gICAgZm9yIChjb25zdCBwcm9wIGluIGV4dHJhQXR0cnMpIHtcbiAgICAgICAgY29uc3QgZ2V0dGVyID0gZXh0cmFBdHRyc1twcm9wXS5nZXRGcm9tRE9NO1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGdldHRlciAmJiBnZXR0ZXIoZG9tKTtcbiAgICAgICAgaWYgKHZhbHVlICE9IG51bGwpIHJlc3VsdFtwcm9wXSA9IHZhbHVlO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG59XG5cbmZ1bmN0aW9uIHNldENlbGxBdHRycyhub2RlOiBQcm9zZW1pcnJvck5vZGUsIGV4dHJhQXR0cnM6IENlbGxBdHRyaWJ1dGVzKTogdW5kZWZpbmVkIHwgUmVjb3JkPHN0cmluZywgc3RyaW5nPiB7XG4gICAgY29uc3QgYXR0cnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcbiAgICBpZiAobm9kZS5hdHRycy5jb2xzcGFuICE9IDEpIGF0dHJzLmNvbHNwYW4gPSBub2RlLmF0dHJzLmNvbHNwYW47XG4gICAgaWYgKG5vZGUuYXR0cnMucm93c3BhbiAhPSAxKSBhdHRycy5yb3dzcGFuID0gbm9kZS5hdHRycy5yb3dzcGFuO1xuICAgIGlmIChub2RlLmF0dHJzLmNvbHdpZHRoKSBhdHRyc1snZGF0YS1jb2x3aWR0aCddID0gbm9kZS5hdHRycy5jb2x3aWR0aC5qb2luKCcsJyk7XG5cbiAgICBmb3IgKGNvbnN0IHByb3AgaW4gZXh0cmFBdHRycykge1xuICAgICAgICBjb25zdCBzZXR0ZXIgPSBleHRyYUF0dHJzW3Byb3BdLnNldERPTUF0dHI7XG4gICAgICAgIGlmIChzZXR0ZXIpIHNldHRlcihub2RlLmF0dHJzW3Byb3BdLCBhdHRycyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGF0dHJzO1xufVxuXG4vKipcbiAqIFRoaXMgZnVuY3Rpb24gY3JlYXRlcyBhIHNldCBvZiBbbm9kZVxuICogc3BlY3NdKGh0dHA6Ly9wcm9zZW1pcnJvci5uZXQvZG9jcy9yZWYvI21vZGVsLlNjaGVtYVNwZWMubm9kZXMpIGZvclxuICogYHRhYmxlYCwgYHRhYmxlX3Jvd2AsIGFuZCBgdGFibGVfY2VsbGAgbm9kZXMgdHlwZXMuXG4gKlxuICogSXQgaXMgdmVyeSBkaXJlY3RseSBpbnNwaXJlZCBieSBwcm9zZW1pcnJvci10YWJsZVxuICovXG5leHBvcnQgZnVuY3Rpb24gdGFibGVOb2RlcyhvcHRpb25zOiBUYWJsZU5vZGVzT3B0aW9ucyk6IFRhYmxlTm9kZXMge1xuICAgIGNvbnN0IGV4dHJhQXR0cnMgPSBvcHRpb25zLmNlbGxBdHRyaWJ1dGVzIHx8IHt9O1xuICAgIGNvbnN0IGNlbGxBdHRyczogQ2VsbEF0dHJpYnV0ZXMgPSB7XG4gICAgICAgIGNvbHNwYW46IHtkZWZhdWx0OiAxfSxcbiAgICAgICAgcm93c3Bhbjoge2RlZmF1bHQ6IDF9LFxuICAgICAgICBjb2x3aWR0aDoge2RlZmF1bHQ6IG51bGx9LFxuICAgIH07XG5cbiAgICBmb3IgKGNvbnN0IHByb3AgaW4gZXh0cmFBdHRycykge1xuICAgICAgICBjZWxsQXR0cnNbcHJvcF0gPSB7XG4gICAgICAgICAgICBkZWZhdWx0OiBleHRyYUF0dHJzW3Byb3BdLmRlZmF1bHQsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgICAgdGFibGU6IHtcbiAgICAgICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgICAgICAgY2xhc3M6IHtkZWZhdWx0OiBudWxsfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBjb250ZW50OiAndGFibGVfcm93KycsXG4gICAgICAgICAgICB0YWJsZVJvbGU6ICd0YWJsZScsXG4gICAgICAgICAgICBpc29sYXRpbmc6IHRydWUsXG4gICAgICAgICAgICBncm91cDogb3B0aW9ucy50YWJsZUdyb3VwLFxuICAgICAgICAgICAgcGFyc2VET006IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHRhZzogJ3RhYmxlJyxcbiAgICAgICAgICAgICAgICAgICAgZ2V0QXR0cnM6IChkb206IE5vZGUgfCBzdHJpbmcpOiB1bmRlZmluZWQgfCBBdHRyaWJ1dGVzID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghKGRvbSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtjbGFzczogZG9tLmNsYXNzTmFtZX07XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB0b0RPTTogbm9kZSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgYXR0cnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcbiAgICAgICAgICAgICAgICBpZiAobm9kZS5hdHRycy5jbGFzcykge1xuICAgICAgICAgICAgICAgICAgICBhdHRycy5jbGFzcyA9IG5vZGUuYXR0cnMuY2xhc3M7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIFsndGFibGUnLCBhdHRycywgWyd0Ym9keScsIDBdXTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHRhYmxlX3Jvdzoge1xuICAgICAgICAgICAgY29udGVudDogJyh0YWJsZV9jZWxsIHwgdGFibGVfaGVhZGVyKSonLFxuICAgICAgICAgICAgdGFibGVSb2xlOiAncm93JyxcbiAgICAgICAgICAgIHBhcnNlRE9NOiBbe3RhZzogJ3RyJ31dLFxuICAgICAgICAgICAgdG9ET006ICgpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gWyd0cicsIDBdO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgdGFibGVfY2VsbDoge1xuICAgICAgICAgICAgY29udGVudDogb3B0aW9ucy5jZWxsQ29udGVudCxcbiAgICAgICAgICAgIGF0dHJzOiBjZWxsQXR0cnMsXG4gICAgICAgICAgICB0YWJsZVJvbGU6ICdjZWxsJyxcbiAgICAgICAgICAgIGlzb2xhdGluZzogdHJ1ZSxcbiAgICAgICAgICAgIHBhcnNlRE9NOiBbe3RhZzogJ3RkJywgZ2V0QXR0cnM6IGRvbSA9PiBnZXRDZWxsQXR0cnMoZG9tLCBleHRyYUF0dHJzKX1dLFxuICAgICAgICAgICAgdG9ET006IG5vZGUgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBbJ3RkJywgc2V0Q2VsbEF0dHJzKG5vZGUsIGV4dHJhQXR0cnMpLCAwXTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHRhYmxlX2hlYWRlcjoge1xuICAgICAgICAgICAgY29udGVudDogb3B0aW9ucy5jZWxsQ29udGVudCxcbiAgICAgICAgICAgIGF0dHJzOiBjZWxsQXR0cnMsXG4gICAgICAgICAgICB0YWJsZVJvbGU6ICdoZWFkZXJfY2VsbCcsXG4gICAgICAgICAgICBpc29sYXRpbmc6IHRydWUsXG4gICAgICAgICAgICBwYXJzZURPTTogW3t0YWc6ICd0aCcsIGdldEF0dHJzOiBkb20gPT4gZ2V0Q2VsbEF0dHJzKGRvbSwgZXh0cmFBdHRycyl9XSxcbiAgICAgICAgICAgIHRvRE9NOiBub2RlID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gWyd0aCcsIHNldENlbGxBdHRycyhub2RlLCBleHRyYUF0dHJzKSwgMF07XG4gICAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgIH07XG59XG4iXX0=
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// Load `$localize` onto the global scope - to be able to use that function to translate strings in components/services.
|
|
2
|
+
import '@angular/localize/init';
|
|
3
|
+
/*
|
|
4
|
+
* Public API Surface of natural-editor
|
|
5
|
+
*/
|
|
6
|
+
export { NaturalCustomCssDirective } from './lib/custom-css/custom-css.directive';
|
|
7
|
+
export { NaturalEditorComponent } from './lib/editor/editor.component';
|
|
8
|
+
export { NaturalEditorModule } from './lib/editor.module';
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwtZWRpdG9yL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHdIQUF3SDtBQUN4SCxPQUFPLHdCQUF3QixDQUFDO0FBRWhDOztHQUVHO0FBRUgsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDaEYsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDckUsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0scUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBMb2FkIGAkbG9jYWxpemVgIG9udG8gdGhlIGdsb2JhbCBzY29wZSAtIHRvIGJlIGFibGUgdG8gdXNlIHRoYXQgZnVuY3Rpb24gdG8gdHJhbnNsYXRlIHN0cmluZ3MgaW4gY29tcG9uZW50cy9zZXJ2aWNlcy5cbmltcG9ydCAnQGFuZ3VsYXIvbG9jYWxpemUvaW5pdCc7XG5cbi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgbmF0dXJhbC1lZGl0b3JcbiAqL1xuXG5leHBvcnQge05hdHVyYWxDdXN0b21Dc3NEaXJlY3RpdmV9IGZyb20gJy4vbGliL2N1c3RvbS1jc3MvY3VzdG9tLWNzcy5kaXJlY3RpdmUnO1xuZXhwb3J0IHtOYXR1cmFsRWRpdG9yQ29tcG9uZW50fSBmcm9tICcuL2xpYi9lZGl0b3IvZWRpdG9yLmNvbXBvbmVudCc7XG5leHBvcnQge05hdHVyYWxFZGl0b3JNb2R1bGV9IGZyb20gJy4vbGliL2VkaXRvci5tb2R1bGUnO1xuIl19
|