@openleaf-editor/core 0.1.0-beta.0 → 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 +109 -1
  6. package/dist/commands.d.ts.map +1 -1
  7. package/dist/commands.js +639 -10
  8. package/dist/commands.js.map +1 -1
  9. package/dist/css.d.ts +176 -0
  10. package/dist/css.d.ts.map +1 -0
  11. package/dist/css.js +517 -0
  12. package/dist/css.js.map +1 -0
  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 +104 -4
  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 -2
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +16 -5
  27. package/dist/index.js.map +1 -1
  28. package/dist/keymap.d.ts.map +1 -1
  29. package/dist/keymap.js +15 -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 +53 -0
  36. package/dist/preserve.d.ts.map +1 -1
  37. package/dist/preserve.js +133 -4
  38. package/dist/preserve.js.map +1 -1
  39. package/dist/schema.d.ts.map +1 -1
  40. package/dist/schema.js +331 -61
  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,138 @@
8
8
  * there rather than at the package boundary.
9
9
  */
10
10
  import { Schema } from 'prosemirror-model';
11
- import { unknownBlock, unknownInline } from './preserve.js';
11
+ import { applyStyleAttribute, indentCss, indentLevels, isFullyModelledStyle, parseDeclarations, safeAlign, safeColor, safeDir, safeFontFamily, safeFontSize, safeLang, safeLineHeight, safeListStyle, serializeDeclarations } from './css.js';
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';
12
14
  import { table, table_cell, table_header, table_row } from './tables.js';
15
+ import { safeId } from './tokens.js';
13
16
  import { isSafeUrl } from './url.js';
17
+ /**
18
+ * Read the attributes every text block shares: direction and alignment.
19
+ *
20
+ * Alignment is read from `text-align` first and the legacy `align` attribute
21
+ * second, because content that carries both was almost always produced by an
22
+ * editor that wrote the modern form and left the old one behind. Reading the
23
+ * legacy attribute at all is the point: `<p align="center">` is what fifteen
24
+ * years of CMS content looks like, and a schema that only understands the
25
+ * declaration silently centres nothing.
26
+ */
27
+ function textBlockAttrs(el) {
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) };
52
+ }
53
+ /**
54
+ * Write them back.
55
+ *
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.
61
+ */
62
+ function textBlockDOMAttrs(attrs) {
63
+ const out = {};
64
+ const dir = attrs['dir'];
65
+ if (dir !== null)
66
+ out['dir'] = dir;
67
+ const id = attrs['id'];
68
+ if (id)
69
+ out['id'] = id;
70
+ const declarations = new Map();
71
+ const align = attrs['align'];
72
+ if (align !== null)
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;
83
+ return out;
84
+ }
85
+ /**
86
+ * An element carrying these attributes, with `style` applied directly.
87
+ *
88
+ * Returned instead of a `['p', attrs, 0]` spec ONLY when there is CSS to write,
89
+ * because the serializer would otherwise put the declaration through the CSSOM
90
+ * and rewrite it. See applyStyleAttribute for why that matters. Everything with
91
+ * no style stays on the plain spec path, which is both cheaper and less code to
92
+ * be wrong about.
93
+ */
94
+ function elementWithStyle(tag, attrs) {
95
+ const el = serializationTarget().createElement(tag);
96
+ for (const [name, value] of Object.entries(attrs)) {
97
+ if (name === 'style')
98
+ applyStyleAttribute(el, value);
99
+ else
100
+ el.setAttribute(name, value);
101
+ }
102
+ return { dom: el, contentDOM: el };
103
+ }
104
+ /** `toDOM` for a text block: a spec array normally, an element when it has CSS. */
105
+ function textBlockToDOM(tag, attrs) {
106
+ const domAttrs = textBlockDOMAttrs(attrs);
107
+ if (domAttrs['style'] !== undefined)
108
+ return elementWithStyle(tag, domAttrs);
109
+ return Object.keys(domAttrs).length > 0 ? [tag, domAttrs, 0] : [tag, 0];
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
+ }
14
143
  /** The base node specs. Extensions are appended to these. */
