js.documents 7.2.5 → 7.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/dist/codecs/read.cjs +1 -1
  2. package/dist/codecs/read.js +1 -1
  3. package/dist/convert/composition.cjs +1 -1
  4. package/dist/convert/composition.js +1 -1
  5. package/dist/edit/docx/content.cjs +2 -2
  6. package/dist/edit/docx/content.js +2 -2
  7. package/dist/edit/docx/editor.cjs +8 -1
  8. package/dist/edit/docx/editor.d.cts +3 -0
  9. package/dist/edit/docx/editor.d.ts +3 -0
  10. package/dist/edit/docx/editor.js +9 -2
  11. package/dist/edit/docx/run.cjs +1 -1
  12. package/dist/edit/docx/run.js +1 -1
  13. package/dist/edit/odg/editor.cjs +8 -1
  14. package/dist/edit/odg/editor.d.cts +3 -1
  15. package/dist/edit/odg/editor.d.ts +3 -1
  16. package/dist/edit/odg/editor.js +9 -2
  17. package/dist/edit/odg/scaffold.cjs +5 -4
  18. package/dist/edit/odg/scaffold.d.cts +2 -1
  19. package/dist/edit/odg/scaffold.d.ts +2 -1
  20. package/dist/edit/odg/scaffold.js +5 -5
  21. package/dist/edit/odp/editor.cjs +8 -1
  22. package/dist/edit/odp/editor.d.cts +3 -1
  23. package/dist/edit/odp/editor.d.ts +3 -1
  24. package/dist/edit/odp/editor.js +9 -2
  25. package/dist/edit/odp/scaffold.cjs +5 -4
  26. package/dist/edit/odp/scaffold.d.cts +2 -1
  27. package/dist/edit/odp/scaffold.d.ts +2 -1
  28. package/dist/edit/odp/scaffold.js +5 -5
  29. package/dist/edit/odp/shape.cjs +1 -1
  30. package/dist/edit/odp/shape.js +1 -1
  31. package/dist/edit/ods/editor.cjs +8 -1
  32. package/dist/edit/ods/editor.d.cts +3 -0
  33. package/dist/edit/ods/editor.d.ts +3 -0
  34. package/dist/edit/ods/editor.js +9 -2
  35. package/dist/edit/ods/scaffold.cjs +5 -4
  36. package/dist/edit/ods/scaffold.d.cts +2 -1
  37. package/dist/edit/ods/scaffold.d.ts +2 -1
  38. package/dist/edit/ods/scaffold.js +5 -5
  39. package/dist/edit/odt/editor.cjs +7 -0
  40. package/dist/edit/odt/editor.d.cts +3 -1
  41. package/dist/edit/odt/editor.d.ts +3 -1
  42. package/dist/edit/odt/editor.js +8 -1
  43. package/dist/edit/odt/scaffold.cjs +5 -4
  44. package/dist/edit/odt/scaffold.d.cts +2 -1
  45. package/dist/edit/odt/scaffold.d.ts +2 -1
  46. package/dist/edit/odt/scaffold.js +5 -5
  47. package/dist/edit/pptx/editor.cjs +10 -3
  48. package/dist/edit/pptx/editor.d.cts +3 -1
  49. package/dist/edit/pptx/editor.d.ts +3 -1
  50. package/dist/edit/pptx/editor.js +11 -4
  51. package/dist/edit/pptx/scaffold.cjs +1 -1
  52. package/dist/edit/pptx/scaffold.js +1 -1
  53. package/dist/edit/pptx/shape.cjs +1 -1
  54. package/dist/edit/pptx/shape.js +1 -1
  55. package/dist/edit/pptx/slide.cjs +2 -2
  56. package/dist/edit/pptx/slide.js +2 -2
  57. package/dist/index.cjs +1 -1
  58. package/dist/index.d.cts +2 -1
  59. package/dist/index.d.ts +2 -1
  60. package/dist/index.js +1 -1
  61. package/dist/metadata/core-patch.cjs +29 -0
  62. package/dist/metadata/core-patch.d.cts +15 -0
  63. package/dist/metadata/core-patch.d.ts +15 -0
  64. package/dist/metadata/core-patch.js +26 -0
  65. package/dist/metadata/write.cjs +4 -17
  66. package/dist/metadata/write.d.cts +2 -7
  67. package/dist/metadata/write.d.ts +2 -7
  68. package/dist/metadata/write.js +3 -16
  69. package/dist/odf-package/formula.cjs +1 -1
  70. package/dist/odf-package/formula.js +1 -1
  71. package/dist/omml/write.cjs +1 -1
  72. package/dist/omml/write.js +1 -1
  73. package/dist/ooxml/docx/embedded-objects.cjs +75 -14
  74. package/dist/ooxml/docx/embedded-objects.d.cts +2 -2
  75. package/dist/ooxml/docx/embedded-objects.d.ts +2 -2
  76. package/dist/ooxml/docx/embedded-objects.js +76 -15
  77. package/dist/ooxml/docx/read.cjs +1 -1
  78. package/dist/ooxml/docx/read.js +1 -1
  79. package/dist/ooxml/legacy-embedded.cjs +29 -0
  80. package/dist/ooxml/legacy-embedded.d.cts +9 -0
  81. package/dist/ooxml/legacy-embedded.d.ts +9 -0
  82. package/dist/ooxml/legacy-embedded.js +28 -0
  83. package/dist/ooxml/pptx/legacy-embedded.cjs +56 -0
  84. package/dist/ooxml/pptx/legacy-embedded.d.cts +6 -0
  85. package/dist/ooxml/pptx/legacy-embedded.d.ts +6 -0
  86. package/dist/ooxml/pptx/legacy-embedded.js +55 -0
  87. package/dist/ooxml/pptx/read.cjs +5 -2
  88. package/dist/ooxml/pptx/read.js +5 -2
  89. package/dist/opc/core-properties.cjs +2 -2
  90. package/dist/opc/core-properties.js +2 -2
  91. package/dist/opc/media.cjs +1 -1
  92. package/dist/opc/media.js +1 -1
  93. package/dist/xml/odf-text.cjs +1 -1
  94. package/dist/xml/odf-text.js +1 -1
  95. package/package.json +3 -3
