@manuscripts/transform 2.1.3 → 2.1.5

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 (61) hide show
  1. package/dist/cjs/index.js +0 -1
  2. package/dist/cjs/jats/importer/jats-body-dom-parser.js +29 -88
  3. package/dist/cjs/jats/importer/jats-body-transformations.js +7 -16
  4. package/dist/cjs/jats/importer/jats-parser-utils.js +6 -0
  5. package/dist/cjs/jats/jats-exporter.js +57 -41
  6. package/dist/cjs/schema/index.js +3 -6
  7. package/dist/cjs/schema/nodes/equation.js +12 -14
  8. package/dist/cjs/schema/nodes/equation_element.js +4 -5
  9. package/dist/cjs/schema/nodes/inline_equation.js +13 -15
  10. package/dist/cjs/schema/nodes/table.js +52 -30
  11. package/dist/cjs/schema/nodes/table_element.js +1 -1
  12. package/dist/cjs/transformer/builders.js +1 -8
  13. package/dist/cjs/transformer/decode.js +30 -24
  14. package/dist/cjs/transformer/encode.js +7 -26
  15. package/dist/cjs/transformer/node-types.js +0 -1
  16. package/dist/cjs/transformer/object-types.js +0 -1
  17. package/dist/es/index.js +0 -1
  18. package/dist/es/jats/importer/jats-body-dom-parser.js +30 -89
  19. package/dist/es/jats/importer/jats-body-transformations.js +7 -16
  20. package/dist/es/jats/importer/jats-parser-utils.js +6 -0
  21. package/dist/es/jats/jats-exporter.js +57 -41
  22. package/dist/es/schema/index.js +2 -5
  23. package/dist/es/schema/nodes/equation.js +12 -14
  24. package/dist/es/schema/nodes/equation_element.js +4 -5
  25. package/dist/es/schema/nodes/inline_equation.js +13 -15
  26. package/dist/es/schema/nodes/table.js +51 -29
  27. package/dist/es/schema/nodes/table_element.js +1 -1
  28. package/dist/es/transformer/builders.js +0 -6
  29. package/dist/es/transformer/decode.js +30 -24
  30. package/dist/es/transformer/encode.js +7 -26
  31. package/dist/es/transformer/node-types.js +0 -1
  32. package/dist/es/transformer/object-types.js +0 -1
  33. package/dist/types/index.d.ts +0 -1
  34. package/dist/types/jats/jats-exporter.d.ts +1 -0
  35. package/dist/types/schema/index.d.ts +0 -2
  36. package/dist/types/schema/nodes/equation.d.ts +3 -4
  37. package/dist/types/schema/nodes/equation_element.d.ts +1 -2
  38. package/dist/types/schema/nodes/inline_equation.d.ts +4 -3
  39. package/dist/types/schema/nodes/table.d.ts +5 -12
  40. package/dist/types/schema/types.d.ts +1 -1
  41. package/dist/types/transformer/builders.d.ts +1 -2
  42. package/dist/types/transformer/decode.d.ts +1 -0
  43. package/package.json +5 -5
  44. package/dist/cjs/mathjax/index.js +0 -41
  45. package/dist/cjs/mathjax/mathjax-packages.js +0 -20
  46. package/dist/cjs/mathjax/mathml-to-svg.js +0 -70
  47. package/dist/cjs/mathjax/tex-to-mathml.js +0 -49
  48. package/dist/cjs/mathjax/tex-to-svg.js +0 -59
  49. package/dist/cjs/schema/nodes/table_row.js +0 -123
  50. package/dist/es/mathjax/index.js +0 -12
  51. package/dist/es/mathjax/mathjax-packages.js +0 -17
  52. package/dist/es/mathjax/mathml-to-svg.js +0 -66
  53. package/dist/es/mathjax/tex-to-mathml.js +0 -45
  54. package/dist/es/mathjax/tex-to-svg.js +0 -55
  55. package/dist/es/schema/nodes/table_row.js +0 -120
  56. package/dist/types/mathjax/index.d.ts +0 -3
  57. package/dist/types/mathjax/mathjax-packages.d.ts +0 -16
  58. package/dist/types/mathjax/mathml-to-svg.d.ts +0 -17
  59. package/dist/types/mathjax/tex-to-mathml.d.ts +0 -17
  60. package/dist/types/mathjax/tex-to-svg.d.ts +0 -17
  61. package/dist/types/schema/nodes/table_row.d.ts +0 -41
