@openleaf-editor/core 0.1.0-beta.1 → 0.1.0-beta.2

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.
Files changed (58) hide show
  1. package/dist/autolink.d.ts +12 -0
  2. package/dist/autolink.d.ts.map +1 -0
  3. package/dist/autolink.js +98 -0
  4. package/dist/autolink.js.map +1 -0
  5. package/dist/commands.d.ts +69 -2
  6. package/dist/commands.d.ts.map +1 -1
  7. package/dist/commands.js +464 -18
  8. package/dist/commands.js.map +1 -1
  9. package/dist/css.d.ts +61 -9
  10. package/dist/css.d.ts.map +1 -1
  11. package/dist/css.js +315 -13
  12. package/dist/css.js.map +1 -1
  13. package/dist/embed.d.ts +52 -0
  14. package/dist/embed.d.ts.map +1 -0
  15. package/dist/embed.js +116 -0
  16. package/dist/embed.js.map +1 -0
  17. package/dist/extensions.d.ts.map +1 -1
  18. package/dist/extensions.js +22 -15
  19. package/dist/extensions.js.map +1 -1
  20. package/dist/formats.d.ts +44 -0
  21. package/dist/formats.d.ts.map +1 -0
  22. package/dist/formats.js +111 -0
  23. package/dist/formats.js.map +1 -0
  24. package/dist/index.d.ts +9 -3
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +14 -6
  27. package/dist/index.js.map +1 -1
  28. package/dist/keymap.d.ts.map +1 -1
  29. package/dist/keymap.js +6 -3
  30. package/dist/keymap.js.map +1 -1
  31. package/dist/noneditable.d.ts +14 -0
  32. package/dist/noneditable.d.ts.map +1 -0
  33. package/dist/noneditable.js +93 -0
  34. package/dist/noneditable.js.map +1 -0
  35. package/dist/preserve.d.ts +45 -0
  36. package/dist/preserve.d.ts.map +1 -1
  37. package/dist/preserve.js +113 -34
  38. package/dist/preserve.js.map +1 -1
  39. package/dist/schema.d.ts.map +1 -1
  40. package/dist/schema.js +211 -60
  41. package/dist/schema.js.map +1 -1
  42. package/dist/structure.d.ts +44 -0
  43. package/dist/structure.d.ts.map +1 -0
  44. package/dist/structure.js +379 -0
  45. package/dist/structure.js.map +1 -0
  46. package/dist/tables.d.ts +13 -0
  47. package/dist/tables.d.ts.map +1 -1
  48. package/dist/tables.js +224 -19
  49. package/dist/tables.js.map +1 -1
  50. package/dist/tokens.d.ts +28 -0
  51. package/dist/tokens.d.ts.map +1 -0
  52. package/dist/tokens.js +68 -0
  53. package/dist/tokens.js.map +1 -0
  54. package/dist/visual-aids.d.ts +10 -0
  55. package/dist/visual-aids.d.ts.map +1 -0
  56. package/dist/visual-aids.js +61 -0
  57. package/dist/visual-aids.js.map +1 -0
  58. package/package.json +3 -2
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';
11
+ import { applyStyleAttribute, indentCss, indentLevels, isFullyModelledStyle, parseDeclarations, safeAlign, safeColor, safeDir, safeFontFamily, safeFontSize, safeLang, safeLineHeight, safeListStyle, serializeDeclarations } from './css.js';
12
12
  import { serializationTarget, unknownBlock, unknownInline } from './preserve.js';
