js.documents 7.3.0 → 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 (73) hide show
  1. package/dist/edit/docx/content.cjs +2 -2
  2. package/dist/edit/docx/content.js +2 -2
  3. package/dist/edit/docx/editor.cjs +8 -1
  4. package/dist/edit/docx/editor.d.cts +3 -0
  5. package/dist/edit/docx/editor.d.ts +3 -0
  6. package/dist/edit/docx/editor.js +9 -2
  7. package/dist/edit/docx/run.cjs +1 -1
  8. package/dist/edit/docx/run.js +1 -1
  9. package/dist/edit/odg/editor.cjs +8 -1
  10. package/dist/edit/odg/editor.d.cts +3 -1
  11. package/dist/edit/odg/editor.d.ts +3 -1
  12. package/dist/edit/odg/editor.js +9 -2
  13. package/dist/edit/odg/scaffold.cjs +5 -4
  14. package/dist/edit/odg/scaffold.d.cts +2 -1
  15. package/dist/edit/odg/scaffold.d.ts +2 -1
  16. package/dist/edit/odg/scaffold.js +5 -5
  17. package/dist/edit/odp/editor.cjs +8 -1
  18. package/dist/edit/odp/editor.d.cts +3 -1
  19. package/dist/edit/odp/editor.d.ts +3 -1
  20. package/dist/edit/odp/editor.js +9 -2
  21. package/dist/edit/odp/scaffold.cjs +5 -4
  22. package/dist/edit/odp/scaffold.d.cts +2 -1
  23. package/dist/edit/odp/scaffold.d.ts +2 -1
  24. package/dist/edit/odp/scaffold.js +5 -5
  25. package/dist/edit/odp/shape.cjs +1 -1
  26. package/dist/edit/odp/shape.js +1 -1
  27. package/dist/edit/ods/editor.cjs +8 -1
  28. package/dist/edit/ods/editor.d.cts +3 -0
  29. package/dist/edit/ods/editor.d.ts +3 -0
  30. package/dist/edit/ods/editor.js +9 -2
  31. package/dist/edit/ods/scaffold.cjs +5 -4
  32. package/dist/edit/ods/scaffold.d.cts +2 -1
  33. package/dist/edit/ods/scaffold.d.ts +2 -1
  34. package/dist/edit/ods/scaffold.js +5 -5
  35. package/dist/edit/odt/editor.cjs +7 -0
  36. package/dist/edit/odt/editor.d.cts +3 -1
  37. package/dist/edit/odt/editor.d.ts +3 -1
  38. package/dist/edit/odt/editor.js +8 -1
  39. package/dist/edit/odt/scaffold.cjs +5 -4
  40. package/dist/edit/odt/scaffold.d.cts +2 -1
  41. package/dist/edit/odt/scaffold.d.ts +2 -1
  42. package/dist/edit/odt/scaffold.js +5 -5
  43. package/dist/edit/pptx/editor.cjs +10 -3
  44. package/dist/edit/pptx/editor.d.cts +3 -1
  45. package/dist/edit/pptx/editor.d.ts +3 -1
  46. package/dist/edit/pptx/editor.js +11 -4
  47. package/dist/edit/pptx/scaffold.cjs +1 -1
  48. package/dist/edit/pptx/scaffold.js +1 -1
  49. package/dist/edit/pptx/shape.cjs +1 -1
  50. package/dist/edit/pptx/shape.js +1 -1
  51. package/dist/edit/pptx/slide.cjs +2 -2
  52. package/dist/edit/pptx/slide.js +2 -2
  53. package/dist/index.d.cts +2 -1
  54. package/dist/index.d.ts +2 -1
  55. package/dist/metadata/core-patch.cjs +29 -0
  56. package/dist/metadata/core-patch.d.cts +15 -0
  57. package/dist/metadata/core-patch.d.ts +15 -0
  58. package/dist/metadata/core-patch.js +26 -0
  59. package/dist/metadata/write.cjs +4 -17
  60. package/dist/metadata/write.d.cts +2 -7
  61. package/dist/metadata/write.d.ts +2 -7
  62. package/dist/metadata/write.js +3 -16
  63. package/dist/odf-package/formula.cjs +1 -1
  64. package/dist/odf-package/formula.js +1 -1
  65. package/dist/omml/write.cjs +1 -1
  66. package/dist/omml/write.js +1 -1
  67. package/dist/opc/core-properties.cjs +2 -2
  68. package/dist/opc/core-properties.js +2 -2
  69. package/dist/opc/media.cjs +1 -1
  70. package/dist/opc/media.js +1 -1
  71. package/dist/xml/odf-text.cjs +1 -1
  72. package/dist/xml/odf-text.js +1 -1
  73. package/package.json +3 -3
