@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/commands.js CHANGED
@@ -14,8 +14,13 @@
14
14
  */
15
15
  import { redo, undo } from 'prosemirror-history';
16
16
  import { setBlockType, toggleMark, wrapIn } from 'prosemirror-commands';
17
+ import { Slice } from 'prosemirror-model';
17
18
  import { liftListItem, sinkListItem, splitListItem, wrapInList, } from 'prosemirror-schema-list';
18
- import { safeColor } from './css.js';
19
+ import { MAX_INDENT, safeColor, safeDir, safeFontFamily, safeFontSize, safeLang, safeLineHeight, safeListStyle, } from './css.js';
20
+ import { safeAllowList, safeEmbedSrc } from './embed.js';
21
+ import { parseHtml } from './html.js';
22
+ import { IMAGE_ALIGN_CLASSES, safeClassList, safeId } from './tokens.js';
23
+ import { isSafeUrl } from './url.js';
19
24
  /**
20
25
  * Types are resolved from the state's schema, never from a captured singleton.
21
26
  *
@@ -153,12 +158,26 @@ export const toggleItalic = markCommand('em', toggleMark);
153
158
  export const toggleUnderline = markCommand('underline', toggleMark);
154
159
  export const toggleStrike = markCommand('strike', toggleMark);
155
160
  export const toggleInlineCode = markCommand('code', toggleMark);
161
+ export const toggleSubscript = markCommand('subscript', toggleMark);
162
+ export const toggleSuperscript = markCommand('superscript', toggleMark);
156
163
  /* ------------------------------------------------------------------ *
157
164
  * Block commands
158
165
  * ------------------------------------------------------------------ */
159
166
  export const setParagraph = nodeCommand('paragraph', (type) => setBlockType(type));
160
167
  export function setHeading(level) {
161
- return nodeCommand('heading', (type) => setBlockType(type, { level }));
168
+ return (state, dispatch, view) => {
169
+ const type = nodeIn(state, 'heading');
170
+ if (!type)
171
+ return false;
172
+ const parent = state.selection.$from.parent;
173
+ const attrs = {
174
+ level,
175
+ dir: parent.attrs['dir'] ?? null,
176
+ align: parent.attrs['align'] ?? null,
177
+ id: parent.type === type ? (parent.attrs['id'] ?? null) : null,
178
+ };
179
+ return setBlockType(type, attrs)(state, dispatch, view);
180
+ };
162
181
  }
163
182
  /**
164
183
  * Toggle a heading level: applying the level you are already in returns the
@@ -262,6 +281,65 @@ function toggleList(target) {
262
281
  export const splitListItemCommand = nodeCommand('list_item', (t) => splitListItem(t));
263
282
  export const indentListItem = nodeCommand('list_item', (t) => sinkListItem(t));
264
283
  export const outdentListItem = nodeCommand('list_item', (t) => liftListItem(t));
284
+ /**
285
+ * Indent: nest a list item when the selection is in a list, otherwise add a
286
+ * `padding-inline-start` step on the text blocks. Outdent is the reverse, and
287
+ * lifting a top-level list item out of its list is still how you leave a list.
288
+ */
289
+ export const indent = (state, dispatch, view) => {
290
+ if (enclosingList(state))
291
+ return indentListItem(state, dispatch, view);
292
+ return adjustIndent(1)(state, dispatch, view);
293
+ };
294
+ export const outdent = (state, dispatch, view) => {
295
+ if (enclosingList(state))
296
+ return outdentListItem(state, dispatch, view);
297
+ return adjustIndent(-1)(state, dispatch, view);
298
+ };
299
+ function adjustIndent(delta) {
300
+ return (state, dispatch) => {
301
+ const blocks = blocksWithAttr(state, 'indent');
302
+ if (blocks.length === 0)
303
+ return false;
304
+ if (dispatch) {
305
+ const tr = state.tr;
306
+ for (const { pos, node } of blocks) {
307
+ const current = node.attrs['indent'] ?? 0;
308
+ const next = Math.max(0, Math.min(MAX_INDENT, current + delta));
309
+ tr.setNodeMarkup(pos, undefined, { ...node.attrs, indent: next === 0 ? null : next });
310
+ }
311
+ dispatch(tr.scrollIntoView());
312
+ }
313
+ return true;
314
+ };
315
+ }
316
+ export function activeIndent(state) {
317
+ return uniformBlockAttr(state, 'indent');
318
+ }
319
+ export function setListStyle(style) {
320
+ return (state, dispatch) => {
321
+ const enclosing = enclosingList(state);
322
+ if (!enclosing)
323
+ return false;
324
+ const value = style === null ? null : safeListStyle(style);
325
+ if (style !== null && value === null)
326
+ return false;
327
+ if (dispatch) {
328
+ const node = state.doc.nodeAt(enclosing.pos);
329
+ if (!node)
330
+ return false;
331
+ dispatch(state.tr.setNodeMarkup(enclosing.pos, undefined, { ...node.attrs, listStyle: value }).scrollIntoView());
332
+ }
333
+ return true;
334
+ };
335
+ }
336
+ export function activeListStyle(state) {
337
+ const enclosing = enclosingList(state);
338
+ if (!enclosing)
339
+ return null;
340
+ const node = state.doc.nodeAt(enclosing.pos);
341
+ return node?.attrs['listStyle'] ?? null;
342
+ }
265
343
  /* ------------------------------------------------------------------ *
266
344
  * Alignment
267
345
  * ------------------------------------------------------------------ */