15
144
  export const coreNodes = {
16
145
  doc: { content: 'block+' },
@@ -19,34 +148,40 @@ export const coreNodes = {
19
148
  // silently breaks Arabic, Hebrew and Persian content, so it is a
20
149
  // first-class schema attribute rather than something the preservation
21
150
  // layer has to rescue.
22
- attrs: { dir: { default: null } },
151
+ //
152
+ // `align` is styling, and is modelled anyway. Left to the preservation
153
+ // layer it survives as opaque residue -- faithful, but invisible to the
154
+ // toolbar, so an author cannot see that a paragraph is centred or change
155
+ // it. A formatting control the editor cannot express is a feature request
156
+ // the schema is answering.
157
+ attrs: {
158
+ dir: { default: null },
159
+ align: { default: null },
160
+ lineHeight: { default: null },
161
+ indent: { default: null },
162
+ },
23
163
  content: 'inline*',
24
164
  group: 'block',
25
- parseDOM: [
26
- {
27
- tag: 'p',
28
- getAttrs: (dom) => ({ dir: dom.getAttribute('dir') }),
29
- },
30
- ],
31
- toDOM(node) {
32
- const dir = node.attrs['dir'];
33
- return dir ? ['p', { dir }, 0] : ['p', 0];
34
- },
165
+ parseDOM: [{ tag: 'p', getAttrs: (dom) => textBlockAttrs(dom) }],
166
+ toDOM: (node) => textBlockToDOM('p', node.attrs),
35
167
  },
36
168
  heading: {
37
- attrs: { level: { default: 1 }, dir: { 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
+ },
38
177
  content: 'inline*',
39
178
  group: 'block',
40
179
  defining: true,
41
180
  parseDOM: [1, 2, 3, 4, 5, 6].map((level) => ({
42
181
  tag: `h${level}`,
43
- getAttrs: (dom) => ({ level, dir: dom.getAttribute('dir') }),
182
+ getAttrs: (dom) => headingAttrs(dom, level),
44
183
  })),
45
- toDOM(node) {
46
- const tag = `h${node.attrs['level']}`;
47
- const dir = node.attrs['dir'];
48
- return dir ? [tag, { dir }, 0] : [tag, 0];
49
- },
184
+ toDOM: (node) => textBlockToDOM(`h${node.attrs['level']}`, node.attrs),
50
185
  },
51
186
  blockquote: {
52
187
  content: 'block+',
@@ -91,32 +226,37 @@ export const coreNodes = {
91
226
  },
92
227
  horizontal_rule: {
93
228
  group: 'block',
94
- parseDOM: [{ tag: 'hr' }],
229
+ parseDOM: [
230
+ {
231
+ tag: 'hr',
232
+ getAttrs: (dom) => (dom.classList.contains('ol-pagebreak') ? false : null),
233
+ },
234
+ ],
95
235
  toDOM: () => ['hr'],
96
236
  },
97
237
  bullet_list: {
238
+ attrs: { listStyle: { default: null } },
98
239
  content: 'list_item+',
99
240
  group: 'block',
100
- parseDOM: [{ tag: 'ul' }],
101
- toDOM: () => ['ul', 0],
241
+ parseDOM: [
242
+ {
243
+ tag: 'ul',
244
+ getAttrs: (dom) => listAttrs(dom, false),
245
+ },
246
+ ],
247
+ toDOM: (node) => listToDOM('ul', node.attrs),
102
248
  },
103
249
  ordered_list: {
104
- attrs: { start: { default: 1 } },
250
+ attrs: { start: { default: 1 }, listStyle: { default: null } },
105
251
  content: 'list_item+',
106
252
  group: 'block',
107
253
  parseDOM: [
108
254
  {
109
255
  tag: 'ol',
110
- getAttrs(dom) {
111
- const start = dom.getAttribute('start');
112
- return { start: start ? Number(start) : 1 };
113
- },
256
+ getAttrs: (dom) => listAttrs(dom, true),
114
257
  },
115
258
  ],
116
- toDOM(node) {
117
- const start = node.attrs['start'];
118
- return start === 1 ? ['ol', 0] : ['ol', { start: String(start) }, 0];
119
- },
259
+ toDOM: (node) => listToDOM('ol', node.attrs),
120
260
  },
121
261
  list_item: {
122
262
  content: 'paragraph block*',
@@ -134,41 +274,16 @@ export const coreNodes = {
134
274
  title: { default: null },
135
275
  width: { default: null },
136
276
  height: { default: null },
277
+ align: { default: null },
278
+ className: { default: null },
137
279
  },
138
280
  parseDOM: [
139
281
  {
140
282
  tag: 'img[src]',
141
- getAttrs(dom) {
142
- const el = dom;
143
- // Returning false declines the rule, so an image with a
144
- // `javascript:` src is dropped rather than carried through.
145
- if (!isSafeUrl(el.getAttribute('src')))
146
- return false;
147
- return {
148
- src: el.getAttribute('src'),
149
- // An absent alt and alt="" mean different things to a screen
150
- // reader: "undescribed" versus "decorative". Never conflate them.
151
- alt: el.getAttribute('alt'),
152
- title: el.getAttribute('title'),
153
- width: el.getAttribute('width'),
154
- height: el.getAttribute('height'),
155
- };
156
- },
283
+ getAttrs: (dom) => imageParseAttrs(dom),
157
284
  },
158
285
  ],
159
- toDOM(node) {
160
- const { src, alt, title, width, height } = node.attrs;
161
- const attrs = { src: src };
162
- if (alt !== null)
163
- attrs['alt'] = alt;
164
- if (title !== null)
165
- attrs['title'] = title;
166
- if (width !== null)
167
- attrs['width'] = width;
168
- if (height !== null)
169
- attrs['height'] = height;
170
- return ['img', attrs];
171
- },
286
+ toDOM: (node) => ['img', imageDomAttrs(node.attrs)],
172
287
  },
173
288
  hard_break: {
174
289
  inline: true,
@@ -187,6 +302,17 @@ export const coreNodes = {
187
302
  table_row,
188
303
  table_cell,
189
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,
190
316
  unknown_block: unknownBlock,
191
317
  unknown_inline: unknownInline,
192
318
  };
@@ -217,12 +343,153 @@ export const coreMarks = {
217
343
  parseDOM: [{ tag: 'code' }],
218
344
  toDOM: () => ['code', 0],
219
345
  },
346
+ /*
347
+ * Colour, as two marks rather than one.
348
+ *
349
+ * Foreground and background are independent: an author highlights a run of
350
+ * text yellow and then makes it red, and a single mark holding both attributes
351
+ * would have the second command overwrite the first's value with a default.
352
+ * Two marks compose the way the toolbar's two controls do.
353
+ *
354
+ * Both are parsed through a `style` rule, not a tag rule, and that choice is
355
+ * load-bearing. ProseMirror applies style rules to whatever element carries
356
+ * the declaration, so `<span style="color:red">`, `<p style="color:red">` and
357
+ * a `<div>` wrapper all yield the same mark -- whereas a `span[style]` tag rule
358
+ * would claim the span, drop it, and quietly lose any other declaration on it.
359
+ *
360
+ * The value is normalized by `safeColor`, which folds `rgb(255, 0, 0)` back to
361
+ * `#ff0000`. That is not cosmetic: ProseMirror reads style rules through the
362
+ * CSSOM, which returns the functional form for an authored hex colour, so
363
+ * without the fold every hex colour in an archive would be rewritten longer on
364
+ * the first save.
365
+ */
366
+ text_color: {
367
+ attrs: { color: {} },
368
+ parseDOM: [
369
+ {
370
+ style: 'color',
371
+ getAttrs(value) {
372
+ const color = safeColor(value);
373
+ return color ? { color } : false;
374
+ },
375
+ },
376
+ {
377
+ // `<font color="red">` is what a decade of CMS content looks like, and
378
+ // it is one of the few legacy tags that maps onto a modern mark with
379
+ // nothing left over.
380
+ tag: 'font[color]',
381
+ getAttrs(dom) {
382
+ const el = dom;
383
+ // Only when colour is the whole story. `<font face="Arial" size="2">`
384
+ // carries information this mark cannot hold, so it belongs to the
385
+ // preservation layer instead -- claiming it here would drop the rest.
386
+ if (el.attributes.length > 1)
387
+ return false;
388
+ const color = safeColor(el.getAttribute('color'));
389
+ return color ? { color } : false;
390
+ },
391
+ },
392
+ ],
393
+ toDOM: (mark) => elementWithStyle('span', { style: `color:${mark.attrs['color']}` }),
394
+ },
395
+ background_color: {
396
+ attrs: { color: {} },
397
+ parseDOM: [
398
+ {
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);
408
+ return color ? { color } : false;
409
+ },
410
+ },
411
+ ],
412
+ toDOM: (mark) => elementWithStyle('span', { style: `background-color:${mark.attrs['color']}` }),
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
+ },
220
486
  link: {
221
487
  attrs: {
222
488
  href: {},
223
489
  title: { default: null },
224
490
  target: { default: null },
225
491
  rel: { default: null },
492
+ id: { default: null },
226
493
  },
227
494
  inclusive: false,
228
495
  parseDOM: [
@@ -240,12 +507,13 @@ export const coreMarks = {
240
507
  title: el.getAttribute('title'),
241
508
  target: el.getAttribute('target'),
242
509
  rel: el.getAttribute('rel'),
510
+ id: safeId(el.getAttribute('id')),
243
511
  };
244
512
  },
245
513
  },
246
514
  ],
247
515
  toDOM(node) {
248
- const { href, title, target, rel } = node.attrs;
516
+ const { href, title, target, rel, id } = node.attrs;
249
517
  const attrs = { href: href };
250
518
  if (title !== null)
251
519
  attrs['title'] = title;
@@ -253,6 +521,8 @@ export const coreMarks = {
253
521
  attrs['target'] = target;
254
522
  if (rel !== null)
255
523
  attrs['rel'] = rel;
524
+ if (id !== null)
525
+ attrs['id'] = id;
256
526
  return ['a', attrs, 0];
257
527
  },
258
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"}