13
+ import { audio, details, figcaption, figure, iframe, imageDomAttrs, imageParseAttrs, 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 declaration = parseDeclarations(el.getAttribute('style')).get('text-align');
28
- return { dir, align: safeAlign(declaration ?? el.getAttribute('align'), dir) };
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 goes out as `style="text-align:..."` and never as the legacy
34
- * attribute, so stored content converges on the one form that is still valid
35
- * HTML. The `align` attribute the value may have been read from is dropped from
36
- * the carried residue by extensions.ts, which is what stops the two spellings
37
- * being emitted side by side with a chance to disagree.
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
- out['style'] = `text-align:${align}`;
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,38 @@ 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
+ function listAttrs(el, ordered) {
112
+ const declarations = parseDeclarations(el.getAttribute('style'));
113
+ const fromStyle = safeListStyle(declarations.get('list-style-type') ?? null);
114
+ const fromType = safeListStyle(el.getAttribute('type'));
115
+ const listStyle = fromStyle ?? fromType;
116
+ if (!ordered)
117
+ return { listStyle };
118
+ const start = el.getAttribute('start');
119
+ return { start: start ? Number(start) : 1, listStyle };
120
+ }
121
+ function listToDOM(tag, attrs) {
122
+ const out = {};
123
+ if (tag === 'ol') {
124
+ const start = attrs['start'];
125
+ if (start !== 1)
126
+ out['start'] = String(start);
127
+ }
128
+ const listStyle = attrs['listStyle'];
129
+ if (listStyle !== null)
130
+ out['style'] = `list-style-type:${listStyle}`;
131
+ if (out['style'] !== undefined) {
132
+ const el = serializationTarget().createElement(tag);
133
+ for (const [name, value] of Object.entries(out)) {
134
+ if (name === 'style')
135
+ applyStyleAttribute(el, value);
136
+ else
137
+ el.setAttribute(name, value);
138
+ }
139
+ return { dom: el, contentDOM: el };
140
+ }
141
+ return Object.keys(out).length > 0 ? [tag, out, 0] : [tag, 0];
142
+ }
75
143
  /** The base node specs. Extensions are appended to these. */
76
144
  export const coreNodes = {
77
145
  doc: { content: 'block+' },
@@ -86,20 +154,32 @@ export const coreNodes = {
86
154
  // toolbar, so an author cannot see that a paragraph is centred or change
87
155
  // it. A formatting control the editor cannot express is a feature request
88
156
  // the schema is answering.
89
- attrs: { dir: { default: null }, align: { default: null } },
157
+ attrs: {
158
+ dir: { default: null },
159
+ align: { default: null },
160
+ lineHeight: { default: null },
161
+ indent: { default: null },
162
+ },
90
163
  content: 'inline*',
91
164
  group: 'block',
92
165
  parseDOM: [{ tag: 'p', getAttrs: (dom) => textBlockAttrs(dom) }],
93
166
  toDOM: (node) => textBlockToDOM('p', node.attrs),
94
167
  },
95
168
  heading: {
96
- attrs: { level: { default: 1 }, dir: { default: null }, align: { default: null } },
169
+ attrs: {
170
+ level: { default: 1 },
171
+ dir: { default: null },
172
+ align: { default: null },
173
+ lineHeight: { default: null },
174
+ indent: { default: null },
175
+ id: { default: null },
176
+ },
97
177
  content: 'inline*',
98
178
  group: 'block',
99
179
  defining: true,
100
180
  parseDOM: [1, 2, 3, 4, 5, 6].map((level) => ({
101
181
  tag: `h${level}`,
102
- getAttrs: (dom) => ({ level, ...textBlockAttrs(dom) }),
182
+ getAttrs: (dom) => headingAttrs(dom, level),
103
183
  })),
104
184
  toDOM: (node) => textBlockToDOM(`h${node.attrs['level']}`, node.attrs),
105
185
  },
@@ -146,32 +226,37 @@ export const coreNodes = {
146
226
  },
147
227
  horizontal_rule: {
148
228
  group: 'block',
149
- parseDOM: [{ tag: 'hr' }],
229
+ parseDOM: [
230
+ {
231
+ tag: 'hr',
232
+ getAttrs: (dom) => (dom.classList.contains('ol-pagebreak') ? false : null),
233
+ },
234
+ ],
150
235
  toDOM: () => ['hr'],
151
236
  },
152
237
  bullet_list: {
238
+ attrs: { listStyle: { default: null } },
153
239
  content: 'list_item+',
154
240
  group: 'block',
155
- parseDOM: [{ tag: 'ul' }],
156
- toDOM: () => ['ul', 0],
241
+ parseDOM: [
242
+ {
243
+ tag: 'ul',
244
+ getAttrs: (dom) => listAttrs(dom, false),
245
+ },
246
+ ],
247
+ toDOM: (node) => listToDOM('ul', node.attrs),
157
248
  },
158
249
  ordered_list: {
159
- attrs: { start: { default: 1 } },
250
+ attrs: { start: { default: 1 }, listStyle: { default: null } },
160
251
  content: 'list_item+',
161
252
  group: 'block',
162
253
  parseDOM: [
163
254
  {
164
255
  tag: 'ol',
165
- getAttrs(dom) {
166
- const start = dom.getAttribute('start');
167
- return { start: start ? Number(start) : 1 };
168
- },
256
+ getAttrs: (dom) => listAttrs(dom, true),
169
257
  },
170
258
  ],
171
- toDOM(node) {
172
- const start = node.attrs['start'];
173
- return start === 1 ? ['ol', 0] : ['ol', { start: String(start) }, 0];
174
- },
259
+ toDOM: (node) => listToDOM('ol', node.attrs),
175
260
  },
176
261
  list_item: {
177
262
  content: 'paragraph block*',
@@ -189,41 +274,16 @@ export const coreNodes = {
189
274
  title: { default: null },
190
275
  width: { default: null },
191
276
  height: { default: null },
277
+ align: { default: null },
278
+ className: { default: null },
192
279
  },
193
280
  parseDOM: [
194
281
  {
195
282
  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
- },
283
+ getAttrs: (dom) => imageParseAttrs(dom),
212
284
  },
213
285
  ],
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
- },
286
+ toDOM: (node) => ['img', imageDomAttrs(node.attrs)],
227
287
  },