package/dist/cjs/index.js CHANGED
@@ -18,7 +18,6 @@ exports.isSectionLabelNode = void 0;
18
18
  __exportStar(require("./lib/section-group-type"), exports);
19
19
  __exportStar(require("./lib/table-cell-styles"), exports);
20
20
  __exportStar(require("./lib/utils"), exports);
21
- __exportStar(require("./mathjax"), exports);
22
21
  __exportStar(require("./schema"), exports);
23
22
  __exportStar(require("./transformer"), exports);
24
23
  __exportStar(require("./jats"), exports);
@@ -21,8 +21,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
21
21
  exports.jatsBodyDOMParser = void 0;
22
22
  const mime_1 = __importDefault(require("mime"));
23
23
  const prosemirror_model_1 = require("prosemirror-model");
24
- const mathml_to_svg_1 = require("../../mathjax/mathml-to-svg");
25
- const tex_to_svg_1 = require("../../mathjax/tex-to-svg");
26
24
  const schema_1 = require("../../schema");
27
25
  const transformer_1 = require("../../transformer");
28
26
  const XLINK_NAMESPACE = 'http://www.w3.org/1999/xlink';
@@ -39,6 +37,28 @@ const chooseContentType = (graphicNode) => {
39
37
  }
40
38
  }
41
39
  };
