@openleaf-editor/core 0.1.0-beta.2 → 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.map +1 -1
- package/dist/autolink.js +45 -7
- package/dist/autolink.js.map +1 -1
- 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 +15 -61
- package/dist/commands.d.ts.map +1 -1
- package/dist/commands.js +295 -343
- package/dist/commands.js.map +1 -1
- package/dist/css.d.ts +1 -175
- package/dist/css.d.ts.map +1 -1
- package/dist/css.js +1 -516
- 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 +1 -51
- package/dist/embed.d.ts.map +1 -1
- package/dist/embed.js +1 -115
- package/dist/embed.js.map +1 -1
- 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 +272 -52
- package/dist/extensions.js.map +1 -1
- package/dist/formats.d.ts.map +1 -1
- package/dist/formats.js +19 -7
- package/dist/formats.js.map +1 -1
- 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 +21 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +32 -6
- 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/noneditable.d.ts.map +1 -1
- package/dist/noneditable.js +18 -4
- package/dist/noneditable.js.map +1 -1
- 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 +48 -17
- package/dist/preserve.d.ts.map +1 -1
- package/dist/preserve.js +214 -43
- 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 +157 -28
- package/dist/schema.js.map +1 -1
- package/dist/structure.d.ts +32 -0
- package/dist/structure.d.ts.map +1 -1
- package/dist/structure.js +53 -10
- package/dist/structure.js.map +1 -1
- package/dist/tables.d.ts +47 -1
- package/dist/tables.d.ts.map +1 -1
- package/dist/tables.js +417 -40
- 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 +8 -0
- package/dist/tokens.d.ts.map +1 -1
- package/dist/tokens.js +54 -6
- package/dist/tokens.js.map +1 -1
- 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 +11 -1
- package/dist/visual-aids.d.ts.map +1 -1
- package/dist/visual-aids.js +124 -36
- package/dist/visual-aids.js.map +1 -1
- package/package.json +15 -1
package/dist/extensions.js
CHANGED
|
@@ -39,10 +39,14 @@
|
|
|
39
39
|
* documents in its shape. `replaces` is the explicit opt-in.
|
|
40
40
|
*/
|
|
41
41
|
import OrderedMap from 'orderedmap';
|
|
42
|
-
import { Schema, } from 'prosemirror-model';
|
|
43
|
-
import { MODELLED_PROPERTIES, applyStyleAttribute, indentLevels, parseDeclarations, serializeDeclarations, } from './css.js';
|
|
44
|
-
import {
|
|
45
|
-
import {
|
|
42
|
+
import { DOMSerializer, Schema, } from 'prosemirror-model';
|
|
43
|
+
import { INLINE_STYLE_PROPERTIES, MODELLED_PROPERTIES, applyStyleAttribute, indentLevels, parseDeclarations, serializeDeclarations, } from './css.js';
|
|
44
|
+
import { OpenLeafError } from './errors.js';
|
|
45
|
+
import { serializationTarget } from './preserve.js';
|
|
46
|
+
import { coreMarks, coreNodes, listStart } from './schema.js';
|
|
47
|
+
import { CARRIED_STYLE_SCRUBS } from './tables.js';
|
|
48
|
+
import { isWritableAttributeName, safeId } from './tokens.js';
|
|
49
|
+
import { URL_ATTRIBUTES, isEventHandlerAttribute, isNeverCarriedAttribute, isSafeUrl, } from './url.js';
|
|
46
50
|
/** Where carried attributes live. Underscored: it is not for plugin authors. */
|
|
47
51
|
export const CARRIED_ATTR = '__openleafCarried';
|
|
48
52
|
/* ------------------------------------------------------------------ *
|
|
@@ -74,6 +78,11 @@ export function registerSchemaExtension(extension) {
|
|
|
74
78
|
'The second registration was ignored.');
|
|
75
79
|
return () => undefined;
|
|
76
80
|
}
|
|
81
|
+
// Build the schema this registration would produce, and throw here if it does
|
|
82
|
+
// not build. Without this the collision still threw -- but on some later,
|
|
83
|
+
// unrelated `coreSchema()` call, with a stack pointing at whichever editor
|
|
84
|
+
// happened to be constructed next rather than at the extension that clashed.
|
|
85
|
+
createSchema([...extensions.values(), extension]);
|
|
77
86
|
extensions.set(extension.id, extension);
|
|
78
87
|
notify();
|
|
79
88
|
return () => {
|
|
@@ -104,15 +113,21 @@ function isPlainObject(value) {
|
|
|
104
113
|
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
105
114
|
}
|
|
106
115
|
/**
|
|
107
|
-
*
|
|
108
|
-
* carry a second copy of.
|
|
116
|
+
* Put an attribute back into the residue when the spec's validator refused it.
|
|
109
117
|
*
|
|
110
|
-
* `
|
|
111
|
-
*
|
|
112
|
-
*
|
|
113
|
-
*
|
|
114
|
-
*
|
|
118
|
+
* `accepted` is asked rather than assumed, because the two outcomes need
|
|
119
|
+
* opposite treatment and only the validator can tell them apart. A value the
|
|
120
|
+
* spec took is re-emitted from the modelled attribute and must NOT also sit in
|
|
121
|
+
* the residue, or it goes out twice. A value the spec refused is not re-emitted
|
|
122
|
+
* at all, and carrying it is the difference between "we would not store that as
|
|
123
|
+
* an id" -- which is our business -- and "so we deleted it", which is not.
|
|
115
124
|
*/
|
|
125
|
+
function carryRejected(carried, dom, name, accepted) {
|
|
126
|
+
const value = dom.getAttribute(name);
|
|
127
|
+
if (value === null || accepted(value))
|
|
128
|
+
return;
|
|
129
|
+
carried[name] = value;
|
|
130
|
+
}
|
|
116
131
|
const CARRY_SCRUB = {
|
|
117
132
|
code_block(carried) {
|
|
118
133
|
const cls = carried['class'];
|
|
@@ -125,9 +140,23 @@ const CARRY_SCRUB = {
|
|
|
125
140
|
delete carried['class'];
|
|
126
141
|
},
|
|
127
142
|
paragraph: scrubModelledStyle,
|
|
128
|
-
heading
|
|
143
|
+
heading(carried, dom) {
|
|
144
|
+
scrubModelledStyle(carried);
|
|
145
|
+
carryRejected(carried, dom, 'id', (value) => safeId(value) !== null);
|
|
146
|
+
},
|
|
129
147
|
bullet_list: scrubModelledStyle,
|
|
130
|
-
ordered_list
|
|
148
|
+
ordered_list(carried, dom) {
|
|
149
|
+
scrubModelledStyle(carried);
|
|
150
|
+
carryRejected(carried, dom, 'start', (value) => listStart(value) !== null);
|
|
151
|
+
},
|
|
152
|
+
link(carried, dom) {
|
|
153
|
+
carryRejected(carried, dom, 'id', (value) => safeId(value) !== null);
|
|
154
|
+
},
|
|
155
|
+
// Tables model a handful of declarations out of a `style` attribute they also
|
|
156
|
+
// declare as an attribute of their own. The scrubs are defined next to the
|
|
157
|
+
// validator that decides what "modelled" means for them, so the two cannot
|
|
158
|
+
// drift into either dropping a declaration twice or keeping it twice.
|
|
159
|
+
...CARRIED_STYLE_SCRUBS,
|
|
131
160
|
};
|
|
132
161
|
/**
|
|
133
162
|
* Drop the declarations a text block now models from its carried residue.
|
|
@@ -147,6 +176,7 @@ function scrubModelledStyle(carried) {
|
|
|
147
176
|
if (style === undefined)
|
|
148
177
|
return;
|
|
149
178
|
const declarations = parseDeclarations(style);
|
|
179
|
+
const before = declarations.size;
|
|
150
180
|
for (const name of MODELLED_PROPERTIES)
|
|
151
181
|
declarations.delete(name);
|
|
152
182
|
// Indent aliases consumed into the `indent` attribute. Only dropped when they
|
|
@@ -156,12 +186,50 @@ function scrubModelledStyle(carried) {
|
|
|
156
186
|
if (value !== undefined && indentLevels(value) !== null)
|
|
157
187
|
declarations.delete(name);
|
|
158
188
|
}
|
|
189
|
+
// Nothing was consumed, so there is nothing to rewrite. Re-serializing anyway
|
|
190
|
+
// would re-spell a declaration the schema does not model, which is the thing
|
|
191
|
+
// this whole mechanism exists to avoid: `letter-spacing: 0.08em;` is the
|
|
192
|
+
// author's, and `letter-spacing:0.08em` is ours.
|
|
193
|
+
if (declarations.size === before)
|
|
194
|
+
return;
|
|
159
195
|
const rest = serializeDeclarations(declarations);
|
|
160
196
|
if (rest !== null)
|
|
161
197
|
carried['style'] = rest;
|
|
162
198
|
else
|
|
163
199
|
delete carried['style'];
|
|
164
200
|
}
|
|
201
|
+
/**
|
|
202
|
+
* Word's `mso-*` properties, removed from residue on the way in.
|
|
203
|
+
*
|
|
204
|
+
* These are the one exception to "carry every declaration the schema does not
|
|
205
|
+
* model", and it needs arguing because the default is so strongly the other way.
|
|
206
|
+
* `mso-list:l0 level1 lfo1` is not CSS: it is Microsoft Office document-format
|
|
207
|
+
* metadata that happens to travel in a `style` attribute, and no engine renders
|
|
208
|
+
* it. Carrying it would mean the editor re-emitting Word debris it used to
|
|
209
|
+
* clean, on every save, forever -- "pasting a wall of vendor styling into the
|
|
210
|
+
* document" is the failure the paste pipeline exists to prevent, and the schema
|
|
211
|
+
* should not reintroduce it from behind.
|
|
212
|
+
*
|
|
213
|
+
* It used to be removed by accident: a spec array's `style` went out through
|
|
214
|
+
* `dom.style.cssText`, and the CSSOM silently discards any property it cannot
|
|
215
|
+
* parse. That filter was never intentional and was never safe -- it also
|
|
216
|
+
* discarded valid CSS that a given engine did not happen to know -- so it is
|
|
217
|
+
* gone (see the array branch of `withCarriedAttributes`), and what was worth
|
|
218
|
+
* keeping about it is stated here instead, narrowly and on purpose.
|
|
219
|
+
*
|
|
220
|
+
* Returns the string unchanged when there is nothing to remove, so a residue
|
|
221
|
+
* with no Office metadata in it keeps the author's exact spelling.
|
|
222
|
+
*/
|
|
223
|
+
function withoutOfficeMetadata(style) {
|
|
224
|
+
if (!/(?:^|[;\s])mso-/i.test(style))
|
|
225
|
+
return style;
|
|
226
|
+
const declarations = parseDeclarations(style);
|
|
227
|
+
for (const name of [...declarations.keys()]) {
|
|
228
|
+
if (name.startsWith('mso-'))
|
|
229
|
+
declarations.delete(name);
|
|
230
|
+
}
|
|
231
|
+
return serializeDeclarations(declarations);
|
|
232
|
+
}
|
|
165
233
|
/**
|
|
166
234
|
* Merge carried residue with the attributes a spec produced.
|
|
167
235
|
*
|
|
@@ -186,12 +254,21 @@ function scrubModelledStyle(carried) {
|
|
|
186
254
|
function applyCarriedToElement(el, carried) {
|
|
187
255
|
for (const [name, value] of Object.entries(carried)) {
|
|
188
256
|
if (name === 'style') {
|
|
257
|
+
const own = parseDeclarations(el.getAttribute('style'));
|
|
258
|
+
// Nothing of the spec's own to merge with, so the residue goes out exactly
|
|
259
|
+
// as it was stored. Round-tripping it through the declaration parser would
|
|
260
|
+
// re-spell CSS the schema does not model, for no gain -- and the whole
|
|
261
|
+
// reason this branch exists rather than letting the serializer do it is to
|
|
262
|
+
// stop the author's spelling being rewritten.
|
|
263
|
+
if (own.size === 0) {
|
|
264
|
+
applyStyleAttribute(el, value);
|
|
265
|
+
continue;
|
|
266
|
+
}
|
|
189
267
|
const declarations = parseDeclarations(value);
|
|
190
268
|
// Residue first, then what the spec wrote, so a modelled declaration wins
|
|
191
269
|
// over a stale copy of itself while everything else survives.
|
|
192
|
-
for (const [property, css] of
|
|
270
|
+
for (const [property, css] of own)
|
|
193
271
|
declarations.set(property, css);
|
|
194
|
-
}
|
|
195
272
|
const style = serializeDeclarations(declarations);
|
|
196
273
|
if (style !== null)
|
|
197
274
|
applyStyleAttribute(el, style);
|
|
@@ -203,57 +280,132 @@ function applyCarriedToElement(el, carried) {
|
|
|
203
280
|
}
|
|
204
281
|
}
|
|
205
282
|
function mergeCarried(carried, modelled) {
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
declarations
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
283
|
+
// Modelled names first so `<a href>` stays `href` then `class`, not the
|
|
284
|
+
// reverse -- residue used to be spread first and HTML attribute order is
|
|
285
|
+
// load-bearing for byte-identical round trips.
|
|
286
|
+
const merged = { ...modelled };
|
|
287
|
+
for (const [name, value] of Object.entries(carried)) {
|
|
288
|
+
if (name === 'style' && typeof merged['style'] === 'string') {
|
|
289
|
+
const declarations = parseDeclarations(value);
|
|
290
|
+
for (const [property, css] of parseDeclarations(merged['style'])) {
|
|
291
|
+
declarations.set(property, css);
|
|
292
|
+
}
|
|
293
|
+
const style = serializeDeclarations(declarations);
|
|
294
|
+
if (style !== null)
|
|
295
|
+
merged['style'] = style;
|
|
296
|
+
else
|
|
297
|
+
delete merged['style'];
|
|
298
|
+
continue;
|
|
299
|
+
}
|
|
300
|
+
if (!(name in modelled))
|
|
301
|
+
merged[name] = value;
|
|
218
302
|
}
|
|
219
303
|
return merged;
|
|
220
304
|
}
|
|
221
305
|
/**
|
|
222
|
-
* Wrap a
|
|
306
|
+
* Wrap a spec so attributes it does not model survive the round trip.
|
|
307
|
+
*
|
|
308
|
+
* Applied to extension nodes and marks unless they opt out: they only ever
|
|
309
|
+
* claim markup the preservation layer previously kept in full, so carrying the
|
|
310
|
+
* residue is a pure improvement over the alternative of silently dropping it.
|
|
223
311
|
*
|
|
224
|
-
*
|
|
225
|
-
*
|
|
226
|
-
*
|
|
312
|
+
* Style parse rules are left alone. They match a declaration, not an element,
|
|
313
|
+
* so there is no attribute list to harvest -- and wrapping them would pass a
|
|
314
|
+
* CSS string into a collector that expects `HTMLElement.attributes`.
|
|
227
315
|
*/
|
|
228
|
-
function
|
|
316
|
+
function isTagParseRule(rule) {
|
|
317
|
+
return typeof rule.tag === 'string';
|
|
318
|
+
}
|
|
319
|
+
function withCarriedAttributes(name, spec, kind) {
|
|
229
320
|
const modelled = new Set(Object.keys(spec.attrs ?? {}));
|
|
230
321
|
const attrs = { ...(spec.attrs ?? {}), [CARRIED_ATTR]: { default: null } };
|
|
231
|
-
// A node's parse rules are always tag rules -- only marks may match styles --
|
|
232
|
-
// so the narrower type is the accurate one and keeps the map total.
|
|
233
322
|
const parseDOM = (spec.parseDOM ?? []).map((rule) => {
|
|
323
|
+
if (!isTagParseRule(rule))
|
|
324
|
+
return rule;
|
|
234
325
|
const original = rule.getAttrs;
|
|
235
326
|
return {
|
|
236
327
|
...rule,
|
|
237
328
|
getAttrs(dom) {
|
|
238
329
|
const base = original ? original.call(rule, dom) : (rule.attrs ?? {});
|
|
239
|
-
|
|
240
|
-
|
|
330
|
+
/*
|
|
331
|
+
* Only `false` is a decline.
|
|
332
|
+
*
|
|
333
|
+
* `null` and `undefined` are ProseMirror's "this rule matches, with the
|
|
334
|
+
* type's default attributes" -- a very different statement, and treating
|
|
335
|
+
* them as a decline meant the wrapper handed the element straight back
|
|
336
|
+
* with no residue at all. `<hr class="page-rule" id="sep">` came back as
|
|
337
|
+
* a bare `<hr>`, because `horizontal_rule`'s rule returns `null` for
|
|
338
|
+
* every rule that is not a page break. Every attribute on the element,
|
|
339
|
+
* gone, from a branch that reads like a guard.
|
|
340
|
+
*/
|
|
341
|
+
if (base === false)
|
|
342
|
+
return false;
|
|
241
343
|
const carried = {};
|
|
242
344
|
for (const attr of Array.from(dom.attributes ?? [])) {
|
|
243
|
-
|
|
345
|
+
// `style` is never treated as modelled, even by a spec that declares
|
|
346
|
+
// an attribute of that name. It is the one COMPOSITE attribute in
|
|
347
|
+
// HTML: a node models individual declarations, not the whole string,
|
|
348
|
+
// so "the spec claimed it" is not the same statement it is for `class`
|
|
349
|
+
// or `colspan`. Table cells declare `style` and keep two properties
|
|
350
|
+
// out of it, and the skip below therefore threw away everything else
|
|
351
|
+
// with no residue at all -- `<td style="border:1px solid red">` came
|
|
352
|
+
// back as `<td>`, and `border` and `border-collapse` are how fifteen
|
|
353
|
+
// years of CMS tables are styled. The declarations a spec really did
|
|
354
|
+
// consume are removed by that node's CARRY_SCRUB instead, which is
|
|
355
|
+
// already how `<p style="text-align:center">` avoids being emitted
|
|
356
|
+
// twice.
|
|
357
|
+
// Before every other test, because it is the only one about whether
|
|
358
|
+
// the attribute can exist at all. The HTML parser accepts names
|
|
359
|
+
// `setAttribute` refuses -- `<p ="v">` parses to an attribute named
|
|
360
|
+
// `="v"` -- and carrying one meant the throw landed later, in the
|
|
361
|
+
// middle of rendering the document, from a name no author wrote.
|
|
362
|
+
if (!isWritableAttributeName(attr.name))
|
|
363
|
+
continue;
|
|
364
|
+
if (attr.name !== 'style' && modelled.has(attr.name))
|
|
244
365
|
continue;
|
|
245
366
|
// Same scrub as the preservation layer: carrying `onclick` or a
|
|
246
367
|
// `javascript:` URL would reintroduce exactly the executable content
|
|
247
368
|
// core promises to drop.
|
|
248
369
|
if (isEventHandlerAttribute(attr.name))
|
|
249
370
|
continue;
|
|
371
|
+
// Markup-bearing attributes are refused outright rather than
|
|
372
|
+
// scheme-checked. This path never reaches scrub(): the iframe node
|
|
373
|
+
// claims an allowlisted player, and `srcdoc` -- which the HTML spec
|
|
374
|
+
// gives precedence over `src` -- rode in here as residue, so the
|
|
375
|
+
// frame rendered the attacker's document and never fetched YouTube.
|
|
376
|
+
if (isNeverCarriedAttribute(attr.name))
|
|
377
|
+
continue;
|
|
250
378
|
if (URL_ATTRIBUTES.has(attr.name.toLowerCase()) && !isSafeUrl(attr.value))
|
|
251
379
|
continue;
|
|
380
|
+
// Google Docs wraps a paste in `<b id="docs-internal-guid-...">`.
|
|
381
|
+
// The paste pipeline strips that id; this is the schema-level
|
|
382
|
+
// backstop on the `strong` mark that claims that wrapper -- not on
|
|
383
|
+
// every node, or `<p id="docs-internal-guidelines">` would lose a
|
|
384
|
+
// legitimate id.
|
|
385
|
+
if (kind === 'mark' &&
|
|
386
|
+
name === 'strong' &&
|
|
387
|
+
attr.name === 'id' &&
|
|
388
|
+
/^docs-internal-guid/i.test(attr.value)) {
|
|
389
|
+
continue;
|
|
390
|
+
}
|
|
391
|
+
if (attr.name === 'style') {
|
|
392
|
+
let css = withoutOfficeMetadata(attr.value);
|
|
393
|
+
if (css !== null && kind === 'mark') {
|
|
394
|
+
const declarations = parseDeclarations(css);
|
|
395
|
+
for (const property of INLINE_STYLE_PROPERTIES) {
|
|
396
|
+
declarations.delete(property);
|
|
397
|
+
}
|
|
398
|
+
css = serializeDeclarations(declarations);
|
|
399
|
+
}
|
|
400
|
+
if (css !== null)
|
|
401
|
+
carried['style'] = css;
|
|
402
|
+
continue;
|
|
403
|
+
}
|
|
252
404
|
carried[attr.name] = attr.value;
|
|
253
405
|
}
|
|
254
|
-
CARRY_SCRUB[name]?.(carried);
|
|
406
|
+
CARRY_SCRUB[name]?.(carried, dom);
|
|
255
407
|
return {
|
|
256
|
-
...base,
|
|
408
|
+
...(base ?? {}),
|
|
257
409
|
[CARRIED_ATTR]: Object.keys(carried).length > 0 ? carried : null,
|
|
258
410
|
};
|
|
259
411
|
},
|
|
@@ -261,9 +413,9 @@ function withCarriedAttributes(name, spec) {
|
|
|
261
413
|
});
|
|
262
414
|
const originalToDOM = spec.toDOM;
|
|
263
415
|
const toDOM = originalToDOM
|
|
264
|
-
? (
|
|
265
|
-
const out = originalToDOM(
|
|
266
|
-
const carried =
|
|
416
|
+
? (first, ...rest) => {
|
|
417
|
+
const out = originalToDOM(first, ...rest);
|
|
418
|
+
const carried = first.attrs[CARRIED_ATTR];
|
|
267
419
|
if (!carried)
|
|
268
420
|
return out;
|
|
269
421
|
if (!Array.isArray(out)) {
|
|
@@ -274,6 +426,29 @@ function withCarriedAttributes(name, spec) {
|
|
|
274
426
|
applyCarriedToElement(dom, carried);
|
|
275
427
|
return out;
|
|
276
428
|
}
|
|
429
|
+
/*
|
|
430
|
+
* Residue holding CSS cannot go out on a spec array.
|
|
431
|
+
*
|
|
432
|
+
* prosemirror-model writes a spec array's `style` with
|
|
433
|
+
* `dom.style.cssText = value`, which is a CSSOM parse and therefore a
|
|
434
|
+
* rewrite: `margin-bottom:0` comes back `margin-bottom: 0px`. `0` to
|
|
435
|
+
* `0px` is a change to the VALUE, not just the spelling, and it happens
|
|
436
|
+
* to every paragraph carrying an unmodelled declaration on its first
|
|
437
|
+
* save. css.ts argues at length that silently rewriting an archive's CSS
|
|
438
|
+
* is not a diff this project gets to put in a revision history;
|
|
439
|
+
* `applyStyleAttribute` exists to prevent exactly this and was reachable
|
|
440
|
+
* only from the element path.
|
|
441
|
+
*
|
|
442
|
+
* So when -- and only when -- there is CSS to carry, the array is
|
|
443
|
+
* rendered here and the residue applied to the real element, which is
|
|
444
|
+
* the same route `elementWithStyle` in schema.ts already takes. Specs
|
|
445
|
+
* with no CSS residue keep the cheaper array path.
|
|
446
|
+
*/
|
|
447
|
+
if (typeof carried['style'] === 'string') {
|
|
448
|
+
const rendered = DOMSerializer.renderSpec(serializationTarget(), out);
|
|
449
|
+
applyCarriedToElement(rendered.dom, carried);
|
|
450
|
+
return (rendered.contentDOM ? rendered : rendered.dom);
|
|
451
|
+
}
|
|
277
452
|
const result = [...out];
|
|
278
453
|
if (isPlainObject(result[1])) {
|
|
279
454
|
result[1] = mergeCarried(carried, result[1]);
|
|
@@ -292,7 +467,7 @@ function withCarriedAttributes(name, spec) {
|
|
|
292
467
|
function assertRulePriorities(extensionId, name, spec) {
|
|
293
468
|
for (const rule of (spec.parseDOM ?? [])) {
|
|
294
469
|
if (rule.priority !== undefined && rule.priority <= 1) {
|
|
295
|
-
throw new
|
|
470
|
+
throw new OpenLeafError('invalid-argument', `@openleaf-editor/core: extension "${extensionId}" gives "${name}" a parse rule at ` +
|
|
296
471
|
`priority ${rule.priority}. The preservation layer's catch-all rules sit at ` +
|
|
297
472
|
'priority 0 and 1, so this rule would tie with them and the winner would be ' +
|
|
298
473
|
'decided by insertion order. Remove the priority: the default already wins.');
|
|
@@ -303,13 +478,13 @@ function claim(claimed, kind, name, extension, existsInCore) {
|
|
|
303
478
|
const replaces = new Set(extension.replaces ?? []);
|
|
304
479
|
const previous = claimed.get(`${kind}:${name}`);
|
|
305
480
|
if (previous && !replaces.has(name)) {
|
|
306
|
-
throw new
|
|
481
|
+
throw new OpenLeafError('schema-conflict', `@openleaf-editor/core: extensions "${previous}" and "${extension.id}" both define the ` +
|
|
307
482
|
`${kind} "${name}". A ${kind} type is a storage format, not a preference: two ` +
|
|
308
483
|
'definitions mean two serializations of the same content chosen by load order. ' +
|
|
309
484
|
`If replacing it is intended, declare replaces: ['${name}'].`);
|
|
310
485
|
}
|
|
311
486
|
if (existsInCore && !replaces.has(name)) {
|
|
312
|
-
throw new
|
|
487
|
+
throw new OpenLeafError('schema-conflict', `@openleaf-editor/core: extension "${extension.id}" defines the ${kind} "${name}", which ` +
|
|
313
488
|
`already exists in the base schema. If replacing it is intended, declare ` +
|
|
314
489
|
`replaces: ['${name}'].`);
|
|
315
490
|
}
|
|
@@ -334,13 +509,23 @@ function coreNodesWithCarriedAttributes() {
|
|
|
334
509
|
// it is how `<p class="lead">` became `<p>` on the first save.
|
|
335
510
|
let nodes = OrderedMap.from({});
|
|
336
511
|
for (const [name, spec] of Object.entries(coreNodes)) {
|
|
337
|
-
nodes = nodes.addToEnd(name, SKIP_CARRY.has(name) ? spec : withCarriedAttributes(name, spec));
|
|
512
|
+
nodes = nodes.addToEnd(name, SKIP_CARRY.has(name) ? spec : withCarriedAttributes(name, spec, 'node'));
|
|
338
513
|
}
|
|
339
514
|
return nodes;
|
|
340
515
|
}
|
|
516
|
+
function coreMarksWithCarriedAttributes() {
|
|
517
|
+
// The same hole as core nodes, on the other half of the schema: `<strong
|
|
518
|
+
// class="brand-name">` became `<strong>` because a mark spec kept the tag and
|
|
519
|
+
// nothing else, and the carry wrapper never ran.
|
|
520
|
+
let marks = OrderedMap.from({});
|
|
521
|
+
for (const [name, spec] of Object.entries(coreMarks)) {
|
|
522
|
+
marks = marks.addToEnd(name, withCarriedAttributes(name, spec, 'mark'));
|
|
523
|
+
}
|
|
524
|
+
return marks;
|
|
525
|
+
}
|
|
341
526
|
export function createSchema(list = []) {
|
|
342
527
|
let nodes = coreNodesWithCarriedAttributes();
|
|
343
|
-
let marks =
|
|
528
|
+
let marks = coreMarksWithCarriedAttributes();
|
|
344
529
|
const claimed = new Map();
|
|
345
530
|
for (const extension of list) {
|
|
346
531
|
for (const [name, spec] of Object.entries(extension.nodes ?? {})) {
|
|
@@ -348,7 +533,7 @@ export function createSchema(list = []) {
|
|
|
348
533
|
claim(claimed, 'node', name, extension, Object.hasOwn(coreNodes, name));
|
|
349
534
|
const prepared = extension.carryUnknownAttributes === false
|
|
350
535
|
? spec
|
|
351
|
-
: withCarriedAttributes(name, spec);
|
|
536
|
+
: withCarriedAttributes(name, spec, 'node');
|
|
352
537
|
// addToEnd, never prepend: a leading block node becomes the document's
|
|
353
538
|
// defaultType and every new document would start with it.
|
|
354
539
|
nodes = nodes.remove(name).addToEnd(name, prepared);
|
|
@@ -356,12 +541,16 @@ export function createSchema(list = []) {
|
|
|
356
541
|
for (const [name, spec] of Object.entries(extension.marks ?? {})) {
|
|
357
542
|
assertRulePriorities(extension.id, name, spec);
|
|
358
543
|
claim(claimed, 'mark', name, extension, Object.hasOwn(coreMarks, name));
|
|
359
|
-
|
|
544
|
+
const prepared = extension.carryUnknownAttributes === false
|
|
545
|
+
? spec
|
|
546
|
+
: withCarriedAttributes(name, spec, 'mark');
|
|
547
|
+
marks = marks.remove(name).addToEnd(name, prepared);
|
|
360
548
|
}
|
|
361
549
|
}
|
|
362
550
|
return new Schema({ nodes, marks });
|
|
363
551
|
}
|
|
364
552
|
let cached = null;
|
|
553
|
+
let subscribed = false;
|
|
365
554
|
/**
|
|
366
555
|
* The schema for the currently registered extensions.
|
|
367
556
|
*
|
|
@@ -369,13 +558,44 @@ let cached = null;
|
|
|
369
558
|
* "bind to this" and would be captured at import by every consumer, which is
|
|
370
559
|
* exactly what made the schema impossible to extend. Memoized, and invalidated
|
|
371
560
|
* whenever the registry changes.
|
|
561
|
+
*
|
|
562
|
+
* ## Why the subscription is in here and not at module scope
|
|
563
|
+
*
|
|
564
|
+
* This package declares `"sideEffects": false`, which is a literal promise that
|
|
565
|
+
* evaluating a module for its own sake changes nothing observable. The bare
|
|
566
|
+
* top-level `onSchemaExtensionsChange(() => { cached = null })` that used to sit
|
|
567
|
+
* below this function broke that promise: it mutates the listener set in the
|
|
568
|
+
* registry above, which is observable by anything that calls `notify()`.
|
|
569
|
+
*
|
|
570
|
+
* What it did *not* do, measured rather than assumed, is actually get dropped.
|
|
571
|
+
* Both rollup 4 (`treeshake.moduleSideEffects: false`) and webpack 5
|
|
572
|
+
* (`optimization.sideEffects`) keep the statement, because the arrow function
|
|
573
|
+
* writes `cached` and `cached` is read by this function -- so the tree-shaker
|
|
574
|
+
* can see the statement contributes to a live export and retains it. A probe
|
|
575
|
+
* that warms the memo, registers an extension and re-reads the schema returns
|
|
576
|
+
* the plugin's node type under both bundlers, before and after this change.
|
|
577
|
+
*
|
|
578
|
+
* It is moved anyway, because the retention depended entirely on that linkage
|
|
579
|
+
* being visible. It is not a property of the invalidator; it is a property of
|
|
580
|
+
* this particular pair of statements, and it would quietly stop holding the
|
|
581
|
+
* moment the memo is refactored -- at which point the failure is silent and
|
|
582
|
+
* total, since `coreSchema()` would keep handing back a schema built before the
|
|
583
|
+
* first `registerSchemaExtension` call. Registering on the first call costs a
|
|
584
|
+
* boolean and makes the flag true instead of true-by-luck.
|
|
585
|
+
*
|
|
586
|
+
* There is no window in which the invalidator is missing: the subscription is
|
|
587
|
+
* installed before the value it guards ever exists, and nothing can reach the
|
|
588
|
+
* memo except through here.
|
|
372
589
|
*/
|
|
373
590
|
export function coreSchema() {
|
|
591
|
+
if (!subscribed) {
|
|
592
|
+
subscribed = true;
|
|
593
|
+
onSchemaExtensionsChange(() => {
|
|
594
|
+
cached = null;
|
|
595
|
+
});
|
|
596
|
+
}
|
|
374
597
|
if (!cached)
|
|
375
598
|
cached = createSchema(registeredSchemaExtensions());
|
|
376
599
|
return cached;
|
|
377
600
|
}
|
|
378
|
-
onSchemaExtensionsChange(() => {
|
|
379
|
-
cached = null;
|
|
380
|
-
});
|
|
381
601
|
//# sourceMappingURL=extensions.js.map
|
package/dist/extensions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extensions.js","sourceRoot":"","sources":["../src/extensions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"extensions.js","sourceRoot":"","sources":["../src/extensions.ts"],"names":[],"mappings":"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"}
|
package/dist/formats.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formats.d.ts","sourceRoot":"","sources":["../src/formats.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,IAAI,IAAI,MAAM,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAG7D,MAAM,WAAW,UAAU;IACzB,sDAAsD;IACtD,KAAK,EAAE,MAAM,CAAA;IACb,0CAA0C;IAC1C,KAAK,EAAE,MAAM,CAAA;CACd;AAED,iFAAiF;AACjF,MAAM,WAAW,WAAW;IAC1B,kEAAkE;IAClE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,iFAAiF;IACjF,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CACzB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CActD;AAED,2DAA2D;AAC3D,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,UAAU,EAAE,CAgB9E;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAIxD;
|
|
1
|
+
{"version":3,"file":"formats.d.ts","sourceRoot":"","sources":["../src/formats.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,IAAI,IAAI,MAAM,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAG7D,MAAM,WAAW,UAAU;IACzB,sDAAsD;IACtD,KAAK,EAAE,MAAM,CAAA;IACb,0CAA0C;IAC1C,KAAK,EAAE,MAAM,CAAA;CACd;AAED,iFAAiF;AACjF,MAAM,WAAW,WAAW;IAC1B,kEAAkE;IAClE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,iFAAiF;IACjF,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CACzB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CActD;AAED,2DAA2D;AAC3D,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,UAAU,EAAE,CAgB9E;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAIxD;AAyBD,iFAAiF;AACjF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAMlE;AAYD,iEAAiE;AACjE,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAa/D"}
|
package/dist/formats.js
CHANGED
|
@@ -61,15 +61,27 @@ export function carriedClass(node) {
|
|
|
61
61
|
const value = carried?.['class'];
|
|
62
62
|
return value && value.trim() !== '' ? value : null;
|
|
63
63
|
}
|
|
64
|
+
/**
|
|
65
|
+
* Every text block in the selection, over every selected RANGE.
|
|
66
|
+
*
|
|
67
|
+
* `selection.from`/`to` are one range's bounds, so a table column selection --
|
|
68
|
+
* which is one range per cell -- reported a single cell's paragraph and the
|
|
69
|
+
* format was applied to just that one. See `selectedRanges` in commands.ts.
|
|
70
|
+
*/
|
|
64
71
|
function textBlocks(state) {
|
|
65
72
|
const found = [];
|
|
66
|
-
const
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
+
const seen = new Set();
|
|
74
|
+
for (const range of state.selection.ranges) {
|
|
75
|
+
state.doc.nodesBetween(range.$from.pos, range.$to.pos, (node, pos) => {
|
|
76
|
+
if (!node.isTextblock)
|
|
77
|
+
return true;
|
|
78
|
+
if (!seen.has(pos)) {
|
|
79
|
+
seen.add(pos);
|
|
80
|
+
found.push({ pos, node });
|
|
81
|
+
}
|
|
82
|
+
return false;
|
|
83
|
+
});
|
|
84
|
+
}
|
|
73
85
|
return found;
|
|
74
86
|
}
|
|
75
87
|
/** The class shared by every selected text block, or null if mixed or absent. */
|
package/dist/formats.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formats.js","sourceRoot":"","sources":["../src/formats.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAiB9C;;;;;;;;;;GAUG;AACH,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IAC5B,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAChC,IAAI,GAAG,KAAK,CAAC,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAA;IACpF,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;IAC5C,MAAM,OAAO,GAAG,OAAO;SACpB,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;SACd,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAA;IAChC,OAAO;QACL,OAAO,EAAE,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO;QACxC,SAAS,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI;KACzD,CAAA;AACH,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,eAAe,CAAC,KAAgC;IAC9D,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAA;IACrB,MAAM,GAAG,GAAiB,EAAE,CAAA;IAC5B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;QAC3B,IAAI,CAAC,OAAO;YAAE,SAAQ;QACtB,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAC/B,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;YACd,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAA;YAC5C,SAAQ;QACV,CAAC;QACD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;QACzC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QAC1C,IAAI,KAAK;YAAE,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,KAAK,EAAE,CAAC,CAAA;IACvD,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAA8C,CAAA;IACrF,MAAM,KAAK,GAAG,OAAO,EAAE,CAAC,OAAO,CAAC,CAAA;IAChC,OAAO,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;AACpD,CAAC;AAED,SAAS,UAAU,CAAC,KAAkB;IACpC,MAAM,KAAK,GAAyC,EAAE,CAAA;IACtD,MAAM,
|
|
1
|
+
{"version":3,"file":"formats.js","sourceRoot":"","sources":["../src/formats.ts"],"names":[],"mappings":"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"}
|