@modusoperandi/licit 1.1.2 → 1.1.4
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/EMMarkSpec.js +30 -6
- package/EMMarkSpec.js.flow +30 -5
- package/EditorMarks.js +4 -2
- package/EditorMarks.js.flow +3 -0
- package/FontSizeMarkSpec.js +36 -21
- package/FontSizeMarkSpec.js.flow +32 -27
- package/FontTypeMarkSpec.js +33 -17
- package/FontTypeMarkSpec.js.flow +28 -15
- package/MarkNames.js +2 -1
- package/MarkNames.js.flow +1 -0
- package/OverrideMarkSpec.js +54 -0
- package/OverrideMarkSpec.js.flow +49 -0
- package/ParagraphNodeSpec.js +12 -3
- package/ParagraphNodeSpec.js.flow +25 -14
- package/StrikeMarkSpec.js +14 -7
- package/StrikeMarkSpec.js.flow +10 -7
- package/StrongMarkSpec.js +28 -15
- package/StrongMarkSpec.js.flow +26 -12
- package/TextColorMarkSpec.js +17 -10
- package/TextColorMarkSpec.js.flow +11 -6
- package/TextHighlightMarkSpec.js +18 -8
- package/TextHighlightMarkSpec.js.flow +15 -6
- package/TextSubMarkSpec.js +18 -4
- package/TextSubMarkSpec.js.flow +7 -6
- package/TextSuperMarkSpec.js +18 -4
- package/TextSuperMarkSpec.js.flow +7 -6
- package/TextUnderlineMarkSpec.js +15 -12
- package/TextUnderlineMarkSpec.js.flow +10 -13
- package/bom.xml +3820 -3780
- package/buildEditorPlugins.js +0 -1
- package/buildEditorPlugins.js.flow +7 -8
- package/client/Reporter.js +0 -1
- package/client/Reporter.js.flow +0 -2
- package/client/http.js +2 -3
- package/client/http.js.flow +5 -7
- package/convertFromJSON.js +1 -1
- package/convertFromJSON.js.flow +3 -7
- package/package.json +6 -6
- package/styles.css +4 -2
- package/ui/CommandMenu.js +1 -1
- package/ui/CommandMenu.js.flow +1 -1
- package/ui/CommandMenuButton.js +1 -1
- package/ui/CommandMenuButton.js.flow +1 -1
- package/ui/ListTypeButton.js +1 -1
- package/ui/ListTypeButton.js.flow +3 -9
- package/ui/ListTypeMenu.js +6 -0
- package/ui/ListTypeMenu.js.flow +9 -0
- package/ui/toCSSColor.js +1 -1
- package/ui/toCSSColor.js.flow +1 -1
- package/ui/toHexColor.js +1 -1
- package/ui/toHexColor.js.flow +1 -1
|
@@ -74,6 +74,7 @@ const ParagraphNodeSpec: NodeSpec = {
|
|
|
74
74
|
},
|
|
75
75
|
content: 'inline*',
|
|
76
76
|
group: 'block',
|
|
77
|
+
defining: true,
|
|
77
78
|
parseDOM: [
|
|
78
79
|
{
|
|
79
80
|
tag: 'p',
|
|
@@ -84,15 +85,10 @@ const ParagraphNodeSpec: NodeSpec = {
|
|
|
84
85
|
};
|
|
85
86
|
|
|
86
87
|
function getAttrs(dom: HTMLElement): Object {
|
|
87
|
-
const {
|
|
88
|
-
|
|
89
|
-
textAlign,
|
|
90
|
-
marginLeft,
|
|
91
|
-
paddingTop,
|
|
92
|
-
paddingBottom,
|
|
93
|
-
} = dom.style;
|
|
88
|
+
const { lineHeight, textAlign, marginLeft, paddingTop, paddingBottom } =
|
|
89
|
+
dom.style;
|
|
94
90
|
|
|
95
|
-
let align = dom.getAttribute('align') || textAlign || '';
|
|
91
|
+
let align = dom.getAttribute('align') || textAlign || 'left';
|
|
96
92
|
align = ALIGN_PATTERN.test(align) ? align : null;
|
|
97
93
|
|
|
98
94
|
let indent = parseInt(dom.getAttribute(ATTRIBUTE_INDENT), 10);
|
|
@@ -109,10 +105,12 @@ function getAttrs(dom: HTMLElement): Object {
|
|
|
109
105
|
const overriddenAlign = dom.getAttribute('overriddenAlign') || '';
|
|
110
106
|
const overriddenAlignValue = dom.getAttribute('overriddenAlignValue') || '';
|
|
111
107
|
const overriddenLineSpacing = dom.getAttribute('overriddenLineSpacing') || '';
|
|
112
|
-
const overriddenLineSpacingValue =
|
|
108
|
+
const overriddenLineSpacingValue =
|
|
109
|
+
dom.getAttribute('overriddenLineSpacingValue') || '';
|
|
113
110
|
const overriddenIndent = dom.getAttribute('overriddenIndent') || '';
|
|
114
111
|
const overriddenIndentValue = dom.getAttribute('overriddenIndentValue') || '';
|
|
115
112
|
const innerLink = dom.getAttribute('innerLink') || '';
|
|
113
|
+
const objectId = dom.getAttribute('objectId') || '';
|
|
116
114
|
return {
|
|
117
115
|
align,
|
|
118
116
|
indent,
|
|
@@ -127,6 +125,7 @@ function getAttrs(dom: HTMLElement): Object {
|
|
|
127
125
|
overriddenIndent,
|
|
128
126
|
overriddenIndentValue,
|
|
129
127
|
innerLink,
|
|
128
|
+
objectId,
|
|
130
129
|
};
|
|
131
130
|
}
|
|
132
131
|
|
|
@@ -135,7 +134,7 @@ function getStyle(attrs: Object) {
|
|
|
135
134
|
attrs.align,
|
|
136
135
|
attrs.lineSpacing,
|
|
137
136
|
attrs.paddingTop,
|
|
138
|
-
attrs.paddingBottom
|
|
137
|
+
attrs.paddingBottom
|
|
139
138
|
);
|
|
140
139
|
}
|
|
141
140
|
|
|
@@ -161,12 +160,21 @@ function getStyleEx(align, lineSpacing, paddingTop, paddingBottom) {
|
|
|
161
160
|
style += `padding-bottom: ${paddingBottom};`;
|
|
162
161
|
}
|
|
163
162
|
return { style };
|
|
164
|
-
|
|
165
163
|
}
|
|
166
164
|
|
|
167
165
|
function toDOM(node: Node): Array<any> {
|
|
168
|
-
const {
|
|
169
|
-
|
|
166
|
+
const {
|
|
167
|
+
indent,
|
|
168
|
+
id,
|
|
169
|
+
overriddenAlign,
|
|
170
|
+
overriddenAlignValue,
|
|
171
|
+
overriddenLineSpacing,
|
|
172
|
+
overriddenLineSpacingValue,
|
|
173
|
+
overriddenIndent,
|
|
174
|
+
overriddenIndentValue,
|
|
175
|
+
innerLink,
|
|
176
|
+
} = node.attrs;
|
|
177
|
+
const attrs = { ...node.attrs };
|
|
170
178
|
const { style } = getStyle(node.attrs);
|
|
171
179
|
|
|
172
180
|
style && (attrs.style = style);
|
|
@@ -196,7 +204,10 @@ export const getParagraphStyle = getStyle;
|
|
|
196
204
|
|
|
197
205
|
export function convertMarginLeftToIndentValue(marginLeft: string): number {
|
|
198
206
|
const ptValue = convertToCSSPTValue(marginLeft);
|
|
199
|
-
return Math.min(
|
|
207
|
+
return Math.min(
|
|
208
|
+
Math.max(Math.floor(ptValue / INDENT_MARGIN_PT_SIZE), MIN_INDENT_LEVEL),
|
|
209
|
+
MAX_INDENT_LEVEL
|
|
210
|
+
);
|
|
200
211
|
}
|
|
201
212
|
|
|
202
213
|
export default ParagraphNodeSpec;
|
package/StrikeMarkSpec.js
CHANGED
|
@@ -1,15 +1,22 @@
|
|
|
1
1
|
// https://bitbucket.org/atlassian/atlaskit/src/34facee3f461/packages/editor-core/src/schema/nodes/?at=master
|
|
2
2
|
var StrikeMarkSpec = {
|
|
3
|
+
attrs: {
|
|
4
|
+
overridden: {
|
|
5
|
+
"default": false
|
|
6
|
+
} // Optional attribute for additional logic
|
|
7
|
+
},
|
|
3
8
|
parseDOM: [{
|
|
4
|
-
|
|
5
|
-
getAttrs: function getAttrs(
|
|
6
|
-
|
|
9
|
+
tag: 'strike',
|
|
10
|
+
getAttrs: function getAttrs(dom) {
|
|
11
|
+
var _overridden = dom.getAttribute('overridden');
|
|
12
|
+
return {
|
|
13
|
+
overridden: _overridden === 'true'
|
|
14
|
+
};
|
|
7
15
|
}
|
|
8
16
|
}],
|
|
9
|
-
toDOM: function toDOM() {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
style: style
|
|
17
|
+
toDOM: function toDOM(mark) {
|
|
18
|
+
return ['strike', {
|
|
19
|
+
overridden: mark.attrs.overridden
|
|
13
20
|
}, 0];
|
|
14
21
|
}
|
|
15
22
|
};
|
package/StrikeMarkSpec.js.flow
CHANGED
|
@@ -4,17 +4,20 @@ import type { MarkSpec } from './Types.js';
|
|
|
4
4
|
|
|
5
5
|
// https://bitbucket.org/atlassian/atlaskit/src/34facee3f461/packages/editor-core/src/schema/nodes/?at=master
|
|
6
6
|
const StrikeMarkSpec: MarkSpec = {
|
|
7
|
+
attrs: {
|
|
8
|
+
overridden: { default: false }, // Optional attribute for additional logic
|
|
9
|
+
},
|
|
7
10
|
parseDOM: [
|
|
8
11
|
{
|
|
9
|
-
|
|
10
|
-
getAttrs: (
|
|
11
|
-
|
|
12
|
-
|
|
12
|
+
tag: 'strike',
|
|
13
|
+
getAttrs: (dom: HTMLElement) => {
|
|
14
|
+
const _overridden = dom.getAttribute('overridden');
|
|
15
|
+
return { overridden: _overridden === 'true' };
|
|
16
|
+
}
|
|
13
17
|
},
|
|
14
18
|
],
|
|
15
|
-
toDOM() {
|
|
16
|
-
|
|
17
|
-
return ['span', { style }, 0];
|
|
19
|
+
toDOM(mark) {
|
|
20
|
+
return ['strike', { overridden: mark.attrs.overridden }, 0];
|
|
18
21
|
},
|
|
19
22
|
};
|
|
20
23
|
|
package/StrongMarkSpec.js
CHANGED
|
@@ -1,25 +1,38 @@
|
|
|
1
|
-
var STRONG_DOM = ['strong', 0];
|
|
2
|
-
var CSS_BOLD_PATTERN = /^(bold(er)?|[5-9]\d{2,})$/;
|
|
3
1
|
var StrongMarkSpec = {
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
attrs: {
|
|
3
|
+
overridden: {
|
|
4
|
+
"default": false
|
|
5
|
+
}
|
|
6
6
|
},
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
parseDOM: [{
|
|
8
|
+
tag: 'strong',
|
|
9
|
+
getAttrs: function getAttrs(dom) {
|
|
10
|
+
var _overridden = dom.getAttribute('overridden');
|
|
11
|
+
return {
|
|
12
|
+
overridden: _overridden === 'true'
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
}, {
|
|
11
16
|
tag: 'b',
|
|
12
|
-
getAttrs: function getAttrs(
|
|
13
|
-
|
|
17
|
+
getAttrs: function getAttrs(dom) {
|
|
18
|
+
var _overridden = dom.getAttribute('overridden');
|
|
19
|
+
return {
|
|
20
|
+
overridden: _overridden === 'true'
|
|
21
|
+
};
|
|
14
22
|
}
|
|
15
23
|
}, {
|
|
16
|
-
|
|
17
|
-
getAttrs: function getAttrs(value) {
|
|
18
|
-
|
|
24
|
+
tag: 'span[style*=font-weight]',
|
|
25
|
+
getAttrs: function getAttrs(value, dom) {
|
|
26
|
+
var _overridden = dom.getAttribute('overridden');
|
|
27
|
+
return {
|
|
28
|
+
overridden: _overridden === 'true'
|
|
29
|
+
};
|
|
19
30
|
}
|
|
20
31
|
}],
|
|
21
|
-
toDOM: function toDOM() {
|
|
22
|
-
return
|
|
32
|
+
toDOM: function toDOM(mark) {
|
|
33
|
+
return ['strong', {
|
|
34
|
+
overridden: mark.attrs.overridden
|
|
35
|
+
}, 0];
|
|
23
36
|
}
|
|
24
37
|
};
|
|
25
38
|
export default StrongMarkSpec;
|
package/StrongMarkSpec.js.flow
CHANGED
|
@@ -2,23 +2,37 @@
|
|
|
2
2
|
|
|
3
3
|
import type { MarkSpec } from './Types.js';
|
|
4
4
|
|
|
5
|
-
const STRONG_DOM = ['strong', 0];
|
|
6
|
-
const CSS_BOLD_PATTERN = /^(bold(er)?|[5-9]\d{2,})$/;
|
|
7
|
-
|
|
8
5
|
const StrongMarkSpec: MarkSpec = {
|
|
6
|
+
attrs: {
|
|
7
|
+
overridden: { default: false }
|
|
8
|
+
},
|
|
9
9
|
parseDOM: [
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
|
|
11
|
+
{
|
|
12
|
+
tag: 'strong',
|
|
13
|
+
getAttrs: (dom: HTMLElement) => {
|
|
14
|
+
const _overridden = dom.getAttribute('overridden');
|
|
15
|
+
return { overridden: _overridden === 'true' };
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
tag: 'b',
|
|
20
|
+
getAttrs: (dom: HTMLElement) => {
|
|
21
|
+
const _overridden = dom.getAttribute('overridden');
|
|
22
|
+
return { overridden: _overridden === 'true' };
|
|
23
|
+
}
|
|
24
|
+
},
|
|
15
25
|
{
|
|
16
|
-
|
|
17
|
-
getAttrs: (value
|
|
26
|
+
tag: 'span[style*=font-weight]',
|
|
27
|
+
getAttrs: (value, dom: HTMLElement) => {
|
|
28
|
+
const _overridden = dom.getAttribute('overridden');
|
|
29
|
+
return { overridden: _overridden === 'true' };
|
|
30
|
+
|
|
31
|
+
},
|
|
18
32
|
},
|
|
19
33
|
],
|
|
20
|
-
toDOM() {
|
|
21
|
-
return
|
|
34
|
+
toDOM(mark) {
|
|
35
|
+
return ['strong', { overridden: mark.attrs.overridden }, 0];
|
|
22
36
|
},
|
|
23
37
|
};
|
|
24
38
|
|
package/TextColorMarkSpec.js
CHANGED
|
@@ -2,27 +2,34 @@ import { Node } from 'prosemirror-model';
|
|
|
2
2
|
import toCSSColor from './ui/toCSSColor.js';
|
|
3
3
|
var TextColorMarkSpec = {
|
|
4
4
|
attrs: {
|
|
5
|
-
color: ''
|
|
5
|
+
color: '',
|
|
6
|
+
overridden: {
|
|
7
|
+
"default": false
|
|
8
|
+
}
|
|
6
9
|
},
|
|
7
10
|
inline: true,
|
|
8
11
|
group: 'inline',
|
|
9
12
|
parseDOM: [{
|
|
10
|
-
|
|
11
|
-
getAttrs: function getAttrs(
|
|
13
|
+
tag: 'span[style*=color]',
|
|
14
|
+
getAttrs: function getAttrs(dom) {
|
|
15
|
+
var color = dom.style.color;
|
|
16
|
+
var overridden = dom.getAttribute('overridden') === 'true'; // Extract overridden flag
|
|
12
17
|
return {
|
|
13
|
-
color: toCSSColor(color)
|
|
18
|
+
color: toCSSColor(color),
|
|
19
|
+
overridden: overridden
|
|
14
20
|
};
|
|
15
21
|
}
|
|
16
22
|
}],
|
|
17
23
|
toDOM: function toDOM(node) {
|
|
18
|
-
var
|
|
19
|
-
|
|
24
|
+
var _node$attrs = node.attrs,
|
|
25
|
+
color = _node$attrs.color,
|
|
26
|
+
overridden = _node$attrs.overridden;
|
|
27
|
+
var attrs = {};
|
|
20
28
|
if (color) {
|
|
21
|
-
style
|
|
29
|
+
attrs.style = "color: ".concat(color, ";");
|
|
30
|
+
attrs['overridden'] = overridden.toString();
|
|
22
31
|
}
|
|
23
|
-
return ['span',
|
|
24
|
-
style: style
|
|
25
|
-
}, 0];
|
|
32
|
+
return ['span', attrs, 0];
|
|
26
33
|
}
|
|
27
34
|
};
|
|
28
35
|
export default TextColorMarkSpec;
|
|
@@ -9,26 +9,31 @@ import type { MarkSpec } from './Types.js';
|
|
|
9
9
|
const TextColorMarkSpec: MarkSpec = {
|
|
10
10
|
attrs: {
|
|
11
11
|
color: '',
|
|
12
|
+
overridden: { default: false },
|
|
12
13
|
},
|
|
13
14
|
inline: true,
|
|
14
15
|
group: 'inline',
|
|
15
16
|
parseDOM: [
|
|
16
17
|
{
|
|
17
|
-
|
|
18
|
-
getAttrs: (
|
|
18
|
+
tag: 'span[style*=color]',
|
|
19
|
+
getAttrs: (dom: HTMLElement) => {
|
|
20
|
+
const { color } = dom.style;
|
|
21
|
+
const overridden = dom.getAttribute('overridden') === 'true'; // Extract overridden flag
|
|
19
22
|
return {
|
|
20
23
|
color: toCSSColor(color),
|
|
24
|
+
overridden
|
|
21
25
|
};
|
|
22
26
|
},
|
|
23
27
|
},
|
|
24
28
|
],
|
|
25
29
|
toDOM(node: Node) {
|
|
26
|
-
const { color } = node.attrs;
|
|
27
|
-
|
|
30
|
+
const { color, overridden } = node.attrs;
|
|
31
|
+
const attrs = {};
|
|
28
32
|
if (color) {
|
|
29
|
-
style
|
|
33
|
+
attrs.style = `color: ${color};`;
|
|
34
|
+
attrs['overridden'] = overridden.toString();
|
|
30
35
|
}
|
|
31
|
-
return ['span',
|
|
36
|
+
return ['span', attrs, 0];
|
|
32
37
|
},
|
|
33
38
|
};
|
|
34
39
|
|
package/TextHighlightMarkSpec.js
CHANGED
|
@@ -2,29 +2,39 @@ import { Node } from 'prosemirror-model';
|
|
|
2
2
|
import { isTransparent, toCSSColor } from './ui/toCSSColor.js';
|
|
3
3
|
var TextHighlightMarkSpec = {
|
|
4
4
|
attrs: {
|
|
5
|
-
highlightColor: ''
|
|
5
|
+
highlightColor: '',
|
|
6
|
+
overridden: {
|
|
7
|
+
"default": false
|
|
8
|
+
}
|
|
6
9
|
},
|
|
7
10
|
inline: true,
|
|
8
11
|
group: 'inline',
|
|
9
12
|
parseDOM: [{
|
|
10
13
|
tag: 'span[style*=background-color]',
|
|
14
|
+
priority: 100,
|
|
11
15
|
getAttrs: function getAttrs(dom) {
|
|
12
16
|
var backgroundColor = dom.style.backgroundColor;
|
|
13
17
|
var color = toCSSColor(backgroundColor);
|
|
18
|
+
var overridden = dom.getAttribute('overridden') === 'true'; // Extract overridden flag
|
|
19
|
+
|
|
14
20
|
return {
|
|
15
|
-
highlightColor: isTransparent(color) ? '' : color
|
|
21
|
+
highlightColor: isTransparent(color) ? '' : color,
|
|
22
|
+
overridden: overridden // Ensure overridden is captured
|
|
16
23
|
};
|
|
17
24
|
}
|
|
18
25
|
}],
|
|
19
26
|
toDOM: function toDOM(node) {
|
|
20
|
-
var
|
|
21
|
-
|
|
27
|
+
var _node$attrs = node.attrs,
|
|
28
|
+
highlightColor = _node$attrs.highlightColor,
|
|
29
|
+
overridden = _node$attrs.overridden;
|
|
30
|
+
var attrs = {};
|
|
22
31
|
if (highlightColor) {
|
|
23
|
-
style
|
|
32
|
+
attrs.style = "background-color: ".concat(highlightColor, ";");
|
|
24
33
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
34
|
+
|
|
35
|
+
// Store overridden flag properly as a data attribute
|
|
36
|
+
attrs['overridden'] = overridden.toString();
|
|
37
|
+
return ['span', attrs, 0];
|
|
28
38
|
}
|
|
29
39
|
};
|
|
30
40
|
export default TextHighlightMarkSpec;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
// @flow
|
|
2
2
|
|
|
3
3
|
import { Node } from 'prosemirror-model';
|
|
4
|
-
|
|
5
4
|
import { isTransparent, toCSSColor } from './ui/toCSSColor.js';
|
|
6
5
|
|
|
7
6
|
import type { MarkSpec } from './Types.js';
|
|
@@ -9,29 +8,39 @@ import type { MarkSpec } from './Types.js';
|
|
|
9
8
|
const TextHighlightMarkSpec: MarkSpec = {
|
|
10
9
|
attrs: {
|
|
11
10
|
highlightColor: '',
|
|
11
|
+
overridden: { default: false },
|
|
12
12
|
},
|
|
13
13
|
inline: true,
|
|
14
14
|
group: 'inline',
|
|
15
15
|
parseDOM: [
|
|
16
16
|
{
|
|
17
17
|
tag: 'span[style*=background-color]',
|
|
18
|
+
priority: 100,
|
|
18
19
|
getAttrs: (dom: HTMLElement) => {
|
|
19
|
-
const {backgroundColor} = dom.style;
|
|
20
|
+
const { backgroundColor } = dom.style;
|
|
20
21
|
const color = toCSSColor(backgroundColor);
|
|
22
|
+
const overridden = dom.getAttribute('overridden') === 'true'; // Extract overridden flag
|
|
23
|
+
|
|
21
24
|
return {
|
|
22
25
|
highlightColor: isTransparent(color) ? '' : color,
|
|
26
|
+
overridden, // Ensure overridden is captured
|
|
23
27
|
};
|
|
24
28
|
},
|
|
25
29
|
},
|
|
26
30
|
],
|
|
27
31
|
|
|
28
32
|
toDOM(node: Node) {
|
|
29
|
-
const {highlightColor} = node.attrs;
|
|
30
|
-
|
|
33
|
+
const { highlightColor, overridden } = node.attrs;
|
|
34
|
+
const attrs = {};
|
|
35
|
+
|
|
31
36
|
if (highlightColor) {
|
|
32
|
-
style
|
|
37
|
+
attrs.style = `background-color: ${highlightColor};`;
|
|
33
38
|
}
|
|
34
|
-
|
|
39
|
+
|
|
40
|
+
// Store overridden flag properly as a data attribute
|
|
41
|
+
attrs['overridden'] = overridden.toString();
|
|
42
|
+
|
|
43
|
+
return ['span', attrs, 0];
|
|
35
44
|
},
|
|
36
45
|
};
|
|
37
46
|
|
package/TextSubMarkSpec.js
CHANGED
|
@@ -1,14 +1,28 @@
|
|
|
1
1
|
var TextSubMarkSpec = {
|
|
2
|
+
attrs: {
|
|
3
|
+
overridden: {
|
|
4
|
+
"default": false
|
|
5
|
+
}
|
|
6
|
+
},
|
|
2
7
|
parseDOM: [{
|
|
3
|
-
tag: 'sub'
|
|
8
|
+
tag: 'sub',
|
|
9
|
+
getAttrs: function getAttrs() {
|
|
10
|
+
return {
|
|
11
|
+
overridden: false
|
|
12
|
+
};
|
|
13
|
+
}
|
|
4
14
|
}, {
|
|
5
15
|
style: 'vertical-align',
|
|
6
16
|
getAttrs: function getAttrs(value) {
|
|
7
|
-
return value === 'sub'
|
|
17
|
+
return value === 'sub' ? {
|
|
18
|
+
overridden: false
|
|
19
|
+
} : null;
|
|
8
20
|
}
|
|
9
21
|
}],
|
|
10
|
-
toDOM: function toDOM() {
|
|
11
|
-
return ['sub',
|
|
22
|
+
toDOM: function toDOM(mark) {
|
|
23
|
+
return ['sub', {
|
|
24
|
+
overridden: mark.attrs.overridden
|
|
25
|
+
}, 0];
|
|
12
26
|
}
|
|
13
27
|
};
|
|
14
28
|
export default TextSubMarkSpec;
|
package/TextSubMarkSpec.js.flow
CHANGED
|
@@ -3,17 +3,18 @@
|
|
|
3
3
|
import type { MarkSpec } from './Types.js';
|
|
4
4
|
|
|
5
5
|
const TextSubMarkSpec: MarkSpec = {
|
|
6
|
+
attrs: {
|
|
7
|
+
overridden: { default: false },
|
|
8
|
+
},
|
|
6
9
|
parseDOM: [
|
|
7
|
-
{ tag: 'sub' },
|
|
10
|
+
{ tag: 'sub', getAttrs: () => ({ overridden: false }) },
|
|
8
11
|
{
|
|
9
12
|
style: 'vertical-align',
|
|
10
|
-
getAttrs: (value) => {
|
|
11
|
-
return value === 'sub' && null;
|
|
12
|
-
},
|
|
13
|
+
getAttrs: (value) => (value === 'sub' ? { overridden: false } : null),
|
|
13
14
|
},
|
|
14
15
|
],
|
|
15
|
-
toDOM() {
|
|
16
|
-
return ['sub', 0];
|
|
16
|
+
toDOM(mark) {
|
|
17
|
+
return ['sub', { overridden: mark.attrs.overridden }, 0];
|
|
17
18
|
},
|
|
18
19
|
};
|
|
19
20
|
|
package/TextSuperMarkSpec.js
CHANGED
|
@@ -1,14 +1,28 @@
|
|
|
1
1
|
var TextSuperMarkSpec = {
|
|
2
|
+
attrs: {
|
|
3
|
+
overridden: {
|
|
4
|
+
"default": false
|
|
5
|
+
}
|
|
6
|
+
},
|
|
2
7
|
parseDOM: [{
|
|
3
|
-
tag: 'sup'
|
|
8
|
+
tag: 'sup',
|
|
9
|
+
getAttrs: function getAttrs() {
|
|
10
|
+
return {
|
|
11
|
+
overridden: false
|
|
12
|
+
};
|
|
13
|
+
}
|
|
4
14
|
}, {
|
|
5
15
|
style: 'vertical-align',
|
|
6
16
|
getAttrs: function getAttrs(value) {
|
|
7
|
-
return value === 'super'
|
|
17
|
+
return value === 'super' ? {
|
|
18
|
+
overridden: false
|
|
19
|
+
} : null;
|
|
8
20
|
}
|
|
9
21
|
}],
|
|
10
|
-
toDOM: function toDOM() {
|
|
11
|
-
return ['sup',
|
|
22
|
+
toDOM: function toDOM(mark) {
|
|
23
|
+
return ['sup', {
|
|
24
|
+
overridden: mark.attrs.overridden
|
|
25
|
+
}, 0];
|
|
12
26
|
}
|
|
13
27
|
};
|
|
14
28
|
export default TextSuperMarkSpec;
|
|
@@ -3,17 +3,18 @@
|
|
|
3
3
|
import type { MarkSpec } from './Types.js';
|
|
4
4
|
|
|
5
5
|
const TextSuperMarkSpec: MarkSpec = {
|
|
6
|
+
attrs: {
|
|
7
|
+
overridden: { default: false },
|
|
8
|
+
},
|
|
6
9
|
parseDOM: [
|
|
7
|
-
{ tag: 'sup' },
|
|
10
|
+
{ tag: 'sup', getAttrs: () => ({ overridden: false }) },
|
|
8
11
|
{
|
|
9
12
|
style: 'vertical-align',
|
|
10
|
-
getAttrs: (value) => {
|
|
11
|
-
return value === 'super' && null;
|
|
12
|
-
},
|
|
13
|
+
getAttrs: (value) => (value === 'super' ? { overridden: false } : null),
|
|
13
14
|
},
|
|
14
15
|
],
|
|
15
|
-
toDOM() {
|
|
16
|
-
return ['sup', 0];
|
|
16
|
+
toDOM(mark) {
|
|
17
|
+
return ['sup', { overridden: mark.attrs.overridden }, 0];
|
|
17
18
|
},
|
|
18
19
|
};
|
|
19
20
|
|
package/TextUnderlineMarkSpec.js
CHANGED
|
@@ -1,20 +1,23 @@
|
|
|
1
1
|
// https://bitbucket.org/atlassian/atlaskit/src/34facee3f461/packages/editor-core/src/schema/nodes/?at=master
|
|
2
2
|
var TextUnderlineMarkSpec = {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
style: 'text-decoration-line',
|
|
7
|
-
getAttrs: function getAttrs(value) {
|
|
8
|
-
return value === 'underline' && null;
|
|
3
|
+
attrs: {
|
|
4
|
+
overridden: {
|
|
5
|
+
"default": false
|
|
9
6
|
}
|
|
10
|
-
},
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
7
|
+
},
|
|
8
|
+
parseDOM: [{
|
|
9
|
+
tag: 'u',
|
|
10
|
+
getAttrs: function getAttrs(dom) {
|
|
11
|
+
var _overridden = dom.getAttribute('overridden');
|
|
12
|
+
return {
|
|
13
|
+
overridden: _overridden === 'true'
|
|
14
|
+
};
|
|
14
15
|
}
|
|
15
16
|
}],
|
|
16
|
-
toDOM: function toDOM() {
|
|
17
|
-
return ['u',
|
|
17
|
+
toDOM: function toDOM(mark) {
|
|
18
|
+
return ['u', {
|
|
19
|
+
overridden: mark.attrs.overridden
|
|
20
|
+
}, 0];
|
|
18
21
|
}
|
|
19
22
|
};
|
|
20
23
|
export default TextUnderlineMarkSpec;
|
|
@@ -4,23 +4,20 @@ import type { MarkSpec } from './Types.js';
|
|
|
4
4
|
|
|
5
5
|
// https://bitbucket.org/atlassian/atlaskit/src/34facee3f461/packages/editor-core/src/schema/nodes/?at=master
|
|
6
6
|
const TextUnderlineMarkSpec: MarkSpec = {
|
|
7
|
+
attrs: {
|
|
8
|
+
overridden: { default: false },
|
|
9
|
+
},
|
|
7
10
|
parseDOM: [
|
|
8
|
-
{ tag: 'u' },
|
|
9
|
-
{
|
|
10
|
-
style: 'text-decoration-line',
|
|
11
|
-
getAttrs: (value) => {
|
|
12
|
-
return value === 'underline' && null;
|
|
13
|
-
},
|
|
14
|
-
},
|
|
15
11
|
{
|
|
16
|
-
|
|
17
|
-
getAttrs: (
|
|
18
|
-
|
|
19
|
-
|
|
12
|
+
tag: 'u',
|
|
13
|
+
getAttrs: (dom: HTMLElement) => {
|
|
14
|
+
const _overridden = dom.getAttribute('overridden');
|
|
15
|
+
return { overridden: _overridden === 'true' };
|
|
16
|
+
}
|
|
20
17
|
},
|
|
21
18
|
],
|
|
22
|
-
toDOM() {
|
|
23
|
-
return ['u', 0];
|
|
19
|
+
toDOM(mark) {
|
|
20
|
+
return ['u', { overridden: mark.attrs.overridden }, 0];
|
|
24
21
|
},
|
|
25
22
|
};
|
|
26
23
|
|