@manuscripts/article-editor 3.1.47-LEAN-3911.0 → 3.1.47-LEAN-3756.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/hooks/use-handle-snapshot.js +23 -1
- package/dist/cjs/hooks/use-handle-snapshot.js.map +1 -1
- package/dist/cjs/postgres-data/buildUtilities.js +56 -0
- package/dist/cjs/postgres-data/buildUtilities.js.map +1 -1
- package/dist/cjs/store/Store.js.map +1 -1
- package/dist/es/hooks/use-handle-snapshot.js +23 -1
- package/dist/es/hooks/use-handle-snapshot.js.map +1 -1
- package/dist/es/postgres-data/buildUtilities.js +57 -1
- package/dist/es/postgres-data/buildUtilities.js.map +1 -1
- package/dist/es/store/Store.js.map +1 -1
- package/dist/types/store/Store.d.ts +1 -0
- package/package.json +3 -3
@@ -15,14 +15,19 @@ exports.useHandleSnapshot = void 0;
|
|
15
15
|
*
|
16
16
|
* All portions of the code written by Atypon Systems LLC are Copyright (c) 2019 Atypon Systems LLC. All Rights Reserved.
|
17
17
|
*/
|
18
|
+
const style_guide_1 = require("@manuscripts/style-guide");
|
18
19
|
const track_changes_plugin_1 = require("@manuscripts/track-changes-plugin");
|
20
|
+
const getDocWithoutTrackContent_1 = require("../quarterback/getDocWithoutTrackContent");
|
19
21
|
const store_1 = require("../store");
|
20
22
|
const use_exec_cmd_1 = __importDefault(require("./use-exec-cmd"));
|
21
23
|
const useHandleSnapshot = (view) => {
|
22
|
-
const [{ createSnapshot, beforeUnload }] = (0, store_1.useStore)((store) => ({
|
24
|
+
const [{ saveDoc, createSnapshot, beforeUnload }] = (0, store_1.useStore)((store) => ({
|
23
25
|
createSnapshot: store.createSnapshot,
|
26
|
+
saveDoc: store.saveDoc,
|
24
27
|
beforeUnload: store.beforeUnload,
|
25
28
|
}));
|
29
|
+
const can = (0, style_guide_1.usePermissions)();
|
30
|
+
const canApplySaveChanges = can.applySaveChanges;
|
26
31
|
const execCmd = (0, use_exec_cmd_1.default)();
|
27
32
|
return async () => {
|
28
33
|
if (!view) {
|
@@ -32,6 +37,23 @@ const useHandleSnapshot = (view) => {
|
|
32
37
|
beforeUnload && beforeUnload();
|
33
38
|
await createSnapshot();
|
34
39
|
execCmd(track_changes_plugin_1.trackCommands.applyAndRemoveChanges(), view);
|
40
|
+
return new Promise((resolve, reject) => {
|
41
|
+
setTimeout(() => {
|
42
|
+
const state = view.state;
|
43
|
+
if (!state) {
|
44
|
+
reject(new Error('State is not available'));
|
45
|
+
return;
|
46
|
+
}
|
47
|
+
if (!canApplySaveChanges) {
|
48
|
+
return resolve();
|
49
|
+
}
|
50
|
+
saveDoc((0, getDocWithoutTrackContent_1.getDocWithoutTrackContent)(state))
|
51
|
+
.then(() => {
|
52
|
+
resolve();
|
53
|
+
})
|
54
|
+
.catch(() => reject(new Error('Cannot save to api. Check connection.')));
|
55
|
+
}, 900); // to avoid potentially saving before the changes are applied
|
56
|
+
});
|
35
57
|
};
|
36
58
|
};
|
37
59
|
exports.useHandleSnapshot = useHandleSnapshot;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-handle-snapshot.js","sourceRoot":"","sources":["../../../src/hooks/use-handle-snapshot.ts"],"names":[],"mappings":";;;;;;AAAA;;;;;;;;;;GAUG;AACH,4EAAiE;AAGjE,oCAAmC;AACnC,kEAAuC;AAEhC,MAAM,iBAAiB,GAAG,CAAC,IAAiB,EAAE,EAAE;IACrD,MAAM,CAAC,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,GAAG,IAAA,gBAAQ,EAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;
|
1
|
+
{"version":3,"file":"use-handle-snapshot.js","sourceRoot":"","sources":["../../../src/hooks/use-handle-snapshot.ts"],"names":[],"mappings":";;;;;;AAAA;;;;;;;;;;GAUG;AACH,0DAAyD;AACzD,4EAAiE;AAGjE,wFAAoF;AACpF,oCAAmC;AACnC,kEAAuC;AAEhC,MAAM,iBAAiB,GAAG,CAAC,IAAiB,EAAE,EAAE;IACrD,MAAM,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,GAAG,IAAA,gBAAQ,EAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACvE,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,YAAY,EAAE,KAAK,CAAC,YAAY;KACjC,CAAC,CAAC,CAAA;IACH,MAAM,GAAG,GAAG,IAAA,4BAAc,GAAE,CAAA;IAC5B,MAAM,mBAAmB,GAAG,GAAG,CAAC,gBAAgB,CAAA;IAChD,MAAM,OAAO,GAAG,IAAA,sBAAU,GAAE,CAAA;IAE5B,OAAO,KAAK,IAAI,EAAE;QAChB,IAAI,CAAC,IAAI,EAAE;YACT,OAAM;SACP;QACD,iJAAiJ;QACjJ,YAAY,IAAI,YAAY,EAAE,CAAA;QAC9B,MAAM,cAAc,EAAE,CAAA;QACtB,OAAO,CAAC,oCAAa,CAAC,qBAAqB,EAAE,EAAE,IAAI,CAAC,CAAA;QACpD,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,UAAU,CAAC,GAAG,EAAE;gBACd,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;gBACxB,IAAI,CAAC,KAAK,EAAE;oBACV,MAAM,CAAC,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAA;oBAC3C,OAAM;iBACP;gBACD,IAAI,CAAC,mBAAmB,EAAE;oBACxB,OAAO,OAAO,EAAE,CAAA;iBACjB;gBAED,OAAO,CAAC,IAAA,qDAAyB,EAAC,KAAK,CAAC,CAAC;qBACtC,IAAI,CAAC,GAAG,EAAE;oBACT,OAAO,EAAE,CAAA;gBACX,CAAC,CAAC;qBACD,KAAK,CAAC,GAAG,EAAE,CACV,MAAM,CAAC,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC,CAC3D,CAAA;YACL,CAAC,EAAE,GAAG,CAAC,CAAA,CAAC,6DAA6D;QACvE,CAAC,CAAC,CAAA;IACJ,CAAC,CAAA;AACH,CAAC,CAAA;AAvCY,QAAA,iBAAiB,qBAuC7B"}
|
@@ -13,8 +13,63 @@
|
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
14
14
|
exports.buildUtilities = void 0;
|
15
15
|
const json_schema_1 = require("@manuscripts/json-schema");
|
16
|
+
const transform_1 = require("@manuscripts/transform");
|
16
17
|
const roles_1 = require("../lib/roles");
|
17
18
|
const buildUtilities = (projectID, manuscriptID, getState, updateState, api) => {
|
19
|
+
const updateContainerIDs = (model) => {
|
20
|
+
const containerIDs = {
|
21
|
+
containerID: projectID,
|
22
|
+
};
|
23
|
+
if (!model._id) {
|
24
|
+
throw new Error('Model ID required');
|
25
|
+
}
|
26
|
+
if (json_schema_1.manuscriptIDTypes.has(model.objectType)) {
|
27
|
+
containerIDs.manuscriptID = manuscriptID;
|
28
|
+
}
|
29
|
+
return {
|
30
|
+
...model,
|
31
|
+
...containerIDs,
|
32
|
+
};
|
33
|
+
};
|
34
|
+
const saveProject = async (models) => {
|
35
|
+
try {
|
36
|
+
const filtered = models.filter((m) => m.objectType !== json_schema_1.ObjectTypes.Project);
|
37
|
+
await api.saveProject(projectID, filtered);
|
38
|
+
return true;
|
39
|
+
}
|
40
|
+
catch (e) {
|
41
|
+
return false;
|
42
|
+
}
|
43
|
+
};
|
44
|
+
const saveModels = async (models) => {
|
45
|
+
const state = getState();
|
46
|
+
if (!state.project || !state.manuscript) {
|
47
|
+
throw new Error('Unable to save due to incomplete data');
|
48
|
+
}
|
49
|
+
const modelMap = new Map();
|
50
|
+
for (const model of models) {
|
51
|
+
if (!model._id) {
|
52
|
+
throw new Error('Model ID required');
|
53
|
+
}
|
54
|
+
const updated = updateContainerIDs(model);
|
55
|
+
modelMap.set(model._id, updated);
|
56
|
+
}
|
57
|
+
modelMap.set(state.project._id, state.project);
|
58
|
+
modelMap.set(state.manuscript._id, state.manuscript);
|
59
|
+
updateState({
|
60
|
+
savingProcess: 'saving',
|
61
|
+
preventUnload: true,
|
62
|
+
});
|
63
|
+
const result = await saveProject([...modelMap.values()]);
|
64
|
+
updateState({
|
65
|
+
savingProcess: result ? 'saved' : 'failed',
|
66
|
+
preventUnload: false,
|
67
|
+
});
|
68
|
+
};
|
69
|
+
const saveDoc = async (doc) => {
|
70
|
+
const models = (0, transform_1.encode)(doc);
|
71
|
+
await saveModels([...models.values()]);
|
72
|
+
};
|
18
73
|
const createSnapshot = async () => {
|
19
74
|
const state = getState();
|
20
75
|
const snapshots = state.snapshots;
|
@@ -49,6 +104,7 @@ const buildUtilities = (projectID, manuscriptID, getState, updateState, api) =>
|
|
49
104
|
});
|
50
105
|
};
|
51
106
|
return {
|
107
|
+
saveDoc,
|
52
108
|
createSnapshot,
|
53
109
|
refreshProject,
|
54
110
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"buildUtilities.js","sourceRoot":"","sources":["../../../src/postgres-data/buildUtilities.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAEH,
|
1
|
+
{"version":3,"file":"buildUtilities.js","sourceRoot":"","sources":["../../../src/postgres-data/buildUtilities.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Store.js","sourceRoot":"","sources":["../../../src/store/Store.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAmBH,wBAAkE;
|
1
|
+
{"version":3,"file":"Store.js","sourceRoot":"","sources":["../../../src/store/Store.ts"],"names":[],"mappings":"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"}
|
@@ -9,14 +9,19 @@
|
|
9
9
|
*
|
10
10
|
* All portions of the code written by Atypon Systems LLC are Copyright (c) 2019 Atypon Systems LLC. All Rights Reserved.
|
11
11
|
*/
|
12
|
+
import { usePermissions } from '@manuscripts/style-guide';
|
12
13
|
import { trackCommands } from '@manuscripts/track-changes-plugin';
|
14
|
+
import { getDocWithoutTrackContent } from '../quarterback/getDocWithoutTrackContent';
|
13
15
|
import { useStore } from '../store';
|
14
16
|
import useExecCmd from './use-exec-cmd';
|
15
17
|
export const useHandleSnapshot = (view) => {
|
16
|
-
const [{ createSnapshot, beforeUnload }] = useStore((store) => ({
|
18
|
+
const [{ saveDoc, createSnapshot, beforeUnload }] = useStore((store) => ({
|
17
19
|
createSnapshot: store.createSnapshot,
|
20
|
+
saveDoc: store.saveDoc,
|
18
21
|
beforeUnload: store.beforeUnload,
|
19
22
|
}));
|
23
|
+
const can = usePermissions();
|
24
|
+
const canApplySaveChanges = can.applySaveChanges;
|
20
25
|
const execCmd = useExecCmd();
|
21
26
|
return async () => {
|
22
27
|
if (!view) {
|
@@ -26,6 +31,23 @@ export const useHandleSnapshot = (view) => {
|
|
26
31
|
beforeUnload && beforeUnload();
|
27
32
|
await createSnapshot();
|
28
33
|
execCmd(trackCommands.applyAndRemoveChanges(), view);
|
34
|
+
return new Promise((resolve, reject) => {
|
35
|
+
setTimeout(() => {
|
36
|
+
const state = view.state;
|
37
|
+
if (!state) {
|
38
|
+
reject(new Error('State is not available'));
|
39
|
+
return;
|
40
|
+
}
|
41
|
+
if (!canApplySaveChanges) {
|
42
|
+
return resolve();
|
43
|
+
}
|
44
|
+
saveDoc(getDocWithoutTrackContent(state))
|
45
|
+
.then(() => {
|
46
|
+
resolve();
|
47
|
+
})
|
48
|
+
.catch(() => reject(new Error('Cannot save to api. Check connection.')));
|
49
|
+
}, 900); // to avoid potentially saving before the changes are applied
|
50
|
+
});
|
29
51
|
};
|
30
52
|
};
|
31
53
|
//# sourceMappingURL=use-handle-snapshot.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-handle-snapshot.js","sourceRoot":"","sources":["../../../src/hooks/use-handle-snapshot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAA;AAGjE,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AACnC,OAAO,UAAU,MAAM,gBAAgB,CAAA;AAEvC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAAiB,EAAE,EAAE;IACrD,MAAM,CAAC,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;
|
1
|
+
{"version":3,"file":"use-handle-snapshot.js","sourceRoot":"","sources":["../../../src/hooks/use-handle-snapshot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAA;AAGjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAA;AACpF,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AACnC,OAAO,UAAU,MAAM,gBAAgB,CAAA;AAEvC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAAiB,EAAE,EAAE;IACrD,MAAM,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACvE,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,YAAY,EAAE,KAAK,CAAC,YAAY;KACjC,CAAC,CAAC,CAAA;IACH,MAAM,GAAG,GAAG,cAAc,EAAE,CAAA;IAC5B,MAAM,mBAAmB,GAAG,GAAG,CAAC,gBAAgB,CAAA;IAChD,MAAM,OAAO,GAAG,UAAU,EAAE,CAAA;IAE5B,OAAO,KAAK,IAAI,EAAE;QAChB,IAAI,CAAC,IAAI,EAAE;YACT,OAAM;SACP;QACD,iJAAiJ;QACjJ,YAAY,IAAI,YAAY,EAAE,CAAA;QAC9B,MAAM,cAAc,EAAE,CAAA;QACtB,OAAO,CAAC,aAAa,CAAC,qBAAqB,EAAE,EAAE,IAAI,CAAC,CAAA;QACpD,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,UAAU,CAAC,GAAG,EAAE;gBACd,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;gBACxB,IAAI,CAAC,KAAK,EAAE;oBACV,MAAM,CAAC,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAA;oBAC3C,OAAM;iBACP;gBACD,IAAI,CAAC,mBAAmB,EAAE;oBACxB,OAAO,OAAO,EAAE,CAAA;iBACjB;gBAED,OAAO,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;qBACtC,IAAI,CAAC,GAAG,EAAE;oBACT,OAAO,EAAE,CAAA;gBACX,CAAC,CAAC;qBACD,KAAK,CAAC,GAAG,EAAE,CACV,MAAM,CAAC,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC,CAC3D,CAAA;YACL,CAAC,EAAE,GAAG,CAAC,CAAA,CAAC,6DAA6D;QACvE,CAAC,CAAC,CAAA;IACJ,CAAC,CAAA;AACH,CAAC,CAAA"}
|
@@ -9,9 +9,64 @@
|
|
9
9
|
*
|
10
10
|
* All portions of the code written by Atypon Systems LLC are Copyright (c) 2019 Atypon Systems LLC. All Rights Reserved.
|
11
11
|
*/
|
12
|
-
import { ObjectTypes } from '@manuscripts/json-schema';
|
12
|
+
import { manuscriptIDTypes, ObjectTypes, } from '@manuscripts/json-schema';
|
13
|
+
import { encode } from '@manuscripts/transform';
|
13
14
|
import { getUserRole } from '../lib/roles';
|
14
15
|
export const buildUtilities = (projectID, manuscriptID, getState, updateState, api) => {
|
16
|
+
const updateContainerIDs = (model) => {
|
17
|
+
const containerIDs = {
|
18
|
+
containerID: projectID,
|
19
|
+
};
|
20
|
+
if (!model._id) {
|
21
|
+
throw new Error('Model ID required');
|
22
|
+
}
|
23
|
+
if (manuscriptIDTypes.has(model.objectType)) {
|
24
|
+
containerIDs.manuscriptID = manuscriptID;
|
25
|
+
}
|
26
|
+
return {
|
27
|
+
...model,
|
28
|
+
...containerIDs,
|
29
|
+
};
|
30
|
+
};
|
31
|
+
const saveProject = async (models) => {
|
32
|
+
try {
|
33
|
+
const filtered = models.filter((m) => m.objectType !== ObjectTypes.Project);
|
34
|
+
await api.saveProject(projectID, filtered);
|
35
|
+
return true;
|
36
|
+
}
|
37
|
+
catch (e) {
|
38
|
+
return false;
|
39
|
+
}
|
40
|
+
};
|
41
|
+
const saveModels = async (models) => {
|
42
|
+
const state = getState();
|
43
|
+
if (!state.project || !state.manuscript) {
|
44
|
+
throw new Error('Unable to save due to incomplete data');
|
45
|
+
}
|
46
|
+
const modelMap = new Map();
|
47
|
+
for (const model of models) {
|
48
|
+
if (!model._id) {
|
49
|
+
throw new Error('Model ID required');
|
50
|
+
}
|
51
|
+
const updated = updateContainerIDs(model);
|
52
|
+
modelMap.set(model._id, updated);
|
53
|
+
}
|
54
|
+
modelMap.set(state.project._id, state.project);
|
55
|
+
modelMap.set(state.manuscript._id, state.manuscript);
|
56
|
+
updateState({
|
57
|
+
savingProcess: 'saving',
|
58
|
+
preventUnload: true,
|
59
|
+
});
|
60
|
+
const result = await saveProject([...modelMap.values()]);
|
61
|
+
updateState({
|
62
|
+
savingProcess: result ? 'saved' : 'failed',
|
63
|
+
preventUnload: false,
|
64
|
+
});
|
65
|
+
};
|
66
|
+
const saveDoc = async (doc) => {
|
67
|
+
const models = encode(doc);
|
68
|
+
await saveModels([...models.values()]);
|
69
|
+
};
|
15
70
|
const createSnapshot = async () => {
|
16
71
|
const state = getState();
|
17
72
|
const snapshots = state.snapshots;
|
@@ -46,6 +101,7 @@ export const buildUtilities = (projectID, manuscriptID, getState, updateState, a
|
|
46
101
|
});
|
47
102
|
};
|
48
103
|
return {
|
104
|
+
saveDoc,
|
49
105
|
createSnapshot,
|
50
106
|
refreshProject,
|
51
107
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"buildUtilities.js","sourceRoot":"","sources":["../../../src/postgres-data/buildUtilities.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,
|
1
|
+
{"version":3,"file":"buildUtilities.js","sourceRoot":"","sources":["../../../src/postgres-data/buildUtilities.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Store.js","sourceRoot":"","sources":["../../../src/store/Store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAmBH,OAAO,EAAE,qBAAqB,EAA2B,MAAM,GAAG,CAAA;
|
1
|
+
{"version":3,"file":"Store.js","sourceRoot":"","sources":["../../../src/store/Store.ts"],"names":[],"mappings":"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"}
|
@@ -65,6 +65,7 @@ export type state = {
|
|
65
65
|
cslStyle?: string;
|
66
66
|
hasPendingSuggestions?: boolean;
|
67
67
|
sectionCategories: SectionCategory[];
|
68
|
+
saveDoc: (doc: ManuscriptNode) => Promise<void>;
|
68
69
|
originalPmDoc?: JSON;
|
69
70
|
};
|
70
71
|
export type reducer = (payload: any, store: state, action?: string) => state;
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@manuscripts/article-editor",
|
3
|
-
"version": "3.1.47-LEAN-
|
3
|
+
"version": "3.1.47-LEAN-3756.0",
|
4
4
|
"license": "CPAL-1.0",
|
5
5
|
"description": "React components for editing and viewing manuscripts",
|
6
6
|
"repository": "github:Atypon-OpenSource/manuscripts-article-editor",
|
@@ -35,12 +35,12 @@
|
|
35
35
|
"@fontsource/lato": "^4.5.10",
|
36
36
|
"@fontsource/pt-sans": "^4.5.11",
|
37
37
|
"@fontsource/pt-serif": "^4.5.11",
|
38
|
-
"@manuscripts/body-editor": "2.0.57-LEAN-
|
38
|
+
"@manuscripts/body-editor": "2.0.57-LEAN-3756.0",
|
39
39
|
"@manuscripts/json-schema": "2.2.11",
|
40
40
|
"@manuscripts/library": "1.3.11",
|
41
41
|
"@manuscripts/style-guide": "2.0.19",
|
42
42
|
"@manuscripts/track-changes-plugin": "1.7.22",
|
43
|
-
"@manuscripts/transform": "2.3.
|
43
|
+
"@manuscripts/transform": "2.3.36",
|
44
44
|
"@popperjs/core": "^2.11.8",
|
45
45
|
"@reach/tabs": "^0.18.0",
|
46
46
|
"@types/use-sync-external-store": "^0.0.6",
|