@@ -0,0 +1,29 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_ppt_read = require("../ppt/read.cjs");
3
+ let doc_codec = require("doc-codec");
4
+ let xls_codec = require("xls-codec");
5
+ let archive_codec = require("archive-codec");
6
+ //#region src/ooxml/legacy-embedded.ts
7
+ function decodeLegacyEmbeddedObject(bytes) {
8
+ if (!(0, archive_codec.isCompoundFile)(bytes)) return;
9
+ try {
10
+ return {
11
+ objectKind: "wordprocessing",
12
+ document: (0, doc_codec.readDocContent)(bytes)
13
+ };
14
+ } catch {}
15
+ try {
16
+ return {
17
+ objectKind: "spreadsheet",
18
+ document: (0, xls_codec.readXlsContent)(bytes)
19
+ };
20
+ } catch {}
21
+ try {
22
+ return {
23
+ objectKind: "presentation",
24
+ document: require_ppt_read.readPptContent(bytes)
25
+ };
26
+ } catch {}
27
+ }
28
+ //#endregion
29
+ exports.decodeLegacyEmbeddedObject = decodeLegacyEmbeddedObject;
@@ -0,0 +1,9 @@
1
+ import { ContentDocument, ContentEmbeddedObjectKind } from "document-schema.js";
2
+ //#region src/ooxml/legacy-embedded.d.ts
3
+ interface LegacyEmbeddedPayload {
4
+ readonly objectKind: Extract<ContentEmbeddedObjectKind, "wordprocessing" | "spreadsheet" | "presentation">;
5
+ readonly document: ContentDocument;
6
+ }
7
+ declare function decodeLegacyEmbeddedObject(bytes: Uint8Array<ArrayBuffer>): LegacyEmbeddedPayload | undefined;
8
+ //#endregion
9
+ export { LegacyEmbeddedPayload, decodeLegacyEmbeddedObject };
@@ -0,0 +1,9 @@
1
+ import { ContentDocument, ContentEmbeddedObjectKind } from "document-schema.js";
2
+ //#region src/ooxml/legacy-embedded.d.ts
3
+ interface LegacyEmbeddedPayload {
4
+ readonly objectKind: Extract<ContentEmbeddedObjectKind, "wordprocessing" | "spreadsheet" | "presentation">;
5
+ readonly document: ContentDocument;
6
+ }
7
+ declare function decodeLegacyEmbeddedObject(bytes: Uint8Array<ArrayBuffer>): LegacyEmbeddedPayload | undefined;
8
+ //#endregion
9
+ export { LegacyEmbeddedPayload, decodeLegacyEmbeddedObject };
@@ -0,0 +1,28 @@
1
+ import { readPptContent } from "../ppt/read.js";
2
+ import { readDocContent } from "doc-codec";
3
+ import { readXlsContent } from "xls-codec";
4
+ import { isCompoundFile } from "archive-codec";
5
+ //#region src/ooxml/legacy-embedded.ts
6
+ function decodeLegacyEmbeddedObject(bytes) {
7
+ if (!isCompoundFile(bytes)) return;
8
+ try {
9
+ return {
10
+ objectKind: "wordprocessing",
11
+ document: readDocContent(bytes)
12
+ };
13
+ } catch {}
14
+ try {
15
+ return {
16
+ objectKind: "spreadsheet",
17
+ document: readXlsContent(bytes)
18
+ };
19
+ } catch {}
20
+ try {
21
+ return {
22
+ objectKind: "presentation",
23
+ document: readPptContent(bytes)
24
+ };
25
+ } catch {}
26
+ }
27
+ //#endregion
28
+ export { decodeLegacyEmbeddedObject };
@@ -0,0 +1,56 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_ooxml_legacy_embedded = require("../legacy-embedded.cjs");
3
+ let ooxml_js = require("ooxml.js");
4
+ //#region src/ooxml/pptx/legacy-embedded.ts
5
+ const OLE_GRAPHIC_URI = "http://schemas.openxmlformats.org/presentationml/2006/ole";
6
+ function collectLegacyOleShapes(children, state, out) {
7
+ for (const node of children) {
8
+ if (node.type !== "element") continue;
9
+ if (node.tag === "p:sp" || node.tag === "p:pic") state.shapeIndex += 1;
10
+ else if (node.tag === "p:graphicFrame") {
11
+ const shapeIndex = state.shapeIndex;
12
+ state.shapeIndex += 1;
13
+ const graphic = (0, ooxml_js.childrenWithTag)(node, "a:graphic")[0];
14
+ const graphicData = graphic === void 0 ? void 0 : (0, ooxml_js.childrenWithTag)(graphic, "a:graphicData")[0];
15
+ if (graphicData !== void 0 && (0, ooxml_js.attr)(graphicData, "uri") === OLE_GRAPHIC_URI) {
16
+ const oleObj = (0, ooxml_js.elementsWithTag)([graphicData], "p:oleObj")[0];
17
+ if (oleObj !== void 0) out.push({
18
+ shapeIndex,
19
+ oleObj
20
+ });
21
+ }
22
+ } else if (node.tag === "p:grpSp") collectLegacyOleShapes(node.children, state, out);
23
+ }
24
+ }
25
+ function spliceSlideLegacyEmbeddedObjects(slide, spTreeChildren, slideRels, pkg) {
26
+ const state = { shapeIndex: 0 };
27
+ const found = [];
28
+ collectLegacyOleShapes(spTreeChildren, state, found);
29
+ if (found.length === 0) return slide;
30
+ const shapes = [...slide.shapes];
31
+ for (const { shapeIndex, oleObj } of found) {
32
+ const shape = shapes[shapeIndex];
33
+ if (shape === void 0) continue;
34
+ const rId = (0, ooxml_js.attr)(oleObj, "r:id");
35
+ const rel = rId === void 0 ? void 0 : slideRels.get(rId);
36
+ const payloadPart = rel === void 0 ? void 0 : pkg.parts[rel.target];
37
+ if (payloadPart?.kind !== "binary") continue;
38
+ const payload = require_ooxml_legacy_embedded.decodeLegacyEmbeddedObject((0, ooxml_js.base64ToBytes)(payloadPart.base64));
39
+ if (payload === void 0) continue;
40
+ shapes[shapeIndex] = {
41
+ ...shape,
42
+ blocks: [...shape.blocks, {
43
+ kind: "embeddedObject",
44
+ objectKind: payload.objectKind,
45
+ document: payload.document,
46
+ frame: shape.frame
47
+ }]
48
+ };
49
+ }
50
+ return {
51
+ ...slide,
52
+ shapes
53
+ };
54
+ }
55
+ //#endregion
56
+ exports.spliceSlideLegacyEmbeddedObjects = spliceSlideLegacyEmbeddedObjects;
@@ -0,0 +1,6 @@
1
+ import { ContentSlide } from "document-schema.js";
2
+ import { Package, Relationship, XmlNode } from "ooxml.js";
3
+ //#region src/ooxml/pptx/legacy-embedded.d.ts
4
+ declare function spliceSlideLegacyEmbeddedObjects(slide: ContentSlide, spTreeChildren: readonly XmlNode[], slideRels: ReadonlyMap<string, Relationship>, pkg: Package): ContentSlide;
5
+ //#endregion
6
+ export { spliceSlideLegacyEmbeddedObjects };
@@ -0,0 +1,6 @@
1
+ import { Package, Relationship, XmlNode } from "ooxml.js";
2
+ import { ContentSlide } from "document-schema.js";
3
+ //#region src/ooxml/pptx/legacy-embedded.d.ts
4
+ declare function spliceSlideLegacyEmbeddedObjects(slide: ContentSlide, spTreeChildren: readonly XmlNode[], slideRels: ReadonlyMap<string, Relationship>, pkg: Package): ContentSlide;
5
+ //#endregion
6
+ export { spliceSlideLegacyEmbeddedObjects };
@@ -0,0 +1,55 @@
1
+ import { decodeLegacyEmbeddedObject } from "../legacy-embedded.js";
2
+ import { attr, base64ToBytes, childrenWithTag, elementsWithTag } from "ooxml.js";
3
+ //#region src/ooxml/pptx/legacy-embedded.ts
4
+ const OLE_GRAPHIC_URI = "http://schemas.openxmlformats.org/presentationml/2006/ole";
5
+ function collectLegacyOleShapes(children, state, out) {
6
+ for (const node of children) {
7
+ if (node.type !== "element") continue;
8
+ if (node.tag === "p:sp" || node.tag === "p:pic") state.shapeIndex += 1;
9
+ else if (node.tag === "p:graphicFrame") {
10
+ const shapeIndex = state.shapeIndex;
11
+ state.shapeIndex += 1;
12
+ const graphic = childrenWithTag(node, "a:graphic")[0];
13
+ const graphicData = graphic === void 0 ? void 0 : childrenWithTag(graphic, "a:graphicData")[0];
14
+ if (graphicData !== void 0 && attr(graphicData, "uri") === OLE_GRAPHIC_URI) {
15
+ const oleObj = elementsWithTag([graphicData], "p:oleObj")[0];
16
+ if (oleObj !== void 0) out.push({
17
+ shapeIndex,
18
+ oleObj
19
+ });
20
+ }
21
+ } else if (node.tag === "p:grpSp") collectLegacyOleShapes(node.children, state, out);
22
+ }
23
+ }
24
+ function spliceSlideLegacyEmbeddedObjects(slide, spTreeChildren, slideRels, pkg) {
25
+ const state = { shapeIndex: 0 };
26
+ const found = [];
27
+ collectLegacyOleShapes(spTreeChildren, state, found);
28
+ if (found.length === 0) return slide;
29
+ const shapes = [...slide.shapes];
30
+ for (const { shapeIndex, oleObj } of found) {
31
+ const shape = shapes[shapeIndex];
32
+ if (shape === void 0) continue;
33
+ const rId = attr(oleObj, "r:id");
34
+ const rel = rId === void 0 ? void 0 : slideRels.get(rId);
35
+ const payloadPart = rel === void 0 ? void 0 : pkg.parts[rel.target];
36
+ if (payloadPart?.kind !== "binary") continue;
37
+ const payload = decodeLegacyEmbeddedObject(base64ToBytes(payloadPart.base64));
38
+ if (payload === void 0) continue;
39
+ shapes[shapeIndex] = {
40
+ ...shape,
41
+ blocks: [...shape.blocks, {
42
+ kind: "embeddedObject",
43
+ objectKind: payload.objectKind,
44
+ document: payload.document,
45
+ frame: shape.frame
46
+ }]
47
+ };
48
+ }
49
+ return {
50
+ ...slide,
51
+ shapes
52
+ };
53
+ }
54
+ //#endregion
55
+ export { spliceSlideLegacyEmbeddedObjects };
@@ -1,6 +1,7 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_ooxml_pptx_formula = require("./formula.cjs");
3
3
  const require_ooxml_pptx_vector = require("./vector.cjs");