@@ -1,12 +1,7 @@
1
1
  import { DocumentFormat } from "../convert/port.cjs";
2
+ import { MetadataOverrides } from "./core-patch.cjs";
2
3
  import { MarkdownImageResolver } from "markdown-codec";
3
4
  //#region src/metadata/write.d.ts
4
- interface MetadataOverrides {
5
- readonly title?: string;
6
- readonly author?: string;
7
- readonly subject?: string;
8
- readonly keywords?: string[];
9
- }
10
5
  interface PatchDocxMetadataOptions {
11
6
  readonly signal?: AbortSignal;
12
7
  }
@@ -17,4 +12,4 @@ interface SetDocumentMetadataOptions {
17
12
  }
18
13
  declare function setDocumentMetadata(sourceFormat: DocumentFormat, targetFormat: DocumentFormat, bytes: Uint8Array<ArrayBuffer>, overrides: MetadataOverrides, options?: SetDocumentMetadataOptions): Uint8Array<ArrayBuffer>;
19
14
  //#endregion
20
- export { MetadataOverrides, PatchDocxMetadataOptions, SetDocumentMetadataOptions, patchDocxMetadata, setDocumentMetadata };
15
+ export { PatchDocxMetadataOptions, SetDocumentMetadataOptions, patchDocxMetadata, setDocumentMetadata };
@@ -1,12 +1,7 @@
1
1
  import { DocumentFormat } from "../convert/port.js";
2
+ import { MetadataOverrides } from "./core-patch.js";
2
3
  import { MarkdownImageResolver } from "markdown-codec";
3
4
  //#region src/metadata/write.d.ts
4
- interface MetadataOverrides {
5
- readonly title?: string;
6
- readonly author?: string;
7
- readonly subject?: string;
8
- readonly keywords?: string[];
9
- }
10
5
  interface PatchDocxMetadataOptions {
11
6
  readonly signal?: AbortSignal;
12
7
  }
@@ -17,4 +12,4 @@ interface SetDocumentMetadataOptions {
17
12
  }
18
13
  declare function setDocumentMetadata(sourceFormat: DocumentFormat, targetFormat: DocumentFormat, bytes: Uint8Array<ArrayBuffer>, overrides: MetadataOverrides, options?: SetDocumentMetadataOptions): Uint8Array<ArrayBuffer>;
19
14
  //#endregion
20
- export { MetadataOverrides, PatchDocxMetadataOptions, SetDocumentMetadataOptions, patchDocxMetadata, setDocumentMetadata };
15
+ export { PatchDocxMetadataOptions, SetDocumentMetadataOptions, patchDocxMetadata, setDocumentMetadata };
@@ -1,8 +1,8 @@
1
1
  import { requireArrayBufferBytes } from "../model/bytes.js";
2
- import { addCoreProperties } from "../opc/core-properties.js";
2
+ import { mergeMetadata, patchOoxmlCorePropertiesOnPackage } from "./core-patch.js";
3
3
  import { throwIfAborted } from "../ports/abort.js";
4
4
  import { DOCUMENT_FORMAT_CODECS } from "../codecs/registry.js";
5
- import { decodePackage, encodePackage, hasCoreProperties, patchCoreProperties } from "ooxml.js";
5
+ import { decodePackage, encodePackage } from "ooxml.js";
6
6
  import { readPdf, writePdf } from "pdf-codec";
7
7
  //#region src/metadata/write.ts
