@manuscripts/body-editor 2.8.4 → 2.8.6

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.
@@ -16,7 +16,7 @@
16
16
  */
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.addHeaderRow = exports.addRows = exports.addInlineComment = exports.addNodeComment = exports.isCommentingAllowed = exports.createAndFillTableElement = exports.selectAllIsolating = exports.ignoreAtomBlockNodeForward = exports.isAtEndOfTextBlock = exports.ignoreMetaNodeBackspaceCommand = exports.ignoreAtomBlockNodeBackward = exports.isTextSelection = exports.isAtStartOfTextBlock = exports.insertTOCSection = exports.insertBibliographySection = exports.insertList = exports.insertKeywords = exports.insertAward = exports.insertAffiliation = exports.insertContributors = exports.insertGraphicalAbstract = exports.insertBackmatterSection = exports.insertAbstractSection = exports.insertSection = exports.insertBoxElement = exports.insertInlineFootnote = exports.insertFootnotesElement = exports.insertTableElementFooter = exports.insertInlineEquation = exports.insertCrossReference = exports.insertInlineCitation = exports.insertLink = exports.insertSectionLabel = exports.findPosBeforeFirstSubsection = exports.insertBreak = exports.deleteBlock = exports.insertBlock = exports.insertSupplement = exports.insertTable = exports.insertFigure = exports.insertGeneralTableFootnote = exports.insertInlineTableFootnote = exports.insertEmbed = exports.createBlock = exports.createSelection = exports.canInsert = exports.blockActive = exports.isNodeSelection = exports.markActive = exports.addToStart = void 0;
19
- exports.activateSearchReplace = exports.activateSearch = exports.indentParagraph = exports.indent = exports.canIndent = exports.autoComplete = exports.addColumns = void 0;
19
+ exports.activateSearchReplace = exports.activateSearch = exports.autoComplete = exports.addColumns = void 0;
20
20
  const json_schema_1 = require("@manuscripts/json-schema");
21
21
  const track_changes_plugin_1 = require("@manuscripts/track-changes-plugin");
22
22
  const transform_1 = require("@manuscripts/transform");
@@ -1156,54 +1156,6 @@ const autoComplete = (state, dispatch) => {
1156
1156
  return false;
1157
1157
  };
1158
1158
  exports.autoComplete = autoComplete;
