@manuscripts/body-editor 2.2.21 → 2.3.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.
Files changed (57) hide show
  1. package/dist/cjs/commands.js +12 -13
  2. package/dist/cjs/components/keywords/AddKeywordInline.js +1 -2
  3. package/dist/cjs/components/outline/DraggableTree.js +0 -4
  4. package/dist/cjs/components/views/FootnotesSelector.js +2 -4
  5. package/dist/cjs/keys/list.js +1 -3
  6. package/dist/cjs/lib/context-menu.js +8 -11
  7. package/dist/cjs/lib/files.js +2 -2
  8. package/dist/cjs/lib/footnotes.js +1 -6
  9. package/dist/cjs/lib/track-changes-utils.js +5 -43
  10. package/dist/cjs/lib/view.js +1 -1
  11. package/dist/cjs/plugins/affiliations.js +1 -1
  12. package/dist/cjs/plugins/bibliography/bibliography-utils.js +1 -2
  13. package/dist/cjs/plugins/bibliography/index.js +2 -2
  14. package/dist/cjs/plugins/footnotes/index.js +5 -6
  15. package/dist/cjs/plugins/footnotes/widgets.js +1 -2
  16. package/dist/cjs/plugins/section_title/autocompletion.js +1 -1
  17. package/dist/cjs/plugins/section_title/index.js +2 -4
  18. package/dist/cjs/versions.js +1 -1
  19. package/dist/cjs/views/citation_editable.js +5 -5
  20. package/dist/cjs/views/cross_reference.js +2 -5
  21. package/dist/cjs/views/equation.js +1 -2
  22. package/dist/cjs/views/figure_editable.js +1 -2
  23. package/dist/cjs/views/inline_equation.js +4 -12
  24. package/dist/cjs/views/inline_footnote.js +5 -5
  25. package/dist/cjs/views/link_editable.js +5 -10
  26. package/dist/cjs/views/list.js +1 -2
  27. package/dist/cjs/views/section.js +1 -2
  28. package/dist/es/commands.js +13 -14
  29. package/dist/es/components/keywords/AddKeywordInline.js +2 -3
  30. package/dist/es/components/outline/DraggableTree.js +1 -5
  31. package/dist/es/components/views/FootnotesSelector.js +2 -4
  32. package/dist/es/keys/list.js +1 -3
  33. package/dist/es/lib/context-menu.js +9 -12
  34. package/dist/es/lib/files.js +3 -3
  35. package/dist/es/lib/footnotes.js +1 -6
  36. package/dist/es/lib/track-changes-utils.js +4 -39
  37. package/dist/es/lib/view.js +2 -2
  38. package/dist/es/plugins/affiliations.js +2 -2
  39. package/dist/es/plugins/bibliography/bibliography-utils.js +1 -2
  40. package/dist/es/plugins/bibliography/index.js +3 -3
  41. package/dist/es/plugins/footnotes/index.js +5 -6
  42. package/dist/es/plugins/footnotes/widgets.js +2 -3
  43. package/dist/es/plugins/section_title/autocompletion.js +2 -2
  44. package/dist/es/plugins/section_title/index.js +2 -4
  45. package/dist/es/versions.js +1 -1
  46. package/dist/es/views/citation_editable.js +6 -6
  47. package/dist/es/views/cross_reference.js +3 -6
  48. package/dist/es/views/equation.js +1 -2
  49. package/dist/es/views/figure_editable.js +1 -2
  50. package/dist/es/views/inline_equation.js +4 -12
  51. package/dist/es/views/inline_footnote.js +6 -6
  52. package/dist/es/views/link_editable.js +6 -11
  53. package/dist/es/views/list.js +1 -2
  54. package/dist/es/views/section.js +1 -2
  55. package/dist/types/lib/track-changes-utils.d.ts +0 -4
  56. package/dist/types/versions.d.ts +1 -1
  57. package/package.json +3 -3
@@ -21,7 +21,7 @@ import { createElement } from 'react';
21
21
  import { renderToStaticMarkup } from 'react-dom/server';
22
22
  import { DeleteFootnoteDialog, } from '../../components/views/DeleteFootnoteDialog';
23
23
  import { getInlineFootnotes } from '../../lib/footnotes';