@@ -273,23 +351,29 @@ export const outdentListItem = nodeCommand('list_item', (t) => liftListItem(t));
273
351
  * alignable block -- a caption, a callout -- gets the toolbar control and the
274
352
  * keyboard shortcut for free, and this function does not have to learn its name.
275
353
  */
276
- function alignableBlocks(state) {
354
+ function blocksWithAttr(state, attr) {
277
355
  const found = [];
278
356
  const { from, to } = state.selection;
279
357
  state.doc.nodesBetween(from, to, (node, pos) => {
280
358
  if (!node.isTextblock)
281
359
  return true;
282
- // Asked of the node's resolved attributes rather than its type's spec:
283
- // `spec.attrs` is optional and undeclared in the public typings, whereas
284
- // every node carries every attribute its type declares.
285
- if (Object.hasOwn(node.attrs, 'align'))
360
+ if (Object.hasOwn(node.attrs, attr))
286
361
  found.push({ pos, node });
287
- // Never descend into a text block: its inline children are not alignable
288
- // and walking them on every keystroke is work with no result.
289
362
  return false;
290
363
  });
291
364
  return found;
292
365
  }
366
+ function uniformBlockAttr(state, attr) {
367
+ const blocks = blocksWithAttr(state, attr);
368
+ const first = blocks[0];
369
+ if (!first)
370
+ return null;
371
+ const value = first.node.attrs[attr] ?? null;
372
+ return blocks.every((b) => (b.node.attrs[attr] ?? null) === value) ? value : null;
373
+ }
374
+ function alignableBlocks(state) {
375
+ return blocksWithAttr(state, 'align');
376
+ }
293
377
  /**
294
378
  * The alignment of the selection, or null when it has none or is mixed.
295
379
  *
@@ -353,6 +437,57 @@ export function toggleTextAlign(align) {
353
437
  return setTextAlign(next)(state, dispatch, view);
354
438
  };
355
439
  }
440
+ export function setLineHeight(value) {
441
+ return setBlockStringAttr('lineHeight', value, safeLineHeight);
442
+ }
443
+ export function activeLineHeight(state) {
444
+ return uniformBlockAttr(state, 'lineHeight');
445
+ }
446
+ export function setDir(dir) {
447
+ return (state, dispatch) => {
448
+ const blocks = blocksWithAttr(state, 'dir');
449
+ if (blocks.length === 0)
450
+ return false;
451
+ const value = dir === null ? null : safeDir(dir);
452
+ if (dir !== null && value === null)
453
+ return false;
454
+ if (dispatch) {
455
+ const tr = state.tr;
456
+ for (const { pos, node } of blocks) {
457
+ tr.setNodeMarkup(pos, undefined, { ...node.attrs, dir: value });
458
+ }
459
+ dispatch(tr.scrollIntoView());
460
+ }
461
+ return true;
462
+ };
463
+ }
464
+ export function toggleDir(dir) {
465
+ return (state, dispatch, view) => {
466
+ const next = activeDir(state) === dir ? null : dir;
467
+ return setDir(next)(state, dispatch, view);
468
+ };
469
+ }
470
+ export function activeDir(state) {
471
+ return uniformBlockAttr(state, 'dir');
472
+ }
473
+ function setBlockStringAttr(attr, value, validate) {
474
+ return (state, dispatch) => {
475
+ const blocks = blocksWithAttr(state, attr);
476
+ if (blocks.length === 0)
477
+ return false;
478
+ const next = value === null ? null : validate(value);
479
+ if (value !== null && next === null)
480
+ return false;
481
+ if (dispatch) {
482
+ const tr = state.tr;
483
+ for (const { pos, node } of blocks) {
484
+ tr.setNodeMarkup(pos, undefined, { ...node.attrs, [attr]: next });
485
+ }
486
+ dispatch(tr.scrollIntoView());
487
+ }
488
+ return true;
489
+ };
490
+ }
356
491
  /* ------------------------------------------------------------------ *
357
492
  * Colour
358
493
  * ------------------------------------------------------------------ */
@@ -444,6 +579,139 @@ export function activeTextColor(state) {
444
579
  export function activeBackgroundColor(state) {
445
580
  return activeColor(state, 'background_color');
446
581
  }
582
+ function attrMarkCommand(name, attr, value, validate) {
583
+ return (state, dispatch) => {
584
+ const type = markIn(state, name);
585
+ if (!type)
586
+ return false;
587
+ const next = value === null ? null : validate(value);
588
+ if (value !== null && next === null)
589
+ return false;
590
+ const { empty, from, to } = state.selection;
591
+ if (empty) {
592
+ const current = state.storedMarks ?? state.selection.$from.marks();
593
+ const stripped = current.filter((mark) => mark.type !== type);
594
+ if (next === null && stripped.length === current.length)
595
+ return false;
596
+ if (dispatch) {
597
+ dispatch(state.tr.setStoredMarks(next === null ? stripped : [...stripped, type.create({ [attr]: next })]));
598
+ }
599
+ return true;
600
+ }
601
+ if (next === null && !state.doc.rangeHasMark(from, to, type))
602
+ return false;
603
+ if (dispatch) {
604
+ const tr = state.tr.removeMark(from, to, type);
605
+ if (next !== null)
606
+ tr.addMark(from, to, type.create({ [attr]: next }));
607
+ dispatch(tr.scrollIntoView());
608
+ }
609
+ return true;
610
+ };
611
+ }
612
+ function activeMarkAttr(state, name, attr) {
613
+ const type = markIn(state, name);
614
+ if (!type)
615
+ return null;
616
+ const { empty, $from, from, to } = state.selection;
617
+ if (empty) {
618
+ const found = type.isInSet(state.storedMarks ?? $from.marks());
619
+ return found ? found.attrs[attr] : null;
620
+ }
621
+ let value = null;
622
+ let uniform = true;
623
+ state.doc.nodesBetween(from, to, (child) => {
624
+ if (!child.isText)
625
+ return true;
626
+ const found = type.isInSet(child.marks);
627
+ const current = found ? found.attrs[attr] : null;
628
+ if (value === null && uniform)
629
+ value = current;
630
+ else if (current !== value)
631
+ uniform = false;
632
+ return true;
633
+ });
634
+ return uniform ? value : null;
635
+ }
636
+ export function setFontFamily(family) {
637
+ return attrMarkCommand('font_family', 'family', family, safeFontFamily);
638
+ }
639
+ export function setFontSize(size) {
640
+ return attrMarkCommand('font_size', 'size', size, safeFontSize);
641
+ }
642
+ export function setLanguage(lang) {
643
+ return attrMarkCommand('language', 'lang', lang, safeLang);
644
+ }
645
+ export function activeFontFamily(state) {
646
+ return activeMarkAttr(state, 'font_family', 'family');
647
+ }
648
+ export function activeFontSize(state) {
649
+ return activeMarkAttr(state, 'font_size', 'size');
650
+ }
651
+ export function activeLanguage(state) {
652
+ return activeMarkAttr(state, 'language', 'lang');
653
+ }
654
+ /**
655
+ * Strip character formatting and block decoration from the selection.
656
+ *
657
+ * Links stay: they are a destination, not a look. Direction stays: it is
658
+ * content. Headings and lists stay: they are structure. Alignment, indent,
659
+ * line height, fonts, colours, and the common character marks go.
660
+ */
661
+ export const clearFormatting = (state, dispatch) => {
662
+ const keep = new Set(['link']);
663
+ const { empty, from, to, $from } = state.selection;
664
+ const marks = Object.values(state.schema.marks).filter((type) => !keep.has(type.name));
665
+ if (empty) {
666
+ const current = state.storedMarks ?? $from.marks();
667
+ const stripped = current.filter((mark) => keep.has(mark.type.name));
668
+ const blocks = blocksWithAttr(state, 'align');
669
+ const canClearBlocks = blocks.some((b) => b.node.attrs['align'] != null ||
670
+ b.node.attrs['lineHeight'] != null ||
671
+ b.node.attrs['indent'] != null);
672
+ if (stripped.length === current.length && !canClearBlocks)
673
+ return false;
674
+ if (dispatch) {
675
+ let tr = state.tr.setStoredMarks(stripped);
676
+ for (const { pos, node } of blocks) {
677
+ tr = tr.setNodeMarkup(pos, undefined, {
678
+ ...node.attrs,
679
+ align: null,
680
+ lineHeight: null,
681
+ indent: null,
682
+ });
683
+ }
684
+ dispatch(tr.scrollIntoView());
685
+ }
686
+ return true;
687
+ }
688
+ let hasMarks = false;
689
+ for (const type of marks) {
690
+ if (state.doc.rangeHasMark(from, to, type))
691
+ hasMarks = true;
692
+ }
693
+ const blocks = blocksWithAttr(state, 'align');
694
+ const canClearBlocks = blocks.some((b) => b.node.attrs['align'] != null ||
695
+ b.node.attrs['lineHeight'] != null ||
696
+ b.node.attrs['indent'] != null);
697
+ if (!hasMarks && !canClearBlocks)
698
+ return false;
699
+ if (dispatch) {
700
+ let tr = state.tr;
701
+ for (const type of marks)
702
+ tr = tr.removeMark(from, to, type);
703
+ for (const { pos, node } of blocks) {
704
+ tr = tr.setNodeMarkup(pos, undefined, {
705
+ ...node.attrs,
706
+ align: null,
707
+ lineHeight: null,
708
+ indent: null,
709
+ });
710
+ }
711
+ dispatch(tr.scrollIntoView());
712
+ }
713
+ return true;
714
+ };
447
715
  /**
448
716
  * Apply or update a link across the selection.
449
717
  *
@@ -462,7 +730,13 @@ export function setLink(attrs) {
462
730
  if (dispatch) {
463
731
  const tr = state.tr;
464
732
  tr.removeMark(from, to, type);
465
- tr.addMark(from, to, type.create({ ...attrs }));
733
+ tr.addMark(from, to, type.create({
734
+ href: attrs.href,
735
+ title: attrs.title ?? null,
736
+ target: attrs.target ?? null,
737
+ rel: attrs.rel ?? null,
738
+ id: safeId(attrs.id),
739
+ }));
466
740
  dispatch(tr.scrollIntoView());
467
741
  }
468
742
  return true;
@@ -481,22 +755,194 @@ export const unsetLink = (state, dispatch) => {
481
755
  };
482
756
  export function insertImage(attrs) {
483
757
  return (state, dispatch) => {
758
+ const imageType = nodeIn(state, 'image');
759
+ if (!imageType)
760
+ return false;
761
+ const image = imageType.create({
762
+ src: attrs.src,
763
+ // An absent alt and alt="" mean different things to a screen reader:
764
+ // "undescribed" versus "decorative". Never collapse them.
765
+ alt: attrs.alt ?? null,
766
+ title: attrs.title ?? null,
767
+ width: attrs.width ?? null,
768
+ height: attrs.height ?? null,
769
+ align: attrs.align ?? null,
770
+ className: safeClassList(attrs.className ?? null, IMAGE_ALIGN_CLASSES),
771
+ });
772
+ if (attrs.caption !== undefined && attrs.caption !== null) {
773
+ if (!canInsert(state, 'figure'))
774
+ return false;
775
+ const figureType = nodeIn(state, 'figure');
776
+ const captionType = nodeIn(state, 'figcaption');
777
+ if (!figureType || !captionType)
778
+ return false;
779
+ if (dispatch) {
780
+ const caption = attrs.caption === '' ? captionType.create() : captionType.create(null, state.schema.text(attrs.caption));
781
+ dispatch(state.tr.replaceSelectionWith(figureType.create(null, [image, caption])).scrollIntoView());
782
+ }
783
+ return true;
784
+ }
484
785
  if (!canInsert(state, 'image'))
485
786
  return false;
787
+ if (dispatch)
788
+ dispatch(state.tr.replaceSelectionWith(image).scrollIntoView());
789
+ return true;
790
+ };
791
+ }
792
+ export function insertText(text) {
793
+ return (state, dispatch) => {
794
+ if (text === '')
795
+ return false;
796
+ if (dispatch)
797
+ dispatch(state.tr.insertText(text).scrollIntoView());
798
+ return true;
799
+ };
800
+ }
801
+ export const insertNonBreakingSpace = insertText('\u00a0');
802
+ export const insertPageBreak = (state, dispatch) => {
803
+ if (!canInsert(state, 'page_break'))
804
+ return false;
805
+ if (dispatch) {
806
+ const type = nodeIn(state, 'page_break');
807
+ if (!type)
808
+ return false;
809
+ dispatch(state.tr.replaceSelectionWith(type.create()).scrollIntoView());
810
+ }
811
+ return true;
812
+ };
813
+ export function insertNamedAnchor(id) {
814
+ return (state, dispatch) => {
815
+ const value = safeId(id);
816
+ if (!value || !canInsert(state, 'named_anchor'))
817
+ return false;
486
818
  if (dispatch) {
487
- const imageType = nodeIn(state, 'image');
488
- if (!imageType)
819
+ const type = nodeIn(state, 'named_anchor');
820
+ if (!type)
489
821
  return false;
490
- const image = imageType.create({
822
+ dispatch(state.tr.replaceSelectionWith(type.create({ id: value })).scrollIntoView());
823
+ }
824
+ return true;
825
+ };
826
+ }
827
+ export function setHeadingId(id) {
828
+ return (state, dispatch) => {
829
+ const type = nodeIn(state, 'heading');
830
+ if (!type)
831
+ return false;
832
+ const { $from } = state.selection;
833
+ for (let depth = $from.depth; depth >= 0; depth -= 1) {
834
+ const node = $from.node(depth);
835
+ if (node.type !== type)
836
+ continue;
837
+ if (dispatch) {
838
+ dispatch(state.tr
839
+ .setNodeMarkup($from.before(depth), undefined, { ...node.attrs, id: safeId(id) })
840
+ .scrollIntoView());
841
+ }
842
+ return true;
843
+ }
844
+ return false;
845
+ };
846
+ }
847
+ export function insertDetails(summaryText = 'Details') {
848
+ return (state, dispatch) => {
849
+ if (!canInsert(state, 'details'))
850
+ return false;
851
+ const detailsType = nodeIn(state, 'details');
852
+ const summaryType = nodeIn(state, 'summary');
853
+ const paragraphType = nodeIn(state, 'paragraph');
854
+ if (!detailsType || !summaryType || !paragraphType)
855
+ return false;
856
+ if (dispatch) {
857
+ const body = paragraphType.createAndFill();
858
+ if (!body)
859
+ return false;
860
+ const node = detailsType.create(null, [
861
+ summaryType.create(null, summaryText === '' ? undefined : state.schema.text(summaryText)),
862
+ body,
863
+ ]);
864
+ dispatch(state.tr.replaceSelectionWith(node).scrollIntoView());
865
+ }
866
+ return true;
867
+ };
868
+ }
869
+ export function insertVideo(attrs) {
870
+ return (state, dispatch) => {
871
+ if (!isSafeUrl(attrs.src) || !canInsert(state, 'video'))
872
+ return false;
873
+ if (dispatch) {
874
+ const type = nodeIn(state, 'video');
875
+ if (!type)
876
+ return false;
877
+ dispatch(state.tr
878
+ .replaceSelectionWith(type.create({
491
879
  src: attrs.src,
492
- // An absent alt and alt="" mean different things to a screen reader:
493
- // "undescribed" versus "decorative". Never collapse them.
494
- alt: attrs.alt ?? null,
495
880
  title: attrs.title ?? null,
496
881
  width: attrs.width ?? null,
497
882
  height: attrs.height ?? null,
498
- });
499
- dispatch(state.tr.replaceSelectionWith(image).scrollIntoView());
883
+ controls: attrs.controls !== false,
884
+ poster: attrs.poster && isSafeUrl(attrs.poster) ? attrs.poster : null,
885
+ }))
886
+ .scrollIntoView());
887
+ }
888
+ return true;
889
+ };
890
+ }
891
+ export function insertAudio(attrs) {
892
+ return (state, dispatch) => {
893
+ if (!isSafeUrl(attrs.src) || !canInsert(state, 'audio'))
894
+ return false;
895
+ if (dispatch) {
896
+ const type = nodeIn(state, 'audio');
897
+ if (!type)
898
+ return false;
899
+ dispatch(state.tr
900
+ .replaceSelectionWith(type.create({
901
+ src: attrs.src,
902
+ title: attrs.title ?? null,
903
+ controls: attrs.controls !== false,
904
+ }))
905
+ .scrollIntoView());
906
+ }
907
+ return true;
908
+ };
909
+ }
910
+ export function insertIframe(attrs) {
911
+ return (state, dispatch) => {
912
+ const src = safeEmbedSrc(attrs.src);
913
+ if (!src || !canInsert(state, 'iframe'))
914
+ return false;
915
+ if (dispatch) {
916
+ const type = nodeIn(state, 'iframe');
917
+ if (!type)
918
+ return false;
919
+ dispatch(state.tr
920
+ .replaceSelectionWith(type.create({
921
+ src,
922
+ title: attrs.title ?? null,
923
+ width: attrs.width ?? null,
924
+ height: attrs.height ?? null,
925
+ allow: safeAllowList(attrs.allow),
926
+ allowfullscreen: attrs.allowfullscreen !== false,
927
+ }))
928
+ .scrollIntoView());
929
+ }
930
+ return true;
931
+ };
932
+ }
933
+ /**
934
+ * Parse HTML against the live schema and insert it.
935
+ *
936
+ * Used by the snippet picker. The HTML still goes through the same parse
937
+ * pipeline as stored content, so a snippet cannot smuggle in a `<script>`.
938
+ */
939
+ export function insertHtml(html) {
940
+ return (state, dispatch) => {
941
+ const parsed = parseHtml(html, { schema: state.schema });
942
+ if (parsed.childCount === 0)
943
+ return false;
944
+ if (dispatch) {
945
+ dispatch(state.tr.replaceSelection(new Slice(parsed.content, 0, 0)).scrollIntoView());
500
946
  }
501
947
  return true;
502
948
  };
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"}