1159
- const canIndent = (state) => {
1160
- const { $from } = state.selection;
1161
- const node = $from.node($from.depth);
1162
- const allowedNodeTypes = [transform_1.schema.nodes.paragraph];
1163
- if (!allowedNodeTypes.includes(node.type)) {
1164
- return false;
1165
- }
1166
- const isBody = (0, prosemirror_utils_1.hasParentNodeOfType)(transform_1.schema.nodes.body)(state.selection);
1167
- if (!isBody || (0, track_changes_utils_1.isDeleted)(node)) {
1168
- return false;
1169
- }
1170
- if (node.type === transform_1.schema.nodes.paragraph) {
1171
- const parentNode = $from.node($from.depth - 1);
1172
- if ((parentNode === null || parentNode === void 0 ? void 0 : parentNode.type) !== transform_1.schema.nodes.section &&
1173
- (parentNode === null || parentNode === void 0 ? void 0 : parentNode.type) !== transform_1.schema.nodes.body) {
1174
- return false;
1175
- }
1176
- }
1177
- return true;
1178
- };
1179
- exports.canIndent = canIndent;
1180
- const indent = () => (state, dispatch, view) => {
1181
- const { $from } = state.selection;
1182
- const nodeType = $from.node().type;
1183
- if (nodeType === transform_1.schema.nodes.paragraph) {
1184
- (0, exports.indentParagraph)()(state, dispatch, view);
1185
- }
1186
- };
1187
- exports.indent = indent;
1188
- const indentParagraph = () => (state, dispatch, view) => {
1189
- const { $from } = state.selection;
1190
- const { schema, tr } = state;
1191
- const beforeParagraph = $from.before($from.depth);
1192
- const sectionDepth = $from.depth - 1;
1193
- const parentSection = $from.node(sectionDepth);
1194
- const sectionStart = $from.start(sectionDepth);
1195
- const sectionEnd = $from.end(sectionDepth);
1196
- const sectionTitle = schema.nodes.section_title.create();
1197
- const sectionContent = prosemirror_model_1.Fragment.from(sectionTitle).append(parentSection.content.cut(beforeParagraph - sectionStart));
1198
- const newSection = schema.nodes.section.create({ id: (0, transform_1.generateNodeID)(schema.nodes.section) }, sectionContent);
1199
- tr.replaceWith(beforeParagraph, sectionEnd, newSection);
1200
- tr.setSelection(prosemirror_state_1.TextSelection.create(tr.doc, beforeParagraph + 2));
1201
- if (dispatch) {
1202
- dispatch((0, track_changes_plugin_1.skipTracking)(tr));
1203
- view === null || view === void 0 ? void 0 : view.focus();
1204
- }
1205
- };
1206
- exports.indentParagraph = indentParagraph;
1207
1159
  const activateSearch = (state, dispatch) => {
1208
1160
  const pluginState = search_replace_1.searchReplaceKey.getState(state);
1209
1161
  const tr = state.tr.setMeta(search_replace_1.searchReplaceKey, {
@@ -1,10 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.promoteParagraphToSection = exports.demoteSectionToParagraph = exports.findSelectedOption = exports.titleCase = exports.optionName = void 0;
3
+ exports.indentParagraph = exports.indentSection = exports.indent = exports.canIndent = exports.promoteParagraphToSection = exports.demoteSectionToParagraph = exports.findSelectedOption = exports.titleCase = exports.optionName = void 0;
4
4
  const track_changes_plugin_1 = require("@manuscripts/track-changes-plugin");
5
5
  const transform_1 = require("@manuscripts/transform");
6
6
  const prosemirror_model_1 = require("prosemirror-model");
7
7
  const prosemirror_state_1 = require("prosemirror-state");
8
+ const prosemirror_utils_1 = require("prosemirror-utils");
9
+ const track_changes_utils_1 = require("../../lib/track-changes-utils");
8
10
  const optionName = (nodeType) => {
9
11
  switch (nodeType) {
10
12
  case nodeType.schema.nodes.section:
@@ -133,3 +135,85 @@ const promoteParagraphToSection = (state, dispatch, view) => {
133
135
  view && view.focus();
134
136
  };
135
137
  exports.promoteParagraphToSection = promoteParagraphToSection;
138
+ const canIndent = () => (state) => {
139
+ const { $from } = state.selection;
140
+ const nodeType = $from.node().type;
141
+ const allowedNodeTypes = [transform_1.schema.nodes.section_title, transform_1.schema.nodes.paragraph];
142
+ if (!allowedNodeTypes.includes(nodeType)) {
143
+ return false;
144
+ }
145
+ const isInBody = (0, prosemirror_utils_1.hasParentNodeOfType)(transform_1.schema.nodes.body)(state.selection);
146
+ const isDeletedNode = (0, track_changes_utils_1.isDeleted)($from.node($from.depth));
147
+ if (!isInBody || isDeletedNode) {
148
+ return false;
149
+ }
150
+ const isParagraph = nodeType === transform_1.schema.nodes.paragraph;
151
+ if (isParagraph) {
152
+ const parentNode = $from.node($from.depth - 1);
153
+ if ((parentNode === null || parentNode === void 0 ? void 0 : parentNode.type) !== transform_1.schema.nodes.section &&
154
+ (parentNode === null || parentNode === void 0 ? void 0 : parentNode.type) !== transform_1.schema.nodes.body) {
155
+ return false;
156
+ }
157
+ }
158
+ return true;
159
+ };
160
+ exports.canIndent = canIndent;
161
+ const indent = () => (state, dispatch, view) => {
162
+ const { $from } = state.selection;
163
+ const nodeType = $from.node().type;
164
+ if (nodeType === transform_1.schema.nodes.section_title) {
165
+ (0, exports.indentSection)()(state, dispatch, view);
166
+ }
167
+ else if (nodeType === transform_1.schema.nodes.paragraph) {
168
+ (0, exports.indentParagraph)()(state, dispatch, view);
169
+ }
170
+ };
171
+ exports.indent = indent;
172
+ const indentSection = () => (state, dispatch, view) => {
173
+ const { selection: { $from }, schema, tr, } = state;
174
+ const { nodes } = schema;
175
+ const sectionDepth = $from.depth - 1;
176
+ const section = $from.node(sectionDepth);
177
+ const beforeSection = $from.before(sectionDepth);
178
+ const afterSection = $from.after(sectionDepth);
179
+ const parentSectionDepth = sectionDepth - 1;
180
+ const parentSection = $from.node(parentSectionDepth);
181
+ const startIndex = $from.index(parentSectionDepth);
182
+ const previousSection = startIndex > 0 ? parentSection.child(startIndex - 1) : null;
183
+ const isValidContainer = (previousSection === null || previousSection === void 0 ? void 0 : previousSection.type) === nodes.section;
184
+ let anchor;
185
+ if (!previousSection || !isValidContainer) {
186
+ const emptyTitle = nodes.section_title.create();
187
+ const newParentSectionContent = prosemirror_model_1.Fragment.fromArray([emptyTitle, section]);
188
+ const newParentSection = nodes.section.create({}, newParentSectionContent);
189
+ tr.replaceWith(beforeSection, afterSection, newParentSection);
190
+ anchor = beforeSection + 1;
191
+ }
192
+ else {
193
+ const newPreviousSection = previousSection.copy(previousSection.content.append(prosemirror_model_1.Fragment.from(section)));
194
+ const beforePreviousSection = beforeSection - previousSection.nodeSize;
195
+ tr.replaceWith(beforePreviousSection, afterSection, newPreviousSection);
196
+ anchor = beforePreviousSection + 1;
197
+ }
198
+ tr.setSelection(prosemirror_state_1.TextSelection.create(tr.doc, anchor));
199
+ dispatch((0, track_changes_plugin_1.skipTracking)(tr));
200
+ view && view.focus();
201
+ };
202
+ exports.indentSection = indentSection;
203
+ const indentParagraph = () => (state, dispatch, view) => {
204
+ const { $from } = state.selection;
205
+ const { schema, tr } = state;
206
+ const beforeParagraph = $from.before($from.depth);
207
+ const sectionDepth = $from.depth - 1;
208
+ const parentSection = $from.node(sectionDepth);
209
+ const sectionStart = $from.start(sectionDepth);
210
+ const sectionEnd = $from.end(sectionDepth);
211
+ const sectionTitle = schema.nodes.section_title.create();
212
+ const sectionContent = prosemirror_model_1.Fragment.from(sectionTitle).append(parentSection.content.cut(beforeParagraph - sectionStart));
213
+ const newSection = schema.nodes.section.create({ id: (0, transform_1.generateNodeID)(schema.nodes.section) }, sectionContent);
214
+ tr.replaceWith(beforeParagraph, sectionEnd, newSection);
215
+ tr.setSelection(prosemirror_state_1.TextSelection.create(tr.doc, beforeParagraph + 2));
216
+ dispatch((0, track_changes_plugin_1.skipTracking)(tr));
217
+ view === null || view === void 0 ? void 0 : view.focus();
218
+ };
219
+ exports.indentParagraph = indentParagraph;
@@ -86,6 +86,7 @@ exports.default = (props, dispatch) => {
86
86
  placeholder: (0, placeholder_1.default)(props),
87
87
  placeholder_element: (0, placeholder_element_editable_1.default)(props),
88
88
  section: (0, section_1.default)(props),
89
+ graphical_abstract_section: (0, section_1.default)(props),
89
90
  pullquote_element: (0, pullquote_element_editable_1.default)(props),
90
91
  section_title: (0, section_title_editable_1.default)(props),
91
92
  section_label: (0, section_label_1.default)(props),
@@ -24,14 +24,15 @@ const transform_1 = require("@manuscripts/transform");
24
24
  const prosemirror_commands_1 = require("prosemirror-commands");
25
25
  const react_1 = __importDefault(require("react"));
26
26
  const commands_1 = require("./commands");
27
+ const helpers_1 = require("./components/toolbar/helpers");
27
28
  const InsertTableDialog_1 = require("./components/toolbar/InsertTableDialog");
28
29
  exports.toolbar = {
29
30
  indentation: {
30
31
  indent: {
31
32
  title: 'Indent',
32
33
  content: react_1.default.createElement(style_guide_1.ToolbarIndentIcon, null),
33
- isEnabled: (state) => (0, commands_1.canIndent)(state),
34
- run: (0, commands_1.indent)(),
34
+ isEnabled: (0, helpers_1.canIndent)(),
35
+ run: (0, helpers_1.indent)(),
35
36
  },
36
37
  },
37
38
  style: {
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MATHJAX_VERSION = exports.VERSION = void 0;
4
- exports.VERSION = '2.8.4';
4
+ exports.VERSION = '2.8.6';
5
5
  exports.MATHJAX_VERSION = '3.2.2';
@@ -1100,51 +1100,6 @@ export const autoComplete = (state, dispatch) => {
1100
1100
  }
1101
1101
  return false;
1102
1102
  };
1103
- export const canIndent = (state) => {
1104
- const { $from } = state.selection;
1105
- const node = $from.node($from.depth);
1106
- const allowedNodeTypes = [schema.nodes.paragraph];
1107
- if (!allowedNodeTypes.includes(node.type)) {
1108
- return false;
1109
- }
1110
- const isBody = hasParentNodeOfType(schema.nodes.body)(state.selection);
1111
- if (!isBody || isDeleted(node)) {
1112
- return false;
1113
- }
1114
- if (node.type === schema.nodes.paragraph) {
1115
- const parentNode = $from.node($from.depth - 1);
1116
- if ((parentNode === null || parentNode === void 0 ? void 0 : parentNode.type) !== schema.nodes.section &&
1117
- (parentNode === null || parentNode === void 0 ? void 0 : parentNode.type) !== schema.nodes.body) {
1118
- return false;
1119
- }
1120
- }
1121
- return true;
1122
- };
1123
- export const indent = () => (state, dispatch, view) => {
1124
- const { $from } = state.selection;
1125
- const nodeType = $from.node().type;
1126
- if (nodeType === schema.nodes.paragraph) {
1127
- indentParagraph()(state, dispatch, view);
1128
- }
1129
- };
1130
- export const indentParagraph = () => (state, dispatch, view) => {
1131
- const { $from } = state.selection;
1132
- const { schema, tr } = state;
1133
- const beforeParagraph = $from.before($from.depth);
1134
- const sectionDepth = $from.depth - 1;
1135
- const parentSection = $from.node(sectionDepth);
1136
- const sectionStart = $from.start(sectionDepth);
1137
- const sectionEnd = $from.end(sectionDepth);
1138
- const sectionTitle = schema.nodes.section_title.create();
1139
- const sectionContent = Fragment.from(sectionTitle).append(parentSection.content.cut(beforeParagraph - sectionStart));
1140
- const newSection = schema.nodes.section.create({ id: generateNodeID(schema.nodes.section) }, sectionContent);
1141
- tr.replaceWith(beforeParagraph, sectionEnd, newSection);
1142
- tr.setSelection(TextSelection.create(tr.doc, beforeParagraph + 2));
1143
- if (dispatch) {
1144
- dispatch(skipTracking(tr));
1145
- view === null || view === void 0 ? void 0 : view.focus();
1146
- }
1147
- };
1148
1103
  export const activateSearch = (state, dispatch) => {
1149
1104
  const pluginState = searchReplaceKey.getState(state);
1150
1105
  const tr = state.tr.setMeta(searchReplaceKey, {
@@ -1,7 +1,9 @@
1
1
  import { skipTracking } from '@manuscripts/track-changes-plugin';
2
- import { generateNodeID, isSectionNodeType, nodeNames, } from '@manuscripts/transform';
2
+ import { generateNodeID, isSectionNodeType, nodeNames, schema, } from '@manuscripts/transform';
3
3
  import { Fragment } from 'prosemirror-model';
4
4
  import { TextSelection } from 'prosemirror-state';
5
+ import { hasParentNodeOfType } from 'prosemirror-utils';
6
+ import { isDeleted } from '../../lib/track-changes-utils';
5
7
  export const optionName = (nodeType) => {
6
8
  switch (nodeType) {
7
9
  case nodeType.schema.nodes.section:
@@ -125,3 +127,81 @@ export const promoteParagraphToSection = (state, dispatch, view) => {
125
127
  dispatch(skipTracking(tr));
126
128
  view && view.focus();
127
129
  };
130
+ export const canIndent = () => (state) => {
131
+ const { $from } = state.selection;
132
+ const nodeType = $from.node().type;
133
+ const allowedNodeTypes = [schema.nodes.section_title, schema.nodes.paragraph];
134
+ if (!allowedNodeTypes.includes(nodeType)) {
135
+ return false;
136
+ }
137
+ const isInBody = hasParentNodeOfType(schema.nodes.body)(state.selection);
138
+ const isDeletedNode = isDeleted($from.node($from.depth));
139
+ if (!isInBody || isDeletedNode) {
140
+ return false;
141
+ }
142
+ const isParagraph = nodeType === schema.nodes.paragraph;
143
+ if (isParagraph) {
144
+ const parentNode = $from.node($from.depth - 1);
145
+ if ((parentNode === null || parentNode === void 0 ? void 0 : parentNode.type) !== schema.nodes.section &&
146
+ (parentNode === null || parentNode === void 0 ? void 0 : parentNode.type) !== schema.nodes.body) {
147
+ return false;
148
+ }
149
+ }
150
+ return true;
151
+ };
152
+ export const indent = () => (state, dispatch, view) => {
153
+ const { $from } = state.selection;
154
+ const nodeType = $from.node().type;
155
+ if (nodeType === schema.nodes.section_title) {
156
+ indentSection()(state, dispatch, view);
157
+ }
158
+ else if (nodeType === schema.nodes.paragraph) {
159
+ indentParagraph()(state, dispatch, view);
160
+ }
161
+ };
162
+ export const indentSection = () => (state, dispatch, view) => {
163
+ const { selection: { $from }, schema, tr, } = state;
164
+ const { nodes } = schema;
165
+ const sectionDepth = $from.depth - 1;
166
+ const section = $from.node(sectionDepth);
167
+ const beforeSection = $from.before(sectionDepth);
168
+ const afterSection = $from.after(sectionDepth);
169
+ const parentSectionDepth = sectionDepth - 1;
170
+ const parentSection = $from.node(parentSectionDepth);
171
+ const startIndex = $from.index(parentSectionDepth);
172
+ const previousSection = startIndex > 0 ? parentSection.child(startIndex - 1) : null;
173
+ const isValidContainer = (previousSection === null || previousSection === void 0 ? void 0 : previousSection.type) === nodes.section;
174
+ let anchor;
175
+ if (!previousSection || !isValidContainer) {
176
+ const emptyTitle = nodes.section_title.create();
177
+ const newParentSectionContent = Fragment.fromArray([emptyTitle, section]);
178
+ const newParentSection = nodes.section.create({}, newParentSectionContent);
179
+ tr.replaceWith(beforeSection, afterSection, newParentSection);
180
+ anchor = beforeSection + 1;
181
+ }
182
+ else {
183
+ const newPreviousSection = previousSection.copy(previousSection.content.append(Fragment.from(section)));
184
+ const beforePreviousSection = beforeSection - previousSection.nodeSize;
185
+ tr.replaceWith(beforePreviousSection, afterSection, newPreviousSection);
186
+ anchor = beforePreviousSection + 1;
187
+ }
188
+ tr.setSelection(TextSelection.create(tr.doc, anchor));
189
+ dispatch(skipTracking(tr));
190
+ view && view.focus();
191
+ };
192
+ export const indentParagraph = () => (state, dispatch, view) => {
193
+ const { $from } = state.selection;
194
+ const { schema, tr } = state;
195
+ const beforeParagraph = $from.before($from.depth);
196
+ const sectionDepth = $from.depth - 1;
197
+ const parentSection = $from.node(sectionDepth);
198
+ const sectionStart = $from.start(sectionDepth);
199
+ const sectionEnd = $from.end(sectionDepth);
200
+ const sectionTitle = schema.nodes.section_title.create();
201
+ const sectionContent = Fragment.from(sectionTitle).append(parentSection.content.cut(beforeParagraph - sectionStart));
202
+ const newSection = schema.nodes.section.create({ id: generateNodeID(schema.nodes.section) }, sectionContent);
203
+ tr.replaceWith(beforeParagraph, sectionEnd, newSection);
204
+ tr.setSelection(TextSelection.create(tr.doc, beforeParagraph + 2));
205
+ dispatch(skipTracking(tr));
206
+ view === null || view === void 0 ? void 0 : view.focus();
207
+ };
@@ -81,6 +81,7 @@ export default (props, dispatch) => {
81
81
  placeholder: placeholder(props),
82
82
  placeholder_element: placeholderElement(props),
83
83
  section: section(props),
84
+ graphical_abstract_section: section(props),
84
85
  pullquote_element: pullquoteElement(props),
85
86
  section_title: sectionTitle(props),
86
87
  section_label: sectionLabel(props),
@@ -17,14 +17,15 @@ import { AddCommentIcon, ToolbarBoldIcon, ToolbarCitationIcon, ToolbarEquationIc
17
17
  import { schema } from '@manuscripts/transform';
18
18
  import { toggleMark } from 'prosemirror-commands';
19
19
  import React from 'react';
20
- import { addInlineComment, blockActive, canIndent, canInsert, indent, insertBlock, insertInlineCitation, insertList, markActive, } from './commands';
20
+ import { addInlineComment, blockActive, canInsert, insertBlock, insertInlineCitation, insertList, markActive, } from './commands';
21
+ import { canIndent, indent } from './components/toolbar/helpers';
21
22
  import { openInsertTableDialog } from './components/toolbar/InsertTableDialog';
22
23
  export const toolbar = {
23
24
  indentation: {
24
25
  indent: {
25
26
  title: 'Indent',
26
27
  content: React.createElement(ToolbarIndentIcon, null),
27
- isEnabled: (state) => canIndent(state),
28
+ isEnabled: canIndent(),
28
29
  run: indent(),
29
30
  },
30
31
  },
@@ -1,2 +1,2 @@
1
- export const VERSION = '2.8.4';
1
+ export const VERSION = '2.8.6';
2
2
  export const MATHJAX_VERSION = '3.2.2';
@@ -80,8 +80,5 @@ export declare const addRows: (direction: 'top' | 'bottom') => (state: EditorSta
80
80
  export declare const addHeaderRow: (direction: 'above' | 'below') => (state: EditorState, dispatch?: ((tr: Transaction) => void) | undefined) => boolean;
81
81
  export declare const addColumns: (direction: 'right' | 'left') => (state: EditorState, dispatch?: ((tr: Transaction) => void) | undefined) => boolean;
82
82
  export declare const autoComplete: (state: ManuscriptEditorState, dispatch?: Dispatch) => boolean;
83
- export declare const canIndent: (state: ManuscriptEditorState) => boolean;
84
- export declare const indent: () => (state: EditorState, dispatch: Dispatch, view?: EditorView) => void;
85
- export declare const indentParagraph: () => (state: ManuscriptEditorState, dispatch?: Dispatch, view?: ManuscriptEditorView) => void;
86
83
  export declare const activateSearch: (state: ManuscriptEditorState, dispatch?: Dispatch) => boolean;
87
84
  export declare const activateSearchReplace: (state: ManuscriptEditorState, dispatch?: Dispatch) => boolean;
@@ -1,8 +1,14 @@
1
1
  import { ManuscriptEditorView, ManuscriptNodeType } from '@manuscripts/transform';
2
2
  import { EditorState, Transaction } from 'prosemirror-state';
3
+ import { EditorView } from 'prosemirror-view';
4
+ import { Dispatch } from '../../commands';
3
5
  import { Option } from './type-selector/TypeSelector';
4
6
  export declare const optionName: (nodeType: ManuscriptNodeType) => string;
5
7
  export declare const titleCase: (text: string) => string;
6
8
  export declare const findSelectedOption: (options: Option[]) => Option | undefined;
7
9
  export declare const demoteSectionToParagraph: (state: EditorState, dispatch: (tr: Transaction) => void, view?: ManuscriptEditorView) => void;
8
10
  export declare const promoteParagraphToSection: (state: EditorState, dispatch: (tr: Transaction) => void, view?: ManuscriptEditorView) => void;
11
+ export declare const canIndent: () => (state: EditorState) => boolean;
12
+ export declare const indent: () => (state: EditorState, dispatch: Dispatch, view?: EditorView) => void;
13
+ export declare const indentSection: () => (state: EditorState, dispatch: Dispatch, view?: EditorView) => void;
14
+ export declare const indentParagraph: () => (state: EditorState, dispatch: Dispatch, view?: EditorView) => void;
@@ -222,6 +222,7 @@ declare const _default: (props: EditorProps, dispatch: Dispatch) => {
222
222
  destroy(): void;
223
223
  } & import("../views/placeholder_element").PlaceholderElementView>;
224
224
  section: import("../types").NodeViewCreator<import("../views/section").SectionView>;
225
+ graphical_abstract_section: import("../types").NodeViewCreator<import("../views/section").SectionView>;
225
226
  pullquote_element: import("../types").NodeViewCreator<{
226
227
  gutterButtons(): HTMLElement[];
227
228
  actionGutterButtons(): never[];
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "2.8.4";
1
+ export declare const VERSION = "2.8.6";
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.8.4",
4
+ "version": "2.8.6",
5
5
  "repository": "github:Atypon-OpenSource/manuscripts-body-editor",
6
6
  "license": "Apache-2.0",
7
7
  "main": "dist/cjs",
@@ -32,7 +32,7 @@
32
32
  "@iarna/word-count": "^1.1.2",
33
33
  "@manuscripts/json-schema": "2.2.11",
34
34
  "@manuscripts/library": "1.3.11",
35
- "@manuscripts/style-guide": "2.1.3",
35
+ "@manuscripts/style-guide": "2.1.4",
36
36
  "@manuscripts/track-changes-plugin": "1.10.0",
37
37
  "@manuscripts/transform": "3.0.45",
38
38
  "@popperjs/core": "^2.11.8",
package/styles/Editor.css CHANGED
@@ -626,16 +626,16 @@
626
626
  .ProseMirror .block-container.block-affiliations {
627
627
  grid-template-columns: 52px auto 100px !important;
628
628
  }
629
- .ProseMirror .block-container.block-section {
629
+ .ProseMirror .block-container.block-section, .ProseMirror .block-container.block-graphical_abstract_section {
630
630
  position: relative;
631
631
  display: grid;
632
632
  grid-template-columns: auto;
633
633
  }
634
- .ProseMirror .block-container.block-section section {
634
+ .ProseMirror .block-container.block-section section, .ProseMirror .block-container.block-graphical_abstract_section section {
635
635
  position: relative;
636
636
  }
637
637
 
638
- .ProseMirror .block-container:not(.block-section):hover {
638
+ .ProseMirror .block-container:not(.block-section, .block-graphical_abstract_section):hover {
639
639
  z-index: 2;
640
640
  }
641
641
 
@@ -698,14 +698,14 @@
698
698
  }
699
699
 
700
700
  .ProseMirror
701
- .block-container:not(.block-section, .block-box_element):hover
701
+ .block-container:not(.block-section, .block-box_element, .block-graphical_abstract_section):hover
702
702
  .block-gutter {
703
703
  opacity: 1;
704
704
  z-index: 2;
705
705
  }
706
706
 
707
707
  .ProseMirror:not(.ProseMirror-focused.popper-open)
708
- .block-container:not(.block-section, .block-box_element):hover
708
+ .block-container:not(.block-section, .block-box_element, .block-graphical_abstract_section):hover
709
709
  .action-gutter {
710
710
  pointer-events: visible;
711
711
  opacity: 1;
@@ -1085,4 +1085,4 @@
1085
1085
  }
1086
1086
  .highlight {
1087
1087
  background-color: #ffeebf !important;
1088
- }
1088
+ }