@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.
@@ -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$3 = require('./chunk-b40b9bbf.cjs.js');
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$3.Extension.create({
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$3.Mark.create({
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$3.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
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$3.markInputRule({
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$3.markPasteRule({
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$3.Mark.create({
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$3.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
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$3.getMarkAttributes(state, this.type);
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$3.Extension.create({
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$3.Node.create({
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$3.Extension.create({
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$3.DecorationSet.create(doc, []);
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$3.Decoration.node(pos, pos + node.nodeSize, {
449
+ decorations.push(Menu$4.Decoration.node(pos, pos + node.nodeSize, {
449
450
  class: this.options.className,
450
451
  }));
451
452
  });
452
- return Menu$3.DecorationSet.create(doc, decorations);
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$3.Mark.create({
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$3.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
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$3.markInputRule({
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$3.markPasteRule({
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$3.Node.create({
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$3.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
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$3.Node.create({
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$3.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
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$3.Node.create({
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$3.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
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$3.Mark.create({
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$3.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
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$3.Node.create({
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$3.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
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$3.wrappingInputRule({
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$3.Mark.create({
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$3.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
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$3.markInputRule({
825
+ Menu$4.markInputRule({
825
826
  find: starInputRegex$1,
826
827
  type: this.type,
827
828
  }),
828
- Menu$3.markInputRule({
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$3.markPasteRule({
837
+ Menu$4.markPasteRule({
837
838
  find: starPasteRegex$1,
838
839
  type: this.type,
839
840
  }),
840
- Menu$3.markPasteRule({
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$3.Node.create({
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$3.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
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$3.Mark.create({
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$3.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
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$3.getMarkAttributes(state, this.type);
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$3.Node.create({
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$3.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
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$3.wrappingInputRule({
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$3.wrappingInputRule({
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$3.Node.create({
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$3.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes),
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$3.textblockTypeInputRule({
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$3.textblockTypeInputRule({
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$3.Extension.create({
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$3.keydownHandler({
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$3.DecorationSet.create(state.doc, [Menu$3.Decoration.widget(state.selection.head, node, { key: "gapcursor" })]);
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$3.Extension.create({
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$3.callOrReturn(Menu$3.getExtensionField(extension, 'allowGapCursor', context))) !== null && _a !== void 0 ? _a : null,
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$3.Node.create({
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$3.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes)];
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$3.Node.create({
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$3.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
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$3.textblockTypeInputRule({
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$3.Extension.create({
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$3.Node.create({
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$3.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes)];
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$3.nodeInputRule({
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$3.Mark.create({
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$3.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
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$3.markInputRule({
2559
+ Menu$4.markInputRule({
2559
2560
  find: starInputRegex,
2560
2561
  type: this.type,
2561
2562
  }),
2562
- Menu$3.markInputRule({
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$3.markPasteRule({
2571
+ Menu$4.markPasteRule({
2571
2572
  find: starPasteRegex,
2572
2573
  type: this.type,
2573
2574
  }),
2574
- Menu$3.markPasteRule({
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$3.Node.create({
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$3.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
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$3.Node.create({
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$3.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
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$3.Mark.create({
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$3.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
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$3.getMarkAttributes(state, this.type);
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$3.Node.create({
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$3.mergeAttributes(this.options.HTMLAttributes, attributesWithoutStart), 0]
2740
- : ['ol', Menu$3.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
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$3.wrappingInputRule({
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$3.wrappingInputRule({
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$3.Node.create({
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$3.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
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$3.Mark.create({
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$3.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
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$3.markInputRule({
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$3.markPasteRule({
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$3.Node.create({
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$3.Extension.create({
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$3.Extension.create({
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$3.findChildren(doc, node => node.type.name === name).forEach(block => {
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$3.Decoration.inline(from, to, {
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$3.DecorationSet.create(doc, decorations);
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$3.findChildren(oldState.doc, node => node.type.name === name);
5652
- const newNodes = Menu$3.findChildren(newState.doc, node => node.type.name === name);
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$2 = neetoui.Dropdown.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$3.NodeViewWrapper, {
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$2, {
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$3.NodeViewContent, {
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$3.ReactNodeViewRenderer(CodeBlockComponent);
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$3.Extension.create({
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$1 = function Menu(_ref) {
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$3.NodeViewWrapper, {
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$1, {
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$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; }
6754
- 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; }
6755
- var Embeds = Menu$3.Node.create({
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$3.mergeAttributes(this.options.HTMLAttributes, _objectSpread$a({}, HTMLAttributes))]]];
6825
+ }, ["iframe", Menu$4.mergeAttributes(this.options.HTMLAttributes, _objectSpread$b({}, HTMLAttributes))]]];
6825
6826
  },
6826
6827
  addNodeView: function addNodeView() {
6827
- return Menu$3.ReactNodeViewRenderer(EmbedComponent);
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$3.PasteRule({
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$3.validateUrl(match[0]);
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$3.escapeForRegEx(char);
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$3.DecorationSet.create(state.doc, [
7083
- Menu$3.Decoration.inline(range.from, range.to, {
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$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; }
7096
- 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; }
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$3.Node.create({
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$3.ReactRenderer(Menu$3.EmojiPickerMenu, {
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$9({
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$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)); }
7177
- function _isNativeReflectConstruct$1() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct$1 = function _isNativeReflectConstruct() { return !!t; })(); }
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$1(this, EmojiSuggestionMenu, [].concat(args));
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$3.emojiPickerApi.fetch();
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$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; }
7365
- 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; }
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$3.Node.create({
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$3.mergeAttributes({
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$8({
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$3.ReactRenderer(EmojiSuggestionMenu, {
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$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; }
7559
- 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; }
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$3.NodeViewWrapper, {
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$1, {
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$7(_objectSpread$7({}, node.attrs), {}, {
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$3.NodeViewContent, {
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$3.Node.create({
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$3.mergeAttributes(HTMLAttributes, {
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$3.ReactNodeViewRenderer(ImageComponent);
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$3.Node.create({
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$3.mergeAttributes(HTMLAttributes), 0];
7875
+ return ["figcaption", Menu$4.mergeAttributes(HTMLAttributes), 0];
7875
7876
  }
7876
7877
  });
7877
7878
 
7878
- 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; }
7879
- 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; }
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$3.Extension.create({
7885
+ return Menu$4.Extension.create({
7885
7886
  name: "keyboard-shortcuts",
7886
7887
  addKeyboardShortcuts: function addKeyboardShortcuts() {
7887
7888
  var _this = this;
7888
- return _objectSpread$6({
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$3.combineTransactionSteps(oldState.doc, [...transactions]);
9708
- const changes = Menu$3.getChangedRanges(transform);
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$3.findChildrenInRange(newState.doc, newRange, node => node.isTextblock);
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$3.getMarksBetween(link.from, link.to, newState.doc).some(item => item.mark.type === options.type)) {
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$3.getAttributes(view.state, options.type.name);
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$3.Mark.create({
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$3.mergeAttributes(this.options.HTMLAttributes, { ...HTMLAttributes, href: '' }), 0];
9905
+ return ['a', Menu$4.mergeAttributes(this.options.HTMLAttributes, { ...HTMLAttributes, href: '' }), 0];
9905
9906
  }
9906
- return ['a', Menu$3.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
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$3.markPasteRule({
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$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; }
9983
- 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; }
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$3.markInputRule(config);
9986
- return new Menu$3.InputRule({
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$5(_objectSpread$5({}, (_this$parent = this.parent) === null || _this$parent === void 0 ? void 0 : _this$parent.call(this)), {}, {
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$3.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes, {
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$3.Node.create({
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$3.mergeAttributes(this.HTMLAttributes, options.HTMLAttributes),
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$3.mergeAttributes({ 'data-type': this.name }, this.options.HTMLAttributes, HTMLAttributes),
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$3.mergeAttributes({ 'data-type': this.name }, this.options.HTMLAttributes, HTMLAttributes);
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$3.mergeAttributes({ 'data-type': this.name }, this.options.HTMLAttributes, HTMLAttributes),
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$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; }
10364
- 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; }
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$3.ReactRenderer(MentionList, {
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$4(_objectSpread$4({}, otherConfig), {}, {
10441
- suggestion: _objectSpread$4(_objectSpread$4({}, suggestion$1), suggestionConfig)
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$3.Extension.create({
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$3.Decoration.node(pos, pos + node.nodeSize, {
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$3.DecorationSet.create(doc, decorations);
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$3.DecorationSet.empty,
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$3.Decoration.inline(selection.from, selection.to, {
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$3.ReactRenderer(MentionList, {
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$3.mergeAttributes({
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$3.Decoration.node(pos, pos + node.nodeSize, { class: "selectedCell" })
11846
+ Menu$4.Decoration.node(pos, pos + node.nodeSize, { class: "selectedCell" })
11273
11847
  );
11274
11848
  });
11275
- return Menu$3.DecorationSet.create(state.doc, cells);
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$3.keydownHandler({
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$3.DecorationSet.empty;
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$3.Decoration.widget(pos, dom));
12836
+ decorations.push(Menu$4.Decoration.widget(pos, dom));
12263
12837
  }
12264
12838
  }
12265
- return Menu$3.DecorationSet.create(state.doc, decorations);
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$3.findParentNodeClosestToPos(selection.ranges[0].$from, node => {
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$3.Node.create({
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$3.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes, {
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$3.callOrReturn(Menu$3.getExtensionField(extension, 'tableRole', context)),
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$3.Node.create({
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$3.mergeAttributes({
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$3.NodeViewWrapper, {
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$1, {
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$3.NodeViewContent, {
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$3.Node.create({
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$3.mergeAttributes(this.options.HTMLAttributes, {
14172
+ return ["div", wrapperDivAttrs, ["figure", Menu$4.mergeAttributes(this.options.HTMLAttributes, {
13599
14173
  "data-video": ""
13600
- }), ["a", wrapperLinkAttrs, ["video", Menu$3.mergeAttributes(HTMLAttributes, {
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$3.ReactNodeViewRenderer(VideoComponent);
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$3.BubbleMenu, {
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$3.getLinkPopoverPosition(editor, popoverRef),
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$3.getMarkType("link", state.schema);
14476
+ var type = Menu$4.getMarkType("link", state.schema);
13891
14477
  var $to = state.selection.$to;
13892
- var _ref4 = Menu$3.getMarkRange($to, type) || {},
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$3.useEditor({
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$3.EditorView.prototype.updateState = function updateState(state) {
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$3.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$3.EditorContent, _objectSpread({
14824
+ }), children, /*#__PURE__*/React__default["default"].createElement(Menu$4.EditorContent, _objectSpread({
14232
14825
  editor: editor
14233
- }, otherProps)), isMediaUploaderActive && /*#__PURE__*/React__default["default"].createElement(Menu$3.MediaUploader, {
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$3.EmbedOption, {
14836
+ }), isVideoEmbedActive && /*#__PURE__*/React__default["default"].createElement(Menu$4.EmbedOption, {
14244
14837
  editor: editor,
14245
14838
  isEmbedModalOpen: isEmbedModalOpen,
14246
14839
  setIsEmbedModalOpen: setIsEmbedModalOpen