@manuscripts/article-editor 4.2.8 → 4.2.10

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 (103) hide show
  1. package/dist/cjs/EditorApp.js +8 -1
  2. package/dist/cjs/EditorApp.js.map +1 -1
  3. package/dist/cjs/Main.js +3 -3
  4. package/dist/cjs/Main.js.map +1 -1
  5. package/dist/cjs/components/inspector/SnapshotsList.js +14 -2
  6. package/dist/cjs/components/inspector/SnapshotsList.js.map +1 -1
  7. package/dist/cjs/components/projects/EditorElement.js +5 -4
  8. package/dist/cjs/components/projects/EditorElement.js.map +1 -1
  9. package/dist/cjs/components/projects/Inspector.js +6 -0
  10. package/dist/cjs/components/projects/Inspector.js.map +1 -1
  11. package/dist/cjs/components/projects/ManuscriptPageContainer.js +4 -3
  12. package/dist/cjs/components/projects/ManuscriptPageContainer.js.map +1 -1
  13. package/dist/cjs/components/tools/CompareDocumentsModal.js +170 -0
  14. package/dist/cjs/components/tools/CompareDocumentsModal.js.map +1 -0
  15. package/dist/cjs/components/track-changes/SortByDropdown.js +1 -1
  16. package/dist/cjs/components/track-changes/TrackChangesPanel.js +16 -3
  17. package/dist/cjs/components/track-changes/TrackChangesPanel.js.map +1 -1
  18. package/dist/cjs/components/track-changes/suggestion-list/Suggestion.js +7 -3
  19. package/dist/cjs/components/track-changes/suggestion-list/Suggestion.js.map +1 -1
  20. package/dist/cjs/components/track-changes/suggestion-list/SuggestionList.js +6 -2
  21. package/dist/cjs/components/track-changes/suggestion-list/SuggestionList.js.map +1 -1
  22. package/dist/cjs/hooks/use-compare-documents.js +69 -0
  23. package/dist/cjs/hooks/use-compare-documents.js.map +1 -0
  24. package/dist/cjs/hooks/use-create-editor.js +30 -13
  25. package/dist/cjs/hooks/use-create-editor.js.map +1 -1
  26. package/dist/cjs/index.js +3 -3
  27. package/dist/cjs/index.js.map +1 -1
  28. package/dist/cjs/lib/change-handlers.js +10 -1
  29. package/dist/cjs/lib/change-handlers.js.map +1 -1
  30. package/dist/cjs/lib/comparison/compare-documents.js +53 -0
  31. package/dist/cjs/lib/comparison/compare-documents.js.map +1 -0
  32. package/dist/cjs/lib/comparison/compare-paragraph-like.js +388 -0
  33. package/dist/cjs/lib/comparison/compare-paragraph-like.js.map +1 -0
  34. package/dist/cjs/lib/comparison/compare-table-element.js +567 -0
  35. package/dist/cjs/lib/comparison/compare-table-element.js.map +1 -0
  36. package/dist/cjs/lib/comparison/create-dataTracked-attrs.js +60 -0
  37. package/dist/cjs/lib/comparison/create-dataTracked-attrs.js.map +1 -0
  38. package/dist/cjs/lib/comparison/distribute-nodes.js +131 -0
  39. package/dist/cjs/lib/comparison/distribute-nodes.js.map +1 -0
  40. package/dist/cjs/lib/comparison/rebuild-nodes-tree.js +76 -0
  41. package/dist/cjs/lib/comparison/rebuild-nodes-tree.js.map +1 -0
  42. package/dist/cjs/store/Store.js +7 -2
  43. package/dist/cjs/store/Store.js.map +1 -1
  44. package/dist/es/EditorApp.js +8 -1
  45. package/dist/es/EditorApp.js.map +1 -1
  46. package/dist/es/Main.js +3 -3
  47. package/dist/es/Main.js.map +1 -1
  48. package/dist/es/components/inspector/SnapshotsList.js +15 -3
  49. package/dist/es/components/inspector/SnapshotsList.js.map +1 -1
  50. package/dist/es/components/projects/EditorElement.js +5 -4
  51. package/dist/es/components/projects/EditorElement.js.map +1 -1
  52. package/dist/es/components/projects/Inspector.js +6 -0
  53. package/dist/es/components/projects/Inspector.js.map +1 -1
  54. package/dist/es/components/projects/ManuscriptPageContainer.js +4 -3
  55. package/dist/es/components/projects/ManuscriptPageContainer.js.map +1 -1
  56. package/dist/es/components/tools/CompareDocumentsModal.js +140 -0
  57. package/dist/es/components/tools/CompareDocumentsModal.js.map +1 -0
  58. package/dist/es/components/track-changes/SortByDropdown.js +1 -1
  59. package/dist/es/components/track-changes/TrackChangesPanel.js +16 -3
  60. package/dist/es/components/track-changes/TrackChangesPanel.js.map +1 -1
  61. package/dist/es/components/track-changes/suggestion-list/Suggestion.js +7 -3
  62. package/dist/es/components/track-changes/suggestion-list/Suggestion.js.map +1 -1
  63. package/dist/es/components/track-changes/suggestion-list/SuggestionList.js +6 -2
  64. package/dist/es/components/track-changes/suggestion-list/SuggestionList.js.map +1 -1
  65. package/dist/es/hooks/use-compare-documents.js +65 -0
  66. package/dist/es/hooks/use-compare-documents.js.map +1 -0
  67. package/dist/es/hooks/use-create-editor.js +31 -14
  68. package/dist/es/hooks/use-create-editor.js.map +1 -1
  69. package/dist/es/index.js +3 -3
  70. package/dist/es/index.js.map +1 -1
  71. package/dist/es/lib/change-handlers.js +10 -1
  72. package/dist/es/lib/change-handlers.js.map +1 -1
  73. package/dist/es/lib/comparison/compare-documents.js +48 -0
  74. package/dist/es/lib/comparison/compare-documents.js.map +1 -0
  75. package/dist/es/lib/comparison/compare-paragraph-like.js +378 -0
  76. package/dist/es/lib/comparison/compare-paragraph-like.js.map +1 -0
  77. package/dist/es/lib/comparison/compare-table-element.js +559 -0
  78. package/dist/es/lib/comparison/compare-table-element.js.map +1 -0
  79. package/dist/es/lib/comparison/create-dataTracked-attrs.js +54 -0
  80. package/dist/es/lib/comparison/create-dataTracked-attrs.js.map +1 -0
  81. package/dist/es/lib/comparison/distribute-nodes.js +127 -0
  82. package/dist/es/lib/comparison/distribute-nodes.js.map +1 -0
  83. package/dist/es/lib/comparison/rebuild-nodes-tree.js +72 -0
  84. package/dist/es/lib/comparison/rebuild-nodes-tree.js.map +1 -0
  85. package/dist/es/store/Store.js +7 -2
  86. package/dist/es/store/Store.js.map +1 -1
  87. package/dist/types/EditorApp.d.ts +2 -1
  88. package/dist/types/Main.d.ts +1 -1
  89. package/dist/types/components/projects/ManuscriptPageContainer.d.ts +1 -1
  90. package/dist/types/components/tools/CompareDocumentsModal.d.ts +11 -0
  91. package/dist/types/components/track-changes/TrackChangesPanel.d.ts +1 -1
  92. package/dist/types/components/track-changes/suggestion-list/Suggestion.d.ts +1 -1
  93. package/dist/types/components/track-changes/suggestion-list/SuggestionList.d.ts +3 -3
  94. package/dist/types/hooks/use-compare-documents.d.ts +24 -0
  95. package/dist/types/index.d.ts +1 -1
  96. package/dist/types/lib/comparison/compare-documents.d.ts +16 -0
  97. package/dist/types/lib/comparison/compare-paragraph-like.d.ts +23 -0
  98. package/dist/types/lib/comparison/compare-table-element.d.ts +21 -0
  99. package/dist/types/lib/comparison/create-dataTracked-attrs.d.ts +15 -0
  100. package/dist/types/lib/comparison/distribute-nodes.d.ts +19 -0
  101. package/dist/types/lib/comparison/rebuild-nodes-tree.d.ts +14 -0
  102. package/dist/types/store/Store.d.ts +3 -1
  103. package/package.json +5 -3
