@blocknote/core 0.15.3 → 0.15.5
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/dist/blocknote.js +1694 -1111
- package/dist/blocknote.js.map +1 -1
- package/dist/blocknote.umd.cjs +5 -5
- package/dist/blocknote.umd.cjs.map +1 -1
- package/dist/style.css +1 -1
- package/dist/webpack-stats.json +1 -1
- package/package.json +2 -2
- package/src/editor/BlockNoteEditor.ts +3 -1
- package/src/editor/editor.css +13 -1
- package/src/extensions/NonEditableBlocks/NonEditableBlockPlugin.ts +7 -1
- package/src/extensions/SideMenu/SideMenuPlugin.ts +2 -2
- package/src/i18n/locales/de.ts +307 -0
- package/src/i18n/locales/es.ts +275 -0
- package/src/i18n/locales/index.ts +3 -1
- package/src/index.ts +2 -1
- package/types/src/i18n/locales/de.d.ts +274 -0
- package/types/src/i18n/locales/es.d.ts +239 -0
- package/types/src/i18n/locales/index.d.ts +3 -1
- package/types/src/index.d.ts +2 -0
package/dist/blocknote.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
var Bt = Object.defineProperty;
|
|
2
2
|
var Lt = (e, t, o) => t in e ? Bt(e, t, { enumerable: !0, configurable: !0, writable: !0, value: o }) : e[t] = o;
|
|
3
3
|
var c = (e, t, o) => Lt(e, typeof t != "symbol" ? t + "" : t, o);
|
|
4
|
-
import { Slice as
|
|
4
|
+
import { Slice as D, Fragment as L, DOMSerializer as xe, DOMParser as It, Node as At } from "prosemirror-model";
|
|
5
5
|
import Je from "rehype-parse";
|
|
6
6
|
import Ye from "rehype-stringify";
|
|
7
7
|
import { unified as Ee } from "unified";
|
|
8
|
-
import { Extension as M, combineTransactionSteps as Nt, getChangedRanges as Pt, findChildrenInRange as Ht, Node as $, Mark as Ce, InputRule as ee, callOrReturn as Ut, getExtensionField as
|
|
8
|
+
import { Extension as M, combineTransactionSteps as Nt, getChangedRanges as Pt, findChildrenInRange as Ht, Node as $, Mark as Ce, InputRule as ee, callOrReturn as Ut, getExtensionField as Dt, mergeAttributes as jt, selectionToInsertionEnd as zt, isTextSelection as Rt, isNodeSelection as Vt, posToDOMRect as ye, getMarkRange as De, findParentNode as Ot, findChildren as je, extensions as J, Editor as Ft, createDocument as Gt, getSchema as Kt } from "@tiptap/core";
|
|
9
9
|
import { Plugin as y, PluginKey as S, Selection as me, NodeSelection as re, TextSelection as Y, EditorState as Wt } from "prosemirror-state";
|
|
10
10
|
import { v4 as $t } from "uuid";
|
|
11
|
-
import { fromDom as
|
|
11
|
+
import { fromDom as ve } from "hast-util-from-dom";
|
|
12
12
|
import qt from "@tiptap/extension-bold";
|
|
13
13
|
import Xt from "@tiptap/extension-code";
|
|
14
14
|
import Zt from "@tiptap/extension-italic";
|
|
@@ -31,8 +31,8 @@ import { Gapcursor as mo } from "@tiptap/extension-gapcursor";
|
|
|
31
31
|
import { HardBreak as fo } from "@tiptap/extension-hard-break";
|
|
32
32
|
import { History as go } from "@tiptap/extension-history";
|
|
33
33
|
import { Link as bo } from "@tiptap/extension-link";
|
|
34
|
-
import { Text as
|
|
35
|
-
const
|
|
34
|
+
import { Text as _o } from "@tiptap/extension-text";
|
|
35
|
+
const ko = {
|
|
36
36
|
slash_menu: {
|
|
37
37
|
heading: {
|
|
38
38
|
title: "عنوان 1",
|
|
@@ -322,6 +322,311 @@ const _o = {
|
|
|
322
322
|
generic: {
|
|
323
323
|
ctrl_shortcut: "Ctrl"
|
|
324
324
|
}
|
|
325
|
+
}, yo = {
|
|
326
|
+
slash_menu: {
|
|
327
|
+
heading: {
|
|
328
|
+
title: "Überschrift 1",
|
|
329
|
+
subtext: "Hauptebene Überschrift",
|
|
330
|
+
aliases: ["h", "überschrift1", "h1"],
|
|
331
|
+
group: "Überschriften"
|
|
332
|
+
},
|
|
333
|
+
heading_2: {
|
|
334
|
+
title: "Überschrift 2",
|
|
335
|
+
subtext: "Wichtige Abschnittsüberschrift",
|
|
336
|
+
aliases: ["h2", "überschrift2", "unterüberschrift"],
|
|
337
|
+
group: "Überschriften"
|
|
338
|
+
},
|
|
339
|
+
heading_3: {
|
|
340
|
+
title: "Überschrift 3",
|
|
341
|
+
subtext: "Unterabschnitts- und Gruppenüberschrift",
|
|
342
|
+
aliases: ["h3", "überschrift3", "unterüberschrift"],
|
|
343
|
+
group: "Überschriften"
|
|
344
|
+
},
|
|
345
|
+
numbered_list: {
|
|
346
|
+
title: "Nummerierte Liste",
|
|
347
|
+
subtext: "Liste mit nummerierten Elementen",
|
|
348
|
+
aliases: ["ol", "li", "liste", "nummerierteliste", "nummerierte liste"],
|
|
349
|
+
group: "Grundlegende Blöcke"
|
|
350
|
+
},
|
|
351
|
+
bullet_list: {
|
|
352
|
+
title: "Aufzählungsliste",
|
|
353
|
+
subtext: "Liste mit unnummerierten Elementen",
|
|
354
|
+
aliases: ["ul", "li", "liste", "aufzählungsliste", "aufzählung liste"],
|
|
355
|
+
group: "Grundlegende Blöcke"
|
|
356
|
+
},
|
|
357
|
+
check_list: {
|
|
358
|
+
title: "Checkliste",
|
|
359
|
+
subtext: "Liste mit Kontrollkästchen",
|
|
360
|
+
aliases: [
|
|
361
|
+
"ul",
|
|
362
|
+
"li",
|
|
363
|
+
"liste",
|
|
364
|
+
"checkliste",
|
|
365
|
+
"check liste",
|
|
366
|
+
"geprüfte liste",
|
|
367
|
+
"kontrollkästchen"
|
|
368
|
+
],
|
|
369
|
+
group: "Grundlegende Blöcke"
|
|
370
|
+
},
|
|
371
|
+
paragraph: {
|
|
372
|
+
title: "Absatz",
|
|
373
|
+
subtext: "Der Hauptteil Ihres Dokuments",
|
|
374
|
+
aliases: ["p", "absatz"],
|
|
375
|
+
group: "Grundlegende Blöcke"
|
|
376
|
+
},
|
|
377
|
+
table: {
|
|
378
|
+
title: "Tabelle",
|
|
379
|
+
subtext: "Tabelle mit editierbaren Zellen",
|
|
380
|
+
aliases: ["tabelle"],
|
|
381
|
+
group: "Erweitert"
|
|
382
|
+
},
|
|
383
|
+
image: {
|
|
384
|
+
title: "Bild",
|
|
385
|
+
subtext: "Größenveränderbares Bild mit Beschriftung",
|
|
386
|
+
aliases: [
|
|
387
|
+
"bild",
|
|
388
|
+
"bildhochladen",
|
|
389
|
+
"hochladen",
|
|
390
|
+
"img",
|
|
391
|
+
"bild",
|
|
392
|
+
"medien",
|
|
393
|
+
"url"
|
|
394
|
+
],
|
|
395
|
+
group: "Medien"
|
|
396
|
+
},
|
|
397
|
+
video: {
|
|
398
|
+
title: "Video",
|
|
399
|
+
subtext: "Größenveränderbares Video mit Beschriftung",
|
|
400
|
+
aliases: [
|
|
401
|
+
"video",
|
|
402
|
+
"videoupload",
|
|
403
|
+
"hochladen",
|
|
404
|
+
"mp4",
|
|
405
|
+
"film",
|
|
406
|
+
"medien",
|
|
407
|
+
"url"
|
|
408
|
+
],
|
|
409
|
+
group: "Medien"
|
|
410
|
+
},
|
|
411
|
+
audio: {
|
|
412
|
+
title: "Audio",
|
|
413
|
+
subtext: "Eingebettetes Audio mit Beschriftung",
|
|
414
|
+
aliases: [
|
|
415
|
+
"audio",
|
|
416
|
+
"audioupload",
|
|
417
|
+
"hochladen",
|
|
418
|
+
"mp3",
|
|
419
|
+
"ton",
|
|
420
|
+
"medien",
|
|
421
|
+
"url"
|
|
422
|
+
],
|
|
423
|
+
group: "Medien"
|
|
424
|
+
},
|
|
425
|
+
file: {
|
|
426
|
+
title: "Datei",
|
|
427
|
+
subtext: "Eingebettete Datei",
|
|
428
|
+
aliases: ["datei", "hochladen", "einbetten", "medien", "url"],
|
|
429
|
+
group: "Medien"
|
|
430
|
+
},
|
|
431
|
+
emoji: {
|
|
432
|
+
title: "Emoji",
|
|
433
|
+
subtext: "Nach Emoji suchen und einfügen",
|
|
434
|
+
aliases: ["emoji", "emote", "emotion", "gesicht"],
|
|
435
|
+
group: "Andere"
|
|
436
|
+
}
|
|
437
|
+
},
|
|
438
|
+
placeholders: {
|
|
439
|
+
default: "Text eingeben oder '/' für Befehle tippen",
|
|
440
|
+
heading: "Überschrift",
|
|
441
|
+
bulletListItem: "Liste",
|
|
442
|
+
numberedListItem: "Liste",
|
|
443
|
+
checkListItem: "Liste"
|
|
444
|
+
},
|
|
445
|
+
file_blocks: {
|
|
446
|
+
image: {
|
|
447
|
+
add_button_text: "Bild hinzufügen"
|
|
448
|
+
},
|
|
449
|
+
video: {
|
|
450
|
+
add_button_text: "Video hinzufügen"
|
|
451
|
+
},
|
|
452
|
+
audio: {
|
|
453
|
+
add_button_text: "Audio hinzufügen"
|
|
454
|
+
},
|
|
455
|
+
file: {
|
|
456
|
+
add_button_text: "Datei hinzufügen"
|
|
457
|
+
}
|
|
458
|
+
},
|
|
459
|
+
side_menu: {
|
|
460
|
+
add_block_label: "Block hinzufügen",
|
|
461
|
+
drag_handle_label: "Blockmenü öffnen"
|
|
462
|
+
},
|
|
463
|
+
drag_handle: {
|
|
464
|
+
delete_menuitem: "Löschen",
|
|
465
|
+
colors_menuitem: "Farben"
|
|
466
|
+
},
|
|
467
|
+
table_handle: {
|
|
468
|
+
delete_column_menuitem: "Spalte löschen",
|
|
469
|
+
delete_row_menuitem: "Zeile löschen",
|
|
470
|
+
add_left_menuitem: "Spalte links hinzufügen",
|
|
471
|
+
add_right_menuitem: "Spalte rechts hinzufügen",
|
|
472
|
+
add_above_menuitem: "Zeile oberhalb hinzufügen",
|
|
473
|
+
add_below_menuitem: "Zeile unterhalb hinzufügen"
|
|
474
|
+
},
|
|
475
|
+
suggestion_menu: {
|
|
476
|
+
no_items_title: "Keine Elemente gefunden",
|
|
477
|
+
loading: "Laden…"
|
|
478
|
+
},
|
|
479
|
+
color_picker: {
|
|
480
|
+
text_title: "Text",
|
|
481
|
+
background_title: "Hintergrund",
|
|
482
|
+
colors: {
|
|
483
|
+
default: "Standard",
|
|
484
|
+
gray: "Grau",
|
|
485
|
+
brown: "Braun",
|
|
486
|
+
red: "Rot",
|
|
487
|
+
orange: "Orange",
|
|
488
|
+
yellow: "Gelb",
|
|
489
|
+
green: "Grün",
|
|
490
|
+
blue: "Blau",
|
|
491
|
+
purple: "Lila",
|
|
492
|
+
pink: "Rosa"
|
|
493
|
+
}
|
|
494
|
+
},
|
|
495
|
+
formatting_toolbar: {
|
|
496
|
+
bold: {
|
|
497
|
+
tooltip: "Fett",
|
|
498
|
+
secondary_tooltip: "Mod+B"
|
|
499
|
+
},
|
|
500
|
+
italic: {
|
|
501
|
+
tooltip: "Kursiv",
|
|
502
|
+
secondary_tooltip: "Mod+I"
|
|
503
|
+
},
|
|
504
|
+
underline: {
|
|
505
|
+
tooltip: "Unterstrichen",
|
|
506
|
+
secondary_tooltip: "Mod+U"
|
|
507
|
+
},
|
|
508
|
+
strike: {
|
|
509
|
+
tooltip: "Durchgestrichen",
|
|
510
|
+
secondary_tooltip: "Mod+Shift+S"
|
|
511
|
+
},
|
|
512
|
+
code: {
|
|
513
|
+
tooltip: "Code",
|
|
514
|
+
secondary_tooltip: ""
|
|
515
|
+
},
|
|
516
|
+
colors: {
|
|
517
|
+
tooltip: "Farben"
|
|
518
|
+
},
|
|
519
|
+
link: {
|
|
520
|
+
tooltip: "Link erstellen",
|
|
521
|
+
secondary_tooltip: "Mod+K"
|
|
522
|
+
},
|
|
523
|
+
file_caption: {
|
|
524
|
+
tooltip: "Beschriftung bearbeiten",
|
|
525
|
+
input_placeholder: "Beschriftung bearbeiten"
|
|
526
|
+
},
|
|
527
|
+
file_replace: {
|
|
528
|
+
tooltip: {
|
|
529
|
+
image: "Bild ersetzen",
|
|
530
|
+
video: "Video ersetzen",
|
|
531
|
+
audio: "Audio ersetzen",
|
|
532
|
+
file: "Datei ersetzen"
|
|
533
|
+
}
|
|
534
|
+
},
|
|
535
|
+
file_rename: {
|
|
536
|
+
tooltip: {
|
|
537
|
+
image: "Bild umbenennen",
|
|
538
|
+
video: "Video umbenennen",
|
|
539
|
+
audio: "Audio umbenennen",
|
|
540
|
+
file: "Datei umbenennen"
|
|
541
|
+
},
|
|
542
|
+
input_placeholder: {
|
|
543
|
+
image: "Bild umbenennen",
|
|
544
|
+
video: "Video umbenennen",
|
|
545
|
+
audio: "Audio umbenennen",
|
|
546
|
+
file: "Datei umbenennen"
|
|
547
|
+
}
|
|
548
|
+
},
|
|
549
|
+
file_download: {
|
|
550
|
+
tooltip: {
|
|
551
|
+
image: "Bild herunterladen",
|
|
552
|
+
video: "Video herunterladen",
|
|
553
|
+
audio: "Audio herunterladen",
|
|
554
|
+
file: "Datei herunterladen"
|
|
555
|
+
}
|
|
556
|
+
},
|
|
557
|
+
file_delete: {
|
|
558
|
+
tooltip: {
|
|
559
|
+
image: "Bild löschen",
|
|
560
|
+
video: "Video löschen",
|
|
561
|
+
audio: "Audio löschen",
|
|
562
|
+
file: "Datei löschen"
|
|
563
|
+
}
|
|
564
|
+
},
|
|
565
|
+
file_preview_toggle: {
|
|
566
|
+
tooltip: "Vorschau umschalten"
|
|
567
|
+
},
|
|
568
|
+
nest: {
|
|
569
|
+
tooltip: "Block verschachteln",
|
|
570
|
+
secondary_tooltip: "Tab"
|
|
571
|
+
},
|
|
572
|
+
unnest: {
|
|
573
|
+
tooltip: "Block entnesten",
|
|
574
|
+
secondary_tooltip: "Shift+Tab"
|
|
575
|
+
},
|
|
576
|
+
align_left: {
|
|
577
|
+
tooltip: "Text linksbündig"
|
|
578
|
+
},
|
|
579
|
+
align_center: {
|
|
580
|
+
tooltip: "Text zentrieren"
|
|
581
|
+
},
|
|
582
|
+
align_right: {
|
|
583
|
+
tooltip: "Text rechtsbündig"
|
|
584
|
+
},
|
|
585
|
+
align_justify: {
|
|
586
|
+
tooltip: "Text Blocksatz"
|
|
587
|
+
}
|
|
588
|
+
},
|
|
589
|
+
file_panel: {
|
|
590
|
+
upload: {
|
|
591
|
+
title: "Hochladen",
|
|
592
|
+
file_placeholder: {
|
|
593
|
+
image: "Bild hochladen",
|
|
594
|
+
video: "Video hochladen",
|
|
595
|
+
audio: "Audio hochladen",
|
|
596
|
+
file: "Datei hochladen"
|
|
597
|
+
},
|
|
598
|
+
upload_error: "Fehler: Hochladen fehlgeschlagen"
|
|
599
|
+
},
|
|
600
|
+
embed: {
|
|
601
|
+
title: "Einbetten",
|
|
602
|
+
embed_button: {
|
|
603
|
+
image: "Bild einbetten",
|
|
604
|
+
video: "Video einbetten",
|
|
605
|
+
audio: "Audio einbetten",
|
|
606
|
+
file: "Datei einbetten"
|
|
607
|
+
},
|
|
608
|
+
url_placeholder: "URL eingeben"
|
|
609
|
+
}
|
|
610
|
+
},
|
|
611
|
+
link_toolbar: {
|
|
612
|
+
delete: {
|
|
613
|
+
tooltip: "Link entfernen"
|
|
614
|
+
},
|
|
615
|
+
edit: {
|
|
616
|
+
text: "Link bearbeiten",
|
|
617
|
+
tooltip: "Bearbeiten"
|
|
618
|
+
},
|
|
619
|
+
open: {
|
|
620
|
+
tooltip: "In neuem Tab öffnen"
|
|
621
|
+
},
|
|
622
|
+
form: {
|
|
623
|
+
title_placeholder: "Titel bearbeiten",
|
|
624
|
+
url_placeholder: "URL bearbeiten"
|
|
625
|
+
}
|
|
626
|
+
},
|
|
627
|
+
generic: {
|
|
628
|
+
ctrl_shortcut: "Strg"
|
|
629
|
+
}
|
|
325
630
|
}, et = {
|
|
326
631
|
slash_menu: {
|
|
327
632
|
heading: {
|
|
@@ -628,126 +933,399 @@ const _o = {
|
|
|
628
933
|
generic: {
|
|
629
934
|
ctrl_shortcut: "Ctrl"
|
|
630
935
|
}
|
|
631
|
-
},
|
|
936
|
+
}, vo = {
|
|
632
937
|
slash_menu: {
|
|
633
938
|
heading: {
|
|
634
|
-
title: "
|
|
635
|
-
subtext: "
|
|
636
|
-
aliases: ["h", "
|
|
637
|
-
group: "
|
|
939
|
+
title: "Encabezado 1",
|
|
940
|
+
subtext: "Encabezado de primer nivel",
|
|
941
|
+
aliases: ["h", "encabezado1", "h1"],
|
|
942
|
+
group: "Encabezados"
|
|
638
943
|
},
|
|
639
944
|
heading_2: {
|
|
640
|
-
title: "
|
|
641
|
-
subtext: "
|
|
642
|
-
aliases: ["h2", "
|
|
643
|
-
group: "
|
|
945
|
+
title: "Encabezado 2",
|
|
946
|
+
subtext: "Encabezado de sección principal",
|
|
947
|
+
aliases: ["h2", "encabezado2", "subencabezado"],
|
|
948
|
+
group: "Encabezados"
|
|
644
949
|
},
|
|
645
950
|
heading_3: {
|
|
646
|
-
title: "
|
|
647
|
-
subtext: "
|
|
648
|
-
aliases: ["h3", "
|
|
649
|
-
group: "
|
|
951
|
+
title: "Encabezado 3",
|
|
952
|
+
subtext: "Encabezado de subsección y grupo",
|
|
953
|
+
aliases: ["h3", "encabezado3", "subencabezado"],
|
|
954
|
+
group: "Encabezados"
|
|
650
955
|
},
|
|
651
956
|
numbered_list: {
|
|
652
|
-
title: "
|
|
653
|
-
subtext: "
|
|
654
|
-
aliases: ["ol", "li", "
|
|
655
|
-
group: "
|
|
957
|
+
title: "Lista Numerada",
|
|
958
|
+
subtext: "Lista con elementos ordenados",
|
|
959
|
+
aliases: ["ol", "li", "lista", "lista numerada"],
|
|
960
|
+
group: "Bloques básicos"
|
|
656
961
|
},
|
|
657
962
|
bullet_list: {
|
|
658
|
-
title: "
|
|
659
|
-
subtext: "
|
|
660
|
-
aliases: ["ul", "li", "
|
|
661
|
-
group: "
|
|
963
|
+
title: "Lista con Viñetas",
|
|
964
|
+
subtext: "Lista con elementos no ordenados",
|
|
965
|
+
aliases: ["ul", "li", "lista", "lista con viñetas"],
|
|
966
|
+
group: "Bloques básicos"
|
|
662
967
|
},
|
|
663
968
|
check_list: {
|
|
664
|
-
title: "
|
|
665
|
-
subtext: "
|
|
666
|
-
aliases: [
|
|
667
|
-
|
|
668
|
-
"li",
|
|
669
|
-
"liste",
|
|
670
|
-
"liste de vérification",
|
|
671
|
-
"liste cochée",
|
|
672
|
-
"case à cocher"
|
|
673
|
-
],
|
|
674
|
-
group: "Blocs de base"
|
|
969
|
+
title: "Lista de Verificación",
|
|
970
|
+
subtext: "Lista con casillas de verificación",
|
|
971
|
+
aliases: ["ul", "li", "lista", "lista de verificación", "lista de chequeo", "checkbox"],
|
|
972
|
+
group: "Bloques básicos"
|
|
675
973
|
},
|
|
676
974
|
paragraph: {
|
|
677
|
-
title: "
|
|
678
|
-
subtext: "
|
|
679
|
-
aliases: ["p", "
|
|
680
|
-
group: "
|
|
975
|
+
title: "Párrafo",
|
|
976
|
+
subtext: "El cuerpo de tu documento",
|
|
977
|
+
aliases: ["p", "párrafo"],
|
|
978
|
+
group: "Bloques básicos"
|
|
681
979
|
},
|
|
682
980
|
table: {
|
|
683
|
-
title: "
|
|
684
|
-
subtext: "
|
|
685
|
-
aliases: ["
|
|
686
|
-
group: "
|
|
981
|
+
title: "Tabla",
|
|
982
|
+
subtext: "Tabla con celdas editables",
|
|
983
|
+
aliases: ["tabla"],
|
|
984
|
+
group: "Avanzado"
|
|
687
985
|
},
|
|
688
986
|
image: {
|
|
689
|
-
title: "
|
|
690
|
-
subtext: "
|
|
691
|
-
aliases: [
|
|
692
|
-
|
|
693
|
-
"uploadImage",
|
|
694
|
-
"télécharger",
|
|
695
|
-
"img",
|
|
696
|
-
"photo",
|
|
697
|
-
"média",
|
|
698
|
-
"url"
|
|
699
|
-
],
|
|
700
|
-
group: "Médias"
|
|
987
|
+
title: "Imagen",
|
|
988
|
+
subtext: "Imagen redimensionable con leyenda",
|
|
989
|
+
aliases: ["imagen", "subir imagen", "cargar", "img", "foto", "media", "url"],
|
|
990
|
+
group: "Medios"
|
|
701
991
|
},
|
|
702
992
|
video: {
|
|
703
|
-
title: "
|
|
704
|
-
subtext: "
|
|
705
|
-
aliases: [
|
|
706
|
-
|
|
707
|
-
"téléchargerVidéo",
|
|
708
|
-
"téléverser",
|
|
709
|
-
"mp4",
|
|
710
|
-
"film",
|
|
711
|
-
"média",
|
|
712
|
-
"url"
|
|
713
|
-
],
|
|
714
|
-
group: "Média"
|
|
993
|
+
title: "Vídeo",
|
|
994
|
+
subtext: "Vídeo redimensionable con leyenda",
|
|
995
|
+
aliases: ["video", "subir vídeo", "cargar", "mp4", "película", "media", "url"],
|
|
996
|
+
group: "Medios"
|
|
715
997
|
},
|
|
716
998
|
audio: {
|
|
717
999
|
title: "Audio",
|
|
718
|
-
subtext: "
|
|
719
|
-
aliases: [
|
|
720
|
-
|
|
721
|
-
"téléchargerAudio",
|
|
722
|
-
"téléverser",
|
|
723
|
-
"mp3",
|
|
724
|
-
"son",
|
|
725
|
-
"média",
|
|
726
|
-
"url"
|
|
727
|
-
],
|
|
728
|
-
group: "Média"
|
|
1000
|
+
subtext: "Audio incrustado con leyenda",
|
|
1001
|
+
aliases: ["audio", "subir audio", "cargar", "mp3", "sonido", "media", "url"],
|
|
1002
|
+
group: "Medios"
|
|
729
1003
|
},
|
|
730
1004
|
file: {
|
|
731
|
-
title: "
|
|
732
|
-
subtext: "
|
|
733
|
-
aliases: ["
|
|
734
|
-
group: "
|
|
1005
|
+
title: "Archivo",
|
|
1006
|
+
subtext: "Archivo incrustado",
|
|
1007
|
+
aliases: ["archivo", "cargar", "incrustar", "media", "url"],
|
|
1008
|
+
group: "Medios"
|
|
735
1009
|
},
|
|
736
1010
|
emoji: {
|
|
737
1011
|
title: "Emoji",
|
|
738
|
-
subtext: "
|
|
739
|
-
aliases: ["emoji", "
|
|
740
|
-
group: "
|
|
1012
|
+
subtext: "Busca e inserta un emoji",
|
|
1013
|
+
aliases: ["emoji", "emoticono", "emoción", "cara"],
|
|
1014
|
+
group: "Otros"
|
|
741
1015
|
}
|
|
742
1016
|
},
|
|
743
1017
|
placeholders: {
|
|
744
|
-
default: "
|
|
745
|
-
heading: "
|
|
746
|
-
bulletListItem: "
|
|
747
|
-
numberedListItem: "
|
|
748
|
-
checkListItem: "
|
|
749
|
-
},
|
|
750
|
-
file_blocks: {
|
|
1018
|
+
default: "Escribe o teclea '/' para comandos",
|
|
1019
|
+
heading: "Encabezado",
|
|
1020
|
+
bulletListItem: "Lista",
|
|
1021
|
+
numberedListItem: "Lista",
|
|
1022
|
+
checkListItem: "Lista"
|
|
1023
|
+
},
|
|
1024
|
+
file_blocks: {
|
|
1025
|
+
image: {
|
|
1026
|
+
add_button_text: "Agregar imagen"
|
|
1027
|
+
},
|
|
1028
|
+
video: {
|
|
1029
|
+
add_button_text: "Agregar vídeo"
|
|
1030
|
+
},
|
|
1031
|
+
audio: {
|
|
1032
|
+
add_button_text: "Agregar audio"
|
|
1033
|
+
},
|
|
1034
|
+
file: {
|
|
1035
|
+
add_button_text: "Agregar archivo"
|
|
1036
|
+
}
|
|
1037
|
+
},
|
|
1038
|
+
side_menu: {
|
|
1039
|
+
add_block_label: "Agregar bloque",
|
|
1040
|
+
drag_handle_label: "Abrir menú de bloque"
|
|
1041
|
+
},
|
|
1042
|
+
drag_handle: {
|
|
1043
|
+
delete_menuitem: "Eliminar",
|
|
1044
|
+
colors_menuitem: "Colores"
|
|
1045
|
+
},
|
|
1046
|
+
table_handle: {
|
|
1047
|
+
delete_column_menuitem: "Eliminar columna",
|
|
1048
|
+
delete_row_menuitem: "Eliminar fila",
|
|
1049
|
+
add_left_menuitem: "Agregar columna a la izquierda",
|
|
1050
|
+
add_right_menuitem: "Agregar columna a la derecha",
|
|
1051
|
+
add_above_menuitem: "Agregar fila arriba",
|
|
1052
|
+
add_below_menuitem: "Agregar fila abajo"
|
|
1053
|
+
},
|
|
1054
|
+
suggestion_menu: {
|
|
1055
|
+
no_items_title: "No se encontraron elementos",
|
|
1056
|
+
loading: "Cargando…"
|
|
1057
|
+
},
|
|
1058
|
+
color_picker: {
|
|
1059
|
+
text_title: "Texto",
|
|
1060
|
+
background_title: "Fondo",
|
|
1061
|
+
colors: {
|
|
1062
|
+
default: "Por defecto",
|
|
1063
|
+
gray: "Gris",
|
|
1064
|
+
brown: "Marrón",
|
|
1065
|
+
red: "Rojo",
|
|
1066
|
+
orange: "Naranja",
|
|
1067
|
+
yellow: "Amarillo",
|
|
1068
|
+
green: "Verde",
|
|
1069
|
+
blue: "Azul",
|
|
1070
|
+
purple: "Morado",
|
|
1071
|
+
pink: "Rosa"
|
|
1072
|
+
}
|
|
1073
|
+
},
|
|
1074
|
+
formatting_toolbar: {
|
|
1075
|
+
bold: {
|
|
1076
|
+
tooltip: "Negrita",
|
|
1077
|
+
secondary_tooltip: "Mod+B"
|
|
1078
|
+
},
|
|
1079
|
+
italic: {
|
|
1080
|
+
tooltip: "Cursiva",
|
|
1081
|
+
secondary_tooltip: "Mod+I"
|
|
1082
|
+
},
|
|
1083
|
+
underline: {
|
|
1084
|
+
tooltip: "Subrayado",
|
|
1085
|
+
secondary_tooltip: "Mod+U"
|
|
1086
|
+
},
|
|
1087
|
+
strike: {
|
|
1088
|
+
tooltip: "Tachado",
|
|
1089
|
+
secondary_tooltip: "Mod+Shift+S"
|
|
1090
|
+
},
|
|
1091
|
+
code: {
|
|
1092
|
+
tooltip: "Código",
|
|
1093
|
+
secondary_tooltip: ""
|
|
1094
|
+
},
|
|
1095
|
+
colors: {
|
|
1096
|
+
tooltip: "Colores"
|
|
1097
|
+
},
|
|
1098
|
+
link: {
|
|
1099
|
+
tooltip: "Crear enlace",
|
|
1100
|
+
secondary_tooltip: "Mod+K"
|
|
1101
|
+
},
|
|
1102
|
+
file_caption: {
|
|
1103
|
+
tooltip: "Editar leyenda",
|
|
1104
|
+
input_placeholder: "Editar leyenda"
|
|
1105
|
+
},
|
|
1106
|
+
file_replace: {
|
|
1107
|
+
tooltip: {
|
|
1108
|
+
image: "Reemplazar imagen",
|
|
1109
|
+
video: "Reemplazar vídeo",
|
|
1110
|
+
audio: "Reemplazar audio",
|
|
1111
|
+
file: "Reemplazar archivo"
|
|
1112
|
+
}
|
|
1113
|
+
},
|
|
1114
|
+
file_rename: {
|
|
1115
|
+
tooltip: {
|
|
1116
|
+
image: "Renombrar imagen",
|
|
1117
|
+
video: "Renombrar vídeo",
|
|
1118
|
+
audio: "Renombrar audio",
|
|
1119
|
+
file: "Renombrar archivo"
|
|
1120
|
+
},
|
|
1121
|
+
input_placeholder: {
|
|
1122
|
+
image: "Renombrar imagen",
|
|
1123
|
+
video: "Renombrar vídeo",
|
|
1124
|
+
audio: "Renombrar audio",
|
|
1125
|
+
file: "Renombrar archivo"
|
|
1126
|
+
}
|
|
1127
|
+
},
|
|
1128
|
+
file_download: {
|
|
1129
|
+
tooltip: {
|
|
1130
|
+
image: "Descargar imagen",
|
|
1131
|
+
video: "Descargar vídeo",
|
|
1132
|
+
audio: "Descargar audio",
|
|
1133
|
+
file: "Descargar archivo"
|
|
1134
|
+
}
|
|
1135
|
+
},
|
|
1136
|
+
file_delete: {
|
|
1137
|
+
tooltip: {
|
|
1138
|
+
image: "Eliminar imagen",
|
|
1139
|
+
video: "Eliminar vídeo",
|
|
1140
|
+
audio: "Eliminar audio",
|
|
1141
|
+
file: "Eliminar archivo"
|
|
1142
|
+
}
|
|
1143
|
+
},
|
|
1144
|
+
file_preview_toggle: {
|
|
1145
|
+
tooltip: "Alternar vista previa"
|
|
1146
|
+
},
|
|
1147
|
+
nest: {
|
|
1148
|
+
tooltip: "Anidar bloque",
|
|
1149
|
+
secondary_tooltip: "Tab"
|
|
1150
|
+
},
|
|
1151
|
+
unnest: {
|
|
1152
|
+
tooltip: "Desanidar bloque",
|
|
1153
|
+
secondary_tooltip: "Shift+Tab"
|
|
1154
|
+
},
|
|
1155
|
+
align_left: {
|
|
1156
|
+
tooltip: "Alinear texto a la izquierda"
|
|
1157
|
+
},
|
|
1158
|
+
align_center: {
|
|
1159
|
+
tooltip: "Alinear texto al centro"
|
|
1160
|
+
},
|
|
1161
|
+
align_right: {
|
|
1162
|
+
tooltip: "Alinear texto a la derecha"
|
|
1163
|
+
},
|
|
1164
|
+
align_justify: {
|
|
1165
|
+
tooltip: "Justificar texto"
|
|
1166
|
+
}
|
|
1167
|
+
},
|
|
1168
|
+
file_panel: {
|
|
1169
|
+
upload: {
|
|
1170
|
+
title: "Subir",
|
|
1171
|
+
file_placeholder: {
|
|
1172
|
+
image: "Subir imagen",
|
|
1173
|
+
video: "Subir vídeo",
|
|
1174
|
+
audio: "Subir audio",
|
|
1175
|
+
file: "Subir archivo"
|
|
1176
|
+
},
|
|
1177
|
+
upload_error: "Error: Fallo en la subida"
|
|
1178
|
+
},
|
|
1179
|
+
embed: {
|
|
1180
|
+
title: "Incrustar",
|
|
1181
|
+
embed_button: {
|
|
1182
|
+
image: "Incrustar imagen",
|
|
1183
|
+
video: "Incrustar vídeo",
|
|
1184
|
+
audio: "Incrustar audio",
|
|
1185
|
+
file: "Incrustar archivo"
|
|
1186
|
+
},
|
|
1187
|
+
url_placeholder: "Introduce la URL"
|
|
1188
|
+
}
|
|
1189
|
+
},
|
|
1190
|
+
link_toolbar: {
|
|
1191
|
+
delete: {
|
|
1192
|
+
tooltip: "Eliminar enlace"
|
|
1193
|
+
},
|
|
1194
|
+
edit: {
|
|
1195
|
+
text: "Editar enlace",
|
|
1196
|
+
tooltip: "Editar"
|
|
1197
|
+
},
|
|
1198
|
+
open: {
|
|
1199
|
+
tooltip: "Abrir en nueva pestaña"
|
|
1200
|
+
},
|
|
1201
|
+
form: {
|
|
1202
|
+
title_placeholder: "Editar título",
|
|
1203
|
+
url_placeholder: "Editar URL"
|
|
1204
|
+
}
|
|
1205
|
+
},
|
|
1206
|
+
generic: {
|
|
1207
|
+
ctrl_shortcut: "Ctrl"
|
|
1208
|
+
}
|
|
1209
|
+
}, wo = {
|
|
1210
|
+
slash_menu: {
|
|
1211
|
+
heading: {
|
|
1212
|
+
title: "Titre 1",
|
|
1213
|
+
subtext: "Utilisé pour un titre de premier niveau",
|
|
1214
|
+
aliases: ["h", "titre1", "h1"],
|
|
1215
|
+
group: "Titres"
|
|
1216
|
+
},
|
|
1217
|
+
heading_2: {
|
|
1218
|
+
title: "Titre 2",
|
|
1219
|
+
subtext: "Utilisé pour les sections clés",
|
|
1220
|
+
aliases: ["h2", "titre2", "sous-titre"],
|
|
1221
|
+
group: "Titres"
|
|
1222
|
+
},
|
|
1223
|
+
heading_3: {
|
|
1224
|
+
title: "Titre 3",
|
|
1225
|
+
subtext: "Utilisé pour les sous-sections et les titres de groupe",
|
|
1226
|
+
aliases: ["h3", "titre3", "sous-titre"],
|
|
1227
|
+
group: "Titres"
|
|
1228
|
+
},
|
|
1229
|
+
numbered_list: {
|
|
1230
|
+
title: "Liste Numérotée",
|
|
1231
|
+
subtext: "Utilisé pour afficher une liste numérotée",
|
|
1232
|
+
aliases: ["ol", "li", "liste", "listenumérotée", "liste numérotée"],
|
|
1233
|
+
group: "Blocs de base"
|
|
1234
|
+
},
|
|
1235
|
+
bullet_list: {
|
|
1236
|
+
title: "Liste à Puces",
|
|
1237
|
+
subtext: "Utilisé pour afficher une liste non ordonnée",
|
|
1238
|
+
aliases: ["ul", "li", "liste", "listeàpuces", "liste à puces"],
|
|
1239
|
+
group: "Blocs de base"
|
|
1240
|
+
},
|
|
1241
|
+
check_list: {
|
|
1242
|
+
title: "Liste de vérification",
|
|
1243
|
+
subtext: "Utilisé pour afficher une liste avec des cases à cocher",
|
|
1244
|
+
aliases: [
|
|
1245
|
+
"ul",
|
|
1246
|
+
"li",
|
|
1247
|
+
"liste",
|
|
1248
|
+
"liste de vérification",
|
|
1249
|
+
"liste cochée",
|
|
1250
|
+
"case à cocher"
|
|
1251
|
+
],
|
|
1252
|
+
group: "Blocs de base"
|
|
1253
|
+
},
|
|
1254
|
+
paragraph: {
|
|
1255
|
+
title: "Paragraphe",
|
|
1256
|
+
subtext: "Utilisé pour le corps de votre document",
|
|
1257
|
+
aliases: ["p", "paragraphe"],
|
|
1258
|
+
group: "Blocs de base"
|
|
1259
|
+
},
|
|
1260
|
+
table: {
|
|
1261
|
+
title: "Tableau",
|
|
1262
|
+
subtext: "Utilisé pour les tableaux",
|
|
1263
|
+
aliases: ["tableau"],
|
|
1264
|
+
group: "Avancé"
|
|
1265
|
+
},
|
|
1266
|
+
image: {
|
|
1267
|
+
title: "Image",
|
|
1268
|
+
subtext: "Insérer une image",
|
|
1269
|
+
aliases: [
|
|
1270
|
+
"image",
|
|
1271
|
+
"uploadImage",
|
|
1272
|
+
"télécharger",
|
|
1273
|
+
"img",
|
|
1274
|
+
"photo",
|
|
1275
|
+
"média",
|
|
1276
|
+
"url"
|
|
1277
|
+
],
|
|
1278
|
+
group: "Médias"
|
|
1279
|
+
},
|
|
1280
|
+
video: {
|
|
1281
|
+
title: "Vidéo",
|
|
1282
|
+
subtext: "Insérer une vidéo",
|
|
1283
|
+
aliases: [
|
|
1284
|
+
"vidéo",
|
|
1285
|
+
"téléchargerVidéo",
|
|
1286
|
+
"téléverser",
|
|
1287
|
+
"mp4",
|
|
1288
|
+
"film",
|
|
1289
|
+
"média",
|
|
1290
|
+
"url"
|
|
1291
|
+
],
|
|
1292
|
+
group: "Média"
|
|
1293
|
+
},
|
|
1294
|
+
audio: {
|
|
1295
|
+
title: "Audio",
|
|
1296
|
+
subtext: "Insérer un audio",
|
|
1297
|
+
aliases: [
|
|
1298
|
+
"audio",
|
|
1299
|
+
"téléchargerAudio",
|
|
1300
|
+
"téléverser",
|
|
1301
|
+
"mp3",
|
|
1302
|
+
"son",
|
|
1303
|
+
"média",
|
|
1304
|
+
"url"
|
|
1305
|
+
],
|
|
1306
|
+
group: "Média"
|
|
1307
|
+
},
|
|
1308
|
+
file: {
|
|
1309
|
+
title: "Fichier",
|
|
1310
|
+
subtext: "Insérer un fichier",
|
|
1311
|
+
aliases: ["fichier", "téléverser", "intégrer", "média", "url"],
|
|
1312
|
+
group: "Média"
|
|
1313
|
+
},
|
|
1314
|
+
emoji: {
|
|
1315
|
+
title: "Emoji",
|
|
1316
|
+
subtext: "Utilisé pour insérer un emoji",
|
|
1317
|
+
aliases: ["emoji", "émoticône", "émotion", "visage"],
|
|
1318
|
+
group: "Autres"
|
|
1319
|
+
}
|
|
1320
|
+
},
|
|
1321
|
+
placeholders: {
|
|
1322
|
+
default: "Entrez du texte ou tapez '/' pour les commandes",
|
|
1323
|
+
heading: "Titre",
|
|
1324
|
+
bulletListItem: "Liste",
|
|
1325
|
+
numberedListItem: "Liste",
|
|
1326
|
+
checkListItem: "Liste"
|
|
1327
|
+
},
|
|
1328
|
+
file_blocks: {
|
|
751
1329
|
image: {
|
|
752
1330
|
add_button_text: "Ajouter une image"
|
|
753
1331
|
},
|
|
@@ -933,7 +1511,7 @@ const _o = {
|
|
|
933
1511
|
generic: {
|
|
934
1512
|
ctrl_shortcut: "Ctrl"
|
|
935
1513
|
}
|
|
936
|
-
},
|
|
1514
|
+
}, xo = {
|
|
937
1515
|
slash_menu: {
|
|
938
1516
|
heading: {
|
|
939
1517
|
title: "Fyrirsögn 1",
|
|
@@ -1230,7 +1808,7 @@ const _o = {
|
|
|
1230
1808
|
generic: {
|
|
1231
1809
|
ctrl_shortcut: "Ctrl"
|
|
1232
1810
|
}
|
|
1233
|
-
},
|
|
1811
|
+
}, Eo = {
|
|
1234
1812
|
slash_menu: {
|
|
1235
1813
|
heading: {
|
|
1236
1814
|
title: "見出し1",
|
|
@@ -1555,7 +2133,7 @@ const _o = {
|
|
|
1555
2133
|
generic: {
|
|
1556
2134
|
ctrl_shortcut: "Ctrl"
|
|
1557
2135
|
}
|
|
1558
|
-
},
|
|
2136
|
+
}, Co = {
|
|
1559
2137
|
slash_menu: {
|
|
1560
2138
|
heading: {
|
|
1561
2139
|
title: "제목1",
|
|
@@ -1873,7 +2451,7 @@ const _o = {
|
|
|
1873
2451
|
generic: {
|
|
1874
2452
|
ctrl_shortcut: "Ctrl"
|
|
1875
2453
|
}
|
|
1876
|
-
},
|
|
2454
|
+
}, So = {
|
|
1877
2455
|
slash_menu: {
|
|
1878
2456
|
heading: {
|
|
1879
2457
|
title: "Kop 1",
|
|
@@ -2178,7 +2756,7 @@ const _o = {
|
|
|
2178
2756
|
generic: {
|
|
2179
2757
|
ctrl_shortcut: "Ctrl"
|
|
2180
2758
|
}
|
|
2181
|
-
},
|
|
2759
|
+
}, Mo = {
|
|
2182
2760
|
slash_menu: {
|
|
2183
2761
|
heading: {
|
|
2184
2762
|
title: "Nagłówek 1",
|
|
@@ -2467,7 +3045,7 @@ const _o = {
|
|
|
2467
3045
|
generic: {
|
|
2468
3046
|
ctrl_shortcut: "Ctrl"
|
|
2469
3047
|
}
|
|
2470
|
-
},
|
|
3048
|
+
}, To = {
|
|
2471
3049
|
slash_menu: {
|
|
2472
3050
|
heading: {
|
|
2473
3051
|
title: "Título",
|
|
@@ -2764,1007 +3342,1009 @@ const _o = {
|
|
|
2764
3342
|
generic: {
|
|
2765
3343
|
ctrl_shortcut: "Ctrl"
|
|
2766
3344
|
}
|
|
2767
|
-
},
|
|
3345
|
+
}, Bo = {
|
|
2768
3346
|
slash_menu: {
|
|
2769
3347
|
heading: {
|
|
2770
|
-
title: "
|
|
2771
|
-
subtext: "
|
|
2772
|
-
aliases: ["h", "
|
|
2773
|
-
group: "
|
|
2774
|
-
},
|
|
3348
|
+
title: "Заголовок 1 уровня",
|
|
3349
|
+
subtext: "Используется для заголовка верхнего уровня",
|
|
3350
|
+
aliases: ["h", "heading1", "h1", "заголовок1"],
|
|
3351
|
+
group: "Заголовки"
|
|
3352
|
+
},
|
|
2775
3353
|
heading_2: {
|
|
2776
|
-
title: "
|
|
2777
|
-
subtext: "
|
|
2778
|
-
aliases: ["h2", "
|
|
2779
|
-
group: "
|
|
3354
|
+
title: "Заголовок 2 уровня",
|
|
3355
|
+
subtext: "Используется для ключевых разделов",
|
|
3356
|
+
aliases: ["h2", "heading2", "subheading", "заголовок2", "подзаголовок"],
|
|
3357
|
+
group: "Заголовки"
|
|
2780
3358
|
},
|
|
2781
3359
|
heading_3: {
|
|
2782
|
-
title: "
|
|
2783
|
-
subtext: "
|
|
2784
|
-
aliases: ["h3", "
|
|
2785
|
-
group: "
|
|
3360
|
+
title: "Заголовок 3 уровня",
|
|
3361
|
+
subtext: "Используется для подразделов и групп",
|
|
3362
|
+
aliases: ["h3", "heading3", "subheading", "заголовок3", "подзаголовок"],
|
|
3363
|
+
group: "Заголовки"
|
|
2786
3364
|
},
|
|
2787
3365
|
numbered_list: {
|
|
2788
|
-
title: "
|
|
2789
|
-
subtext: "
|
|
2790
|
-
aliases: [
|
|
2791
|
-
|
|
3366
|
+
title: "Нумерованный список",
|
|
3367
|
+
subtext: "Используется для отображения нумерованного списка",
|
|
3368
|
+
aliases: [
|
|
3369
|
+
"ol",
|
|
3370
|
+
"li",
|
|
3371
|
+
"list",
|
|
3372
|
+
"numberedlist",
|
|
3373
|
+
"numbered list",
|
|
3374
|
+
"список",
|
|
3375
|
+
"нумерованный список"
|
|
3376
|
+
],
|
|
3377
|
+
group: "Базовые блоки"
|
|
2792
3378
|
},
|
|
2793
3379
|
bullet_list: {
|
|
2794
|
-
title: "
|
|
2795
|
-
subtext: "
|
|
2796
|
-
aliases: [
|
|
2797
|
-
|
|
3380
|
+
title: "Маркированный список",
|
|
3381
|
+
subtext: "Для отображения неупорядоченного списка.",
|
|
3382
|
+
aliases: [
|
|
3383
|
+
"ul",
|
|
3384
|
+
"li",
|
|
3385
|
+
"list",
|
|
3386
|
+
"bulletlist",
|
|
3387
|
+
"bullet list",
|
|
3388
|
+
"список",
|
|
3389
|
+
"маркированный список"
|
|
3390
|
+
],
|
|
3391
|
+
group: "Базовые блоки"
|
|
2798
3392
|
},
|
|
2799
3393
|
check_list: {
|
|
2800
|
-
title: "
|
|
2801
|
-
subtext: "
|
|
3394
|
+
title: "Контрольный список",
|
|
3395
|
+
subtext: "Для отображения списка с флажками",
|
|
2802
3396
|
aliases: [
|
|
2803
3397
|
"ul",
|
|
2804
3398
|
"li",
|
|
2805
|
-
"
|
|
2806
|
-
"
|
|
2807
|
-
"
|
|
2808
|
-
"
|
|
3399
|
+
"list",
|
|
3400
|
+
"checklist",
|
|
3401
|
+
"check list",
|
|
3402
|
+
"checked list",
|
|
3403
|
+
"checkbox",
|
|
3404
|
+
"список"
|
|
2809
3405
|
],
|
|
2810
|
-
group: "
|
|
3406
|
+
group: "Базовые блоки"
|
|
2811
3407
|
},
|
|
2812
3408
|
paragraph: {
|
|
2813
|
-
title: "
|
|
2814
|
-
subtext: "
|
|
2815
|
-
aliases: ["p", "
|
|
2816
|
-
group: "
|
|
3409
|
+
title: "Параграф",
|
|
3410
|
+
subtext: "Основной текст",
|
|
3411
|
+
aliases: ["p", "paragraph", "параграф"],
|
|
3412
|
+
group: "Базовые блоки"
|
|
2817
3413
|
},
|
|
2818
3414
|
table: {
|
|
2819
|
-
title: "
|
|
2820
|
-
subtext: "
|
|
2821
|
-
aliases: ["
|
|
2822
|
-
group: "
|
|
3415
|
+
title: "Таблица",
|
|
3416
|
+
subtext: "Используется для таблиц",
|
|
3417
|
+
aliases: ["table", "таблица"],
|
|
3418
|
+
group: "Продвинутый"
|
|
2823
3419
|
},
|
|
2824
3420
|
image: {
|
|
2825
|
-
title: "
|
|
2826
|
-
subtext: "
|
|
2827
|
-
aliases: [
|
|
2828
|
-
|
|
3421
|
+
title: "Картинка",
|
|
3422
|
+
subtext: "Вставить изображение",
|
|
3423
|
+
aliases: [
|
|
3424
|
+
"image",
|
|
3425
|
+
"imageUpload",
|
|
3426
|
+
"upload",
|
|
3427
|
+
"img",
|
|
3428
|
+
"picture",
|
|
3429
|
+
"media",
|
|
3430
|
+
"url",
|
|
3431
|
+
"загрузка",
|
|
3432
|
+
"картинка",
|
|
3433
|
+
"рисунок"
|
|
3434
|
+
],
|
|
3435
|
+
group: "Медиа"
|
|
2829
3436
|
},
|
|
2830
3437
|
video: {
|
|
2831
|
-
title: "
|
|
2832
|
-
subtext: "
|
|
3438
|
+
title: "Видео",
|
|
3439
|
+
subtext: "Вставить видео",
|
|
2833
3440
|
aliases: [
|
|
2834
3441
|
"video",
|
|
2835
|
-
"
|
|
2836
|
-
"
|
|
3442
|
+
"videoUpload",
|
|
3443
|
+
"upload",
|
|
2837
3444
|
"mp4",
|
|
2838
|
-
"
|
|
3445
|
+
"film",
|
|
2839
3446
|
"media",
|
|
2840
|
-
"url"
|
|
3447
|
+
"url",
|
|
3448
|
+
"загрузка",
|
|
3449
|
+
"видео"
|
|
2841
3450
|
],
|
|
2842
|
-
group: "
|
|
3451
|
+
group: "Медиа"
|
|
2843
3452
|
},
|
|
2844
3453
|
audio: {
|
|
2845
|
-
title: "
|
|
2846
|
-
subtext: "
|
|
3454
|
+
title: "Аудио",
|
|
3455
|
+
subtext: "Вставить аудио",
|
|
2847
3456
|
aliases: [
|
|
2848
|
-
"
|
|
2849
|
-
"
|
|
2850
|
-
"
|
|
3457
|
+
"audio",
|
|
3458
|
+
"audioUpload",
|
|
3459
|
+
"upload",
|
|
2851
3460
|
"mp3",
|
|
2852
|
-
"
|
|
3461
|
+
"sound",
|
|
2853
3462
|
"media",
|
|
2854
|
-
"url"
|
|
3463
|
+
"url",
|
|
3464
|
+
"загрузка",
|
|
3465
|
+
"аудио",
|
|
3466
|
+
"звук",
|
|
3467
|
+
"музыка"
|
|
2855
3468
|
],
|
|
2856
|
-
group: "
|
|
3469
|
+
group: "Медиа"
|
|
2857
3470
|
},
|
|
2858
3471
|
file: {
|
|
2859
|
-
title: "
|
|
2860
|
-
subtext: "
|
|
2861
|
-
aliases: ["
|
|
2862
|
-
group: "
|
|
3472
|
+
title: "Файл",
|
|
3473
|
+
subtext: "Вставить файл",
|
|
3474
|
+
aliases: ["file", "upload", "embed", "media", "url", "загрузка", "файл"],
|
|
3475
|
+
group: "Медиа"
|
|
2863
3476
|
},
|
|
2864
3477
|
emoji: {
|
|
2865
|
-
title: "
|
|
2866
|
-
subtext: "
|
|
2867
|
-
aliases: [
|
|
2868
|
-
|
|
2869
|
-
"emoji",
|
|
2870
|
-
"emoticon",
|
|
2871
|
-
"cảm xúc expression",
|
|
2872
|
-
"khuôn mặt",
|
|
2873
|
-
"face"
|
|
2874
|
-
],
|
|
2875
|
-
group: "Khác"
|
|
3478
|
+
title: "Эмодзи",
|
|
3479
|
+
subtext: "Используется для вставки эмодзи",
|
|
3480
|
+
aliases: ["эмодзи", "смайлик", "выражение эмоций", "лицо"],
|
|
3481
|
+
group: "Прочее"
|
|
2876
3482
|
}
|
|
2877
3483
|
},
|
|
2878
3484
|
placeholders: {
|
|
2879
|
-
default: "
|
|
2880
|
-
heading: "
|
|
2881
|
-
bulletListItem: "
|
|
2882
|
-
numberedListItem: "
|
|
2883
|
-
checkListItem: "
|
|
3485
|
+
default: "Ведите текст или введите «/» для команд",
|
|
3486
|
+
heading: "Заголовок",
|
|
3487
|
+
bulletListItem: "Список",
|
|
3488
|
+
numberedListItem: "Список",
|
|
3489
|
+
checkListItem: "Список"
|
|
2884
3490
|
},
|
|
2885
3491
|
file_blocks: {
|
|
2886
3492
|
image: {
|
|
2887
|
-
add_button_text: "
|
|
3493
|
+
add_button_text: "Добавить изображение"
|
|
2888
3494
|
},
|
|
2889
3495
|
video: {
|
|
2890
|
-
add_button_text: "
|
|
3496
|
+
add_button_text: "Добавить видео"
|
|
2891
3497
|
},
|
|
2892
3498
|
audio: {
|
|
2893
|
-
add_button_text: "
|
|
3499
|
+
add_button_text: "Добавить аудио"
|
|
2894
3500
|
},
|
|
2895
3501
|
file: {
|
|
2896
|
-
add_button_text: "
|
|
3502
|
+
add_button_text: "Добавить файл"
|
|
2897
3503
|
}
|
|
2898
3504
|
},
|
|
2899
|
-
//
|
|
3505
|
+
// from react package:
|
|
2900
3506
|
side_menu: {
|
|
2901
|
-
add_block_label: "
|
|
2902
|
-
drag_handle_label: "
|
|
3507
|
+
add_block_label: "Добавить блок",
|
|
3508
|
+
drag_handle_label: "Открыть меню блока"
|
|
2903
3509
|
},
|
|
2904
3510
|
drag_handle: {
|
|
2905
|
-
delete_menuitem: "
|
|
2906
|
-
colors_menuitem: "
|
|
3511
|
+
delete_menuitem: "Удалить",
|
|
3512
|
+
colors_menuitem: "Цвета"
|
|
2907
3513
|
},
|
|
2908
3514
|
table_handle: {
|
|
2909
|
-
delete_column_menuitem: "
|
|
2910
|
-
delete_row_menuitem: "
|
|
2911
|
-
add_left_menuitem: "
|
|
2912
|
-
add_right_menuitem: "
|
|
2913
|
-
add_above_menuitem: "
|
|
2914
|
-
add_below_menuitem: "
|
|
3515
|
+
delete_column_menuitem: "Удалить столбец",
|
|
3516
|
+
delete_row_menuitem: "Удалить строку",
|
|
3517
|
+
add_left_menuitem: "Добавить столбец слева",
|
|
3518
|
+
add_right_menuitem: "Добавить столбец справа",
|
|
3519
|
+
add_above_menuitem: "Добавить строку выше",
|
|
3520
|
+
add_below_menuitem: "Добавить строку ниже"
|
|
2915
3521
|
},
|
|
2916
3522
|
suggestion_menu: {
|
|
2917
|
-
no_items_title: "
|
|
2918
|
-
loading: "
|
|
3523
|
+
no_items_title: "ничего не найдено",
|
|
3524
|
+
loading: "Загрузка…"
|
|
2919
3525
|
},
|
|
2920
3526
|
color_picker: {
|
|
2921
|
-
text_title: "
|
|
2922
|
-
background_title: "
|
|
3527
|
+
text_title: "Текст",
|
|
3528
|
+
background_title: "Задний фон",
|
|
2923
3529
|
colors: {
|
|
2924
|
-
default: "
|
|
2925
|
-
gray: "
|
|
2926
|
-
brown: "
|
|
2927
|
-
red: "
|
|
2928
|
-
orange: "
|
|
2929
|
-
yellow: "
|
|
2930
|
-
green: "
|
|
2931
|
-
blue: "
|
|
2932
|
-
purple: "
|
|
2933
|
-
pink: "
|
|
3530
|
+
default: "По умолчинию",
|
|
3531
|
+
gray: "Серый",
|
|
3532
|
+
brown: "Коричневый",
|
|
3533
|
+
red: "Красный",
|
|
3534
|
+
orange: "Оранжевый",
|
|
3535
|
+
yellow: "Жёлтый",
|
|
3536
|
+
green: "Зелёный",
|
|
3537
|
+
blue: "Голубой",
|
|
3538
|
+
purple: "Фиолетовый",
|
|
3539
|
+
pink: "Розовый"
|
|
2934
3540
|
}
|
|
2935
3541
|
},
|
|
2936
3542
|
formatting_toolbar: {
|
|
2937
3543
|
bold: {
|
|
2938
|
-
tooltip: "
|
|
3544
|
+
tooltip: "Жирный",
|
|
2939
3545
|
secondary_tooltip: "Mod+B"
|
|
2940
3546
|
},
|
|
2941
3547
|
italic: {
|
|
2942
|
-
tooltip: "
|
|
3548
|
+
tooltip: "Курсив",
|
|
2943
3549
|
secondary_tooltip: "Mod+I"
|
|
2944
3550
|
},
|
|
2945
3551
|
underline: {
|
|
2946
|
-
tooltip: "
|
|
3552
|
+
tooltip: "Подчёркнутый",
|
|
2947
3553
|
secondary_tooltip: "Mod+U"
|
|
2948
3554
|
},
|
|
2949
3555
|
strike: {
|
|
2950
|
-
tooltip: "
|
|
3556
|
+
tooltip: "Зачёркнутый",
|
|
2951
3557
|
secondary_tooltip: "Mod+Shift+X"
|
|
2952
3558
|
},
|
|
2953
3559
|
code: {
|
|
2954
|
-
tooltip: "
|
|
3560
|
+
tooltip: "Код",
|
|
2955
3561
|
secondary_tooltip: ""
|
|
2956
3562
|
},
|
|
2957
3563
|
colors: {
|
|
2958
|
-
tooltip: "
|
|
3564
|
+
tooltip: "Цвета"
|
|
2959
3565
|
},
|
|
2960
3566
|
link: {
|
|
2961
|
-
tooltip: "
|
|
3567
|
+
tooltip: "Создать ссылку",
|
|
2962
3568
|
secondary_tooltip: "Mod+K"
|
|
2963
3569
|
},
|
|
2964
3570
|
file_caption: {
|
|
2965
|
-
tooltip: "
|
|
2966
|
-
input_placeholder: "
|
|
3571
|
+
tooltip: "Изменить подпись",
|
|
3572
|
+
input_placeholder: "Изменить подпись"
|
|
2967
3573
|
},
|
|
2968
3574
|
file_replace: {
|
|
2969
3575
|
tooltip: {
|
|
2970
|
-
image: "
|
|
2971
|
-
video: "
|
|
2972
|
-
audio: "
|
|
2973
|
-
file: "
|
|
3576
|
+
image: "Заменить изображение",
|
|
3577
|
+
video: "Заменить видео",
|
|
3578
|
+
audio: "Заменить аудио",
|
|
3579
|
+
file: "Заменить файл"
|
|
2974
3580
|
}
|
|
2975
3581
|
},
|
|
2976
3582
|
file_rename: {
|
|
2977
3583
|
tooltip: {
|
|
2978
|
-
image: "
|
|
2979
|
-
video: "
|
|
2980
|
-
audio: "
|
|
2981
|
-
file: "
|
|
3584
|
+
image: "Переименовать изображение",
|
|
3585
|
+
video: "Переименовать видео",
|
|
3586
|
+
audio: "Переименовать аудио",
|
|
3587
|
+
file: "Переименовать файл"
|
|
2982
3588
|
},
|
|
2983
3589
|
input_placeholder: {
|
|
2984
|
-
image: "
|
|
2985
|
-
video: "
|
|
2986
|
-
audio: "
|
|
2987
|
-
file: "
|
|
3590
|
+
image: "Переименовать изображение",
|
|
3591
|
+
video: "Переименовать видео",
|
|
3592
|
+
audio: "Переименовать аудио",
|
|
3593
|
+
file: "Переименовать файл"
|
|
2988
3594
|
}
|
|
2989
3595
|
},
|
|
2990
3596
|
file_download: {
|
|
2991
3597
|
tooltip: {
|
|
2992
|
-
image: "
|
|
2993
|
-
video: "
|
|
2994
|
-
audio: "
|
|
2995
|
-
file: "
|
|
3598
|
+
image: "Скачать картинку",
|
|
3599
|
+
video: "Скачать видео",
|
|
3600
|
+
audio: "Скачать аудио",
|
|
3601
|
+
file: "Скачать файл"
|
|
2996
3602
|
}
|
|
2997
3603
|
},
|
|
2998
3604
|
file_delete: {
|
|
2999
3605
|
tooltip: {
|
|
3000
|
-
image: "
|
|
3001
|
-
video: "
|
|
3002
|
-
audio: "
|
|
3003
|
-
file: "
|
|
3606
|
+
image: "Удалить картинку",
|
|
3607
|
+
video: "Удалить видео",
|
|
3608
|
+
audio: "Удалить аудио",
|
|
3609
|
+
file: "Скачать файл"
|
|
3004
3610
|
}
|
|
3005
3611
|
},
|
|
3006
3612
|
file_preview_toggle: {
|
|
3007
|
-
tooltip: "
|
|
3613
|
+
tooltip: "Переключить предварительный просмотр"
|
|
3008
3614
|
},
|
|
3009
3615
|
nest: {
|
|
3010
|
-
tooltip: "
|
|
3616
|
+
tooltip: "Сдвинуть вправо",
|
|
3011
3617
|
secondary_tooltip: "Tab"
|
|
3012
3618
|
},
|
|
3013
3619
|
unnest: {
|
|
3014
|
-
tooltip: "
|
|
3620
|
+
tooltip: "Сдвинуть влево",
|
|
3015
3621
|
secondary_tooltip: "Shift+Tab"
|
|
3016
3622
|
},
|
|
3017
3623
|
align_left: {
|
|
3018
|
-
tooltip: "
|
|
3624
|
+
tooltip: "Текст по левому краю"
|
|
3019
3625
|
},
|
|
3020
3626
|
align_center: {
|
|
3021
|
-
tooltip: "
|
|
3627
|
+
tooltip: "Текст по середине"
|
|
3022
3628
|
},
|
|
3023
3629
|
align_right: {
|
|
3024
|
-
tooltip: "
|
|
3630
|
+
tooltip: "Текст по правому краю"
|
|
3025
3631
|
},
|
|
3026
3632
|
align_justify: {
|
|
3027
|
-
tooltip: "
|
|
3633
|
+
tooltip: "По середине текст"
|
|
3028
3634
|
}
|
|
3029
3635
|
},
|
|
3030
3636
|
file_panel: {
|
|
3031
3637
|
upload: {
|
|
3032
|
-
title: "
|
|
3638
|
+
title: "Загрузить",
|
|
3033
3639
|
file_placeholder: {
|
|
3034
|
-
image: "
|
|
3035
|
-
video: "
|
|
3036
|
-
audio: "
|
|
3037
|
-
file: "
|
|
3640
|
+
image: "Загрузить картинки",
|
|
3641
|
+
video: "Загрузить видео",
|
|
3642
|
+
audio: "Загрузить аудио",
|
|
3643
|
+
file: "Загрузить файл"
|
|
3038
3644
|
},
|
|
3039
|
-
upload_error: "
|
|
3645
|
+
upload_error: "Ошибка: не удалось загрузить"
|
|
3040
3646
|
},
|
|
3041
3647
|
embed: {
|
|
3042
|
-
title: "
|
|
3648
|
+
title: "Вставить",
|
|
3043
3649
|
embed_button: {
|
|
3044
|
-
image: "
|
|
3045
|
-
video: "
|
|
3046
|
-
audio: "
|
|
3047
|
-
file: "
|
|
3650
|
+
image: "Вставить картинку",
|
|
3651
|
+
video: "Вставить видео",
|
|
3652
|
+
audio: "Вставить аудио",
|
|
3653
|
+
file: "Вставить файл"
|
|
3048
3654
|
},
|
|
3049
|
-
url_placeholder: "
|
|
3655
|
+
url_placeholder: "Введите URL"
|
|
3050
3656
|
}
|
|
3051
3657
|
},
|
|
3052
3658
|
link_toolbar: {
|
|
3053
3659
|
delete: {
|
|
3054
|
-
tooltip: "
|
|
3660
|
+
tooltip: "Удалить ссылку"
|
|
3055
3661
|
},
|
|
3056
3662
|
edit: {
|
|
3057
|
-
text: "
|
|
3058
|
-
tooltip: "
|
|
3663
|
+
text: "Изменить ссылку",
|
|
3664
|
+
tooltip: "Редактировать"
|
|
3059
3665
|
},
|
|
3060
3666
|
open: {
|
|
3061
|
-
tooltip: "
|
|
3667
|
+
tooltip: "Открыть в новой вкладке"
|
|
3062
3668
|
},
|
|
3063
3669
|
form: {
|
|
3064
|
-
title_placeholder: "
|
|
3065
|
-
url_placeholder: "
|
|
3670
|
+
title_placeholder: "Изменить заголовок",
|
|
3671
|
+
url_placeholder: "Изменить URL"
|
|
3066
3672
|
}
|
|
3067
3673
|
},
|
|
3068
3674
|
generic: {
|
|
3069
3675
|
ctrl_shortcut: "Ctrl"
|
|
3070
3676
|
}
|
|
3071
|
-
},
|
|
3677
|
+
}, Lo = {
|
|
3072
3678
|
slash_menu: {
|
|
3073
3679
|
heading: {
|
|
3074
|
-
title: "
|
|
3075
|
-
subtext: "
|
|
3076
|
-
aliases: ["h", "
|
|
3077
|
-
group: "
|
|
3680
|
+
title: "Tiêu đề H1",
|
|
3681
|
+
subtext: "Sử dụng cho tiêu đề cấp cao nhất",
|
|
3682
|
+
aliases: ["h", "tieude1", "dd1"],
|
|
3683
|
+
group: "Tiêu đề"
|
|
3078
3684
|
},
|
|
3079
3685
|
heading_2: {
|
|
3080
|
-
title: "
|
|
3081
|
-
subtext: "
|
|
3082
|
-
aliases: ["h2", "
|
|
3083
|
-
group: "
|
|
3686
|
+
title: "Tiêu đề H2",
|
|
3687
|
+
subtext: "Sử dụng cho các phần chính",
|
|
3688
|
+
aliases: ["h2", "tieude2", "tieudephu"],
|
|
3689
|
+
group: "Tiêu đề"
|
|
3084
3690
|
},
|
|
3085
3691
|
heading_3: {
|
|
3086
|
-
title: "
|
|
3087
|
-
subtext: "
|
|
3088
|
-
aliases: ["h3", "
|
|
3089
|
-
group: "
|
|
3692
|
+
title: "Tiêu đề H3",
|
|
3693
|
+
subtext: "Sử dụng cho phụ đề và tiêu đề nhóm",
|
|
3694
|
+
aliases: ["h3", "tieude3", "tieudephu"],
|
|
3695
|
+
group: "Tiêu đề"
|
|
3090
3696
|
},
|
|
3091
3697
|
numbered_list: {
|
|
3092
|
-
title: "
|
|
3093
|
-
subtext: "
|
|
3094
|
-
aliases: [
|
|
3095
|
-
|
|
3096
|
-
"li",
|
|
3097
|
-
"list",
|
|
3098
|
-
"numberedlist",
|
|
3099
|
-
"numbered list",
|
|
3100
|
-
"列表",
|
|
3101
|
-
"有序列表"
|
|
3102
|
-
],
|
|
3103
|
-
group: "基础"
|
|
3698
|
+
title: "Danh sách đánh số",
|
|
3699
|
+
subtext: "Sử dụng để hiển thị danh sách có đánh số",
|
|
3700
|
+
aliases: ["ol", "li", "ds", "danhsachdso", "danh sach danh so"],
|
|
3701
|
+
group: "Khối cơ bản"
|
|
3104
3702
|
},
|
|
3105
3703
|
bullet_list: {
|
|
3106
|
-
title: "
|
|
3107
|
-
subtext: "
|
|
3108
|
-
aliases: [
|
|
3109
|
-
|
|
3110
|
-
"li",
|
|
3111
|
-
"list",
|
|
3112
|
-
"bulletlist",
|
|
3113
|
-
"bullet list",
|
|
3114
|
-
"列表",
|
|
3115
|
-
"无序列表"
|
|
3116
|
-
],
|
|
3117
|
-
group: "基础"
|
|
3704
|
+
title: "Danh sách",
|
|
3705
|
+
subtext: "Sử dụng để hiển thị danh sách không đánh số",
|
|
3706
|
+
aliases: ["ul", "li", "ds", "danhsach", "danh sach"],
|
|
3707
|
+
group: "Khối cơ bản"
|
|
3118
3708
|
},
|
|
3119
3709
|
check_list: {
|
|
3120
|
-
title: "
|
|
3121
|
-
subtext: "
|
|
3710
|
+
title: "Danh sách kiểm tra",
|
|
3711
|
+
subtext: "Dùng để hiển thị danh sách có hộp kiểm",
|
|
3122
3712
|
aliases: [
|
|
3123
3713
|
"ul",
|
|
3124
3714
|
"li",
|
|
3125
|
-
"
|
|
3126
|
-
"
|
|
3127
|
-
"
|
|
3128
|
-
"
|
|
3129
|
-
"勾选列表",
|
|
3130
|
-
"复选框"
|
|
3715
|
+
"danh sach",
|
|
3716
|
+
"danh sach kiem tra",
|
|
3717
|
+
"danh sach da kiem tra",
|
|
3718
|
+
"hop kiem"
|
|
3131
3719
|
],
|
|
3132
|
-
group: "
|
|
3720
|
+
group: "Khối cơ bản"
|
|
3133
3721
|
},
|
|
3134
3722
|
paragraph: {
|
|
3135
|
-
title: "
|
|
3136
|
-
subtext: "
|
|
3137
|
-
aliases: ["p", "
|
|
3138
|
-
group: "
|
|
3723
|
+
title: "Đoạn văn",
|
|
3724
|
+
subtext: "Sử dụng cho nội dung chính của tài liệu",
|
|
3725
|
+
aliases: ["p", "doanvan"],
|
|
3726
|
+
group: "Khối cơ bản"
|
|
3139
3727
|
},
|
|
3140
3728
|
table: {
|
|
3141
|
-
title: "
|
|
3142
|
-
subtext: "
|
|
3143
|
-
aliases: ["
|
|
3144
|
-
group: "
|
|
3729
|
+
title: "Bảng",
|
|
3730
|
+
subtext: "Sử dụng để tạo bảng",
|
|
3731
|
+
aliases: ["bang"],
|
|
3732
|
+
group: "Nâng cao"
|
|
3145
3733
|
},
|
|
3146
3734
|
image: {
|
|
3147
|
-
title: "
|
|
3148
|
-
subtext: "
|
|
3149
|
-
aliases: [
|
|
3150
|
-
|
|
3151
|
-
"上传图片",
|
|
3152
|
-
"上传",
|
|
3153
|
-
"image",
|
|
3154
|
-
"img",
|
|
3155
|
-
"相册",
|
|
3156
|
-
"媒体",
|
|
3157
|
-
"url"
|
|
3158
|
-
],
|
|
3159
|
-
group: "媒体"
|
|
3735
|
+
title: "Hình ảnh",
|
|
3736
|
+
subtext: "Chèn hình ảnh",
|
|
3737
|
+
aliases: ["anh", "tai-len-anh", "tai-len", "img", "hinh", "media", "url"],
|
|
3738
|
+
group: "Phương tiện"
|
|
3160
3739
|
},
|
|
3161
3740
|
video: {
|
|
3162
|
-
title: "
|
|
3163
|
-
subtext: "
|
|
3741
|
+
title: "Video",
|
|
3742
|
+
subtext: "Chèn video",
|
|
3164
3743
|
aliases: [
|
|
3165
|
-
"视频",
|
|
3166
|
-
"视频上传",
|
|
3167
|
-
"上传",
|
|
3168
3744
|
"video",
|
|
3745
|
+
"tai-len-video",
|
|
3746
|
+
"tai-len",
|
|
3169
3747
|
"mp4",
|
|
3170
|
-
"
|
|
3171
|
-
"
|
|
3172
|
-
"url"
|
|
3173
|
-
"驱动",
|
|
3174
|
-
"dropbox"
|
|
3748
|
+
"phim",
|
|
3749
|
+
"media",
|
|
3750
|
+
"url"
|
|
3175
3751
|
],
|
|
3176
|
-
group: "
|
|
3752
|
+
group: "Phương tiện"
|
|
3177
3753
|
},
|
|
3178
3754
|
audio: {
|
|
3179
|
-
title: "
|
|
3180
|
-
subtext: "
|
|
3755
|
+
title: "Âm thanh",
|
|
3756
|
+
subtext: "Chèn âm thanh",
|
|
3181
3757
|
aliases: [
|
|
3182
|
-
"
|
|
3183
|
-
"
|
|
3184
|
-
"
|
|
3185
|
-
"audio",
|
|
3758
|
+
"âm thanh",
|
|
3759
|
+
"tai-len-am-thanh",
|
|
3760
|
+
"tai-len",
|
|
3186
3761
|
"mp3",
|
|
3187
|
-
"
|
|
3188
|
-
"
|
|
3189
|
-
"url"
|
|
3190
|
-
"驱动",
|
|
3191
|
-
"dropbox"
|
|
3762
|
+
"am thanh",
|
|
3763
|
+
"media",
|
|
3764
|
+
"url"
|
|
3192
3765
|
],
|
|
3193
|
-
group: "
|
|
3766
|
+
group: "Phương tiện"
|
|
3194
3767
|
},
|
|
3195
3768
|
file: {
|
|
3196
|
-
title: "
|
|
3197
|
-
subtext: "
|
|
3198
|
-
aliases: ["
|
|
3199
|
-
group: "
|
|
3769
|
+
title: "Tệp",
|
|
3770
|
+
subtext: "Chèn tệp",
|
|
3771
|
+
aliases: ["tep", "tai-len", "nhung", "media", "url"],
|
|
3772
|
+
group: "Phương tiện"
|
|
3200
3773
|
},
|
|
3201
3774
|
emoji: {
|
|
3202
|
-
title: "
|
|
3203
|
-
subtext: "
|
|
3775
|
+
title: "Biểu tượng cảm xúc",
|
|
3776
|
+
subtext: "Dùng để chèn biểu tượng cảm xúc",
|
|
3204
3777
|
aliases: [
|
|
3205
|
-
"
|
|
3778
|
+
"biểu tượng cảm xúc",
|
|
3206
3779
|
"emoji",
|
|
3207
|
-
"
|
|
3208
|
-
"
|
|
3209
|
-
"
|
|
3210
|
-
"
|
|
3211
|
-
"表情"
|
|
3780
|
+
"emoticon",
|
|
3781
|
+
"cảm xúc expression",
|
|
3782
|
+
"khuôn mặt",
|
|
3783
|
+
"face"
|
|
3212
3784
|
],
|
|
3213
|
-
group: "
|
|
3785
|
+
group: "Khác"
|
|
3214
3786
|
}
|
|
3215
3787
|
},
|
|
3216
3788
|
placeholders: {
|
|
3217
|
-
default: "
|
|
3218
|
-
heading: "
|
|
3219
|
-
bulletListItem: "
|
|
3220
|
-
numberedListItem: "
|
|
3221
|
-
checkListItem: "
|
|
3789
|
+
default: "Nhập văn bản hoặc gõ '/' để thêm định dạng",
|
|
3790
|
+
heading: "Tiêu đề",
|
|
3791
|
+
bulletListItem: "Danh sách",
|
|
3792
|
+
numberedListItem: "Danh sách",
|
|
3793
|
+
checkListItem: "Danh sách"
|
|
3222
3794
|
},
|
|
3223
3795
|
file_blocks: {
|
|
3224
3796
|
image: {
|
|
3225
|
-
add_button_text: "
|
|
3797
|
+
add_button_text: "Thêm ảnh"
|
|
3226
3798
|
},
|
|
3227
3799
|
video: {
|
|
3228
|
-
add_button_text: "
|
|
3800
|
+
add_button_text: "Thêm video"
|
|
3229
3801
|
},
|
|
3230
3802
|
audio: {
|
|
3231
|
-
add_button_text: "
|
|
3803
|
+
add_button_text: "Thêm âm thanh"
|
|
3232
3804
|
},
|
|
3233
3805
|
file: {
|
|
3234
|
-
add_button_text: "
|
|
3806
|
+
add_button_text: "Thêm tệp"
|
|
3235
3807
|
}
|
|
3236
3808
|
},
|
|
3237
|
-
//
|
|
3809
|
+
// từ gói phản ứng:
|
|
3238
3810
|
side_menu: {
|
|
3239
|
-
add_block_label: "
|
|
3240
|
-
drag_handle_label: "
|
|
3811
|
+
add_block_label: "Thêm khối",
|
|
3812
|
+
drag_handle_label: "Mở trình đơn khối"
|
|
3241
3813
|
},
|
|
3242
3814
|
drag_handle: {
|
|
3243
|
-
delete_menuitem: "
|
|
3244
|
-
colors_menuitem: "
|
|
3815
|
+
delete_menuitem: "Xóa",
|
|
3816
|
+
colors_menuitem: "Màu sắc"
|
|
3245
3817
|
},
|
|
3246
|
-
table_handle: {
|
|
3247
|
-
delete_column_menuitem: "
|
|
3248
|
-
delete_row_menuitem: "
|
|
3249
|
-
add_left_menuitem: "
|
|
3250
|
-
add_right_menuitem: "
|
|
3251
|
-
add_above_menuitem: "
|
|
3252
|
-
add_below_menuitem: "
|
|
3818
|
+
table_handle: {
|
|
3819
|
+
delete_column_menuitem: "Xóa cột",
|
|
3820
|
+
delete_row_menuitem: "Xóa hàng",
|
|
3821
|
+
add_left_menuitem: "Thêm cột bên trái",
|
|
3822
|
+
add_right_menuitem: "Thêm cột bên phải",
|
|
3823
|
+
add_above_menuitem: "Thêm hàng phía trên",
|
|
3824
|
+
add_below_menuitem: "Thêm hàng phía dưới"
|
|
3253
3825
|
},
|
|
3254
3826
|
suggestion_menu: {
|
|
3255
|
-
no_items_title: "
|
|
3256
|
-
loading: "
|
|
3827
|
+
no_items_title: "Không tìm thấy mục nào",
|
|
3828
|
+
loading: "Đang tải..."
|
|
3257
3829
|
},
|
|
3258
3830
|
color_picker: {
|
|
3259
|
-
text_title: "
|
|
3260
|
-
background_title: "
|
|
3831
|
+
text_title: "Văn bản",
|
|
3832
|
+
background_title: "Nền",
|
|
3261
3833
|
colors: {
|
|
3262
|
-
default: "
|
|
3263
|
-
gray: "
|
|
3264
|
-
brown: "
|
|
3265
|
-
red: "
|
|
3266
|
-
orange: "
|
|
3267
|
-
yellow: "
|
|
3268
|
-
green: "
|
|
3269
|
-
blue: "
|
|
3270
|
-
purple: "
|
|
3271
|
-
pink: "
|
|
3834
|
+
default: "Mặc định",
|
|
3835
|
+
gray: "Xám",
|
|
3836
|
+
brown: "Nâu",
|
|
3837
|
+
red: "Đỏ",
|
|
3838
|
+
orange: "Cam",
|
|
3839
|
+
yellow: "Vàng",
|
|
3840
|
+
green: "Xanh lá",
|
|
3841
|
+
blue: "Xanh dương",
|
|
3842
|
+
purple: "Tím",
|
|
3843
|
+
pink: "Hồng"
|
|
3272
3844
|
}
|
|
3273
3845
|
},
|
|
3274
3846
|
formatting_toolbar: {
|
|
3275
3847
|
bold: {
|
|
3276
|
-
tooltip: "
|
|
3848
|
+
tooltip: "In đậm",
|
|
3277
3849
|
secondary_tooltip: "Mod+B"
|
|
3278
3850
|
},
|
|
3279
3851
|
italic: {
|
|
3280
|
-
tooltip: "
|
|
3852
|
+
tooltip: "In nghiêng",
|
|
3281
3853
|
secondary_tooltip: "Mod+I"
|
|
3282
3854
|
},
|
|
3283
3855
|
underline: {
|
|
3284
|
-
tooltip: "
|
|
3856
|
+
tooltip: "Gạch dưới",
|
|
3285
3857
|
secondary_tooltip: "Mod+U"
|
|
3286
3858
|
},
|
|
3287
3859
|
strike: {
|
|
3288
|
-
tooltip: "
|
|
3860
|
+
tooltip: "Gạch ngang",
|
|
3289
3861
|
secondary_tooltip: "Mod+Shift+X"
|
|
3290
3862
|
},
|
|
3291
3863
|
code: {
|
|
3292
|
-
tooltip: "
|
|
3864
|
+
tooltip: "Code",
|
|
3293
3865
|
secondary_tooltip: ""
|
|
3294
3866
|
},
|
|
3295
3867
|
colors: {
|
|
3296
|
-
tooltip: "
|
|
3868
|
+
tooltip: "Màu sắc"
|
|
3297
3869
|
},
|
|
3298
3870
|
link: {
|
|
3299
|
-
tooltip: "
|
|
3871
|
+
tooltip: "Tạo liên kết",
|
|
3300
3872
|
secondary_tooltip: "Mod+K"
|
|
3301
3873
|
},
|
|
3302
3874
|
file_caption: {
|
|
3303
|
-
tooltip: "
|
|
3304
|
-
input_placeholder: "
|
|
3875
|
+
tooltip: "Chỉnh sửa chú thích",
|
|
3876
|
+
input_placeholder: "Chỉnh sửa chú thích"
|
|
3305
3877
|
},
|
|
3306
3878
|
file_replace: {
|
|
3307
3879
|
tooltip: {
|
|
3308
|
-
image: "
|
|
3309
|
-
video: "
|
|
3310
|
-
audio: "
|
|
3311
|
-
file: "
|
|
3880
|
+
image: "Thay thế hình ảnh",
|
|
3881
|
+
video: "Thay thế video",
|
|
3882
|
+
audio: "Thay thế âm thanh",
|
|
3883
|
+
file: "Thay thế tệp"
|
|
3312
3884
|
}
|
|
3313
3885
|
},
|
|
3314
3886
|
file_rename: {
|
|
3315
3887
|
tooltip: {
|
|
3316
|
-
image: "
|
|
3317
|
-
video: "
|
|
3318
|
-
audio: "
|
|
3319
|
-
file: "
|
|
3888
|
+
image: "Đổi tên hình ảnh",
|
|
3889
|
+
video: "Đổi tên video",
|
|
3890
|
+
audio: "Đổi tên âm thanh",
|
|
3891
|
+
file: "Đổi tên tệp"
|
|
3320
3892
|
},
|
|
3321
3893
|
input_placeholder: {
|
|
3322
|
-
image: "
|
|
3323
|
-
video: "
|
|
3324
|
-
audio: "
|
|
3325
|
-
file: "
|
|
3894
|
+
image: "Đổi tên hình ảnh",
|
|
3895
|
+
video: "Đổi tên video",
|
|
3896
|
+
audio: "Đổi tên âm thanh",
|
|
3897
|
+
file: "Đổi tên tệp"
|
|
3326
3898
|
}
|
|
3327
3899
|
},
|
|
3328
3900
|
file_download: {
|
|
3329
3901
|
tooltip: {
|
|
3330
|
-
image: "
|
|
3331
|
-
video: "
|
|
3332
|
-
audio: "
|
|
3333
|
-
file: "
|
|
3902
|
+
image: "Tải xuống hình ảnh",
|
|
3903
|
+
video: "Tải xuống video",
|
|
3904
|
+
audio: "Tải xuống âm thanh",
|
|
3905
|
+
file: "Tải xuống tệp"
|
|
3334
3906
|
}
|
|
3335
3907
|
},
|
|
3336
3908
|
file_delete: {
|
|
3337
3909
|
tooltip: {
|
|
3338
|
-
image: "
|
|
3339
|
-
video: "
|
|
3340
|
-
audio: "
|
|
3341
|
-
file: "
|
|
3910
|
+
image: "Xóa hình ảnh",
|
|
3911
|
+
video: "Xóa video",
|
|
3912
|
+
audio: "Xóa âm thanh",
|
|
3913
|
+
file: "Xóa tệp"
|
|
3342
3914
|
}
|
|
3343
3915
|
},
|
|
3344
3916
|
file_preview_toggle: {
|
|
3345
|
-
tooltip: "
|
|
3917
|
+
tooltip: "Chuyển đổi xem trước"
|
|
3346
3918
|
},
|
|
3347
3919
|
nest: {
|
|
3348
|
-
tooltip: "
|
|
3920
|
+
tooltip: "Lồng khối",
|
|
3349
3921
|
secondary_tooltip: "Tab"
|
|
3350
3922
|
},
|
|
3351
3923
|
unnest: {
|
|
3352
|
-
tooltip: "
|
|
3924
|
+
tooltip: "Bỏ lồng khối",
|
|
3353
3925
|
secondary_tooltip: "Shift+Tab"
|
|
3354
3926
|
},
|
|
3355
3927
|
align_left: {
|
|
3356
|
-
tooltip: "
|
|
3928
|
+
tooltip: "Căn trái văn bản"
|
|
3357
3929
|
},
|
|
3358
3930
|
align_center: {
|
|
3359
|
-
tooltip: "
|
|
3931
|
+
tooltip: "Căn giữa văn bản"
|
|
3360
3932
|
},
|
|
3361
3933
|
align_right: {
|
|
3362
|
-
tooltip: "
|
|
3934
|
+
tooltip: "Căn phải văn bản"
|
|
3363
3935
|
},
|
|
3364
3936
|
align_justify: {
|
|
3365
|
-
tooltip: "
|
|
3937
|
+
tooltip: "Căn đều văn bản"
|
|
3366
3938
|
}
|
|
3367
3939
|
},
|
|
3368
3940
|
file_panel: {
|
|
3369
3941
|
upload: {
|
|
3370
|
-
title: "
|
|
3942
|
+
title: "Tải lên",
|
|
3371
3943
|
file_placeholder: {
|
|
3372
|
-
image: "
|
|
3373
|
-
video: "
|
|
3374
|
-
audio: "
|
|
3375
|
-
file: "
|
|
3944
|
+
image: "Tải lên hình ảnh",
|
|
3945
|
+
video: "Tải lên video",
|
|
3946
|
+
audio: "Tải lên âm thanh",
|
|
3947
|
+
file: "Tải lên tệp"
|
|
3376
3948
|
},
|
|
3377
|
-
upload_error: "
|
|
3949
|
+
upload_error: "Lỗi: Tải lên thất bại"
|
|
3378
3950
|
},
|
|
3379
3951
|
embed: {
|
|
3380
|
-
title: "
|
|
3952
|
+
title: "Nhúng",
|
|
3381
3953
|
embed_button: {
|
|
3382
|
-
image: "
|
|
3383
|
-
video: "
|
|
3384
|
-
audio: "
|
|
3385
|
-
file: "
|
|
3954
|
+
image: "Nhúng hình ảnh",
|
|
3955
|
+
video: "Nhúng video",
|
|
3956
|
+
audio: "Nhúng âm thanh",
|
|
3957
|
+
file: "Nhúng tệp"
|
|
3386
3958
|
},
|
|
3387
|
-
url_placeholder: "
|
|
3959
|
+
url_placeholder: "Nhập URL"
|
|
3388
3960
|
}
|
|
3389
3961
|
},
|
|
3390
3962
|
link_toolbar: {
|
|
3391
3963
|
delete: {
|
|
3392
|
-
tooltip: "
|
|
3964
|
+
tooltip: "Xóa liên kết"
|
|
3393
3965
|
},
|
|
3394
3966
|
edit: {
|
|
3395
|
-
text: "
|
|
3396
|
-
tooltip: "
|
|
3967
|
+
text: "Chỉnh sửa liên kết",
|
|
3968
|
+
tooltip: "Chỉnh sửa"
|
|
3397
3969
|
},
|
|
3398
3970
|
open: {
|
|
3399
|
-
tooltip: "
|
|
3971
|
+
tooltip: "Mở trong tab mới"
|
|
3400
3972
|
},
|
|
3401
3973
|
form: {
|
|
3402
|
-
title_placeholder: "
|
|
3403
|
-
url_placeholder: "
|
|
3974
|
+
title_placeholder: "Chỉnh sửa tiêu đề",
|
|
3975
|
+
url_placeholder: "Chỉnh sửa URL"
|
|
3404
3976
|
}
|
|
3405
3977
|
},
|
|
3406
3978
|
generic: {
|
|
3407
3979
|
ctrl_shortcut: "Ctrl"
|
|
3408
3980
|
}
|
|
3409
|
-
},
|
|
3981
|
+
}, Io = {
|
|
3410
3982
|
slash_menu: {
|
|
3411
3983
|
heading: {
|
|
3412
|
-
title: "
|
|
3413
|
-
subtext: "
|
|
3414
|
-
aliases: ["h", "heading1", "h1", "
|
|
3415
|
-
group: "
|
|
3984
|
+
title: "一级标题",
|
|
3985
|
+
subtext: "用于顶级标题",
|
|
3986
|
+
aliases: ["h", "heading1", "h1", "标题", "一级标题"],
|
|
3987
|
+
group: "标题"
|
|
3416
3988
|
},
|
|
3417
3989
|
heading_2: {
|
|
3418
|
-
title: "
|
|
3419
|
-
subtext: "
|
|
3420
|
-
aliases: ["h2", "heading2", "subheading", "
|
|
3421
|
-
group: "
|
|
3990
|
+
title: "二级标题",
|
|
3991
|
+
subtext: "用于关键部分",
|
|
3992
|
+
aliases: ["h2", "heading2", "subheading", "标题", "二级标题", "副标题"],
|
|
3993
|
+
group: "标题"
|
|
3422
3994
|
},
|
|
3423
3995
|
heading_3: {
|
|
3424
|
-
title: "
|
|
3425
|
-
subtext: "
|
|
3426
|
-
aliases: ["h3", "heading3", "subheading", "
|
|
3427
|
-
group: "
|
|
3996
|
+
title: "三级标题",
|
|
3997
|
+
subtext: "用于小节和分组标题",
|
|
3998
|
+
aliases: ["h3", "heading3", "subheading", "标题", "三级标题"],
|
|
3999
|
+
group: "标题"
|
|
3428
4000
|
},
|
|
3429
4001
|
numbered_list: {
|
|
3430
|
-
title: "
|
|
3431
|
-
subtext: "
|
|
4002
|
+
title: "有序列表",
|
|
4003
|
+
subtext: "用于显示有序列表",
|
|
3432
4004
|
aliases: [
|
|
3433
4005
|
"ol",
|
|
3434
4006
|
"li",
|
|
3435
4007
|
"list",
|
|
3436
4008
|
"numberedlist",
|
|
3437
4009
|
"numbered list",
|
|
3438
|
-
"
|
|
3439
|
-
"
|
|
4010
|
+
"列表",
|
|
4011
|
+
"有序列表"
|
|
3440
4012
|
],
|
|
3441
|
-
group: "
|
|
4013
|
+
group: "基础"
|
|
3442
4014
|
},
|
|
3443
4015
|
bullet_list: {
|
|
3444
|
-
title: "
|
|
3445
|
-
subtext: "
|
|
4016
|
+
title: "无序列表",
|
|
4017
|
+
subtext: "用于显示无序列表",
|
|
3446
4018
|
aliases: [
|
|
3447
4019
|
"ul",
|
|
3448
4020
|
"li",
|
|
3449
4021
|
"list",
|
|
3450
4022
|
"bulletlist",
|
|
3451
4023
|
"bullet list",
|
|
3452
|
-
"
|
|
3453
|
-
"
|
|
4024
|
+
"列表",
|
|
4025
|
+
"无序列表"
|
|
3454
4026
|
],
|
|
3455
|
-
group: "
|
|
4027
|
+
group: "基础"
|
|
3456
4028
|
},
|
|
3457
4029
|
check_list: {
|
|
3458
|
-
title: "
|
|
3459
|
-
subtext: "
|
|
4030
|
+
title: "检查清单",
|
|
4031
|
+
subtext: "用于显示带有复选框的列表",
|
|
3460
4032
|
aliases: [
|
|
3461
4033
|
"ul",
|
|
3462
4034
|
"li",
|
|
3463
|
-
"list",
|
|
3464
4035
|
"checklist",
|
|
3465
|
-
"check list",
|
|
3466
4036
|
"checked list",
|
|
3467
|
-
"
|
|
3468
|
-
"
|
|
4037
|
+
"列表",
|
|
4038
|
+
"检查清单",
|
|
4039
|
+
"勾选列表",
|
|
4040
|
+
"复选框"
|
|
3469
4041
|
],
|
|
3470
|
-
group: "
|
|
4042
|
+
group: "基础"
|
|
3471
4043
|
},
|
|
3472
4044
|
paragraph: {
|
|
3473
|
-
title: "
|
|
3474
|
-
subtext: "
|
|
3475
|
-
aliases: ["p", "paragraph", "
|
|
3476
|
-
group: "
|
|
4045
|
+
title: "段落",
|
|
4046
|
+
subtext: "用于文档正文",
|
|
4047
|
+
aliases: ["p", "paragraph", "text", "正文"],
|
|
4048
|
+
group: "基础"
|
|
3477
4049
|
},
|
|
3478
4050
|
table: {
|
|
3479
|
-
title: "
|
|
3480
|
-
subtext: "
|
|
3481
|
-
aliases: ["table", "
|
|
3482
|
-
group: "
|
|
4051
|
+
title: "表格",
|
|
4052
|
+
subtext: "使用表格",
|
|
4053
|
+
aliases: ["table", "表格"],
|
|
4054
|
+
group: "高级功能"
|
|
3483
4055
|
},
|
|
3484
4056
|
image: {
|
|
3485
|
-
title: "
|
|
3486
|
-
subtext: "
|
|
4057
|
+
title: "图片",
|
|
4058
|
+
subtext: "插入图片",
|
|
3487
4059
|
aliases: [
|
|
4060
|
+
"图片",
|
|
4061
|
+
"上传图片",
|
|
4062
|
+
"上传",
|
|
3488
4063
|
"image",
|
|
3489
|
-
"imageUpload",
|
|
3490
|
-
"upload",
|
|
3491
4064
|
"img",
|
|
3492
|
-
"
|
|
3493
|
-
"
|
|
3494
|
-
"url"
|
|
3495
|
-
"загрузка",
|
|
3496
|
-
"картинка",
|
|
3497
|
-
"рисунок"
|
|
4065
|
+
"相册",
|
|
4066
|
+
"媒体",
|
|
4067
|
+
"url"
|
|
3498
4068
|
],
|
|
3499
|
-
group: "
|
|
4069
|
+
group: "媒体"
|
|
3500
4070
|
},
|
|
3501
4071
|
video: {
|
|
3502
|
-
title: "
|
|
3503
|
-
subtext: "
|
|
4072
|
+
title: "视频",
|
|
4073
|
+
subtext: "插入视频",
|
|
3504
4074
|
aliases: [
|
|
4075
|
+
"视频",
|
|
4076
|
+
"视频上传",
|
|
4077
|
+
"上传",
|
|
3505
4078
|
"video",
|
|
3506
|
-
"videoUpload",
|
|
3507
|
-
"upload",
|
|
3508
4079
|
"mp4",
|
|
3509
|
-
"
|
|
3510
|
-
"
|
|
4080
|
+
"电影",
|
|
4081
|
+
"媒体",
|
|
3511
4082
|
"url",
|
|
3512
|
-
"
|
|
3513
|
-
"
|
|
4083
|
+
"驱动",
|
|
4084
|
+
"dropbox"
|
|
3514
4085
|
],
|
|
3515
|
-
group: "
|
|
4086
|
+
group: "媒体"
|
|
3516
4087
|
},
|
|
3517
4088
|
audio: {
|
|
3518
|
-
title: "
|
|
3519
|
-
subtext: "
|
|
4089
|
+
title: "音频",
|
|
4090
|
+
subtext: "插入音频",
|
|
3520
4091
|
aliases: [
|
|
4092
|
+
"音频",
|
|
4093
|
+
"音频上传",
|
|
4094
|
+
"上传",
|
|
3521
4095
|
"audio",
|
|
3522
|
-
"audioUpload",
|
|
3523
|
-
"upload",
|
|
3524
4096
|
"mp3",
|
|
3525
|
-
"
|
|
3526
|
-
"
|
|
4097
|
+
"声音",
|
|
4098
|
+
"媒体",
|
|
3527
4099
|
"url",
|
|
3528
|
-
"
|
|
3529
|
-
"
|
|
3530
|
-
"звук",
|
|
3531
|
-
"музыка"
|
|
4100
|
+
"驱动",
|
|
4101
|
+
"dropbox"
|
|
3532
4102
|
],
|
|
3533
|
-
group: "
|
|
4103
|
+
group: "媒体"
|
|
3534
4104
|
},
|
|
3535
4105
|
file: {
|
|
3536
|
-
title: "
|
|
3537
|
-
subtext: "
|
|
3538
|
-
aliases: ["
|
|
3539
|
-
group: "
|
|
4106
|
+
title: "文件",
|
|
4107
|
+
subtext: "插入文件",
|
|
4108
|
+
aliases: ["文件", "上传", "file", "嵌入", "媒体", "url"],
|
|
4109
|
+
group: "媒体"
|
|
3540
4110
|
},
|
|
3541
4111
|
emoji: {
|
|
3542
|
-
title: "
|
|
3543
|
-
subtext: "
|
|
3544
|
-
aliases: [
|
|
3545
|
-
|
|
4112
|
+
title: "表情符号",
|
|
4113
|
+
subtext: "用于插入表情符号",
|
|
4114
|
+
aliases: [
|
|
4115
|
+
"表情符号",
|
|
4116
|
+
"emoji",
|
|
4117
|
+
"face",
|
|
4118
|
+
"emote",
|
|
4119
|
+
"表情",
|
|
4120
|
+
"表情表达",
|
|
4121
|
+
"表情"
|
|
4122
|
+
],
|
|
4123
|
+
group: "其他"
|
|
3546
4124
|
}
|
|
3547
4125
|
},
|
|
3548
4126
|
placeholders: {
|
|
3549
|
-
default: "
|
|
3550
|
-
heading: "
|
|
3551
|
-
bulletListItem: "
|
|
3552
|
-
numberedListItem: "
|
|
3553
|
-
checkListItem: "
|
|
4127
|
+
default: "输入 '/' 以使用命令",
|
|
4128
|
+
heading: "标题",
|
|
4129
|
+
bulletListItem: "列表",
|
|
4130
|
+
numberedListItem: "列表",
|
|
4131
|
+
checkListItem: "列表"
|
|
3554
4132
|
},
|
|
3555
4133
|
file_blocks: {
|
|
3556
4134
|
image: {
|
|
3557
|
-
add_button_text: "
|
|
4135
|
+
add_button_text: "添加图片"
|
|
3558
4136
|
},
|
|
3559
4137
|
video: {
|
|
3560
|
-
add_button_text: "
|
|
4138
|
+
add_button_text: "添加视频"
|
|
3561
4139
|
},
|
|
3562
4140
|
audio: {
|
|
3563
|
-
add_button_text: "
|
|
4141
|
+
add_button_text: "添加音频"
|
|
3564
4142
|
},
|
|
3565
4143
|
file: {
|
|
3566
|
-
add_button_text: "
|
|
4144
|
+
add_button_text: "添加文件"
|
|
3567
4145
|
}
|
|
3568
4146
|
},
|
|
3569
4147
|
// from react package:
|
|
3570
4148
|
side_menu: {
|
|
3571
|
-
add_block_label: "
|
|
3572
|
-
drag_handle_label: "
|
|
4149
|
+
add_block_label: "添加块",
|
|
4150
|
+
drag_handle_label: "打开菜单"
|
|
3573
4151
|
},
|
|
3574
4152
|
drag_handle: {
|
|
3575
|
-
delete_menuitem: "
|
|
3576
|
-
colors_menuitem: "
|
|
4153
|
+
delete_menuitem: "删除",
|
|
4154
|
+
colors_menuitem: "颜色"
|
|
3577
4155
|
},
|
|
3578
4156
|
table_handle: {
|
|
3579
|
-
delete_column_menuitem: "
|
|
3580
|
-
delete_row_menuitem: "
|
|
3581
|
-
add_left_menuitem: "
|
|
3582
|
-
add_right_menuitem: "
|
|
3583
|
-
add_above_menuitem: "
|
|
3584
|
-
add_below_menuitem: "
|
|
4157
|
+
delete_column_menuitem: "删除列",
|
|
4158
|
+
delete_row_menuitem: "删除行",
|
|
4159
|
+
add_left_menuitem: "左侧添加列",
|
|
4160
|
+
add_right_menuitem: "右侧添加列",
|
|
4161
|
+
add_above_menuitem: "上方添加行",
|
|
4162
|
+
add_below_menuitem: "下方添加行"
|
|
3585
4163
|
},
|
|
3586
4164
|
suggestion_menu: {
|
|
3587
|
-
no_items_title: "
|
|
3588
|
-
loading: "
|
|
4165
|
+
no_items_title: "无匹配项",
|
|
4166
|
+
loading: "加载中…"
|
|
3589
4167
|
},
|
|
3590
4168
|
color_picker: {
|
|
3591
|
-
text_title: "
|
|
3592
|
-
background_title: "
|
|
4169
|
+
text_title: "文本",
|
|
4170
|
+
background_title: "背景色",
|
|
3593
4171
|
colors: {
|
|
3594
|
-
default: "
|
|
3595
|
-
gray: "
|
|
3596
|
-
brown: "
|
|
3597
|
-
red: "
|
|
3598
|
-
orange: "
|
|
3599
|
-
yellow: "
|
|
3600
|
-
green: "
|
|
3601
|
-
blue: "
|
|
3602
|
-
purple: "
|
|
3603
|
-
pink: "
|
|
4172
|
+
default: "默认",
|
|
4173
|
+
gray: "灰色",
|
|
4174
|
+
brown: "棕色",
|
|
4175
|
+
red: "红色",
|
|
4176
|
+
orange: "橙色",
|
|
4177
|
+
yellow: "黄色",
|
|
4178
|
+
green: "绿色",
|
|
4179
|
+
blue: "蓝色",
|
|
4180
|
+
purple: "紫色",
|
|
4181
|
+
pink: "粉色"
|
|
3604
4182
|
}
|
|
3605
4183
|
},
|
|
3606
4184
|
formatting_toolbar: {
|
|
3607
4185
|
bold: {
|
|
3608
|
-
tooltip: "
|
|
4186
|
+
tooltip: "加粗",
|
|
3609
4187
|
secondary_tooltip: "Mod+B"
|
|
3610
4188
|
},
|
|
3611
4189
|
italic: {
|
|
3612
|
-
tooltip: "
|
|
4190
|
+
tooltip: "斜体",
|
|
3613
4191
|
secondary_tooltip: "Mod+I"
|
|
3614
4192
|
},
|
|
3615
4193
|
underline: {
|
|
3616
|
-
tooltip: "
|
|
4194
|
+
tooltip: "下划线",
|
|
3617
4195
|
secondary_tooltip: "Mod+U"
|
|
3618
4196
|
},
|
|
3619
4197
|
strike: {
|
|
3620
|
-
tooltip: "
|
|
4198
|
+
tooltip: "删除线",
|
|
3621
4199
|
secondary_tooltip: "Mod+Shift+X"
|
|
3622
4200
|
},
|
|
3623
4201
|
code: {
|
|
3624
|
-
tooltip: "
|
|
4202
|
+
tooltip: "代码标记",
|
|
3625
4203
|
secondary_tooltip: ""
|
|
3626
4204
|
},
|
|
3627
4205
|
colors: {
|
|
3628
|
-
tooltip: "
|
|
4206
|
+
tooltip: "颜色"
|
|
3629
4207
|
},
|
|
3630
4208
|
link: {
|
|
3631
|
-
tooltip: "
|
|
4209
|
+
tooltip: "添加链接",
|
|
3632
4210
|
secondary_tooltip: "Mod+K"
|
|
3633
4211
|
},
|
|
3634
4212
|
file_caption: {
|
|
3635
|
-
tooltip: "
|
|
3636
|
-
input_placeholder: "
|
|
4213
|
+
tooltip: "编辑标题",
|
|
4214
|
+
input_placeholder: "编辑标题"
|
|
3637
4215
|
},
|
|
3638
4216
|
file_replace: {
|
|
3639
4217
|
tooltip: {
|
|
3640
|
-
image: "
|
|
3641
|
-
video: "
|
|
3642
|
-
audio: "
|
|
3643
|
-
file: "
|
|
4218
|
+
image: "替换图片",
|
|
4219
|
+
video: "替换视频",
|
|
4220
|
+
audio: "替换音频",
|
|
4221
|
+
file: "替换文件"
|
|
3644
4222
|
}
|
|
3645
4223
|
},
|
|
3646
4224
|
file_rename: {
|
|
3647
4225
|
tooltip: {
|
|
3648
|
-
image: "
|
|
3649
|
-
video: "
|
|
3650
|
-
audio: "
|
|
3651
|
-
file: "
|
|
4226
|
+
image: "重命名图片",
|
|
4227
|
+
video: "重命名视频",
|
|
4228
|
+
audio: "重命名音频",
|
|
4229
|
+
file: "重命名文件"
|
|
3652
4230
|
},
|
|
3653
4231
|
input_placeholder: {
|
|
3654
|
-
image: "
|
|
3655
|
-
video: "
|
|
3656
|
-
audio: "
|
|
3657
|
-
file: "
|
|
4232
|
+
image: "重命名图片",
|
|
4233
|
+
video: "重命名视频",
|
|
4234
|
+
audio: "重命名音频",
|
|
4235
|
+
file: "重命名文件"
|
|
3658
4236
|
}
|
|
3659
4237
|
},
|
|
3660
4238
|
file_download: {
|
|
3661
4239
|
tooltip: {
|
|
3662
|
-
image: "
|
|
3663
|
-
video: "
|
|
3664
|
-
audio: "
|
|
3665
|
-
file: "
|
|
4240
|
+
image: "下载图片",
|
|
4241
|
+
video: "下载视频",
|
|
4242
|
+
audio: "下载音频",
|
|
4243
|
+
file: "下载文件"
|
|
3666
4244
|
}
|
|
3667
4245
|
},
|
|
3668
4246
|
file_delete: {
|
|
3669
4247
|
tooltip: {
|
|
3670
|
-
image: "
|
|
3671
|
-
video: "
|
|
3672
|
-
audio: "
|
|
3673
|
-
file: "
|
|
4248
|
+
image: "删除图片",
|
|
4249
|
+
video: "删除视频",
|
|
4250
|
+
audio: "删除音频",
|
|
4251
|
+
file: "删除文件"
|
|
3674
4252
|
}
|
|
3675
4253
|
},
|
|
3676
4254
|
file_preview_toggle: {
|
|
3677
|
-
tooltip: "
|
|
4255
|
+
tooltip: "切换预览"
|
|
3678
4256
|
},
|
|
3679
4257
|
nest: {
|
|
3680
|
-
tooltip: "
|
|
4258
|
+
tooltip: "嵌套",
|
|
3681
4259
|
secondary_tooltip: "Tab"
|
|
3682
4260
|
},
|
|
3683
4261
|
unnest: {
|
|
3684
|
-
tooltip: "
|
|
4262
|
+
tooltip: "取消嵌套",
|
|
3685
4263
|
secondary_tooltip: "Shift+Tab"
|
|
3686
4264
|
},
|
|
3687
4265
|
align_left: {
|
|
3688
|
-
tooltip: "
|
|
4266
|
+
tooltip: "左对齐"
|
|
3689
4267
|
},
|
|
3690
4268
|
align_center: {
|
|
3691
|
-
tooltip: "
|
|
4269
|
+
tooltip: "居中"
|
|
3692
4270
|
},
|
|
3693
4271
|
align_right: {
|
|
3694
|
-
tooltip: "
|
|
4272
|
+
tooltip: "右对齐"
|
|
3695
4273
|
},
|
|
3696
4274
|
align_justify: {
|
|
3697
|
-
tooltip: "
|
|
4275
|
+
tooltip: "文本对齐"
|
|
3698
4276
|
}
|
|
3699
4277
|
},
|
|
3700
4278
|
file_panel: {
|
|
3701
4279
|
upload: {
|
|
3702
|
-
title: "
|
|
4280
|
+
title: "上传",
|
|
3703
4281
|
file_placeholder: {
|
|
3704
|
-
image: "
|
|
3705
|
-
video: "
|
|
3706
|
-
audio: "
|
|
3707
|
-
file: "
|
|
4282
|
+
image: "上传图片",
|
|
4283
|
+
video: "上传视频",
|
|
4284
|
+
audio: "上传音频",
|
|
4285
|
+
file: "上传文件"
|
|
3708
4286
|
},
|
|
3709
|
-
upload_error: "
|
|
4287
|
+
upload_error: "Error:上传失败"
|
|
3710
4288
|
},
|
|
3711
4289
|
embed: {
|
|
3712
|
-
title: "
|
|
4290
|
+
title: "嵌入",
|
|
3713
4291
|
embed_button: {
|
|
3714
|
-
image: "
|
|
3715
|
-
video: "
|
|
3716
|
-
audio: "
|
|
3717
|
-
file: "
|
|
4292
|
+
image: "嵌入图片",
|
|
4293
|
+
video: "嵌入视频",
|
|
4294
|
+
audio: "嵌入音频",
|
|
4295
|
+
file: "嵌入文件"
|
|
3718
4296
|
},
|
|
3719
|
-
url_placeholder: "
|
|
4297
|
+
url_placeholder: "输入图片地址"
|
|
3720
4298
|
}
|
|
3721
4299
|
},
|
|
3722
4300
|
link_toolbar: {
|
|
3723
4301
|
delete: {
|
|
3724
|
-
tooltip: "
|
|
4302
|
+
tooltip: "清除链接"
|
|
3725
4303
|
},
|
|
3726
4304
|
edit: {
|
|
3727
|
-
text: "
|
|
3728
|
-
tooltip: "
|
|
4305
|
+
text: "编辑链接",
|
|
4306
|
+
tooltip: "编辑"
|
|
3729
4307
|
},
|
|
3730
4308
|
open: {
|
|
3731
|
-
tooltip: "
|
|
4309
|
+
tooltip: "新窗口打开"
|
|
3732
4310
|
},
|
|
3733
4311
|
form: {
|
|
3734
|
-
title_placeholder: "
|
|
3735
|
-
url_placeholder: "
|
|
4312
|
+
title_placeholder: "编辑标题",
|
|
4313
|
+
url_placeholder: "编辑链接地址"
|
|
3736
4314
|
}
|
|
3737
4315
|
},
|
|
3738
4316
|
generic: {
|
|
3739
4317
|
ctrl_shortcut: "Ctrl"
|
|
3740
4318
|
}
|
|
3741
|
-
},
|
|
4319
|
+
}, zr = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
3742
4320
|
__proto__: null,
|
|
3743
|
-
ar:
|
|
4321
|
+
ar: ko,
|
|
4322
|
+
de: yo,
|
|
3744
4323
|
en: et,
|
|
3745
|
-
|
|
3746
|
-
|
|
3747
|
-
|
|
3748
|
-
|
|
3749
|
-
|
|
3750
|
-
|
|
3751
|
-
|
|
4324
|
+
es: vo,
|
|
4325
|
+
fr: wo,
|
|
4326
|
+
is: xo,
|
|
4327
|
+
ja: Eo,
|
|
4328
|
+
ko: Co,
|
|
4329
|
+
nl: So,
|
|
4330
|
+
pl: Mo,
|
|
4331
|
+
pt: To,
|
|
3752
4332
|
ru: Bo,
|
|
3753
|
-
vi:
|
|
3754
|
-
zh:
|
|
4333
|
+
vi: Lo,
|
|
4334
|
+
zh: Io
|
|
3755
4335
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
3756
|
-
function
|
|
4336
|
+
function Ao(e, t = JSON.stringify) {
|
|
3757
4337
|
const o = {};
|
|
3758
4338
|
return e.filter((i) => {
|
|
3759
4339
|
const n = t(i);
|
|
3760
4340
|
return Object.prototype.hasOwnProperty.call(o, n) ? !1 : o[n] = !0;
|
|
3761
4341
|
});
|
|
3762
4342
|
}
|
|
3763
|
-
function
|
|
4343
|
+
function No(e) {
|
|
3764
4344
|
const t = e.filter(
|
|
3765
4345
|
(i, n) => e.indexOf(i) !== n
|
|
3766
4346
|
);
|
|
3767
|
-
return
|
|
4347
|
+
return Ao(t);
|
|
3768
4348
|
}
|
|
3769
4349
|
const oe = M.create({
|
|
3770
4350
|
name: "uniqueID",
|
|
@@ -3852,7 +4432,7 @@ const oe = M.create({
|
|
|
3852
4432
|
n.doc,
|
|
3853
4433
|
m,
|
|
3854
4434
|
(T) => l.includes(T.type.name)
|
|
3855
|
-
), b = g.map(({ node: T }) => T.attrs[d]).filter((T) => T !== null), A =
|
|
4435
|
+
), b = g.map(({ node: T }) => T.attrs[d]).filter((T) => T !== null), A = No(b);
|
|
3856
4436
|
g.forEach(({ node: T, pos: N }) => {
|
|
3857
4437
|
let Z;
|
|
3858
4438
|
const Pe = (Z = s.doc.nodeAt(N)) === null || Z === void 0 ? void 0 : Z.attrs[d];
|
|
@@ -3937,7 +4517,7 @@ const oe = M.create({
|
|
|
3937
4517
|
s.push(d);
|
|
3938
4518
|
}), L.from(s);
|
|
3939
4519
|
};
|
|
3940
|
-
return t = !1, new
|
|
4520
|
+
return t = !1, new D(
|
|
3941
4521
|
r(o.content),
|
|
3942
4522
|
o.openStart,
|
|
3943
4523
|
o.openEnd
|
|
@@ -3958,7 +4538,7 @@ function tt(e) {
|
|
|
3958
4538
|
numChildBlocks: n
|
|
3959
4539
|
};
|
|
3960
4540
|
}
|
|
3961
|
-
function
|
|
4541
|
+
function _(e, t) {
|
|
3962
4542
|
const i = e.nodeSize - 2;
|
|
3963
4543
|
if (t <= 1)
|
|
3964
4544
|
for (t = 2; e.resolve(t).parent.type.name !== "blockContainer" && t < i; )
|
|
@@ -3990,7 +4570,7 @@ function k(e, t) {
|
|
|
3990
4570
|
depth: s
|
|
3991
4571
|
};
|
|
3992
4572
|
}
|
|
3993
|
-
function
|
|
4573
|
+
function ze(e) {
|
|
3994
4574
|
return e.type === "link";
|
|
3995
4575
|
}
|
|
3996
4576
|
function ot(e) {
|
|
@@ -4004,7 +4584,7 @@ class I extends Error {
|
|
|
4004
4584
|
super(`Unreachable case: ${t}`);
|
|
4005
4585
|
}
|
|
4006
4586
|
}
|
|
4007
|
-
function
|
|
4587
|
+
function Rr(e, t = !0) {
|
|
4008
4588
|
const { "data-test": o, ...i } = e;
|
|
4009
4589
|
if (Object.keys(i).length > 0 && t)
|
|
4010
4590
|
throw new Error("Object must be empty " + JSON.stringify(e));
|
|
@@ -4025,11 +4605,11 @@ function Re(e, t, o) {
|
|
|
4025
4605
|
return e.text.split(/(\n)/g).filter((n) => n.length > 0).map((n) => n === `
|
|
4026
4606
|
` ? t.nodes.hardBreak.create() : t.text(n, i));
|
|
4027
4607
|
}
|
|
4028
|
-
function
|
|
4608
|
+
function Po(e, t, o) {
|
|
4029
4609
|
const i = t.marks.link.create({
|
|
4030
4610
|
href: e.href
|
|
4031
4611
|
});
|
|
4032
|
-
return
|
|
4612
|
+
return we(e.content, t, o).map(
|
|
4033
4613
|
(n) => {
|
|
4034
4614
|
if (n.type.name === "text")
|
|
4035
4615
|
return n.mark([...n.marks, i]);
|
|
@@ -4039,7 +4619,7 @@ function Ao(e, t, o) {
|
|
|
4039
4619
|
}
|
|
4040
4620
|
);
|
|
4041
4621
|
}
|
|
4042
|
-
function
|
|
4622
|
+
function we(e, t, o) {
|
|
4043
4623
|
const i = [];
|
|
4044
4624
|
if (typeof e == "string")
|
|
4045
4625
|
return i.push(
|
|
@@ -4056,7 +4636,7 @@ function ve(e, t, o) {
|
|
|
4056
4636
|
function W(e, t, o) {
|
|
4057
4637
|
const i = [];
|
|
4058
4638
|
for (const n of e)
|
|
4059
|
-
typeof n == "string" ? i.push(...
|
|
4639
|
+
typeof n == "string" ? i.push(...we(n, t, o)) : ot(n) ? i.push(...Po(n, t, o)) : te(n) ? i.push(...we([n], t, o)) : i.push(
|
|
4060
4640
|
nt(n, t, o)
|
|
4061
4641
|
);
|
|
4062
4642
|
return i;
|
|
@@ -4122,7 +4702,7 @@ function P(e, t, o) {
|
|
|
4122
4702
|
r.length > 0 ? [n, a] : n
|
|
4123
4703
|
);
|
|
4124
4704
|
}
|
|
4125
|
-
function
|
|
4705
|
+
function Ho(e, t, o) {
|
|
4126
4706
|
const i = {
|
|
4127
4707
|
type: "tableContent",
|
|
4128
4708
|
rows: []
|
|
@@ -4151,7 +4731,7 @@ function Se(e, t, o) {
|
|
|
4151
4731
|
if (te(n))
|
|
4152
4732
|
n.text += `
|
|
4153
4733
|
`;
|
|
4154
|
-
else if (
|
|
4734
|
+
else if (ze(n))
|
|
4155
4735
|
n.content[n.content.length - 1].text += `
|
|
4156
4736
|
`;
|
|
4157
4737
|
else
|
|
@@ -4201,7 +4781,7 @@ function Se(e, t, o) {
|
|
|
4201
4781
|
type: "text",
|
|
4202
4782
|
text: r.textContent,
|
|
4203
4783
|
styles: a
|
|
4204
|
-
}) :
|
|
4784
|
+
}) : ze(n) && (s ? n.href === s.attrs.href ? JSON.stringify(
|
|
4205
4785
|
n.content[n.content.length - 1].styles
|
|
4206
4786
|
) === JSON.stringify(a) ? n.content[n.content.length - 1].text += r.textContent : n.content.push({
|
|
4207
4787
|
type: "text",
|
|
@@ -4259,7 +4839,7 @@ function rt(e, t, o) {
|
|
|
4259
4839
|
content: r
|
|
4260
4840
|
};
|
|
4261
4841
|
}
|
|
4262
|
-
function
|
|
4842
|
+
function w(e, t, o, i, n) {
|
|
4263
4843
|
if (e.type.name !== "blockContainer")
|
|
4264
4844
|
throw Error(
|
|
4265
4845
|
"Node must be of type blockContainer, but is of type" + e.type.name + "."
|
|
@@ -4286,7 +4866,7 @@ function v(e, t, o, i, n) {
|
|
|
4286
4866
|
const d = t[a.contentType.name], u = [];
|
|
4287
4867
|
for (let f = 0; f < a.numChildBlocks; f++)
|
|
4288
4868
|
u.push(
|
|
4289
|
-
|
|
4869
|
+
w(
|
|
4290
4870
|
e.lastChild.child(f),
|
|
4291
4871
|
t,
|
|
4292
4872
|
o,
|
|
@@ -4302,7 +4882,7 @@ function v(e, t, o, i, n) {
|
|
|
4302
4882
|
i
|
|
4303
4883
|
);
|
|
4304
4884
|
else if (d.content === "table")
|
|
4305
|
-
p =
|
|
4885
|
+
p = Ho(
|
|
4306
4886
|
a.contentNode,
|
|
4307
4887
|
o,
|
|
4308
4888
|
i
|
|
@@ -4320,14 +4900,14 @@ function v(e, t, o, i, n) {
|
|
|
4320
4900
|
};
|
|
4321
4901
|
return n == null || n.set(e, h), h;
|
|
4322
4902
|
}
|
|
4323
|
-
function
|
|
4903
|
+
function Uo(e) {
|
|
4324
4904
|
return e.document || window.document;
|
|
4325
4905
|
}
|
|
4326
4906
|
const at = (e, t, o, i, n) => {
|
|
4327
4907
|
if (!o.nodes[e.type.name])
|
|
4328
4908
|
throw new Error("Serializer is missing a node type: " + e.type.name);
|
|
4329
4909
|
const { dom: r, contentDOM: a } = xe.renderSpec(
|
|
4330
|
-
|
|
4910
|
+
Uo(t),
|
|
4331
4911
|
o.nodes[e.type.name](e)
|
|
4332
4912
|
);
|
|
4333
4913
|
if (a) {
|
|
@@ -4337,7 +4917,7 @@ const at = (e, t, o, i, n) => {
|
|
|
4337
4917
|
const s = e.childCount > 0 && e.firstChild.type.spec.group === "blockContent" ? e.firstChild : void 0, l = e.childCount > 0 && e.lastChild.type.spec.group === "blockGroup" ? e.lastChild : void 0;
|
|
4338
4918
|
if (s !== void 0) {
|
|
4339
4919
|
const d = i.blockImplementations[s.type.name].implementation, p = (n ? d.toExternalHTML : d.toInternalHTML)(
|
|
4340
|
-
|
|
4920
|
+
w(
|
|
4341
4921
|
e,
|
|
4342
4922
|
i.schema.blockSchema,
|
|
4343
4923
|
i.schema.inlineContentSchema,
|
|
@@ -4370,7 +4950,7 @@ const at = (e, t, o, i, n) => {
|
|
|
4370
4950
|
const i = t.serializeFragment(e, o), n = document.createElement("div");
|
|
4371
4951
|
return n.appendChild(i), n.innerHTML;
|
|
4372
4952
|
};
|
|
4373
|
-
function
|
|
4953
|
+
function Do(e) {
|
|
4374
4954
|
const t = /* @__PURE__ */ new Set([
|
|
4375
4955
|
...e.orderedListItemBlockTypes,
|
|
4376
4956
|
...e.unorderedListItemBlockTypes
|
|
@@ -4408,10 +4988,10 @@ function Ho(e) {
|
|
|
4408
4988
|
s -= m, n -= m, r = void 0;
|
|
4409
4989
|
}
|
|
4410
4990
|
if (h) {
|
|
4411
|
-
r || (r =
|
|
4991
|
+
r || (r = ve(
|
|
4412
4992
|
document.createElement(f)
|
|
4413
4993
|
));
|
|
4414
|
-
const m =
|
|
4994
|
+
const m = ve(
|
|
4415
4995
|
document.createElement("li")
|
|
4416
4996
|
);
|
|
4417
4997
|
m.children.push(...u.children), p && m.children.push(...p.children), r.children.push(m);
|
|
@@ -4432,7 +5012,7 @@ function Ho(e) {
|
|
|
4432
5012
|
}
|
|
4433
5013
|
const se = (e, t) => {
|
|
4434
5014
|
const o = xe.fromSchema(e);
|
|
4435
|
-
return o.serializeNodeInner = (i, n) => at(i, n, o, t, !0), o.exportProseMirrorFragment = (i, n) => Ee().use(Je, { fragment: !0 }).use(
|
|
5015
|
+
return o.serializeNodeInner = (i, n) => at(i, n, o, t, !0), o.exportProseMirrorFragment = (i, n) => Ee().use(Je, { fragment: !0 }).use(Do, {
|
|
4436
5016
|
orderedListItemBlockTypes: /* @__PURE__ */ new Set(["numberedListItem"]),
|
|
4437
5017
|
unorderedListItemBlockTypes: /* @__PURE__ */ new Set([
|
|
4438
5018
|
"bulletListItem",
|
|
@@ -4458,24 +5038,30 @@ const se = (e, t) => {
|
|
|
4458
5038
|
n
|
|
4459
5039
|
);
|
|
4460
5040
|
}, o;
|
|
4461
|
-
},
|
|
5041
|
+
}, C = (e) => {
|
|
5042
|
+
const { contentType: t } = _(
|
|
5043
|
+
e.state.doc,
|
|
5044
|
+
e.state.selection.from
|
|
5045
|
+
);
|
|
5046
|
+
return t.spec.content;
|
|
5047
|
+
}, jo = () => typeof navigator < "u" && (/Mac/.test(navigator.platform) || /AppleWebKit/.test(navigator.userAgent) && /Mobile\/\w+/.test(navigator.userAgent));
|
|
4462
5048
|
function H(e, t = "Ctrl") {
|
|
4463
|
-
return
|
|
5049
|
+
return jo() ? e.replace("Mod", "⌘") : e.replace("Mod", t);
|
|
4464
5050
|
}
|
|
4465
|
-
function
|
|
5051
|
+
function j(...e) {
|
|
4466
5052
|
return e.filter((t) => t).join(" ");
|
|
4467
5053
|
}
|
|
4468
5054
|
const Vr = () => /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
|
|
4469
|
-
function
|
|
5055
|
+
function z(e, t, o, i) {
|
|
4470
5056
|
const n = document.createElement("div");
|
|
4471
|
-
n.className =
|
|
5057
|
+
n.className = j(
|
|
4472
5058
|
"bn-block-content",
|
|
4473
5059
|
o.class
|
|
4474
5060
|
), n.setAttribute("data-content-type", e);
|
|
4475
5061
|
for (const [a, s] of Object.entries(o))
|
|
4476
5062
|
a !== "class" && n.setAttribute(a, s);
|
|
4477
5063
|
const r = document.createElement(t);
|
|
4478
|
-
r.className =
|
|
5064
|
+
r.className = j(
|
|
4479
5065
|
"bn-inline-content",
|
|
4480
5066
|
i.class
|
|
4481
5067
|
);
|
|
@@ -4488,7 +5074,7 @@ function V(e, t, o, i) {
|
|
|
4488
5074
|
contentDOM: r
|
|
4489
5075
|
};
|
|
4490
5076
|
}
|
|
4491
|
-
const
|
|
5077
|
+
const Ve = (e, t) => {
|
|
4492
5078
|
const o = P(e, t.pmSchema, t.schema.styleSchema).firstChild, i = t.pmSchema.nodes[o.type.name].spec.toDOM;
|
|
4493
5079
|
if (i === void 0)
|
|
4494
5080
|
throw new Error(
|
|
@@ -4500,7 +5086,7 @@ const Oe = (e, t) => {
|
|
|
4500
5086
|
"Cannot use this block's default HTML serialization as its corresponding TipTap node's `renderHTML` function does not return an object with the `dom` property."
|
|
4501
5087
|
);
|
|
4502
5088
|
return n;
|
|
4503
|
-
},
|
|
5089
|
+
}, k = {
|
|
4504
5090
|
backgroundColor: {
|
|
4505
5091
|
default: "default"
|
|
4506
5092
|
},
|
|
@@ -4515,7 +5101,7 @@ const Oe = (e, t) => {
|
|
|
4515
5101
|
function ae(e) {
|
|
4516
5102
|
return "data-" + e.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase();
|
|
4517
5103
|
}
|
|
4518
|
-
function
|
|
5104
|
+
function Or(e) {
|
|
4519
5105
|
const t = e.split("/");
|
|
4520
5106
|
return !t.length || // invalid?
|
|
4521
5107
|
t[t.length - 1] === "" ? e : t[t.length - 1];
|
|
@@ -4547,7 +5133,7 @@ function dt(e) {
|
|
|
4547
5133
|
};
|
|
4548
5134
|
}), t;
|
|
4549
5135
|
}
|
|
4550
|
-
function
|
|
5136
|
+
function zo(e, t, o, i) {
|
|
4551
5137
|
if (typeof e == "boolean")
|
|
4552
5138
|
throw new Error(
|
|
4553
5139
|
"Cannot find node position as getPos is a boolean, not a function."
|
|
@@ -4565,13 +5151,13 @@ function fe(e, t, o, i, n = !1, r) {
|
|
|
4565
5151
|
if (r !== void 0)
|
|
4566
5152
|
for (const [s, l] of Object.entries(r))
|
|
4567
5153
|
s !== "class" && a.setAttribute(s, l);
|
|
4568
|
-
a.className =
|
|
5154
|
+
a.className = j(
|
|
4569
5155
|
"bn-block-content",
|
|
4570
5156
|
(r == null ? void 0 : r.class) || ""
|
|
4571
5157
|
), a.setAttribute("data-content-type", t);
|
|
4572
5158
|
for (const [s, l] of Object.entries(o))
|
|
4573
5159
|
!lt.includes(s) && l !== i[s].default && a.setAttribute(ae(s), l);
|
|
4574
|
-
return n && a.setAttribute("data-file-block", ""), a.appendChild(e.dom), e.contentDOM !== void 0 && (e.contentDOM.className =
|
|
5160
|
+
return n && a.setAttribute("data-file-block", ""), a.appendChild(e.dom), e.contentDOM !== void 0 && (e.contentDOM.className = j(
|
|
4575
5161
|
"bn-inline-content",
|
|
4576
5162
|
e.contentDOM.className
|
|
4577
5163
|
), e.contentDOM.setAttribute("data-editable", "")), {
|
|
@@ -4579,7 +5165,7 @@ function fe(e, t, o, i, n = !1, r) {
|
|
|
4579
5165
|
dom: a
|
|
4580
5166
|
};
|
|
4581
5167
|
}
|
|
4582
|
-
function
|
|
5168
|
+
function V(e) {
|
|
4583
5169
|
return $.create(e);
|
|
4584
5170
|
}
|
|
4585
5171
|
function ct(e, t) {
|
|
@@ -4598,8 +5184,8 @@ function q(e, t, o) {
|
|
|
4598
5184
|
{
|
|
4599
5185
|
node: e,
|
|
4600
5186
|
requiredExtensions: o,
|
|
4601
|
-
toInternalHTML:
|
|
4602
|
-
toExternalHTML:
|
|
5187
|
+
toInternalHTML: Ve,
|
|
5188
|
+
toExternalHTML: Ve
|
|
4603
5189
|
// parse: () => undefined, // parse rules are in node already
|
|
4604
5190
|
}
|
|
4605
5191
|
);
|
|
@@ -4609,7 +5195,7 @@ function ut(e) {
|
|
|
4609
5195
|
Object.entries(e).map(([t, o]) => [t, o.config])
|
|
4610
5196
|
);
|
|
4611
5197
|
}
|
|
4612
|
-
function
|
|
5198
|
+
function Ro(e, t) {
|
|
4613
5199
|
const o = [
|
|
4614
5200
|
{
|
|
4615
5201
|
tag: "[data-content-type=" + e.type + "]",
|
|
@@ -4627,7 +5213,7 @@ function Do(e, t) {
|
|
|
4627
5213
|
}), o;
|
|
4628
5214
|
}
|
|
4629
5215
|
function le(e, t) {
|
|
4630
|
-
const o =
|
|
5216
|
+
const o = V({
|
|
4631
5217
|
name: e.type,
|
|
4632
5218
|
content: e.content === "inline" ? "inline*" : "",
|
|
4633
5219
|
group: "blockContent",
|
|
@@ -4636,7 +5222,7 @@ function le(e, t) {
|
|
|
4636
5222
|
return dt(e.propSchema);
|
|
4637
5223
|
},
|
|
4638
5224
|
parseHTML() {
|
|
4639
|
-
return
|
|
5225
|
+
return Ro(e, t.parse);
|
|
4640
5226
|
},
|
|
4641
5227
|
renderHTML() {
|
|
4642
5228
|
const i = document.createElement("div");
|
|
@@ -4647,7 +5233,7 @@ function le(e, t) {
|
|
|
4647
5233
|
addNodeView() {
|
|
4648
5234
|
return ({ getPos: i }) => {
|
|
4649
5235
|
var l;
|
|
4650
|
-
const n = this.options.editor, r =
|
|
5236
|
+
const n = this.options.editor, r = zo(
|
|
4651
5237
|
i,
|
|
4652
5238
|
n,
|
|
4653
5239
|
this.editor,
|
|
@@ -4702,7 +5288,7 @@ function le(e, t) {
|
|
|
4702
5288
|
function Vo(e, t, o, i) {
|
|
4703
5289
|
return e.dom.setAttribute("data-inline-content-type", t), Object.entries(o).filter(([n, r]) => r !== i[n].default).map(([n, r]) => [ae(n), r]).forEach(([n, r]) => e.dom.setAttribute(n, r)), e.contentDOM !== void 0 && e.contentDOM.setAttribute("data-editable", ""), e;
|
|
4704
5290
|
}
|
|
4705
|
-
function
|
|
5291
|
+
function Oo(e) {
|
|
4706
5292
|
return {
|
|
4707
5293
|
Backspace: ({ editor: t }) => {
|
|
4708
5294
|
const o = t.state.selection.$from;
|
|
@@ -4710,14 +5296,14 @@ function Ro(e) {
|
|
|
4710
5296
|
}
|
|
4711
5297
|
};
|
|
4712
5298
|
}
|
|
4713
|
-
function
|
|
5299
|
+
function Fo(e, t) {
|
|
4714
5300
|
return {
|
|
4715
5301
|
config: e,
|
|
4716
5302
|
implementation: t
|
|
4717
5303
|
};
|
|
4718
5304
|
}
|
|
4719
|
-
function
|
|
4720
|
-
return
|
|
5305
|
+
function Go(e, t) {
|
|
5306
|
+
return Fo(
|
|
4721
5307
|
{
|
|
4722
5308
|
type: e.name,
|
|
4723
5309
|
propSchema: t,
|
|
@@ -4733,7 +5319,7 @@ function pt(e) {
|
|
|
4733
5319
|
Object.entries(e).map(([t, o]) => [t, o.config])
|
|
4734
5320
|
);
|
|
4735
5321
|
}
|
|
4736
|
-
function
|
|
5322
|
+
function Ko(e) {
|
|
4737
5323
|
return [
|
|
4738
5324
|
{
|
|
4739
5325
|
tag: `[data-inline-content-type="${e.type}"]`,
|
|
@@ -4744,7 +5330,7 @@ function Fo(e) {
|
|
|
4744
5330
|
}
|
|
4745
5331
|
];
|
|
4746
5332
|
}
|
|
4747
|
-
function
|
|
5333
|
+
function Fr(e, t) {
|
|
4748
5334
|
const o = $.create({
|
|
4749
5335
|
name: e.type,
|
|
4750
5336
|
inline: !0,
|
|
@@ -4756,10 +5342,10 @@ function Or(e, t) {
|
|
|
4756
5342
|
return dt(e.propSchema);
|
|
4757
5343
|
},
|
|
4758
5344
|
addKeyboardShortcuts() {
|
|
4759
|
-
return
|
|
5345
|
+
return Oo(e);
|
|
4760
5346
|
},
|
|
4761
5347
|
parseHTML() {
|
|
4762
|
-
return
|
|
5348
|
+
return Ko(e);
|
|
4763
5349
|
},
|
|
4764
5350
|
renderHTML({ node: i }) {
|
|
4765
5351
|
const n = this.options.editor, r = t.render(
|
|
@@ -4778,12 +5364,12 @@ function Or(e, t) {
|
|
|
4778
5364
|
);
|
|
4779
5365
|
}
|
|
4780
5366
|
});
|
|
4781
|
-
return
|
|
5367
|
+
return Go(
|
|
4782
5368
|
o,
|
|
4783
5369
|
e.propSchema
|
|
4784
5370
|
);
|
|
4785
5371
|
}
|
|
4786
|
-
function
|
|
5372
|
+
function Wo(e) {
|
|
4787
5373
|
return e === "boolean" ? {} : {
|
|
4788
5374
|
stringValue: {
|
|
4789
5375
|
default: void 0,
|
|
@@ -4795,7 +5381,7 @@ function Go(e) {
|
|
|
4795
5381
|
}
|
|
4796
5382
|
};
|
|
4797
5383
|
}
|
|
4798
|
-
function
|
|
5384
|
+
function $o(e, t, o, i) {
|
|
4799
5385
|
return e.dom.setAttribute("data-style-type", t), i === "string" && e.dom.setAttribute("data-value", o), e.contentDOM !== void 0 && e.contentDOM.setAttribute("data-editable", ""), e;
|
|
4800
5386
|
}
|
|
4801
5387
|
function ht(e, t) {
|
|
@@ -4820,7 +5406,7 @@ function mt(e) {
|
|
|
4820
5406
|
Object.entries(e).map(([t, o]) => [t, o.config])
|
|
4821
5407
|
);
|
|
4822
5408
|
}
|
|
4823
|
-
function
|
|
5409
|
+
function qo(e) {
|
|
4824
5410
|
return [
|
|
4825
5411
|
{
|
|
4826
5412
|
tag: `[data-style-type="${e.type}"]`,
|
|
@@ -4831,14 +5417,14 @@ function Wo(e) {
|
|
|
4831
5417
|
}
|
|
4832
5418
|
];
|
|
4833
5419
|
}
|
|
4834
|
-
function
|
|
5420
|
+
function Gr(e, t) {
|
|
4835
5421
|
const o = Ce.create({
|
|
4836
5422
|
name: e.type,
|
|
4837
5423
|
addAttributes() {
|
|
4838
|
-
return
|
|
5424
|
+
return Wo(e.propSchema);
|
|
4839
5425
|
},
|
|
4840
5426
|
parseHTML() {
|
|
4841
|
-
return
|
|
5427
|
+
return qo(e);
|
|
4842
5428
|
},
|
|
4843
5429
|
renderHTML({ mark: i }) {
|
|
4844
5430
|
let n;
|
|
@@ -4848,7 +5434,7 @@ function zr(e, t) {
|
|
|
4848
5434
|
n = t.render(i.attrs.stringValue);
|
|
4849
5435
|
else
|
|
4850
5436
|
throw new I(e.propSchema);
|
|
4851
|
-
return
|
|
5437
|
+
return $o(
|
|
4852
5438
|
n,
|
|
4853
5439
|
e.type,
|
|
4854
5440
|
i.attrs.stringValue,
|
|
@@ -4910,7 +5496,7 @@ const de = (e) => {
|
|
|
4910
5496
|
);
|
|
4911
5497
|
}
|
|
4912
5498
|
};
|
|
4913
|
-
},
|
|
5499
|
+
}, Oe = (e) => ({ url: e.src || void 0 }), ue = (e, t) => {
|
|
4914
5500
|
const o = e.querySelector(
|
|
4915
5501
|
t
|
|
4916
5502
|
);
|
|
@@ -4986,8 +5572,8 @@ const de = (e) => {
|
|
|
4986
5572
|
);
|
|
4987
5573
|
}
|
|
4988
5574
|
};
|
|
4989
|
-
}, Fe = (e) => ({ url: e.src || void 0 }),
|
|
4990
|
-
backgroundColor:
|
|
5575
|
+
}, Fe = (e) => ({ url: e.src || void 0 }), Xo = {
|
|
5576
|
+
backgroundColor: k.backgroundColor,
|
|
4991
5577
|
// File name.
|
|
4992
5578
|
name: {
|
|
4993
5579
|
default: ""
|
|
@@ -5003,13 +5589,13 @@ const de = (e) => {
|
|
|
5003
5589
|
showPreview: {
|
|
5004
5590
|
default: !0
|
|
5005
5591
|
}
|
|
5006
|
-
},
|
|
5592
|
+
}, Zo = {
|
|
5007
5593
|
type: "audio",
|
|
5008
|
-
propSchema:
|
|
5594
|
+
propSchema: Xo,
|
|
5009
5595
|
content: "none",
|
|
5010
5596
|
isFileBlock: !0,
|
|
5011
5597
|
fileBlockAcceptMimeTypes: ["audio/*"]
|
|
5012
|
-
},
|
|
5598
|
+
}, Jo = (e, t) => {
|
|
5013
5599
|
const o = document.createElement("div");
|
|
5014
5600
|
if (o.className = "bn-file-block-content-wrapper", e.props.url === "") {
|
|
5015
5601
|
const i = document.createElement("div");
|
|
@@ -5042,7 +5628,7 @@ const de = (e) => {
|
|
|
5042
5628
|
dom: R(e, i).dom
|
|
5043
5629
|
};
|
|
5044
5630
|
}
|
|
5045
|
-
},
|
|
5631
|
+
}, Yo = (e) => {
|
|
5046
5632
|
if (e.tagName === "AUDIO")
|
|
5047
5633
|
return Fe(e);
|
|
5048
5634
|
if (e.tagName === "FIGURE") {
|
|
@@ -5055,7 +5641,7 @@ const de = (e) => {
|
|
|
5055
5641
|
caption: i
|
|
5056
5642
|
};
|
|
5057
5643
|
}
|
|
5058
|
-
},
|
|
5644
|
+
}, Qo = (e) => {
|
|
5059
5645
|
if (!e.props.url) {
|
|
5060
5646
|
const o = document.createElement("p");
|
|
5061
5647
|
return o.textContent = "Add audio", {
|
|
@@ -5066,12 +5652,12 @@ const de = (e) => {
|
|
|
5066
5652
|
return e.props.showPreview ? (t = document.createElement("audio"), t.src = e.props.url) : (t = document.createElement("a"), t.href = e.props.url, t.textContent = e.props.name || e.props.url), e.props.caption ? e.props.showPreview ? Te(t, e.props.caption) : pe(t, e.props.caption) : {
|
|
5067
5653
|
dom: t
|
|
5068
5654
|
};
|
|
5069
|
-
},
|
|
5070
|
-
render:
|
|
5071
|
-
parse:
|
|
5072
|
-
toExternalHTML:
|
|
5073
|
-
}),
|
|
5074
|
-
backgroundColor:
|
|
5655
|
+
}, ei = le(Zo, {
|
|
5656
|
+
render: Jo,
|
|
5657
|
+
parse: Yo,
|
|
5658
|
+
toExternalHTML: Qo
|
|
5659
|
+
}), ti = {
|
|
5660
|
+
backgroundColor: k.backgroundColor,
|
|
5075
5661
|
// File name.
|
|
5076
5662
|
name: {
|
|
5077
5663
|
default: ""
|
|
@@ -5084,12 +5670,12 @@ const de = (e) => {
|
|
|
5084
5670
|
caption: {
|
|
5085
5671
|
default: ""
|
|
5086
5672
|
}
|
|
5087
|
-
},
|
|
5673
|
+
}, oi = {
|
|
5088
5674
|
type: "file",
|
|
5089
|
-
propSchema:
|
|
5675
|
+
propSchema: ti,
|
|
5090
5676
|
content: "none",
|
|
5091
5677
|
isFileBlock: !0
|
|
5092
|
-
},
|
|
5678
|
+
}, ii = (e, t) => {
|
|
5093
5679
|
const o = document.createElement("div");
|
|
5094
5680
|
if (o.className = "bn-file-block-content-wrapper", e.props.url === "") {
|
|
5095
5681
|
const i = ce(e, t);
|
|
@@ -5103,20 +5689,20 @@ const de = (e) => {
|
|
|
5103
5689
|
dom: o
|
|
5104
5690
|
};
|
|
5105
5691
|
}
|
|
5106
|
-
},
|
|
5692
|
+
}, ni = (e) => {
|
|
5107
5693
|
if (e.tagName === "EMBED")
|
|
5108
|
-
return
|
|
5694
|
+
return Oe(e);
|
|
5109
5695
|
if (e.tagName === "FIGURE") {
|
|
5110
5696
|
const t = ue(e, "embed");
|
|
5111
5697
|
if (!t)
|
|
5112
5698
|
return;
|
|
5113
5699
|
const { targetElement: o, caption: i } = t;
|
|
5114
5700
|
return {
|
|
5115
|
-
...
|
|
5701
|
+
...Oe(o),
|
|
5116
5702
|
caption: i
|
|
5117
5703
|
};
|
|
5118
5704
|
}
|
|
5119
|
-
},
|
|
5705
|
+
}, ri = (e) => {
|
|
5120
5706
|
if (!e.props.url) {
|
|
5121
5707
|
const o = document.createElement("p");
|
|
5122
5708
|
return o.textContent = "Add file", {
|
|
@@ -5127,16 +5713,16 @@ const de = (e) => {
|
|
|
5127
5713
|
return t.href = e.props.url, t.textContent = e.props.name || e.props.url, e.props.caption ? pe(t, e.props.caption) : {
|
|
5128
5714
|
dom: t
|
|
5129
5715
|
};
|
|
5130
|
-
},
|
|
5131
|
-
render:
|
|
5132
|
-
parse:
|
|
5133
|
-
toExternalHTML:
|
|
5716
|
+
}, ai = le(oi, {
|
|
5717
|
+
render: ii,
|
|
5718
|
+
parse: ni,
|
|
5719
|
+
toExternalHTML: ri
|
|
5134
5720
|
}), Ge = (e) => {
|
|
5135
5721
|
const t = e.src || void 0, o = e.width || void 0;
|
|
5136
5722
|
return { url: t, previewWidth: o };
|
|
5137
|
-
},
|
|
5138
|
-
textAlignment:
|
|
5139
|
-
backgroundColor:
|
|
5723
|
+
}, si = {
|
|
5724
|
+
textAlignment: k.textAlignment,
|
|
5725
|
+
backgroundColor: k.backgroundColor,
|
|
5140
5726
|
// File name.
|
|
5141
5727
|
name: {
|
|
5142
5728
|
default: ""
|
|
@@ -5156,13 +5742,13 @@ const de = (e) => {
|
|
|
5156
5742
|
previewWidth: {
|
|
5157
5743
|
default: 512
|
|
5158
5744
|
}
|
|
5159
|
-
},
|
|
5745
|
+
}, li = {
|
|
5160
5746
|
type: "image",
|
|
5161
|
-
propSchema:
|
|
5747
|
+
propSchema: si,
|
|
5162
5748
|
content: "none",
|
|
5163
5749
|
isFileBlock: !0,
|
|
5164
5750
|
fileBlockAcceptMimeTypes: ["image/*"]
|
|
5165
|
-
},
|
|
5751
|
+
}, di = (e, t) => {
|
|
5166
5752
|
const o = document.createElement("div");
|
|
5167
5753
|
if (o.className = "bn-file-block-content-wrapper", e.props.url === "") {
|
|
5168
5754
|
const i = document.createElement("div");
|
|
@@ -5205,7 +5791,7 @@ const de = (e) => {
|
|
|
5205
5791
|
dom: R(e, i).dom
|
|
5206
5792
|
};
|
|
5207
5793
|
}
|
|
5208
|
-
},
|
|
5794
|
+
}, ci = (e) => {
|
|
5209
5795
|
if (e.tagName === "IMG")
|
|
5210
5796
|
return Ge(e);
|
|
5211
5797
|
if (e.tagName === "FIGURE") {
|
|
@@ -5218,7 +5804,7 @@ const de = (e) => {
|
|
|
5218
5804
|
caption: i
|
|
5219
5805
|
};
|
|
5220
5806
|
}
|
|
5221
|
-
},
|
|
5807
|
+
}, ui = (e) => {
|
|
5222
5808
|
if (!e.props.url) {
|
|
5223
5809
|
const o = document.createElement("p");
|
|
5224
5810
|
return o.textContent = "Add image", {
|
|
@@ -5229,16 +5815,16 @@ const de = (e) => {
|
|
|
5229
5815
|
return e.props.showPreview ? (t = document.createElement("img"), t.src = e.props.url, t.alt = e.props.name || e.props.caption || "BlockNote image", t.width = e.props.previewWidth) : (t = document.createElement("a"), t.href = e.props.url, t.textContent = e.props.name || e.props.url), e.props.caption ? e.props.showPreview ? Te(t, e.props.caption) : pe(t, e.props.caption) : {
|
|
5230
5816
|
dom: t
|
|
5231
5817
|
};
|
|
5232
|
-
},
|
|
5233
|
-
render:
|
|
5234
|
-
parse:
|
|
5235
|
-
toExternalHTML:
|
|
5818
|
+
}, pi = le(li, {
|
|
5819
|
+
render: di,
|
|
5820
|
+
parse: ci,
|
|
5821
|
+
toExternalHTML: ui
|
|
5236
5822
|
}), Ke = (e) => {
|
|
5237
5823
|
const t = e.src || void 0, o = e.width || void 0;
|
|
5238
5824
|
return { url: t, previewWidth: o };
|
|
5239
|
-
},
|
|
5240
|
-
textAlignment:
|
|
5241
|
-
backgroundColor:
|
|
5825
|
+
}, hi = {
|
|
5826
|
+
textAlignment: k.textAlignment,
|
|
5827
|
+
backgroundColor: k.backgroundColor,
|
|
5242
5828
|
// File name.
|
|
5243
5829
|
name: {
|
|
5244
5830
|
default: ""
|
|
@@ -5258,13 +5844,13 @@ const de = (e) => {
|
|
|
5258
5844
|
previewWidth: {
|
|
5259
5845
|
default: 512
|
|
5260
5846
|
}
|
|
5261
|
-
},
|
|
5847
|
+
}, mi = {
|
|
5262
5848
|
type: "video",
|
|
5263
|
-
propSchema:
|
|
5849
|
+
propSchema: hi,
|
|
5264
5850
|
content: "none",
|
|
5265
5851
|
isFileBlock: !0,
|
|
5266
5852
|
fileBlockAcceptMimeTypes: ["video/*"]
|
|
5267
|
-
},
|
|
5853
|
+
}, fi = (e, t) => {
|
|
5268
5854
|
const o = document.createElement("div");
|
|
5269
5855
|
if (o.className = "bn-file-block-content-wrapper", e.props.url === "") {
|
|
5270
5856
|
const i = document.createElement("div");
|
|
@@ -5305,7 +5891,7 @@ const de = (e) => {
|
|
|
5305
5891
|
dom: R(e, i).dom
|
|
5306
5892
|
};
|
|
5307
5893
|
}
|
|
5308
|
-
},
|
|
5894
|
+
}, gi = (e) => {
|
|
5309
5895
|
if (e.tagName === "VIDEO")
|
|
5310
5896
|
return Ke(e);
|
|
5311
5897
|
if (e.tagName === "FIGURE") {
|
|
@@ -5318,7 +5904,7 @@ const de = (e) => {
|
|
|
5318
5904
|
caption: i
|
|
5319
5905
|
};
|
|
5320
5906
|
}
|
|
5321
|
-
},
|
|
5907
|
+
}, bi = (e) => {
|
|
5322
5908
|
if (!e.props.url) {
|
|
5323
5909
|
const o = document.createElement("p");
|
|
5324
5910
|
return o.textContent = "Add video", {
|
|
@@ -5329,11 +5915,11 @@ const de = (e) => {
|
|
|
5329
5915
|
return e.props.showPreview ? (t = document.createElement("video"), t.src = e.props.url, t.width = e.props.previewWidth) : (t = document.createElement("a"), t.href = e.props.url, t.textContent = e.props.name || e.props.url), e.props.caption ? e.props.showPreview ? Te(t, e.props.caption) : pe(t, e.props.caption) : {
|
|
5330
5916
|
dom: t
|
|
5331
5917
|
};
|
|
5332
|
-
},
|
|
5333
|
-
render:
|
|
5334
|
-
parse:
|
|
5335
|
-
toExternalHTML:
|
|
5336
|
-
}),
|
|
5918
|
+
}, _i = le(mi, {
|
|
5919
|
+
render: fi,
|
|
5920
|
+
parse: gi,
|
|
5921
|
+
toExternalHTML: bi
|
|
5922
|
+
}), Kr = async (e) => {
|
|
5337
5923
|
const t = new FormData();
|
|
5338
5924
|
return t.append("file", e), (await (await fetch("https://tmpfiles.org/api/v1/upload", {
|
|
5339
5925
|
method: "POST",
|
|
@@ -5342,7 +5928,7 @@ const de = (e) => {
|
|
|
5342
5928
|
"tmpfiles.org/",
|
|
5343
5929
|
"tmpfiles.org/dl/"
|
|
5344
5930
|
);
|
|
5345
|
-
},
|
|
5931
|
+
}, ki = Ce.create({
|
|
5346
5932
|
name: "backgroundColor",
|
|
5347
5933
|
addAttributes() {
|
|
5348
5934
|
return {
|
|
@@ -5368,10 +5954,10 @@ const de = (e) => {
|
|
|
5368
5954
|
renderHTML({ HTMLAttributes: e }) {
|
|
5369
5955
|
return ["span", e, 0];
|
|
5370
5956
|
}
|
|
5371
|
-
}),
|
|
5372
|
-
|
|
5957
|
+
}), yi = U(
|
|
5958
|
+
ki,
|
|
5373
5959
|
"string"
|
|
5374
|
-
),
|
|
5960
|
+
), vi = Ce.create({
|
|
5375
5961
|
name: "textColor",
|
|
5376
5962
|
addAttributes() {
|
|
5377
5963
|
return {
|
|
@@ -5395,16 +5981,10 @@ const de = (e) => {
|
|
|
5395
5981
|
renderHTML({ HTMLAttributes: e }) {
|
|
5396
5982
|
return ["span", e, 0];
|
|
5397
5983
|
}
|
|
5398
|
-
}),
|
|
5399
|
-
|
|
5400
|
-
e.state.doc,
|
|
5401
|
-
e.state.selection.from
|
|
5402
|
-
);
|
|
5403
|
-
return t.spec.content;
|
|
5404
|
-
}, wi = {
|
|
5405
|
-
..._,
|
|
5984
|
+
}), wi = U(vi, "string"), xi = {
|
|
5985
|
+
...k,
|
|
5406
5986
|
level: { default: 1, values: [1, 2, 3] }
|
|
5407
|
-
},
|
|
5987
|
+
}, Ei = V({
|
|
5408
5988
|
name: "heading",
|
|
5409
5989
|
content: "inline*",
|
|
5410
5990
|
group: "blockContent",
|
|
@@ -5497,7 +6077,7 @@ const de = (e) => {
|
|
|
5497
6077
|
},
|
|
5498
6078
|
renderHTML({ node: e, HTMLAttributes: t }) {
|
|
5499
6079
|
var o, i;
|
|
5500
|
-
return
|
|
6080
|
+
return z(
|
|
5501
6081
|
this.name,
|
|
5502
6082
|
`h${e.attrs.level}`,
|
|
5503
6083
|
{
|
|
@@ -5507,11 +6087,11 @@ const de = (e) => {
|
|
|
5507
6087
|
((i = this.options.domAttributes) == null ? void 0 : i.inlineContent) || {}
|
|
5508
6088
|
);
|
|
5509
6089
|
}
|
|
5510
|
-
}),
|
|
5511
|
-
|
|
5512
|
-
|
|
6090
|
+
}), Ci = q(
|
|
6091
|
+
Ei,
|
|
6092
|
+
xi
|
|
5513
6093
|
), Be = (e) => {
|
|
5514
|
-
const { contentNode: t, contentType: o } =
|
|
6094
|
+
const { contentNode: t, contentType: o } = _(
|
|
5515
6095
|
e.state.doc,
|
|
5516
6096
|
e.state.selection.from
|
|
5517
6097
|
), i = e.state.selection.anchor === e.state.selection.head;
|
|
@@ -5529,9 +6109,9 @@ const de = (e) => {
|
|
|
5529
6109
|
a.command(() => t.childCount > 0 ? (r().deleteSelection().BNSplitBlock(n.selection.from, !0).run(), !0) : !1)
|
|
5530
6110
|
)
|
|
5531
6111
|
]);
|
|
5532
|
-
},
|
|
5533
|
-
...
|
|
5534
|
-
},
|
|
6112
|
+
}, Si = {
|
|
6113
|
+
...k
|
|
6114
|
+
}, Mi = V({
|
|
5535
6115
|
name: "bulletListItem",
|
|
5536
6116
|
content: "inline*",
|
|
5537
6117
|
group: "blockContent",
|
|
@@ -5597,7 +6177,7 @@ const de = (e) => {
|
|
|
5597
6177
|
},
|
|
5598
6178
|
renderHTML({ HTMLAttributes: e }) {
|
|
5599
6179
|
var t, o;
|
|
5600
|
-
return
|
|
6180
|
+
return z(
|
|
5601
6181
|
this.name,
|
|
5602
6182
|
// We use a <p> tag, because for <li> tags we'd need a <ul> element to put
|
|
5603
6183
|
// them in to be semantically correct, which we can't have due to the
|
|
@@ -5610,11 +6190,11 @@ const de = (e) => {
|
|
|
5610
6190
|
((o = this.options.domAttributes) == null ? void 0 : o.inlineContent) || {}
|
|
5611
6191
|
);
|
|
5612
6192
|
}
|
|
5613
|
-
}),
|
|
5614
|
-
|
|
5615
|
-
|
|
5616
|
-
),
|
|
5617
|
-
key:
|
|
6193
|
+
}), Ti = q(
|
|
6194
|
+
Mi,
|
|
6195
|
+
Si
|
|
6196
|
+
), Bi = new S("numbered-list-indexing"), Li = () => new y({
|
|
6197
|
+
key: Bi,
|
|
5618
6198
|
appendTransaction: (e, t, o) => {
|
|
5619
6199
|
const i = o.tr;
|
|
5620
6200
|
i.setMeta("numberedListIndexing", !0);
|
|
@@ -5622,11 +6202,11 @@ const de = (e) => {
|
|
|
5622
6202
|
return o.doc.descendants((r, a) => {
|
|
5623
6203
|
if (r.type.name === "blockContainer" && r.firstChild.type.name === "numberedListItem") {
|
|
5624
6204
|
let s = "1";
|
|
5625
|
-
const l = a === 1, d =
|
|
6205
|
+
const l = a === 1, d = _(i.doc, a + 1);
|
|
5626
6206
|
if (d === void 0)
|
|
5627
6207
|
return;
|
|
5628
6208
|
if (!l) {
|
|
5629
|
-
const h =
|
|
6209
|
+
const h = _(i.doc, a - 2);
|
|
5630
6210
|
if (h === void 0)
|
|
5631
6211
|
return;
|
|
5632
6212
|
if (!(d.depth !== h.depth)) {
|
|
@@ -5643,9 +6223,9 @@ const de = (e) => {
|
|
|
5643
6223
|
}
|
|
5644
6224
|
}), n ? i : null;
|
|
5645
6225
|
}
|
|
5646
|
-
}),
|
|
5647
|
-
...
|
|
5648
|
-
},
|
|
6226
|
+
}), Ii = {
|
|
6227
|
+
...k
|
|
6228
|
+
}, Ai = V({
|
|
5649
6229
|
name: "numberedListItem",
|
|
5650
6230
|
content: "inline*",
|
|
5651
6231
|
group: "blockContent",
|
|
@@ -5688,7 +6268,7 @@ const de = (e) => {
|
|
|
5688
6268
|
};
|
|
5689
6269
|
},
|
|
5690
6270
|
addProseMirrorPlugins() {
|
|
5691
|
-
return [
|
|
6271
|
+
return [Li()];
|
|
5692
6272
|
},
|
|
5693
6273
|
parseHTML() {
|
|
5694
6274
|
return [
|
|
@@ -5725,7 +6305,7 @@ const de = (e) => {
|
|
|
5725
6305
|
},
|
|
5726
6306
|
renderHTML({ HTMLAttributes: e }) {
|
|
5727
6307
|
var t, o;
|
|
5728
|
-
return
|
|
6308
|
+
return z(
|
|
5729
6309
|
this.name,
|
|
5730
6310
|
// We use a <p> tag, because for <li> tags we'd need an <ol> element to
|
|
5731
6311
|
// put them in to be semantically correct, which we can't have due to the
|
|
@@ -5738,15 +6318,15 @@ const de = (e) => {
|
|
|
5738
6318
|
((o = this.options.domAttributes) == null ? void 0 : o.inlineContent) || {}
|
|
5739
6319
|
);
|
|
5740
6320
|
}
|
|
5741
|
-
}),
|
|
5742
|
-
|
|
5743
|
-
|
|
5744
|
-
),
|
|
5745
|
-
...
|
|
6321
|
+
}), Ni = q(
|
|
6322
|
+
Ai,
|
|
6323
|
+
Ii
|
|
6324
|
+
), Pi = {
|
|
6325
|
+
...k,
|
|
5746
6326
|
checked: {
|
|
5747
6327
|
default: !1
|
|
5748
6328
|
}
|
|
5749
|
-
},
|
|
6329
|
+
}, Hi = V({
|
|
5750
6330
|
name: "checkListItem",
|
|
5751
6331
|
content: "inline*",
|
|
5752
6332
|
group: "blockContent",
|
|
@@ -5843,7 +6423,7 @@ const de = (e) => {
|
|
|
5843
6423
|
var r, a;
|
|
5844
6424
|
const o = document.createElement("input");
|
|
5845
6425
|
o.type = "checkbox", o.checked = e.attrs.checked, e.attrs.checked && o.setAttribute("checked", "");
|
|
5846
|
-
const { dom: i, contentDOM: n } =
|
|
6426
|
+
const { dom: i, contentDOM: n } = z(
|
|
5847
6427
|
this.name,
|
|
5848
6428
|
"p",
|
|
5849
6429
|
{
|
|
@@ -5876,7 +6456,7 @@ const de = (e) => {
|
|
|
5876
6456
|
});
|
|
5877
6457
|
};
|
|
5878
6458
|
a.addEventListener("change", s);
|
|
5879
|
-
const { dom: l, contentDOM: d } =
|
|
6459
|
+
const { dom: l, contentDOM: d } = z(
|
|
5880
6460
|
this.name,
|
|
5881
6461
|
"p",
|
|
5882
6462
|
{
|
|
@@ -5898,12 +6478,12 @@ const de = (e) => {
|
|
|
5898
6478
|
};
|
|
5899
6479
|
};
|
|
5900
6480
|
}
|
|
5901
|
-
}),
|
|
5902
|
-
|
|
5903
|
-
|
|
5904
|
-
),
|
|
5905
|
-
...
|
|
5906
|
-
},
|
|
6481
|
+
}), Ui = q(
|
|
6482
|
+
Hi,
|
|
6483
|
+
Pi
|
|
6484
|
+
), Di = {
|
|
6485
|
+
...k
|
|
6486
|
+
}, ji = V({
|
|
5907
6487
|
name: "paragraph",
|
|
5908
6488
|
content: "inline*",
|
|
5909
6489
|
group: "blockContent",
|
|
@@ -5934,7 +6514,7 @@ const de = (e) => {
|
|
|
5934
6514
|
},
|
|
5935
6515
|
renderHTML({ HTMLAttributes: e }) {
|
|
5936
6516
|
var t, o;
|
|
5937
|
-
return
|
|
6517
|
+
return z(
|
|
5938
6518
|
this.name,
|
|
5939
6519
|
"p",
|
|
5940
6520
|
{
|
|
@@ -5944,10 +6524,10 @@ const de = (e) => {
|
|
|
5944
6524
|
((o = this.options.domAttributes) == null ? void 0 : o.inlineContent) || {}
|
|
5945
6525
|
);
|
|
5946
6526
|
}
|
|
5947
|
-
}),
|
|
5948
|
-
|
|
5949
|
-
|
|
5950
|
-
),
|
|
6527
|
+
}), zi = q(
|
|
6528
|
+
ji,
|
|
6529
|
+
Di
|
|
6530
|
+
), Ri = M.create({
|
|
5951
6531
|
name: "BlockNoteTableExtension",
|
|
5952
6532
|
addProseMirrorPlugins: () => [
|
|
5953
6533
|
oo({
|
|
@@ -5975,13 +6555,13 @@ const de = (e) => {
|
|
|
5975
6555
|
};
|
|
5976
6556
|
return {
|
|
5977
6557
|
tableRole: Ut(
|
|
5978
|
-
|
|
6558
|
+
Dt(e, "tableRole", t)
|
|
5979
6559
|
)
|
|
5980
6560
|
};
|
|
5981
6561
|
}
|
|
5982
6562
|
}), Vi = {
|
|
5983
|
-
...
|
|
5984
|
-
},
|
|
6563
|
+
...k
|
|
6564
|
+
}, Oi = V({
|
|
5985
6565
|
name: "table",
|
|
5986
6566
|
content: "tableRow+",
|
|
5987
6567
|
group: "blockContent",
|
|
@@ -5992,7 +6572,7 @@ const de = (e) => {
|
|
|
5992
6572
|
},
|
|
5993
6573
|
renderHTML({ HTMLAttributes: e }) {
|
|
5994
6574
|
var t, o;
|
|
5995
|
-
return
|
|
6575
|
+
return z(
|
|
5996
6576
|
this.name,
|
|
5997
6577
|
"table",
|
|
5998
6578
|
{
|
|
@@ -6002,7 +6582,7 @@ const de = (e) => {
|
|
|
6002
6582
|
((o = this.options.domAttributes) == null ? void 0 : o.inlineContent) || {}
|
|
6003
6583
|
);
|
|
6004
6584
|
}
|
|
6005
|
-
}),
|
|
6585
|
+
}), Fi = $.create({
|
|
6006
6586
|
name: "tableParagraph",
|
|
6007
6587
|
group: "tableContent",
|
|
6008
6588
|
content: "inline*",
|
|
@@ -6023,16 +6603,16 @@ const de = (e) => {
|
|
|
6023
6603
|
renderHTML({ HTMLAttributes: e }) {
|
|
6024
6604
|
return [
|
|
6025
6605
|
"p",
|
|
6026
|
-
|
|
6606
|
+
jt(this.options.HTMLAttributes, e),
|
|
6027
6607
|
0
|
|
6028
6608
|
];
|
|
6029
6609
|
}
|
|
6030
|
-
}),
|
|
6031
|
-
|
|
6610
|
+
}), Gi = q(
|
|
6611
|
+
Oi,
|
|
6032
6612
|
Vi,
|
|
6033
6613
|
[
|
|
6034
|
-
|
|
6035
|
-
|
|
6614
|
+
Ri,
|
|
6615
|
+
Fi,
|
|
6036
6616
|
eo.extend({
|
|
6037
6617
|
content: "tableContent"
|
|
6038
6618
|
}),
|
|
@@ -6042,53 +6622,53 @@ const de = (e) => {
|
|
|
6042
6622
|
to
|
|
6043
6623
|
]
|
|
6044
6624
|
), gt = {
|
|
6045
|
-
paragraph:
|
|
6046
|
-
heading:
|
|
6047
|
-
bulletListItem:
|
|
6048
|
-
numberedListItem:
|
|
6049
|
-
checkListItem:
|
|
6050
|
-
table:
|
|
6051
|
-
file:
|
|
6052
|
-
image:
|
|
6053
|
-
video:
|
|
6054
|
-
audio:
|
|
6055
|
-
},
|
|
6625
|
+
paragraph: zi,
|
|
6626
|
+
heading: Ci,
|
|
6627
|
+
bulletListItem: Ti,
|
|
6628
|
+
numberedListItem: Ni,
|
|
6629
|
+
checkListItem: Ui,
|
|
6630
|
+
table: Gi,
|
|
6631
|
+
file: ai,
|
|
6632
|
+
image: pi,
|
|
6633
|
+
video: _i,
|
|
6634
|
+
audio: ei
|
|
6635
|
+
}, Ki = ut(gt), bt = {
|
|
6056
6636
|
bold: U(qt, "boolean"),
|
|
6057
6637
|
italic: U(Zt, "boolean"),
|
|
6058
6638
|
underline: U(Yt, "boolean"),
|
|
6059
6639
|
strike: U(Jt, "boolean"),
|
|
6060
6640
|
code: U(Xt, "boolean"),
|
|
6061
|
-
textColor:
|
|
6062
|
-
backgroundColor:
|
|
6063
|
-
},
|
|
6641
|
+
textColor: wi,
|
|
6642
|
+
backgroundColor: yi
|
|
6643
|
+
}, Wr = mt(bt), _t = {
|
|
6064
6644
|
text: { config: "text", implementation: {} },
|
|
6065
6645
|
link: { config: "link", implementation: {} }
|
|
6066
|
-
},
|
|
6067
|
-
|
|
6646
|
+
}, Wi = pt(
|
|
6647
|
+
_t
|
|
6068
6648
|
);
|
|
6069
6649
|
function E(e, t) {
|
|
6070
|
-
return e in t.schema.blockSchema && t.schema.blockSchema[e] ===
|
|
6650
|
+
return e in t.schema.blockSchema && t.schema.blockSchema[e] === Ki[e];
|
|
6071
6651
|
}
|
|
6072
|
-
function
|
|
6073
|
-
return e in t.schema.inlineContentSchema && t.schema.inlineContentSchema[e] ===
|
|
6652
|
+
function $i(e, t) {
|
|
6653
|
+
return e in t.schema.inlineContentSchema && t.schema.inlineContentSchema[e] === Wi[e];
|
|
6074
6654
|
}
|
|
6075
|
-
function
|
|
6655
|
+
function qi(e, t, o) {
|
|
6076
6656
|
return t.type === e && t.type in o.schema.blockSchema && E(t.type, o);
|
|
6077
6657
|
}
|
|
6078
|
-
function
|
|
6658
|
+
function $r(e, t) {
|
|
6079
6659
|
return e.type in t.schema.blockSchema && t.schema.blockSchema[e.type].isFileBlock || !1;
|
|
6080
6660
|
}
|
|
6081
|
-
function
|
|
6661
|
+
function qr(e, t) {
|
|
6082
6662
|
return e.type in t.schema.blockSchema && t.schema.blockSchema[e.type].isFileBlock && "showPreview" in t.schema.blockSchema[e.type].propSchema || !1;
|
|
6083
6663
|
}
|
|
6084
|
-
function
|
|
6664
|
+
function Xr(e, t) {
|
|
6085
6665
|
return t.schema.blockSchema[e.type].isFileBlock && !e.props.url;
|
|
6086
6666
|
}
|
|
6087
|
-
function
|
|
6088
|
-
return t in o.schema.blockSchema && e in o.schema.blockSchema[t].propSchema && o.schema.blockSchema[t].propSchema[e] ===
|
|
6667
|
+
function Xi(e, t, o) {
|
|
6668
|
+
return t in o.schema.blockSchema && e in o.schema.blockSchema[t].propSchema && o.schema.blockSchema[t].propSchema[e] === k[e];
|
|
6089
6669
|
}
|
|
6090
|
-
function
|
|
6091
|
-
return
|
|
6670
|
+
function Zr(e, t, o) {
|
|
6671
|
+
return Xi(e, t.type, o);
|
|
6092
6672
|
}
|
|
6093
6673
|
function Le(e, t) {
|
|
6094
6674
|
let o, i;
|
|
@@ -6099,7 +6679,7 @@ function Le(e, t) {
|
|
|
6099
6679
|
posBeforeNode: i
|
|
6100
6680
|
};
|
|
6101
6681
|
}
|
|
6102
|
-
function
|
|
6682
|
+
function Zi(e, t, o = "before", i) {
|
|
6103
6683
|
const n = typeof t == "string" ? t : t.id, r = [];
|
|
6104
6684
|
for (const d of e)
|
|
6105
6685
|
r.push(
|
|
@@ -6128,7 +6708,7 @@ function qi(e, t, o = "before", i) {
|
|
|
6128
6708
|
const l = [];
|
|
6129
6709
|
for (const d of r)
|
|
6130
6710
|
l.push(
|
|
6131
|
-
|
|
6711
|
+
w(
|
|
6132
6712
|
d,
|
|
6133
6713
|
i.schema.blockSchema,
|
|
6134
6714
|
i.schema.inlineContentSchema,
|
|
@@ -6138,11 +6718,11 @@ function qi(e, t, o = "before", i) {
|
|
|
6138
6718
|
);
|
|
6139
6719
|
return l;
|
|
6140
6720
|
}
|
|
6141
|
-
function
|
|
6721
|
+
function Ji(e, t, o) {
|
|
6142
6722
|
const i = o._tiptapEditor, n = typeof e == "string" ? e : e.id, { posBeforeNode: r } = Le(n, i.state.doc);
|
|
6143
6723
|
i.commands.BNUpdateBlock(r + 1, t);
|
|
6144
6724
|
const a = i.state.doc.resolve(r + 1).node();
|
|
6145
|
-
return
|
|
6725
|
+
return w(
|
|
6146
6726
|
a,
|
|
6147
6727
|
o.schema.blockSchema,
|
|
6148
6728
|
o.schema.inlineContentSchema,
|
|
@@ -6150,7 +6730,7 @@ function Xi(e, t, o) {
|
|
|
6150
6730
|
o.blockCache
|
|
6151
6731
|
);
|
|
6152
6732
|
}
|
|
6153
|
-
function
|
|
6733
|
+
function kt(e, t, o) {
|
|
6154
6734
|
const i = t._tiptapEditor, n = i.state.tr, r = new Set(
|
|
6155
6735
|
e.map(
|
|
6156
6736
|
(l) => typeof l == "string" ? l : l.id
|
|
@@ -6163,7 +6743,7 @@ function _t(e, t, o) {
|
|
|
6163
6743
|
if (l.type.name !== "blockContainer" || !r.has(l.attrs.id))
|
|
6164
6744
|
return !0;
|
|
6165
6745
|
a.push(
|
|
6166
|
-
|
|
6746
|
+
w(
|
|
6167
6747
|
l,
|
|
6168
6748
|
t.schema.blockSchema,
|
|
6169
6749
|
t.schema.inlineContentSchema,
|
|
@@ -6184,16 +6764,16 @@ function _t(e, t, o) {
|
|
|
6184
6764
|
}
|
|
6185
6765
|
return t.dispatch(n), a;
|
|
6186
6766
|
}
|
|
6187
|
-
function
|
|
6188
|
-
return
|
|
6767
|
+
function Yi(e, t) {
|
|
6768
|
+
return kt(e, t);
|
|
6189
6769
|
}
|
|
6190
|
-
function
|
|
6770
|
+
function Qi(e, t, o) {
|
|
6191
6771
|
const i = [];
|
|
6192
6772
|
for (const s of t)
|
|
6193
6773
|
i.push(
|
|
6194
6774
|
P(s, o.pmSchema, o.schema.styleSchema)
|
|
6195
6775
|
);
|
|
6196
|
-
const n = typeof e[0] == "string" ? e[0] : e[0].id, r =
|
|
6776
|
+
const n = typeof e[0] == "string" ? e[0] : e[0].id, r = kt(
|
|
6197
6777
|
e,
|
|
6198
6778
|
o,
|
|
6199
6779
|
(s, l, d, u) => {
|
|
@@ -6208,7 +6788,7 @@ function Ji(e, t, o) {
|
|
|
6208
6788
|
), a = [];
|
|
6209
6789
|
for (const s of i)
|
|
6210
6790
|
a.push(
|
|
6211
|
-
|
|
6791
|
+
w(
|
|
6212
6792
|
s,
|
|
6213
6793
|
o.schema.blockSchema,
|
|
6214
6794
|
o.schema.inlineContentSchema,
|
|
@@ -6218,7 +6798,7 @@ function Ji(e, t, o) {
|
|
|
6218
6798
|
);
|
|
6219
6799
|
return { insertedBlocks: a, removedBlocks: r };
|
|
6220
6800
|
}
|
|
6221
|
-
function
|
|
6801
|
+
function en(e, t, o, i = { updateSelection: !0 }) {
|
|
6222
6802
|
const n = o._tiptapEditor.state.tr;
|
|
6223
6803
|
let { from: r, to: a } = typeof e == "number" ? { from: e, to: e } : { from: e.from, to: e.to }, s = !0, l = !0, d = "";
|
|
6224
6804
|
if (t.forEach((u) => {
|
|
@@ -6227,9 +6807,9 @@ function Yi(e, t, o, i = { updateSelection: !0 }) {
|
|
|
6227
6807
|
const { parent: u } = n.doc.resolve(r);
|
|
6228
6808
|
u.isTextblock && !u.type.spec.code && !u.childCount && (r -= 1, a += 1);
|
|
6229
6809
|
}
|
|
6230
|
-
return s ? n.insertText(d, r, a) : n.replaceWith(r, a, t), i.updateSelection &&
|
|
6810
|
+
return s ? n.insertText(d, r, a) : n.replaceWith(r, a, t), i.updateSelection && zt(n, n.steps.length - 1, -1), o.dispatch(n), !0;
|
|
6231
6811
|
}
|
|
6232
|
-
function
|
|
6812
|
+
function tn() {
|
|
6233
6813
|
const e = (t) => {
|
|
6234
6814
|
let o = t.children.length;
|
|
6235
6815
|
for (let i = 0; i < o; i++) {
|
|
@@ -6245,7 +6825,7 @@ function Qi() {
|
|
|
6245
6825
|
};
|
|
6246
6826
|
return e;
|
|
6247
6827
|
}
|
|
6248
|
-
function
|
|
6828
|
+
function on() {
|
|
6249
6829
|
const e = (t) => {
|
|
6250
6830
|
var o;
|
|
6251
6831
|
if (t.children && "length" in t.children && t.children.length)
|
|
@@ -6254,41 +6834,41 @@ function en() {
|
|
|
6254
6834
|
n.type === "element" && n.tagName === "input" && ((o = n.properties) == null ? void 0 : o.type) === "checkbox" && (r == null ? void 0 : r.type) === "element" && r.tagName === "p" ? (r.tagName = "span", r.children.splice(
|
|
6255
6835
|
0,
|
|
6256
6836
|
0,
|
|
6257
|
-
|
|
6837
|
+
ve(document.createTextNode(" "))
|
|
6258
6838
|
)) : e(n);
|
|
6259
6839
|
}
|
|
6260
6840
|
};
|
|
6261
6841
|
return e;
|
|
6262
6842
|
}
|
|
6263
6843
|
function Ie(e) {
|
|
6264
|
-
return Ee().use(Je, { fragment: !0 }).use(
|
|
6844
|
+
return Ee().use(Je, { fragment: !0 }).use(tn).use(on).use(no).use(Qe).use(ro, { handlers: { text: (o) => o.value } }).processSync(e).value;
|
|
6265
6845
|
}
|
|
6266
|
-
function
|
|
6846
|
+
function nn(e, t, o, i) {
|
|
6267
6847
|
const r = se(t, o).exportBlocks(e, i);
|
|
6268
6848
|
return Ie(r);
|
|
6269
6849
|
}
|
|
6270
|
-
function
|
|
6850
|
+
function rn(e) {
|
|
6271
6851
|
return Array.prototype.indexOf.call(e.parentElement.childNodes, e);
|
|
6272
6852
|
}
|
|
6273
|
-
function
|
|
6853
|
+
function an(e) {
|
|
6274
6854
|
return e.nodeType === 3 && !/\S/.test(e.nodeValue || "");
|
|
6275
6855
|
}
|
|
6276
|
-
function
|
|
6856
|
+
function sn(e) {
|
|
6277
6857
|
e.querySelectorAll("li > ul, li > ol").forEach((t) => {
|
|
6278
|
-
const o =
|
|
6858
|
+
const o = rn(t), i = t.parentElement, n = Array.from(i.childNodes).slice(
|
|
6279
6859
|
o + 1
|
|
6280
6860
|
);
|
|
6281
6861
|
t.remove(), n.forEach((r) => {
|
|
6282
6862
|
r.remove();
|
|
6283
6863
|
}), i.insertAdjacentElement("afterend", t), n.reverse().forEach((r) => {
|
|
6284
|
-
if (
|
|
6864
|
+
if (an(r))
|
|
6285
6865
|
return;
|
|
6286
6866
|
const a = document.createElement("li");
|
|
6287
6867
|
a.append(r), t.insertAdjacentElement("afterend", a);
|
|
6288
6868
|
}), i.childNodes.length === 0 && i.remove();
|
|
6289
6869
|
});
|
|
6290
6870
|
}
|
|
6291
|
-
function
|
|
6871
|
+
function ln(e) {
|
|
6292
6872
|
e.querySelectorAll("li + ul, li + ol").forEach((t) => {
|
|
6293
6873
|
var r, a;
|
|
6294
6874
|
const o = t.previousElementSibling, i = document.createElement("div");
|
|
@@ -6299,27 +6879,27 @@ function an(e) {
|
|
|
6299
6879
|
});
|
|
6300
6880
|
}
|
|
6301
6881
|
let We = null;
|
|
6302
|
-
function
|
|
6882
|
+
function dn() {
|
|
6303
6883
|
return We || (We = document.implementation.createHTMLDocument("title"));
|
|
6304
6884
|
}
|
|
6305
6885
|
function yt(e) {
|
|
6306
6886
|
if (typeof e == "string") {
|
|
6307
|
-
const t =
|
|
6887
|
+
const t = dn().createElement("div");
|
|
6308
6888
|
t.innerHTML = e, e = t;
|
|
6309
6889
|
}
|
|
6310
|
-
return
|
|
6890
|
+
return sn(e), ln(e), e;
|
|
6311
6891
|
}
|
|
6312
|
-
async function
|
|
6892
|
+
async function vt(e, t, o, i, n) {
|
|
6313
6893
|
const r = yt(e), s = It.fromSchema(n).parse(r, {
|
|
6314
6894
|
topNode: n.nodes.blockGroup.create()
|
|
6315
6895
|
}), l = [];
|
|
6316
6896
|
for (let d = 0; d < s.childCount; d++)
|
|
6317
6897
|
l.push(
|
|
6318
|
-
|
|
6898
|
+
w(s.child(d), t, o, i)
|
|
6319
6899
|
);
|
|
6320
6900
|
return l;
|
|
6321
6901
|
}
|
|
6322
|
-
function
|
|
6902
|
+
function cn(e, t) {
|
|
6323
6903
|
const o = t.value ? t.value + `
|
|
6324
6904
|
` : "", i = {};
|
|
6325
6905
|
t.lang && (i["data-language"] = t.lang);
|
|
@@ -6336,14 +6916,14 @@ function ln(e, t) {
|
|
|
6336
6916
|
children: [n]
|
|
6337
6917
|
}, e.patch(t, n), n;
|
|
6338
6918
|
}
|
|
6339
|
-
function
|
|
6919
|
+
function un(e, t, o, i, n) {
|
|
6340
6920
|
const r = Ee().use(ao).use(Qe).use(so, {
|
|
6341
6921
|
handlers: {
|
|
6342
6922
|
...lo,
|
|
6343
|
-
code:
|
|
6923
|
+
code: cn
|
|
6344
6924
|
}
|
|
6345
6925
|
}).use(Ye).processSync(e);
|
|
6346
|
-
return
|
|
6926
|
+
return vt(
|
|
6347
6927
|
r.value,
|
|
6348
6928
|
t,
|
|
6349
6929
|
o,
|
|
@@ -6371,7 +6951,7 @@ class X {
|
|
|
6371
6951
|
this.callbacks = {};
|
|
6372
6952
|
}
|
|
6373
6953
|
}
|
|
6374
|
-
class
|
|
6954
|
+
class pn {
|
|
6375
6955
|
constructor(t, o, i, n) {
|
|
6376
6956
|
c(this, "state");
|
|
6377
6957
|
c(this, "emitUpdate");
|
|
@@ -6424,7 +7004,7 @@ class cn {
|
|
|
6424
7004
|
}
|
|
6425
7005
|
}
|
|
6426
7006
|
const ge = new S("FilePanelPlugin");
|
|
6427
|
-
class
|
|
7007
|
+
class hn extends X {
|
|
6428
7008
|
constructor(o) {
|
|
6429
7009
|
super();
|
|
6430
7010
|
c(this, "view");
|
|
@@ -6432,7 +7012,7 @@ class un extends X {
|
|
|
6432
7012
|
c(this, "closeMenu", () => this.view.closeMenu());
|
|
6433
7013
|
this.plugin = new y({
|
|
6434
7014
|
key: ge,
|
|
6435
|
-
view: (i) => (this.view = new
|
|
7015
|
+
view: (i) => (this.view = new pn(
|
|
6436
7016
|
o,
|
|
6437
7017
|
ge,
|
|
6438
7018
|
i,
|
|
@@ -6464,7 +7044,7 @@ class un extends X {
|
|
|
6464
7044
|
return this.on("update", o);
|
|
6465
7045
|
}
|
|
6466
7046
|
}
|
|
6467
|
-
class
|
|
7047
|
+
class mn {
|
|
6468
7048
|
constructor(t, o, i) {
|
|
6469
7049
|
c(this, "state");
|
|
6470
7050
|
c(this, "emitUpdate");
|
|
@@ -6542,7 +7122,7 @@ class pn {
|
|
|
6542
7122
|
}
|
|
6543
7123
|
getSelectionBoundingBox() {
|
|
6544
7124
|
const { state: t } = this.pmView, { selection: o } = t, { ranges: i } = o, n = Math.min(...i.map((a) => a.$from.pos)), r = Math.max(...i.map((a) => a.$to.pos));
|
|
6545
|
-
if (
|
|
7125
|
+
if (Vt(o)) {
|
|
6546
7126
|
const a = this.pmView.nodeDOM(n);
|
|
6547
7127
|
if (a)
|
|
6548
7128
|
return a.getBoundingClientRect();
|
|
@@ -6550,18 +7130,18 @@ class pn {
|
|
|
6550
7130
|
return ye(this.pmView, n, r);
|
|
6551
7131
|
}
|
|
6552
7132
|
}
|
|
6553
|
-
const
|
|
7133
|
+
const fn = new S(
|
|
6554
7134
|
"FormattingToolbarPlugin"
|
|
6555
7135
|
);
|
|
6556
|
-
class
|
|
7136
|
+
class gn extends X {
|
|
6557
7137
|
constructor(o) {
|
|
6558
7138
|
super();
|
|
6559
7139
|
c(this, "view");
|
|
6560
7140
|
c(this, "plugin");
|
|
6561
7141
|
c(this, "closeMenu", () => this.view.closeMenu());
|
|
6562
7142
|
this.plugin = new y({
|
|
6563
|
-
key:
|
|
6564
|
-
view: (i) => (this.view = new
|
|
7143
|
+
key: fn,
|
|
7144
|
+
view: (i) => (this.view = new mn(o, i, (n) => {
|
|
6565
7145
|
this.emit("update", n);
|
|
6566
7146
|
}), this.view),
|
|
6567
7147
|
props: {
|
|
@@ -6577,7 +7157,7 @@ class mn extends X {
|
|
|
6577
7157
|
return this.on("update", o);
|
|
6578
7158
|
}
|
|
6579
7159
|
}
|
|
6580
|
-
class
|
|
7160
|
+
class bn {
|
|
6581
7161
|
constructor(t, o, i) {
|
|
6582
7162
|
c(this, "state");
|
|
6583
7163
|
c(this, "emitUpdate");
|
|
@@ -6595,7 +7175,7 @@ class fn {
|
|
|
6595
7175
|
const o = t.target, i = this.pmView.posAtDOM(o, 0) + 1, n = this.pmView.state.doc.resolve(i), r = n.marks();
|
|
6596
7176
|
for (const a of r)
|
|
6597
7177
|
if (a.type.name === this.pmView.state.schema.mark("link").type.name) {
|
|
6598
|
-
this.mouseHoveredLinkMark = a, this.mouseHoveredLinkMarkRange =
|
|
7178
|
+
this.mouseHoveredLinkMark = a, this.mouseHoveredLinkMarkRange = De(n, a.type, a.attrs) || void 0;
|
|
6599
7179
|
break;
|
|
6600
7180
|
}
|
|
6601
7181
|
}
|
|
@@ -6667,7 +7247,7 @@ class fn {
|
|
|
6667
7247
|
const i = this.pmView.state.selection.$from.marks();
|
|
6668
7248
|
for (const n of i)
|
|
6669
7249
|
if (n.type.name === this.pmView.state.schema.mark("link").type.name) {
|
|
6670
|
-
this.keyboardHoveredLinkMark = n, this.keyboardHoveredLinkMarkRange =
|
|
7250
|
+
this.keyboardHoveredLinkMark = n, this.keyboardHoveredLinkMarkRange = De(
|
|
6671
7251
|
this.pmView.state.selection.$from,
|
|
6672
7252
|
n.type,
|
|
6673
7253
|
n.attrs
|
|
@@ -6704,8 +7284,8 @@ class fn {
|
|
|
6704
7284
|
);
|
|
6705
7285
|
}
|
|
6706
7286
|
}
|
|
6707
|
-
const
|
|
6708
|
-
class
|
|
7287
|
+
const _n = new S("LinkToolbarPlugin");
|
|
7288
|
+
class kn extends X {
|
|
6709
7289
|
constructor(o) {
|
|
6710
7290
|
super();
|
|
6711
7291
|
c(this, "view");
|
|
@@ -6744,8 +7324,8 @@ class bn extends X {
|
|
|
6744
7324
|
});
|
|
6745
7325
|
c(this, "closeMenu", () => this.view.closeMenu());
|
|
6746
7326
|
this.plugin = new y({
|
|
6747
|
-
key:
|
|
6748
|
-
view: (i) => (this.view = new
|
|
7327
|
+
key: _n,
|
|
7328
|
+
view: (i) => (this.view = new bn(o, i, (n) => {
|
|
6749
7329
|
this.emit("update", n);
|
|
6750
7330
|
}), this.view),
|
|
6751
7331
|
props: {
|
|
@@ -6761,7 +7341,7 @@ class bn extends X {
|
|
|
6761
7341
|
return ((i = (o = this.view) == null ? void 0 : o.state) == null ? void 0 : i.show) || !1;
|
|
6762
7342
|
}
|
|
6763
7343
|
}
|
|
6764
|
-
class
|
|
7344
|
+
class O extends me {
|
|
6765
7345
|
constructor(o, i) {
|
|
6766
7346
|
super(o, i);
|
|
6767
7347
|
c(this, "nodes");
|
|
@@ -6772,13 +7352,13 @@ class z extends me {
|
|
|
6772
7352
|
});
|
|
6773
7353
|
}
|
|
6774
7354
|
static create(o, i, n = i) {
|
|
6775
|
-
return new
|
|
7355
|
+
return new O(o.resolve(i), o.resolve(n));
|
|
6776
7356
|
}
|
|
6777
7357
|
content() {
|
|
6778
|
-
return new
|
|
7358
|
+
return new D(L.from(this.nodes), 0, 0);
|
|
6779
7359
|
}
|
|
6780
7360
|
eq(o) {
|
|
6781
|
-
if (!(o instanceof
|
|
7361
|
+
if (!(o instanceof O) || this.nodes.length !== o.nodes.length || this.from !== o.from || this.to !== o.to)
|
|
6782
7362
|
return !1;
|
|
6783
7363
|
for (let i = 0; i < this.nodes.length; i++)
|
|
6784
7364
|
if (!this.nodes[i].eq(o.nodes[i]))
|
|
@@ -6787,7 +7367,7 @@ class z extends me {
|
|
|
6787
7367
|
}
|
|
6788
7368
|
map(o, i) {
|
|
6789
7369
|
const n = i.mapResult(this.from), r = i.mapResult(this.to);
|
|
6790
|
-
return r.deleted ? me.near(o.resolve(n.pos)) : n.deleted ? me.near(o.resolve(r.pos)) : new
|
|
7370
|
+
return r.deleted ? me.near(o.resolve(n.pos)) : n.deleted ? me.near(o.resolve(r.pos)) : new O(
|
|
6791
7371
|
o.resolve(n.pos),
|
|
6792
7372
|
o.resolve(r.pos)
|
|
6793
7373
|
);
|
|
@@ -6798,13 +7378,13 @@ class z extends me {
|
|
|
6798
7378
|
}
|
|
6799
7379
|
let B;
|
|
6800
7380
|
function he(e, t) {
|
|
6801
|
-
var o;
|
|
6802
|
-
for (; e && e.parentElement && e.parentElement !== t.dom &&
|
|
7381
|
+
var o, i;
|
|
7382
|
+
for (; e && e.parentElement && e.parentElement !== t.dom && ((o = e.getAttribute) == null ? void 0 : o.call(e, "data-node-type")) !== "blockContainer"; )
|
|
6803
7383
|
e = e.parentElement;
|
|
6804
|
-
if (e.
|
|
7384
|
+
if (((i = e.getAttribute) == null ? void 0 : i.call(e, "data-node-type")) === "blockContainer")
|
|
6805
7385
|
return { node: e, id: e.getAttribute("data-id") };
|
|
6806
7386
|
}
|
|
6807
|
-
function
|
|
7387
|
+
function yn(e, t) {
|
|
6808
7388
|
const o = he(e, t);
|
|
6809
7389
|
if (o && o.node.nodeType === 1) {
|
|
6810
7390
|
const i = t.docView, n = i.nearestDesc(o.node, !0);
|
|
@@ -6812,7 +7392,7 @@ function kn(e, t) {
|
|
|
6812
7392
|
}
|
|
6813
7393
|
return null;
|
|
6814
7394
|
}
|
|
6815
|
-
function
|
|
7395
|
+
function vn(e, t) {
|
|
6816
7396
|
let o, i;
|
|
6817
7397
|
const n = t.resolve(e.from).node().type.spec.group === "blockContent", r = t.resolve(e.to).node().type.spec.group === "blockContent", a = Math.min(e.$anchor.depth, e.$head.depth);
|
|
6818
7398
|
if (n && r) {
|
|
@@ -6835,16 +7415,16 @@ function $e(e, t, o = t) {
|
|
|
6835
7415
|
);
|
|
6836
7416
|
for (let u = n.childElementCount - 1; u >= 0; u--)
|
|
6837
7417
|
(u > s || u < a) && i.removeChild(i.children[u]);
|
|
6838
|
-
|
|
7418
|
+
wt(e.root), B = i;
|
|
6839
7419
|
const d = e.dom.className.split(" ").filter(
|
|
6840
7420
|
(u) => u !== "ProseMirror" && u !== "bn-root" && u !== "bn-editor"
|
|
6841
7421
|
).join(" ");
|
|
6842
7422
|
B.className = B.className + " bn-drag-preview " + d, e.root instanceof ShadowRoot ? e.root.appendChild(B) : e.root.body.appendChild(B);
|
|
6843
7423
|
}
|
|
6844
|
-
function
|
|
7424
|
+
function wt(e) {
|
|
6845
7425
|
B !== void 0 && (e instanceof ShadowRoot ? e.removeChild(B) : e.body.removeChild(B), B = void 0);
|
|
6846
7426
|
}
|
|
6847
|
-
function
|
|
7427
|
+
function wn(e, t) {
|
|
6848
7428
|
if (!e.dataTransfer)
|
|
6849
7429
|
return;
|
|
6850
7430
|
const o = t.prosemirrorView, i = o.dom.getBoundingClientRect(), n = {
|
|
@@ -6860,11 +7440,11 @@ function yn(e, t) {
|
|
|
6860
7440
|
}
|
|
6861
7441
|
if (!a)
|
|
6862
7442
|
return;
|
|
6863
|
-
const s =
|
|
7443
|
+
const s = yn(a.node, o);
|
|
6864
7444
|
if (s != null) {
|
|
6865
|
-
const l = o.state.selection, d = o.state.doc, { from: u, to: p } =
|
|
7445
|
+
const l = o.state.selection, d = o.state.doc, { from: u, to: p } = vn(l, d), h = u <= s && s < p, f = l.$anchor.node() !== l.$head.node() || l instanceof O;
|
|
6866
7446
|
h && f ? (o.dispatch(
|
|
6867
|
-
o.state.tr.setSelection(
|
|
7447
|
+
o.state.tr.setSelection(O.create(d, u, p))
|
|
6868
7448
|
), $e(o, u, p)) : (o.dispatch(
|
|
6869
7449
|
o.state.tr.setSelection(re.create(o.state.doc, s))
|
|
6870
7450
|
), $e(o, s));
|
|
@@ -6878,7 +7458,7 @@ function yn(e, t) {
|
|
|
6878
7458
|
e.dataTransfer.clearData(), e.dataTransfer.setData("blocknote/html", A), e.dataTransfer.setData("text/html", N), e.dataTransfer.setData("text/plain", Z), e.dataTransfer.effectAllowed = "move", e.dataTransfer.setDragImage(B, 0, 0), o.dragging = { slice: m, move: !0 };
|
|
6879
7459
|
}
|
|
6880
7460
|
}
|
|
6881
|
-
class
|
|
7461
|
+
class xn {
|
|
6882
7462
|
constructor(t, o, i) {
|
|
6883
7463
|
c(this, "state");
|
|
6884
7464
|
c(this, "emitUpdate");
|
|
@@ -7077,7 +7657,7 @@ class wn {
|
|
|
7077
7657
|
});
|
|
7078
7658
|
if (!i)
|
|
7079
7659
|
return;
|
|
7080
|
-
const n =
|
|
7660
|
+
const n = _(
|
|
7081
7661
|
this.editor._tiptapEditor.state.doc,
|
|
7082
7662
|
i.pos
|
|
7083
7663
|
);
|
|
@@ -7092,8 +7672,8 @@ class wn {
|
|
|
7092
7672
|
this.editor.openSelectionMenu("/");
|
|
7093
7673
|
}
|
|
7094
7674
|
}
|
|
7095
|
-
const
|
|
7096
|
-
class
|
|
7675
|
+
const En = new S("SideMenuPlugin");
|
|
7676
|
+
class Cn extends X {
|
|
7097
7677
|
constructor(o) {
|
|
7098
7678
|
super();
|
|
7099
7679
|
c(this, "view");
|
|
@@ -7107,12 +7687,12 @@ class xn extends X {
|
|
|
7107
7687
|
* Handles drag & drop events for blocks.
|
|
7108
7688
|
*/
|
|
7109
7689
|
c(this, "blockDragStart", (o) => {
|
|
7110
|
-
this.view.isDragging = !0,
|
|
7690
|
+
this.view.isDragging = !0, wn(o, this.editor);
|
|
7111
7691
|
});
|
|
7112
7692
|
/**
|
|
7113
7693
|
* Handles drag & drop events for blocks.
|
|
7114
7694
|
*/
|
|
7115
|
-
c(this, "blockDragEnd", () =>
|
|
7695
|
+
c(this, "blockDragEnd", () => wt(this.editor.prosemirrorView.root));
|
|
7116
7696
|
/**
|
|
7117
7697
|
* Freezes the side menu. When frozen, the side menu will stay
|
|
7118
7698
|
* attached to the same block regardless of which block is hovered by the
|
|
@@ -7128,8 +7708,8 @@ class xn extends X {
|
|
|
7128
7708
|
this.view.menuFrozen = !1, this.view.state.show = !1, this.view.emitUpdate(this.view.state);
|
|
7129
7709
|
});
|
|
7130
7710
|
this.editor = o, this.plugin = new y({
|
|
7131
|
-
key:
|
|
7132
|
-
view: (i) => (this.view = new
|
|
7711
|
+
key: En,
|
|
7712
|
+
view: (i) => (this.view = new xn(o, i, (n) => {
|
|
7133
7713
|
this.emit("update", n);
|
|
7134
7714
|
}), this.view)
|
|
7135
7715
|
});
|
|
@@ -7138,8 +7718,8 @@ class xn extends X {
|
|
|
7138
7718
|
return this.on("update", o);
|
|
7139
7719
|
}
|
|
7140
7720
|
}
|
|
7141
|
-
const
|
|
7142
|
-
class
|
|
7721
|
+
const Sn = Ot((e) => e.type.name === "blockContainer");
|
|
7722
|
+
class Mn {
|
|
7143
7723
|
constructor(t, o) {
|
|
7144
7724
|
c(this, "state");
|
|
7145
7725
|
c(this, "emitUpdate");
|
|
@@ -7200,7 +7780,7 @@ class Cn {
|
|
|
7200
7780
|
}
|
|
7201
7781
|
}
|
|
7202
7782
|
const F = new S("SuggestionMenuPlugin");
|
|
7203
|
-
class
|
|
7783
|
+
class Tn extends X {
|
|
7204
7784
|
constructor(o) {
|
|
7205
7785
|
super();
|
|
7206
7786
|
c(this, "view");
|
|
@@ -7220,7 +7800,7 @@ class Sn extends X {
|
|
|
7220
7800
|
const i = this.triggerCharacters;
|
|
7221
7801
|
this.plugin = new y({
|
|
7222
7802
|
key: F,
|
|
7223
|
-
view: () => (this.view = new
|
|
7803
|
+
view: () => (this.view = new Mn(
|
|
7224
7804
|
o,
|
|
7225
7805
|
(n, r) => {
|
|
7226
7806
|
this.emit(`update ${n}`, r);
|
|
@@ -7276,7 +7856,7 @@ class Sn extends X {
|
|
|
7276
7856
|
if (r === void 0)
|
|
7277
7857
|
return null;
|
|
7278
7858
|
if (!r.fromUserInput) {
|
|
7279
|
-
const a =
|
|
7859
|
+
const a = Sn(n.selection);
|
|
7280
7860
|
if (a)
|
|
7281
7861
|
return G.create(n.doc, [
|
|
7282
7862
|
K.node(
|
|
@@ -7313,32 +7893,32 @@ class Sn extends X {
|
|
|
7313
7893
|
return ((i = (o = this.view) == null ? void 0 : o.state) == null ? void 0 : i.show) || !1;
|
|
7314
7894
|
}
|
|
7315
7895
|
}
|
|
7316
|
-
function
|
|
7896
|
+
function Jr(e, t) {
|
|
7317
7897
|
e.suggestionMenus.addTriggerCharacter(t);
|
|
7318
7898
|
}
|
|
7319
|
-
let
|
|
7899
|
+
let v;
|
|
7320
7900
|
function qe(e) {
|
|
7321
|
-
|
|
7901
|
+
v || (v = document.createElement("div"), v.innerHTML = "_", v.style.opacity = "0", v.style.height = "1px", v.style.width = "1px", e instanceof Document ? e.body.appendChild(v) : e.appendChild(v));
|
|
7322
7902
|
}
|
|
7323
|
-
function
|
|
7324
|
-
|
|
7903
|
+
function Bn(e) {
|
|
7904
|
+
v && (e instanceof Document ? e.body.removeChild(v) : e.removeChild(v), v = void 0);
|
|
7325
7905
|
}
|
|
7326
7906
|
function ie(e) {
|
|
7327
7907
|
return Array.prototype.indexOf.call(e.parentElement.childNodes, e);
|
|
7328
7908
|
}
|
|
7329
|
-
function
|
|
7909
|
+
function Ln(e) {
|
|
7330
7910
|
for (; e && e.nodeName !== "TD" && e.nodeName !== "TH"; )
|
|
7331
7911
|
e = e.classList && e.classList.contains("ProseMirror") ? null : e.parentNode;
|
|
7332
7912
|
return e;
|
|
7333
7913
|
}
|
|
7334
|
-
function
|
|
7914
|
+
function In(e, t) {
|
|
7335
7915
|
e.forEach((o) => {
|
|
7336
7916
|
const i = t.querySelectorAll(o);
|
|
7337
7917
|
for (let n = 0; n < i.length; n++)
|
|
7338
7918
|
i[n].style.visibility = "hidden";
|
|
7339
7919
|
});
|
|
7340
7920
|
}
|
|
7341
|
-
class
|
|
7921
|
+
class An {
|
|
7342
7922
|
constructor(t, o, i) {
|
|
7343
7923
|
c(this, "state");
|
|
7344
7924
|
c(this, "emitUpdate");
|
|
@@ -7350,7 +7930,7 @@ class Ln {
|
|
|
7350
7930
|
var d;
|
|
7351
7931
|
if (this.menuFrozen)
|
|
7352
7932
|
return;
|
|
7353
|
-
const o =
|
|
7933
|
+
const o = Ln(t.target);
|
|
7354
7934
|
if (!o || !this.editor.isEditable) {
|
|
7355
7935
|
(d = this.state) != null && d.show && (this.state.show = !1, this.emitUpdate());
|
|
7356
7936
|
return;
|
|
@@ -7364,14 +7944,14 @@ class Ln {
|
|
|
7364
7944
|
return !1;
|
|
7365
7945
|
if (u.type.name !== "blockContainer" || u.attrs.id !== s.id)
|
|
7366
7946
|
return !0;
|
|
7367
|
-
const h =
|
|
7947
|
+
const h = w(
|
|
7368
7948
|
u,
|
|
7369
7949
|
this.editor.schema.blockSchema,
|
|
7370
7950
|
this.editor.schema.inlineContentSchema,
|
|
7371
7951
|
this.editor.schema.styleSchema,
|
|
7372
7952
|
this.editor.blockCache
|
|
7373
7953
|
);
|
|
7374
|
-
return
|
|
7954
|
+
return qi("table", h, this.editor) && (this.tablePos = p + 1, l = h), !1;
|
|
7375
7955
|
}), !!l && (this.tableId = s.id, !(this.state !== void 0 && this.state.show && this.tableId === s.id && this.state.rowIndex === n && this.state.colIndex === i)))
|
|
7376
7956
|
return this.state = {
|
|
7377
7957
|
show: !0,
|
|
@@ -7387,7 +7967,7 @@ class Ln {
|
|
|
7387
7967
|
var h;
|
|
7388
7968
|
if (((h = this.state) == null ? void 0 : h.draggingState) === void 0)
|
|
7389
7969
|
return;
|
|
7390
|
-
t.preventDefault(), t.dataTransfer.dropEffect = "move",
|
|
7970
|
+
t.preventDefault(), t.dataTransfer.dropEffect = "move", In(
|
|
7391
7971
|
[
|
|
7392
7972
|
"column-resize-handle",
|
|
7393
7973
|
"prosemirror-dropcursor-block",
|
|
@@ -7475,7 +8055,7 @@ class Ln {
|
|
|
7475
8055
|
}
|
|
7476
8056
|
}
|
|
7477
8057
|
const Q = new S("TableHandlesPlugin");
|
|
7478
|
-
class
|
|
8058
|
+
class Nn extends X {
|
|
7479
8059
|
constructor(o) {
|
|
7480
8060
|
super();
|
|
7481
8061
|
c(this, "view");
|
|
@@ -7500,7 +8080,7 @@ class In extends X {
|
|
|
7500
8080
|
newIndex: this.view.state.colIndex,
|
|
7501
8081
|
tablePos: this.view.tablePos
|
|
7502
8082
|
})
|
|
7503
|
-
), qe(this.editor._tiptapEditor.view.root), o.dataTransfer.setDragImage(
|
|
8083
|
+
), qe(this.editor._tiptapEditor.view.root), o.dataTransfer.setDragImage(v, 0, 0), o.dataTransfer.effectAllowed = "move";
|
|
7504
8084
|
});
|
|
7505
8085
|
/**
|
|
7506
8086
|
* Callback that should be set on the `dragStart` event for whichever element
|
|
@@ -7522,7 +8102,7 @@ class In extends X {
|
|
|
7522
8102
|
newIndex: this.view.state.rowIndex,
|
|
7523
8103
|
tablePos: this.view.tablePos
|
|
7524
8104
|
})
|
|
7525
|
-
), qe(this.editor._tiptapEditor.view.root), o.dataTransfer.setDragImage(
|
|
8105
|
+
), qe(this.editor._tiptapEditor.view.root), o.dataTransfer.setDragImage(v, 0, 0), o.dataTransfer.effectAllowed = "copyMove";
|
|
7526
8106
|
});
|
|
7527
8107
|
/**
|
|
7528
8108
|
* Callback that should be set on the `dragEnd` event for both the element
|
|
@@ -7535,7 +8115,7 @@ class In extends X {
|
|
|
7535
8115
|
);
|
|
7536
8116
|
this.view.state.draggingState = void 0, this.view.emitUpdate(), this.editor.dispatch(
|
|
7537
8117
|
this.editor._tiptapEditor.state.tr.setMeta(Q, null)
|
|
7538
|
-
),
|
|
8118
|
+
), Bn(this.editor._tiptapEditor.view.root);
|
|
7539
8119
|
});
|
|
7540
8120
|
/**
|
|
7541
8121
|
* Freezes the drag handles. When frozen, they will stay attached to the same
|
|
@@ -7553,7 +8133,7 @@ class In extends X {
|
|
|
7553
8133
|
});
|
|
7554
8134
|
this.editor = o, this.plugin = new y({
|
|
7555
8135
|
key: Q,
|
|
7556
|
-
view: (i) => (this.view = new
|
|
8136
|
+
view: (i) => (this.view = new An(o, i, (n) => {
|
|
7557
8137
|
this.emit("update", n);
|
|
7558
8138
|
}), this.view),
|
|
7559
8139
|
// We use decorations to render the drop cursor when dragging a table row
|
|
@@ -7622,7 +8202,7 @@ function Xe(e, t) {
|
|
|
7622
8202
|
), s = Ie(a);
|
|
7623
8203
|
return { internalHTML: n, externalHTML: a, plainText: s };
|
|
7624
8204
|
}
|
|
7625
|
-
const
|
|
8205
|
+
const Pn = (e) => M.create({
|
|
7626
8206
|
name: "copyToClipboard",
|
|
7627
8207
|
addProseMirrorPlugins() {
|
|
7628
8208
|
return [
|
|
@@ -7662,7 +8242,7 @@ const An = (e) => M.create({
|
|
|
7662
8242
|
];
|
|
7663
8243
|
}
|
|
7664
8244
|
});
|
|
7665
|
-
function
|
|
8245
|
+
function Hn(e) {
|
|
7666
8246
|
let t = e.getTextCursorPosition().block, o = e.schema.blockSchema[t.type].content;
|
|
7667
8247
|
for (; o === "none"; )
|
|
7668
8248
|
t = e.getTextCursorPosition().nextBlock, o = e.schema.blockSchema[t.type].content, e.setTextCursorPosition(t, "end");
|
|
@@ -7676,9 +8256,9 @@ function x(e, t) {
|
|
|
7676
8256
|
"end"
|
|
7677
8257
|
));
|
|
7678
8258
|
const i = e.getTextCursorPosition().block;
|
|
7679
|
-
return
|
|
8259
|
+
return Hn(e), i;
|
|
7680
8260
|
}
|
|
7681
|
-
function
|
|
8261
|
+
function Yr(e) {
|
|
7682
8262
|
const t = [];
|
|
7683
8263
|
return E("heading", e) && t.push(
|
|
7684
8264
|
{
|
|
@@ -7828,7 +8408,7 @@ function Zr(e) {
|
|
|
7828
8408
|
...e.dictionary.slash_menu.emoji
|
|
7829
8409
|
}), t;
|
|
7830
8410
|
}
|
|
7831
|
-
function
|
|
8411
|
+
function Qr(e, t) {
|
|
7832
8412
|
return e.filter(
|
|
7833
8413
|
({ title: o, aliases: i }) => o.toLowerCase().includes(t.toLowerCase()) || i && i.filter(
|
|
7834
8414
|
(n) => n.toLowerCase().includes(t.toLowerCase())
|
|
@@ -7841,7 +8421,7 @@ const Ae = [
|
|
|
7841
8421
|
"text/html",
|
|
7842
8422
|
"text/plain"
|
|
7843
8423
|
];
|
|
7844
|
-
function
|
|
8424
|
+
function Un(e, t) {
|
|
7845
8425
|
const o = e.split("/"), i = t.split("/");
|
|
7846
8426
|
if (o.length !== 2)
|
|
7847
8427
|
throw new Error(`The string ${e} is not a valid MIME type.`);
|
|
@@ -7874,7 +8454,7 @@ async function xt(e, t) {
|
|
|
7874
8454
|
let s = "file";
|
|
7875
8455
|
for (const d of r)
|
|
7876
8456
|
for (const u of d.fileBlockAcceptMimeTypes || [])
|
|
7877
|
-
if (
|
|
8457
|
+
if (Un(n[a].type, u)) {
|
|
7878
8458
|
s = d.type;
|
|
7879
8459
|
break;
|
|
7880
8460
|
}
|
|
@@ -7894,7 +8474,7 @@ async function xt(e, t) {
|
|
|
7894
8474
|
}
|
|
7895
8475
|
}
|
|
7896
8476
|
}
|
|
7897
|
-
const
|
|
8477
|
+
const Dn = (e) => M.create({
|
|
7898
8478
|
name: "pasteFromClipboard",
|
|
7899
8479
|
addProseMirrorPlugins() {
|
|
7900
8480
|
return [
|
|
@@ -7922,7 +8502,7 @@ const Hn = (e) => M.create({
|
|
|
7922
8502
|
})
|
|
7923
8503
|
];
|
|
7924
8504
|
}
|
|
7925
|
-
}),
|
|
8505
|
+
}), jn = (e) => M.create({
|
|
7926
8506
|
name: "dropFile",
|
|
7927
8507
|
addProseMirrorPlugins() {
|
|
7928
8508
|
return [
|
|
@@ -7945,7 +8525,7 @@ const Hn = (e) => M.create({
|
|
|
7945
8525
|
})
|
|
7946
8526
|
];
|
|
7947
8527
|
}
|
|
7948
|
-
}),
|
|
8528
|
+
}), zn = M.create({
|
|
7949
8529
|
name: "blockBackgroundColor",
|
|
7950
8530
|
addGlobalAttributes() {
|
|
7951
8531
|
return [
|
|
@@ -7953,9 +8533,9 @@ const Hn = (e) => M.create({
|
|
|
7953
8533
|
types: ["blockContainer"],
|
|
7954
8534
|
attributes: {
|
|
7955
8535
|
backgroundColor: {
|
|
7956
|
-
default:
|
|
7957
|
-
parseHTML: (e) => e.hasAttribute("data-background-color") ? e.getAttribute("data-background-color") :
|
|
7958
|
-
renderHTML: (e) => e.backgroundColor ===
|
|
8536
|
+
default: k.backgroundColor.default,
|
|
8537
|
+
parseHTML: (e) => e.hasAttribute("data-background-color") ? e.getAttribute("data-background-color") : k.backgroundColor.default,
|
|
8538
|
+
renderHTML: (e) => e.backgroundColor === k.backgroundColor.default ? {} : {
|
|
7959
8539
|
"data-background-color": e.backgroundColor
|
|
7960
8540
|
}
|
|
7961
8541
|
}
|
|
@@ -7963,7 +8543,7 @@ const Hn = (e) => M.create({
|
|
|
7963
8543
|
}
|
|
7964
8544
|
];
|
|
7965
8545
|
}
|
|
7966
|
-
}),
|
|
8546
|
+
}), Rn = M.create({
|
|
7967
8547
|
name: "textAlignment",
|
|
7968
8548
|
addGlobalAttributes() {
|
|
7969
8549
|
return [
|
|
@@ -7997,9 +8577,9 @@ const Hn = (e) => M.create({
|
|
|
7997
8577
|
types: ["blockContainer"],
|
|
7998
8578
|
attributes: {
|
|
7999
8579
|
textColor: {
|
|
8000
|
-
default:
|
|
8001
|
-
parseHTML: (e) => e.hasAttribute("data-text-color") ? e.getAttribute("data-text-color") :
|
|
8002
|
-
renderHTML: (e) => e.textColor ===
|
|
8580
|
+
default: k.textColor.default,
|
|
8581
|
+
parseHTML: (e) => e.hasAttribute("data-text-color") ? e.getAttribute("data-text-color") : k.textColor.default,
|
|
8582
|
+
renderHTML: (e) => e.textColor === k.textColor.default ? {} : {
|
|
8003
8583
|
"data-text-color": e.textColor
|
|
8004
8584
|
}
|
|
8005
8585
|
}
|
|
@@ -8007,7 +8587,7 @@ const Hn = (e) => M.create({
|
|
|
8007
8587
|
}
|
|
8008
8588
|
];
|
|
8009
8589
|
}
|
|
8010
|
-
}),
|
|
8590
|
+
}), On = M.create({
|
|
8011
8591
|
name: "trailingNode",
|
|
8012
8592
|
addProseMirrorPlugins() {
|
|
8013
8593
|
const e = new S(this.name);
|
|
@@ -8042,8 +8622,8 @@ const Hn = (e) => M.create({
|
|
|
8042
8622
|
})
|
|
8043
8623
|
];
|
|
8044
8624
|
}
|
|
8045
|
-
}),
|
|
8046
|
-
key:
|
|
8625
|
+
}), Fn = new S("non-editable-block"), Gn = () => new y({
|
|
8626
|
+
key: Fn,
|
|
8047
8627
|
props: {
|
|
8048
8628
|
handleKeyDown: (e, t) => {
|
|
8049
8629
|
if ("node" in e.state.selection) {
|
|
@@ -8051,7 +8631,7 @@ const Hn = (e) => M.create({
|
|
|
8051
8631
|
return !1;
|
|
8052
8632
|
if (t.key.length === 1)
|
|
8053
8633
|
return t.preventDefault(), !0;
|
|
8054
|
-
if (t.key === "Enter") {
|
|
8634
|
+
if (t.key === "Enter" && !t.shiftKey && !t.altKey && !t.ctrlKey && !t.metaKey) {
|
|
8055
8635
|
const o = e.state.tr;
|
|
8056
8636
|
return e.dispatch(
|
|
8057
8637
|
o.insert(
|
|
@@ -8068,7 +8648,7 @@ const Hn = (e) => M.create({
|
|
|
8068
8648
|
return !1;
|
|
8069
8649
|
}
|
|
8070
8650
|
}
|
|
8071
|
-
}), Ze = new S("previous-blocks"),
|
|
8651
|
+
}), Ze = new S("previous-blocks"), Kn = {
|
|
8072
8652
|
// Numbered List Items
|
|
8073
8653
|
index: "index",
|
|
8074
8654
|
// Headings
|
|
@@ -8077,7 +8657,7 @@ const Hn = (e) => M.create({
|
|
|
8077
8657
|
type: "type",
|
|
8078
8658
|
depth: "depth",
|
|
8079
8659
|
"depth-change": "depth-change"
|
|
8080
|
-
},
|
|
8660
|
+
}, Wn = () => {
|
|
8081
8661
|
let e;
|
|
8082
8662
|
return new y({
|
|
8083
8663
|
key: Ze,
|
|
@@ -8110,9 +8690,9 @@ const Hn = (e) => M.create({
|
|
|
8110
8690
|
apply(t, o, i, n) {
|
|
8111
8691
|
if (o.currentTransactionOldBlockAttrs = {}, o.updatedBlocks.clear(), !t.docChanged || i.doc.eq(n.doc))
|
|
8112
8692
|
return o;
|
|
8113
|
-
const r = {}, a =
|
|
8693
|
+
const r = {}, a = je(i.doc, (d) => d.attrs.id), s = new Map(
|
|
8114
8694
|
a.map((d) => [d.node.attrs.id, d])
|
|
8115
|
-
), l =
|
|
8695
|
+
), l = je(n.doc, (d) => d.attrs.id);
|
|
8116
8696
|
for (const d of l) {
|
|
8117
8697
|
const u = s.get(d.node.attrs.id), p = u == null ? void 0 : u.node.firstChild, h = d.node.firstChild;
|
|
8118
8698
|
if (u && p && h) {
|
|
@@ -8145,7 +8725,7 @@ const Hn = (e) => M.create({
|
|
|
8145
8725
|
return;
|
|
8146
8726
|
const a = o.currentTransactionOldBlockAttrs[n.attrs.id], s = {};
|
|
8147
8727
|
for (const [d, u] of Object.entries(a))
|
|
8148
|
-
s["data-prev-" +
|
|
8728
|
+
s["data-prev-" + Kn[d]] = u || "none";
|
|
8149
8729
|
const l = K.node(r, r + n.nodeSize, {
|
|
8150
8730
|
...s
|
|
8151
8731
|
});
|
|
@@ -8154,13 +8734,13 @@ const Hn = (e) => M.create({
|
|
|
8154
8734
|
}
|
|
8155
8735
|
}
|
|
8156
8736
|
});
|
|
8157
|
-
},
|
|
8737
|
+
}, $n = {
|
|
8158
8738
|
blockColor: "data-block-color",
|
|
8159
8739
|
blockStyle: "data-block-style",
|
|
8160
8740
|
id: "data-id",
|
|
8161
8741
|
depth: "data-depth",
|
|
8162
8742
|
depthChange: "data-depth-change"
|
|
8163
|
-
},
|
|
8743
|
+
}, qn = $.create({
|
|
8164
8744
|
name: "blockContainer",
|
|
8165
8745
|
group: "blockContainer",
|
|
8166
8746
|
// A block always contains content, and optionally a blockGroup which contains nested blocks
|
|
@@ -8176,7 +8756,7 @@ const Hn = (e) => M.create({
|
|
|
8176
8756
|
if (typeof e == "string")
|
|
8177
8757
|
return !1;
|
|
8178
8758
|
const t = {};
|
|
8179
|
-
for (const [o, i] of Object.entries(
|
|
8759
|
+
for (const [o, i] of Object.entries($n))
|
|
8180
8760
|
e.getAttribute(i) && (t[o] = e.getAttribute(i));
|
|
8181
8761
|
return e.getAttribute("data-node-type") === "blockContainer" ? t : !1;
|
|
8182
8762
|
}
|
|
@@ -8193,7 +8773,7 @@ const Hn = (e) => M.create({
|
|
|
8193
8773
|
...((n = this.options.domAttributes) == null ? void 0 : n.block) || {},
|
|
8194
8774
|
...e
|
|
8195
8775
|
}, i = document.createElement("div");
|
|
8196
|
-
i.className =
|
|
8776
|
+
i.className = j("bn-block", o.class), i.setAttribute("data-node-type", this.name);
|
|
8197
8777
|
for (const [r, a] of Object.entries(o))
|
|
8198
8778
|
r !== "class" && i.setAttribute(r, a);
|
|
8199
8779
|
return t.appendChild(i), {
|
|
@@ -8210,7 +8790,7 @@ const Hn = (e) => M.create({
|
|
|
8210
8790
|
},
|
|
8211
8791
|
// Deletes a block at a given position.
|
|
8212
8792
|
BNDeleteBlock: (e) => ({ state: t, dispatch: o }) => {
|
|
8213
|
-
const i =
|
|
8793
|
+
const i = _(t.doc, e);
|
|
8214
8794
|
if (i === void 0)
|
|
8215
8795
|
return !1;
|
|
8216
8796
|
const { startPos: n, endPos: r } = i;
|
|
@@ -8218,7 +8798,7 @@ const Hn = (e) => M.create({
|
|
|
8218
8798
|
},
|
|
8219
8799
|
// Updates a block at a given position.
|
|
8220
8800
|
BNUpdateBlock: (e, t) => ({ state: o, dispatch: i }) => {
|
|
8221
|
-
const n =
|
|
8801
|
+
const n = _(o.doc, e);
|
|
8222
8802
|
if (n === void 0)
|
|
8223
8803
|
return !1;
|
|
8224
8804
|
const { startPos: r, endPos: a, node: s, contentNode: l } = n;
|
|
@@ -8236,7 +8816,7 @@ const Hn = (e) => M.create({
|
|
|
8236
8816
|
s.childCount === 2 ? o.tr.replace(
|
|
8237
8817
|
r + l.nodeSize + 1,
|
|
8238
8818
|
a - 1,
|
|
8239
|
-
new
|
|
8819
|
+
new D(L.from(h), 0, 0)
|
|
8240
8820
|
) : o.tr.insert(
|
|
8241
8821
|
r + l.nodeSize,
|
|
8242
8822
|
o.schema.nodes.blockGroup.create({}, h)
|
|
@@ -8321,7 +8901,7 @@ const Hn = (e) => M.create({
|
|
|
8321
8901
|
const i = t.doc.resolve(e + 1).node().type.name === "blockContainer", n = t.doc.resolve(e - 1).node().type.name === "blockContainer";
|
|
8322
8902
|
if (!i || !n)
|
|
8323
8903
|
return !1;
|
|
8324
|
-
const r =
|
|
8904
|
+
const r = _(
|
|
8325
8905
|
t.doc,
|
|
8326
8906
|
e + 1
|
|
8327
8907
|
), { node: a, contentNode: s, startPos: l, endPos: d, depth: u } = r;
|
|
@@ -8331,15 +8911,15 @@ const Hn = (e) => M.create({
|
|
|
8331
8911
|
), m = t.doc.resolve(d - 1), g = f.blockRange(m);
|
|
8332
8912
|
o && t.tr.lift(g, u - 1);
|
|
8333
8913
|
}
|
|
8334
|
-
let p = e - 1, h =
|
|
8914
|
+
let p = e - 1, h = _(t.doc, p);
|
|
8335
8915
|
for (; h.numChildBlocks > 0; )
|
|
8336
|
-
if (p--, h =
|
|
8916
|
+
if (p--, h = _(t.doc, p), h === void 0)
|
|
8337
8917
|
return !1;
|
|
8338
8918
|
return o && (o(
|
|
8339
8919
|
t.tr.deleteRange(l, l + s.nodeSize).replace(
|
|
8340
8920
|
p - 1,
|
|
8341
8921
|
l,
|
|
8342
|
-
new
|
|
8922
|
+
new D(s.content, 0, 0)
|
|
8343
8923
|
).scrollIntoView()
|
|
8344
8924
|
), t.tr.setSelection(
|
|
8345
8925
|
new Y(t.doc.resolve(p - 1))
|
|
@@ -8352,14 +8932,14 @@ const Hn = (e) => M.create({
|
|
|
8352
8932
|
// - `keepProps` is usually true when `keepType` is true, except for when
|
|
8353
8933
|
// creating new list item blocks with Enter.
|
|
8354
8934
|
BNSplitBlock: (e, t, o) => ({ state: i, dispatch: n }) => {
|
|
8355
|
-
const r =
|
|
8935
|
+
const r = _(i.doc, e);
|
|
8356
8936
|
if (r === void 0)
|
|
8357
8937
|
return !1;
|
|
8358
8938
|
const { contentNode: a, contentType: s, startPos: l, endPos: d, depth: u } = r, p = i.doc.cut(l + 1, e), h = i.doc.cut(e, d - 1), f = i.schema.nodes.blockContainer.createAndFill(), m = d + 1, g = m + 2;
|
|
8359
8939
|
return n && (i.tr.insert(m, f), i.tr.replace(
|
|
8360
8940
|
g,
|
|
8361
8941
|
g + 1,
|
|
8362
|
-
h.content.size > 0 ? new
|
|
8942
|
+
h.content.size > 0 ? new D(
|
|
8363
8943
|
L.from(h),
|
|
8364
8944
|
u + 2,
|
|
8365
8945
|
u + 2
|
|
@@ -8374,7 +8954,7 @@ const Hn = (e) => M.create({
|
|
|
8374
8954
|
), i.tr.replace(
|
|
8375
8955
|
l + 1,
|
|
8376
8956
|
d - 1,
|
|
8377
|
-
p.content.size > 0 ? new
|
|
8957
|
+
p.content.size > 0 ? new D(
|
|
8378
8958
|
L.from(p),
|
|
8379
8959
|
u + 2,
|
|
8380
8960
|
u + 2
|
|
@@ -8384,7 +8964,7 @@ const Hn = (e) => M.create({
|
|
|
8384
8964
|
};
|
|
8385
8965
|
},
|
|
8386
8966
|
addProseMirrorPlugins() {
|
|
8387
|
-
return [
|
|
8967
|
+
return [Wn(), Gn()];
|
|
8388
8968
|
},
|
|
8389
8969
|
addKeyboardShortcuts() {
|
|
8390
8970
|
return {
|
|
@@ -8395,7 +8975,7 @@ const Hn = (e) => M.create({
|
|
|
8395
8975
|
() => i.undoInputRule(),
|
|
8396
8976
|
// Reverts block content type to a paragraph if the selection is at the start of the block.
|
|
8397
8977
|
() => i.command(({ state: n }) => {
|
|
8398
|
-
const { contentType: r, startPos: a } =
|
|
8978
|
+
const { contentType: r, startPos: a } = _(
|
|
8399
8979
|
n.doc,
|
|
8400
8980
|
n.selection.from
|
|
8401
8981
|
), s = n.selection.from === a + 1, l = r.name === "paragraph";
|
|
@@ -8406,7 +8986,7 @@ const Hn = (e) => M.create({
|
|
|
8406
8986
|
}),
|
|
8407
8987
|
// Removes a level of nesting if the block is indented if the selection is at the start of the block.
|
|
8408
8988
|
() => i.command(({ state: n }) => {
|
|
8409
|
-
const { startPos: r } =
|
|
8989
|
+
const { startPos: r } = _(
|
|
8410
8990
|
n.doc,
|
|
8411
8991
|
n.selection.from
|
|
8412
8992
|
);
|
|
@@ -8415,7 +8995,7 @@ const Hn = (e) => M.create({
|
|
|
8415
8995
|
// Merges block with the previous one if it isn't indented, isn't the first block in the doc, and the selection
|
|
8416
8996
|
// is at the start of the block.
|
|
8417
8997
|
() => i.command(({ state: n }) => {
|
|
8418
|
-
const { depth: r, startPos: a } =
|
|
8998
|
+
const { depth: r, startPos: a } = _(
|
|
8419
8999
|
n.doc,
|
|
8420
9000
|
n.selection.from
|
|
8421
9001
|
), s = n.selection.from === a + 1, l = n.selection.empty, d = a === 2, u = a - 1;
|
|
@@ -8429,7 +9009,7 @@ const Hn = (e) => M.create({
|
|
|
8429
9009
|
// if one exists, the block has no children, and the selection is at the
|
|
8430
9010
|
// end of the block.
|
|
8431
9011
|
() => i.command(({ state: n }) => {
|
|
8432
|
-
const { node: r, depth: a, endPos: s } =
|
|
9012
|
+
const { node: r, depth: a, endPos: s } = _(
|
|
8433
9013
|
n.doc,
|
|
8434
9014
|
n.selection.from
|
|
8435
9015
|
), l = s === n.doc.nodeSize - 4, d = n.selection.from === s - 1, u = n.selection.empty, p = r.childCount === 2;
|
|
@@ -8446,7 +9026,7 @@ const Hn = (e) => M.create({
|
|
|
8446
9026
|
// Removes a level of nesting if the block is empty & indented, while the selection is also empty & at the start
|
|
8447
9027
|
// of the block.
|
|
8448
9028
|
() => i.command(({ state: n }) => {
|
|
8449
|
-
const { contentNode: r, depth: a } =
|
|
9029
|
+
const { contentNode: r, depth: a } = _(
|
|
8450
9030
|
n.doc,
|
|
8451
9031
|
n.selection.from
|
|
8452
9032
|
), s = n.selection.$anchor.parentOffset === 0, l = n.selection.anchor === n.selection.head, d = r.childCount === 0, u = a > 2;
|
|
@@ -8455,7 +9035,7 @@ const Hn = (e) => M.create({
|
|
|
8455
9035
|
// Creates a new block and moves the selection to it if the current one is empty, while the selection is also
|
|
8456
9036
|
// empty & at the start of the block.
|
|
8457
9037
|
() => i.command(({ state: n, chain: r }) => {
|
|
8458
|
-
const { contentNode: a, endPos: s } =
|
|
9038
|
+
const { contentNode: a, endPos: s } = _(
|
|
8459
9039
|
n.doc,
|
|
8460
9040
|
n.selection.from
|
|
8461
9041
|
), l = n.selection.$anchor.parentOffset === 0, d = n.selection.anchor === n.selection.head, u = a.childCount === 0;
|
|
@@ -8468,7 +9048,7 @@ const Hn = (e) => M.create({
|
|
|
8468
9048
|
// Splits the current block, moving content inside that's after the cursor to a new text block below. Also
|
|
8469
9049
|
// deletes the selection beforehand, if it's not empty.
|
|
8470
9050
|
() => i.command(({ state: n, chain: r }) => {
|
|
8471
|
-
const { contentNode: a } =
|
|
9051
|
+
const { contentNode: a } = _(
|
|
8472
9052
|
n.doc,
|
|
8473
9053
|
n.selection.from
|
|
8474
9054
|
), s = n.selection.$anchor.parentOffset === 0;
|
|
@@ -8491,7 +9071,7 @@ const Hn = (e) => M.create({
|
|
|
8491
9071
|
}
|
|
8492
9072
|
};
|
|
8493
9073
|
}
|
|
8494
|
-
}),
|
|
9074
|
+
}), Xn = $.create({
|
|
8495
9075
|
name: "blockGroup",
|
|
8496
9076
|
group: "blockGroup",
|
|
8497
9077
|
content: "blockContainer+",
|
|
@@ -8509,7 +9089,7 @@ const Hn = (e) => M.create({
|
|
|
8509
9089
|
...((i = this.options.domAttributes) == null ? void 0 : i.blockGroup) || {},
|
|
8510
9090
|
...e
|
|
8511
9091
|
}, o = document.createElement("div");
|
|
8512
|
-
o.className =
|
|
9092
|
+
o.className = j(
|
|
8513
9093
|
"bn-block-group",
|
|
8514
9094
|
t.class
|
|
8515
9095
|
), o.setAttribute("data-node-type", "blockGroup");
|
|
@@ -8520,11 +9100,11 @@ const Hn = (e) => M.create({
|
|
|
8520
9100
|
contentDOM: o
|
|
8521
9101
|
};
|
|
8522
9102
|
}
|
|
8523
|
-
}),
|
|
9103
|
+
}), Zn = $.create({
|
|
8524
9104
|
name: "doc",
|
|
8525
9105
|
topNode: !0,
|
|
8526
9106
|
content: "blockGroup"
|
|
8527
|
-
}),
|
|
9107
|
+
}), Jn = (e) => {
|
|
8528
9108
|
var i;
|
|
8529
9109
|
const t = [
|
|
8530
9110
|
J.ClipboardTextSerializer,
|
|
@@ -8541,7 +9121,7 @@ const Hn = (e) => M.create({
|
|
|
8541
9121
|
fo.extend({ priority: 10 }),
|
|
8542
9122
|
// Comments,
|
|
8543
9123
|
// basics:
|
|
8544
|
-
|
|
9124
|
+
_o,
|
|
8545
9125
|
// marks:
|
|
8546
9126
|
bo.extend({
|
|
8547
9127
|
addKeyboardShortcuts() {
|
|
@@ -8552,8 +9132,8 @@ const Hn = (e) => M.create({
|
|
|
8552
9132
|
}),
|
|
8553
9133
|
...Object.values(e.styleSpecs).map((n) => n.implementation.mark),
|
|
8554
9134
|
Vn,
|
|
8555
|
-
|
|
8556
|
-
|
|
9135
|
+
zn,
|
|
9136
|
+
Rn,
|
|
8557
9137
|
// make sure escape blurs editor, so that we can tab to other elements in the host page (accessibility)
|
|
8558
9138
|
M.create({
|
|
8559
9139
|
name: "OverrideEscape",
|
|
@@ -8564,12 +9144,12 @@ const Hn = (e) => M.create({
|
|
|
8564
9144
|
}
|
|
8565
9145
|
}),
|
|
8566
9146
|
// nodes
|
|
8567
|
-
|
|
8568
|
-
|
|
9147
|
+
Zn,
|
|
9148
|
+
qn.configure({
|
|
8569
9149
|
editor: e.editor,
|
|
8570
9150
|
domAttributes: e.domAttributes
|
|
8571
9151
|
}),
|
|
8572
|
-
|
|
9152
|
+
Xn.configure({
|
|
8573
9153
|
domAttributes: e.domAttributes
|
|
8574
9154
|
}),
|
|
8575
9155
|
...Object.values(e.inlineContentSpecs).filter((n) => n.config !== "link" && n.config !== "text").map((n) => n.implementation.node.configure({
|
|
@@ -8589,13 +9169,13 @@ const Hn = (e) => M.create({
|
|
|
8589
9169
|
domAttributes: e.domAttributes
|
|
8590
9170
|
})
|
|
8591
9171
|
]),
|
|
8592
|
-
|
|
8593
|
-
|
|
8594
|
-
|
|
9172
|
+
Pn(e.editor),
|
|
9173
|
+
Dn(e.editor),
|
|
9174
|
+
jn(e.editor),
|
|
8595
9175
|
ho.configure({ width: 5, color: "#ddeeff" }),
|
|
8596
9176
|
// This needs to be at the bottom of this list, because Key events (such as enter, when selecting a /command),
|
|
8597
9177
|
// should be handled before Enter handlers in other components like splitListItem
|
|
8598
|
-
...e.trailingBlock === void 0 || e.trailingBlock ? [
|
|
9178
|
+
...e.trailingBlock === void 0 || e.trailingBlock ? [On] : []
|
|
8599
9179
|
];
|
|
8600
9180
|
if (e.collaboration) {
|
|
8601
9181
|
if (t.push(
|
|
@@ -8624,20 +9204,20 @@ const Hn = (e) => M.create({
|
|
|
8624
9204
|
const o = e.disableExtensions || [];
|
|
8625
9205
|
return t.filter((n) => !o.includes(n.name));
|
|
8626
9206
|
};
|
|
8627
|
-
function
|
|
9207
|
+
function Yn(e, t) {
|
|
8628
9208
|
const o = [];
|
|
8629
9209
|
return e.forEach((i, n, r) => {
|
|
8630
9210
|
r !== t && o.push(i);
|
|
8631
9211
|
}), L.from(o);
|
|
8632
9212
|
}
|
|
8633
|
-
function
|
|
9213
|
+
function Qn(e, t) {
|
|
8634
9214
|
let o = L.from(e.content);
|
|
8635
9215
|
for (let i = 0; i < o.childCount; i++)
|
|
8636
9216
|
if (o.child(i).type.spec.group === "blockContent") {
|
|
8637
9217
|
const n = [o.child(i)];
|
|
8638
9218
|
if (i + 1 < o.childCount && o.child(i + 1).type.spec.group === "blockGroup") {
|
|
8639
9219
|
const a = o.child(i + 1).child(0).child(0);
|
|
8640
|
-
(a.type.name === "bulletListItem" || a.type.name === "numberedListItem" || a.type.name === "checkListItem") && (n.push(o.child(i + 1)), o =
|
|
9220
|
+
(a.type.name === "bulletListItem" || a.type.name === "numberedListItem" || a.type.name === "checkListItem") && (n.push(o.child(i + 1)), o = Yn(o, i + 1));
|
|
8641
9221
|
}
|
|
8642
9222
|
const r = t.state.schema.nodes.blockContainer.create(
|
|
8643
9223
|
void 0,
|
|
@@ -8645,7 +9225,7 @@ function Jn(e, t) {
|
|
|
8645
9225
|
);
|
|
8646
9226
|
o = o.replaceChild(i, r);
|
|
8647
9227
|
}
|
|
8648
|
-
return new
|
|
9228
|
+
return new D(o, e.openStart, e.openEnd);
|
|
8649
9229
|
}
|
|
8650
9230
|
function be(e) {
|
|
8651
9231
|
return e && Object.fromEntries(
|
|
@@ -8664,7 +9244,7 @@ class Ne {
|
|
|
8664
9244
|
c(this, "BlockNoteEditor", "only for types");
|
|
8665
9245
|
c(this, "Block", "only for types");
|
|
8666
9246
|
c(this, "PartialBlock", "only for types");
|
|
8667
|
-
this.blockSpecs = be(t == null ? void 0 : t.blockSpecs) || gt, this.inlineContentSpecs = be(t == null ? void 0 : t.inlineContentSpecs) ||
|
|
9247
|
+
this.blockSpecs = be(t == null ? void 0 : t.blockSpecs) || gt, this.inlineContentSpecs = be(t == null ? void 0 : t.inlineContentSpecs) || _t, this.styleSpecs = be(t == null ? void 0 : t.styleSpecs) || bt, this.blockSchema = ut(this.blockSpecs), this.inlineContentSchema = pt(
|
|
8668
9248
|
this.inlineContentSpecs
|
|
8669
9249
|
), this.styleSchema = mt(this.styleSpecs);
|
|
8670
9250
|
}
|
|
@@ -8755,8 +9335,8 @@ class Et extends Ft {
|
|
|
8755
9335
|
}
|
|
8756
9336
|
Et.prototype.createView = () => {
|
|
8757
9337
|
};
|
|
8758
|
-
const
|
|
8759
|
-
key:
|
|
9338
|
+
const er = new S("blocknote-placeholder"), tr = (e, t) => new y({
|
|
9339
|
+
key: er,
|
|
8760
9340
|
view: () => {
|
|
8761
9341
|
const o = document.createElement("style"), i = e._tiptapEditor.options.injectNonce;
|
|
8762
9342
|
i && o.setAttribute("nonce", i), e._tiptapEditor.view.root instanceof ShadowRoot ? e._tiptapEditor.view.root.append(o) : e._tiptapEditor.view.root.head.appendChild(o);
|
|
@@ -8800,7 +9380,7 @@ const Yn = new S("blocknote-placeholder"), Qn = (e, t) => new y({
|
|
|
8800
9380
|
return G.create(i, [l]);
|
|
8801
9381
|
}
|
|
8802
9382
|
}
|
|
8803
|
-
}),
|
|
9383
|
+
}), or = {
|
|
8804
9384
|
enableInputRules: !0,
|
|
8805
9385
|
enablePasteRules: !0,
|
|
8806
9386
|
enableCoreExtensions: !1
|
|
@@ -8895,8 +9475,8 @@ class Ct {
|
|
|
8895
9475
|
...t.placeholders
|
|
8896
9476
|
}
|
|
8897
9477
|
};
|
|
8898
|
-
this.schema = i.schema, this.blockImplementations = i.schema.blockSpecs, this.inlineContentImplementations = i.schema.inlineContentSpecs, this.styleImplementations = i.schema.styleSpecs, this.formattingToolbar = new
|
|
8899
|
-
const n =
|
|
9478
|
+
this.schema = i.schema, this.blockImplementations = i.schema.blockSpecs, this.inlineContentImplementations = i.schema.inlineContentSpecs, this.styleImplementations = i.schema.styleSpecs, this.formattingToolbar = new gn(this), this.linkToolbar = new kn(this), this.sideMenu = new Cn(this), this.suggestionMenus = new Tn(this), this.filePanel = new hn(this), E("table", this) && (this.tableHandles = new Nn(this));
|
|
9479
|
+
const n = Jn({
|
|
8900
9480
|
editor: this,
|
|
8901
9481
|
domAttributes: i.domAttributes || {},
|
|
8902
9482
|
blockSpecs: this.schema.blockSpecs,
|
|
@@ -8914,7 +9494,7 @@ class Ct {
|
|
|
8914
9494
|
this.suggestionMenus.plugin,
|
|
8915
9495
|
...this.filePanel ? [this.filePanel.plugin] : [],
|
|
8916
9496
|
...this.tableHandles ? [this.tableHandles.plugin] : [],
|
|
8917
|
-
|
|
9497
|
+
tr(this, i.placeholders)
|
|
8918
9498
|
]
|
|
8919
9499
|
});
|
|
8920
9500
|
n.push(r), this.uploadFile = i.uploadFile, this.resolveFileUrl = i.resolveFileUrl || (async (g) => g), this.headless = i._headless, i.collaboration && i.initialContent && console.warn(
|
|
@@ -8936,7 +9516,7 @@ class Ct {
|
|
|
8936
9516
|
"initialContent must be a non-empty array of blocks, received: " + a
|
|
8937
9517
|
);
|
|
8938
9518
|
const s = {
|
|
8939
|
-
...
|
|
9519
|
+
...or,
|
|
8940
9520
|
...i._tiptapOptions,
|
|
8941
9521
|
content: a,
|
|
8942
9522
|
extensions: [
|
|
@@ -8948,13 +9528,13 @@ class Ct {
|
|
|
8948
9528
|
attributes: {
|
|
8949
9529
|
...(p = (u = i._tiptapOptions) == null ? void 0 : u.editorProps) == null ? void 0 : p.attributes,
|
|
8950
9530
|
...(h = i.domAttributes) == null ? void 0 : h.editor,
|
|
8951
|
-
class:
|
|
9531
|
+
class: j(
|
|
8952
9532
|
"bn-editor",
|
|
8953
9533
|
i.defaultStyles ? "bn-default-styles" : "",
|
|
8954
9534
|
((m = (f = i.domAttributes) == null ? void 0 : f.editor) == null ? void 0 : m.class) || ""
|
|
8955
9535
|
)
|
|
8956
9536
|
},
|
|
8957
|
-
transformPasted:
|
|
9537
|
+
transformPasted: Qn
|
|
8958
9538
|
}
|
|
8959
9539
|
};
|
|
8960
9540
|
this.headless ? this._pmSchema = Kt(s.extensions) : (this._tiptapEditor = new Et(
|
|
@@ -8996,7 +9576,7 @@ class Ct {
|
|
|
8996
9576
|
get document() {
|
|
8997
9577
|
const t = [];
|
|
8998
9578
|
return this._tiptapEditor.state.doc.firstChild.descendants((o) => (t.push(
|
|
8999
|
-
|
|
9579
|
+
w(
|
|
9000
9580
|
o,
|
|
9001
9581
|
this.schema.blockSchema,
|
|
9002
9582
|
this.schema.inlineContentSchema,
|
|
@@ -9013,7 +9593,7 @@ class Ct {
|
|
|
9013
9593
|
getBlock(t) {
|
|
9014
9594
|
const o = typeof t == "string" ? t : t.id;
|
|
9015
9595
|
let i;
|
|
9016
|
-
return this._tiptapEditor.state.doc.firstChild.descendants((n) => typeof i < "u" ? !1 : n.type.name !== "blockContainer" || n.attrs.id !== o ? !0 : (i =
|
|
9596
|
+
return this._tiptapEditor.state.doc.firstChild.descendants((n) => typeof i < "u" ? !1 : n.type.name !== "blockContainer" || n.attrs.id !== o ? !0 : (i = w(
|
|
9017
9597
|
n,
|
|
9018
9598
|
this.schema.blockSchema,
|
|
9019
9599
|
this.schema.inlineContentSchema,
|
|
@@ -9060,7 +9640,7 @@ class Ct {
|
|
|
9060
9640
|
* @returns A snapshot of the current text cursor position.
|
|
9061
9641
|
*/
|
|
9062
9642
|
getTextCursorPosition() {
|
|
9063
|
-
const { node: t, depth: o, startPos: i, endPos: n } =
|
|
9643
|
+
const { node: t, depth: o, startPos: i, endPos: n } = _(
|
|
9064
9644
|
this._tiptapEditor.state.doc,
|
|
9065
9645
|
this._tiptapEditor.state.selection.from
|
|
9066
9646
|
), r = this._tiptapEditor.state.doc.resolve(n).index(o - 1), a = this._tiptapEditor.state.doc.resolve(n + 1).node().childCount;
|
|
@@ -9068,21 +9648,21 @@ class Ct {
|
|
|
9068
9648
|
r > 0 && (s = this._tiptapEditor.state.doc.resolve(i - 2).node());
|
|
9069
9649
|
let l;
|
|
9070
9650
|
return r < a - 1 && (l = this._tiptapEditor.state.doc.resolve(n + 2).node()), {
|
|
9071
|
-
block:
|
|
9651
|
+
block: w(
|
|
9072
9652
|
t,
|
|
9073
9653
|
this.schema.blockSchema,
|
|
9074
9654
|
this.schema.inlineContentSchema,
|
|
9075
9655
|
this.schema.styleSchema,
|
|
9076
9656
|
this.blockCache
|
|
9077
9657
|
),
|
|
9078
|
-
prevBlock: s === void 0 ? void 0 :
|
|
9658
|
+
prevBlock: s === void 0 ? void 0 : w(
|
|
9079
9659
|
s,
|
|
9080
9660
|
this.schema.blockSchema,
|
|
9081
9661
|
this.schema.inlineContentSchema,
|
|
9082
9662
|
this.schema.styleSchema,
|
|
9083
9663
|
this.blockCache
|
|
9084
9664
|
),
|
|
9085
|
-
nextBlock: l === void 0 ? void 0 :
|
|
9665
|
+
nextBlock: l === void 0 ? void 0 : w(
|
|
9086
9666
|
l,
|
|
9087
9667
|
this.schema.blockSchema,
|
|
9088
9668
|
this.schema.inlineContentSchema,
|
|
@@ -9098,7 +9678,7 @@ class Ct {
|
|
|
9098
9678
|
* @param placement Whether the text cursor should be placed at the start or end of the block.
|
|
9099
9679
|
*/
|
|
9100
9680
|
setTextCursorPosition(t, o = "start") {
|
|
9101
|
-
const i = typeof t == "string" ? t : t.id, { posBeforeNode: n } = Le(i, this._tiptapEditor.state.doc), { startPos: r, contentNode: a } =
|
|
9681
|
+
const i = typeof t == "string" ? t : t.id, { posBeforeNode: n } = Le(i, this._tiptapEditor.state.doc), { startPos: r, contentNode: a } = _(
|
|
9102
9682
|
this._tiptapEditor.state.doc,
|
|
9103
9683
|
n + 2
|
|
9104
9684
|
), s = this.schema.blockSchema[a.type.name].content;
|
|
@@ -9125,7 +9705,7 @@ class Ct {
|
|
|
9125
9705
|
return;
|
|
9126
9706
|
const t = [];
|
|
9127
9707
|
return this._tiptapEditor.state.doc.descendants((o, i) => o.type.spec.group !== "blockContent" || i + o.nodeSize < this._tiptapEditor.state.selection.from || i > this._tiptapEditor.state.selection.to ? !0 : (t.push(
|
|
9128
|
-
|
|
9708
|
+
w(
|
|
9129
9709
|
this._tiptapEditor.state.doc.resolve(i).node(),
|
|
9130
9710
|
this.schema.blockSchema,
|
|
9131
9711
|
this.schema.inlineContentSchema,
|
|
@@ -9144,7 +9724,7 @@ class Ct {
|
|
|
9144
9724
|
throw new Error("no editor, but also not headless?");
|
|
9145
9725
|
return !1;
|
|
9146
9726
|
}
|
|
9147
|
-
return this._tiptapEditor.isEditable;
|
|
9727
|
+
return this._tiptapEditor.isEditable === void 0 ? !0 : this._tiptapEditor.isEditable;
|
|
9148
9728
|
}
|
|
9149
9729
|
/**
|
|
9150
9730
|
* Makes the editor editable or locks it, depending on the argument passed.
|
|
@@ -9167,7 +9747,7 @@ class Ct {
|
|
|
9167
9747
|
* `referenceBlock`. Inserts the blocks at the start of the existing block's children if "nested" is used.
|
|
9168
9748
|
*/
|
|
9169
9749
|
insertBlocks(t, o, i = "before") {
|
|
9170
|
-
return
|
|
9750
|
+
return Zi(t, o, i, this);
|
|
9171
9751
|
}
|
|
9172
9752
|
/**
|
|
9173
9753
|
* Updates an existing block in the editor. Since updatedBlock is a PartialBlock object, some fields might not be
|
|
@@ -9177,14 +9757,14 @@ class Ct {
|
|
|
9177
9757
|
* @param update A partial block which defines how the existing block should be changed.
|
|
9178
9758
|
*/
|
|
9179
9759
|
updateBlock(t, o) {
|
|
9180
|
-
return
|
|
9760
|
+
return Ji(t, o, this);
|
|
9181
9761
|
}
|
|
9182
9762
|
/**
|
|
9183
9763
|
* Removes existing blocks from the editor. Throws an error if any of the blocks could not be found.
|
|
9184
9764
|
* @param blocksToRemove An array of identifiers for existing blocks that should be removed.
|
|
9185
9765
|
*/
|
|
9186
9766
|
removeBlocks(t) {
|
|
9187
|
-
return
|
|
9767
|
+
return Yi(t, this);
|
|
9188
9768
|
}
|
|
9189
9769
|
/**
|
|
9190
9770
|
* Replaces existing blocks in the editor with new blocks. If the blocks that should be removed are not adjacent or
|
|
@@ -9194,7 +9774,7 @@ class Ct {
|
|
|
9194
9774
|
* @param blocksToInsert An array of partial blocks to replace the old ones with.
|
|
9195
9775
|
*/
|
|
9196
9776
|
replaceBlocks(t, o) {
|
|
9197
|
-
return
|
|
9777
|
+
return Qi(t, o, this);
|
|
9198
9778
|
}
|
|
9199
9779
|
/**
|
|
9200
9780
|
* Insert a piece of content at the current cursor position.
|
|
@@ -9207,7 +9787,7 @@ class Ct {
|
|
|
9207
9787
|
this.pmSchema,
|
|
9208
9788
|
this.schema.styleSchema
|
|
9209
9789
|
);
|
|
9210
|
-
|
|
9790
|
+
en(
|
|
9211
9791
|
{
|
|
9212
9792
|
from: this._tiptapEditor.state.selection.from,
|
|
9213
9793
|
to: this._tiptapEditor.state.selection.to
|
|
@@ -9307,7 +9887,7 @@ class Ct {
|
|
|
9307
9887
|
* Checks if the block containing the text cursor can be nested.
|
|
9308
9888
|
*/
|
|
9309
9889
|
canNestBlock() {
|
|
9310
|
-
const { startPos: t, depth: o } =
|
|
9890
|
+
const { startPos: t, depth: o } = _(
|
|
9311
9891
|
this._tiptapEditor.state.doc,
|
|
9312
9892
|
this._tiptapEditor.state.selection.from
|
|
9313
9893
|
);
|
|
@@ -9323,7 +9903,7 @@ class Ct {
|
|
|
9323
9903
|
* Checks if the block containing the text cursor is nested.
|
|
9324
9904
|
*/
|
|
9325
9905
|
canUnnestBlock() {
|
|
9326
|
-
const { depth: t } =
|
|
9906
|
+
const { depth: t } = _(
|
|
9327
9907
|
this._tiptapEditor.state.doc,
|
|
9328
9908
|
this._tiptapEditor.state.selection.from
|
|
9329
9909
|
);
|
|
@@ -9365,7 +9945,7 @@ class Ct {
|
|
|
9365
9945
|
* @returns The blocks parsed from the HTML string.
|
|
9366
9946
|
*/
|
|
9367
9947
|
async tryParseHTMLToBlocks(t) {
|
|
9368
|
-
return
|
|
9948
|
+
return vt(
|
|
9369
9949
|
t,
|
|
9370
9950
|
this.schema.blockSchema,
|
|
9371
9951
|
this.schema.inlineContentSchema,
|
|
@@ -9380,7 +9960,7 @@ class Ct {
|
|
|
9380
9960
|
* @returns The blocks, serialized as a Markdown string.
|
|
9381
9961
|
*/
|
|
9382
9962
|
async blocksToMarkdownLossy(t = this.document) {
|
|
9383
|
-
return
|
|
9963
|
+
return nn(t, this.pmSchema, this, {});
|
|
9384
9964
|
}
|
|
9385
9965
|
/**
|
|
9386
9966
|
* Creates a list of blocks from a Markdown string. Tries to create `Block` and `InlineNode` objects based on
|
|
@@ -9390,7 +9970,7 @@ class Ct {
|
|
|
9390
9970
|
* @returns The blocks parsed from the Markdown string.
|
|
9391
9971
|
*/
|
|
9392
9972
|
async tryParseMarkdownToBlocks(t) {
|
|
9393
|
-
return
|
|
9973
|
+
return un(
|
|
9394
9974
|
t,
|
|
9395
9975
|
this.schema.blockSchema,
|
|
9396
9976
|
this.schema.inlineContentSchema,
|
|
@@ -9449,22 +10029,22 @@ class Ct {
|
|
|
9449
10029
|
);
|
|
9450
10030
|
}
|
|
9451
10031
|
}
|
|
9452
|
-
let ne,
|
|
9453
|
-
async function
|
|
9454
|
-
if (
|
|
10032
|
+
let ne, _e;
|
|
10033
|
+
async function ea(e, t) {
|
|
10034
|
+
if (!$i("text", e))
|
|
9455
10035
|
return [];
|
|
9456
10036
|
if (!ne) {
|
|
9457
|
-
ne = import("@emoji-mart/data"),
|
|
10037
|
+
ne = import("@emoji-mart/data"), _e = await import("emoji-mart");
|
|
9458
10038
|
const n = (await ne).default;
|
|
9459
|
-
await
|
|
10039
|
+
await _e.init({ data: n });
|
|
9460
10040
|
}
|
|
9461
10041
|
const o = (await ne).default;
|
|
9462
|
-
return (t.trim() === "" ? Object.values(o.emojis) : await
|
|
10042
|
+
return (t.trim() === "" ? Object.values(o.emojis) : await _e.SearchIndex.search(t)).map((n) => ({
|
|
9463
10043
|
id: n.skins[0].native,
|
|
9464
10044
|
onItemClick: () => e.insertInlineContent(n.skins[0].native + " ")
|
|
9465
10045
|
}));
|
|
9466
10046
|
}
|
|
9467
|
-
function
|
|
10047
|
+
function ke(e = "") {
|
|
9468
10048
|
return typeof e == "string" ? [
|
|
9469
10049
|
{
|
|
9470
10050
|
type: "text",
|
|
@@ -9474,16 +10054,16 @@ function _e(e = "") {
|
|
|
9474
10054
|
] : e;
|
|
9475
10055
|
}
|
|
9476
10056
|
function St(e) {
|
|
9477
|
-
return typeof e == "string" ?
|
|
10057
|
+
return typeof e == "string" ? ke(e) : Array.isArray(e) ? e.flatMap((t) => typeof t == "string" ? ke(t) : ot(t) ? {
|
|
9478
10058
|
...t,
|
|
9479
|
-
content:
|
|
10059
|
+
content: ke(t.content)
|
|
9480
10060
|
} : te(t) ? t : {
|
|
9481
10061
|
props: {},
|
|
9482
10062
|
...t,
|
|
9483
10063
|
content: St(t.content)
|
|
9484
10064
|
}) : e;
|
|
9485
10065
|
}
|
|
9486
|
-
function
|
|
10066
|
+
function ta(e, t) {
|
|
9487
10067
|
return t.map(
|
|
9488
10068
|
(o) => Mt(e, o)
|
|
9489
10069
|
);
|
|
@@ -9507,138 +10087,141 @@ function Mt(e, t) {
|
|
|
9507
10087
|
children: o.children.map((i) => Mt(e, i))
|
|
9508
10088
|
};
|
|
9509
10089
|
}
|
|
9510
|
-
function
|
|
9511
|
-
e.id || (e.id = oe.options.generateID()), e.children &&
|
|
10090
|
+
function ir(e) {
|
|
10091
|
+
e.id || (e.id = oe.options.generateID()), e.children && nr(e.children);
|
|
9512
10092
|
}
|
|
9513
|
-
function
|
|
10093
|
+
function nr(e) {
|
|
9514
10094
|
for (const t of e)
|
|
9515
|
-
|
|
10095
|
+
ir(t);
|
|
9516
10096
|
}
|
|
9517
10097
|
export {
|
|
9518
|
-
|
|
10098
|
+
ei as AudioBlock,
|
|
9519
10099
|
Ct as BlockNoteEditor,
|
|
9520
10100
|
Ne as BlockNoteSchema,
|
|
9521
|
-
|
|
9522
|
-
|
|
9523
|
-
|
|
9524
|
-
|
|
9525
|
-
|
|
9526
|
-
|
|
9527
|
-
|
|
9528
|
-
|
|
9529
|
-
|
|
9530
|
-
|
|
9531
|
-
|
|
9532
|
-
|
|
9533
|
-
|
|
10101
|
+
ai as FileBlock,
|
|
10102
|
+
hn as FilePanelProsemirrorPlugin,
|
|
10103
|
+
pn as FilePanelView,
|
|
10104
|
+
gn as FormattingToolbarProsemirrorPlugin,
|
|
10105
|
+
mn as FormattingToolbarView,
|
|
10106
|
+
vt as HTMLToBlocks,
|
|
10107
|
+
pi as ImageBlock,
|
|
10108
|
+
kn as LinkToolbarProsemirrorPlugin,
|
|
10109
|
+
Cn as SideMenuProsemirrorPlugin,
|
|
10110
|
+
xn as SideMenuView,
|
|
10111
|
+
Tn as SuggestionMenuProseMirrorPlugin,
|
|
10112
|
+
Nn as TableHandlesProsemirrorPlugin,
|
|
10113
|
+
An as TableHandlesView,
|
|
9534
10114
|
oe as UniqueID,
|
|
9535
10115
|
I as UnreachableCaseError,
|
|
9536
|
-
|
|
9537
|
-
|
|
9538
|
-
|
|
10116
|
+
_i as VideoBlock,
|
|
10117
|
+
ir as addIdsToBlock,
|
|
10118
|
+
nr as addIdsToBlocks,
|
|
9539
10119
|
Vo as addInlineContentAttributes,
|
|
9540
|
-
|
|
9541
|
-
|
|
9542
|
-
|
|
9543
|
-
|
|
9544
|
-
|
|
9545
|
-
|
|
9546
|
-
|
|
9547
|
-
|
|
10120
|
+
Oo as addInlineContentKeyboardShortcuts,
|
|
10121
|
+
$o as addStyleAttributes,
|
|
10122
|
+
Rr as assertEmpty,
|
|
10123
|
+
Zo as audioBlockConfig,
|
|
10124
|
+
Yo as audioParse,
|
|
10125
|
+
Xo as audioPropSchema,
|
|
10126
|
+
Jo as audioRender,
|
|
10127
|
+
Qo as audioToExternalHTML,
|
|
9548
10128
|
P as blockToNode,
|
|
9549
|
-
|
|
10129
|
+
nn as blocksToMarkdown,
|
|
9550
10130
|
ae as camelToDataKebab,
|
|
9551
|
-
|
|
9552
|
-
|
|
9553
|
-
|
|
9554
|
-
|
|
9555
|
-
|
|
9556
|
-
|
|
10131
|
+
Zr as checkBlockHasDefaultProp,
|
|
10132
|
+
qi as checkBlockIsDefaultType,
|
|
10133
|
+
$r as checkBlockIsFileBlock,
|
|
10134
|
+
Xr as checkBlockIsFileBlockWithPlaceholder,
|
|
10135
|
+
qr as checkBlockIsFileBlockWithPreview,
|
|
10136
|
+
Xi as checkBlockTypeHasDefaultProp,
|
|
9557
10137
|
E as checkDefaultBlockTypeInSchema,
|
|
9558
|
-
|
|
10138
|
+
$i as checkDefaultInlineContentTypeInSchema,
|
|
9559
10139
|
Ie as cleanHTMLToMarkdown,
|
|
9560
10140
|
Se as contentNodeToInlineContent,
|
|
9561
10141
|
ce as createAddFileButton,
|
|
9562
10142
|
le as createBlockSpec,
|
|
9563
10143
|
q as createBlockSpecFromStronglyTypedTiptapNode,
|
|
10144
|
+
z as createDefaultBlockDOMOutputSpec,
|
|
9564
10145
|
de as createDefaultFilePreview,
|
|
9565
10146
|
se as createExternalHTMLExporter,
|
|
9566
10147
|
Te as createFigureWithCaption,
|
|
9567
10148
|
R as createFileAndCaptionWrapper,
|
|
9568
|
-
|
|
9569
|
-
|
|
10149
|
+
Fr as createInlineContentSpec,
|
|
10150
|
+
Go as createInlineContentSpecFromTipTapNode,
|
|
9570
10151
|
ct as createInternalBlockSpec,
|
|
9571
10152
|
Me as createInternalHTMLSerializer,
|
|
9572
|
-
|
|
10153
|
+
Fo as createInternalInlineContentSpec,
|
|
9573
10154
|
ht as createInternalStyleSpec,
|
|
9574
10155
|
pe as createLinkWithCaption,
|
|
9575
10156
|
ft as createResizeHandlesWrapper,
|
|
9576
|
-
|
|
9577
|
-
|
|
10157
|
+
V as createStronglyTypedTiptapNode,
|
|
10158
|
+
Gr as createStyleSpec,
|
|
9578
10159
|
U as createStyleSpecFromTipTapMark,
|
|
9579
|
-
|
|
9580
|
-
|
|
10160
|
+
Jr as createSuggestionMenu,
|
|
10161
|
+
Ki as defaultBlockSchema,
|
|
9581
10162
|
gt as defaultBlockSpecs,
|
|
9582
|
-
|
|
9583
|
-
|
|
9584
|
-
|
|
9585
|
-
|
|
10163
|
+
Ve as defaultBlockToHTML,
|
|
10164
|
+
Wi as defaultInlineContentSchema,
|
|
10165
|
+
_t as defaultInlineContentSpecs,
|
|
10166
|
+
k as defaultProps,
|
|
10167
|
+
Wr as defaultStyleSchema,
|
|
9586
10168
|
bt as defaultStyleSpecs,
|
|
9587
|
-
|
|
9588
|
-
|
|
9589
|
-
|
|
9590
|
-
|
|
9591
|
-
|
|
9592
|
-
|
|
9593
|
-
|
|
10169
|
+
oi as fileBlockConfig,
|
|
10170
|
+
ni as fileParse,
|
|
10171
|
+
ti as filePropSchema,
|
|
10172
|
+
ii as fileRender,
|
|
10173
|
+
ri as fileToExternalHTML,
|
|
10174
|
+
Or as filenameFromURL,
|
|
10175
|
+
Qr as filterSuggestionItems,
|
|
9594
10176
|
H as formatKeyboardShortcut,
|
|
9595
|
-
|
|
9596
|
-
|
|
9597
|
-
|
|
10177
|
+
fn as formattingToolbarPluginKey,
|
|
10178
|
+
zo as getBlockFromPos,
|
|
10179
|
+
Jn as getBlockNoteExtensions,
|
|
9598
10180
|
ut as getBlockSchemaFromSpecs,
|
|
9599
|
-
|
|
9600
|
-
|
|
10181
|
+
C as getCurrentBlockContentType,
|
|
10182
|
+
ea as getDefaultEmojiPickerItems,
|
|
10183
|
+
Yr as getDefaultSlashMenuItems,
|
|
9601
10184
|
he as getDraggableBlockFromElement,
|
|
9602
|
-
|
|
10185
|
+
Ko as getInlineContentParseRules,
|
|
9603
10186
|
pt as getInlineContentSchemaFromSpecs,
|
|
9604
|
-
|
|
9605
|
-
|
|
10187
|
+
Ro as getParseRules,
|
|
10188
|
+
qo as getStyleParseRules,
|
|
9606
10189
|
mt as getStyleSchemaFromSpecs,
|
|
9607
|
-
|
|
9608
|
-
|
|
9609
|
-
|
|
9610
|
-
|
|
9611
|
-
|
|
10190
|
+
li as imageBlockConfig,
|
|
10191
|
+
ci as imageParse,
|
|
10192
|
+
si as imagePropSchema,
|
|
10193
|
+
di as imageRender,
|
|
10194
|
+
ui as imageToExternalHTML,
|
|
9612
10195
|
lt as inheritedProps,
|
|
9613
10196
|
W as inlineContentToNodes,
|
|
9614
10197
|
x as insertOrUpdateBlock,
|
|
9615
|
-
|
|
9616
|
-
|
|
10198
|
+
jo as isAppleOS,
|
|
10199
|
+
ze as isLinkInlineContent,
|
|
9617
10200
|
ot as isPartialLinkInlineContent,
|
|
9618
10201
|
Vr as isSafari,
|
|
9619
10202
|
te as isStyledTextInlineContent,
|
|
9620
|
-
|
|
9621
|
-
|
|
9622
|
-
|
|
9623
|
-
|
|
9624
|
-
|
|
10203
|
+
_n as linkToolbarPluginKey,
|
|
10204
|
+
zr as locales,
|
|
10205
|
+
un as markdownToBlocks,
|
|
10206
|
+
j as mergeCSSClasses,
|
|
10207
|
+
w as nodeToBlock,
|
|
9625
10208
|
rt as nodeToCustomInlineContent,
|
|
9626
|
-
|
|
10209
|
+
Oe as parseEmbedElement,
|
|
9627
10210
|
ue as parseFigureElement,
|
|
9628
10211
|
Ge as parseImageElement,
|
|
9629
10212
|
Mt as partialBlockToBlockForTesting,
|
|
9630
|
-
|
|
10213
|
+
ta as partialBlocksToBlocksForTesting,
|
|
9631
10214
|
dt as propsToAttributes,
|
|
9632
|
-
|
|
9633
|
-
|
|
10215
|
+
En as sideMenuPluginKey,
|
|
10216
|
+
Wo as stylePropsToAttributes,
|
|
9634
10217
|
it as tableContentToNodes,
|
|
9635
10218
|
Q as tableHandlesPluginKey,
|
|
9636
|
-
|
|
9637
|
-
|
|
9638
|
-
|
|
9639
|
-
|
|
9640
|
-
|
|
9641
|
-
|
|
10219
|
+
Kr as uploadToTmpFilesDotOrg_DEV_ONLY,
|
|
10220
|
+
mi as videoBlockConfig,
|
|
10221
|
+
gi as videoParse,
|
|
10222
|
+
hi as videoPropSchema,
|
|
10223
|
+
fi as videoRender,
|
|
10224
|
+
bi as videoToExternalHTML,
|
|
9642
10225
|
fe as wrapInBlockStructure
|
|
9643
10226
|
};
|
|
9644
10227
|
//# sourceMappingURL=blocknote.js.map
|