@bigbinary/neeto-editor 1.37.0 → 1.38.0
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/Editor.js +635 -43
- package/dist/Editor.js.map +1 -1
- package/dist/FormikEditor.js +1 -1
- package/dist/Menu.js +1 -1
- package/dist/{chunk-0da548f5.js → chunk-2e46d1cd.js} +2 -2
- package/dist/{chunk-0da548f5.js.map → chunk-2e46d1cd.js.map} +1 -1
- package/dist/cjs/Editor.cjs.js +805 -212
- package/dist/cjs/Editor.cjs.js.map +1 -1
- package/dist/cjs/FormikEditor.cjs.js +1 -1
- package/dist/cjs/Menu.cjs.js +1 -1
- package/dist/cjs/{chunk-b40b9bbf.cjs.js → chunk-cdd8edb9.cjs.js} +3 -1
- package/dist/cjs/{chunk-b40b9bbf.cjs.js.map → chunk-cdd8edb9.cjs.js.map} +1 -1
- package/dist/cjs/index.cjs.js +2 -2
- package/dist/editor-stats.html +1 -1
- package/dist/index.js +2 -2
- package/package.json +1 -1
package/dist/cjs/Editor.cjs.js
CHANGED
|
@@ -5,7 +5,7 @@ var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
|
5
5
|
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
6
6
|
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
7
7
|
var React = require('react');
|
|
8
|
-
var Menu$
|
|
8
|
+
var Menu$4 = require('./chunk-cdd8edb9.cjs.js');
|
|
9
9
|
var classnames = require('classnames');
|
|
10
10
|
var constants = require('./chunk-d5fbc51f.cjs.js');
|
|
11
11
|
var neetoCist = require('@bigbinary/neeto-cist');
|
|
@@ -32,6 +32,7 @@ var i18n = require('i18next');
|
|
|
32
32
|
var initializers = require('@bigbinary/neeto-commons-frontend/initializers');
|
|
33
33
|
var _extends = require('@babel/runtime/helpers/extends');
|
|
34
34
|
var constants$1 = require('./chunk-8dbdfa81.cjs.js');
|
|
35
|
+
var Tippy = require('@tippyjs/react');
|
|
35
36
|
var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
|
|
36
37
|
var formik = require('@bigbinary/neetoui/formik');
|
|
37
38
|
var Attachments = require('./chunk-fd3c4fe9.cjs.js');
|
|
@@ -41,7 +42,6 @@ require('axios');
|
|
|
41
42
|
require('react-colorful');
|
|
42
43
|
require('@bigbinary/neeto-molecules/DynamicVariables');
|
|
43
44
|
require('./chunk-1b36f0ca.cjs.js');
|
|
44
|
-
require('@tippyjs/react');
|
|
45
45
|
require('yup');
|
|
46
46
|
|
|
47
47
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -81,6 +81,7 @@ var _possibleConstructorReturn__default = /*#__PURE__*/_interopDefaultLegacy(_po
|
|
|
81
81
|
var _getPrototypeOf__default = /*#__PURE__*/_interopDefaultLegacy(_getPrototypeOf);
|
|
82
82
|
var _inherits__default = /*#__PURE__*/_interopDefaultLegacy(_inherits);
|
|
83
83
|
var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
|
|
84
|
+
var Tippy__default = /*#__PURE__*/_interopDefaultLegacy(Tippy);
|
|
84
85
|
|
|
85
86
|
var ErrorWrapper = function ErrorWrapper(_ref) {
|
|
86
87
|
var error = _ref.error,
|
|
@@ -140,7 +141,7 @@ var CharacterCountWrapper = function CharacterCountWrapper(_ref) {
|
|
|
140
141
|
* This extension allows you to count the characters and words of your document.
|
|
141
142
|
* @see https://tiptap.dev/api/extensions/character-count
|
|
142
143
|
*/
|
|
143
|
-
const CharacterCount = Menu$
|
|
144
|
+
const CharacterCount = Menu$4.Extension.create({
|
|
144
145
|
name: 'characterCount',
|
|
145
146
|
addOptions() {
|
|
146
147
|
return {
|
|
@@ -235,7 +236,7 @@ const pasteRegex$2 = /(?:^|\s)(`(?!\s+`)((?:[^`]+))`(?!\s+`))/g;
|
|
|
235
236
|
* This extension allows you to mark text as inline code.
|
|
236
237
|
* @see https://tiptap.dev/api/marks/code
|
|
237
238
|
*/
|
|
238
|
-
const Code = Menu$
|
|
239
|
+
const Code = Menu$4.Mark.create({
|
|
239
240
|
name: 'code',
|
|
240
241
|
addOptions() {
|
|
241
242
|
return {
|
|
@@ -251,7 +252,7 @@ const Code = Menu$3.Mark.create({
|
|
|
251
252
|
];
|
|
252
253
|
},
|
|
253
254
|
renderHTML({ HTMLAttributes }) {
|
|
254
|
-
return ['code', Menu$
|
|
255
|
+
return ['code', Menu$4.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
|
|
255
256
|
},
|
|
256
257
|
addCommands() {
|
|
257
258
|
return {
|
|
@@ -273,7 +274,7 @@ const Code = Menu$3.Mark.create({
|
|
|
273
274
|
},
|
|
274
275
|
addInputRules() {
|
|
275
276
|
return [
|
|
276
|
-
Menu$
|
|
277
|
+
Menu$4.markInputRule({
|
|
277
278
|
find: inputRegex$5,
|
|
278
279
|
type: this.type,
|
|
279
280
|
}),
|
|
@@ -281,7 +282,7 @@ const Code = Menu$3.Mark.create({
|
|
|
281
282
|
},
|
|
282
283
|
addPasteRules() {
|
|
283
284
|
return [
|
|
284
|
-
Menu$
|
|
285
|
+
Menu$4.markPasteRule({
|
|
285
286
|
find: pasteRegex$2,
|
|
286
287
|
type: this.type,
|
|
287
288
|
}),
|
|
@@ -294,7 +295,7 @@ const Code = Menu$3.Mark.create({
|
|
|
294
295
|
* for the `textColor` and `backgroundColor` extensions.
|
|
295
296
|
* @see https://www.tiptap.dev/api/marks/text-style
|
|
296
297
|
*/
|
|
297
|
-
const TextStyle$2 = Menu$
|
|
298
|
+
const TextStyle$2 = Menu$4.Mark.create({
|
|
298
299
|
name: 'textStyle',
|
|
299
300
|
addOptions() {
|
|
300
301
|
return {
|
|
@@ -316,12 +317,12 @@ const TextStyle$2 = Menu$3.Mark.create({
|
|
|
316
317
|
];
|
|
317
318
|
},
|
|
318
319
|
renderHTML({ HTMLAttributes }) {
|
|
319
|
-
return ['span', Menu$
|
|
320
|
+
return ['span', Menu$4.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
|
|
320
321
|
},
|
|
321
322
|
addCommands() {
|
|
322
323
|
return {
|
|
323
324
|
removeEmptyTextStyle: () => ({ state, commands }) => {
|
|
324
|
-
const attributes = Menu$
|
|
325
|
+
const attributes = Menu$4.getMarkAttributes(state, this.type);
|
|
325
326
|
const hasStyles = Object.entries(attributes).some(([, value]) => !!value);
|
|
326
327
|
if (hasStyles) {
|
|
327
328
|
return true;
|
|
@@ -336,7 +337,7 @@ const TextStyle$2 = Menu$3.Mark.create({
|
|
|
336
337
|
* This extension allows you to color your text.
|
|
337
338
|
* @see https://tiptap.dev/api/extensions/color
|
|
338
339
|
*/
|
|
339
|
-
const Color = Menu$
|
|
340
|
+
const Color = Menu$4.Extension.create({
|
|
340
341
|
name: 'color',
|
|
341
342
|
addOptions() {
|
|
342
343
|
return {
|
|
@@ -385,7 +386,7 @@ const Color = Menu$3.Extension.create({
|
|
|
385
386
|
* The default document node which represents the top level node of the editor.
|
|
386
387
|
* @see https://tiptap.dev/api/nodes/document
|
|
387
388
|
*/
|
|
388
|
-
const Document = Menu$
|
|
389
|
+
const Document = Menu$4.Node.create({
|
|
389
390
|
name: 'doc',
|
|
390
391
|
topNode: true,
|
|
391
392
|
content: 'block+',
|
|
@@ -395,7 +396,7 @@ const Document = Menu$3.Node.create({
|
|
|
395
396
|
* This extension allows you to add a class to the focused node.
|
|
396
397
|
* @see https://www.tiptap.dev/api/extensions/focus
|
|
397
398
|
*/
|
|
398
|
-
const FocusClasses = Menu$
|
|
399
|
+
const FocusClasses = Menu$4.Extension.create({
|
|
399
400
|
name: 'focus',
|
|
400
401
|
addOptions() {
|
|
401
402
|
return {
|
|
@@ -413,7 +414,7 @@ const FocusClasses = Menu$3.Extension.create({
|
|
|
413
414
|
const { anchor } = selection;
|
|
414
415
|
const decorations = [];
|
|
415
416
|
if (!isEditable || !isFocused) {
|
|
416
|
-
return Menu$
|
|
417
|
+
return Menu$4.DecorationSet.create(doc, []);
|
|
417
418
|
}
|
|
418
419
|
// Maximum Levels
|
|
419
420
|
let maxLevels = 0;
|
|
@@ -445,11 +446,11 @@ const FocusClasses = Menu$3.Extension.create({
|
|
|
445
446
|
if (outOfScope) {
|
|
446
447
|
return this.options.mode === 'deepest';
|
|
447
448
|
}
|
|
448
|
-
decorations.push(Menu$
|
|
449
|
+
decorations.push(Menu$4.Decoration.node(pos, pos + node.nodeSize, {
|
|
449
450
|
class: this.options.className,
|
|
450
451
|
}));
|
|
451
452
|
});
|
|
452
|
-
return Menu$
|
|
453
|
+
return Menu$4.DecorationSet.create(doc, decorations);
|
|
453
454
|
},
|
|
454
455
|
},
|
|
455
456
|
}),
|
|
@@ -469,7 +470,7 @@ const pasteRegex$1 = /(?:^|\s)(==(?!\s+==)((?:[^=]+))==(?!\s+==))/g;
|
|
|
469
470
|
* This extension allows you to highlight text.
|
|
470
471
|
* @see https://www.tiptap.dev/api/marks/highlight
|
|
471
472
|
*/
|
|
472
|
-
const Highlight = Menu$
|
|
473
|
+
const Highlight = Menu$4.Mark.create({
|
|
473
474
|
name: 'highlight',
|
|
474
475
|
addOptions() {
|
|
475
476
|
return {
|
|
@@ -505,7 +506,7 @@ const Highlight = Menu$3.Mark.create({
|
|
|
505
506
|
];
|
|
506
507
|
},
|
|
507
508
|
renderHTML({ HTMLAttributes }) {
|
|
508
|
-
return ['mark', Menu$
|
|
509
|
+
return ['mark', Menu$4.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
|
|
509
510
|
},
|
|
510
511
|
addCommands() {
|
|
511
512
|
return {
|
|
@@ -527,7 +528,7 @@ const Highlight = Menu$3.Mark.create({
|
|
|
527
528
|
},
|
|
528
529
|
addInputRules() {
|
|
529
530
|
return [
|
|
530
|
-
Menu$
|
|
531
|
+
Menu$4.markInputRule({
|
|
531
532
|
find: inputRegex$4,
|
|
532
533
|
type: this.type,
|
|
533
534
|
}),
|
|
@@ -535,7 +536,7 @@ const Highlight = Menu$3.Mark.create({
|
|
|
535
536
|
},
|
|
536
537
|
addPasteRules() {
|
|
537
538
|
return [
|
|
538
|
-
Menu$
|
|
539
|
+
Menu$4.markPasteRule({
|
|
539
540
|
find: pasteRegex$1,
|
|
540
541
|
type: this.type,
|
|
541
542
|
}),
|
|
@@ -547,7 +548,7 @@ const Highlight = Menu$3.Mark.create({
|
|
|
547
548
|
* This extension allows you to create table cells.
|
|
548
549
|
* @see https://www.tiptap.dev/api/nodes/table-cell
|
|
549
550
|
*/
|
|
550
|
-
const TableCell = Menu$
|
|
551
|
+
const TableCell = Menu$4.Node.create({
|
|
551
552
|
name: 'tableCell',
|
|
552
553
|
addOptions() {
|
|
553
554
|
return {
|
|
@@ -583,7 +584,7 @@ const TableCell = Menu$3.Node.create({
|
|
|
583
584
|
];
|
|
584
585
|
},
|
|
585
586
|
renderHTML({ HTMLAttributes }) {
|
|
586
|
-
return ['td', Menu$
|
|
587
|
+
return ['td', Menu$4.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
|
|
587
588
|
},
|
|
588
589
|
});
|
|
589
590
|
|
|
@@ -591,7 +592,7 @@ const TableCell = Menu$3.Node.create({
|
|
|
591
592
|
* This extension allows you to create table headers.
|
|
592
593
|
* @see https://www.tiptap.dev/api/nodes/table-header
|
|
593
594
|
*/
|
|
594
|
-
const TableHeader = Menu$
|
|
595
|
+
const TableHeader = Menu$4.Node.create({
|
|
595
596
|
name: 'tableHeader',
|
|
596
597
|
addOptions() {
|
|
597
598
|
return {
|
|
@@ -627,7 +628,7 @@ const TableHeader = Menu$3.Node.create({
|
|
|
627
628
|
];
|
|
628
629
|
},
|
|
629
630
|
renderHTML({ HTMLAttributes }) {
|
|
630
|
-
return ['th', Menu$
|
|
631
|
+
return ['th', Menu$4.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
|
|
631
632
|
},
|
|
632
633
|
});
|
|
633
634
|
|
|
@@ -635,7 +636,7 @@ const TableHeader = Menu$3.Node.create({
|
|
|
635
636
|
* This extension allows you to create table rows.
|
|
636
637
|
* @see https://www.tiptap.dev/api/nodes/table-row
|
|
637
638
|
*/
|
|
638
|
-
const TableRow = Menu$
|
|
639
|
+
const TableRow = Menu$4.Node.create({
|
|
639
640
|
name: 'tableRow',
|
|
640
641
|
addOptions() {
|
|
641
642
|
return {
|
|
@@ -650,7 +651,7 @@ const TableRow = Menu$3.Node.create({
|
|
|
650
651
|
];
|
|
651
652
|
},
|
|
652
653
|
renderHTML({ HTMLAttributes }) {
|
|
653
|
-
return ['tr', Menu$
|
|
654
|
+
return ['tr', Menu$4.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
|
|
654
655
|
},
|
|
655
656
|
});
|
|
656
657
|
|
|
@@ -658,7 +659,7 @@ const TableRow = Menu$3.Node.create({
|
|
|
658
659
|
* This extension allows you to create underline text.
|
|
659
660
|
* @see https://www.tiptap.dev/api/marks/underline
|
|
660
661
|
*/
|
|
661
|
-
const Underline = Menu$
|
|
662
|
+
const Underline = Menu$4.Mark.create({
|
|
662
663
|
name: 'underline',
|
|
663
664
|
addOptions() {
|
|
664
665
|
return {
|
|
@@ -678,7 +679,7 @@ const Underline = Menu$3.Mark.create({
|
|
|
678
679
|
];
|
|
679
680
|
},
|
|
680
681
|
renderHTML({ HTMLAttributes }) {
|
|
681
|
-
return ['u', Menu$
|
|
682
|
+
return ['u', Menu$4.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
|
|
682
683
|
},
|
|
683
684
|
addCommands() {
|
|
684
685
|
return {
|
|
@@ -709,7 +710,7 @@ const inputRegex$3 = /^\s*>\s$/;
|
|
|
709
710
|
* This extension allows you to create blockquotes.
|
|
710
711
|
* @see https://tiptap.dev/api/nodes/blockquote
|
|
711
712
|
*/
|
|
712
|
-
const Blockquote = Menu$
|
|
713
|
+
const Blockquote = Menu$4.Node.create({
|
|
713
714
|
name: 'blockquote',
|
|
714
715
|
addOptions() {
|
|
715
716
|
return {
|
|
@@ -725,7 +726,7 @@ const Blockquote = Menu$3.Node.create({
|
|
|
725
726
|
];
|
|
726
727
|
},
|
|
727
728
|
renderHTML({ HTMLAttributes }) {
|
|
728
|
-
return ['blockquote', Menu$
|
|
729
|
+
return ['blockquote', Menu$4.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
|
|
729
730
|
},
|
|
730
731
|
addCommands() {
|
|
731
732
|
return {
|
|
@@ -747,7 +748,7 @@ const Blockquote = Menu$3.Node.create({
|
|
|
747
748
|
},
|
|
748
749
|
addInputRules() {
|
|
749
750
|
return [
|
|
750
|
-
Menu$
|
|
751
|
+
Menu$4.wrappingInputRule({
|
|
751
752
|
find: inputRegex$3,
|
|
752
753
|
type: this.type,
|
|
753
754
|
}),
|
|
@@ -775,7 +776,7 @@ const underscorePasteRegex$1 = /(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))/g;
|
|
|
775
776
|
* This extension allows you to mark text as bold.
|
|
776
777
|
* @see https://tiptap.dev/api/marks/bold
|
|
777
778
|
*/
|
|
778
|
-
const Bold = Menu$
|
|
779
|
+
const Bold = Menu$4.Mark.create({
|
|
779
780
|
name: 'bold',
|
|
780
781
|
addOptions() {
|
|
781
782
|
return {
|
|
@@ -798,7 +799,7 @@ const Bold = Menu$3.Mark.create({
|
|
|
798
799
|
];
|
|
799
800
|
},
|
|
800
801
|
renderHTML({ HTMLAttributes }) {
|
|
801
|
-
return ['strong', Menu$
|
|
802
|
+
return ['strong', Menu$4.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
|
|
802
803
|
},
|
|
803
804
|
addCommands() {
|
|
804
805
|
return {
|
|
@@ -821,11 +822,11 @@ const Bold = Menu$3.Mark.create({
|
|
|
821
822
|
},
|
|
822
823
|
addInputRules() {
|
|
823
824
|
return [
|
|
824
|
-
Menu$
|
|
825
|
+
Menu$4.markInputRule({
|
|
825
826
|
find: starInputRegex$1,
|
|
826
827
|
type: this.type,
|
|
827
828
|
}),
|
|
828
|
-
Menu$
|
|
829
|
+
Menu$4.markInputRule({
|
|
829
830
|
find: underscoreInputRegex$1,
|
|
830
831
|
type: this.type,
|
|
831
832
|
}),
|
|
@@ -833,11 +834,11 @@ const Bold = Menu$3.Mark.create({
|
|
|
833
834
|
},
|
|
834
835
|
addPasteRules() {
|
|
835
836
|
return [
|
|
836
|
-
Menu$
|
|
837
|
+
Menu$4.markPasteRule({
|
|
837
838
|
find: starPasteRegex$1,
|
|
838
839
|
type: this.type,
|
|
839
840
|
}),
|
|
840
|
-
Menu$
|
|
841
|
+
Menu$4.markPasteRule({
|
|
841
842
|
find: underscorePasteRegex$1,
|
|
842
843
|
type: this.type,
|
|
843
844
|
}),
|
|
@@ -849,7 +850,7 @@ const Bold = Menu$3.Mark.create({
|
|
|
849
850
|
* This extension allows you to create list items.
|
|
850
851
|
* @see https://www.tiptap.dev/api/nodes/list-item
|
|
851
852
|
*/
|
|
852
|
-
const ListItem$2 = Menu$
|
|
853
|
+
const ListItem$2 = Menu$4.Node.create({
|
|
853
854
|
name: 'listItem',
|
|
854
855
|
addOptions() {
|
|
855
856
|
return {
|
|
@@ -868,7 +869,7 @@ const ListItem$2 = Menu$3.Node.create({
|
|
|
868
869
|
];
|
|
869
870
|
},
|
|
870
871
|
renderHTML({ HTMLAttributes }) {
|
|
871
|
-
return ['li', Menu$
|
|
872
|
+
return ['li', Menu$4.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
|
|
872
873
|
},
|
|
873
874
|
addKeyboardShortcuts() {
|
|
874
875
|
return {
|
|
@@ -884,7 +885,7 @@ const ListItem$2 = Menu$3.Node.create({
|
|
|
884
885
|
* for the `textColor` and `backgroundColor` extensions.
|
|
885
886
|
* @see https://www.tiptap.dev/api/marks/text-style
|
|
886
887
|
*/
|
|
887
|
-
const TextStyle$1 = Menu$
|
|
888
|
+
const TextStyle$1 = Menu$4.Mark.create({
|
|
888
889
|
name: 'textStyle',
|
|
889
890
|
addOptions() {
|
|
890
891
|
return {
|
|
@@ -906,12 +907,12 @@ const TextStyle$1 = Menu$3.Mark.create({
|
|
|
906
907
|
];
|
|
907
908
|
},
|
|
908
909
|
renderHTML({ HTMLAttributes }) {
|
|
909
|
-
return ['span', Menu$
|
|
910
|
+
return ['span', Menu$4.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
|
|
910
911
|
},
|
|
911
912
|
addCommands() {
|
|
912
913
|
return {
|
|
913
914
|
removeEmptyTextStyle: () => ({ state, commands }) => {
|
|
914
|
-
const attributes = Menu$
|
|
915
|
+
const attributes = Menu$4.getMarkAttributes(state, this.type);
|
|
915
916
|
const hasStyles = Object.entries(attributes).some(([, value]) => !!value);
|
|
916
917
|
if (hasStyles) {
|
|
917
918
|
return true;
|
|
@@ -932,7 +933,7 @@ const inputRegex$2 = /^\s*([-+*])\s$/;
|
|
|
932
933
|
* @see https://tiptap.dev/api/nodes/bullet-list
|
|
933
934
|
* @see https://tiptap.dev/api/nodes/list-item.
|
|
934
935
|
*/
|
|
935
|
-
const BulletList = Menu$
|
|
936
|
+
const BulletList = Menu$4.Node.create({
|
|
936
937
|
name: 'bulletList',
|
|
937
938
|
addOptions() {
|
|
938
939
|
return {
|
|
@@ -952,7 +953,7 @@ const BulletList = Menu$3.Node.create({
|
|
|
952
953
|
];
|
|
953
954
|
},
|
|
954
955
|
renderHTML({ HTMLAttributes }) {
|
|
955
|
-
return ['ul', Menu$
|
|
956
|
+
return ['ul', Menu$4.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
|
|
956
957
|
},
|
|
957
958
|
addCommands() {
|
|
958
959
|
return {
|
|
@@ -970,12 +971,12 @@ const BulletList = Menu$3.Node.create({
|
|
|
970
971
|
};
|
|
971
972
|
},
|
|
972
973
|
addInputRules() {
|
|
973
|
-
let inputRule = Menu$
|
|
974
|
+
let inputRule = Menu$4.wrappingInputRule({
|
|
974
975
|
find: inputRegex$2,
|
|
975
976
|
type: this.type,
|
|
976
977
|
});
|
|
977
978
|
if (this.options.keepMarks || this.options.keepAttributes) {
|
|
978
|
-
inputRule = Menu$
|
|
979
|
+
inputRule = Menu$4.wrappingInputRule({
|
|
979
980
|
find: inputRegex$2,
|
|
980
981
|
type: this.type,
|
|
981
982
|
keepMarks: this.options.keepMarks,
|
|
@@ -1002,7 +1003,7 @@ const tildeInputRegex = /^~~~([a-z]+)?[\s\n]$/;
|
|
|
1002
1003
|
* This extension allows you to create code blocks.
|
|
1003
1004
|
* @see https://tiptap.dev/api/nodes/code-block
|
|
1004
1005
|
*/
|
|
1005
|
-
const CodeBlock$1 = Menu$
|
|
1006
|
+
const CodeBlock$1 = Menu$4.Node.create({
|
|
1006
1007
|
name: 'codeBlock',
|
|
1007
1008
|
addOptions() {
|
|
1008
1009
|
return {
|
|
@@ -1049,7 +1050,7 @@ const CodeBlock$1 = Menu$3.Node.create({
|
|
|
1049
1050
|
renderHTML({ node, HTMLAttributes }) {
|
|
1050
1051
|
return [
|
|
1051
1052
|
'pre',
|
|
1052
|
-
Menu$
|
|
1053
|
+
Menu$4.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes),
|
|
1053
1054
|
[
|
|
1054
1055
|
'code',
|
|
1055
1056
|
{
|
|
@@ -1140,14 +1141,14 @@ const CodeBlock$1 = Menu$3.Node.create({
|
|
|
1140
1141
|
},
|
|
1141
1142
|
addInputRules() {
|
|
1142
1143
|
return [
|
|
1143
|
-
Menu$
|
|
1144
|
+
Menu$4.textblockTypeInputRule({
|
|
1144
1145
|
find: backtickInputRegex,
|
|
1145
1146
|
type: this.type,
|
|
1146
1147
|
getAttributes: match => ({
|
|
1147
1148
|
language: match[1],
|
|
1148
1149
|
}),
|
|
1149
1150
|
}),
|
|
1150
|
-
Menu$
|
|
1151
|
+
Menu$4.textblockTypeInputRule({
|
|
1151
1152
|
find: tildeInputRegex,
|
|
1152
1153
|
type: this.type,
|
|
1153
1154
|
getAttributes: match => ({
|
|
@@ -1349,7 +1350,7 @@ class DropCursorView {
|
|
|
1349
1350
|
* inbetween nodes.
|
|
1350
1351
|
* @see https://tiptap.dev/api/extensions/dropcursor
|
|
1351
1352
|
*/
|
|
1352
|
-
const Dropcursor = Menu$
|
|
1353
|
+
const Dropcursor = Menu$4.Extension.create({
|
|
1353
1354
|
name: 'dropCursor',
|
|
1354
1355
|
addOptions() {
|
|
1355
1356
|
return {
|
|
@@ -1531,7 +1532,7 @@ function gapCursor() {
|
|
|
1531
1532
|
}
|
|
1532
1533
|
});
|
|
1533
1534
|
}
|
|
1534
|
-
const handleKeyDown$1 = Menu$
|
|
1535
|
+
const handleKeyDown$1 = Menu$4.keydownHandler({
|
|
1535
1536
|
"ArrowLeft": arrow$1("horiz", -1),
|
|
1536
1537
|
"ArrowRight": arrow$1("horiz", 1),
|
|
1537
1538
|
"ArrowUp": arrow$1("vert", -1),
|
|
@@ -1592,7 +1593,7 @@ function drawGapCursor(state) {
|
|
|
1592
1593
|
return null;
|
|
1593
1594
|
let node = document.createElement("div");
|
|
1594
1595
|
node.className = "ProseMirror-gapcursor";
|
|
1595
|
-
return Menu$
|
|
1596
|
+
return Menu$4.DecorationSet.create(state.doc, [Menu$4.Decoration.widget(state.selection.head, node, { key: "gapcursor" })]);
|
|
1596
1597
|
}
|
|
1597
1598
|
|
|
1598
1599
|
/**
|
|
@@ -1601,7 +1602,7 @@ function drawGapCursor(state) {
|
|
|
1601
1602
|
* where no content is present, for example inbetween nodes.
|
|
1602
1603
|
* @see https://tiptap.dev/api/extensions/gapcursor
|
|
1603
1604
|
*/
|
|
1604
|
-
const Gapcursor = Menu$
|
|
1605
|
+
const Gapcursor = Menu$4.Extension.create({
|
|
1605
1606
|
name: 'gapCursor',
|
|
1606
1607
|
addProseMirrorPlugins() {
|
|
1607
1608
|
return [
|
|
@@ -1616,7 +1617,7 @@ const Gapcursor = Menu$3.Extension.create({
|
|
|
1616
1617
|
storage: extension.storage,
|
|
1617
1618
|
};
|
|
1618
1619
|
return {
|
|
1619
|
-
allowGapCursor: (_a = Menu$
|
|
1620
|
+
allowGapCursor: (_a = Menu$4.callOrReturn(Menu$4.getExtensionField(extension, 'allowGapCursor', context))) !== null && _a !== void 0 ? _a : null,
|
|
1620
1621
|
};
|
|
1621
1622
|
},
|
|
1622
1623
|
});
|
|
@@ -1625,7 +1626,7 @@ const Gapcursor = Menu$3.Extension.create({
|
|
|
1625
1626
|
* This extension allows you to insert hard breaks.
|
|
1626
1627
|
* @see https://www.tiptap.dev/api/nodes/hard-break
|
|
1627
1628
|
*/
|
|
1628
|
-
const HardBreak = Menu$
|
|
1629
|
+
const HardBreak = Menu$4.Node.create({
|
|
1629
1630
|
name: 'hardBreak',
|
|
1630
1631
|
addOptions() {
|
|
1631
1632
|
return {
|
|
@@ -1642,7 +1643,7 @@ const HardBreak = Menu$3.Node.create({
|
|
|
1642
1643
|
];
|
|
1643
1644
|
},
|
|
1644
1645
|
renderHTML({ HTMLAttributes }) {
|
|
1645
|
-
return ['br', Menu$
|
|
1646
|
+
return ['br', Menu$4.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes)];
|
|
1646
1647
|
},
|
|
1647
1648
|
renderText() {
|
|
1648
1649
|
return '\n';
|
|
@@ -1689,7 +1690,7 @@ const HardBreak = Menu$3.Node.create({
|
|
|
1689
1690
|
* This extension allows you to create headings.
|
|
1690
1691
|
* @see https://www.tiptap.dev/api/nodes/heading
|
|
1691
1692
|
*/
|
|
1692
|
-
const Heading = Menu$
|
|
1693
|
+
const Heading = Menu$4.Node.create({
|
|
1693
1694
|
name: 'heading',
|
|
1694
1695
|
addOptions() {
|
|
1695
1696
|
return {
|
|
@@ -1720,7 +1721,7 @@ const Heading = Menu$3.Node.create({
|
|
|
1720
1721
|
const level = hasLevel
|
|
1721
1722
|
? node.attrs.level
|
|
1722
1723
|
: this.options.levels[0];
|
|
1723
|
-
return [`h${level}`, Menu$
|
|
1724
|
+
return [`h${level}`, Menu$4.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
|
|
1724
1725
|
},
|
|
1725
1726
|
addCommands() {
|
|
1726
1727
|
return {
|
|
@@ -1748,7 +1749,7 @@ const Heading = Menu$3.Node.create({
|
|
|
1748
1749
|
},
|
|
1749
1750
|
addInputRules() {
|
|
1750
1751
|
return this.options.levels.map(level => {
|
|
1751
|
-
return Menu$
|
|
1752
|
+
return Menu$4.textblockTypeInputRule({
|
|
1752
1753
|
find: new RegExp(`^(#{1,${level}})\\s$`),
|
|
1753
1754
|
type: this.type,
|
|
1754
1755
|
getAttributes: {
|
|
@@ -2382,7 +2383,7 @@ const redo = buildCommand(true, true);
|
|
|
2382
2383
|
*
|
|
2383
2384
|
* `@tiptap/extension-collaboration` uses its own history implementation.
|
|
2384
2385
|
*/
|
|
2385
|
-
const History = Menu$
|
|
2386
|
+
const History = Menu$4.Extension.create({
|
|
2386
2387
|
name: 'history',
|
|
2387
2388
|
addOptions() {
|
|
2388
2389
|
return {
|
|
@@ -2421,7 +2422,7 @@ const History = Menu$3.Extension.create({
|
|
|
2421
2422
|
* This extension allows you to insert horizontal rules.
|
|
2422
2423
|
* @see https://www.tiptap.dev/api/nodes/horizontal-rule
|
|
2423
2424
|
*/
|
|
2424
|
-
const HorizontalRule = Menu$
|
|
2425
|
+
const HorizontalRule = Menu$4.Node.create({
|
|
2425
2426
|
name: 'horizontalRule',
|
|
2426
2427
|
addOptions() {
|
|
2427
2428
|
return {
|
|
@@ -2433,7 +2434,7 @@ const HorizontalRule = Menu$3.Node.create({
|
|
|
2433
2434
|
return [{ tag: 'hr' }];
|
|
2434
2435
|
},
|
|
2435
2436
|
renderHTML({ HTMLAttributes }) {
|
|
2436
|
-
return ['hr', Menu$
|
|
2437
|
+
return ['hr', Menu$4.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes)];
|
|
2437
2438
|
},
|
|
2438
2439
|
addCommands() {
|
|
2439
2440
|
return {
|
|
@@ -2482,7 +2483,7 @@ const HorizontalRule = Menu$3.Node.create({
|
|
|
2482
2483
|
},
|
|
2483
2484
|
addInputRules() {
|
|
2484
2485
|
return [
|
|
2485
|
-
Menu$
|
|
2486
|
+
Menu$4.nodeInputRule({
|
|
2486
2487
|
find: /^(?:---|—-|___\s|\*\*\*\s)$/,
|
|
2487
2488
|
type: this.type,
|
|
2488
2489
|
}),
|
|
@@ -2510,7 +2511,7 @@ const underscorePasteRegex = /(?:^|\s)(_(?!\s+_)((?:[^_]+))_(?!\s+_))/g;
|
|
|
2510
2511
|
* This extension allows you to create italic text.
|
|
2511
2512
|
* @see https://www.tiptap.dev/api/marks/italic
|
|
2512
2513
|
*/
|
|
2513
|
-
const Italic = Menu$
|
|
2514
|
+
const Italic = Menu$4.Mark.create({
|
|
2514
2515
|
name: 'italic',
|
|
2515
2516
|
addOptions() {
|
|
2516
2517
|
return {
|
|
@@ -2532,7 +2533,7 @@ const Italic = Menu$3.Mark.create({
|
|
|
2532
2533
|
];
|
|
2533
2534
|
},
|
|
2534
2535
|
renderHTML({ HTMLAttributes }) {
|
|
2535
|
-
return ['em', Menu$
|
|
2536
|
+
return ['em', Menu$4.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
|
|
2536
2537
|
},
|
|
2537
2538
|
addCommands() {
|
|
2538
2539
|
return {
|
|
@@ -2555,11 +2556,11 @@ const Italic = Menu$3.Mark.create({
|
|
|
2555
2556
|
},
|
|
2556
2557
|
addInputRules() {
|
|
2557
2558
|
return [
|
|
2558
|
-
Menu$
|
|
2559
|
+
Menu$4.markInputRule({
|
|
2559
2560
|
find: starInputRegex,
|
|
2560
2561
|
type: this.type,
|
|
2561
2562
|
}),
|
|
2562
|
-
Menu$
|
|
2563
|
+
Menu$4.markInputRule({
|
|
2563
2564
|
find: underscoreInputRegex,
|
|
2564
2565
|
type: this.type,
|
|
2565
2566
|
}),
|
|
@@ -2567,11 +2568,11 @@ const Italic = Menu$3.Mark.create({
|
|
|
2567
2568
|
},
|
|
2568
2569
|
addPasteRules() {
|
|
2569
2570
|
return [
|
|
2570
|
-
Menu$
|
|
2571
|
+
Menu$4.markPasteRule({
|
|
2571
2572
|
find: starPasteRegex,
|
|
2572
2573
|
type: this.type,
|
|
2573
2574
|
}),
|
|
2574
|
-
Menu$
|
|
2575
|
+
Menu$4.markPasteRule({
|
|
2575
2576
|
find: underscorePasteRegex,
|
|
2576
2577
|
type: this.type,
|
|
2577
2578
|
}),
|
|
@@ -2583,7 +2584,7 @@ const Italic = Menu$3.Mark.create({
|
|
|
2583
2584
|
* This extension allows you to create list items.
|
|
2584
2585
|
* @see https://www.tiptap.dev/api/nodes/list-item
|
|
2585
2586
|
*/
|
|
2586
|
-
const ListItem$1 = Menu$
|
|
2587
|
+
const ListItem$1 = Menu$4.Node.create({
|
|
2587
2588
|
name: 'listItem',
|
|
2588
2589
|
addOptions() {
|
|
2589
2590
|
return {
|
|
@@ -2602,7 +2603,7 @@ const ListItem$1 = Menu$3.Node.create({
|
|
|
2602
2603
|
];
|
|
2603
2604
|
},
|
|
2604
2605
|
renderHTML({ HTMLAttributes }) {
|
|
2605
|
-
return ['li', Menu$
|
|
2606
|
+
return ['li', Menu$4.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
|
|
2606
2607
|
},
|
|
2607
2608
|
addKeyboardShortcuts() {
|
|
2608
2609
|
return {
|
|
@@ -2617,7 +2618,7 @@ const ListItem$1 = Menu$3.Node.create({
|
|
|
2617
2618
|
* This extension allows you to create list items.
|
|
2618
2619
|
* @see https://www.tiptap.dev/api/nodes/list-item
|
|
2619
2620
|
*/
|
|
2620
|
-
const ListItem = Menu$
|
|
2621
|
+
const ListItem = Menu$4.Node.create({
|
|
2621
2622
|
name: 'listItem',
|
|
2622
2623
|
addOptions() {
|
|
2623
2624
|
return {
|
|
@@ -2636,7 +2637,7 @@ const ListItem = Menu$3.Node.create({
|
|
|
2636
2637
|
];
|
|
2637
2638
|
},
|
|
2638
2639
|
renderHTML({ HTMLAttributes }) {
|
|
2639
|
-
return ['li', Menu$
|
|
2640
|
+
return ['li', Menu$4.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
|
|
2640
2641
|
},
|
|
2641
2642
|
addKeyboardShortcuts() {
|
|
2642
2643
|
return {
|
|
@@ -2652,7 +2653,7 @@ const ListItem = Menu$3.Node.create({
|
|
|
2652
2653
|
* for the `textColor` and `backgroundColor` extensions.
|
|
2653
2654
|
* @see https://www.tiptap.dev/api/marks/text-style
|
|
2654
2655
|
*/
|
|
2655
|
-
const TextStyle = Menu$
|
|
2656
|
+
const TextStyle = Menu$4.Mark.create({
|
|
2656
2657
|
name: 'textStyle',
|
|
2657
2658
|
addOptions() {
|
|
2658
2659
|
return {
|
|
@@ -2674,12 +2675,12 @@ const TextStyle = Menu$3.Mark.create({
|
|
|
2674
2675
|
];
|
|
2675
2676
|
},
|
|
2676
2677
|
renderHTML({ HTMLAttributes }) {
|
|
2677
|
-
return ['span', Menu$
|
|
2678
|
+
return ['span', Menu$4.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
|
|
2678
2679
|
},
|
|
2679
2680
|
addCommands() {
|
|
2680
2681
|
return {
|
|
2681
2682
|
removeEmptyTextStyle: () => ({ state, commands }) => {
|
|
2682
|
-
const attributes = Menu$
|
|
2683
|
+
const attributes = Menu$4.getMarkAttributes(state, this.type);
|
|
2683
2684
|
const hasStyles = Object.entries(attributes).some(([, value]) => !!value);
|
|
2684
2685
|
if (hasStyles) {
|
|
2685
2686
|
return true;
|
|
@@ -2700,7 +2701,7 @@ const inputRegex$1 = /^(\d+)\.\s$/;
|
|
|
2700
2701
|
* @see https://www.tiptap.dev/api/nodes/ordered-list
|
|
2701
2702
|
* @see https://www.tiptap.dev/api/nodes/list-item
|
|
2702
2703
|
*/
|
|
2703
|
-
const OrderedList = Menu$
|
|
2704
|
+
const OrderedList = Menu$4.Node.create({
|
|
2704
2705
|
name: 'orderedList',
|
|
2705
2706
|
addOptions() {
|
|
2706
2707
|
return {
|
|
@@ -2736,8 +2737,8 @@ const OrderedList = Menu$3.Node.create({
|
|
|
2736
2737
|
renderHTML({ HTMLAttributes }) {
|
|
2737
2738
|
const { start, ...attributesWithoutStart } = HTMLAttributes;
|
|
2738
2739
|
return start === 1
|
|
2739
|
-
? ['ol', Menu$
|
|
2740
|
-
: ['ol', Menu$
|
|
2740
|
+
? ['ol', Menu$4.mergeAttributes(this.options.HTMLAttributes, attributesWithoutStart), 0]
|
|
2741
|
+
: ['ol', Menu$4.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
|
|
2741
2742
|
},
|
|
2742
2743
|
addCommands() {
|
|
2743
2744
|
return {
|
|
@@ -2755,14 +2756,14 @@ const OrderedList = Menu$3.Node.create({
|
|
|
2755
2756
|
};
|
|
2756
2757
|
},
|
|
2757
2758
|
addInputRules() {
|
|
2758
|
-
let inputRule = Menu$
|
|
2759
|
+
let inputRule = Menu$4.wrappingInputRule({
|
|
2759
2760
|
find: inputRegex$1,
|
|
2760
2761
|
type: this.type,
|
|
2761
2762
|
getAttributes: match => ({ start: +match[1] }),
|
|
2762
2763
|
joinPredicate: (match, node) => node.childCount + node.attrs.start === +match[1],
|
|
2763
2764
|
});
|
|
2764
2765
|
if (this.options.keepMarks || this.options.keepAttributes) {
|
|
2765
|
-
inputRule = Menu$
|
|
2766
|
+
inputRule = Menu$4.wrappingInputRule({
|
|
2766
2767
|
find: inputRegex$1,
|
|
2767
2768
|
type: this.type,
|
|
2768
2769
|
keepMarks: this.options.keepMarks,
|
|
@@ -2782,7 +2783,7 @@ const OrderedList = Menu$3.Node.create({
|
|
|
2782
2783
|
* This extension allows you to create paragraphs.
|
|
2783
2784
|
* @see https://www.tiptap.dev/api/nodes/paragraph
|
|
2784
2785
|
*/
|
|
2785
|
-
const Paragraph = Menu$
|
|
2786
|
+
const Paragraph = Menu$4.Node.create({
|
|
2786
2787
|
name: 'paragraph',
|
|
2787
2788
|
priority: 1000,
|
|
2788
2789
|
addOptions() {
|
|
@@ -2798,7 +2799,7 @@ const Paragraph = Menu$3.Node.create({
|
|
|
2798
2799
|
];
|
|
2799
2800
|
},
|
|
2800
2801
|
renderHTML({ HTMLAttributes }) {
|
|
2801
|
-
return ['p', Menu$
|
|
2802
|
+
return ['p', Menu$4.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
|
|
2802
2803
|
},
|
|
2803
2804
|
addCommands() {
|
|
2804
2805
|
return {
|
|
@@ -2826,7 +2827,7 @@ const pasteRegex = /(?:^|\s)(~~(?!\s+~~)((?:[^~]+))~~(?!\s+~~))/g;
|
|
|
2826
2827
|
* This extension allows you to create strike text.
|
|
2827
2828
|
* @see https://www.tiptap.dev/api/marks/strike
|
|
2828
2829
|
*/
|
|
2829
|
-
const Strike = Menu$
|
|
2830
|
+
const Strike = Menu$4.Mark.create({
|
|
2830
2831
|
name: 'strike',
|
|
2831
2832
|
addOptions() {
|
|
2832
2833
|
return {
|
|
@@ -2852,7 +2853,7 @@ const Strike = Menu$3.Mark.create({
|
|
|
2852
2853
|
];
|
|
2853
2854
|
},
|
|
2854
2855
|
renderHTML({ HTMLAttributes }) {
|
|
2855
|
-
return ['s', Menu$
|
|
2856
|
+
return ['s', Menu$4.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
|
|
2856
2857
|
},
|
|
2857
2858
|
addCommands() {
|
|
2858
2859
|
return {
|
|
@@ -2874,7 +2875,7 @@ const Strike = Menu$3.Mark.create({
|
|
|
2874
2875
|
},
|
|
2875
2876
|
addInputRules() {
|
|
2876
2877
|
return [
|
|
2877
|
-
Menu$
|
|
2878
|
+
Menu$4.markInputRule({
|
|
2878
2879
|
find: inputRegex,
|
|
2879
2880
|
type: this.type,
|
|
2880
2881
|
}),
|
|
@@ -2882,7 +2883,7 @@ const Strike = Menu$3.Mark.create({
|
|
|
2882
2883
|
},
|
|
2883
2884
|
addPasteRules() {
|
|
2884
2885
|
return [
|
|
2885
|
-
Menu$
|
|
2886
|
+
Menu$4.markPasteRule({
|
|
2886
2887
|
find: pasteRegex,
|
|
2887
2888
|
type: this.type,
|
|
2888
2889
|
}),
|
|
@@ -2894,7 +2895,7 @@ const Strike = Menu$3.Mark.create({
|
|
|
2894
2895
|
* This extension allows you to create text nodes.
|
|
2895
2896
|
* @see https://www.tiptap.dev/api/nodes/text
|
|
2896
2897
|
*/
|
|
2897
|
-
const Text$1 = Menu$
|
|
2898
|
+
const Text$1 = Menu$4.Node.create({
|
|
2898
2899
|
name: 'text',
|
|
2899
2900
|
group: 'inline',
|
|
2900
2901
|
});
|
|
@@ -2904,7 +2905,7 @@ const Text$1 = Menu$3.Node.create({
|
|
|
2904
2905
|
*
|
|
2905
2906
|
* It’s a good starting point for building your own editor.
|
|
2906
2907
|
*/
|
|
2907
|
-
const StarterKit = Menu$
|
|
2908
|
+
const StarterKit = Menu$4.Extension.create({
|
|
2908
2909
|
name: 'starterKit',
|
|
2909
2910
|
addExtensions() {
|
|
2910
2911
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
|
|
@@ -2967,7 +2968,7 @@ const StarterKit = Menu$3.Extension.create({
|
|
|
2967
2968
|
},
|
|
2968
2969
|
});
|
|
2969
2970
|
|
|
2970
|
-
var HighlightInternal = Menu$
|
|
2971
|
+
var HighlightInternal = Menu$4.Extension.create({
|
|
2971
2972
|
name: "HighlightInternal",
|
|
2972
2973
|
addOptions: function addOptions() {
|
|
2973
2974
|
return {
|
|
@@ -5609,7 +5610,7 @@ function registered(aliasOrLanguage) {
|
|
|
5609
5610
|
}
|
|
5610
5611
|
function getDecorations({ doc, name, lowlight, defaultLanguage, }) {
|
|
5611
5612
|
const decorations = [];
|
|
5612
|
-
Menu$
|
|
5613
|
+
Menu$4.findChildren(doc, node => node.type.name === name).forEach(block => {
|
|
5613
5614
|
let from = block.pos + 1;
|
|
5614
5615
|
const language = block.node.attrs.language || defaultLanguage;
|
|
5615
5616
|
const languages = lowlight.listLanguages();
|
|
@@ -5619,7 +5620,7 @@ function getDecorations({ doc, name, lowlight, defaultLanguage, }) {
|
|
|
5619
5620
|
parseNodes(nodes).forEach(node => {
|
|
5620
5621
|
const to = from + node.text.length;
|
|
5621
5622
|
if (node.classes.length) {
|
|
5622
|
-
const decoration = Menu$
|
|
5623
|
+
const decoration = Menu$4.Decoration.inline(from, to, {
|
|
5623
5624
|
class: node.classes.join(' '),
|
|
5624
5625
|
});
|
|
5625
5626
|
decorations.push(decoration);
|
|
@@ -5627,7 +5628,7 @@ function getDecorations({ doc, name, lowlight, defaultLanguage, }) {
|
|
|
5627
5628
|
from = to;
|
|
5628
5629
|
});
|
|
5629
5630
|
});
|
|
5630
|
-
return Menu$
|
|
5631
|
+
return Menu$4.DecorationSet.create(doc, decorations);
|
|
5631
5632
|
}
|
|
5632
5633
|
function isFunction(param) {
|
|
5633
5634
|
return typeof param === 'function';
|
|
@@ -5648,8 +5649,8 @@ function LowlightPlugin({ name, lowlight, defaultLanguage, }) {
|
|
|
5648
5649
|
apply: (transaction, decorationSet, oldState, newState) => {
|
|
5649
5650
|
const oldNodeName = oldState.selection.$head.parent.type.name;
|
|
5650
5651
|
const newNodeName = newState.selection.$head.parent.type.name;
|
|
5651
|
-
const oldNodes = Menu$
|
|
5652
|
-
const newNodes = Menu$
|
|
5652
|
+
const oldNodes = Menu$4.findChildren(oldState.doc, node => node.type.name === name);
|
|
5653
|
+
const newNodes = Menu$4.findChildren(newState.doc, node => node.type.name === name);
|
|
5653
5654
|
if (transaction.docChanged
|
|
5654
5655
|
// Apply decorations if:
|
|
5655
5656
|
// selection includes named node,
|
|
@@ -5722,8 +5723,8 @@ const CodeBlockLowlight = CodeBlock$1.extend({
|
|
|
5722
5723
|
|
|
5723
5724
|
var SORTED_LANGUAGE_LIST = [].concat(_toConsumableArray__default["default"](core$1.lowlight.listLanguages()), ["html"]).sort();
|
|
5724
5725
|
|
|
5725
|
-
var Menu$
|
|
5726
|
-
MenuItem = neetoui.Dropdown.MenuItem;
|
|
5726
|
+
var Menu$3 = neetoui.Dropdown.Menu,
|
|
5727
|
+
MenuItem$1 = neetoui.Dropdown.MenuItem;
|
|
5727
5728
|
var CodeBlockComponent = function CodeBlockComponent(_ref) {
|
|
5728
5729
|
var _node$attrs3, _node$content;
|
|
5729
5730
|
var node = _ref.node,
|
|
@@ -5755,7 +5756,7 @@ var CodeBlockComponent = function CodeBlockComponent(_ref) {
|
|
|
5755
5756
|
language: "javascript"
|
|
5756
5757
|
});
|
|
5757
5758
|
}, []);
|
|
5758
|
-
return /*#__PURE__*/React__default["default"].createElement(Menu$
|
|
5759
|
+
return /*#__PURE__*/React__default["default"].createElement(Menu$4.NodeViewWrapper, {
|
|
5759
5760
|
"data-cy": "neeto-editor-code-block"
|
|
5760
5761
|
}, /*#__PURE__*/React__default["default"].createElement("pre", null, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
5761
5762
|
className: "neeto-editor-codeblock-options",
|
|
@@ -5783,10 +5784,10 @@ var CodeBlockComponent = function CodeBlockComponent(_ref) {
|
|
|
5783
5784
|
e.preventDefault();
|
|
5784
5785
|
e.stopPropagation();
|
|
5785
5786
|
}
|
|
5786
|
-
}), /*#__PURE__*/React__default["default"].createElement(Menu$
|
|
5787
|
+
}), /*#__PURE__*/React__default["default"].createElement(Menu$3, {
|
|
5787
5788
|
className: "neeto-editor-codeblock-options__menu"
|
|
5788
5789
|
}, filteredAndSortedLanguageList.map(function (language) {
|
|
5789
|
-
return /*#__PURE__*/React__default["default"].createElement(MenuItem.Button, {
|
|
5790
|
+
return /*#__PURE__*/React__default["default"].createElement(MenuItem$1.Button, {
|
|
5790
5791
|
key: language,
|
|
5791
5792
|
onClick: function onClick() {
|
|
5792
5793
|
return handleLanguageSelect(language);
|
|
@@ -5796,20 +5797,20 @@ var CodeBlockComponent = function CodeBlockComponent(_ref) {
|
|
|
5796
5797
|
size: "small",
|
|
5797
5798
|
style: "secondary",
|
|
5798
5799
|
value: node === null || node === void 0 || (_node$content = node.content) === null || _node$content === void 0 || (_node$content = _node$content.content[0]) === null || _node$content === void 0 ? void 0 : _node$content.text
|
|
5799
|
-
})), /*#__PURE__*/React__default["default"].createElement(Menu$
|
|
5800
|
+
})), /*#__PURE__*/React__default["default"].createElement(Menu$4.NodeViewContent, {
|
|
5800
5801
|
as: "code"
|
|
5801
5802
|
})));
|
|
5802
5803
|
};
|
|
5803
5804
|
|
|
5804
5805
|
var CodeBlock = CodeBlockLowlight.extend({
|
|
5805
5806
|
addNodeView: function addNodeView() {
|
|
5806
|
-
return Menu$
|
|
5807
|
+
return Menu$4.ReactNodeViewRenderer(CodeBlockComponent);
|
|
5807
5808
|
}
|
|
5808
5809
|
}).configure({
|
|
5809
5810
|
lowlight: core$1.lowlight
|
|
5810
5811
|
});
|
|
5811
5812
|
|
|
5812
|
-
var CustomCommands = Menu$
|
|
5813
|
+
var CustomCommands = Menu$4.Extension.create({
|
|
5813
5814
|
name: "paste-unformatted",
|
|
5814
5815
|
addCommands: function addCommands() {
|
|
5815
5816
|
return {
|
|
@@ -6665,7 +6666,7 @@ var Resizable = /** @class */ (function (_super) {
|
|
|
6665
6666
|
return Resizable;
|
|
6666
6667
|
}(React__namespace.PureComponent));
|
|
6667
6668
|
|
|
6668
|
-
var Menu$
|
|
6669
|
+
var Menu$2 = function Menu(_ref) {
|
|
6669
6670
|
var align = _ref.align,
|
|
6670
6671
|
editor = _ref.editor,
|
|
6671
6672
|
updateAttributes = _ref.updateAttributes,
|
|
@@ -6731,7 +6732,7 @@ var EmbedComponent = function EmbedComponent(_ref) {
|
|
|
6731
6732
|
})));
|
|
6732
6733
|
editor.commands.focus();
|
|
6733
6734
|
};
|
|
6734
|
-
return /*#__PURE__*/React__default["default"].createElement(Menu$
|
|
6735
|
+
return /*#__PURE__*/React__default["default"].createElement(Menu$4.NodeViewWrapper, {
|
|
6735
6736
|
className: "neeto-editor__video-wrapper neeto-editor__video--".concat(align),
|
|
6736
6737
|
"data-cy": "neeto-editor-video-wrapper"
|
|
6737
6738
|
}, /*#__PURE__*/React__default["default"].createElement(Resizable, {
|
|
@@ -6742,7 +6743,7 @@ var EmbedComponent = function EmbedComponent(_ref) {
|
|
|
6742
6743
|
width: width
|
|
6743
6744
|
},
|
|
6744
6745
|
onResizeStop: handleResize
|
|
6745
|
-
}, /*#__PURE__*/React__default["default"].createElement(Menu$
|
|
6746
|
+
}, /*#__PURE__*/React__default["default"].createElement(Menu$2, {
|
|
6746
6747
|
align: align,
|
|
6747
6748
|
deleteNode: deleteNode,
|
|
6748
6749
|
editor: editor,
|
|
@@ -6750,9 +6751,9 @@ var EmbedComponent = function EmbedComponent(_ref) {
|
|
|
6750
6751
|
}), /*#__PURE__*/React__default["default"].createElement("iframe", node.attrs)));
|
|
6751
6752
|
};
|
|
6752
6753
|
|
|
6753
|
-
function ownKeys$
|
|
6754
|
-
function _objectSpread$
|
|
6755
|
-
var Embeds = Menu$
|
|
6754
|
+
function ownKeys$b(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
6755
|
+
function _objectSpread$b(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$b(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$b(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
6756
|
+
var Embeds = Menu$4.Node.create({
|
|
6756
6757
|
name: "external-video",
|
|
6757
6758
|
addOptions: function addOptions() {
|
|
6758
6759
|
return {
|
|
@@ -6821,10 +6822,10 @@ var Embeds = Menu$3.Node.create({
|
|
|
6821
6822
|
}, ["div", {
|
|
6822
6823
|
"class": "neeto-editor__video-iframe",
|
|
6823
6824
|
style: "width: ".concat(figwidth, "px; height: ").concat(figheight, "px;")
|
|
6824
|
-
}, ["iframe", Menu$
|
|
6825
|
+
}, ["iframe", Menu$4.mergeAttributes(this.options.HTMLAttributes, _objectSpread$b({}, HTMLAttributes))]]];
|
|
6825
6826
|
},
|
|
6826
6827
|
addNodeView: function addNodeView() {
|
|
6827
|
-
return Menu$
|
|
6828
|
+
return Menu$4.ReactNodeViewRenderer(EmbedComponent);
|
|
6828
6829
|
},
|
|
6829
6830
|
addCommands: function addCommands() {
|
|
6830
6831
|
var _this = this;
|
|
@@ -6841,7 +6842,7 @@ var Embeds = Menu$3.Node.create({
|
|
|
6841
6842
|
};
|
|
6842
6843
|
},
|
|
6843
6844
|
addPasteRules: function addPasteRules() {
|
|
6844
|
-
return [new Menu$
|
|
6845
|
+
return [new Menu$4.PasteRule({
|
|
6845
6846
|
find: constants.COMBINED_REGEX,
|
|
6846
6847
|
handler: function handler(_ref3) {
|
|
6847
6848
|
var state = _ref3.state,
|
|
@@ -6849,7 +6850,7 @@ var Embeds = Menu$3.Node.create({
|
|
|
6849
6850
|
match = _ref3.match;
|
|
6850
6851
|
state.tr["delete"](range.from, range.to);
|
|
6851
6852
|
state.tr.setSelection(utils.TextSelection.create(state.doc, range.from + 1));
|
|
6852
|
-
var validatedUrl = Menu$
|
|
6853
|
+
var validatedUrl = Menu$4.validateUrl(match[0]);
|
|
6853
6854
|
if (validatedUrl) {
|
|
6854
6855
|
var node = state.schema.nodes["external-video"].create({
|
|
6855
6856
|
src: validatedUrl
|
|
@@ -6866,7 +6867,7 @@ var Embeds = Menu$3.Node.create({
|
|
|
6866
6867
|
function findSuggestionMatch(config) {
|
|
6867
6868
|
var _a;
|
|
6868
6869
|
const { char, allowSpaces, allowedPrefixes, startOfLine, $position, } = config;
|
|
6869
|
-
const escapedChar = Menu$
|
|
6870
|
+
const escapedChar = Menu$4.escapeForRegEx(char);
|
|
6870
6871
|
const suffix = new RegExp(`\\s${escapedChar}$`);
|
|
6871
6872
|
const prefix = startOfLine ? '^' : '';
|
|
6872
6873
|
const regexp = allowSpaces
|
|
@@ -7079,8 +7080,8 @@ function Suggestion({ pluginKey = SuggestionPluginKey, editor, char = '@', allow
|
|
|
7079
7080
|
if (!active) {
|
|
7080
7081
|
return null;
|
|
7081
7082
|
}
|
|
7082
|
-
return Menu$
|
|
7083
|
-
Menu$
|
|
7083
|
+
return Menu$4.DecorationSet.create(state.doc, [
|
|
7084
|
+
Menu$4.Decoration.inline(range.from, range.to, {
|
|
7084
7085
|
nodeName: decorationTag,
|
|
7085
7086
|
class: decorationClass,
|
|
7086
7087
|
'data-decoration-id': decorationId,
|
|
@@ -7092,10 +7093,10 @@ function Suggestion({ pluginKey = SuggestionPluginKey, editor, char = '@', allow
|
|
|
7092
7093
|
return plugin;
|
|
7093
7094
|
}
|
|
7094
7095
|
|
|
7095
|
-
function ownKeys$
|
|
7096
|
-
function _objectSpread$
|
|
7096
|
+
function ownKeys$a(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
7097
|
+
function _objectSpread$a(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$a(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$a(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
7097
7098
|
var EmojiPickerPluginKey = new utils.PluginKey("emoji-picker");
|
|
7098
|
-
var EmojiPicker = Menu$
|
|
7099
|
+
var EmojiPicker = Menu$4.Node.create({
|
|
7099
7100
|
name: "emojiPicker",
|
|
7100
7101
|
group: "inline",
|
|
7101
7102
|
inline: true,
|
|
@@ -7115,7 +7116,7 @@ var EmojiPicker = Menu$3.Node.create({
|
|
|
7115
7116
|
var popup;
|
|
7116
7117
|
return {
|
|
7117
7118
|
onStart: function onStart(props) {
|
|
7118
|
-
reactRenderer = new Menu$
|
|
7119
|
+
reactRenderer = new Menu$4.ReactRenderer(Menu$4.EmojiPickerMenu, {
|
|
7119
7120
|
props: props,
|
|
7120
7121
|
editor: props.editor
|
|
7121
7122
|
});
|
|
@@ -7147,7 +7148,7 @@ var EmojiPicker = Menu$3.Node.create({
|
|
|
7147
7148
|
};
|
|
7148
7149
|
},
|
|
7149
7150
|
addProseMirrorPlugins: function addProseMirrorPlugins() {
|
|
7150
|
-
return [Suggestion(_objectSpread$
|
|
7151
|
+
return [Suggestion(_objectSpread$a({
|
|
7151
7152
|
editor: this.editor
|
|
7152
7153
|
}, this.options.suggestion))];
|
|
7153
7154
|
}
|
|
@@ -7173,8 +7174,8 @@ var filterEmojiSuggestions = function filterEmojiSuggestions(suggestions, freque
|
|
|
7173
7174
|
}).slice(0, 5);
|
|
7174
7175
|
};
|
|
7175
7176
|
|
|
7176
|
-
function _callSuper$
|
|
7177
|
-
function _isNativeReflectConstruct$
|
|
7177
|
+
function _callSuper$3(t, o, e) { return o = _getPrototypeOf__default["default"](o), _possibleConstructorReturn__default["default"](t, _isNativeReflectConstruct$3() ? Reflect.construct(o, e || [], _getPrototypeOf__default["default"](t).constructor) : o.apply(t, e)); }
|
|
7178
|
+
function _isNativeReflectConstruct$3() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct$3 = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
7178
7179
|
var EmojiSuggestionMenu = /*#__PURE__*/function (_React$Component) {
|
|
7179
7180
|
function EmojiSuggestionMenu() {
|
|
7180
7181
|
var _this;
|
|
@@ -7182,7 +7183,7 @@ var EmojiSuggestionMenu = /*#__PURE__*/function (_React$Component) {
|
|
|
7182
7183
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
7183
7184
|
args[_key] = arguments[_key];
|
|
7184
7185
|
}
|
|
7185
|
-
_this = _callSuper$
|
|
7186
|
+
_this = _callSuper$3(this, EmojiSuggestionMenu, [].concat(args));
|
|
7186
7187
|
_defineProperty__default["default"](_this, "state", {
|
|
7187
7188
|
isLoading: false,
|
|
7188
7189
|
selectedIndex: 0,
|
|
@@ -7199,7 +7200,7 @@ var EmojiSuggestionMenu = /*#__PURE__*/function (_React$Component) {
|
|
|
7199
7200
|
});
|
|
7200
7201
|
_context.prev = 1;
|
|
7201
7202
|
_context.next = 4;
|
|
7202
|
-
return Menu$
|
|
7203
|
+
return Menu$4.emojiPickerApi.fetch();
|
|
7203
7204
|
case 4:
|
|
7204
7205
|
_yield$emojiPickerApi = _context.sent;
|
|
7205
7206
|
data = _yield$emojiPickerApi.data;
|
|
@@ -7361,10 +7362,10 @@ var EmojiSuggestionMenu = /*#__PURE__*/function (_React$Component) {
|
|
|
7361
7362
|
}]);
|
|
7362
7363
|
}(React__default["default"].Component);
|
|
7363
7364
|
|
|
7364
|
-
function ownKeys$
|
|
7365
|
-
function _objectSpread$
|
|
7365
|
+
function ownKeys$9(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
7366
|
+
function _objectSpread$9(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$9(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$9(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
7366
7367
|
var EmojiSuggestionPluginKey = new utils.PluginKey("emoji-suggestion");
|
|
7367
|
-
var EmojiSuggestion = Menu$
|
|
7368
|
+
var EmojiSuggestion = Menu$4.Node.create({
|
|
7368
7369
|
name: "emojiSuggestion",
|
|
7369
7370
|
group: "inline",
|
|
7370
7371
|
inline: true,
|
|
@@ -7408,7 +7409,7 @@ var EmojiSuggestion = Menu$3.Node.create({
|
|
|
7408
7409
|
renderHTML: function renderHTML(_ref2) {
|
|
7409
7410
|
var node = _ref2.node,
|
|
7410
7411
|
HTMLAttributes = _ref2.HTMLAttributes;
|
|
7411
|
-
return ["span", Menu$
|
|
7412
|
+
return ["span", Menu$4.mergeAttributes({
|
|
7412
7413
|
"data-emoji": ""
|
|
7413
7414
|
}, this.options.HTMLAttributes, HTMLAttributes), this.options.renderEmoji({
|
|
7414
7415
|
node: node
|
|
@@ -7441,7 +7442,7 @@ var EmojiSuggestion = Menu$3.Node.create({
|
|
|
7441
7442
|
};
|
|
7442
7443
|
},
|
|
7443
7444
|
addProseMirrorPlugins: function addProseMirrorPlugins() {
|
|
7444
|
-
return [Suggestion(_objectSpread$
|
|
7445
|
+
return [Suggestion(_objectSpread$9({
|
|
7445
7446
|
editor: this.editor
|
|
7446
7447
|
}, this.options.suggestion))];
|
|
7447
7448
|
}
|
|
@@ -7472,7 +7473,7 @@ var suggestionConfig = {
|
|
|
7472
7473
|
onUpdate: function onUpdate(props) {
|
|
7473
7474
|
var _popup$;
|
|
7474
7475
|
if (!(props.editor.view.input.lastKeyCode === 39 || props.editor.view.input.lastKeyCode === 37) && props.query.length === 1) {
|
|
7475
|
-
reactRenderer = new Menu$
|
|
7476
|
+
reactRenderer = new Menu$4.ReactRenderer(EmojiSuggestionMenu, {
|
|
7476
7477
|
props: props,
|
|
7477
7478
|
editor: props.editor
|
|
7478
7479
|
});
|
|
@@ -7555,8 +7556,8 @@ var ImagePreviewModal = function ImagePreviewModal(_ref) {
|
|
|
7555
7556
|
})));
|
|
7556
7557
|
};
|
|
7557
7558
|
|
|
7558
|
-
function ownKeys$
|
|
7559
|
-
function _objectSpread$
|
|
7559
|
+
function ownKeys$8(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
7560
|
+
function _objectSpread$8(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$8(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$8(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
7560
7561
|
var ImageComponent = function ImageComponent(_ref) {
|
|
7561
7562
|
var _node$content, _figureRef$current;
|
|
7562
7563
|
var node = _ref.node,
|
|
@@ -7601,12 +7602,12 @@ var ImageComponent = function ImageComponent(_ref) {
|
|
|
7601
7602
|
})));
|
|
7602
7603
|
editor.commands.focus();
|
|
7603
7604
|
};
|
|
7604
|
-
return /*#__PURE__*/React__default["default"].createElement(Menu$
|
|
7605
|
+
return /*#__PURE__*/React__default["default"].createElement(Menu$4.NodeViewWrapper, {
|
|
7605
7606
|
className: "neeto-editor__image-wrapper neeto-editor__image--".concat(align),
|
|
7606
7607
|
"data-cy": "neeto-editor-image-wrapper"
|
|
7607
7608
|
}, /*#__PURE__*/React__default["default"].createElement("figure", {
|
|
7608
7609
|
ref: figureRef
|
|
7609
|
-
}, /*#__PURE__*/React__default["default"].createElement(Menu$
|
|
7610
|
+
}, /*#__PURE__*/React__default["default"].createElement(Menu$2, {
|
|
7610
7611
|
align: align,
|
|
7611
7612
|
deleteNode: deleteNode,
|
|
7612
7613
|
editor: editor,
|
|
@@ -7623,7 +7624,7 @@ var ImageComponent = function ImageComponent(_ref) {
|
|
|
7623
7624
|
onResize: function onResize(_event, _direction, ref) {
|
|
7624
7625
|
return setCaptionWidth(ref.offsetWidth);
|
|
7625
7626
|
}
|
|
7626
|
-
}, /*#__PURE__*/React__default["default"].createElement("img", _extends__default["default"]({}, _objectSpread$
|
|
7627
|
+
}, /*#__PURE__*/React__default["default"].createElement("img", _extends__default["default"]({}, _objectSpread$8(_objectSpread$8({}, node.attrs), {}, {
|
|
7627
7628
|
src: src
|
|
7628
7629
|
}), {
|
|
7629
7630
|
alt: caption,
|
|
@@ -7633,7 +7634,7 @@ var ImageComponent = function ImageComponent(_ref) {
|
|
|
7633
7634
|
}
|
|
7634
7635
|
}))) : /*#__PURE__*/React__default["default"].createElement("div", {
|
|
7635
7636
|
className: "neeto-editor__image-placeholder"
|
|
7636
|
-
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Spinner, null)), /*#__PURE__*/React__default["default"].createElement(Menu$
|
|
7637
|
+
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Spinner, null)), /*#__PURE__*/React__default["default"].createElement(Menu$4.NodeViewContent, {
|
|
7637
7638
|
as: "figcaption",
|
|
7638
7639
|
className: classnames__default["default"]({
|
|
7639
7640
|
"is-empty": ramda.isEmpty(caption)
|
|
@@ -7682,7 +7683,7 @@ var upload = /*#__PURE__*/function () {
|
|
|
7682
7683
|
return _ref.apply(this, arguments);
|
|
7683
7684
|
};
|
|
7684
7685
|
}();
|
|
7685
|
-
var ImageExtension = Menu$
|
|
7686
|
+
var ImageExtension = Menu$4.Node.create({
|
|
7686
7687
|
name: "image",
|
|
7687
7688
|
addOptions: function addOptions() {
|
|
7688
7689
|
return {
|
|
@@ -7768,13 +7769,13 @@ var ImageExtension = Menu$3.Node.create({
|
|
|
7768
7769
|
var captionAttrs = {
|
|
7769
7770
|
style: "width:".concat(figwidth, "px;")
|
|
7770
7771
|
};
|
|
7771
|
-
return ["div", wrapperDivAttrs, ["figure", this.options.HTMLAttributes, ["a", wrapperLinkAttrs, ["img", Menu$
|
|
7772
|
+
return ["div", wrapperDivAttrs, ["figure", this.options.HTMLAttributes, ["a", wrapperLinkAttrs, ["img", Menu$4.mergeAttributes(HTMLAttributes, {
|
|
7772
7773
|
draggable: false,
|
|
7773
7774
|
contenteditable: false
|
|
7774
7775
|
})]], ["figcaption", captionAttrs, 0]]];
|
|
7775
7776
|
},
|
|
7776
7777
|
addNodeView: function addNodeView() {
|
|
7777
|
-
return Menu$
|
|
7778
|
+
return Menu$4.ReactNodeViewRenderer(ImageComponent);
|
|
7778
7779
|
},
|
|
7779
7780
|
addCommands: function addCommands() {
|
|
7780
7781
|
var _this = this;
|
|
@@ -7859,7 +7860,7 @@ var ImageExtension = Menu$3.Node.create({
|
|
|
7859
7860
|
}
|
|
7860
7861
|
});
|
|
7861
7862
|
|
|
7862
|
-
var FigCaption = Menu$
|
|
7863
|
+
var FigCaption = Menu$4.Node.create({
|
|
7863
7864
|
name: "figcaption",
|
|
7864
7865
|
content: "text*",
|
|
7865
7866
|
selectable: false,
|
|
@@ -7871,21 +7872,21 @@ var FigCaption = Menu$3.Node.create({
|
|
|
7871
7872
|
},
|
|
7872
7873
|
renderHTML: function renderHTML(_ref) {
|
|
7873
7874
|
var HTMLAttributes = _ref.HTMLAttributes;
|
|
7874
|
-
return ["figcaption", Menu$
|
|
7875
|
+
return ["figcaption", Menu$4.mergeAttributes(HTMLAttributes), 0];
|
|
7875
7876
|
}
|
|
7876
7877
|
});
|
|
7877
7878
|
|
|
7878
|
-
function ownKeys$
|
|
7879
|
-
function _objectSpread$
|
|
7879
|
+
function ownKeys$7(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
7880
|
+
function _objectSpread$7(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$7(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$7(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
7880
7881
|
var KeyboardShortcuts = function KeyboardShortcuts(_ref) {
|
|
7881
7882
|
var onSubmit = _ref.onSubmit,
|
|
7882
7883
|
shortcuts = _ref.shortcuts,
|
|
7883
7884
|
isBlockQuoteActive = _ref.isBlockQuoteActive;
|
|
7884
|
-
return Menu$
|
|
7885
|
+
return Menu$4.Extension.create({
|
|
7885
7886
|
name: "keyboard-shortcuts",
|
|
7886
7887
|
addKeyboardShortcuts: function addKeyboardShortcuts() {
|
|
7887
7888
|
var _this = this;
|
|
7888
|
-
return _objectSpread$
|
|
7889
|
+
return _objectSpread$7({
|
|
7889
7890
|
"Mod-Enter": function ModEnter() {
|
|
7890
7891
|
onSubmit === null || onSubmit === void 0 || onSubmit(_this.editor.getHTML());
|
|
7891
7892
|
return true;
|
|
@@ -9704,11 +9705,11 @@ function autolink(options) {
|
|
|
9704
9705
|
return;
|
|
9705
9706
|
}
|
|
9706
9707
|
const { tr } = newState;
|
|
9707
|
-
const transform = Menu$
|
|
9708
|
-
const changes = Menu$
|
|
9708
|
+
const transform = Menu$4.combineTransactionSteps(oldState.doc, [...transactions]);
|
|
9709
|
+
const changes = Menu$4.getChangedRanges(transform);
|
|
9709
9710
|
changes.forEach(({ newRange }) => {
|
|
9710
9711
|
// Now let’s see if we can add new links.
|
|
9711
|
-
const nodesInChangedRanges = Menu$
|
|
9712
|
+
const nodesInChangedRanges = Menu$4.findChildrenInRange(newState.doc, newRange, node => node.isTextblock);
|
|
9712
9713
|
let textBlock;
|
|
9713
9714
|
let textBeforeWhitespace;
|
|
9714
9715
|
if (nodesInChangedRanges.length > 1) {
|
|
@@ -9760,7 +9761,7 @@ function autolink(options) {
|
|
|
9760
9761
|
})
|
|
9761
9762
|
// Add link mark.
|
|
9762
9763
|
.forEach(link => {
|
|
9763
|
-
if (Menu$
|
|
9764
|
+
if (Menu$4.getMarksBetween(link.from, link.to, newState.doc).some(item => item.mark.type === options.type)) {
|
|
9764
9765
|
return;
|
|
9765
9766
|
}
|
|
9766
9767
|
tr.addMark(link.from, link.to, options.type.create({
|
|
@@ -9798,7 +9799,7 @@ function clickHandler(options) {
|
|
|
9798
9799
|
if (!els.find(value => value.nodeName === 'A')) {
|
|
9799
9800
|
return false;
|
|
9800
9801
|
}
|
|
9801
|
-
const attrs = Menu$
|
|
9802
|
+
const attrs = Menu$4.getAttributes(view.state, options.type.name);
|
|
9802
9803
|
const link = event.target;
|
|
9803
9804
|
const href = (_a = link === null || link === void 0 ? void 0 : link.href) !== null && _a !== void 0 ? _a : attrs.href;
|
|
9804
9805
|
const target = (_b = link === null || link === void 0 ? void 0 : link.target) !== null && _b !== void 0 ? _b : attrs.target;
|
|
@@ -9843,7 +9844,7 @@ function pasteHandler(options) {
|
|
|
9843
9844
|
* This extension allows you to create links.
|
|
9844
9845
|
* @see https://www.tiptap.dev/api/marks/link
|
|
9845
9846
|
*/
|
|
9846
|
-
const Link$1 = Menu$
|
|
9847
|
+
const Link$1 = Menu$4.Mark.create({
|
|
9847
9848
|
name: 'link',
|
|
9848
9849
|
priority: 1000,
|
|
9849
9850
|
keepOnSplit: false,
|
|
@@ -9901,9 +9902,9 @@ const Link$1 = Menu$3.Mark.create({
|
|
|
9901
9902
|
// eslint-disable-next-line no-script-url
|
|
9902
9903
|
if ((_a = HTMLAttributes.href) === null || _a === void 0 ? void 0 : _a.startsWith('javascript:')) {
|
|
9903
9904
|
// strip out the href
|
|
9904
|
-
return ['a', Menu$
|
|
9905
|
+
return ['a', Menu$4.mergeAttributes(this.options.HTMLAttributes, { ...HTMLAttributes, href: '' }), 0];
|
|
9905
9906
|
}
|
|
9906
|
-
return ['a', Menu$
|
|
9907
|
+
return ['a', Menu$4.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
|
|
9907
9908
|
},
|
|
9908
9909
|
addCommands() {
|
|
9909
9910
|
return {
|
|
@@ -9926,7 +9927,7 @@ const Link$1 = Menu$3.Mark.create({
|
|
|
9926
9927
|
},
|
|
9927
9928
|
addPasteRules() {
|
|
9928
9929
|
return [
|
|
9929
|
-
Menu$
|
|
9930
|
+
Menu$4.markPasteRule({
|
|
9930
9931
|
find: text => {
|
|
9931
9932
|
const foundLinks = [];
|
|
9932
9933
|
if (text) {
|
|
@@ -9979,11 +9980,11 @@ const Link$1 = Menu$3.Mark.create({
|
|
|
9979
9980
|
|
|
9980
9981
|
var LINK_MARKDOWN_INPUT_REGEX = /(?:^|\s)\[([^\]]*)?\]\((\S+)(?: ["“](.+)["”])?\)$/i;
|
|
9981
9982
|
|
|
9982
|
-
function ownKeys$
|
|
9983
|
-
function _objectSpread$
|
|
9983
|
+
function ownKeys$6(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
9984
|
+
function _objectSpread$6(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$6(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$6(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
9984
9985
|
var linkInputRule = function linkInputRule(config) {
|
|
9985
|
-
var defaultMarkInputRule = Menu$
|
|
9986
|
-
return new Menu$
|
|
9986
|
+
var defaultMarkInputRule = Menu$4.markInputRule(config);
|
|
9987
|
+
return new Menu$4.InputRule({
|
|
9987
9988
|
find: config.find,
|
|
9988
9989
|
handler: function handler(props) {
|
|
9989
9990
|
var tr = props.state.tr;
|
|
@@ -9996,7 +9997,7 @@ var Link = Link$1.extend({
|
|
|
9996
9997
|
inclusive: false,
|
|
9997
9998
|
addAttributes: function addAttributes() {
|
|
9998
9999
|
var _this$parent;
|
|
9999
|
-
return _objectSpread$
|
|
10000
|
+
return _objectSpread$6(_objectSpread$6({}, (_this$parent = this.parent) === null || _this$parent === void 0 ? void 0 : _this$parent.call(this)), {}, {
|
|
10000
10001
|
title: {
|
|
10001
10002
|
"default": null
|
|
10002
10003
|
}
|
|
@@ -10009,7 +10010,7 @@ var Link = Link$1.extend({
|
|
|
10009
10010
|
},
|
|
10010
10011
|
renderHTML: function renderHTML(_ref) {
|
|
10011
10012
|
var HTMLAttributes = _ref.HTMLAttributes;
|
|
10012
|
-
return ["a", Menu$
|
|
10013
|
+
return ["a", Menu$4.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes, {
|
|
10013
10014
|
"class": "link"
|
|
10014
10015
|
}), 0];
|
|
10015
10016
|
},
|
|
@@ -10037,7 +10038,7 @@ const MentionPluginKey = new utils.PluginKey('mention');
|
|
|
10037
10038
|
* This extension allows you to insert mentions into the editor.
|
|
10038
10039
|
* @see https://www.tiptap.dev/api/extensions/mention
|
|
10039
10040
|
*/
|
|
10040
|
-
const Mention$1 = Menu$
|
|
10041
|
+
const Mention$1 = Menu$4.Node.create({
|
|
10041
10042
|
name: 'mention',
|
|
10042
10043
|
addOptions() {
|
|
10043
10044
|
return {
|
|
@@ -10051,7 +10052,7 @@ const Mention$1 = Menu$3.Node.create({
|
|
|
10051
10052
|
var _a;
|
|
10052
10053
|
return [
|
|
10053
10054
|
'span',
|
|
10054
|
-
Menu$
|
|
10055
|
+
Menu$4.mergeAttributes(this.HTMLAttributes, options.HTMLAttributes),
|
|
10055
10056
|
`${options.suggestion.char}${(_a = node.attrs.label) !== null && _a !== void 0 ? _a : node.attrs.id}`,
|
|
10056
10057
|
];
|
|
10057
10058
|
},
|
|
@@ -10136,7 +10137,7 @@ const Mention$1 = Menu$3.Node.create({
|
|
|
10136
10137
|
console.warn('renderLabel is deprecated use renderText and renderHTML instead');
|
|
10137
10138
|
return [
|
|
10138
10139
|
'span',
|
|
10139
|
-
Menu$
|
|
10140
|
+
Menu$4.mergeAttributes({ 'data-type': this.name }, this.options.HTMLAttributes, HTMLAttributes),
|
|
10140
10141
|
this.options.renderLabel({
|
|
10141
10142
|
options: this.options,
|
|
10142
10143
|
node,
|
|
@@ -10144,7 +10145,7 @@ const Mention$1 = Menu$3.Node.create({
|
|
|
10144
10145
|
];
|
|
10145
10146
|
}
|
|
10146
10147
|
const mergedOptions = { ...this.options };
|
|
10147
|
-
mergedOptions.HTMLAttributes = Menu$
|
|
10148
|
+
mergedOptions.HTMLAttributes = Menu$4.mergeAttributes({ 'data-type': this.name }, this.options.HTMLAttributes, HTMLAttributes);
|
|
10148
10149
|
const html = this.options.renderHTML({
|
|
10149
10150
|
options: mergedOptions,
|
|
10150
10151
|
node,
|
|
@@ -10152,7 +10153,7 @@ const Mention$1 = Menu$3.Node.create({
|
|
|
10152
10153
|
if (typeof html === 'string') {
|
|
10153
10154
|
return [
|
|
10154
10155
|
'span',
|
|
10155
|
-
Menu$
|
|
10156
|
+
Menu$4.mergeAttributes({ 'data-type': this.name }, this.options.HTMLAttributes, HTMLAttributes),
|
|
10156
10157
|
html,
|
|
10157
10158
|
];
|
|
10158
10159
|
}
|
|
@@ -10219,13 +10220,13 @@ var scrollHandler = function scrollHandler(_ref) {
|
|
|
10219
10220
|
wrapperRef.current.scrollTop = scrollPosition;
|
|
10220
10221
|
};
|
|
10221
10222
|
|
|
10222
|
-
function _callSuper(t, o, e) { return o = _getPrototypeOf__default["default"](o), _possibleConstructorReturn__default["default"](t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf__default["default"](t).constructor) : o.apply(t, e)); }
|
|
10223
|
-
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
10223
|
+
function _callSuper$2(t, o, e) { return o = _getPrototypeOf__default["default"](o), _possibleConstructorReturn__default["default"](t, _isNativeReflectConstruct$2() ? Reflect.construct(o, e || [], _getPrototypeOf__default["default"](t).constructor) : o.apply(t, e)); }
|
|
10224
|
+
function _isNativeReflectConstruct$2() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct$2 = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
10224
10225
|
var MentionList = /*#__PURE__*/function (_React$Component) {
|
|
10225
10226
|
function MentionList(props) {
|
|
10226
10227
|
var _this;
|
|
10227
10228
|
_classCallCheck__default["default"](this, MentionList);
|
|
10228
|
-
_this = _callSuper(this, MentionList, [props]);
|
|
10229
|
+
_this = _callSuper$2(this, MentionList, [props]);
|
|
10229
10230
|
_defineProperty__default["default"](_this, "selectItem", function (index) {
|
|
10230
10231
|
var _this$props = _this.props,
|
|
10231
10232
|
items = _this$props.items,
|
|
@@ -10360,15 +10361,15 @@ var createMentionSuggestions = function createMentionSuggestions() {
|
|
|
10360
10361
|
};
|
|
10361
10362
|
|
|
10362
10363
|
var _excluded$3 = ["suggestion"];
|
|
10363
|
-
function ownKeys$
|
|
10364
|
-
function _objectSpread$
|
|
10364
|
+
function ownKeys$5(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
10365
|
+
function _objectSpread$5(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$5(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$5(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
10365
10366
|
var suggestion$1 = {
|
|
10366
10367
|
render: function render() {
|
|
10367
10368
|
var reactRenderer;
|
|
10368
10369
|
var popup;
|
|
10369
10370
|
return {
|
|
10370
10371
|
onStart: function onStart(props) {
|
|
10371
|
-
reactRenderer = new Menu$
|
|
10372
|
+
reactRenderer = new Menu$4.ReactRenderer(MentionList, {
|
|
10372
10373
|
props: props,
|
|
10373
10374
|
editor: props.editor
|
|
10374
10375
|
});
|
|
@@ -10437,13 +10438,13 @@ var Mention = {
|
|
|
10437
10438
|
var _ref3$suggestion = _ref3.suggestion,
|
|
10438
10439
|
suggestionConfig = _ref3$suggestion === void 0 ? {} : _ref3$suggestion,
|
|
10439
10440
|
otherConfig = _objectWithoutProperties__default["default"](_ref3, _excluded$3);
|
|
10440
|
-
return Mentions.configure(_objectSpread$
|
|
10441
|
-
suggestion: _objectSpread$
|
|
10441
|
+
return Mentions.configure(_objectSpread$5(_objectSpread$5({}, otherConfig), {}, {
|
|
10442
|
+
suggestion: _objectSpread$5(_objectSpread$5({}, suggestion$1), suggestionConfig)
|
|
10442
10443
|
}));
|
|
10443
10444
|
}
|
|
10444
10445
|
};
|
|
10445
10446
|
|
|
10446
|
-
var Placeholder = Menu$
|
|
10447
|
+
var Placeholder = Menu$4.Extension.create({
|
|
10447
10448
|
name: "placeholder",
|
|
10448
10449
|
addOptions: function addOptions() {
|
|
10449
10450
|
return {
|
|
@@ -10478,7 +10479,7 @@ var Placeholder = Menu$3.Extension.create({
|
|
|
10478
10479
|
if (_this.editor.isEmpty) {
|
|
10479
10480
|
classes.push(_this.options.emptyEditorClass);
|
|
10480
10481
|
}
|
|
10481
|
-
var decoration = Menu$
|
|
10482
|
+
var decoration = Menu$4.Decoration.node(pos, pos + node.nodeSize, {
|
|
10482
10483
|
"class": classes.join(" "),
|
|
10483
10484
|
"data-placeholder": _this.options.placeholder
|
|
10484
10485
|
});
|
|
@@ -10486,7 +10487,7 @@ var Placeholder = Menu$3.Extension.create({
|
|
|
10486
10487
|
}
|
|
10487
10488
|
return _this.options.includeChildren;
|
|
10488
10489
|
});
|
|
10489
|
-
return Menu$
|
|
10490
|
+
return Menu$4.DecorationSet.create(doc, decorations);
|
|
10490
10491
|
}
|
|
10491
10492
|
}
|
|
10492
10493
|
})];
|
|
@@ -10501,7 +10502,7 @@ var SelectionDecoration = Document.extend({
|
|
|
10501
10502
|
state: {
|
|
10502
10503
|
init: function init() {
|
|
10503
10504
|
return {
|
|
10504
|
-
decorations: Menu$
|
|
10505
|
+
decorations: Menu$4.DecorationSet.empty,
|
|
10505
10506
|
selectedTextDecoration: null
|
|
10506
10507
|
};
|
|
10507
10508
|
},
|
|
@@ -10514,7 +10515,7 @@ var SelectionDecoration = Document.extend({
|
|
|
10514
10515
|
decorations = decorations.remove([selectedTextDecoration]);
|
|
10515
10516
|
}
|
|
10516
10517
|
if (!selection.empty) {
|
|
10517
|
-
selectedTextDecoration = Menu$
|
|
10518
|
+
selectedTextDecoration = Menu$4.Decoration.inline(selection.from, selection.to, {
|
|
10518
10519
|
"class": "selected-text"
|
|
10519
10520
|
});
|
|
10520
10521
|
decorations = decorations.add(doc, [selectedTextDecoration]);
|
|
@@ -10536,6 +10537,579 @@ var SelectionDecoration = Document.extend({
|
|
|
10536
10537
|
}
|
|
10537
10538
|
});
|
|
10538
10539
|
|
|
10540
|
+
function _callSuper$1(t, o, e) { return o = _getPrototypeOf__default["default"](o), _possibleConstructorReturn__default["default"](t, _isNativeReflectConstruct$1() ? Reflect.construct(o, e || [], _getPrototypeOf__default["default"](t).constructor) : o.apply(t, e)); }
|
|
10541
|
+
function _isNativeReflectConstruct$1() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct$1 = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
10542
|
+
var Menu$1 = /*#__PURE__*/function (_React$Component) {
|
|
10543
|
+
function Menu(props) {
|
|
10544
|
+
var _this;
|
|
10545
|
+
_classCallCheck__default["default"](this, Menu);
|
|
10546
|
+
_this = _callSuper$1(this, Menu, [props]);
|
|
10547
|
+
_defineProperty__default["default"](_this, "keydownHandler", function (event) {
|
|
10548
|
+
var listeners = {
|
|
10549
|
+
Enter: _this.enterHandler,
|
|
10550
|
+
ArrowUp: _this.upHandler,
|
|
10551
|
+
ArrowDown: _this.downHandler,
|
|
10552
|
+
ArrowLeft: _this.leftArrowHandler,
|
|
10553
|
+
ArrowRight: _this.rightArrowHandler
|
|
10554
|
+
};
|
|
10555
|
+
if (event.key in listeners) listeners[event.key](event);
|
|
10556
|
+
});
|
|
10557
|
+
_defineProperty__default["default"](_this, "selectItem", function (index) {
|
|
10558
|
+
var _this$props = _this.props,
|
|
10559
|
+
items = _this$props.items,
|
|
10560
|
+
editor = _this$props.editor,
|
|
10561
|
+
range = _this$props.range;
|
|
10562
|
+
var selectedItem = items[index];
|
|
10563
|
+
var hasCommand = selectedItem && selectedItem.command;
|
|
10564
|
+
var isLeafNode = neetoCist.isNotPresent(selectedItem.items);
|
|
10565
|
+
if (hasCommand && isLeafNode) selectedItem.command({
|
|
10566
|
+
editor: editor,
|
|
10567
|
+
range: range
|
|
10568
|
+
});
|
|
10569
|
+
});
|
|
10570
|
+
_defineProperty__default["default"](_this, "upHandler", function () {
|
|
10571
|
+
var items = _this.props.items;
|
|
10572
|
+
var selectedIndex = _this.state.selectedIndex;
|
|
10573
|
+
_this.setState({
|
|
10574
|
+
selectedIndex: (selectedIndex + items.length - 1) % items.length
|
|
10575
|
+
});
|
|
10576
|
+
});
|
|
10577
|
+
_defineProperty__default["default"](_this, "downHandler", function () {
|
|
10578
|
+
var items = _this.props.items;
|
|
10579
|
+
var selectedIndex = _this.state.selectedIndex;
|
|
10580
|
+
_this.setState({
|
|
10581
|
+
selectedIndex: (selectedIndex + 1) % items.length
|
|
10582
|
+
});
|
|
10583
|
+
});
|
|
10584
|
+
_defineProperty__default["default"](_this, "enterHandler", function () {
|
|
10585
|
+
var selectedIndex = _this.state.selectedIndex;
|
|
10586
|
+
_this.selectItem(selectedIndex);
|
|
10587
|
+
});
|
|
10588
|
+
_defineProperty__default["default"](_this, "leftArrowHandler", function () {
|
|
10589
|
+
var _this$props2 = _this.props,
|
|
10590
|
+
menuIndex = _this$props2.menuIndex,
|
|
10591
|
+
setActiveMenuIndex = _this$props2.setActiveMenuIndex;
|
|
10592
|
+
if (menuIndex > 0) setActiveMenuIndex(menuIndex - 1);
|
|
10593
|
+
});
|
|
10594
|
+
_defineProperty__default["default"](_this, "rightArrowHandler", function () {
|
|
10595
|
+
var _this$props3 = _this.props,
|
|
10596
|
+
menuIndex = _this$props3.menuIndex,
|
|
10597
|
+
setActiveMenuIndex = _this$props3.setActiveMenuIndex,
|
|
10598
|
+
items = _this$props3.items;
|
|
10599
|
+
var selectedIndex = _this.state.selectedIndex;
|
|
10600
|
+
var selectedItem = items[selectedIndex];
|
|
10601
|
+
var hasSubItems = selectedItem && !neetoCist.isNotPresent(selectedItem.items);
|
|
10602
|
+
if (hasSubItems) setActiveMenuIndex(menuIndex + 1);
|
|
10603
|
+
});
|
|
10604
|
+
_this.state = {
|
|
10605
|
+
selectedIndex: 0
|
|
10606
|
+
};
|
|
10607
|
+
_this.menuRef = /*#__PURE__*/React__default["default"].createRef();
|
|
10608
|
+
return _this;
|
|
10609
|
+
}
|
|
10610
|
+
_inherits__default["default"](Menu, _React$Component);
|
|
10611
|
+
return _createClass__default["default"](Menu, [{
|
|
10612
|
+
key: "componentDidMount",
|
|
10613
|
+
value: function componentDidMount() {
|
|
10614
|
+
var _this$props4 = this.props,
|
|
10615
|
+
menuIndex = _this$props4.menuIndex,
|
|
10616
|
+
activeMenuIndex = _this$props4.activeMenuIndex;
|
|
10617
|
+
var isCurrentMenuActive = menuIndex === activeMenuIndex;
|
|
10618
|
+
if (isCurrentMenuActive) {
|
|
10619
|
+
document.addEventListener("keydown", this.keydownHandler);
|
|
10620
|
+
}
|
|
10621
|
+
}
|
|
10622
|
+
}, {
|
|
10623
|
+
key: "componentWillUnmount",
|
|
10624
|
+
value: function componentWillUnmount() {
|
|
10625
|
+
document.removeEventListener("keydown", this.keydownHandler);
|
|
10626
|
+
}
|
|
10627
|
+
}, {
|
|
10628
|
+
key: "componentDidUpdate",
|
|
10629
|
+
value: function componentDidUpdate(oldProps) {
|
|
10630
|
+
var _this$props5 = this.props,
|
|
10631
|
+
items = _this$props5.items,
|
|
10632
|
+
menuIndex = _this$props5.menuIndex,
|
|
10633
|
+
activeMenuIndex = _this$props5.activeMenuIndex;
|
|
10634
|
+
var isCurrentMenuActive = menuIndex === activeMenuIndex;
|
|
10635
|
+
if (items !== oldProps.items) this.setState({
|
|
10636
|
+
selectedIndex: 0
|
|
10637
|
+
});
|
|
10638
|
+
scrollHandler({
|
|
10639
|
+
wrapperRef: this.menuRef,
|
|
10640
|
+
index: this.state.selectedIndex
|
|
10641
|
+
});
|
|
10642
|
+
if (isCurrentMenuActive) {
|
|
10643
|
+
document.addEventListener("keydown", this.keydownHandler);
|
|
10644
|
+
} else document.removeEventListener("keydown", this.keydownHandler);
|
|
10645
|
+
}
|
|
10646
|
+
}, {
|
|
10647
|
+
key: "render",
|
|
10648
|
+
value: function render() {
|
|
10649
|
+
var _this2 = this;
|
|
10650
|
+
var _this$props6 = this.props,
|
|
10651
|
+
items = _this$props6.items,
|
|
10652
|
+
menuIndex = _this$props6.menuIndex,
|
|
10653
|
+
activeMenuIndex = _this$props6.activeMenuIndex;
|
|
10654
|
+
var selectedIndex = this.state.selectedIndex;
|
|
10655
|
+
var isCurrentMenuActive = menuIndex === activeMenuIndex;
|
|
10656
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
10657
|
+
className: "neeto-editor-slash-commands__wrapper",
|
|
10658
|
+
ref: this.menuRef
|
|
10659
|
+
}, items.map(function (item, index) {
|
|
10660
|
+
var isLeafNode = neetoCist.isNotPresent(item.items);
|
|
10661
|
+
var nodeElement = /*#__PURE__*/React__default["default"].createElement(MenuItem, {
|
|
10662
|
+
index: index,
|
|
10663
|
+
item: item,
|
|
10664
|
+
key: item.title,
|
|
10665
|
+
selectItem: function selectItem() {
|
|
10666
|
+
return isLeafNode && _this2.selectItem(index);
|
|
10667
|
+
},
|
|
10668
|
+
selectedIndex: isCurrentMenuActive ? selectedIndex : -1,
|
|
10669
|
+
onHover: function onHover() {
|
|
10670
|
+
return _this2.setState({
|
|
10671
|
+
selectedIndex: index
|
|
10672
|
+
});
|
|
10673
|
+
}
|
|
10674
|
+
});
|
|
10675
|
+
if (isLeafNode) return nodeElement;
|
|
10676
|
+
return /*#__PURE__*/React__default["default"].createElement(Tippy__default["default"], {
|
|
10677
|
+
interactive: true,
|
|
10678
|
+
key: item.title,
|
|
10679
|
+
placement: "right",
|
|
10680
|
+
visible: selectedIndex === index,
|
|
10681
|
+
content: /*#__PURE__*/React__default["default"].createElement(Menu, _extends__default["default"]({}, _this2.props, {
|
|
10682
|
+
items: item.items,
|
|
10683
|
+
menuIndex: menuIndex + 1
|
|
10684
|
+
})),
|
|
10685
|
+
onCreate: function onCreate(_ref) {
|
|
10686
|
+
var popper = _ref.popper;
|
|
10687
|
+
return popper.style.width = "max-content";
|
|
10688
|
+
},
|
|
10689
|
+
onHide: function onHide() {
|
|
10690
|
+
_this2.isSubmenuOpened = false;
|
|
10691
|
+
},
|
|
10692
|
+
onShow: function onShow() {
|
|
10693
|
+
_this2.isSubmenuOpened = true;
|
|
10694
|
+
}
|
|
10695
|
+
}, nodeElement);
|
|
10696
|
+
}));
|
|
10697
|
+
}
|
|
10698
|
+
}]);
|
|
10699
|
+
}(React__default["default"].Component); // eslint-disable-next-line react/display-name
|
|
10700
|
+
var MenuItem = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
|
|
10701
|
+
var item = _ref2.item,
|
|
10702
|
+
selectedIndex = _ref2.selectedIndex,
|
|
10703
|
+
index = _ref2.index,
|
|
10704
|
+
selectItem = _ref2.selectItem,
|
|
10705
|
+
onHover = _ref2.onHover;
|
|
10706
|
+
var Icon = item.Icon;
|
|
10707
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
10708
|
+
"data-cy": "neeto-editor-command-list-item-".concat(index),
|
|
10709
|
+
ref: ref,
|
|
10710
|
+
className: classnames__default["default"]("neeto-editor-slash-commands__item", {
|
|
10711
|
+
active: index === selectedIndex
|
|
10712
|
+
}),
|
|
10713
|
+
onClick: selectItem,
|
|
10714
|
+
onMouseEnter: onHover
|
|
10715
|
+
}, Icon && /*#__PURE__*/React__default["default"].createElement(Icon, {
|
|
10716
|
+
size: 20
|
|
10717
|
+
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
10718
|
+
className: "neeto-editor-slash-commands__item-content"
|
|
10719
|
+
}, /*#__PURE__*/React__default["default"].createElement("h5", {
|
|
10720
|
+
"data-cy": "neeto-editor-command-list-item-block-heading"
|
|
10721
|
+
}, item.title), /*#__PURE__*/React__default["default"].createElement("p", {
|
|
10722
|
+
"data-cy": "neeto-editor-command-list-item-block-description"
|
|
10723
|
+
}, item.description)));
|
|
10724
|
+
});
|
|
10725
|
+
|
|
10726
|
+
function _callSuper(t, o, e) { return o = _getPrototypeOf__default["default"](o), _possibleConstructorReturn__default["default"](t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf__default["default"](t).constructor) : o.apply(t, e)); }
|
|
10727
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
10728
|
+
var CommandsList = /*#__PURE__*/function (_React$Component) {
|
|
10729
|
+
function CommandsList() {
|
|
10730
|
+
var _this;
|
|
10731
|
+
_classCallCheck__default["default"](this, CommandsList);
|
|
10732
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
10733
|
+
args[_key] = arguments[_key];
|
|
10734
|
+
}
|
|
10735
|
+
_this = _callSuper(this, CommandsList, [].concat(args));
|
|
10736
|
+
_defineProperty__default["default"](_this, "state", {
|
|
10737
|
+
activeMenuIndex: 0
|
|
10738
|
+
});
|
|
10739
|
+
_defineProperty__default["default"](_this, "onKeyDown", function (_ref) {
|
|
10740
|
+
var event = _ref.event;
|
|
10741
|
+
return ["Enter", "ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight"].includes(event.key);
|
|
10742
|
+
});
|
|
10743
|
+
_defineProperty__default["default"](_this, "setActiveMenuIndex", function (index) {
|
|
10744
|
+
return _this.setState({
|
|
10745
|
+
activeMenuIndex: index
|
|
10746
|
+
});
|
|
10747
|
+
});
|
|
10748
|
+
return _this;
|
|
10749
|
+
}
|
|
10750
|
+
_inherits__default["default"](CommandsList, _React$Component);
|
|
10751
|
+
return _createClass__default["default"](CommandsList, [{
|
|
10752
|
+
key: "render",
|
|
10753
|
+
value: function render() {
|
|
10754
|
+
return /*#__PURE__*/React__default["default"].createElement(Menu$1, _extends__default["default"]({}, this.props, {
|
|
10755
|
+
activeMenuIndex: this.state.activeMenuIndex,
|
|
10756
|
+
items: this.props.items,
|
|
10757
|
+
menuIndex: 0,
|
|
10758
|
+
setActiveMenuIndex: this.setActiveMenuIndex
|
|
10759
|
+
}));
|
|
10760
|
+
}
|
|
10761
|
+
}]);
|
|
10762
|
+
}(React__default["default"].Component);
|
|
10763
|
+
|
|
10764
|
+
var MENU_ITEMS = [{
|
|
10765
|
+
optionName: constants.EDITOR_OPTIONS.PARAGRAPH,
|
|
10766
|
+
title: i18n.t("neetoEditor.menu.normalText"),
|
|
10767
|
+
description: i18n.t("neetoEditor.menu.normalTextDescription"),
|
|
10768
|
+
Icon: neetoIcons.Paragraph,
|
|
10769
|
+
command: function command(_ref) {
|
|
10770
|
+
var editor = _ref.editor,
|
|
10771
|
+
range = _ref.range;
|
|
10772
|
+
editor.chain().focus().deleteRange(range).setNode("paragraph").run();
|
|
10773
|
+
}
|
|
10774
|
+
}, {
|
|
10775
|
+
optionName: constants.EDITOR_OPTIONS.H1,
|
|
10776
|
+
title: i18n.t("neetoEditor.menu.h1"),
|
|
10777
|
+
description: i18n.t("neetoEditor.menu.h1Description"),
|
|
10778
|
+
Icon: neetoIcons.TextH1,
|
|
10779
|
+
command: function command(_ref2) {
|
|
10780
|
+
var editor = _ref2.editor,
|
|
10781
|
+
range = _ref2.range;
|
|
10782
|
+
editor.chain().focus().deleteRange(range).setNode("heading", {
|
|
10783
|
+
level: 1
|
|
10784
|
+
}).run();
|
|
10785
|
+
}
|
|
10786
|
+
}, {
|
|
10787
|
+
optionName: constants.EDITOR_OPTIONS.H2,
|
|
10788
|
+
title: i18n.t("neetoEditor.menu.h2"),
|
|
10789
|
+
description: i18n.t("neetoEditor.menu.h2Description"),
|
|
10790
|
+
Icon: neetoIcons.TextH2,
|
|
10791
|
+
command: function command(_ref3) {
|
|
10792
|
+
var editor = _ref3.editor,
|
|
10793
|
+
range = _ref3.range;
|
|
10794
|
+
editor.chain().focus().deleteRange(range).setNode("heading", {
|
|
10795
|
+
level: 2
|
|
10796
|
+
}).run();
|
|
10797
|
+
}
|
|
10798
|
+
}, {
|
|
10799
|
+
optionName: constants.EDITOR_OPTIONS.H3,
|
|
10800
|
+
title: i18n.t("neetoEditor.menu.h3"),
|
|
10801
|
+
description: i18n.t("neetoEditor.menu.h3Description"),
|
|
10802
|
+
Icon: neetoIcons.Text,
|
|
10803
|
+
command: function command(_ref4) {
|
|
10804
|
+
var editor = _ref4.editor,
|
|
10805
|
+
range = _ref4.range;
|
|
10806
|
+
editor.chain().focus().deleteRange(range).setNode("heading", {
|
|
10807
|
+
level: 3
|
|
10808
|
+
}).run();
|
|
10809
|
+
}
|
|
10810
|
+
}, {
|
|
10811
|
+
optionName: constants.EDITOR_OPTIONS.H4,
|
|
10812
|
+
title: i18n.t("neetoEditor.menu.h4"),
|
|
10813
|
+
description: i18n.t("neetoEditor.menu.h4Description"),
|
|
10814
|
+
Icon: neetoIcons.Text,
|
|
10815
|
+
command: function command(_ref5) {
|
|
10816
|
+
var editor = _ref5.editor,
|
|
10817
|
+
range = _ref5.range;
|
|
10818
|
+
editor.chain().focus().deleteRange(range).setNode("heading", {
|
|
10819
|
+
level: 4
|
|
10820
|
+
}).run();
|
|
10821
|
+
}
|
|
10822
|
+
}, {
|
|
10823
|
+
optionName: constants.EDITOR_OPTIONS.H5,
|
|
10824
|
+
title: i18n.t("neetoEditor.menu.h5"),
|
|
10825
|
+
description: i18n.t("neetoEditor.menu.h5Description"),
|
|
10826
|
+
Icon: neetoIcons.Text,
|
|
10827
|
+
command: function command(_ref6) {
|
|
10828
|
+
var editor = _ref6.editor,
|
|
10829
|
+
range = _ref6.range;
|
|
10830
|
+
editor.chain().focus().deleteRange(range).setNode("heading", {
|
|
10831
|
+
level: 5
|
|
10832
|
+
}).run();
|
|
10833
|
+
}
|
|
10834
|
+
}, {
|
|
10835
|
+
optionName: constants.EDITOR_OPTIONS.H6,
|
|
10836
|
+
title: i18n.t("neetoEditor.menu.h6"),
|
|
10837
|
+
description: i18n.t("neetoEditor.menu.h6Description"),
|
|
10838
|
+
Icon: neetoIcons.Text,
|
|
10839
|
+
command: function command(_ref7) {
|
|
10840
|
+
var editor = _ref7.editor,
|
|
10841
|
+
range = _ref7.range;
|
|
10842
|
+
editor.chain().focus().deleteRange(range).setNode("heading", {
|
|
10843
|
+
level: 6
|
|
10844
|
+
}).run();
|
|
10845
|
+
}
|
|
10846
|
+
}, {
|
|
10847
|
+
optionName: constants.EDITOR_OPTIONS.LIST_ORDERED,
|
|
10848
|
+
title: i18n.t("neetoEditor.menu.numberedList"),
|
|
10849
|
+
description: i18n.t("neetoEditor.menu.numberedListDescription"),
|
|
10850
|
+
Icon: neetoIcons.ListNumber,
|
|
10851
|
+
command: function command(_ref8) {
|
|
10852
|
+
var editor = _ref8.editor,
|
|
10853
|
+
range = _ref8.range;
|
|
10854
|
+
editor.chain().focus().deleteRange(range).toggleOrderedList().run();
|
|
10855
|
+
}
|
|
10856
|
+
}, {
|
|
10857
|
+
optionName: constants.EDITOR_OPTIONS.LIST_BULLETS,
|
|
10858
|
+
title: i18n.t("neetoEditor.menu.bulletList"),
|
|
10859
|
+
description: i18n.t("neetoEditor.menu.bulletListDescription"),
|
|
10860
|
+
Icon: neetoIcons.ListDot,
|
|
10861
|
+
command: function command(_ref9) {
|
|
10862
|
+
var editor = _ref9.editor,
|
|
10863
|
+
range = _ref9.range;
|
|
10864
|
+
editor.chain().focus().deleteRange(range).toggleBulletList().run();
|
|
10865
|
+
}
|
|
10866
|
+
}, {
|
|
10867
|
+
optionName: constants.EDITOR_OPTIONS.IMAGE_UPLOAD,
|
|
10868
|
+
title: i18n.t("neetoEditor.menu.image"),
|
|
10869
|
+
description: i18n.t("neetoEditor.menu.imageDescription"),
|
|
10870
|
+
Icon: neetoIcons.ImageUpload,
|
|
10871
|
+
command: neetoCist.noop
|
|
10872
|
+
}, {
|
|
10873
|
+
optionName: constants.EDITOR_OPTIONS.VIDEO_UPLOAD,
|
|
10874
|
+
title: i18n.t("neetoEditor.menu.video"),
|
|
10875
|
+
description: i18n.t("neetoEditor.menu.videoDescription"),
|
|
10876
|
+
Icon: neetoIcons.Video,
|
|
10877
|
+
command: neetoCist.noop
|
|
10878
|
+
}, {
|
|
10879
|
+
optionName: constants.EDITOR_OPTIONS.BLOCKQUOTE,
|
|
10880
|
+
title: i18n.t("neetoEditor.menu.blockQuote"),
|
|
10881
|
+
description: i18n.t("neetoEditor.menu.blockQuoteDescription"),
|
|
10882
|
+
Icon: neetoIcons.Blockquote,
|
|
10883
|
+
command: function command(_ref10) {
|
|
10884
|
+
var editor = _ref10.editor,
|
|
10885
|
+
range = _ref10.range;
|
|
10886
|
+
editor.chain().focus().deleteRange(range).toggleBlockquote().run();
|
|
10887
|
+
}
|
|
10888
|
+
}, {
|
|
10889
|
+
optionName: constants.EDITOR_OPTIONS.CODE_BLOCK,
|
|
10890
|
+
title: i18n.t("neetoEditor.menu.codeBlock"),
|
|
10891
|
+
description: i18n.t("neetoEditor.menu.codeDescription"),
|
|
10892
|
+
Icon: neetoIcons.CodeBlock,
|
|
10893
|
+
command: function command(_ref11) {
|
|
10894
|
+
var editor = _ref11.editor,
|
|
10895
|
+
range = _ref11.range;
|
|
10896
|
+
editor.chain().focus().deleteRange(range).toggleCodeBlock().run();
|
|
10897
|
+
}
|
|
10898
|
+
}, {
|
|
10899
|
+
optionName: constants.EDITOR_OPTIONS.EMOJI,
|
|
10900
|
+
title: i18n.t("neetoEditor.menu.emoji"),
|
|
10901
|
+
description: i18n.t("neetoEditor.menu.emojiDescription"),
|
|
10902
|
+
Icon: neetoIcons.Smiley,
|
|
10903
|
+
command: function command(_ref12) {
|
|
10904
|
+
var editor = _ref12.editor,
|
|
10905
|
+
range = _ref12.range;
|
|
10906
|
+
editor.chain().focus().deleteRange(range).insertContent("::").run();
|
|
10907
|
+
}
|
|
10908
|
+
}, {
|
|
10909
|
+
optionName: constants.EDITOR_OPTIONS.DIVIDER,
|
|
10910
|
+
title: i18n.t("neetoEditor.menu.divider"),
|
|
10911
|
+
description: i18n.t("neetoEditor.menu.dividerDescription"),
|
|
10912
|
+
Icon: neetoIcons.Minus,
|
|
10913
|
+
command: function command(_ref13) {
|
|
10914
|
+
var editor = _ref13.editor,
|
|
10915
|
+
range = _ref13.range;
|
|
10916
|
+
editor.chain().focus().deleteRange(range).setHorizontalRule().run();
|
|
10917
|
+
}
|
|
10918
|
+
}, {
|
|
10919
|
+
optionName: constants.EDITOR_OPTIONS.VIDEO_EMBED,
|
|
10920
|
+
title: i18n.t("neetoEditor.menu.embed"),
|
|
10921
|
+
description: i18n.t("neetoEditor.menu.embedDescription"),
|
|
10922
|
+
Icon: neetoIcons.MediaVideo,
|
|
10923
|
+
command: neetoCist.noop
|
|
10924
|
+
}, {
|
|
10925
|
+
optionName: constants.EDITOR_OPTIONS.PASTE_UNFORMATTED,
|
|
10926
|
+
title: i18n.t("neetoEditor.menu.pasteUnformatted"),
|
|
10927
|
+
description: i18n.t("neetoEditor.menu.pasteUnformattedDescription"),
|
|
10928
|
+
Icon: neetoIcons.Notes,
|
|
10929
|
+
command: function command(_ref14) {
|
|
10930
|
+
var editor = _ref14.editor,
|
|
10931
|
+
range = _ref14.range;
|
|
10932
|
+
return editor.chain().focus().deleteRange(range).pasteUnformatted().run();
|
|
10933
|
+
}
|
|
10934
|
+
}, {
|
|
10935
|
+
optionName: constants.EDITOR_OPTIONS.TABLE,
|
|
10936
|
+
title: i18n.t("neetoEditor.menu.table"),
|
|
10937
|
+
description: i18n.t("neetoEditor.menu.tableDescription"),
|
|
10938
|
+
Icon: neetoIcons.Column,
|
|
10939
|
+
command: function command(_ref15) {
|
|
10940
|
+
var editor = _ref15.editor,
|
|
10941
|
+
range = _ref15.range;
|
|
10942
|
+
return editor.chain().focus().deleteRange(range).insertTable({
|
|
10943
|
+
rows: 3,
|
|
10944
|
+
cols: 3,
|
|
10945
|
+
withHeaderRow: true
|
|
10946
|
+
}).run();
|
|
10947
|
+
}
|
|
10948
|
+
}];
|
|
10949
|
+
var NO_RESULT_MENU_ITEM = {
|
|
10950
|
+
title: i18n.t("neetoEditor.menu.noResults"),
|
|
10951
|
+
command: function command(_ref16) {
|
|
10952
|
+
var editor = _ref16.editor,
|
|
10953
|
+
range = _ref16.range;
|
|
10954
|
+
editor.chain().focus().deleteRange(range).run();
|
|
10955
|
+
}
|
|
10956
|
+
};
|
|
10957
|
+
|
|
10958
|
+
var embedCommand = function embedCommand(setIsEmbedModalOpen) {
|
|
10959
|
+
return function (_ref) {
|
|
10960
|
+
var editor = _ref.editor,
|
|
10961
|
+
range = _ref.range;
|
|
10962
|
+
setIsEmbedModalOpen(true);
|
|
10963
|
+
editor.chain().focus().deleteRange(range).run();
|
|
10964
|
+
};
|
|
10965
|
+
};
|
|
10966
|
+
var imageCommand = function imageCommand(setMediaUploader) {
|
|
10967
|
+
return function (_ref2) {
|
|
10968
|
+
var editor = _ref2.editor,
|
|
10969
|
+
range = _ref2.range;
|
|
10970
|
+
setMediaUploader(ramda.assoc("image", true));
|
|
10971
|
+
editor.chain().focus().deleteRange(range).run();
|
|
10972
|
+
};
|
|
10973
|
+
};
|
|
10974
|
+
var videoCommand = function videoCommand(setMediaUploader) {
|
|
10975
|
+
return function (_ref3) {
|
|
10976
|
+
var editor = _ref3.editor,
|
|
10977
|
+
range = _ref3.range;
|
|
10978
|
+
setMediaUploader(ramda.assoc("video", true));
|
|
10979
|
+
editor.chain().focus().deleteRange(range).run();
|
|
10980
|
+
};
|
|
10981
|
+
};
|
|
10982
|
+
var buildCommandItems = function buildCommandItems(_ref4) {
|
|
10983
|
+
var options = _ref4.options,
|
|
10984
|
+
addonCommands = _ref4.addonCommands,
|
|
10985
|
+
setMediaUploader = _ref4.setMediaUploader,
|
|
10986
|
+
setIsEmbedModalOpen = _ref4.setIsEmbedModalOpen;
|
|
10987
|
+
var commandItems = MENU_ITEMS.map(function (item) {
|
|
10988
|
+
if (item.optionName === constants.EDITOR_OPTIONS.IMAGE_UPLOAD) {
|
|
10989
|
+
return ramda.assoc("command", imageCommand(setMediaUploader), item);
|
|
10990
|
+
} else if (item.optionName === constants.EDITOR_OPTIONS.VIDEO_UPLOAD) {
|
|
10991
|
+
return ramda.assoc("command", videoCommand(setMediaUploader), item);
|
|
10992
|
+
} else if (item.optionName === constants.EDITOR_OPTIONS.VIDEO_EMBED) {
|
|
10993
|
+
return ramda.assoc("command", embedCommand(setIsEmbedModalOpen), item);
|
|
10994
|
+
}
|
|
10995
|
+
return item;
|
|
10996
|
+
});
|
|
10997
|
+
var permittedCommandItems = commandItems.filter(function (_ref5) {
|
|
10998
|
+
var optionName = _ref5.optionName;
|
|
10999
|
+
return options.includes(optionName);
|
|
11000
|
+
});
|
|
11001
|
+
return [].concat(_toConsumableArray__default["default"](permittedCommandItems), _toConsumableArray__default["default"](addonCommands));
|
|
11002
|
+
};
|
|
11003
|
+
|
|
11004
|
+
function ownKeys$4(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
11005
|
+
function _objectSpread$4(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$4(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$4(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
11006
|
+
var CommandsPluginKey = new utils.PluginKey("commands");
|
|
11007
|
+
var SlashCommands = {
|
|
11008
|
+
configure: function configure(_ref) {
|
|
11009
|
+
var addonCommands = _ref.addonCommands,
|
|
11010
|
+
options = _ref.options,
|
|
11011
|
+
setMediaUploader = _ref.setMediaUploader,
|
|
11012
|
+
setIsEmbedModalOpen = _ref.setIsEmbedModalOpen;
|
|
11013
|
+
var commandItems = buildCommandItems({
|
|
11014
|
+
options: options,
|
|
11015
|
+
addonCommands: addonCommands,
|
|
11016
|
+
setMediaUploader: setMediaUploader,
|
|
11017
|
+
setIsEmbedModalOpen: setIsEmbedModalOpen
|
|
11018
|
+
});
|
|
11019
|
+
return Menu$4.Extension.create({
|
|
11020
|
+
name: "slash-commands",
|
|
11021
|
+
addOptions: function addOptions() {
|
|
11022
|
+
return {
|
|
11023
|
+
HTMLAttributes: {
|
|
11024
|
+
"class": "commands"
|
|
11025
|
+
},
|
|
11026
|
+
suggestion: {
|
|
11027
|
+
"char": "/",
|
|
11028
|
+
startOfLine: false,
|
|
11029
|
+
pluginKey: CommandsPluginKey,
|
|
11030
|
+
command: function command(_ref2) {
|
|
11031
|
+
var editor = _ref2.editor,
|
|
11032
|
+
range = _ref2.range,
|
|
11033
|
+
props = _ref2.props;
|
|
11034
|
+
props.command({
|
|
11035
|
+
editor: editor,
|
|
11036
|
+
range: range
|
|
11037
|
+
});
|
|
11038
|
+
},
|
|
11039
|
+
items: function items(_ref3) {
|
|
11040
|
+
var query = _ref3.query;
|
|
11041
|
+
var filteredItems = commandItems.filter(function (_ref4) {
|
|
11042
|
+
var title = _ref4.title;
|
|
11043
|
+
return title.toLowerCase().includes(query.toLowerCase());
|
|
11044
|
+
});
|
|
11045
|
+
return ramda.isEmpty(filteredItems) ? [NO_RESULT_MENU_ITEM] : filteredItems;
|
|
11046
|
+
},
|
|
11047
|
+
render: function render() {
|
|
11048
|
+
var reactRenderer;
|
|
11049
|
+
var popup;
|
|
11050
|
+
return {
|
|
11051
|
+
onStart: function onStart(props) {
|
|
11052
|
+
if (props.editor.isActive("image") || props.editor.isActive("codeBlock")) {
|
|
11053
|
+
return;
|
|
11054
|
+
}
|
|
11055
|
+
reactRenderer = new Menu$4.ReactRenderer(CommandsList, {
|
|
11056
|
+
props: props,
|
|
11057
|
+
editor: props.editor
|
|
11058
|
+
});
|
|
11059
|
+
popup = tippy__default["default"]("body", {
|
|
11060
|
+
getReferenceClientRect: props.clientRect,
|
|
11061
|
+
appendTo: function appendTo() {
|
|
11062
|
+
return document.body;
|
|
11063
|
+
},
|
|
11064
|
+
content: reactRenderer.element,
|
|
11065
|
+
showOnCreate: true,
|
|
11066
|
+
interactive: true,
|
|
11067
|
+
trigger: "manual",
|
|
11068
|
+
placement: "bottom-start",
|
|
11069
|
+
arrow: false,
|
|
11070
|
+
zIndex: 99999,
|
|
11071
|
+
role: "dropdown",
|
|
11072
|
+
theme: "neeto-editor-slash-menu"
|
|
11073
|
+
});
|
|
11074
|
+
Menu$4.highlightFocussedNode();
|
|
11075
|
+
},
|
|
11076
|
+
onUpdate: function onUpdate(props) {
|
|
11077
|
+
var _reactRenderer;
|
|
11078
|
+
if (props.editor.isActive("image") || props.editor.isActive("codeBlock")) {
|
|
11079
|
+
return;
|
|
11080
|
+
}
|
|
11081
|
+
(_reactRenderer = reactRenderer) === null || _reactRenderer === void 0 || _reactRenderer.updateProps(props);
|
|
11082
|
+
popup[0].setProps({
|
|
11083
|
+
getReferenceClientRect: props.clientRect
|
|
11084
|
+
});
|
|
11085
|
+
},
|
|
11086
|
+
onKeyDown: function onKeyDown(props) {
|
|
11087
|
+
var _reactRenderer2;
|
|
11088
|
+
if (props.event.key === "Escape") {
|
|
11089
|
+
popup[0].hide();
|
|
11090
|
+
return true;
|
|
11091
|
+
}
|
|
11092
|
+
return reactRenderer && ((_reactRenderer2 = reactRenderer) === null || _reactRenderer2 === void 0 || (_reactRenderer2 = _reactRenderer2.ref) === null || _reactRenderer2 === void 0 ? void 0 : _reactRenderer2.onKeyDown(props));
|
|
11093
|
+
},
|
|
11094
|
+
onExit: function onExit() {
|
|
11095
|
+
popup && popup[0].destroy();
|
|
11096
|
+
reactRenderer && reactRenderer.destroy();
|
|
11097
|
+
Menu$4.resetFocussedNode();
|
|
11098
|
+
}
|
|
11099
|
+
};
|
|
11100
|
+
}
|
|
11101
|
+
}
|
|
11102
|
+
};
|
|
11103
|
+
},
|
|
11104
|
+
addProseMirrorPlugins: function addProseMirrorPlugins() {
|
|
11105
|
+
return [Suggestion(_objectSpread$4({
|
|
11106
|
+
editor: this.editor
|
|
11107
|
+
}, this.options.suggestion))];
|
|
11108
|
+
}
|
|
11109
|
+
});
|
|
11110
|
+
}
|
|
11111
|
+
};
|
|
11112
|
+
|
|
10539
11113
|
var _excluded$2 = ["suggestion"];
|
|
10540
11114
|
function ownKeys$3(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
10541
11115
|
function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$3(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$3(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
@@ -10554,7 +11128,7 @@ var suggestion = {
|
|
|
10554
11128
|
var popup;
|
|
10555
11129
|
return {
|
|
10556
11130
|
onStart: function onStart(props) {
|
|
10557
|
-
reactRenderer = new Menu$
|
|
11131
|
+
reactRenderer = new Menu$4.ReactRenderer(MentionList, {
|
|
10558
11132
|
props: props,
|
|
10559
11133
|
editor: props.editor
|
|
10560
11134
|
});
|
|
@@ -10599,7 +11173,7 @@ var SpecialMentions = Mention$1.extend({
|
|
|
10599
11173
|
renderHTML: function renderHTML(_ref2) {
|
|
10600
11174
|
var node = _ref2.node,
|
|
10601
11175
|
HTMLAttributes = _ref2.HTMLAttributes;
|
|
10602
|
-
return ["span", Menu$
|
|
11176
|
+
return ["span", Menu$4.mergeAttributes({
|
|
10603
11177
|
"data-type": this.name
|
|
10604
11178
|
}, this.options.HTMLAttributes, HTMLAttributes), renderLabel({
|
|
10605
11179
|
options: this.options,
|
|
@@ -11269,10 +11843,10 @@ function drawCellSelection(state) {
|
|
|
11269
11843
|
const cells = [];
|
|
11270
11844
|
state.selection.forEachCell((node, pos) => {
|
|
11271
11845
|
cells.push(
|
|
11272
|
-
Menu$
|
|
11846
|
+
Menu$4.Decoration.node(pos, pos + node.nodeSize, { class: "selectedCell" })
|
|
11273
11847
|
);
|
|
11274
11848
|
});
|
|
11275
|
-
return Menu$
|
|
11849
|
+
return Menu$4.DecorationSet.create(state.doc, cells);
|
|
11276
11850
|
}
|
|
11277
11851
|
function isCellBoundarySelection({ $from, $to }) {
|
|
11278
11852
|
if ($from.pos == $to.pos || $from.pos < $from.pos - 6)
|
|
@@ -11695,7 +12269,7 @@ function insertCells(state, dispatch, tableStart, rect, cells) {
|
|
|
11695
12269
|
}
|
|
11696
12270
|
|
|
11697
12271
|
// src/input.ts
|
|
11698
|
-
var handleKeyDown = Menu$
|
|
12272
|
+
var handleKeyDown = Menu$4.keydownHandler({
|
|
11699
12273
|
ArrowLeft: arrow("horiz", -1),
|
|
11700
12274
|
ArrowRight: arrow("horiz", 1),
|
|
11701
12275
|
ArrowUp: arrow("vert", -1),
|
|
@@ -12247,7 +12821,7 @@ function handleDecorations(state, cell) {
|
|
|
12247
12821
|
const $cell = state.doc.resolve(cell);
|
|
12248
12822
|
const table = $cell.node(-1);
|
|
12249
12823
|
if (!table) {
|
|
12250
|
-
return Menu$
|
|
12824
|
+
return Menu$4.DecorationSet.empty;
|
|
12251
12825
|
}
|
|
12252
12826
|
const map = TableMap.get(table);
|
|
12253
12827
|
const start = $cell.start(-1);
|
|
@@ -12259,10 +12833,10 @@ function handleDecorations(state, cell) {
|
|
|
12259
12833
|
const pos = start + cellPos + table.nodeAt(cellPos).nodeSize - 1;
|
|
12260
12834
|
const dom = document.createElement("div");
|
|
12261
12835
|
dom.className = "column-resize-handle";
|
|
12262
|
-
decorations.push(Menu$
|
|
12836
|
+
decorations.push(Menu$4.Decoration.widget(pos, dom));
|
|
12263
12837
|
}
|
|
12264
12838
|
}
|
|
12265
|
-
return Menu$
|
|
12839
|
+
return Menu$4.DecorationSet.create(state.doc, decorations);
|
|
12266
12840
|
}
|
|
12267
12841
|
function selectedRect(state) {
|
|
12268
12842
|
const sel = state.selection;
|
|
@@ -13011,7 +13585,7 @@ const deleteTableWhenAllCellsSelected = ({ editor }) => {
|
|
|
13011
13585
|
return false;
|
|
13012
13586
|
}
|
|
13013
13587
|
let cellCount = 0;
|
|
13014
|
-
const table = Menu$
|
|
13588
|
+
const table = Menu$4.findParentNodeClosestToPos(selection.ranges[0].$from, node => {
|
|
13015
13589
|
return node.type.name === 'table';
|
|
13016
13590
|
});
|
|
13017
13591
|
table === null || table === void 0 ? void 0 : table.node.descendants(node => {
|
|
@@ -13034,7 +13608,7 @@ const deleteTableWhenAllCellsSelected = ({ editor }) => {
|
|
|
13034
13608
|
* This extension allows you to create tables.
|
|
13035
13609
|
* @see https://www.tiptap.dev/api/nodes/table
|
|
13036
13610
|
*/
|
|
13037
|
-
const Table$2 = Menu$
|
|
13611
|
+
const Table$2 = Menu$4.Node.create({
|
|
13038
13612
|
name: 'table',
|
|
13039
13613
|
// @ts-ignore
|
|
13040
13614
|
addOptions() {
|
|
@@ -13060,7 +13634,7 @@ const Table$2 = Menu$3.Node.create({
|
|
|
13060
13634
|
const { colgroup, tableWidth, tableMinWidth } = createColGroup(node, this.options.cellMinWidth);
|
|
13061
13635
|
const table = [
|
|
13062
13636
|
'table',
|
|
13063
|
-
Menu$
|
|
13637
|
+
Menu$4.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes, {
|
|
13064
13638
|
style: tableWidth
|
|
13065
13639
|
? `width: ${tableWidth}`
|
|
13066
13640
|
: `minWidth: ${tableMinWidth}`,
|
|
@@ -13195,7 +13769,7 @@ const Table$2 = Menu$3.Node.create({
|
|
|
13195
13769
|
storage: extension.storage,
|
|
13196
13770
|
};
|
|
13197
13771
|
return {
|
|
13198
|
-
tableRole: Menu$
|
|
13772
|
+
tableRole: Menu$4.callOrReturn(Menu$4.getExtensionField(extension, 'tableRole', context)),
|
|
13199
13773
|
};
|
|
13200
13774
|
},
|
|
13201
13775
|
});
|
|
@@ -13353,7 +13927,7 @@ var Table = Table$2.extend({
|
|
|
13353
13927
|
var Table$1 = Table.configure({});
|
|
13354
13928
|
|
|
13355
13929
|
new utils.PluginKey("variables");
|
|
13356
|
-
var Variable = Menu$
|
|
13930
|
+
var Variable = Menu$4.Node.create({
|
|
13357
13931
|
name: "variable",
|
|
13358
13932
|
addOptions: function addOptions() {
|
|
13359
13933
|
return {
|
|
@@ -13414,7 +13988,7 @@ var Variable = Menu$3.Node.create({
|
|
|
13414
13988
|
renderHTML: function renderHTML(_ref2) {
|
|
13415
13989
|
var node = _ref2.node,
|
|
13416
13990
|
HTMLAttributes = _ref2.HTMLAttributes;
|
|
13417
|
-
return ["span", Menu$
|
|
13991
|
+
return ["span", Menu$4.mergeAttributes({
|
|
13418
13992
|
"data-variable": ""
|
|
13419
13993
|
}, this.options.HTMLAttributes, HTMLAttributes), this.options.renderLabel({
|
|
13420
13994
|
options: this.options,
|
|
@@ -13480,9 +14054,9 @@ var VideoComponent = function VideoComponent(_ref) {
|
|
|
13480
14054
|
})));
|
|
13481
14055
|
editor.commands.focus();
|
|
13482
14056
|
};
|
|
13483
|
-
return /*#__PURE__*/React__default["default"].createElement(Menu$
|
|
14057
|
+
return /*#__PURE__*/React__default["default"].createElement(Menu$4.NodeViewWrapper, {
|
|
13484
14058
|
className: "neeto-editor__image-wrapper neeto-editor__image--".concat(align)
|
|
13485
|
-
}, /*#__PURE__*/React__default["default"].createElement("figure", null, /*#__PURE__*/React__default["default"].createElement(Menu$
|
|
14059
|
+
}, /*#__PURE__*/React__default["default"].createElement("figure", null, /*#__PURE__*/React__default["default"].createElement(Menu$2, {
|
|
13486
14060
|
align: align,
|
|
13487
14061
|
deleteNode: deleteNode,
|
|
13488
14062
|
editor: editor,
|
|
@@ -13505,7 +14079,7 @@ var VideoComponent = function VideoComponent(_ref) {
|
|
|
13505
14079
|
}), {
|
|
13506
14080
|
alt: caption,
|
|
13507
14081
|
preload: "metadata"
|
|
13508
|
-
}))), /*#__PURE__*/React__default["default"].createElement(Menu$
|
|
14082
|
+
}))), /*#__PURE__*/React__default["default"].createElement(Menu$4.NodeViewContent, {
|
|
13509
14083
|
as: "figcaption",
|
|
13510
14084
|
className: classnames__default["default"]({
|
|
13511
14085
|
"is-empty": ramda.isEmpty(caption)
|
|
@@ -13517,7 +14091,7 @@ var VideoComponent = function VideoComponent(_ref) {
|
|
|
13517
14091
|
};
|
|
13518
14092
|
|
|
13519
14093
|
var _excluded$1 = ["caption"];
|
|
13520
|
-
var VideoExtension = Menu$
|
|
14094
|
+
var VideoExtension = Menu$4.Node.create({
|
|
13521
14095
|
name: "video",
|
|
13522
14096
|
addOptions: function addOptions() {
|
|
13523
14097
|
return {
|
|
@@ -13595,9 +14169,9 @@ var VideoExtension = Menu$3.Node.create({
|
|
|
13595
14169
|
var captionAttrs = {
|
|
13596
14170
|
style: "width:".concat(vidwidth, "px;")
|
|
13597
14171
|
};
|
|
13598
|
-
return ["div", wrapperDivAttrs, ["figure", Menu$
|
|
14172
|
+
return ["div", wrapperDivAttrs, ["figure", Menu$4.mergeAttributes(this.options.HTMLAttributes, {
|
|
13599
14173
|
"data-video": ""
|
|
13600
|
-
}), ["a", wrapperLinkAttrs, ["video", Menu$
|
|
14174
|
+
}), ["a", wrapperLinkAttrs, ["video", Menu$4.mergeAttributes(HTMLAttributes, {
|
|
13601
14175
|
preload: "metadata",
|
|
13602
14176
|
controls: true,
|
|
13603
14177
|
draggable: false,
|
|
@@ -13605,7 +14179,7 @@ var VideoExtension = Menu$3.Node.create({
|
|
|
13605
14179
|
})]], ["figcaption", captionAttrs, 0]]];
|
|
13606
14180
|
},
|
|
13607
14181
|
addNodeView: function addNodeView() {
|
|
13608
|
-
return Menu$
|
|
14182
|
+
return Menu$4.ReactNodeViewRenderer(VideoComponent);
|
|
13609
14183
|
},
|
|
13610
14184
|
addCommands: function addCommands() {
|
|
13611
14185
|
var _this = this;
|
|
@@ -13643,10 +14217,14 @@ var useCustomExtensions = function useCustomExtensions(_ref) {
|
|
|
13643
14217
|
extensions = _ref.extensions,
|
|
13644
14218
|
mentions = _ref.mentions,
|
|
13645
14219
|
variables = _ref.variables,
|
|
14220
|
+
isSlashCommandsActive = _ref.isSlashCommandsActive,
|
|
13646
14221
|
options = _ref.options,
|
|
14222
|
+
addonCommands = _ref.addonCommands,
|
|
13647
14223
|
onSubmit = _ref.onSubmit,
|
|
13648
14224
|
keyboardShortcuts = _ref.keyboardShortcuts,
|
|
13649
14225
|
isVideoEmbedActive = _ref.isVideoEmbedActive,
|
|
14226
|
+
setMediaUploader = _ref.setMediaUploader,
|
|
14227
|
+
setIsEmbedModalOpen = _ref.setIsEmbedModalOpen,
|
|
13650
14228
|
openImageInNewTab = _ref.openImageInNewTab,
|
|
13651
14229
|
openLinkInNewTab = _ref.openLinkInNewTab;
|
|
13652
14230
|
var customExtensions = [CharacterCount, Code, CodeBlock, CustomCommands, Document, EmojiSuggestion$1, EmojiPicker, FigCaption, HighlightInternal, SelectionDecoration, FocusClasses.configure({
|
|
@@ -13682,6 +14260,14 @@ var useCustomExtensions = function useCustomExtensions(_ref) {
|
|
|
13682
14260
|
if (options.includes(constants.EDITOR_OPTIONS.TEXT_COLOR)) {
|
|
13683
14261
|
customExtensions.push(Color);
|
|
13684
14262
|
}
|
|
14263
|
+
if (isSlashCommandsActive) {
|
|
14264
|
+
customExtensions.push(SlashCommands.configure({
|
|
14265
|
+
options: options,
|
|
14266
|
+
addonCommands: addonCommands,
|
|
14267
|
+
setMediaUploader: setMediaUploader,
|
|
14268
|
+
setIsEmbedModalOpen: setIsEmbedModalOpen
|
|
14269
|
+
}));
|
|
14270
|
+
}
|
|
13685
14271
|
if (!ramda.isEmpty(mentions)) {
|
|
13686
14272
|
var items = createMentionSuggestions(mentions);
|
|
13687
14273
|
customExtensions.push(Mention.configure({
|
|
@@ -13773,7 +14359,7 @@ var TableActionMenu = function TableActionMenu(_ref) {
|
|
|
13773
14359
|
return editor === null || editor === void 0 ? void 0 : editor.isActive("table");
|
|
13774
14360
|
}, [editor]);
|
|
13775
14361
|
if (!editor) return null;
|
|
13776
|
-
return /*#__PURE__*/React__default["default"].createElement(Menu$
|
|
14362
|
+
return /*#__PURE__*/React__default["default"].createElement(Menu$4.BubbleMenu, {
|
|
13777
14363
|
editor: editor,
|
|
13778
14364
|
shouldShow: shouldShow,
|
|
13779
14365
|
className: "neeto-editor-bubble-menu",
|
|
@@ -13851,7 +14437,7 @@ var LinkPopOver = function LinkPopOver(_ref) {
|
|
|
13851
14437
|
var linkAttributes = editor === null || editor === void 0 ? void 0 : editor.getAttributes("link");
|
|
13852
14438
|
var updatePopoverPosition = function updatePopoverPosition() {
|
|
13853
14439
|
if (!view) return;
|
|
13854
|
-
var _getLinkPopoverPositi = Menu$
|
|
14440
|
+
var _getLinkPopoverPositi = Menu$4.getLinkPopoverPosition(editor, popoverRef),
|
|
13855
14441
|
arrowPosition = _getLinkPopoverPositi.arrowPosition,
|
|
13856
14442
|
popoverPosition = _getLinkPopoverPositi.popoverPosition;
|
|
13857
14443
|
setPopoverPosition(popoverPosition);
|
|
@@ -13887,9 +14473,9 @@ var LinkPopOver = function LinkPopOver(_ref) {
|
|
|
13887
14473
|
var _editor$view = editor.view,
|
|
13888
14474
|
state = _editor$view.state,
|
|
13889
14475
|
dispatch = _editor$view.dispatch;
|
|
13890
|
-
var type = Menu$
|
|
14476
|
+
var type = Menu$4.getMarkType("link", state.schema);
|
|
13891
14477
|
var $to = state.selection.$to;
|
|
13892
|
-
var _ref4 = Menu$
|
|
14478
|
+
var _ref4 = Menu$4.getMarkRange($to, type) || {},
|
|
13893
14479
|
_ref4$from = _ref4.from,
|
|
13894
14480
|
from = _ref4$from === void 0 ? null : _ref4$from,
|
|
13895
14481
|
_ref4$to = _ref4.to,
|
|
@@ -14028,7 +14614,7 @@ var LinkPopOver = function LinkPopOver(_ref) {
|
|
|
14028
14614
|
}, isEditing ? renderEditingMode() : renderViewMode())) : null, document.body);
|
|
14029
14615
|
};
|
|
14030
14616
|
|
|
14031
|
-
var _excluded = ["addonCommands", "addons", "attachments", "attachmentsConfig", "autoFocus", "className", "contentClassName", "errorWrapperClassName", "contentAttributes", "menuClassName", "attachmentsClassName", "isMenuIndependent", "defaults", "editorSecrets", "error", "extensions", "initialValue", "isCharacterCountActive", "keyboardShortcuts", "label", "mentions", "menuType", "placeholder", "required", "rows", "tooltips", "variables", "onChange", "onFocus", "onBlur", "onSubmit", "onChangeAttachments", "children", "openImageInNewTab", "openLinkInNewTab"];
|
|
14617
|
+
var _excluded = ["addonCommands", "addons", "attachments", "attachmentsConfig", "autoFocus", "className", "contentClassName", "errorWrapperClassName", "contentAttributes", "menuClassName", "attachmentsClassName", "isMenuIndependent", "defaults", "editorSecrets", "error", "extensions", "hideSlashCommands", "initialValue", "isCharacterCountActive", "keyboardShortcuts", "label", "mentions", "menuType", "placeholder", "required", "rows", "tooltips", "variables", "onChange", "onFocus", "onBlur", "onSubmit", "onChangeAttachments", "children", "openImageInNewTab", "openLinkInNewTab"];
|
|
14032
14618
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
14033
14619
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
14034
14620
|
var Editor = function Editor(_ref, ref) {
|
|
@@ -14059,6 +14645,8 @@ var Editor = function Editor(_ref, ref) {
|
|
|
14059
14645
|
error = _ref$error === void 0 ? null : _ref$error,
|
|
14060
14646
|
_ref$extensions = _ref.extensions,
|
|
14061
14647
|
extensions = _ref$extensions === void 0 ? [] : _ref$extensions,
|
|
14648
|
+
_ref$hideSlashCommand = _ref.hideSlashCommands,
|
|
14649
|
+
hideSlashCommands = _ref$hideSlashCommand === void 0 ? true : _ref$hideSlashCommand,
|
|
14062
14650
|
_ref$initialValue = _ref.initialValue,
|
|
14063
14651
|
initialValue = _ref$initialValue === void 0 ? "" : _ref$initialValue,
|
|
14064
14652
|
_ref$isCharacterCount = _ref.isCharacterCountActive,
|
|
@@ -14106,6 +14694,7 @@ var Editor = function Editor(_ref, ref) {
|
|
|
14106
14694
|
var isMediaUploaderActive = addons.includes(constants.EDITOR_OPTIONS.IMAGE_UPLOAD) || addons.includes(constants.EDITOR_OPTIONS.VIDEO_UPLOAD);
|
|
14107
14695
|
var isFixedMenuActive = menuType === "fixed";
|
|
14108
14696
|
var isBubbleMenuActive = menuType === "bubble";
|
|
14697
|
+
var isSlashCommandsActive = !hideSlashCommands || isBubbleMenuActive;
|
|
14109
14698
|
var isPlaceholderActive = !!placeholder;
|
|
14110
14699
|
var _useState3 = React.useState(false),
|
|
14111
14700
|
_useState4 = _slicedToArray__default["default"](_useState3, 2),
|
|
@@ -14131,10 +14720,14 @@ var Editor = function Editor(_ref, ref) {
|
|
|
14131
14720
|
extensions: extensions,
|
|
14132
14721
|
mentions: mentions,
|
|
14133
14722
|
variables: variables,
|
|
14723
|
+
isSlashCommandsActive: isSlashCommandsActive,
|
|
14134
14724
|
options: [].concat(_toConsumableArray__default["default"](defaults), _toConsumableArray__default["default"](addons)),
|
|
14725
|
+
addonCommands: addonCommands,
|
|
14135
14726
|
onSubmit: onSubmit,
|
|
14136
14727
|
keyboardShortcuts: keyboardShortcuts,
|
|
14137
14728
|
isVideoEmbedActive: isVideoEmbedActive,
|
|
14729
|
+
setMediaUploader: setMediaUploader,
|
|
14730
|
+
setIsEmbedModalOpen: setIsEmbedModalOpen,
|
|
14138
14731
|
openImageInNewTab: openImageInNewTab,
|
|
14139
14732
|
openLinkInNewTab: openLinkInNewTab
|
|
14140
14733
|
});
|
|
@@ -14155,7 +14748,7 @@ var Editor = function Editor(_ref, ref) {
|
|
|
14155
14748
|
"aria-required": required,
|
|
14156
14749
|
"aria-roledescription": "editor"
|
|
14157
14750
|
};
|
|
14158
|
-
var editor = Menu$
|
|
14751
|
+
var editor = Menu$4.useEditor({
|
|
14159
14752
|
extensions: customExtensions,
|
|
14160
14753
|
content: initialValue,
|
|
14161
14754
|
injectCSS: false,
|
|
@@ -14197,7 +14790,7 @@ var Editor = function Editor(_ref, ref) {
|
|
|
14197
14790
|
}, [editor]);
|
|
14198
14791
|
|
|
14199
14792
|
// https://github.com/ueberdosis/tiptap/issues/1451#issuecomment-953348865
|
|
14200
|
-
Menu$
|
|
14793
|
+
Menu$4.EditorView.prototype.updateState = function updateState(state) {
|
|
14201
14794
|
if (!this.docView) return;
|
|
14202
14795
|
this.updateStateInner(state, this.state.plugins !== state.plugins);
|
|
14203
14796
|
};
|
|
@@ -14214,7 +14807,7 @@ var Editor = function Editor(_ref, ref) {
|
|
|
14214
14807
|
}, /*#__PURE__*/React__default["default"].createElement(CharacterCountWrapper, {
|
|
14215
14808
|
editor: editor,
|
|
14216
14809
|
isActive: isCharacterCountActive
|
|
14217
|
-
}, /*#__PURE__*/React__default["default"].createElement(Menu$
|
|
14810
|
+
}, /*#__PURE__*/React__default["default"].createElement(Menu$4.Menu, {
|
|
14218
14811
|
addonCommands: addonCommands,
|
|
14219
14812
|
addons: addons,
|
|
14220
14813
|
attachmentProps: attachmentProps,
|
|
@@ -14228,9 +14821,9 @@ var Editor = function Editor(_ref, ref) {
|
|
|
14228
14821
|
variables: variables,
|
|
14229
14822
|
className: menuClassName,
|
|
14230
14823
|
isIndependant: isMenuIndependent
|
|
14231
|
-
}), children, /*#__PURE__*/React__default["default"].createElement(Menu$
|
|
14824
|
+
}), children, /*#__PURE__*/React__default["default"].createElement(Menu$4.EditorContent, _objectSpread({
|
|
14232
14825
|
editor: editor
|
|
14233
|
-
}, otherProps)), isMediaUploaderActive && /*#__PURE__*/React__default["default"].createElement(Menu$
|
|
14826
|
+
}, otherProps)), isMediaUploaderActive && /*#__PURE__*/React__default["default"].createElement(Menu$4.MediaUploader, {
|
|
14234
14827
|
editor: editor,
|
|
14235
14828
|
mediaUploader: mediaUploader,
|
|
14236
14829
|
unsplashApiKey: editorSecrets === null || editorSecrets === void 0 ? void 0 : editorSecrets.unsplash,
|
|
@@ -14240,7 +14833,7 @@ var Editor = function Editor(_ref, ref) {
|
|
|
14240
14833
|
video: false
|
|
14241
14834
|
});
|
|
14242
14835
|
}
|
|
14243
|
-
}), isVideoEmbedActive && /*#__PURE__*/React__default["default"].createElement(Menu$
|
|
14836
|
+
}), isVideoEmbedActive && /*#__PURE__*/React__default["default"].createElement(Menu$4.EmbedOption, {
|
|
14244
14837
|
editor: editor,
|
|
14245
14838
|
isEmbedModalOpen: isEmbedModalOpen,
|
|
14246
14839
|
setIsEmbedModalOpen: setIsEmbedModalOpen
|