24
- import { getActualAttrs, isDeleted } from '../../lib/track-changes-utils';
24
+ import { isDeleted } from '../../lib/track-changes-utils';
25
25
  import { getChildOfType } from '../../lib/utils';
26
26
  import ReactSubView from '../../views/ReactSubView';
27
27
  export const deleteFootnoteWidget = (node, props, id, tableElement, tableElementFooter) => (view, getPos) => {
@@ -104,8 +104,7 @@ export const deleteFootnoteWidget = (node, props, id, tableElement, tableElement
104
104
  const scrollToInlineFootnote = (rid, view) => {
105
105
  view.state.doc.descendants((node, pos) => {
106
106
  const footnote = node;
107
- if (isInlineFootnoteNode(node) &&
108
- getActualAttrs(footnote).rids.includes(rid)) {
107
+ if (isInlineFootnoteNode(node) && footnote.attrs.rids.includes(rid)) {
109
108
  const selection = NodeSelection.create(view.state.doc, pos);
110
109
  view.dispatch(view.state.tr.setSelection(selection).scrollIntoView());
111
110
  }
@@ -1,7 +1,7 @@
1
1
  import { schema, } from '@manuscripts/transform';
2
2
  import { findParentNodeOfTypeClosestToPos } from 'prosemirror-utils';
3
3
  import { sectionTitles } from '../../lib/section-titles';
4
- import { getActualAttrs, getActualTextContent, } from '../../lib/track-changes-utils';
4
+ import { getActualTextContent } from '../../lib/track-changes-utils';
5
5
  function cursorAtTheEndOfText(state, nodeSize, nodePos) {
6
6
  const { from, to } = state.selection;
7
7
  return from === to && to === nodePos + nodeSize - 1;
@@ -9,7 +9,7 @@ function cursorAtTheEndOfText(state, nodeSize, nodePos) {
9
9
  const isUpperCase = (test) => test === test.toUpperCase() && test.length > 1;
10
10
  export function hasAutoCompletionSlack(parentSection, titleSection) {
11
11
  var _a;
12
- const category = getActualAttrs(parentSection).category;
12
+ const category = parentSection.attrs.category;
13
13
  const titles = (_a = sectionTitles.get(category)) === null || _a === void 0 ? void 0 : _a.split('|');
14
14
  if (category && (titles === null || titles === void 0 ? void 0 : titles.length) && titleSection.textContent) {
15
15
  const actualTextContent = getActualTextContent(titleSection.content);
@@ -2,14 +2,12 @@ import { schema } from '@manuscripts/transform';
2
2
  import { Plugin, PluginKey } from 'prosemirror-state';
3
3
  import { findChildrenByType } from 'prosemirror-utils';
4
4
  import { Decoration, DecorationSet } from 'prosemirror-view';
5
- import { isRejectedInsert } from '../../lib/track-changes-utils';
6
5
  import { checkForCompletion } from './autocompletion';
7
6
  export const sectionTitleKey = new PluginKey('sectionNumbering');
8
7
  const calculateSectionLevels = (node, startPos, sectionNumberMap, numbering = [0]) => {
9
8
  node.forEach((childNode, offset) => {
10
- if ((childNode.type === schema.nodes.section ||
11
- childNode.type === schema.nodes.box_element) &&
12
- !isRejectedInsert(childNode)) {
9
+ if (childNode.type === schema.nodes.section ||
10
+ childNode.type === schema.nodes.box_element) {
13
11
  numbering[numbering.length - 1] += 1;
14
12
  const sectionNumber = numbering.join('.');
15
13
  const sectionStartPos = startPos + offset + 1;
@@ -1,2 +1,2 @@
1
- export const VERSION = '2.2.21';
1
+ export const VERSION = '2.3.0';
2
2
  export const MATHJAX_VERSION = '3.2.2';
@@ -21,7 +21,7 @@ import { addNodeComment } from '../commands';
21
21
  import { CitationEditor, } from '../components/references/CitationEditor';
22
22
  import { CitationViewer, } from '../components/references/CitationViewer';
23
23
  import { Crossref } from '../lib/crossref';
24
- import { getActualAttrs, isDeleted } from '../lib/track-changes-utils';
24
+ import { isDeleted } from '../lib/track-changes-utils';
25
25
  import { deleteNode, findChildByID, updateNodeAttrs } from '../lib/view';
26
26
  import { getBibliographyPluginState } from '../plugins/bibliography';
27
27
  import { CitationView } from './citation';
@@ -50,7 +50,7 @@ export class CitationEditableView extends CitationView {
50
50
  this.showPopper();
51
51
  }
52
52
  else if (!isDeleted(this.node) && event.button === 0) {
53
- const attrs = getActualAttrs(this.node);
53
+ const attrs = this.node.attrs;
54
54
  if (attrs.rids.length) {
55
55
  this.showContextMenu();
56
56
  }
@@ -59,7 +59,7 @@ export class CitationEditableView extends CitationView {
59
59
  this.selectNode = () => {
60
60
  this.dom.classList.add('ProseMirror-selectednode');
61
61
  if (this.can.seeReferencesButtons && !isDeleted(this.node)) {
62
- const attrs = getActualAttrs(this.node);
62
+ const attrs = this.node.attrs;
63
63
  if (!attrs.rids.length) {
64
64
  this.showPopper();
65
65
  }
@@ -92,7 +92,7 @@ export class CitationEditableView extends CitationView {
92
92
  return;
93
93
  }
94
94
  const can = this.props.getCapabilities();
95
- const attrs = getActualAttrs(this.node);
95
+ const attrs = this.node.attrs;
96
96
  const rids = attrs.rids;
97
97
  const items = Array.from(bib.bibliographyItems.values());
98
98
  if (can.editArticle) {
@@ -138,7 +138,7 @@ export class CitationEditableView extends CitationView {
138
138
  }
139
139
  };
140
140
  this.handleUncite = (id) => {
141
- const attrs = getActualAttrs(this.node);
141
+ const attrs = this.node.attrs;
142
142
  const rids = attrs.rids.filter((i) => i !== id);
143
143
  const pos = this.getPos();
144
144
  const tr = this.view.state.tr;
@@ -156,7 +156,7 @@ export class CitationEditableView extends CitationView {
156
156
  if (!bib) {
157
157
  return;
158
158
  }
159
- const attrs = getActualAttrs(this.node);
159
+ const attrs = this.node.attrs;
160
160
  const rids = [...attrs.rids];
161
161
  items = items.filter((i) => !rids.includes(i.id));
162
162
  for (const item of items) {
@@ -13,7 +13,7 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { getActualAttrs, getChangeClasses } from '../lib/track-changes-utils';
16
+ import { getChangeClasses } from '../lib/track-changes-utils';
17
17
  import { objectsKey } from '../plugins/objects';
18
18
  import { BaseNodeView } from './base_node_view';
19
19
  import { createNodeView } from './creators';
@@ -35,11 +35,8 @@ export class CrossReferenceView extends BaseNodeView {
35
35
  this.updateContents = () => {
36
36
  var _a;
37
37
  const targets = objectsKey.getState(this.view.state);
38
- const attrs = getActualAttrs(this.node);
39
- const classes = [
40
- 'cross-reference',
41
- ...getChangeClasses(this.node.attrs.dataTracked),
42
- ];
38
+ const attrs = this.node.attrs;
39
+ const classes = ['cross-reference', ...getChangeClasses(attrs.dataTracked)];
43
40
  this.dom.className = classes.join(' ');
44
41
  const label = attrs.rids.length && ((_a = targets.get(attrs.rids[0])) === null || _a === void 0 ? void 0 : _a.label);
45
42
  this.dom.textContent = attrs.label || label || '';
@@ -14,7 +14,6 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import { renderMath } from '../lib/math';
17
- import { getActualAttrs } from '../lib/track-changes-utils';
18
17
  import { BaseNodeView } from './base_node_view';
19
18
  import { createNodeView } from './creators';
20
19
  export class EquationView extends BaseNodeView {
@@ -30,7 +29,7 @@ export class EquationView extends BaseNodeView {
30
29
  this.dom.setAttribute('id', this.node.attrs.id);
31
30
  };
32
31
  this.updateContents = () => {
33
- this.dom.innerHTML = getActualAttrs(this.node).contents;
32
+ this.dom.innerHTML = this.node.attrs.contents;
34
33
  renderMath(this.dom);
35
34
  };
36
35
  this.ignoreMutation = () => true;
@@ -27,7 +27,6 @@ import { createElement } from 'react';
27
27
  import { renderToStaticMarkup } from 'react-dom/server';
28
28
  import { FigureOptions, } from '../components/views/FigureDropdown';
29
29
  import { groupFiles } from '../lib/files';
30
- import { getActualAttrs } from '../lib/track-changes-utils';
31
30
  import { createEditableNodeView } from './creators';
32
31
  import { FigureView } from './figure';
33
32
  import { figureUploader } from './figure_uploader';
@@ -46,7 +45,7 @@ export class FigureEditableView extends FigureView {
46
45
  };
47
46
  this.updateContents = () => {
48
47
  var _a, _b;
49
- const attrs = getActualAttrs(this.node);
48
+ const attrs = this.node.attrs;
50
49
  if ((_a = this.node.attrs.dataTracked) === null || _a === void 0 ? void 0 : _a.length) {
51
50
  const change = this.node.attrs.dataTracked[0];
52
51
  this.dom.setAttribute('data-track-status', change.status);
@@ -14,7 +14,6 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import { renderMath } from '../lib/math';
17
- import { getActualAttrs, isRejectedInsert } from '../lib/track-changes-utils';
18
17
  import { BaseNodeView } from './base_node_view';
19
18
  import { createNodeView } from './creators';
20
19
  export class InlineEquationView extends BaseNodeView {
@@ -25,21 +24,14 @@ export class InlineEquationView extends BaseNodeView {
25
24
  this.updateContents();
26
25
  };
27
26
  this.updateContents = () => {
28
- if (isRejectedInsert(this.node)) {
29
- this.dom.innerHTML = '';
30
- }
31
- else {
32
- this.dom.innerHTML = getActualAttrs(this.node).contents;
33
- renderMath(this.dom);
34
- }
27
+ this.dom.innerHTML = this.node.attrs.contents;
28
+ renderMath(this.dom);
35
29
  };
36
30
  this.ignoreMutation = () => true;
37
31
  this.createDOM = () => {
38
32
  this.dom = document.createElement('span');
39
- if (!isRejectedInsert(this.node)) {
40
- this.dom.classList.add('equation');
41
- this.dom.setAttribute('id', this.node.attrs.id);
42
- }
33
+ this.dom.classList.add('equation');
34
+ this.dom.setAttribute('id', this.node.attrs.id);
43
35
  };
44
36
  }
45
37
  }
@@ -20,7 +20,7 @@ import { findChildrenByType, findParentNodeClosestToPos, } from 'prosemirror-uti
20
20
  import { createFootnote, insertFootnote, insertTableFootnote, } from '../commands';
21
21
  import { FootnotesSelector } from '../components/views/FootnotesSelector';
22
22
  import { buildTableFootnoteLabels } from '../lib/footnotes';
23
- import { getActualAttrs, getChangeClasses, isDeleted, isPendingInsert, isRejectedInsert, } from '../lib/track-changes-utils';
23
+ import { getChangeClasses, isDeleted, isPendingInsert, } from '../lib/track-changes-utils';
24
24
  import { footnotesKey } from '../plugins/footnotes';
25
25
  import { BaseNodeView } from './base_node_view';
26
26
  import { createNodeView } from './creators';
@@ -84,7 +84,7 @@ export class InlineFootnoteView extends BaseNodeView {
84
84
  this.activateModal({
85
85
  notes: Array.from(fnState.unusedFootnotes.values()).reduce((acc, n) => {
86
86
  const node = n[0];
87
- if (!isDeleted(node) && !isRejectedInsert(node)) {
87
+ if (!isDeleted(node)) {
88
88
  acc.push({
89
89
  node,
90
90
  });
@@ -93,7 +93,7 @@ export class InlineFootnoteView extends BaseNodeView {
93
93
  }, []),
94
94
  onCancel: () => {
95
95
  const { tr } = this.view.state;
96
- if (!getActualAttrs(this.node).rids.length) {
96
+ if (this.node.attrs.rids.length) {
97
97
  this.view.dispatch(tr.delete(this.getPos(), this.getPos() + this.node.nodeSize));
98
98
  }
99
99
  this.destroy();
@@ -150,7 +150,7 @@ export class InlineFootnoteView extends BaseNodeView {
150
150
  if (footnotesElement) {
151
151
  const tablesFootnoteLabels = buildTableFootnoteLabels(tableElement.node);
152
152
  footnotes = findChildrenByType(footnotesElement, schema.nodes.footnote)
153
- .filter(({ node }) => !isDeleted(node) && !isRejectedInsert(node))
153
+ .filter(({ node }) => !isDeleted(node))
154
154
  .map(({ node }) => ({
155
155
  node: node,
156
156
  index: tablesFootnoteLabels.get(node.attrs.id),
@@ -170,8 +170,8 @@ export class InlineFootnoteView extends BaseNodeView {
170
170
  };
171
171
  this.onInsert = (notes) => {
172
172
  if (notes.length) {
173
- const contents = getActualAttrs(this.node)
174
- .contents.split(',')
173
+ const contents = this.node.attrs.contents
174
+ .split(',')
175
175
  .map((n) => parseInt(n));
176
176
  const rids = notes.map((note) => note.node.attrs.id);
177
177
  const { tr } = this.view.state;
@@ -16,7 +16,7 @@
16
16
  import { schema } from '@manuscripts/transform';
17
17
  import { TextSelection } from 'prosemirror-state';
18
18
  import { LinkForm, } from '../components/views/LinkForm';
19
- import { getActualAttrs, getChangeClasses, isDeleted, isRejectedInsert, } from '../lib/track-changes-utils';
19
+ import { getChangeClasses, isDeleted } from '../lib/track-changes-utils';
20
20
  import { allowedHref } from '../lib/url';
21
21
  import { createEditableNodeView } from './creators';
22
22
  import { LinkView } from './link';
@@ -30,13 +30,8 @@ export class LinkEditableView extends LinkView {
30
30
  this.updateContents();
31
31
  };
32
32
  this.updateContents = () => {
33
- if (isRejectedInsert(this.node)) {
34
- this.dom.innerHTML = '';
35
- this.contentDOM = undefined;
36
- return;
37
- }
38
33
  this.contentDOM = this.dom;
39
- const attrs = getActualAttrs(this.node);
34
+ const attrs = this.node.attrs;
40
35
  const href = attrs.href;
41
36
  const title = attrs.title;
42
37
  const classes = ['link', ...getChangeClasses(this.node.attrs.dataTracked)];
@@ -58,7 +53,7 @@ export class LinkEditableView extends LinkView {
58
53
  this.closeForm();
59
54
  };
60
55
  this.deselectNode = () => {
61
- const attrs = getActualAttrs(this.node);
56
+ const attrs = this.node.attrs;
62
57
  if (!this.node.content.size || !attrs.href) {
63
58
  this.removeLink();
64
59
  }
@@ -68,7 +63,7 @@ export class LinkEditableView extends LinkView {
68
63
  if (!this.props.getCapabilities().editArticle) {
69
64
  return;
70
65
  }
71
- const attrs = getActualAttrs(this.node);
66
+ const attrs = this.node.attrs;
72
67
  const value = {
73
68
  href: attrs.href,
74
69
  title: attrs.title,
@@ -89,7 +84,7 @@ export class LinkEditableView extends LinkView {
89
84
  }
90
85
  };
91
86
  this.handleCancel = () => {
92
- const attrs = getActualAttrs(this.node);
87
+ const attrs = this.node.attrs;
93
88
  if (!this.node.content.size || !attrs.href) {
94
89
  this.removeLink();
95
90
  }
@@ -101,7 +96,7 @@ export class LinkEditableView extends LinkView {
101
96
  };
102
97
  this.handleSave = (value) => {
103
98
  const tr = this.view.state.tr;
104
- const attrs = getActualAttrs(this.node);
99
+ const attrs = this.node.attrs;
105
100
  const pos = this.getPos();
106
101
  if (value.href !== attrs.href || value.title !== attrs.title) {
107
102
  tr.setNodeMarkup(pos, undefined, Object.assign(Object.assign({}, this.node.attrs), { href: value.href, title: value.title }));
@@ -14,7 +14,6 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import { getListType, } from '@manuscripts/transform';
17
- import { getActualAttrs } from '../lib/track-changes-utils';
18
17
  import BlockView from './block_view';
19
18
  import { createNodeOrElementView } from './creators';
20
19
  import { EditableBlock } from './editable_block';
@@ -24,7 +23,7 @@ export class ListView extends BlockView {
24
23
  this.elementType = 'ul';
25
24
  this.updateContents = () => {
26
25
  var _a;
27
- const actualAttrs = getActualAttrs(this.node);
26
+ const actualAttrs = this.node.attrs;
28
27
  if (this.contentDOM) {
29
28
  const type = actualAttrs.listStyleType;
30
29
  this.contentDOM.style.listStyleType = getListType(type).style;
@@ -13,7 +13,6 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { getActualAttrs } from '../lib/track-changes-utils';
17
16
  import { sectionTitleKey } from '../plugins/section_title';
18
17
  import BlockView from './block_view';
19
18
  import { createNodeView } from './creators';
@@ -41,7 +40,7 @@ export class SectionView extends BlockView {
41
40
  };
42
41
  this.onUpdateContent = () => {
43
42
  const sectionTitles = sectionTitleKey.getState(this.view.state);
44
- const attrs = getActualAttrs(this.node);
43
+ const attrs = this.node.attrs;
45
44
  if (this.contentDOM) {
46
45
  this.contentDOM.id = attrs.id;
47
46
  if (attrs.category) {
@@ -14,19 +14,15 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import { TrackedAttrs } from '@manuscripts/track-changes-plugin';
17
- import { ManuscriptNode } from '@manuscripts/transform';
18
17
  import { Fragment, Node as ProsemirrorNode } from 'prosemirror-model';
19
- export declare function isRejectedInsert(node: ProsemirrorNode): boolean;
20
18
  export declare function isDeleted(node: ProsemirrorNode): boolean;
21
19
  export declare function isPendingInsert(node: ProsemirrorNode): boolean;
22
20
  export declare function isPending(node: ProsemirrorNode): boolean;
23
21
  export declare function isPendingSetAttrs(node: ProsemirrorNode): boolean;
24
22
  export declare function getChangeClasses(dataTracked?: TrackedAttrs[]): string[];
25
23
  export declare function isTracked(node: ProsemirrorNode): boolean;
26
- export declare function getActualAttrs<T extends ManuscriptNode>(node: T): T["attrs"];
27
24
  export declare const getAttrsTrackingButton: (changeID: string) => HTMLButtonElement;
28
25
  export declare function isHidden(node: ProsemirrorNode): boolean;
29
26
  export declare function isDeletedText(node: ProsemirrorNode): boolean;
30
- export declare function isRejectedText(node: ProsemirrorNode): boolean;
31
27
  export declare function getActualTextContent(fragment: Fragment): string;
32
28
  export declare function sanitizeAttrsChange<T extends ProsemirrorNode>(newAttr: T['attrs'], currentAttrs: T['attrs']): T["attrs"];
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "2.2.21";
1
+ export declare const VERSION = "2.3.0";
2
2
  export declare const MATHJAX_VERSION = "3.2.2";
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@manuscripts/body-editor",
3
3
  "description": "Prosemirror components for editing and viewing manuscripts",
4
- "version": "2.2.21",
4
+ "version": "2.3.0",
5
5
  "repository": "github:Atypon-OpenSource/manuscripts-body-editor",
6
6
  "license": "Apache-2.0",
7
7
  "main": "dist/cjs",
@@ -33,7 +33,7 @@
33
33
  "@manuscripts/json-schema": "2.2.11",
34
34
  "@manuscripts/library": "1.3.11",
35
35
  "@manuscripts/style-guide": "2.0.21",
36
- "@manuscripts/track-changes-plugin": "1.7.23",
36
+ "@manuscripts/track-changes-plugin": "1.8.0",
37
37
  "@manuscripts/transform": "3.0.6",
38
38
  "@popperjs/core": "^2.11.8",
39
39
  "astrocite-eutils": "^0.16.4",
@@ -47,7 +47,7 @@
47
47
  "prosemirror-commands": "^1.5.0",
48
48
  "prosemirror-dropcursor": "^1.6.1",
49
49
  "prosemirror-gapcursor": "^1.3.1",
50
- "prosemirror-history": "^1.3.0",
50
+ "prosemirror-history": "^1.4.1",
51
51
  "prosemirror-inputrules": "^1.2.0",
52
52
  "prosemirror-keymap": "^1.2.0",
53
53
  "prosemirror-model": "^1.18.3",