8
8
  const REBUILD_FORMATS = {
@@ -28,23 +28,10 @@ function buildBytesForRebuildFormat(format, content) {
28
28
  if (!codec?.write) throw new Error(`RebuildFormat '${format}' has no content.write codec in DOCUMENT_FORMAT_CODECS -- this is an internal invariant violation, not a caller error`);
29
29
  return requireArrayBufferBytes(codec.write(content));
30
30
  }
31
- function mergeMetadata(current, overrides) {
32
- return {
33
- ...current,
34
- ...overrides.title !== void 0 ? { title: overrides.title } : {},
35
- ...overrides.author !== void 0 ? { author: overrides.author } : {},
36
- ...overrides.subject !== void 0 ? { subject: overrides.subject } : {},
37
- ...overrides.keywords !== void 0 ? { keywords: overrides.keywords } : {}
38
- };
39
- }
40
- function hasWritableMetadataOverride(overrides) {
41
- return overrides.title !== void 0 || overrides.author !== void 0 || overrides.subject !== void 0 || overrides.keywords !== void 0 && overrides.keywords.length > 0;
42
- }
43
31
  function patchDocxMetadata(bytes, overrides, options) {
44
32
  throwIfAborted(options?.signal);
45
33
  const pkg = decodePackage(bytes);
46
- if (hasCoreProperties(pkg)) patchCoreProperties(pkg, overrides);
47
- else if (hasWritableMetadataOverride(overrides)) addCoreProperties(pkg, mergeMetadata({}, overrides));
34
+ patchOoxmlCorePropertiesOnPackage(pkg, overrides);
48
35
  return encodePackage(pkg);
49
36
  }
50
37
  function classifyWritePath(source, target) {
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_xml_fragment = require("../xml/fragment.cjs");
3
2
  const require_xml_entities = require("../xml/entities.cjs");
3
+ const require_xml_fragment = require("../xml/fragment.cjs");
4
4
  const require_odf_package_manifest = require("./manifest.cjs");
5
5
  //#region src/odf-package/formula.ts
6
6
  const OBJECT_PREFIX = "Object ";
@@ -1,5 +1,5 @@
1
- import { el, txt } from "../xml/fragment.js";
2
1
  import { encodeXmlText } from "../xml/entities.js";
2
+ import { el, txt } from "../xml/fragment.js";
3
3
  import { syncOdfManifest } from "./manifest.js";
4
4
  //#region src/odf-package/formula.ts
5
5
  const OBJECT_PREFIX = "Object ";
@@ -1,10 +1,10 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_xml_entities = require("../xml/entities.cjs");
2
3
  const require_xml_fragment = require("../xml/fragment.cjs");
3
4
  const require_mathml_length = require("../mathml/length.cjs");
4
5
  const require_mathml_nodes = require("../mathml/nodes.cjs");
5
6
  const require_mathml_operators = require("../mathml/operators.cjs");
6
7
  const require_mathml_variant = require("../mathml/variant.cjs");
7
- const require_xml_entities = require("../xml/entities.cjs");
8
8
  const require_omml_shared = require("./shared.cjs");
9
9
  //#region src/omml/write.ts
10
10
  const OMML_NS = "http://schemas.openxmlformats.org/officeDocument/2006/math";
@@ -1,9 +1,9 @@
1
+ import { encodeXmlText, needsSpacePreserve } from "../xml/entities.js";
1
2
  import { el, txt } from "../xml/fragment.js";
2
3
  import { parseMathLength } from "../mathml/length.js";
3
4
  import { attrValue, elementChildren, elementLocalName, isMathMlElement, textContent } from "../mathml/nodes.js";
4
5
  import { operatorProperties } from "../mathml/operators.js";
5
6
  import { isMathVariant } from "../mathml/variant.js";
6
- import { encodeXmlText, needsSpacePreserve } from "../xml/entities.js";
7
7
  import { VARIANT_RUN_PROPERTIES, miIntrinsicDefault } from "./shared.js";
8
8
  //#region src/omml/write.ts
9
9
  const OMML_NS = "http://schemas.openxmlformats.org/officeDocument/2006/math";
@@ -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.3.0",
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",