@@ -1 +1 @@
1
- {"version":3,"file":"SuggestionList.js","sourceRoot":"","sources":["../../../../../src/components/track-changes/suggestion-list/SuggestionList.tsx"],"names":[],"mappings":";;;;;;AAYA,kDAAyB;AACzB,0EAAsC;AAEtC,6DAAyD;AACzD,6CAAyC;AAclC,MAAM,cAAc,GAAkC,CAAC,EAC5D,OAAO,EACP,WAAW,EACX,KAAK,EACL,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,QAAQ,GACT,EAAE,EAAE;IACH,MAAM,aAAa,GAAG,CAAC,CAAa,EAAE,CAAa,EAAE,EAAE,CACrD,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAA;IAEzD,MAAM,gBAAgB,GAAG,CAAC,CAAa,EAAE,CAAa,EAAE,EAAE,CACxD,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAEvB,MAAM,aAAa,GAAG,OAAO;SAC1B,KAAK,EAAE;SACP,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAA;IAE7D,OAAO,CACL,8BAAC,mCAAgB,IACf,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EACjE,UAAU,EAAE,WAAW,EACvB,KAAK,EAAE,IAAI;QAEX,8BAAC,IAAI,eAAS,kBAAkB,kBAAe,IAAI,IAChD,aAAa,CAAC,GAAG,CAAC,CAAC,CAAa,EAAE,EAAE,CAAC,CACpC,8BAAC,uBAAU,IACT,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EACZ,WAAW,EAAE,CAAC,EACd,UAAU,EAAE,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EACnC,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAC3B,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAC3B,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,GACvC,CACH,CAAC,CACG,CACU,CACpB,CAAA;AACH,CAAC,CAAA;AAzCY,QAAA,cAAc,kBAyC1B;AAED,MAAM,IAAI,GAAG,2BAAM,CAAC,EAAE,CAAA;;;;;CAKrB,CAAA"}
1
+ {"version":3,"file":"SuggestionList.js","sourceRoot":"","sources":["../../../../../src/components/track-changes/suggestion-list/SuggestionList.tsx"],"names":[],"mappings":";;;;;;AAYA,kDAAyB;AACzB,0EAAsC;AAEtC,0CAAyC;AACzC,6DAAyD;AACzD,6CAAyC;AAclC,MAAM,cAAc,GAAkC,CAAC,EAC5D,OAAO,EACP,WAAW,EACX,KAAK,EACL,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,QAAQ,GACT,EAAE,EAAE;IACH,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC,GAAG,IAAA,gBAAQ,EAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACjD,eAAe,EAAE,KAAK,CAAC,eAAe;KACvC,CAAC,CAAC,CAAA;IAEH,MAAM,aAAa,GAAG,CAAC,CAAa,EAAE,CAAa,EAAE,EAAE,CACrD,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAA;IAEzD,MAAM,gBAAgB,GAAG,CAAC,CAAa,EAAE,CAAa,EAAE,EAAE,CACxD,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAEvB,MAAM,aAAa,GAAG,OAAO;SAC1B,KAAK,EAAE;SACP,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAA;IAE7D,OAAO,CACL,8BAAC,mCAAgB,IACf,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EACjE,UAAU,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,EACtD,KAAK,EAAE,IAAI;QAEX,8BAAC,IAAI,eAAS,kBAAkB,kBAAe,IAAI,IAChD,aAAa,CAAC,GAAG,CAAC,CAAC,CAAa,EAAE,EAAE,CAAC,CACpC,8BAAC,uBAAU,IACT,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EACZ,WAAW,EAAE,CAAC,EACd,UAAU,EAAE,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EACnC,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,eAAe,IAAI,QAAQ,CAAC,CAAC,CAAC,EAC/C,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,eAAe,IAAI,QAAQ,CAAC,CAAC,CAAC,EAC/C,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,GACvC,CACH,CAAC,CACG,CACU,CACpB,CAAA;AACH,CAAC,CAAA;AA7CY,QAAA,cAAc,kBA6C1B;AAED,MAAM,IAAI,GAAG,2BAAM,CAAC,EAAE,CAAA;;;;;CAKrB,CAAA"}
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ /*!
3
+ * The contents of this file are subject to the Common Public Attribution License Version 1.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at https://mpapp-public.gitlab.io/manuscripts-frontend/LICENSE. The License is based on the Mozilla Public License Version 1.1 but Sections 14 and 15 have been added to cover use of software over a computer network and provide for limited attribution for the Original Developer. In addition, Exhibit A has been modified to be consistent with Exhibit B.
4
+ *
5
+ * Software distributed under the License is distributed on an “AS IS” basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.
6
+ *
7
+ * The Original Code is manuscripts-frontend.
8
+ *
9
+ * The Original Developer is the Initial Developer. The Initial Developer of the Original Code is Atypon Systems LLC.
10
+ *
11
+ * All portions of the code written by Atypon Systems LLC are Copyright (c) 2025 Atypon Systems LLC. All Rights Reserved.
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.useCompareDocuments = void 0;
15
+ const react_1 = require("react");
16
+ const compare_documents_1 = require("../lib/comparison/compare-documents");
17
+ const useCompareDocuments = ({ originalId, comparisonId, getSnapshot, }) => {
18
+ const [comparedDoc, setComparedDoc] = (0, react_1.useState)(null);
19
+ const [isLoading, setIsLoading] = (0, react_1.useState)(false);
20
+ const [error, setError] = (0, react_1.useState)(null);
21
+ const isComparingMode = Boolean(originalId && comparisonId);
22
+ (0, react_1.useEffect)(() => {
23
+ const fetchAndCompareDocuments = async () => {
24
+ if (!originalId || !comparisonId) {
25
+ setComparedDoc(null);
26
+ setError(null);
27
+ return;
28
+ }
29
+ setIsLoading(true);
30
+ setError(null);
31
+ try {
32
+ const [originalSnapshot, comparisonSnapshot] = await Promise.all([
33
+ getSnapshot(originalId),
34
+ getSnapshot(comparisonId),
35
+ ]);
36
+ if (!originalSnapshot || !comparisonSnapshot) {
37
+ throw new Error('Failed to fetch one or both snapshots');
38
+ }
39
+ const comparedDocument = (0, compare_documents_1.compareDocuments)(originalSnapshot, comparisonSnapshot);
40
+ setComparedDoc(comparedDocument);
41
+ }
42
+ catch (err) {
43
+ console.error('Error comparing documents:', err);
44
+ setError(err instanceof Error ? err.message : 'Unknown error occurred');
45
+ setComparedDoc(null);
46
+ }
47
+ finally {
48
+ setIsLoading(false);
49
+ }
50
+ };
51
+ fetchAndCompareDocuments();
52
+ }, [originalId, comparisonId, getSnapshot]);
53
+ // Reset state when exiting comparison mode
54
+ (0, react_1.useEffect)(() => {
55
+ if (!isComparingMode) {
56
+ setComparedDoc(null);
57
+ setError(null);
58
+ setIsLoading(false);
59
+ }
60
+ }, [isComparingMode]);
61
+ return {
62
+ comparedDoc,
63
+ isComparingMode,
64
+ isLoading,
65
+ error,
66
+ };
67
+ };
68
+ exports.useCompareDocuments = useCompareDocuments;
69
+ //# sourceMappingURL=use-compare-documents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-compare-documents.js","sourceRoot":"","sources":["../../../src/hooks/use-compare-documents.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAGH,iCAA2C;AAE3C,2EAAsE;AAS/D,MAAM,mBAAmB,GAAG,CAAC,EAClC,UAAU,EACV,YAAY,EACZ,WAAW,GACc,EAAE,EAAE;IAC7B,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,IAAA,gBAAQ,EAAwB,IAAI,CAAC,CAAA;IAC3E,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAA;IACjD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAgB,IAAI,CAAC,CAAA;IAEvD,MAAM,eAAe,GAAG,OAAO,CAAC,UAAU,IAAI,YAAY,CAAC,CAAA;IAE3D,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,MAAM,wBAAwB,GAAG,KAAK,IAAI,EAAE;YAC1C,IAAI,CAAC,UAAU,IAAI,CAAC,YAAY,EAAE;gBAChC,cAAc,CAAC,IAAI,CAAC,CAAA;gBACpB,QAAQ,CAAC,IAAI,CAAC,CAAA;gBACd,OAAM;aACP;YAED,YAAY,CAAC,IAAI,CAAC,CAAA;YAClB,QAAQ,CAAC,IAAI,CAAC,CAAA;YAEd,IAAI;gBACF,MAAM,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;oBAC/D,WAAW,CAAC,UAAU,CAAC;oBACvB,WAAW,CAAC,YAAY,CAAC;iBAC1B,CAAC,CAAA;gBAEF,IAAI,CAAC,gBAAgB,IAAI,CAAC,kBAAkB,EAAE;oBAC5C,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAA;iBACzD;gBAED,MAAM,gBAAgB,GAAG,IAAA,oCAAgB,EACvC,gBAAgB,EAChB,kBAAkB,CACnB,CAAA;gBACD,cAAc,CAAC,gBAAgB,CAAC,CAAA;aACjC;YAAC,OAAO,GAAG,EAAE;gBACZ,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAA;gBAChD,QAAQ,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAA;gBACvE,cAAc,CAAC,IAAI,CAAC,CAAA;aACrB;oBAAS;gBACR,YAAY,CAAC,KAAK,CAAC,CAAA;aACpB;QACH,CAAC,CAAA;QAED,wBAAwB,EAAE,CAAA;IAC5B,CAAC,EAAE,CAAC,UAAU,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC,CAAA;IAE3C,2CAA2C;IAC3C,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,CAAC,eAAe,EAAE;YACpB,cAAc,CAAC,IAAI,CAAC,CAAA;YACpB,QAAQ,CAAC,IAAI,CAAC,CAAA;YACd,YAAY,CAAC,KAAK,CAAC,CAAA;SACpB;IACH,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAA;IAErB,OAAO;QACL,WAAW;QACX,eAAe;QACf,SAAS;QACT,KAAK;KACN,CAAA;AACH,CAAC,CAAA;AAhEY,QAAA,mBAAmB,uBAgE/B"}
@@ -10,7 +10,7 @@ exports.useCreateEditor = void 0;
10
10
  *
11
11
  * The Original Developer is the Initial Developer. The Initial Developer of the Original Code is Atypon Systems LLC.
12
12
  *
13
- * All portions of the code written by Atypon Systems LLC are Copyright (c) 2019 Atypon Systems LLC. All Rights Reserved.
13
+ * All portions of the code written by Atypon Systems LLC are Copyright (c) 2025 Atypon Systems LLC. All Rights Reserved.
14
14
  */