4
+ const require_ooxml_pptx_legacy_embedded = require("./legacy-embedded.cjs");
4
5
  let ooxml_js = require("ooxml.js");
5
6
  //#region src/ooxml/pptx/read.ts
6
7
  const PRESENTATION_PART = "ppt/presentation.xml";
@@ -23,12 +24,14 @@ function readPptxContent(pkg, options) {
23
24
  const slidePaths = slidePathsInOrder(pkg);
24
25
  const slides = pptxDoc.slides.map((slide, slideIndex) => {
25
26
  const slidePath = slidePaths[slideIndex];
26
- const slideRoot = slidePath === void 0 ? void 0 : (0, ooxml_js.rootElement)(pkg.parts[slidePath]);
27
+ if (slidePath === void 0) return slide;
28
+ const slideRoot = (0, ooxml_js.rootElement)(pkg.parts[slidePath]);
27
29
  const cSld = slideRoot === void 0 ? void 0 : (0, ooxml_js.childrenWithTag)(slideRoot, "p:cSld")[0];
28
30
  const spTree = cSld === void 0 ? void 0 : (0, ooxml_js.childrenWithTag)(cSld, "p:spTree")[0];
29
31
  if (spTree === void 0) return slide;
30
32
  const withFormulas = require_ooxml_pptx_formula.spliceSlideFormulas(slide, slideIndex, spTree.children, options?.onMathDiagnostic);
31
- return require_ooxml_pptx_vector.collapseVectorShapeRuns(withFormulas, slideIndex, spTree.children);
33
+ const withLegacyEmbeddings = require_ooxml_pptx_legacy_embedded.spliceSlideLegacyEmbeddedObjects(withFormulas, spTree.children, (0, ooxml_js.resolveRelationships)(pkg, slidePath), pkg);
34
+ return require_ooxml_pptx_vector.collapseVectorShapeRuns(withLegacyEmbeddings, slideIndex, spTree.children);
32
35
  });
33
36
  return {
34
37
  kind: "presentation",
@@ -1,5 +1,6 @@
1
1
  import { spliceSlideFormulas } from "./formula.js";
2
2
  import { collapseVectorShapeRuns } from "./vector.js";
3
+ import { spliceSlideLegacyEmbeddedObjects } from "./legacy-embedded.js";
3
4
  import { attr, childrenWithTag, readPptxContent as readPptxContent$1, resolveRelationships, rootElement } from "ooxml.js";
4
5
  //#region src/ooxml/pptx/read.ts
5
6
  const PRESENTATION_PART = "ppt/presentation.xml";
@@ -22,12 +23,14 @@ function readPptxContent(pkg, options) {
22
23
  const slidePaths = slidePathsInOrder(pkg);
23
24
  const slides = pptxDoc.slides.map((slide, slideIndex) => {
24
25
  const slidePath = slidePaths[slideIndex];
25
- const slideRoot = slidePath === void 0 ? void 0 : rootElement(pkg.parts[slidePath]);
26
+ if (slidePath === void 0) return slide;
27
+ const slideRoot = rootElement(pkg.parts[slidePath]);
26
28
  const cSld = slideRoot === void 0 ? void 0 : childrenWithTag(slideRoot, "p:cSld")[0];
27
29
  const spTree = cSld === void 0 ? void 0 : childrenWithTag(cSld, "p:spTree")[0];
28
30
  if (spTree === void 0) return slide;
29
31
  const withFormulas = spliceSlideFormulas(slide, slideIndex, spTree.children, options?.onMathDiagnostic);
30
- return collapseVectorShapeRuns(withFormulas, slideIndex, spTree.children);
32
+ const withLegacyEmbeddings = spliceSlideLegacyEmbeddedObjects(withFormulas, spTree.children, resolveRelationships(pkg, slidePath), pkg);
33
+ return collapseVectorShapeRuns(withLegacyEmbeddings, slideIndex, spTree.children);
31
34
  });
32
35
  return {
33
36
  kind: "presentation",
@@ -1,8 +1,8 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_xml_fragment = require("../xml/fragment.cjs");
3
- const require_opc_rels = require("./rels.cjs");
4
2
  const require_xml_entities = require("../xml/entities.cjs");
3
+ const require_xml_fragment = require("../xml/fragment.cjs");
5
4
  const require_opc_content_types = require("./content-types.cjs");
5
+ const require_opc_rels = require("./rels.cjs");
6
6
  //#region src/opc/core-properties.ts
7
7
  const CORE_PROPERTIES_PART_PATH = "docProps/core.xml";
8
8
  const CORE_PROPERTIES_CONTENT_TYPE = "application/vnd.openxmlformats-package.core-properties+xml";
@@ -1,7 +1,7 @@
1
- import { el, txt } from "../xml/fragment.js";
2
- import { addRootRelationship } from "./rels.js";
3
1
  import { encodeXmlText } from "../xml/entities.js";
2
+ import { el, txt } from "../xml/fragment.js";
4
3
  import { ensureContentTypeOverride } from "./content-types.js";
4
+ import { addRootRelationship } from "./rels.js";
5
5
  //#region src/opc/core-properties.ts
6
6
  const CORE_PROPERTIES_PART_PATH = "docProps/core.xml";
7
7
  const CORE_PROPERTIES_CONTENT_TYPE = "application/vnd.openxmlformats-package.core-properties+xml";
@@ -1,7 +1,7 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_opc_content_types = require("./content-types.cjs");
2
3
  const require_opc_paths = require("./paths.cjs");
3
4
  const require_opc_rels = require("./rels.cjs");
4
- const require_opc_content_types = require("./content-types.cjs");
5
5
  let ooxml_js = require("ooxml.js");
6
6
  //#region src/opc/media.ts
7
7
  const IMAGE_RELATIONSHIP_TYPE = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image";
package/dist/opc/media.js CHANGED
@@ -1,6 +1,6 @@
1
+ import { defaultContentTypeForExtension, ensureDefaultContentType } from "./content-types.js";
1
2
  import { buildRelativeTarget } from "./paths.js";
2
3
  import { addRelationship } from "./rels.js";
3
- import { defaultContentTypeForExtension, ensureDefaultContentType } from "./content-types.js";
4
4
  import { bytesToBase64 } from "ooxml.js";
5
5
  //#region src/opc/media.ts
6
6
  const IMAGE_RELATIONSHIP_TYPE = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image";
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_xml_fragment = require("./fragment.cjs");
3
2
  const require_xml_entities = require("./entities.cjs");
3
+ const require_xml_fragment = require("./fragment.cjs");
4
4
  let odf_js = require("odf.js");
5
5
  //#region src/xml/odf-text.ts
6
6
  const MIN_SPACE_RUN_FOR_TEXT_S = 2;
@@ -1,5 +1,5 @@
1
- import { el, txt } from "./fragment.js";
2
1
  import { encodeXmlText as encodeXmlText$1 } from "./entities.js";
2
+ import { el, txt } from "./fragment.js";
3
3
  import { decodeOdfText as decodeOdfText$1 } from "odf.js";
4
4
  //#region src/xml/odf-text.ts
5
5
  const MIN_SPACE_RUN_FOR_TEXT_S = 2;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "js.documents",
3
- "version": "7.2.5",
3
+ "version": "7.4.0",
4
4
  "description": "Bidirectional docx/pptx <-> PDF conversion and a read+write editable OOXML document model, built on ooxml.js and Zod 4 codecs.",
5
5
  "type": "module",
6
6
  "repository": {
@@ -83,8 +83,8 @@
83
83
  "document-schema.js": "^7.0.0",
84
84
  "fflate": "^0.8.3",
85
85
  "markdown-codec": "^6.3.6",
86
- "odf.js": "^7.3.0",
87
- "ooxml.js": "^8.2.0",
86
+ "odf.js": "^7.4.0",
87
+ "ooxml.js": "^8.3.0",
88
88
  "pdf-codec": "^4.0.5",
89
89
  "ppt-codec": "^1.2.6",
90
90
  "rtf-codec": "^4.0.1",