228
288
  hard_break: {
229
289
  inline: true,
@@ -242,6 +302,17 @@ export const coreNodes = {
242
302
  table_row,
243
303
  table_cell,
244
304
  table_header,
305
+ // Media and structure: in the base schema so stored documents stay editable.
306
+ // The insert dialogs, character map and resize handles are the opt-in plugin.
307
+ video,
308
+ audio,
309
+ iframe,
310
+ details,
311
+ summary,
312
+ figure,
313
+ figcaption,
314
+ page_break,
315
+ named_anchor,
245
316
  unknown_block: unknownBlock,
246
317
  unknown_inline: unknownInline,
247
318
  };
@@ -325,23 +396,100 @@ export const coreMarks = {
325
396
  attrs: { color: {} },
326
397
  parseDOM: [
327
398
  {
328
- // The CSSOM expands the `background` shorthand, so Word's
329
- // `style="background:yellow"` arrives here as well without a second rule.
330
- style: 'background-color',
331
- getAttrs(value) {
332
- const color = safeColor(value);
399
+ // Restricted to span so a cell's own background is not also read as a
400
+ // highlight mark on every character inside it. The CSSOM still expands
401
+ // the `background` shorthand on the element, so Word's
402
+ // `style="background:yellow"` arrives here without a second rule.
403
+ tag: 'span',
404
+ getAttrs(dom) {
405
+ const el = dom;
406
+ const fromAttr = parseDeclarations(el.getAttribute('style')).get('background-color');
407
+ const color = safeColor(el.style.backgroundColor) ?? safeColor(fromAttr);
333
408
  return color ? { color } : false;
334
409
  },
335
410
  },
336
411
  ],
337
412
  toDOM: (mark) => elementWithStyle('span', { style: `background-color:${mark.attrs['color']}` }),
338
413
  },
414
+ font_family: {
415
+ attrs: { family: {} },
416
+ parseDOM: [
417
+ {
418
+ style: 'font-family',
419
+ getAttrs(value) {
420
+ const family = safeFontFamily(value);
421
+ return family ? { family } : false;
422
+ },
423
+ },
424
+ {
425
+ tag: 'font[face]',
426
+ getAttrs(dom) {
427
+ const el = dom;
428
+ // Colour-only `<font>` is a different mark. Face plus anything else
429
+ // this mark cannot hold stays with the preservation layer.
430
+ if (el.attributes.length > 1)
431
+ return false;
432
+ const family = safeFontFamily(el.getAttribute('face'));
433
+ return family ? { family } : false;
434
+ },
435
+ },
436
+ ],
437
+ toDOM: (mark) => elementWithStyle('span', { style: `font-family:${mark.attrs['family']}` }),
438
+ },
439
+ font_size: {
440
+ attrs: { size: {} },
441
+ parseDOM: [
442
+ {
443
+ style: 'font-size',
444
+ getAttrs(value) {
445
+ const size = safeFontSize(value);
446
+ return size ? { size } : false;
447
+ },
448
+ },
449
+ ],
450
+ toDOM: (mark) => elementWithStyle('span', { style: `font-size:${mark.attrs['size']}` }),
451
+ },
452
+ subscript: {
453
+ excludes: 'superscript',
454
+ parseDOM: [{ tag: 'sub' }, { style: 'vertical-align=sub' }],
455
+ toDOM: () => ['sub', 0],
456
+ },
457
+ superscript: {
458
+ excludes: 'subscript',
459
+ parseDOM: [{ tag: 'sup' }, { style: 'vertical-align=super' }],
460
+ toDOM: () => ['sup', 0],
461
+ },
462
+ language: {
463
+ attrs: { lang: {} },
464
+ inclusive: false,
465
+ parseDOM: [
466
+ {
467
+ tag: 'span[lang]',
468
+ getAttrs(dom) {
469
+ const el = dom;
470
+ const lang = safeLang(el.getAttribute('lang'));
471
+ if (!lang)
472
+ return false;
473
+ for (const attr of Array.from(el.attributes)) {
474
+ if (attr.name === 'lang')
475
+ continue;
476
+ if (attr.name === 'style' && isFullyModelledStyle(attr.value))
477
+ continue;
478
+ return false;
479
+ }
480
+ return { lang };
481
+ },
482
+ },
483
+ ],
484
+ toDOM: (mark) => ['span', { lang: mark.attrs['lang'] }, 0],
485
+ },
339
486
  link: {
340
487
  attrs: {
341
488
  href: {},
342
489
  title: { default: null },
343
490
  target: { default: null },
344
491
  rel: { default: null },
492
+ id: { default: null },
345
493
  },
346
494
  inclusive: false,
347
495
  parseDOM: [
@@ -359,12 +507,13 @@ export const coreMarks = {
359
507
  title: el.getAttribute('title'),
360
508
  target: el.getAttribute('target'),
361
509
  rel: el.getAttribute('rel'),
510
+ id: safeId(el.getAttribute('id')),
362
511
  };
363
512
  },
364
513
  },
365
514
  ],
366
515
  toDOM(node) {
367
- const { href, title, target, rel } = node.attrs;
516
+ const { href, title, target, rel, id } = node.attrs;
368
517
  const attrs = { href: href };
369
518
  if (title !== null)
370
519
  attrs['title'] = title;
@@ -372,6 +521,8 @@ export const coreMarks = {
372
521
  attrs['target'] = target;
373
522
  if (rel !== null)
374
523
  attrs['rel'] = rel;
524
+ if (id !== null)
525
+ attrs['id'] = id;
375
526
  return ['a', attrs, 0];
376
527
  },
377
528
  },
@@ -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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"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Structural nodes that belong in the base schema for the same reason tables
3
+ * do: without them, stored `<details>`, `<figure>` and a page break become
4
+ * opaque preserved atoms -- faithful, and uneditable.
5
+ *
6
+ * The editing chrome (dialogs, character map, resize handles) lives in
7
+ * `@openleaf-editor/plugins-insert`. What is here is the storage format.
8
+ */
9
+ import type { Attrs, NodeSpec } from 'prosemirror-model';
10
+ /**
11
+ * `<video>` and `<audio>`. `controls` defaults to on: an inserted player
12
+ * without controls is a rectangle that cannot be played from the keyboard,
13
+ * and authors rarely go back to add them.
14
+ */
15
+ export declare const video: NodeSpec;
16
+ export declare const audio: NodeSpec;
17
+ /**
18
+ * An allowlisted embed. Unsafe iframes are ignored by a sibling parse rule in
19
+ * preserve.ts rather than preserved: an iframe is a nested page, not an
20
+ * author's callout div.
21
+ */
22
+ export declare const iframe: NodeSpec;
23
+ export declare const details: NodeSpec;
24
+ export declare const summary: NodeSpec;
25
+ /**
26
+ * A captioned image. Figures that contain anything other than an image and an
27
+ * optional caption are left to the preservation layer: claiming them here
28
+ * would flatten a complex figure into a shape it cannot round-trip.
29
+ */
30
+ export declare const figure: NodeSpec;
31
+ export declare const figcaption: NodeSpec;
32
+ export declare const page_break: NodeSpec;
33
+ /**
34
+ * An empty named destination: `<a id="section"></a>`.
35
+ *
36
+ * A link with both `href` and `id` is a mark, not this node. This exists for
37
+ * the jump target that has no text of its own, which is what TinyMCE's
38
+ * anchor plugin inserts and what a decade of CMS content already contains.
39
+ */
40
+ export declare const named_anchor: NodeSpec;
41
+ /** Image attributes shared by parse and commands. */
42
+ export declare function imageParseAttrs(el: Element): Record<string, unknown> | false;
43
+ export declare function imageDomAttrs(attrs: Attrs): Record<string, string>;
44
+ //# sourceMappingURL=structure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"structure.d.ts","sourceRoot":"","sources":["../src/structure.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAiB,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAqGvE;;;;GAIG;AACH,eAAO,MAAM,KAAK,EAAE,QAyCnB,CAAA;AAED,eAAO,MAAM,KAAK,EAAE,QAgCnB,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,MAAM,EAAE,QAyCpB,CAAA;AAED,eAAO,MAAM,OAAO,EAAE,QAerB,CAAA;AAED,eAAO,MAAM,OAAO,EAAE,QAKrB,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,MAAM,EAAE,QAgBpB,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,QAMxB,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,QAUxB,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,EAAE,QAmB1B,CAAA;AAED,qDAAqD;AACrD,wBAAgB,eAAe,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,KAAK,CAY5E;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAclE"}