15
15
  const body_editor_1 = require("@manuscripts/body-editor");
16
16
  const style_guide_1 = require("@manuscripts/style-guide");
@@ -21,9 +21,10 @@ const StepsExchanger_1 = require("../api/StepsExchanger");
21
21
  const config_1 = require("../config");
22
22
  const store_1 = require("../store");
23
23
  const theme_1 = require("../theme/theme");
24
+ const use_compare_documents_1 = require("./use-compare-documents");
24
25
  const use_inspector_tabs_context_1 = require("./use-inspector-tabs-context");
25
26
  const useCreateEditor = () => {
26
- const [{ doc, initialDocVersion, projectID, manuscriptID, user, fileManagement, style, locale, sectionCategories, isViewingMode, }, dispatch, getState,] = (0, store_1.useStore)((store) => ({
27
+ const [{ doc, initialDocVersion, projectID, manuscriptID, user, fileManagement, style, locale, sectionCategories, isViewingMode, getSnapshot, }, dispatch, getState,] = (0, store_1.useStore)((store) => ({
27
28
  doc: store.doc,
28
29
  initialDocVersion: store.initialDocVersion,
29
30
  projectID: store.projectID,
@@ -34,22 +35,36 @@ const useCreateEditor = () => {
34
35
  locale: store.cslLocale,
35
36
  sectionCategories: store.sectionCategories,
36
37
  isViewingMode: store.isViewingMode,
38
+ getSnapshot: store.getSnapshot,
37
39
  }));
38
40
  const api = (0, Api_1.useApi)();
41
+ const params = (0, react_router_dom_1.useParams)();
42
+ const { comparedDoc, isComparingMode } = (0, use_compare_documents_1.useCompareDocuments)({
43
+ originalId: params.originalId,
44
+ comparisonId: params.comparisonId,
45
+ getSnapshot,
46
+ });
47
+ (0, react_1.useEffect)(() => {
48
+ dispatch({ isComparingMode });
49
+ }, [isComparingMode, dispatch]);
39
50
  const updateVersion = (v) => dispatch({ initialDocVersion: v });
40
- const stepsExchanger = (0, react_1.useMemo)(() => new StepsExchanger_1.StepsExchanger(projectID, manuscriptID, initialDocVersion, api, updateVersion),
51
+ const stepsExchanger = (0, react_1.useMemo)(() => isComparingMode
52
+ ? undefined
53
+ : new StepsExchanger_1.StepsExchanger(projectID, manuscriptID, initialDocVersion, api, updateVersion),
41
54
  // eslint-disable-next-line react-hooks/exhaustive-deps
42
- [projectID, manuscriptID, api]);
55
+ [projectID, manuscriptID, api, isComparingMode]);
43
56
  (0, react_1.useEffect)(() => {
44
- stepsExchanger.isThrottling.onChange((value) => {
57
+ if (stepsExchanger) {
58
+ stepsExchanger.isThrottling.onChange((value) => {
59
+ dispatch({
60
+ preventUnload: value,
61
+ });
62
+ });
45
63
  dispatch({
46
- preventUnload: value,
64
+ beforeUnload: () => stepsExchanger.flush(),
47
65
  });
48
- });
49
- dispatch({
50
- beforeUnload: () => stepsExchanger.flush(),
51
- });
52
- return () => stepsExchanger.stop();
66
+ return () => stepsExchanger.stop();
67
+ }
53
68
  }, [dispatch, stepsExchanger]);
54
69
  const getCapabilities = (0, react_1.useMemo)(() => (project, user, permittedActions) => (0, style_guide_1.getCapabilities)(project, user, undefined, permittedActions, isViewingMode), [isViewingMode]);
55
70
  const config = (0, config_1.getConfig)();
@@ -61,7 +76,7 @@ const useCreateEditor = () => {
61
76
  spellcheck: 'true',
62
77
  tabindex: '2',
63
78
  },
64
- doc,
79
+ doc: comparedDoc || doc,
65
80
  userID: user._id,
66
81
  debug: config.environment === 'development',
67
82
  // @TODO - move primaryLanguageCode to be an attribute on ManuscriptNode
@@ -82,10 +97,12 @@ const useCreateEditor = () => {
82
97
  return getState().files;
83
98
  },
84
99
  fileManagement: fileManagement,
85
- collabProvider: stepsExchanger,
100
+ collabProvider: isComparingMode ? undefined : stepsExchanger,
86
101
  sectionCategories: sectionCategories,
87
102
  navigate: (0, react_router_dom_1.useNavigate)(),
88
103
  location: (0, react_router_dom_1.useLocation)(),
104
+ isComparingMode,
105
+ submissionId: params.id,
89
106
  lockBody: config.features.lockBody,
90
107
  isViewingMode,
91
108
  };
@@ -1 +1 @@
1
- {"version":3,"file":"use-create-editor.js","sourceRoot":"","sources":["../../../src/hooks/use-create-editor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-create-editor.js","sourceRoot":"","sources":["../../../src/hooks/use-create-editor.ts"],"names":[],"mappings":"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"}
package/dist/cjs/index.js CHANGED
@@ -8,7 +8,7 @@
8
8
  *
9
9
  * The Original Developer is the Initial Developer. The Initial Developer of the Original Code is Atypon Systems LLC.
10
10
  *
11
- * All portions of the code written by Atypon Systems LLC are Copyright (c) 2019 Atypon Systems LLC. All Rights Reserved.
11
+ * All portions of the code written by Atypon Systems LLC are Copyright (c) 2025 Atypon Systems LLC. All Rights Reserved.
12
12
  */
13
13
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
14
  if (k2 === undefined) k2 = k;
@@ -52,12 +52,12 @@ Object.defineProperty(exports, "ProjectRole", { enumerable: true, get: function
52
52
  var roles_2 = require("./lib/roles");
53
53
  Object.defineProperty(exports, "getUserRole", { enumerable: true, get: function () { return roles_2.getUserRole; } });
54
54
  __exportStar(require("./hooks/external/use-manuscripts-state"), exports);
55
- const ManuscriptEditor = ({ fileManagement, files, manuscriptID, projectID, permittedActions, getAuthToken, config, observer, }) => {
55
+ const ManuscriptEditor = ({ fileManagement, files, manuscriptID, projectID, permittedActions, getAuthToken, config, observer, submissionID, }) => {
56
56
  (0, config_1.setConfig)(config);
57
57
  return (react_1.default.createElement(react_1.default.Fragment, null,
58
58
  react_1.default.createElement(ThemeProvider_1.ThemeProvider, null,
59
59
  react_1.default.createElement(react_1.Suspense, { fallback: react_1.default.createElement(Loading_1.LoadingPage, { className: 'loader' }, "Loading...") },
60
- react_1.default.createElement(Main_1.default, { fileManagement: fileManagement, files: files, manuscriptID: manuscriptID, projectID: projectID, permittedActions: permittedActions, getAuthToken: getAuthToken, observer: observer }))),
60
+ react_1.default.createElement(Main_1.default, { fileManagement: fileManagement, files: files, manuscriptID: manuscriptID, projectID: projectID, permittedActions: permittedActions, getAuthToken: getAuthToken, observer: observer, submissionID: submissionID }))),
61
61
  react_1.default.createElement("div", { id: "menu" }),
62
62
  react_1.default.createElement("div", { id: "notifications" }),
63
63
  react_1.default.createElement("div", { id: "size" })));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uBAAoB;AAEpB,+CAAuC;AAEvC,kDAAkD;AAClD,qCAA6D;AAE7D,kDAAyB;AACzB,yDAAqD;AACrD,qCAAyC;AAAhC,oGAAA,WAAW,OAAA;AAEpB,qCAAyC;AAAhC,oGAAA,WAAW,OAAA;AACpB,yEAAsD;AAGtD,MAAM,gBAAgB,GAElB,CAAC,EACH,cAAc,EACd,KAAK,EACL,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,YAAY,EACZ,MAAM,EACN,QAAQ,GACT,EAAE,EAAE;IACH,IAAA,kBAAS,EAAC,MAAM,CAAC,CAAA;IACjB,OAAO,CACL;QACE,8BAAC,6BAAa;YACZ,8BAAC,gBAAQ,IACP,QAAQ,EAAE,8BAAC,qBAAW,IAAC,SAAS,EAAE,QAAQ,iBAA0B;gBAEpE,8BAAC,cAAI,IACH,cAAc,EAAE,cAAc,EAC9B,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,gBAAgB,EAAE,gBAAgB,EAClC,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,QAAQ,GAClB,CACO,CACG;QAChB,uCAAK,EAAE,EAAC,MAAM,GAAO;QACrB,uCAAK,EAAE,EAAC,eAAe,GAAO;QAC9B,uCAAK,EAAE,EAAC,MAAM,GAAO,CACpB,CACJ,CAAA;AACH,CAAC,CAAA;AAEY,QAAA,mBAAmB,GAAG,eAAK,CAAC,IAAI,CAC3C,gBAAgB,EAChB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;IACb,mHAAmH;IACnH,mIAAmI;IACnI,OAAO,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAA,CAAC,sCAAsC;AACtF,CAAC,CACF,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uBAAoB;AAEpB,+CAAuC;AAEvC,kDAAkD;AAClD,qCAA6D;AAE7D,kDAAyB;AACzB,yDAAqD;AACrD,qCAAyC;AAAhC,oGAAA,WAAW,OAAA;AAEpB,qCAAyC;AAAhC,oGAAA,WAAW,OAAA;AACpB,yEAAsD;AAGtD,MAAM,gBAAgB,GAElB,CAAC,EACH,cAAc,EACd,KAAK,EACL,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,YAAY,EACZ,MAAM,EACN,QAAQ,EACR,YAAY,GACb,EAAE,EAAE;IACH,IAAA,kBAAS,EAAC,MAAM,CAAC,CAAA;IACjB,OAAO,CACL;QACE,8BAAC,6BAAa;YACZ,8BAAC,gBAAQ,IACP,QAAQ,EAAE,8BAAC,qBAAW,IAAC,SAAS,EAAE,QAAQ,iBAA0B;gBAEpE,8BAAC,cAAI,IACH,cAAc,EAAE,cAAc,EAC9B,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,gBAAgB,EAAE,gBAAgB,EAClC,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,YAAY,GAC1B,CACO,CACG;QAChB,uCAAK,EAAE,EAAC,MAAM,GAAO;QACrB,uCAAK,EAAE,EAAC,eAAe,GAAO;QAC9B,uCAAK,EAAE,EAAC,MAAM,GAAO,CACpB,CACJ,CAAA;AACH,CAAC,CAAA;AAEY,QAAA,mBAAmB,GAAG,eAAK,CAAC,IAAI,CAC3C,gBAAgB,EAChB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;IACb,mHAAmH;IACnH,mIAAmI;IACnI,OAAO,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAA,CAAC,sCAAsC;AACtF,CAAC,CACF,CAAA"}
@@ -56,6 +56,7 @@ const handleNodeChange = (suggestion, state) => {
56
56
  const { node, dataTracked } = suggestion;
57
57
  const operation = (0, exports.changeOperationAlias)(dataTracked.operation);
58
58
  const nodeName = transform_1.nodeNames.get(node.type) || node.type.name;
59
+ const parentNode = (0, utils_1.getParentNode)(state, suggestion.from);
59
60
  switch (node.type) {
60
61
  case transform_1.schema.nodes.inline_footnote: {
61
62
  return {
@@ -71,6 +72,15 @@ const handleNodeChange = (suggestion, state) => {
71
72
  content: nodeContentRetriever.getFootnoteContent(state, node),
72
73
  };
73
74
  }
75
+ case transform_1.schema.nodes.figcaption: {
76
+ return {
77
+ operation,
78
+ nodeName: parentNode?.type === transform_1.schema.nodes.box_element
79
+ ? 'label'
80
+ : 'figcaption',
81
+ content: nodeContentRetriever.getFootnoteContent(state, node),
82
+ };
83
+ }
74
84
  case transform_1.schema.nodes.contributor: {
75
85
  return {
76
86
  operation,
@@ -110,7 +120,6 @@ const handleNodeChange = (suggestion, state) => {
110
120
  content: nodeContentRetriever.getFigureLabel(node),
111
121
  };
112
122
  case transform_1.schema.nodes.figure: {
113
- const parentNode = (0, utils_1.getParentNode)(state, suggestion.from);
114
123
  const nodeName = transform_1.nodeNames.get(parentNode?.type) || parentNode?.type.name;
115
124
  return {
116
125
  operation,
@@ -1 +1 @@
1
- {"version":3,"file":"change-handlers.js","sourceRoot":"","sources":["../../../src/lib/change-handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"change-handlers.js","sourceRoot":"","sources":["../../../src/lib/change-handlers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ /*!
3
+ * The contents of this file are subject to the Common Public Attribution License Version 1.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at https://mpapp-public.gitlab.io/manuscripts-frontend/LICENSE. The License is based on the Mozilla Public License Version 1.1 but Sections 14 and 15 have been added to cover use of software over a computer network and provide for limited attribution for the Original Developer. In addition, Exhibit A has been modified to be consistent with Exhibit B.
4
+ *
5
+ * Software distributed under the License is distributed on an “AS IS” basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.
6
+ *
7
+ * The Original Code is manuscripts-frontend.
8
+ *
9
+ * The Original Developer is the Initial Developer. The Initial Developer of the Original Code is Atypon Systems LLC.
10
+ *
11
+ * All portions of the code written by Atypon Systems LLC are Copyright (c) 2025 Atypon Systems LLC. All Rights Reserved.
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.compareSingleNodeAttrs = exports.compareDocuments = void 0;
15
+ const transform_1 = require("@manuscripts/transform");
16
+ const lodash_1 = require("lodash");
17
+ const create_dataTracked_attrs_1 = require("./create-dataTracked-attrs");
18
+ const distribute_nodes_1 = require("./distribute-nodes");
19
+ const rebuild_nodes_tree_1 = require("./rebuild-nodes-tree");
20
+ // The entry point for the comparison mode, which is used to compare two ManuscriptNode trees
21
+ // It distributes the nodes, rebuilds the nodes tree and then creates a new ManuscriptNode tree
22
+ const compareDocuments = (originalSnapshot, comparisonSnapshot) => {
23
+ const originalDocument = transform_1.schema.nodeFromJSON(originalSnapshot.snapshot);
24
+ const comparisonDocument = transform_1.schema.nodeFromJSON(comparisonSnapshot.snapshot);
25
+ const distributedNodes = (0, distribute_nodes_1.distributeNodesForComparison)(originalDocument, comparisonDocument);
26
+ const distributedNodesArray = [];
27
+ distributedNodes.forEach((_, key) => {
28
+ distributedNodesArray.push((0, rebuild_nodes_tree_1.rebuildDocNodeTree)(key, distributedNodes));
29
+ });
30
+ const manuscript = transform_1.schema.nodes.manuscript.create(comparisonDocument.attrs, distributedNodesArray);
31
+ return manuscript;
32
+ };
33
+ exports.compareDocuments = compareDocuments;
34
+ // Compares the attributes of two nodes and returns a new node with the updated attributes
35
+ const compareSingleNodeAttrs = (originalNode, comparisonNode, nodeType, rebuiltChildren) => {
36
+ const originalAttrs = originalNode?.attrs || {};
37
+ const comparisonAttrs = comparisonNode?.attrs || {};
38
+ if (!(0, lodash_1.isEqual)(originalAttrs, comparisonAttrs)) {
39
+ return nodeType.create({
40
+ ...comparisonAttrs,
41
+ dataTracked: [(0, create_dataTracked_attrs_1.createComparisonSetAttrsDataTracked)('', originalAttrs)],
42
+ }, rebuiltChildren.length > 0
43
+ ? rebuiltChildren
44
+ : comparisonNode?.content || null);
45
+ }
46
+ else {
47
+ return nodeType.create(comparisonAttrs, rebuiltChildren.length > 0
48
+ ? rebuiltChildren
49
+ : comparisonNode?.content || null);
50
+ }
51
+ };
52
+ exports.compareSingleNodeAttrs = compareSingleNodeAttrs;
53
+ //# sourceMappingURL=compare-documents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compare-documents.js","sourceRoot":"","sources":["../../../../src/lib/comparison/compare-documents.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAEH,sDAA+D;AAC/D,mCAAgC;AAIhC,yEAAgF;AAChF,yDAAiE;AACjE,6DAAyD;AAEzD,6FAA6F;AAC7F,+FAA+F;AACxF,MAAM,gBAAgB,GAAG,CAC9B,gBAAoC,EACpC,kBAAsC,EACtC,EAAE;IACF,MAAM,gBAAgB,GAAG,kBAAM,CAAC,YAAY,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAA;IACvE,MAAM,kBAAkB,GAAG,kBAAM,CAAC,YAAY,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAA;IAE3E,MAAM,gBAAgB,GAAG,IAAA,+CAA4B,EACnD,gBAAgB,EAChB,kBAAkB,CACnB,CAAA;IACD,MAAM,qBAAqB,GAAqB,EAAE,CAAA;IAClD,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;QAClC,qBAAqB,CAAC,IAAI,CAAC,IAAA,uCAAkB,EAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC,CAAA;IACvE,CAAC,CAAC,CAAA;IAEF,MAAM,UAAU,GAAG,kBAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAC/C,kBAAkB,CAAC,KAAK,EACxB,qBAAqB,CACtB,CAAA;IAED,OAAO,UAAU,CAAA;AACnB,CAAC,CAAA;AAtBY,QAAA,gBAAgB,oBAsB5B;AAED,0FAA0F;AACnF,MAAM,sBAAsB,GAAG,CACpC,YAA4B,EAC5B,cAA8B,EAC9B,QAAkB,EAClB,eAAiC,EACjB,EAAE;IAClB,MAAM,aAAa,GAAG,YAAY,EAAE,KAAK,IAAI,EAAE,CAAA;IAC/C,MAAM,eAAe,GAAG,cAAc,EAAE,KAAK,IAAI,EAAE,CAAA;IACnD,IAAI,CAAC,IAAA,gBAAO,EAAC,aAAa,EAAE,eAAe,CAAC,EAAE;QAC5C,OAAO,QAAQ,CAAC,MAAM,CACpB;YACE,GAAG,eAAe;YAClB,WAAW,EAAE,CAAC,IAAA,8DAAmC,EAAC,EAAE,EAAE,aAAa,CAAC,CAAC;SACtE,EACD,eAAe,CAAC,MAAM,GAAG,CAAC;YACxB,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,cAAc,EAAE,OAAO,IAAI,IAAI,CACpC,CAAA;KACF;SAAM;QACL,OAAO,QAAQ,CAAC,MAAM,CACpB,eAAe,EACf,eAAe,CAAC,MAAM,GAAG,CAAC;YACxB,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,cAAc,EAAE,OAAO,IAAI,IAAI,CACpC,CAAA;KACF;AACH,CAAC,CAAA;AA1BY,QAAA,sBAAsB,0BA0BlC"}