@openleaf-editor/core 0.1.0-beta.1 → 0.1.0-beta.3
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/README.md +115 -0
- package/dist/autolink.d.ts +12 -0
- package/dist/autolink.d.ts.map +1 -0
- package/dist/autolink.js +136 -0
- package/dist/autolink.js.map +1 -0
- package/dist/command-helpers.d.ts +8 -0
- package/dist/command-helpers.d.ts.map +1 -0
- package/dist/command-helpers.js +36 -0
- package/dist/command-helpers.js.map +1 -0
- package/dist/commands.d.ts +43 -22
- package/dist/commands.d.ts.map +1 -1
- package/dist/commands.js +513 -115
- package/dist/commands.js.map +1 -1
- package/dist/css.d.ts +1 -123
- package/dist/css.d.ts.map +1 -1
- package/dist/css.js +1 -214
- package/dist/css.js.map +1 -1
- package/dist/disclosure.d.ts +21 -0
- package/dist/disclosure.d.ts.map +1 -0
- package/dist/disclosure.js +144 -0
- package/dist/disclosure.js.map +1 -0
- package/dist/elements.d.ts +2 -0
- package/dist/elements.d.ts.map +1 -0
- package/dist/elements.js +2 -0
- package/dist/elements.js.map +1 -0
- package/dist/embed.d.ts +2 -0
- package/dist/embed.d.ts.map +1 -0
- package/dist/embed.js +2 -0
- package/dist/embed.js.map +1 -0
- package/dist/errors.d.ts +38 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +40 -0
- package/dist/errors.js.map +1 -0
- package/dist/extensions.d.ts +46 -5
- package/dist/extensions.d.ts.map +1 -1
- package/dist/extensions.js +292 -65
- package/dist/extensions.js.map +1 -1
- package/dist/formats.d.ts +44 -0
- package/dist/formats.d.ts.map +1 -0
- package/dist/formats.js +123 -0
- package/dist/formats.js.map +1 -0
- package/dist/html.d.ts +32 -2
- package/dist/html.d.ts.map +1 -1
- package/dist/html.js +185 -31
- package/dist/html.js.map +1 -1
- package/dist/index.d.ts +27 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +44 -10
- package/dist/index.js.map +1 -1
- package/dist/insert-commands.d.ts +172 -0
- package/dist/insert-commands.d.ts.map +1 -0
- package/dist/insert-commands.js +560 -0
- package/dist/insert-commands.js.map +1 -0
- package/dist/isolating-selection.d.ts +41 -0
- package/dist/isolating-selection.d.ts.map +1 -0
- package/dist/isolating-selection.js +162 -0
- package/dist/isolating-selection.js.map +1 -0
- package/dist/keymap.d.ts.map +1 -1
- package/dist/keymap.js +6 -3
- package/dist/keymap.js.map +1 -1
- package/dist/noneditable.d.ts +14 -0
- package/dist/noneditable.d.ts.map +1 -0
- package/dist/noneditable.js +107 -0
- package/dist/noneditable.js.map +1 -0
- package/dist/plugins.d.ts +20 -2
- package/dist/plugins.d.ts.map +1 -1
- package/dist/plugins.js +27 -2
- package/dist/plugins.js.map +1 -1
- package/dist/preserve.d.ts +76 -0
- package/dist/preserve.d.ts.map +1 -1
- package/dist/preserve.js +308 -58
- package/dist/preserve.js.map +1 -1
- package/dist/schema.d.ts +15 -0
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +356 -76
- package/dist/schema.js.map +1 -1
- package/dist/structure.d.ts +76 -0
- package/dist/structure.d.ts.map +1 -0
- package/dist/structure.js +422 -0
- package/dist/structure.js.map +1 -0
- package/dist/tables.d.ts +60 -1
- package/dist/tables.d.ts.map +1 -1
- package/dist/tables.js +617 -35
- package/dist/tables.js.map +1 -1
- package/dist/testing.d.ts +3 -0
- package/dist/testing.d.ts.map +1 -0
- package/dist/testing.js +3 -0
- package/dist/testing.js.map +1 -0
- package/dist/tokens.d.ts +36 -0
- package/dist/tokens.d.ts.map +1 -0
- package/dist/tokens.js +116 -0
- package/dist/tokens.js.map +1 -0
- package/dist/url.d.ts +1 -25
- package/dist/url.d.ts.map +1 -1
- package/dist/url.js +1 -77
- package/dist/url.js.map +1 -1
- package/dist/visual-aids.d.ts +20 -0
- package/dist/visual-aids.d.ts.map +1 -0
- package/dist/visual-aids.js +149 -0
- package/dist/visual-aids.js.map +1 -0
- package/package.json +16 -1
package/dist/schema.js
CHANGED
|
@@ -8,9 +8,11 @@
|
|
|
8
8
|
* there rather than at the package boundary.
|
|
9
9
|
*/
|
|
10
10
|
import { Schema } from 'prosemirror-model';
|
|
11
|
-
import { applyStyleAttribute, parseDeclarations, safeAlign, safeColor } from './css.js';
|
|
12
|
-
import { serializationTarget, unknownBlock, unknownInline } from './preserve.js';
|
|
11
|
+
import { INLINE_STYLE_PROPERTIES, applyStyleAttribute, indentCss, indentLevels, isFullyModelledStyle, modelledValue, parseDeclarations, safeAlign, safeColor, safeDir, safeFontFamily, safeFontSize, safeLang, safeLineHeight, safeListStyle, serializeDeclarations } from './css.js';
|
|
12
|
+
import { isLosslesslyUnwrappable, serializationTarget, unknownBlock, unknownInline } from './preserve.js';
|
|
13
|
+
import { audio, details, figcaption, figure, iframe, imageDomAttrs, imageParseAttrs, isEmptyNamedAnchorElement, named_anchor, page_break, summary, video, } from './structure.js';
|
|
13
14
|
import { table, table_cell, table_header, table_row } from './tables.js';
|
|
15
|
+
import { safeId } from './tokens.js';
|
|
14
16
|
import { isSafeUrl } from './url.js';
|
|
15
17
|
/**
|
|
16
18
|
* Read the attributes every text block shares: direction and alignment.
|
|
@@ -23,27 +25,61 @@ import { isSafeUrl } from './url.js';
|
|
|
23
25
|
* declaration silently centres nothing.
|
|
24
26
|
*/
|
|
25
27
|
function textBlockAttrs(el) {
|
|
26
|
-
const dir = el.getAttribute('dir');
|
|
27
|
-
const
|
|
28
|
-
return {
|
|
28
|
+
const dir = safeDir(el.getAttribute('dir'));
|
|
29
|
+
const declarations = parseDeclarations(el.getAttribute('style'));
|
|
30
|
+
return {
|
|
31
|
+
dir,
|
|
32
|
+
align: safeAlign(declarations.get('text-align') ?? el.getAttribute('align'), dir),
|
|
33
|
+
lineHeight: safeLineHeight(declarations.get('line-height') ?? null),
|
|
34
|
+
indent: readIndent(declarations),
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
function readIndent(declarations) {
|
|
38
|
+
for (const property of [
|
|
39
|
+
'padding-inline-start',
|
|
40
|
+
'margin-inline-start',
|
|
41
|
+
'padding-left',
|
|
42
|
+
'margin-left',
|
|
43
|
+
]) {
|
|
44
|
+
const steps = indentLevels(declarations.get(property));
|
|
45
|
+
if (steps !== null)
|
|
46
|
+
return steps;
|
|
47
|
+
}
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
function headingAttrs(el, level) {
|
|
51
|
+
return { level, id: safeId(el.getAttribute('id')), ...textBlockAttrs(el) };
|
|
29
52
|
}
|
|
30
53
|
/**
|
|
31
54
|
* Write them back.
|
|
32
55
|
*
|
|
33
|
-
* Alignment
|
|
34
|
-
*
|
|
35
|
-
* HTML. The `align` attribute the
|
|
36
|
-
*
|
|
37
|
-
*
|
|
56
|
+
* Alignment, line height and indent go out as a single `style` attribute in a
|
|
57
|
+
* stable order, never as the legacy `align` attribute, so stored content
|
|
58
|
+
* converges on the form that is still valid HTML. The `align` attribute the
|
|
59
|
+
* value may have been read from is dropped from the carried residue by
|
|
60
|
+
* extensions.ts.
|
|
38
61
|
*/
|
|
39
62
|
function textBlockDOMAttrs(attrs) {
|
|
40
63
|
const out = {};
|
|
41
64
|
const dir = attrs['dir'];
|
|
42
65
|
if (dir !== null)
|
|
43
66
|
out['dir'] = dir;
|
|
67
|
+
const id = attrs['id'];
|
|
68
|
+
if (id)
|
|
69
|
+
out['id'] = id;
|
|
70
|
+
const declarations = new Map();
|
|
44
71
|
const align = attrs['align'];
|
|
45
72
|
if (align !== null)
|
|
46
|
-
|
|
73
|
+
declarations.set('text-align', align);
|
|
74
|
+
const lineHeight = attrs['lineHeight'];
|
|
75
|
+
if (lineHeight !== null)
|
|
76
|
+
declarations.set('line-height', lineHeight);
|
|
77
|
+
const indent = attrs['indent'];
|
|
78
|
+
if (indent !== null && indent > 0)
|
|
79
|
+
declarations.set('padding-inline-start', indentCss(indent));
|
|
80
|
+
const style = serializeDeclarations(declarations);
|
|
81
|
+
if (style !== null)
|
|
82
|
+
out['style'] = style;
|
|
47
83
|
return out;
|
|
48
84
|
}
|
|
49
85
|
/**
|
|
@@ -72,6 +108,57 @@ function textBlockToDOM(tag, attrs) {
|
|
|
72
108
|
return elementWithStyle(tag, domAttrs);
|
|
73
109
|
return Object.keys(domAttrs).length > 0 ? [tag, domAttrs, 0] : [tag, 0];
|
|
74
110
|
}
|
|
111
|
+
/**
|
|
112
|
+
* The `start` of an ordered list, or null when the attribute is not a number.
|
|
113
|
+
*
|
|
114
|
+
* `Number('abc')` is `NaN`, and `NaN` is a perfectly good value to store on a
|
|
115
|
+
* node -- so `<ol start="abc">` was stored as `NaN` and serialized as the string
|
|
116
|
+
* `start="NaN"`, turning a value the browser ignores into one it still ignores
|
|
117
|
+
* but that is now in the customer's database with our fingerprints on it.
|
|
118
|
+
* Returning null instead lets extensions.ts carry the original spelling as
|
|
119
|
+
* residue, so the attribute survives without being interpreted.
|
|
120
|
+
*
|
|
121
|
+
* Exported so that the carry mechanism asks the same question this does. Two
|
|
122
|
+
* copies of "is this a valid start" is how they would disagree and emit the
|
|
123
|
+
* attribute twice, or neither time.
|
|
124
|
+
*/
|
|
125
|
+
export function listStart(value) {
|
|
126
|
+
if (value === null || value === undefined)
|
|
127
|
+
return null;
|
|
128
|
+
const parsed = Number.parseInt(value.trim(), 10);
|
|
129
|
+
return Number.isFinite(parsed) ? parsed : null;
|
|
130
|
+
}
|
|
131
|
+
function listAttrs(el, ordered) {
|
|
132
|
+
const declarations = parseDeclarations(el.getAttribute('style'));
|
|
133
|
+
const fromStyle = safeListStyle(declarations.get('list-style-type') ?? null);
|
|
134
|
+
const fromType = safeListStyle(el.getAttribute('type'));
|
|
135
|
+
const listStyle = fromStyle ?? fromType;
|
|
136
|
+
if (!ordered)
|
|
137
|
+
return { listStyle };
|
|
138
|
+
return { start: listStart(el.getAttribute('start')) ?? 1, listStyle };
|
|
139
|
+
}
|
|
140
|
+
function listToDOM(tag, attrs) {
|
|
141
|
+
const out = {};
|
|
142
|
+
if (tag === 'ol') {
|
|
143
|
+
const start = attrs['start'];
|
|
144
|
+
if (start !== 1)
|
|
145
|
+
out['start'] = String(start);
|
|
146
|
+
}
|
|
147
|
+
const listStyle = attrs['listStyle'];
|
|
148
|
+
if (listStyle !== null)
|
|
149
|
+
out['style'] = `list-style-type:${listStyle}`;
|
|
150
|
+
if (out['style'] !== undefined) {
|
|
151
|
+
const el = serializationTarget().createElement(tag);
|
|
152
|
+
for (const [name, value] of Object.entries(out)) {
|
|
153
|
+
if (name === 'style')
|
|
154
|
+
applyStyleAttribute(el, value);
|
|
155
|
+
else
|
|
156
|
+
el.setAttribute(name, value);
|
|
157
|
+
}
|
|
158
|
+
return { dom: el, contentDOM: el };
|
|
159
|
+
}
|
|
160
|
+
return Object.keys(out).length > 0 ? [tag, out, 0] : [tag, 0];
|
|
161
|
+
}
|
|
75
162
|
/** The base node specs. Extensions are appended to these. */
|
|
76
163
|
export const coreNodes = {
|
|
77
164
|
doc: { content: 'block+' },
|
|
@@ -86,20 +173,32 @@ export const coreNodes = {
|
|
|
86
173
|
// toolbar, so an author cannot see that a paragraph is centred or change
|
|
87
174
|
// it. A formatting control the editor cannot express is a feature request
|
|
88
175
|
// the schema is answering.
|
|
89
|
-
attrs: {
|
|
176
|
+
attrs: {
|
|
177
|
+
dir: { default: null },
|
|
178
|
+
align: { default: null },
|
|
179
|
+
lineHeight: { default: null },
|
|
180
|
+
indent: { default: null },
|
|
181
|
+
},
|
|
90
182
|
content: 'inline*',
|
|
91
183
|
group: 'block',
|
|
92
184
|
parseDOM: [{ tag: 'p', getAttrs: (dom) => textBlockAttrs(dom) }],
|
|
93
185
|
toDOM: (node) => textBlockToDOM('p', node.attrs),
|
|
94
186
|
},
|
|
95
187
|
heading: {
|
|
96
|
-
attrs: {
|
|
188
|
+
attrs: {
|
|
189
|
+
level: { default: 1 },
|
|
190
|
+
dir: { default: null },
|
|
191
|
+
align: { default: null },
|
|
192
|
+
lineHeight: { default: null },
|
|
193
|
+
indent: { default: null },
|
|
194
|
+
id: { default: null },
|
|
195
|
+
},
|
|
97
196
|
content: 'inline*',
|
|
98
197
|
group: 'block',
|
|
99
198
|
defining: true,
|
|
100
199
|
parseDOM: [1, 2, 3, 4, 5, 6].map((level) => ({
|
|
101
200
|
tag: `h${level}`,
|
|
102
|
-
getAttrs: (dom) => (
|
|
201
|
+
getAttrs: (dom) => headingAttrs(dom, level),
|
|
103
202
|
})),
|
|
104
203
|
toDOM: (node) => textBlockToDOM(`h${node.attrs['level']}`, node.attrs),
|
|
105
204
|
},
|
|
@@ -146,32 +245,37 @@ export const coreNodes = {
|
|
|
146
245
|
},
|
|
147
246
|
horizontal_rule: {
|
|
148
247
|
group: 'block',
|
|
149
|
-
parseDOM: [
|
|
248
|
+
parseDOM: [
|
|
249
|
+
{
|
|
250
|
+
tag: 'hr',
|
|
251
|
+
getAttrs: (dom) => (dom.classList.contains('ol-pagebreak') ? false : null),
|
|
252
|
+
},
|
|
253
|
+
],
|
|
150
254
|
toDOM: () => ['hr'],
|
|
151
255
|
},
|
|
152
256
|
bullet_list: {
|
|
257
|
+
attrs: { listStyle: { default: null } },
|
|
153
258
|
content: 'list_item+',
|
|
154
259
|
group: 'block',
|
|
155
|
-
parseDOM: [
|
|
156
|
-
|
|
260
|
+
parseDOM: [
|
|
261
|
+
{
|
|
262
|
+
tag: 'ul',
|
|
263
|
+
getAttrs: (dom) => listAttrs(dom, false),
|
|
264
|
+
},
|
|
265
|
+
],
|
|
266
|
+
toDOM: (node) => listToDOM('ul', node.attrs),
|
|
157
267
|
},
|
|
158
268
|
ordered_list: {
|
|
159
|
-
attrs: { start: { default: 1 } },
|
|
269
|
+
attrs: { start: { default: 1 }, listStyle: { default: null } },
|
|
160
270
|
content: 'list_item+',
|
|
161
271
|
group: 'block',
|
|
162
272
|
parseDOM: [
|
|
163
273
|
{
|
|
164
274
|
tag: 'ol',
|
|
165
|
-
getAttrs(dom)
|
|
166
|
-
const start = dom.getAttribute('start');
|
|
167
|
-
return { start: start ? Number(start) : 1 };
|
|
168
|
-
},
|
|
275
|
+
getAttrs: (dom) => listAttrs(dom, true),
|
|
169
276
|
},
|
|
170
277
|
],
|
|
171
|
-
toDOM(node)
|
|
172
|
-
const start = node.attrs['start'];
|
|
173
|
-
return start === 1 ? ['ol', 0] : ['ol', { start: String(start) }, 0];
|
|
174
|
-
},
|
|
278
|
+
toDOM: (node) => listToDOM('ol', node.attrs),
|
|
175
279
|
},
|
|
176
280
|
list_item: {
|
|
177
281
|
content: 'paragraph block*',
|
|
@@ -189,41 +293,16 @@ export const coreNodes = {
|
|
|
189
293
|
title: { default: null },
|
|
190
294
|
width: { default: null },
|
|
191
295
|
height: { default: null },
|
|
296
|
+
align: { default: null },
|
|
297
|
+
className: { default: null },
|
|
192
298
|
},
|
|
193
299
|
parseDOM: [
|
|
194
300
|
{
|
|
195
301
|
tag: 'img[src]',
|
|
196
|
-
getAttrs(dom)
|
|
197
|
-
const el = dom;
|
|
198
|
-
// Returning false declines the rule, so an image with a
|
|
199
|
-
// `javascript:` src is dropped rather than carried through.
|
|
200
|
-
if (!isSafeUrl(el.getAttribute('src')))
|
|
201
|
-
return false;
|
|
202
|
-
return {
|
|
203
|
-
src: el.getAttribute('src'),
|
|
204
|
-
// An absent alt and alt="" mean different things to a screen
|
|
205
|
-
// reader: "undescribed" versus "decorative". Never conflate them.
|
|
206
|
-
alt: el.getAttribute('alt'),
|
|
207
|
-
title: el.getAttribute('title'),
|
|
208
|
-
width: el.getAttribute('width'),
|
|
209
|
-
height: el.getAttribute('height'),
|
|
210
|
-
};
|
|
211
|
-
},
|
|
302
|
+
getAttrs: (dom) => imageParseAttrs(dom),
|
|
212
303
|
},
|
|
213
304
|
],
|
|
214
|
-
toDOM(node)
|
|
215
|
-
const { src, alt, title, width, height } = node.attrs;
|
|
216
|
-
const attrs = { src: src };
|
|
217
|
-
if (alt !== null)
|
|
218
|
-
attrs['alt'] = alt;
|
|
219
|
-
if (title !== null)
|
|
220
|
-
attrs['title'] = title;
|
|
221
|
-
if (width !== null)
|
|
222
|
-
attrs['width'] = width;
|
|
223
|
-
if (height !== null)
|
|
224
|
-
attrs['height'] = height;
|
|
225
|
-
return ['img', attrs];
|
|
226
|
-
},
|
|
305
|
+
toDOM: (node) => ['img', imageDomAttrs(node.attrs)],
|
|
227
306
|
},
|
|
228
307
|
hard_break: {
|
|
229
308
|
inline: true,
|
|
@@ -242,9 +321,69 @@ export const coreNodes = {
|
|
|
242
321
|
table_row,
|
|
243
322
|
table_cell,
|
|
244
323
|
table_header,
|
|
324
|
+
// Media and structure: in the base schema so stored documents stay editable.
|
|
325
|
+
// The insert dialogs, character map and resize handles are the opt-in plugin.
|
|
326
|
+
video,
|
|
327
|
+
audio,
|
|
328
|
+
iframe,
|
|
329
|
+
details,
|
|
330
|
+
summary,
|
|
331
|
+
figure,
|
|
332
|
+
figcaption,
|
|
333
|
+
page_break,
|
|
334
|
+
named_anchor,
|
|
245
335
|
unknown_block: unknownBlock,
|
|
246
336
|
unknown_inline: unknownInline,
|
|
247
337
|
};
|
|
338
|
+
/**
|
|
339
|
+
* True when a `<span>` carries nothing but formatting the mark set can express.
|
|
340
|
+
*
|
|
341
|
+
* The question a TAG rule on a mark has to ask, and the reason it is not
|
|
342
|
+
* `isFullyModelledStyle` alone: `background` is the shorthand Word writes, and
|
|
343
|
+
* the rule below reads it through `el.style.backgroundColor`, so the CSSOM has
|
|
344
|
+
* already expanded it and it is genuinely modelled even though the declaration
|
|
345
|
+
* name is not in the modelled list. Refusing it would turn every highlighted
|
|
346
|
+
* Word paste into an opaque atom.
|
|
347
|
+
*
|
|
348
|
+
* Any other attribute, or any declaration a mark cannot hold, and the answer is
|
|
349
|
+
* no -- because a mark that claims the element has nowhere to keep the rest.
|
|
350
|
+
*/
|
|
351
|
+
function isSpanOnlyStyling(el) {
|
|
352
|
+
for (const attr of Array.from(el.attributes)) {
|
|
353
|
+
if (attr.name !== 'style')
|
|
354
|
+
return false;
|
|
355
|
+
}
|
|
356
|
+
const declarations = parseDeclarations(el.getAttribute('style'));
|
|
357
|
+
if (declarations.size === 0)
|
|
358
|
+
return false;
|
|
359
|
+
for (const [name, value] of declarations) {
|
|
360
|
+
if (name === 'background')
|
|
361
|
+
continue;
|
|
362
|
+
if (!INLINE_STYLE_PROPERTIES.includes(name))
|
|
363
|
+
return false;
|
|
364
|
+
if (modelledValue(name, value) === null)
|
|
365
|
+
return false;
|
|
366
|
+
}
|
|
367
|
+
return true;
|
|
368
|
+
}
|
|
369
|
+
/**
|
|
370
|
+
* True when a colour/font mark must not fire on this element.
|
|
371
|
+
*
|
|
372
|
+
* Those marks used to be `style:` rules. A style rule does not consume the
|
|
373
|
+
* element, which is why `<p style="color:red">` and a `<div>` wrapper still
|
|
374
|
+
* yield a mark -- and why a `<span style="color:red" class="hl">` yielded
|
|
375
|
+
* BOTH the mark and a preserved atom, nested. The preservation catch-all
|
|
376
|
+
* keeps any span `isLosslesslyUnwrappable` refuses, so the mark has to
|
|
377
|
+
* refuse the same elements.
|
|
378
|
+
*
|
|
379
|
+
* The replacement is a `tag: '*'` rule with `consuming: false`: same
|
|
380
|
+
* "applies to whoever carries the declaration" behaviour, but `getAttrs`
|
|
381
|
+
* receives the element and can decline. Hosts the schema models are not
|
|
382
|
+
* spans the catch-all would keep, so they still produce the mark.
|
|
383
|
+
*/
|
|
384
|
+
function declineStyleMarkOnPreservedAtom(el) {
|
|
385
|
+
return el.nodeName.toLowerCase() === 'span' && !isLosslesslyUnwrappable(el);
|
|
386
|
+
}
|
|
248
387
|
/** The base mark specs. */
|
|
249
388
|
export const coreMarks = {
|
|
250
389
|
strong: {
|
|
@@ -280,26 +419,36 @@ export const coreMarks = {
|
|
|
280
419
|
* would have the second command overwrite the first's value with a default.
|
|
281
420
|
* Two marks compose the way the toolbar's two controls do.
|
|
282
421
|
*
|
|
283
|
-
*
|
|
284
|
-
*
|
|
285
|
-
*
|
|
286
|
-
*
|
|
287
|
-
*
|
|
422
|
+
* Parsed through a `tag: '*'` rule that does not consume the element, not a
|
|
423
|
+
* `span[style]` tag rule. The un-consuming match is load-bearing: it is how
|
|
424
|
+
* `<span style="color:red">`, `<p style="color:red">` and a `<div>` wrapper
|
|
425
|
+
* all yield the same mark -- whereas a `span[style]` rule would claim the
|
|
426
|
+
* span, drop it, and quietly lose any other declaration on it.
|
|
427
|
+
*
|
|
428
|
+
* It is not a `style:` rule either. Those also do not consume, but they
|
|
429
|
+
* never see the element, so they cannot decline when preservation is going
|
|
430
|
+
* to keep it. `declineStyleMarkOnPreservedAtom` is that decline.
|
|
288
431
|
*
|
|
289
432
|
* The value is normalized by `safeColor`, which folds `rgb(255, 0, 0)` back to
|
|
290
|
-
* `#ff0000`. That is not cosmetic:
|
|
291
|
-
*
|
|
292
|
-
* without the fold every hex colour in an archive would be
|
|
293
|
-
* the first save.
|
|
433
|
+
* `#ff0000`. That is not cosmetic: the rule still reads through the CSSOM
|
|
434
|
+
* (`el.style.color`), which returns the functional form for an authored hex
|
|
435
|
+
* colour, so without the fold every hex colour in an archive would be
|
|
436
|
+
* rewritten longer on the first save.
|
|
294
437
|
*/
|
|
295
438
|
text_color: {
|
|
296
439
|
attrs: { color: {} },
|
|
297
440
|
parseDOM: [
|
|
298
441
|
{
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
442
|
+
tag: '*',
|
|
443
|
+
consuming: false,
|
|
444
|
+
getAttrs(dom) {
|
|
445
|
+
const el = dom;
|
|
446
|
+
const color = safeColor(el.style.color);
|
|
447
|
+
if (!color)
|
|
448
|
+
return false;
|
|
449
|
+
if (declineStyleMarkOnPreservedAtom(el))
|
|
450
|
+
return false;
|
|
451
|
+
return { color };
|
|
303
452
|
},
|
|
304
453
|
},
|
|
305
454
|
{
|
|
@@ -325,23 +474,127 @@ export const coreMarks = {
|
|
|
325
474
|
attrs: { color: {} },
|
|
326
475
|
parseDOM: [
|
|
327
476
|
{
|
|
328
|
-
//
|
|
329
|
-
//
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
477
|
+
// Restricted to span so a cell's own background is not also read as a
|
|
478
|
+
// highlight mark on every character inside it. The CSSOM still expands
|
|
479
|
+
// the `background` shorthand on the element, so Word's
|
|
480
|
+
// `style="background:yellow"` arrives here without a second rule.
|
|
481
|
+
tag: 'span',
|
|
482
|
+
getAttrs(dom) {
|
|
483
|
+
const el = dom;
|
|
484
|
+
// Only when the span is nothing but formatting this mark can hold.
|
|
485
|
+
// A tag rule CONSUMES the element. Character marks now carry leftover
|
|
486
|
+
// attributes the way nodes do, but this rule still declines a span
|
|
487
|
+
// that is more than a highlight: claiming
|
|
488
|
+
// `<span class="hl" style="background-color:#ffff00;letter-spacing:1px">`
|
|
489
|
+
// would swallow declarations other style-marks and the preservation
|
|
490
|
+
// layer are meant to see. Declining leaves the element whole. This is
|
|
491
|
+
// the same bargain `font[color]` and `span[lang]` already strike a
|
|
492
|
+
// few lines away.
|
|
493
|
+
if (!isSpanOnlyStyling(el))
|
|
494
|
+
return false;
|
|
495
|
+
const fromAttr = parseDeclarations(el.getAttribute('style')).get('background-color');
|
|
496
|
+
const color = safeColor(el.style.backgroundColor) ?? safeColor(fromAttr);
|
|
333
497
|
return color ? { color } : false;
|
|
334
498
|
},
|
|
335
499
|
},
|
|
336
500
|
],
|
|
337
501
|
toDOM: (mark) => elementWithStyle('span', { style: `background-color:${mark.attrs['color']}` }),
|
|
338
502
|
},
|
|
503
|
+
font_family: {
|
|
504
|
+
attrs: { family: {} },
|
|
505
|
+
parseDOM: [
|
|
506
|
+
{
|
|
507
|
+
tag: '*',
|
|
508
|
+
consuming: false,
|
|
509
|
+
getAttrs(dom) {
|
|
510
|
+
const el = dom;
|
|
511
|
+
const family = safeFontFamily(el.style.fontFamily);
|
|
512
|
+
if (!family)
|
|
513
|
+
return false;
|
|
514
|
+
if (declineStyleMarkOnPreservedAtom(el))
|
|
515
|
+
return false;
|
|
516
|
+
return { family };
|
|
517
|
+
},
|
|
518
|
+
},
|
|
519
|
+
{
|
|
520
|
+
tag: 'font[face]',
|
|
521
|
+
getAttrs(dom) {
|
|
522
|
+
const el = dom;
|
|
523
|
+
// Colour-only `<font>` is a different mark. Face plus anything else
|
|
524
|
+
// this mark cannot hold stays with the preservation layer.
|
|
525
|
+
if (el.attributes.length > 1)
|
|
526
|
+
return false;
|
|
527
|
+
const family = safeFontFamily(el.getAttribute('face'));
|
|
528
|
+
return family ? { family } : false;
|
|
529
|
+
},
|
|
530
|
+
},
|
|
531
|
+
],
|
|
532
|
+
toDOM: (mark) => elementWithStyle('span', { style: `font-family:${mark.attrs['family']}` }),
|
|
533
|
+
},
|
|
534
|
+
font_size: {
|
|
535
|
+
attrs: { size: {} },
|
|
536
|
+
parseDOM: [
|
|
537
|
+
{
|
|
538
|
+
tag: '*',
|
|
539
|
+
consuming: false,
|
|
540
|
+
getAttrs(dom) {
|
|
541
|
+
const el = dom;
|
|
542
|
+
const size = safeFontSize(el.style.fontSize);
|
|
543
|
+
if (!size)
|
|
544
|
+
return false;
|
|
545
|
+
if (declineStyleMarkOnPreservedAtom(el))
|
|
546
|
+
return false;
|
|
547
|
+
return { size };
|
|
548
|
+
},
|
|
549
|
+
},
|
|
550
|
+
],
|
|
551
|
+
toDOM: (mark) => elementWithStyle('span', { style: `font-size:${mark.attrs['size']}` }),
|
|
552
|
+
},
|
|
553
|
+
subscript: {
|
|
554
|
+
excludes: 'superscript',
|
|
555
|
+
parseDOM: [{ tag: 'sub' }, { style: 'vertical-align=sub' }],
|
|
556
|
+
toDOM: () => ['sub', 0],
|
|
557
|
+
},
|
|
558
|
+
superscript: {
|
|
559
|
+
excludes: 'subscript',
|
|
560
|
+
parseDOM: [{ tag: 'sup' }, { style: 'vertical-align=super' }],
|
|
561
|
+
toDOM: () => ['sup', 0],
|
|
562
|
+
},
|
|
563
|
+
language: {
|
|
564
|
+
// Content, not decoration -- the same claim `dir` makes as a node
|
|
565
|
+
// attribute. `clearFormatting` keeps this mark for that reason.
|
|
566
|
+
attrs: { lang: {} },
|
|
567
|
+
inclusive: false,
|
|
568
|
+
parseDOM: [
|
|
569
|
+
{
|
|
570
|
+
tag: 'span[lang]',
|
|
571
|
+
getAttrs(dom) {
|
|
572
|
+
const el = dom;
|
|
573
|
+
const lang = safeLang(el.getAttribute('lang'));
|
|
574
|
+
if (!lang)
|
|
575
|
+
return false;
|
|
576
|
+
for (const attr of Array.from(el.attributes)) {
|
|
577
|
+
if (attr.name === 'lang')
|
|
578
|
+
continue;
|
|
579
|
+
if (attr.name === 'style' && isFullyModelledStyle(attr.value))
|
|
580
|
+
continue;
|
|
581
|
+
return false;
|
|
582
|
+
}
|
|
583
|
+
return { lang };
|
|
584
|
+
},
|
|
585
|
+
},
|
|
586
|
+
],
|
|
587
|
+
toDOM: (mark) => ['span', { lang: mark.attrs['lang'] }, 0],
|
|
588
|
+
},
|
|
339
589
|
link: {
|
|
340
590
|
attrs: {
|
|
341
|
-
|
|
591
|
+
// Null when the mark is a wrapped named destination (`<a id>` with
|
|
592
|
+
// text, no href). Empty `<a id></a>` is the `named_anchor` atom.
|
|
593
|
+
href: { default: null },
|
|
342
594
|
title: { default: null },
|
|
343
595
|
target: { default: null },
|
|
344
596
|
rel: { default: null },
|
|
597
|
+
id: { default: null },
|
|
345
598
|
},
|
|
346
599
|
inclusive: false,
|
|
347
600
|
parseDOM: [
|
|
@@ -359,19 +612,46 @@ export const coreMarks = {
|
|
|
359
612
|
title: el.getAttribute('title'),
|
|
360
613
|
target: el.getAttribute('target'),
|
|
361
614
|
rel: el.getAttribute('rel'),
|
|
615
|
+
id: safeId(el.getAttribute('id')),
|
|
616
|
+
};
|
|
617
|
+
},
|
|
618
|
+
},
|
|
619
|
+
{
|
|
620
|
+
tag: 'a[id]',
|
|
621
|
+
getAttrs(dom) {
|
|
622
|
+
const el = dom;
|
|
623
|
+
if (el.hasAttribute('href'))
|
|
624
|
+
return false;
|
|
625
|
+
const id = safeId(el.getAttribute('id'));
|
|
626
|
+
if (!id)
|
|
627
|
+
return false;
|
|
628
|
+
// Empty `<a id>` belongs to `named_anchor`. This rule is the
|
|
629
|
+
// wrapped-text spelling, so the heading stays in the document.
|
|
630
|
+
if (isEmptyNamedAnchorElement(el))
|
|
631
|
+
return false;
|
|
632
|
+
return {
|
|
633
|
+
href: null,
|
|
634
|
+
title: el.getAttribute('title'),
|
|
635
|
+
target: el.getAttribute('target'),
|
|
636
|
+
rel: el.getAttribute('rel'),
|
|
637
|
+
id,
|
|
362
638
|
};
|
|
363
639
|
},
|
|
364
640
|
},
|
|
365
641
|
],
|
|
366
642
|
toDOM(node) {
|
|
367
|
-
const { href, title, target, rel } = node.attrs;
|
|
368
|
-
const attrs = {
|
|
643
|
+
const { href, title, target, rel, id } = node.attrs;
|
|
644
|
+
const attrs = {};
|
|
645
|
+
if (href !== null)
|
|
646
|
+
attrs['href'] = href;
|
|
369
647
|
if (title !== null)
|
|
370
648
|
attrs['title'] = title;
|
|
371
649
|
if (target !== null)
|
|
372
650
|
attrs['target'] = target;
|
|
373
651
|
if (rel !== null)
|
|
374
652
|
attrs['rel'] = rel;
|
|
653
|
+
if (id !== null)
|
|
654
|
+
attrs['id'] = id;
|
|
375
655
|
return ['a', attrs, 0];
|
|
376
656
|
},
|
|
377
657
|
},
|
package/dist/schema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
|