40
+ const getEquationContent = (p) => {
41
+ var _a;
42
+ const element = p;
43
+ const id = element.getAttribute('id');
44
+ const container = (_a = element.querySelector('alternatives')) !== null && _a !== void 0 ? _a : element;
45
+ let contents = '';
46
+ let format = '';
47
+ for (const child of container.childNodes) {
48
+ const nodeName = child.nodeName.replace(/^[a-z]:/, '');
49
+ switch (nodeName) {
50
+ case 'tex-math':
51
+ contents = child.innerHTML;
52
+ format = 'tex';
53
+ break;
54
+ case 'mml:math':
55
+ contents = child.outerHTML;
56
+ format = 'mathml';
57
+ break;
58
+ }
59
+ }
60
+ return { id, format, contents };
61
+ };
42
62
  const marks = [
43
63
  {
44
64
  tag: 'bold',
@@ -147,91 +167,26 @@ const nodes = [
147
167
  tag: 'inline-formula',
148
168
  node: 'inline_equation',
149
169
  getAttrs: (node) => {
150
- var _a, _b, _c, _d, _e;
151
170
  const element = node;
152
- const attrs = {
153
- id: element.getAttribute('id'),
154
- MathMLRepresentation: '',
155
- SVGRepresentation: '',
156
- TeXRepresentation: '',
157
- };
158
- const container = (_a = element.querySelector('alternatives')) !== null && _a !== void 0 ? _a : element;
159
- for (const child of container.childNodes) {
160
- const nodeName = child.nodeName.replace(/^[a-z]:/, '');
161
- switch (nodeName) {
162
- case 'tex-math':
163
- attrs.TeXRepresentation = (_c = (_b = child.textContent) === null || _b === void 0 ? void 0 : _b.trim()) !== null && _c !== void 0 ? _c : '';
164
- if (attrs.TeXRepresentation) {
165
- attrs.SVGRepresentation =
166
- (_d = (0, tex_to_svg_1.convertTeXToSVG)(attrs.TeXRepresentation, true)) !== null && _d !== void 0 ? _d : '';
167
- }
168
- break;
169
- case 'mml:math':
170
- ;
171
- child.removeAttribute('id');
172
- attrs.MathMLRepresentation = transformer_1.xmlSerializer.serializeToString(child);
173
- if (attrs.MathMLRepresentation) {
174
- attrs.SVGRepresentation =
175
- (_e = (0, mathml_to_svg_1.convertMathMLToSVG)(attrs.MathMLRepresentation, true)) !== null && _e !== void 0 ? _e : '';
176
- }
177
- break;
178
- }
179
- }
180
- return attrs;
171
+ return getEquationContent(element);
181
172
  },
182
173
  },
183
174
  {
184
175
  tag: 'disp-formula',
185
176
  node: 'equation_element',
186
177
  getAttrs: (node) => {
178
+ var _a, _b;
187
179
  const element = node;
188
- const caption = element.querySelector('figcaption');
189
180
  return {
190
181
  id: element.getAttribute('id'),
191
- suppressCaption: !caption,
182
+ label: (_b = (_a = element.querySelector('label')) === null || _a === void 0 ? void 0 : _a.textContent) !== null && _b !== void 0 ? _b : '',
192
183
  };
193
184
  },
194
185
  getContent: (node, schema) => {
195
- var _a, _b, _c, _d, _e;
196
186
  const element = node;
197
- const attrs = {
198
- MathMLStringRepresentation: '',
199
- SVGStringRepresentation: '',
200
- TeXRepresentation: '',
201
- };
202
- const container = (_a = element.querySelector('alternatives')) !== null && _a !== void 0 ? _a : element;
203
- for (const child of container.childNodes) {
204
- const nodeName = child.nodeName.replace(/^[a-z]:/, '');
205
- switch (nodeName) {
206
- case 'tex-math':
207
- attrs.TeXRepresentation = (_c = (_b = child.textContent) === null || _b === void 0 ? void 0 : _b.trim()) !== null && _c !== void 0 ? _c : '';
208
- if (attrs.TeXRepresentation) {
209
- attrs.SVGStringRepresentation =
210
- (_d = (0, tex_to_svg_1.convertTeXToSVG)(attrs.TeXRepresentation, true)) !== null && _d !== void 0 ? _d : '';
211
- }
212
- break;
213
- case 'mml:math':
214
- ;
215
- child.removeAttribute('id');
216
- attrs.MathMLStringRepresentation =
217
- transformer_1.xmlSerializer.serializeToString(child);
218
- if (attrs.MathMLStringRepresentation) {
219
- attrs.SVGStringRepresentation =
220
- (_e = (0, mathml_to_svg_1.convertMathMLToSVG)(attrs.MathMLStringRepresentation, true)) !== null && _e !== void 0 ? _e : '';
221
- }
222
- break;
223
- }
224
- }
225
- const caption = element.querySelector('figcaption');
226
- const figcaption = schema.nodes.figcaption.create();
187
+ const attrs = getEquationContent(element);
227
188
  return prosemirror_model_1.Fragment.from([
228
- schema.nodes.equation.createChecked(attrs),
229
- caption
230
- ?
231
- exports.jatsBodyDOMParser.parse(caption, {
232
- topNode: figcaption,
233
- })
234
- : figcaption,
189
+ schema.nodes.equation.createChecked(Object.assign({}, attrs)),
235
190
  ]);
236
191
  },
237
192
  },
@@ -525,23 +480,9 @@ const nodes = [
525
480
  const element = node;
526
481
  return {
527
482
  id: element.getAttribute('id'),
528
- suppressFooter: !element.querySelector('table > tfoot > tr'),
529
- suppressHeader: !element.querySelector('table > thead > tr'),
530
483
  };
531
484
  },
532
485
  },
533
- {
534
- tag: 'tbody',
535
- skip: true,
536
- },
537
- {
538
- tag: 'tfoot',
539
- skip: true,
540
- },
541
- {
542
- tag: 'thead',
543
- skip: true,
544
- },
545
486
  {
546
487
  tag: 'title',
547
488
  node: 'section_title',
@@ -568,12 +509,12 @@ const nodes = [
568
509
  },
569
510
  {
570
511
  tag: 'th',
571
- node: 'table_cell',
512
+ node: 'table_header',
572
513
  getAttrs: (node) => {
573
514
  const element = node;
574
515
  const colspan = element.getAttribute('colspan');
575
516
  const rowspan = element.getAttribute('rowspan');
576
- return Object.assign(Object.assign(Object.assign({ celltype: 'th' }, (colspan && { colspan })), (rowspan && { rowspan })), { valign: element.getAttribute('valign'), align: element.getAttribute('align'), scope: element.getAttribute('scope'), style: element.getAttribute('style') });
517
+ return Object.assign(Object.assign(Object.assign({}, (colspan && { colspan })), (rowspan && { rowspan })), { valign: element.getAttribute('valign'), align: element.getAttribute('align'), scope: element.getAttribute('scope'), style: element.getAttribute('style') });
577
518
  },
578
519
  },
579
520
  {
@@ -239,8 +239,12 @@ exports.jatsBodyTransformations = {
239
239
  }
240
240
  },
241
241
  fixTables(body, createElement) {
242
- const tables = body.querySelectorAll('table-wrap > table');
243
- tables.forEach((table) => {
242
+ const tableWraps = body.querySelectorAll('table-wrap');
243
+ tableWraps.forEach((tableWrap) => {
244
+ const table = tableWrap.querySelector('table');
245
+ if (!table) {
246
+ return;
247
+ }
244
248
  const colgroup = table.querySelector('colgroup');
245
249
  const cols = table.querySelectorAll('col');
246
250
  if (!colgroup && table.firstChild && cols.length > 0) {
@@ -248,20 +252,7 @@ exports.jatsBodyTransformations = {
248
252
  for (const col of cols) {
249
253
  colgroup.appendChild(col);
250
254
  }
251
- table.insertBefore(colgroup, table.firstChild);
252
- }
253
- const tbody = table.querySelector('tbody');
254
- if (tbody) {
255
- const headerRow = table.querySelector('thead > tr');
256
- if (!headerRow) {
257
- const tr = createElement('tr');
258
- tbody.insertBefore(tr, tbody.firstElementChild);
259
- }
260
- const footerRow = table.querySelector('tfoot > tr');
261
- if (!footerRow) {
262
- const tr = createElement('tr');
263
- tbody.appendChild(tr);
264
- }
255
+ tableWrap.insertBefore(colgroup, table.nextSibling);
265
256
  }
266
257
  });
267
258
  },
@@ -16,6 +16,8 @@
16
16
  */
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.htmlFromJatsNode = exports.updateDocumentIDs = void 0;
19
+ const uuid_1 = require("uuid");
20
+ const schema_1 = require("../../schema");
19
21
  const transformer_1 = require("../../transformer");
20
22
  const updateDocumentIDs = (node, replacements) => {
21
23
  const warnings = [];
@@ -30,6 +32,10 @@ function recurseDoc(node, fn) {
30
32
  node.descendants((n) => fn(n));
31
33
  }
32
34
  const updateNodeID = (node, replacements, warnings) => {
35
+ if (node.type === schema_1.schema.nodes.inline_equation) {
36
+ node.attrs = Object.assign(Object.assign({}, node.attrs), { id: `InlineMathFragment:${(0, uuid_1.v4)()}` });
37
+ return;
38
+ }
33
39
  if (!('id' in node.attrs)) {
34
40
  return;
35
41
  }
@@ -95,7 +95,7 @@ const createDefaultIdGenerator = () => {
95
95
  const counter = (0, exports.createCounter)();
96
96
  return async (element) => {
97
97
  const value = String(counter.increment(element.nodeName));
98
- return `${element.nodeName}-${value}`;
98
+ return `${element.localName}-${value}`;
99
99
  };
100
100
  };
101
101
  const chooseRefType = (objectType) => {
@@ -164,6 +164,7 @@ class JATSExporter {
164
164
  };
165
165
  this.nodeFromJATS = (JATSFragment) => {
166
166
  JATSFragment = JATSFragment.trim();
167
+ JATSFragment = JATSFragment.replace(' ', ' ');
167
168
  if (!JATSFragment.length) {
168
169
  return null;
169
170
  }
@@ -686,22 +687,20 @@ class JATSExporter {
686
687
  },
687
688
  doc: () => '',
688
689
  equation: (node) => {
689
- const formula = this.document.createElement('disp-formula');
690
- formula.setAttribute('id', normalizeID(node.attrs.id));
691
- if (node.attrs.TeXRepresentation) {
692
- const math = this.document.createElement('tex-math');
693
- math.textContent = node.attrs.TeXRepresentation;
694
- formula.appendChild(math);
695
- }
696
- else if (node.attrs.MathMLStringRepresentation) {
697
- const math = this.nodeFromJATS(node.attrs.MathMLStringRepresentation);
698
- if (math) {
699
- formula.appendChild(math);
700
- }
701
- }
702
- return formula;
690
+ return this.createEquation(node);
691
+ },
692
+ inline_equation: (node) => {
693
+ const eqElement = this.document.createElement('inline-formula');
694
+ const equation = this.createEquation(node, true);
695
+ eqElement.append(equation);
696
+ return eqElement;
697
+ },
698
+ equation_element: (node) => {
699
+ const eqElement = this.document.createElement('disp-formula');
700
+ eqElement.setAttribute('id', normalizeID(node.attrs.id));
701
+ processChildNodes(eqElement, node, schema_1.schema.nodes.equation);
702
+ return eqElement;
703
703
  },
704
- equation_element: (node) => createFigureElement(node, 'fig', node.type.schema.nodes.equation, 'equation'),
705
704
  figcaption: (node) => {
706
705
  if (!node.textContent) {
707
706
  return '';
@@ -751,28 +750,6 @@ class JATSExporter {
751
750
  },
752
751
  hard_break: () => '',
753
752
  highlight_marker: () => '',
754
- inline_equation: (node) => {
755
- const formula = this.document.createElement('inline-formula');
756
- formula.setAttribute('id', normalizeID(node.attrs.id));
757
- if (node.attrs.TeXRepresentation) {
758
- const math = this.document.createElement('tex-math');
759
- math.textContent = node.attrs.TeXRepresentation;
760
- formula.appendChild(math);
761
- }
762
- else if (node.attrs.MathMLRepresentation) {
763
- const math = this.nodeFromJATS(node.attrs.MathMLRepresentation);
764
- if (math) {
765
- formula.appendChild(math);
766
- }
767
- }
768
- else if (node.attrs.SVGRepresentation) {
769
- const math = this.nodeFromJATS(node.attrs.SVGRepresentation);
770
- if (math) {
771
- formula.appendChild(math);
772
- }
773
- }
774
- return formula;
775
- },
776
753
  inline_footnote: (node) => {
777
754
  const xref = this.document.createElement('xref');
778
755
  xref.setAttribute('ref-type', 'fn');
@@ -873,9 +850,13 @@ class JATSExporter {
873
850
  element.setAttribute('position', 'anchor');
874
851
  return element;
875
852
  },
876
- table_body: () => ['tbody', 0],
877
853
  table_cell: (node) => [
878
- node.attrs.celltype,
854
+ 'td',
855
+ Object.assign(Object.assign({ valign: node.attrs.valign, align: node.attrs.align, scope: node.attrs.scope, style: node.attrs.style }, (node.attrs.rowspan > 1 && { rowspan: node.attrs.rowspan })), (node.attrs.colspan > 1 && { colspan: node.attrs.colspan })),
856
+ 0,
857
+ ],
858
+ table_header: (node) => [
859
+ 'th',
879
860
  Object.assign(Object.assign({ valign: node.attrs.valign, align: node.attrs.align, scope: node.attrs.scope, style: node.attrs.style }, (node.attrs.rowspan > 1 && { rowspan: node.attrs.rowspan })), (node.attrs.colspan > 1 && { colspan: node.attrs.colspan })),
880
861
  0,
881
862
  ],
@@ -956,6 +937,26 @@ class JATSExporter {
956
937
  element.appendChild(this.serializeNode(childNode));
957
938
  }
958
939
  };
940
+ const appendTable = (element, node) => {
941
+ const tableNode = findChildNodeOfType(node, node.type.schema.nodes.table);
942
+ const colGroupNode = findChildNodeOfType(node, node.type.schema.nodes.table_colgroup);
943
+ if (!tableNode) {
944
+ return;
945
+ }
946
+ const table = this.serializeNode(tableNode);
947
+ const tbodyElement = this.document.createElement('tbody');
948
+ while (table.firstChild) {
949
+ const child = table.firstChild;
950
+ table.removeChild(child);
951
+ tbodyElement.appendChild(child);
952
+ }
953
+ table.appendChild(tbodyElement);
954
+ if (colGroupNode) {
955
+ const colGroup = this.serializeNode(colGroupNode);
956
+ table.insertBefore(colGroup, table.firstChild);
957
+ }
958
+ element.appendChild(table);
959
+ };
959
960
  const createFigureElement = (node, nodeName, contentNodeType, figType) => {
960
961
  const element = createElement(node, nodeName);
961
962
  if (figType) {
@@ -976,7 +977,7 @@ class JATSExporter {
976
977
  const element = createElement(node, nodeName);
977
978
  appendLabels(element, node);
978
979
  appendChildNodeOfType(element, node, node.type.schema.nodes.figcaption);
979
- appendChildNodeOfType(element, node, node.type.schema.nodes.table);
980
+ appendTable(element, node);
980
981
  appendChildNodeOfType(element, node, node.type.schema.nodes.table_element_footer);
981
982
  if ((0, node_types_1.isExecutableNodeType)(node.type)) {
982
983
  processExecutableNode(node, element);
@@ -1589,6 +1590,21 @@ class JATSExporter {
1589
1590
  this.citationTexts.set(id, output);
1590
1591
  });
1591
1592
  }
1593
+ createEquation(node, isInline = false) {
1594
+ if (node.attrs.format === 'tex') {
1595
+ const texMath = this.document.createElement('tex-math');
1596
+ texMath.innerHTML = node.attrs.contents;
1597
+ return texMath;
1598
+ }
1599
+ else {
1600
+ const math = this.nodeFromJATS(node.attrs.contents);
1601
+ const mathml = math;
1602
+ if (!isInline) {
1603
+ mathml.setAttribute('id', normalizeID(node.attrs.id));
1604
+ }
1605
+ return mathml;
1606
+ }
1607
+ }
1592
1608
  buildKeywords(articleMeta) {
1593
1609
  const keywords = [...this.modelMap.values()].filter((model) => model.objectType === json_schema_1.ObjectTypes.Keyword);
1594
1610
  const keywordGroups = new Map();
@@ -87,7 +87,6 @@ const table_1 = require("./nodes/table");
87
87
  const table_col_1 = require("./nodes/table_col");
88
88
  const table_element_1 = require("./nodes/table_element");
89
89
  const table_element_footer_1 = require("./nodes/table_element_footer");
90
- const table_row_1 = require("./nodes/table_row");
91
90
  const text_1 = require("./nodes/text");
92
91
  const title_1 = require("./nodes/title");
93
92
  const toc_element_1 = require("./nodes/toc_element");
@@ -117,7 +116,6 @@ __exportStar(require("./nodes/footnotes_section"), exports);
117
116
  __exportStar(require("./nodes/graphical_abstract_section"), exports);
118
117
  __exportStar(require("./nodes/hard_break"), exports);
119
118
  __exportStar(require("./nodes/highlight_marker"), exports);
120
- __exportStar(require("./nodes/inline_equation"), exports);
121
119
  __exportStar(require("./nodes/inline_footnote"), exports);
122
120
  __exportStar(require("./nodes/keyword"), exports);
123
121
  __exportStar(require("./nodes/keywords_element"), exports);
@@ -137,7 +135,6 @@ __exportStar(require("./nodes/section_title"), exports);
137
135
  __exportStar(require("./nodes/table"), exports);
138
136
  __exportStar(require("./nodes/table_col"), exports);
139
137
  __exportStar(require("./nodes/table_element"), exports);
140
- __exportStar(require("./nodes/table_row"), exports);
141
138
  __exportStar(require("./nodes/text"), exports);
142
139
  __exportStar(require("./nodes/toc_element"), exports);
143
140
  __exportStar(require("./nodes/toc_section"), exports);
@@ -213,10 +210,9 @@ exports.schema = new prosemirror_model_1.Schema({
213
210
  section_title: section_title_1.sectionTitle,
214
211
  section_title_plain: section_title_1.sectionTitle,
215
212
  table: table_1.table,
216
- table_body: table_1.tableBody,
217
- table_cell: table_row_1.tableCell,
213
+ table_cell: table_1.tableCell,
218
214
  table_element: table_element_1.tableElement,
219
- table_row: table_row_1.tableRow,
215
+ table_row: table_1.tableRow,
220
216
  table_col: table_col_1.tableCol,
221
217
  table_colgroup: table_col_1.tableColGroup,
222
218
  text: text_1.text,
@@ -230,5 +226,6 @@ exports.schema = new prosemirror_model_1.Schema({
230
226
  contributors: contributors_1.contributors,
231
227
  supplements: supplements_1.supplements,
232
228
  supplement: supplement_1.supplement,
229
+ table_header: table_1.tableHeader,
233
230
  },
234
231
  });
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  /*!
3
- * © 2019 Atypon Systems LLC
3
+ * © 2023 Atypon Systems LLC
4
4
  *
5
5
  * Licensed under the Apache License, Version 2.0 (the "License");
6
6
  * you may not use this file except in compliance with the License.
@@ -20,9 +20,8 @@ const json_schema_1 = require("@manuscripts/json-schema");
20
20
  exports.equation = {
21
21
  attrs: {
22
22
  id: { default: '' },
23
- MathMLStringRepresentation: { default: '' },
24
- SVGStringRepresentation: { default: '' },
25
- TeXRepresentation: { default: '' },
23
+ contents: { default: '' },
24
+ format: { default: '' },
26
25
  dataTracked: { default: null },
27
26
  },
28
27
  group: 'block',
@@ -30,26 +29,25 @@ exports.equation = {
30
29
  {
31
30
  tag: `div.${json_schema_1.ObjectTypes.Equation}`,
32
31
  getAttrs: (p) => {
33
- const dom = p;
32
+ const htmlEl = p;
34
33
  return {
35
- id: dom.getAttribute('id'),
36
- MathMLStringRepresentation: dom.getAttribute('data-mathml-string-representation'),
37
- SVGStringRepresentation: dom.innerHTML,
38
- TeXRepresentation: dom.getAttribute('data-tex-representation'),
34
+ id: htmlEl.getAttribute('id'),
35
+ format: htmlEl.getAttribute('data-equation-format'),
36
+ contents: htmlEl.innerHTML,
39
37
  };
40
38
  },
41
39
  },
42
40
  ],
43
41
  toDOM: (node) => {
44
42
  const equationNode = node;
43
+ const { id, contents, format } = equationNode.attrs;
45
44
  const dom = document.createElement('div');
46
- dom.setAttribute('id', equationNode.attrs.id);
47
45
  dom.classList.add(json_schema_1.ObjectTypes.Equation);
48
- if (equationNode.attrs.MathMLStringRepresentation) {
49
- dom.setAttribute('data-mathml-string-representation', equationNode.attrs.MathMLStringRepresentation);
46
+ dom.setAttribute('id', id);
47
+ if (format) {
48
+ dom.setAttribute('data-equation-format', format);
50
49
  }
51
- dom.setAttribute('data-tex-representation', equationNode.attrs.TeXRepresentation);
52
- dom.innerHTML = equationNode.attrs.SVGStringRepresentation;
50
+ dom.innerHTML = contents;
53
51
  return dom;
54
52
  },
55
53
  };
@@ -17,11 +17,10 @@
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.equationElement = void 0;
19
19
  exports.equationElement = {
20
- content: '(equation | placeholder) figcaption',
20
+ content: '(equation | placeholder)',
21
21
  attrs: {
22
22
  id: { default: '' },
23
- suppressCaption: { default: true },
24
- suppressTitle: { default: undefined },
23
+ label: { default: '' },
25
24
  dataTracked: { default: null },
26
25
  comments: { default: null },
27
26
  },
@@ -29,7 +28,7 @@ exports.equationElement = {
29
28
  group: 'block element',
30
29
  parseDOM: [
31
30
  {
32
- tag: 'figure.equation',
31
+ tag: 'div.equation',
33
32
  getAttrs: (p) => {
34
33
  const dom = p;
35
34
  return {
@@ -41,7 +40,7 @@ exports.equationElement = {
41
40
  toDOM: (node) => {
42
41
  const equationElementNode = node;
43
42
  return [
44
- 'figure',
43
+ 'div',
45
44
  {
46
45
  class: 'equation',
47
46
  id: equationElementNode.attrs.id,
@@ -16,14 +16,13 @@
16
16
  */
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.inlineEquation = void 0;
19
- const json_schema_1 = require("@manuscripts/json-schema");
20
19
  exports.inlineEquation = {
21
20
  attrs: {
22
- id: { default: '' },
23
- MathMLRepresentation: { default: '' },
24
- SVGRepresentation: { default: '' },
25
- TeXRepresentation: { default: '' },
26
21
  dataTracked: { default: null },
22
+ comments: { default: null },
23
+ id: { default: '' },
24
+ contents: { default: '' },
25
+ format: { default: '' },
27
26
  },
28
27
  atom: true,
29
28
  inline: true,
@@ -31,28 +30,27 @@ exports.inlineEquation = {
31
30
  group: 'inline',
32
31
  parseDOM: [
33
32
  {
34
- tag: `span.${json_schema_1.ObjectTypes.InlineMathFragment}`,
33
+ tag: `span.MPInlineMathFragment`,
35
34
  getAttrs: (p) => {
36
35
  const dom = p;
37
36
  return {
37
+ format: dom.getAttribute('data-equation-format'),
38
38
  id: dom.getAttribute('id'),
39
- MathMLRepresentation: dom.getAttribute('data-mathml-representation') || '',
40
- SVGRepresentation: dom.innerHTML || '',
41
- TeXRepresentation: dom.getAttribute('data-tex-representation') || '',
39
+ contents: dom.innerHTML,
42
40
  };
43
41
  },
44
42
  },
45
43
  ],
46
44
  toDOM: (node) => {
47
45
  const inlineEquationNode = node;
46
+ const { id, contents, format } = inlineEquationNode.attrs;
48
47
  const dom = document.createElement('span');
49
- dom.classList.add(json_schema_1.ObjectTypes.InlineMathFragment);
50
- dom.setAttribute('id', inlineEquationNode.attrs.id);
51
- dom.setAttribute('data-tex-representation', inlineEquationNode.attrs.TeXRepresentation);
52
- if (inlineEquationNode.attrs.MathMLRepresentation) {
53
- dom.setAttribute('data-mathml-representation', inlineEquationNode.attrs.MathMLRepresentation);
48
+ dom.setAttribute('id', id);
49
+ dom.classList.add('MPInlineMathFragment');
50
+ if (format) {
51
+ dom.setAttribute('data-equation-format', format);
54
52
  }
55
- dom.innerHTML = inlineEquationNode.attrs.SVGRepresentation;
53
+ dom.innerHTML = contents;
56
54
  return dom;
57
55
  },
58
56
  };