odf.js 5.2.0 → 5.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 (94) hide show
  1. package/README.md +6 -4
  2. package/dist/{cascade-rhqUQrUa.d.ts → cascade-BZ7zqXhL.d.ts} +2 -2
  3. package/dist/{cascade-BmvsXcAz.d.cts → cascade-DWQfTwaM.d.cts} +2 -2
  4. package/dist/{codec-BoPvy83Y.d.cts → codec-CCjdir_f.d.cts} +13 -13
  5. package/dist/{codec-BQB05qN1.d.ts → codec-heu5sgsK.d.ts} +13 -13
  6. package/dist/codec.d.cts +1 -1
  7. package/dist/codec.d.ts +1 -1
  8. package/dist/{constructs-CJpDDQV0.d.ts → constructs-C1S8qlVv.d.ts} +9 -2
  9. package/dist/{constructs-Dy_DMFs3.d.cts → constructs-FLBse5UV.d.cts} +9 -2
  10. package/dist/{embedded-BBJoUl86.js → embedded-BSSdoKcK.js} +151 -24
  11. package/dist/{embedded-ztNK8w6V.d.cts → embedded-BzPTTzdf.d.cts} +1 -1
  12. package/dist/{embedded-FMIPM1fw.cjs → embedded-DbLrCGPi.cjs} +148 -21
  13. package/dist/{embedded-CLuwn306.d.ts → embedded-Zv8KtFUo.d.ts} +1 -1
  14. package/dist/{form-BGCT81ss.d.cts → form-CWWCkG-r.d.cts} +2 -2
  15. package/dist/{form-D3H5H2NL.d.ts → form-RJTtSmwn.d.ts} +2 -2
  16. package/dist/{forms-D1-0spCe.d.ts → forms-CyLw7lpE.d.ts} +1 -1
  17. package/dist/{forms-cIjw-Jf-.d.cts → forms-Eh1N15Qy.d.cts} +1 -1
  18. package/dist/index.cjs +1 -1
  19. package/dist/index.d.cts +15 -15
  20. package/dist/index.d.ts +15 -15
  21. package/dist/index.js +1 -1
  22. package/dist/{masterpage-XJ2v2khe.d.cts → masterpage-Bt6gxuoL.d.cts} +2 -1
  23. package/dist/{masterpage-C1McDhMv.d.ts → masterpage-By_F05W4.d.ts} +2 -1
  24. package/dist/{paragraph-BBmSl_sK.d.cts → paragraph-BEAeuCLf.d.cts} +4 -3
  25. package/dist/{paragraph-6hzAZpmi.d.ts → paragraph-DdcX8JuK.d.ts} +4 -3
  26. package/dist/{properties-BF_Fv6B3.d.cts → properties-C-JKQZUD.d.cts} +2 -0
  27. package/dist/{properties-DjAIdPry.d.ts → properties-Rral02h1.d.ts} +2 -0
  28. package/dist/read-24g5eZw6.d.ts +25 -0
  29. package/dist/{read-lc0t0UHK.d.ts → read-BLoaDxr_.d.ts} +2 -1
  30. package/dist/{read-B4238IGr.d.cts → read-C3Ei_MYc.d.cts} +2 -1
  31. package/dist/{read-CTfeWaWq.d.cts → read-CDSmR3qt.d.cts} +2 -1
  32. package/dist/{read-CdvX2qnz.d.ts → read-DJqvINGW.d.ts} +2 -1
  33. package/dist/{read-Db_GZ0ZH.d.ts → read-DfEHXwgn.d.ts} +2 -1
  34. package/dist/{read-DOYWO6BM.d.cts → read-IOYq80AA.d.cts} +2 -1
  35. package/dist/read-rwDsgR0d.d.cts +25 -0
  36. package/dist/{registry-CaJpWDke.d.cts → registry-CphRYjDD.d.cts} +1 -1
  37. package/dist/{registry-BVeEpUMI.d.ts → registry-D5RGBteE.d.ts} +1 -1
  38. package/dist/{serialize-DvaE_t5D.d.ts → serialize-B-lq0LiG.d.ts} +1 -1
  39. package/dist/{serialize-9xvti0FF.d.cts → serialize-D1fti8C5.d.cts} +1 -1
  40. package/dist/styles/properties.cjs +25 -3
  41. package/dist/styles/properties.d.cts +1 -1
  42. package/dist/styles/properties.d.ts +1 -1
  43. package/dist/styles/properties.js +25 -3
  44. package/dist/styles/registry.d.cts +1 -1
  45. package/dist/styles/registry.d.ts +1 -1
  46. package/dist/styles/serialize.d.cts +1 -1
  47. package/dist/styles/serialize.d.ts +1 -1
  48. package/dist/typed/draw/embedded.cjs +1 -1
  49. package/dist/typed/draw/embedded.d.cts +1 -1
  50. package/dist/typed/draw/embedded.d.ts +1 -1
  51. package/dist/typed/draw/embedded.js +1 -1
  52. package/dist/typed/draw/shapes.cjs +4 -1
  53. package/dist/typed/draw/shapes.js +4 -1
  54. package/dist/typed/odb/form.cjs +1 -1
  55. package/dist/typed/odb/form.d.cts +1 -1
  56. package/dist/typed/odb/form.d.ts +1 -1
  57. package/dist/typed/odb/form.js +1 -1
  58. package/dist/typed/odg/read.cjs +14 -4
  59. package/dist/typed/odg/read.d.cts +1 -1
  60. package/dist/typed/odg/read.d.ts +1 -1
  61. package/dist/typed/odg/read.js +14 -4
  62. package/dist/typed/odp/read.cjs +51 -4
  63. package/dist/typed/odp/read.d.cts +1 -1
  64. package/dist/typed/odp/read.d.ts +1 -1
  65. package/dist/typed/odp/read.js +52 -5
  66. package/dist/typed/ods/read.cjs +1 -1
  67. package/dist/typed/ods/read.d.cts +1 -1
  68. package/dist/typed/ods/read.d.ts +1 -1
  69. package/dist/typed/ods/read.js +1 -1
  70. package/dist/typed/odt/read.cjs +1 -1
  71. package/dist/typed/odt/read.d.cts +2 -2
  72. package/dist/typed/odt/read.d.ts +2 -2
  73. package/dist/typed/odt/read.js +1 -1
  74. package/dist/typed/shared/cascade.d.cts +1 -1
  75. package/dist/typed/shared/cascade.d.ts +1 -1
  76. package/dist/typed/shared/constructs.cjs +75 -2
  77. package/dist/typed/shared/constructs.d.cts +2 -2
  78. package/dist/typed/shared/constructs.d.ts +2 -2
  79. package/dist/typed/shared/constructs.js +69 -3
  80. package/dist/typed/shared/forms.d.cts +1 -1
  81. package/dist/typed/shared/forms.d.ts +1 -1
  82. package/dist/typed/shared/masterpage.cjs +7 -0
  83. package/dist/typed/shared/masterpage.d.cts +2 -2
  84. package/dist/typed/shared/masterpage.d.ts +2 -2
  85. package/dist/typed/shared/masterpage.js +7 -1
  86. package/dist/typed/shared/paragraph.cjs +30 -7
  87. package/dist/typed/shared/paragraph.d.cts +2 -2
  88. package/dist/typed/shared/paragraph.d.ts +2 -2
  89. package/dist/typed/shared/paragraph.js +31 -9
  90. package/dist/typed/shared/text.cjs +3 -0
  91. package/dist/typed/shared/text.js +3 -0
  92. package/package.json +2 -2
  93. package/dist/read-Cs1ktkWB.d.cts +0 -15
  94. package/dist/read-DHuiGh_y.d.ts +0 -15
@@ -1,9 +1,10 @@
1
1
  import { r as Package } from "./package-L24lkba-.cjs";
2
- import { ContentSlide, DocumentPackage, LayoutMetadata } from "document-schema.js";
2
+ import { ContentSlide, DocumentPackage, LayoutMetadata, SourceResidue } from "document-schema.js";
3
3
  //#region src/typed/odp/read.d.ts
4
4
  interface OdpDocument {
5
5
  metadata: LayoutMetadata;
6
6
  slides: ContentSlide[];
7
+ source?: Record<string, SourceResidue>;
7
8
  }
8
9
  declare function readOdpContent(pkg: Package): OdpDocument;
9
10
  declare function readOdp(pkg: Package): DocumentPackage;
@@ -1,10 +1,11 @@
1
1
  import { r as Package } from "./package-BUojjTXf.js";
2
- import { ContentSheet, DefinitionsTable, DocumentPackage, LayoutMetadata } from "document-schema.js";
2
+ import { ContentSheet, DefinitionsTable, DocumentPackage, LayoutMetadata, SourceResidue } from "document-schema.js";
3
3
  //#region src/typed/ods/read.d.ts
4
4
  interface OdsDocument {
5
5
  metadata: LayoutMetadata;
6
6
  sheets: ContentSheet[];
7
7
  definitions?: DefinitionsTable;
8
+ source?: Record<string, SourceResidue>;
8
9
  }
9
10
  declare function readOdsContent(pkg: Package): OdsDocument;
10
11
  declare function readOds(pkg: Package): DocumentPackage;
@@ -1,9 +1,10 @@
1
1
  import { r as Package } from "./package-BUojjTXf.js";
2
- import { ContentSlide, DocumentPackage, LayoutMetadata } from "document-schema.js";
2
+ import { ContentSlide, DocumentPackage, LayoutMetadata, SourceResidue } from "document-schema.js";
3
3
  //#region src/typed/odp/read.d.ts
4
4
  interface OdpDocument {
5
5
  metadata: LayoutMetadata;
6
6
  slides: ContentSlide[];
7
+ source?: Record<string, SourceResidue>;
7
8
  }
8
9
  declare function readOdpContent(pkg: Package): OdpDocument;
9
10
  declare function readOdp(pkg: Package): DocumentPackage;
@@ -1,9 +1,10 @@
1
1
  import { r as Package } from "./package-L24lkba-.cjs";
2
- import { ContentDrawPage, DocumentPackage, LayoutMetadata } from "document-schema.js";
2
+ import { ContentDrawPage, DocumentPackage, LayoutMetadata, SourceResidue } from "document-schema.js";
3
3
  //#region src/typed/odg/read.d.ts
4
4
  interface OdgDocument {
5
5
  metadata: LayoutMetadata;
6
6
  pages: ContentDrawPage[];
7
+ source?: Record<string, SourceResidue>;
7
8
  }
8
9
  declare function readOdgContent(pkg: Package): OdgDocument;
9
10
  declare function readOdg(pkg: Package): DocumentPackage;
@@ -0,0 +1,25 @@
1
+ import { r as Package } from "./package-L24lkba-.cjs";
2
+ import { ContentBlock, ContentSection, DefinitionsTable, DocumentPackage, LayoutMetadata, SourceResidue } from "document-schema.js";
3
+ //#region src/typed/odt/read.d.ts
4
+ interface OdtReadOptions {
5
+ frames?: 'lift' | 'none';
6
+ }
7
+ interface OdtDocument {
8
+ metadata: LayoutMetadata;
9
+ sections: ContentSection[];
10
+ definitions?: DefinitionsTable;
11
+ headerFooterParts?: OdtHeaderFooterPart[];
12
+ sectionMasterPages?: (string | undefined)[];
13
+ source?: Record<string, SourceResidue>;
14
+ }
15
+ type OdtHeaderFooterVariant = 'default' | 'left' | 'first';
16
+ interface OdtHeaderFooterPart {
17
+ readonly masterPage: string;
18
+ readonly kind: 'header' | 'footer';
19
+ readonly variant: OdtHeaderFooterVariant;
20
+ readonly blocks: ContentBlock[];
21
+ }
22
+ declare function readOdtContent(pkg: Package, options?: OdtReadOptions): OdtDocument;
23
+ declare function readOdt(pkg: Package, options?: OdtReadOptions): DocumentPackage;
24
+ //#endregion
25
+ export { readOdt as a, OdtReadOptions as i, OdtHeaderFooterPart as n, readOdtContent as o, OdtHeaderFooterVariant as r, OdtDocument as t };
@@ -1,5 +1,5 @@
1
1
  import { r as Package } from "./package-L24lkba-.cjs";
2
- import { n as StyleProperties } from "./properties-BF_Fv6B3.cjs";
2
+ import { n as StyleProperties } from "./properties-C-JKQZUD.cjs";
3
3
  //#region src/styles/registry.d.ts
4
4
  declare const STYLE_FAMILIES: readonly ["paragraph", "text", "table", "table-column", "table-row", "table-cell", "graphic"];
5
5
  type StyleFamily = (typeof STYLE_FAMILIES)[number];
@@ -1,5 +1,5 @@
1
1
  import { r as Package } from "./package-BUojjTXf.js";
2
- import { n as StyleProperties } from "./properties-DjAIdPry.js";
2
+ import { n as StyleProperties } from "./properties-Rral02h1.js";
3
3
  //#region src/styles/registry.d.ts
4
4
  declare const STYLE_FAMILIES: readonly ["paragraph", "text", "table", "table-column", "table-row", "table-cell", "graphic"];
5
5
  type StyleFamily = (typeof STYLE_FAMILIES)[number];
@@ -1,5 +1,5 @@
1
1
  import { l as XmlElement } from "./node-CkBWRjNR.js";
2
- import { n as StyleProperties } from "./properties-DjAIdPry.js";
2
+ import { n as StyleProperties } from "./properties-Rral02h1.js";
3
3
  //#region src/styles/serialize.d.ts
4
4
  declare function buildStylePropertyElements(properties: StyleProperties): XmlElement[];
5
5
  declare function canonicalPropertiesString(properties: StyleProperties): string;
@@ -1,5 +1,5 @@
1
1
  import { l as XmlElement } from "./node-CkBWRjNR.cjs";
2
- import { n as StyleProperties } from "./properties-BF_Fv6B3.cjs";
2
+ import { n as StyleProperties } from "./properties-C-JKQZUD.cjs";
3
3
  //#region src/styles/serialize.d.ts
4
4
  declare function buildStylePropertyElements(properties: StyleProperties): XmlElement[];
5
5
  declare function canonicalPropertiesString(properties: StyleProperties): string;
@@ -18,7 +18,9 @@ const StylePropertiesSchema = zod.z.object({
18
18
  spacingAfterPt: zod.z.number().optional(),
19
19
  lineSpacing: zod.z.number().optional(),
20
20
  indentLeftPt: zod.z.number().optional(),
21
- indentFirstLinePt: zod.z.number().optional()
21
+ indentFirstLinePt: zod.z.number().optional(),
22
+ pageBreakBefore: zod.z.boolean().optional(),
23
+ pageBreakAfter: zod.z.boolean().optional()
22
24
  });
23
25
  const ATTR = {
24
26
  fontWeight: "fo:font-weight",
@@ -36,7 +38,9 @@ const ATTR = {
36
38
  marginBottom: "fo:margin-bottom",
37
39
  lineHeight: "fo:line-height",
38
40
  marginLeft: "fo:margin-left",
39
- textIndent: "fo:text-indent"
41
+ textIndent: "fo:text-indent",
42
+ breakBefore: "fo:break-before",
43
+ breakAfter: "fo:break-after"
40
44
  };
41
45
  const TEXT_ATTR_NAMES = /* @__PURE__ */ new Set([
42
46
  ATTR.fontWeight,
@@ -56,7 +60,9 @@ const PARAGRAPH_ATTR_NAMES = /* @__PURE__ */ new Set([
56
60
  ATTR.marginBottom,
57
61
  ATTR.lineHeight,
58
62
  ATTR.marginLeft,
59
- ATTR.textIndent
63
+ ATTR.textIndent,
64
+ ATTR.breakBefore,
65
+ ATTR.breakAfter
60
66
  ]);
61
67
  function attributeMap(element) {
62
68
  const map = /* @__PURE__ */ new Map();
@@ -160,6 +166,14 @@ function parseParagraphProperties(element) {
160
166
  if (multiplier === void 0) hasUnknown = true;
161
167
  else properties.lineSpacing = multiplier;
162
168
  }
169
+ const breakBefore = attrs.get(ATTR.breakBefore);
170
+ if (breakBefore === "page") properties.pageBreakBefore = true;
171
+ else if (breakBefore === "auto") properties.pageBreakBefore = false;
172
+ else if (breakBefore !== void 0) hasUnknown = true;
173
+ const breakAfter = attrs.get(ATTR.breakAfter);
174
+ if (breakAfter === "page") properties.pageBreakAfter = true;
175
+ else if (breakAfter === "auto") properties.pageBreakAfter = false;
176
+ else if (breakAfter !== void 0) hasUnknown = true;
163
177
  return {
164
178
  properties,
165
179
  hasUnknown
@@ -276,6 +290,14 @@ function paragraphPropertiesToAttributes(properties) {
276
290
  name: ATTR.textIndent,
277
291
  value: formatPt(properties.indentFirstLinePt)
278
292
  });
293
+ if (properties.pageBreakBefore !== void 0) attributes.push({
294
+ name: ATTR.breakBefore,
295
+ value: properties.pageBreakBefore ? "page" : "auto"
296
+ });
297
+ if (properties.pageBreakAfter !== void 0) attributes.push({
298
+ name: ATTR.breakAfter,
299
+ value: properties.pageBreakAfter ? "page" : "auto"
300
+ });
279
301
  return attributes;
280
302
  }
281
303
  //#endregion
@@ -1,2 +1,2 @@
1
- import { a as formatPt, c as parseStyleElementProperties, i as formatPercentageMultiplier, l as parseTextProperties, n as StyleProperties, o as paragraphPropertiesToAttributes, r as StylePropertiesSchema, s as parseParagraphProperties, t as ParsedProperties, u as textPropertiesToAttributes } from "../properties-BF_Fv6B3.cjs";
1
+ import { a as formatPt, c as parseStyleElementProperties, i as formatPercentageMultiplier, l as parseTextProperties, n as StyleProperties, o as paragraphPropertiesToAttributes, r as StylePropertiesSchema, s as parseParagraphProperties, t as ParsedProperties, u as textPropertiesToAttributes } from "../properties-C-JKQZUD.cjs";
2
2
  export { ParsedProperties, StyleProperties, StylePropertiesSchema, formatPercentageMultiplier, formatPt, paragraphPropertiesToAttributes, parseParagraphProperties, parseStyleElementProperties, parseTextProperties, textPropertiesToAttributes };
@@ -1,2 +1,2 @@
1
- import { a as formatPt, c as parseStyleElementProperties, i as formatPercentageMultiplier, l as parseTextProperties, n as StyleProperties, o as paragraphPropertiesToAttributes, r as StylePropertiesSchema, s as parseParagraphProperties, t as ParsedProperties, u as textPropertiesToAttributes } from "../properties-DjAIdPry.js";
1
+ import { a as formatPt, c as parseStyleElementProperties, i as formatPercentageMultiplier, l as parseTextProperties, n as StyleProperties, o as paragraphPropertiesToAttributes, r as StylePropertiesSchema, s as parseParagraphProperties, t as ParsedProperties, u as textPropertiesToAttributes } from "../properties-Rral02h1.js";
2
2
  export { ParsedProperties, StyleProperties, StylePropertiesSchema, formatPercentageMultiplier, formatPt, paragraphPropertiesToAttributes, parseParagraphProperties, parseStyleElementProperties, parseTextProperties, textPropertiesToAttributes };
@@ -17,7 +17,9 @@ const StylePropertiesSchema = z.object({
17
17
  spacingAfterPt: z.number().optional(),
18
18
  lineSpacing: z.number().optional(),
19
19
  indentLeftPt: z.number().optional(),
20
- indentFirstLinePt: z.number().optional()
20
+ indentFirstLinePt: z.number().optional(),
21
+ pageBreakBefore: z.boolean().optional(),
22
+ pageBreakAfter: z.boolean().optional()
21
23
  });
22
24
  const ATTR = {
23
25
  fontWeight: "fo:font-weight",
@@ -35,7 +37,9 @@ const ATTR = {
35
37
  marginBottom: "fo:margin-bottom",
36
38
  lineHeight: "fo:line-height",
37
39
  marginLeft: "fo:margin-left",
38
- textIndent: "fo:text-indent"
40
+ textIndent: "fo:text-indent",
41
+ breakBefore: "fo:break-before",
42
+ breakAfter: "fo:break-after"
39
43
  };
40
44
  const TEXT_ATTR_NAMES = /* @__PURE__ */ new Set([
41
45
  ATTR.fontWeight,
@@ -55,7 +59,9 @@ const PARAGRAPH_ATTR_NAMES = /* @__PURE__ */ new Set([
55
59
  ATTR.marginBottom,
56
60
  ATTR.lineHeight,
57
61
  ATTR.marginLeft,
58
- ATTR.textIndent
62
+ ATTR.textIndent,
63
+ ATTR.breakBefore,
64
+ ATTR.breakAfter
59
65
  ]);
60
66
  function attributeMap(element) {
61
67
  const map = /* @__PURE__ */ new Map();
@@ -159,6 +165,14 @@ function parseParagraphProperties(element) {
159
165
  if (multiplier === void 0) hasUnknown = true;
160
166
  else properties.lineSpacing = multiplier;
161
167
  }
168
+ const breakBefore = attrs.get(ATTR.breakBefore);
169
+ if (breakBefore === "page") properties.pageBreakBefore = true;
170
+ else if (breakBefore === "auto") properties.pageBreakBefore = false;
171
+ else if (breakBefore !== void 0) hasUnknown = true;
172
+ const breakAfter = attrs.get(ATTR.breakAfter);
173
+ if (breakAfter === "page") properties.pageBreakAfter = true;
174
+ else if (breakAfter === "auto") properties.pageBreakAfter = false;
175
+ else if (breakAfter !== void 0) hasUnknown = true;
162
176
  return {
163
177
  properties,
164
178
  hasUnknown
@@ -275,6 +289,14 @@ function paragraphPropertiesToAttributes(properties) {
275
289
  name: ATTR.textIndent,
276
290
  value: formatPt(properties.indentFirstLinePt)
277
291
  });
292
+ if (properties.pageBreakBefore !== void 0) attributes.push({
293
+ name: ATTR.breakBefore,
294
+ value: properties.pageBreakBefore ? "page" : "auto"
295
+ });
296
+ if (properties.pageBreakAfter !== void 0) attributes.push({
297
+ name: ATTR.breakAfter,
298
+ value: properties.pageBreakAfter ? "page" : "auto"
299
+ });
278
300
  return attributes;
279
301
  }
280
302
  //#endregion
@@ -1,2 +1,2 @@
1
- import { a as StyleRegistry, i as StyleFamily, n as OtherPartRef, o as StyleRegistryOptions, r as STYLE_FAMILIES, s as isStyleFamily, t as InternRequest } from "../registry-CaJpWDke.cjs";
1
+ import { a as StyleRegistry, i as StyleFamily, n as OtherPartRef, o as StyleRegistryOptions, r as STYLE_FAMILIES, s as isStyleFamily, t as InternRequest } from "../registry-CphRYjDD.cjs";
2
2
  export { InternRequest, OtherPartRef, STYLE_FAMILIES, StyleFamily, StyleRegistry, StyleRegistryOptions, isStyleFamily };
@@ -1,2 +1,2 @@
1
- import { a as StyleRegistry, i as StyleFamily, n as OtherPartRef, o as StyleRegistryOptions, r as STYLE_FAMILIES, s as isStyleFamily, t as InternRequest } from "../registry-BVeEpUMI.js";
1
+ import { a as StyleRegistry, i as StyleFamily, n as OtherPartRef, o as StyleRegistryOptions, r as STYLE_FAMILIES, s as isStyleFamily, t as InternRequest } from "../registry-D5RGBteE.js";
2
2
  export { InternRequest, OtherPartRef, STYLE_FAMILIES, StyleFamily, StyleRegistry, StyleRegistryOptions, isStyleFamily };
@@ -1,2 +1,2 @@
1
- import { n as canonicalPropertiesString, t as buildStylePropertyElements } from "../serialize-9xvti0FF.cjs";
1
+ import { n as canonicalPropertiesString, t as buildStylePropertyElements } from "../serialize-D1fti8C5.cjs";
2
2
  export { buildStylePropertyElements, canonicalPropertiesString };
@@ -1,2 +1,2 @@
1
- import { n as canonicalPropertiesString, t as buildStylePropertyElements } from "../serialize-DvaE_t5D.js";
1
+ import { n as canonicalPropertiesString, t as buildStylePropertyElements } from "../serialize-B-lq0LiG.js";
2
2
  export { buildStylePropertyElements, canonicalPropertiesString };
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_embedded = require("../../embedded-FMIPM1fw.cjs");
2
+ const require_embedded = require("../../embedded-DbLrCGPi.cjs");
3
3
  exports.readDrawObjectReference = require_embedded.readDrawObjectReference;
4
4
  exports.readEmbeddedObjectDocument = require_embedded.readEmbeddedObjectDocument;
5
5
  exports.readOdfChartContent = require_embedded.readOdfChartContent;
@@ -1,2 +1,2 @@
1
- import { a as readEmbeddedObjectDocument, i as readDrawObjectReference, n as EmbeddedDocumentRead, o as readOdfChartContent, r as EmbeddedDrawObject, t as EmbeddedDocumentKind } from "../../embedded-ztNK8w6V.cjs";
1
+ import { a as readEmbeddedObjectDocument, i as readDrawObjectReference, n as EmbeddedDocumentRead, o as readOdfChartContent, r as EmbeddedDrawObject, t as EmbeddedDocumentKind } from "../../embedded-BzPTTzdf.cjs";
2
2
  export { EmbeddedDocumentKind, EmbeddedDocumentRead, EmbeddedDrawObject, readDrawObjectReference, readEmbeddedObjectDocument, readOdfChartContent };
@@ -1,2 +1,2 @@
1
- import { a as readEmbeddedObjectDocument, i as readDrawObjectReference, n as EmbeddedDocumentRead, o as readOdfChartContent, r as EmbeddedDrawObject, t as EmbeddedDocumentKind } from "../../embedded-CLuwn306.js";
1
+ import { a as readEmbeddedObjectDocument, i as readDrawObjectReference, n as EmbeddedDocumentRead, o as readOdfChartContent, r as EmbeddedDrawObject, t as EmbeddedDocumentKind } from "../../embedded-Zv8KtFUo.js";
2
2
  export { EmbeddedDocumentKind, EmbeddedDocumentRead, EmbeddedDrawObject, readDrawObjectReference, readEmbeddedObjectDocument, readOdfChartContent };
@@ -1,2 +1,2 @@
1
- import { n as readEmbeddedObjectDocument, r as readOdfChartContent, t as readDrawObjectReference } from "../../embedded-BBJoUl86.js";
1
+ import { n as readEmbeddedObjectDocument, r as readOdfChartContent, t as readDrawObjectReference } from "../../embedded-BSSdoKcK.js";
2
2
  export { readDrawObjectReference, readEmbeddedObjectDocument, readOdfChartContent };
@@ -8,6 +8,7 @@ const require_typed_shared_text = require("../shared/text.cjs");
8
8
  const require_typed_shared_geometry = require("../shared/geometry.cjs");
9
9
  const require_typed_shared_cascade = require("../shared/cascade.cjs");
10
10
  const require_typed_shared_list = require("../shared/list.cjs");
11
+ const require_typed_shared_constructs = require("../shared/constructs.cjs");
11
12
  const require_typed_shared_paragraph = require("../shared/paragraph.cjs");
12
13
  const require_typed_shared_table = require("../shared/table.cjs");
13
14
  const require_typed_shared_transform = require("../shared/transform.cjs");
@@ -284,12 +285,14 @@ function readCustomShapeAsTextShape(element, groupFunctions, pkg) {
284
285
  const ownGeometry = require_typed_shared_transform.resolveOdfShapeGeometry(element);
285
286
  if (ownGeometry === void 0) return;
286
287
  const geometry = require_typed_shared_transform.composeOdfGroupTransform(groupFunctions, ownGeometry);
288
+ const enhancedGeometry = require_xml_query.childrenWithTag(element, "draw:enhanced-geometry")[0];
287
289
  return {
288
290
  name: require_xml_query.attrValue(element, "draw:name"),
289
291
  frame: geometry.frame,
290
292
  rotationDeg: geometry.rotationDeg,
291
293
  ...readFrameInsets(element, pkg),
292
- blocks: paragraphs
294
+ blocks: paragraphs,
295
+ ...enhancedGeometry !== void 0 ? { source: require_typed_shared_constructs.odfResidue("odg", enhancedGeometry) } : {}
293
296
  };
294
297
  }
295
298
  function nextDocumentIndex(state) {
@@ -7,6 +7,7 @@ import { decodeOdfText } from "../shared/text.js";
7
7
  import { parseLinePoints } from "../shared/geometry.js";
8
8
  import { resolveStyleElementChain } from "../shared/cascade.js";
9
9
  import { mintOdfListNumId, readOdfListParagraphs } from "../shared/list.js";
10
+ import { odfResidue } from "../shared/constructs.js";
10
11
  import { readOdfParagraph } from "../shared/paragraph.js";
11
12
  import { readOdfTable } from "../shared/table.js";
12
13
  import { applyOdfTransform, composeOdfGroupTransform, parseOdfTransform, resolveOdfShapeGeometry } from "../shared/transform.js";
@@ -283,12 +284,14 @@ function readCustomShapeAsTextShape(element, groupFunctions, pkg) {
283
284
  const ownGeometry = resolveOdfShapeGeometry(element);
284
285
  if (ownGeometry === void 0) return;
285
286
  const geometry = composeOdfGroupTransform(groupFunctions, ownGeometry);
287
+ const enhancedGeometry = childrenWithTag(element, "draw:enhanced-geometry")[0];
286
288
  return {
287
289
  name: attrValue(element, "draw:name"),
288
290
  frame: geometry.frame,
289
291
  rotationDeg: geometry.rotationDeg,
290
292
  ...readFrameInsets(element, pkg),
291
- blocks: paragraphs
293
+ blocks: paragraphs,
294
+ ...enhancedGeometry !== void 0 ? { source: odfResidue("odg", enhancedGeometry) } : {}
292
295
  };
293
296
  }
294
297
  function nextDocumentIndex(state) {
@@ -1,7 +1,7 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_xml_query = require("../../xml/query.cjs");
3
3
  const require_typed_odb_subdocument = require("./subdocument.cjs");
4
- const require_embedded = require("../../embedded-FMIPM1fw.cjs");
4
+ const require_embedded = require("../../embedded-DbLrCGPi.cjs");
5
5
  const require_typed_shared_forms = require("../shared/forms.cjs");
6
6
  const require_typed_odb_read = require("./read.cjs");
7
7
  //#region src/typed/odb/form.ts
@@ -1,2 +1,2 @@
1
- import { n as readOdbForm, t as OdbForm } from "../../form-BGCT81ss.cjs";
1
+ import { n as readOdbForm, t as OdbForm } from "../../form-CWWCkG-r.cjs";
2
2
  export { OdbForm, readOdbForm };
@@ -1,2 +1,2 @@
1
- import { n as readOdbForm, t as OdbForm } from "../../form-D3H5H2NL.js";
1
+ import { n as readOdbForm, t as OdbForm } from "../../form-RJTtSmwn.js";
2
2
  export { OdbForm, readOdbForm };
@@ -1,6 +1,6 @@
1
1
  import { findChildElement, rootElement } from "../../xml/query.js";
2
2
  import { subDocumentPackage } from "./subdocument.js";
3
- import { a as readOdtContent } from "../../embedded-BBJoUl86.js";
3
+ import { a as readOdtContent } from "../../embedded-BSSdoKcK.js";
4
4
  import { readOdfFormDefinitions } from "../shared/forms.js";
5
5
  import { resolveOdbComponent } from "./read.js";
6
6
  //#region src/typed/odb/form.ts
@@ -1,6 +1,7 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_xml_query = require("../../xml/query.cjs");
3
3
  const require_typed_shared_metadata = require("../shared/metadata.cjs");
4
+ const require_typed_shared_constructs = require("../shared/constructs.cjs");
4
5
  const require_typed_shared_masterpage = require("../shared/masterpage.cjs");
5
6
  const require_typed_draw_shapes = require("../draw/shapes.cjs");
6
7
  let document_schema_js = require("document-schema.js");
@@ -9,10 +10,14 @@ const CONTENT_PART = "content.xml";
9
10
  function readPage(page, pkg) {
10
11
  const size = require_typed_shared_masterpage.resolveDrawPageSize(page, pkg) ?? document_schema_js.PAGE_SIZE_A4;
11
12
  const { shapes, vectors } = require_typed_draw_shapes.readDrawPageContent(page.children, pkg);
13
+ const unmapped = [];
14
+ require_typed_shared_constructs.collectOdfUnmappedShapeResidue(page.children, unmapped);
15
+ const source = unmapped.length > 0 ? require_typed_shared_constructs.odfResidue("odg", ...unmapped) : void 0;
12
16
  return {
13
17
  size,
14
18
  shapes,
15
- vectors
19
+ vectors,
20
+ ...source !== void 0 ? { source } : {}
16
21
  };
17
22
  }
18
23
  function readOdgContent(pkg) {
@@ -21,18 +26,23 @@ function readOdgContent(pkg) {
21
26
  const body = root === void 0 ? void 0 : require_xml_query.findChildElement(root.children, "office:body");
22
27
  const drawing = body === void 0 ? void 0 : require_xml_query.findChildElement(body.children, "office:drawing");
23
28
  const pages = drawing === void 0 ? [] : require_xml_query.childrenWithTag(drawing, "draw:page");
29
+ const source = {};
30
+ require_typed_shared_constructs.collectOdfNonContentPartResidue(pkg, "odg", source);
24
31
  return {
25
32
  metadata: require_typed_shared_metadata.readOdfMetadata(pkg),
26
- pages: pages.map((page) => readPage(page, pkg))
33
+ pages: pages.map((page) => readPage(page, pkg)),
34
+ ...Object.keys(source).length > 0 ? { source } : {}
27
35
  };
28
36
  }
29
37
  function readOdg(pkg) {
30
- const { metadata, pages } = readOdgContent(pkg);
31
- return (0, document_schema_js.assemblePackage)({
38
+ const { metadata, pages, source } = readOdgContent(pkg);
39
+ const assembled = (0, document_schema_js.assemblePackage)({
32
40
  kind: "drawing",
33
41
  metadata,
34
42
  pages
35
43
  });
44
+ if (source !== void 0) assembled.source = source;
45
+ return assembled;
36
46
  }
37
47
  //#endregion
38
48
  exports.readOdg = readOdg;
@@ -1,2 +1,2 @@
1
- import { n as readOdg, r as readOdgContent, t as OdgDocument } from "../../read-DOYWO6BM.cjs";
1
+ import { n as readOdg, r as readOdgContent, t as OdgDocument } from "../../read-IOYq80AA.cjs";
2
2
  export { OdgDocument, readOdg, readOdgContent };
@@ -1,2 +1,2 @@
1
- import { n as readOdg, r as readOdgContent, t as OdgDocument } from "../../read-lc0t0UHK.js";
1
+ import { n as readOdg, r as readOdgContent, t as OdgDocument } from "../../read-BLoaDxr_.js";
2
2
  export { OdgDocument, readOdg, readOdgContent };
@@ -1,5 +1,6 @@
1
1
  import { childrenWithTag, findChildElement, rootElement } from "../../xml/query.js";
2
2
  import { readOdfMetadata } from "../shared/metadata.js";
3
+ import { collectOdfNonContentPartResidue, collectOdfUnmappedShapeResidue, odfResidue } from "../shared/constructs.js";
3
4
  import { resolveDrawPageSize } from "../shared/masterpage.js";
4
5
  import { readDrawPageContent } from "../draw/shapes.js";
5
6
  import { PAGE_SIZE_A4, assemblePackage } from "document-schema.js";
@@ -8,10 +9,14 @@ const CONTENT_PART = "content.xml";
8
9
  function readPage(page, pkg) {
9
10
  const size = resolveDrawPageSize(page, pkg) ?? PAGE_SIZE_A4;
10
11
  const { shapes, vectors } = readDrawPageContent(page.children, pkg);
12
+ const unmapped = [];
13
+ collectOdfUnmappedShapeResidue(page.children, unmapped);
14
+ const source = unmapped.length > 0 ? odfResidue("odg", ...unmapped) : void 0;
11
15
  return {
12
16
  size,
13
17
  shapes,
14
- vectors
18
+ vectors,
19
+ ...source !== void 0 ? { source } : {}
15
20
  };
16
21
  }
17
22
  function readOdgContent(pkg) {
@@ -20,18 +25,23 @@ function readOdgContent(pkg) {
20
25
  const body = root === void 0 ? void 0 : findChildElement(root.children, "office:body");
21
26
  const drawing = body === void 0 ? void 0 : findChildElement(body.children, "office:drawing");
22
27
  const pages = drawing === void 0 ? [] : childrenWithTag(drawing, "draw:page");
28
+ const source = {};
29
+ collectOdfNonContentPartResidue(pkg, "odg", source);
23
30
  return {
24
31
  metadata: readOdfMetadata(pkg),
25
- pages: pages.map((page) => readPage(page, pkg))
32
+ pages: pages.map((page) => readPage(page, pkg)),
33
+ ...Object.keys(source).length > 0 ? { source } : {}
26
34
  };
27
35
  }
28
36
  function readOdg(pkg) {
29
- const { metadata, pages } = readOdgContent(pkg);
30
- return assemblePackage({
37
+ const { metadata, pages, source } = readOdgContent(pkg);
38
+ const assembled = assemblePackage({
31
39
  kind: "drawing",
32
40
  metadata,
33
41
  pages
34
42
  });
43
+ if (source !== void 0) assembled.source = source;
44
+ return assembled;
35
45
  }
36
46
  //#endregion
37
47
  export { readOdg, readOdgContent };
@@ -2,6 +2,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_xml_query = require("../../xml/query.cjs");
3
3
  const require_typed_shared_text = require("../shared/text.cjs");
4
4
  const require_typed_shared_metadata = require("../shared/metadata.cjs");
5
+ const require_typed_shared_constructs = require("../shared/constructs.cjs");
5
6
  const require_typed_shared_masterpage = require("../shared/masterpage.cjs");
6
7
  const require_typed_draw_shapes = require("../draw/shapes.cjs");
7
8
  let document_schema_js = require("document-schema.js");
@@ -15,13 +16,53 @@ function readSlideNotes(page) {
15
16
  if (notes === void 0) return "";
16
17
  return require_xml_query.elementsWithTag(notes.children, "text:p").map(require_typed_shared_text.decodeOdfText).join("\n");
17
18
  }
19
+ const ODP_TRANSITION_ATTRIBUTES = [
20
+ "presentation:transition-type",
21
+ "presentation:transition-style",
22
+ "presentation:transition-speed",
23
+ "presentation:duration",
24
+ "smil:type",
25
+ "smil:subtype",
26
+ "smil:direction",
27
+ "smil:fadeColor"
28
+ ];
29
+ function findDrawingPageProperties(pkg, styleName) {
30
+ if (styleName === void 0) return;
31
+ for (const partPath of ["content.xml", "styles.xml"]) {
32
+ const part = pkg.parts[partPath];
33
+ if (part?.kind !== "xml") continue;
34
+ const root = require_xml_query.rootElement(part.nodes);
35
+ if (root === void 0) continue;
36
+ for (const containerTag of ["office:automatic-styles", "office:styles"]) {
37
+ const container = require_xml_query.findChildElement(root.children, containerTag);
38
+ if (container === void 0) continue;
39
+ for (const style of require_xml_query.childrenWithTag(container, "style:style")) if (require_xml_query.attrValue(style, "style:family") === "drawing-page" && require_xml_query.attrValue(style, "style:name") === styleName) return require_xml_query.childrenWithTag(style, "style:drawing-page-properties")[0];
40
+ }
41
+ }
42
+ }
43
+ const ODP_PRESENTATION_EXTRA_TAGS = /* @__PURE__ */ new Set([
44
+ "presentation:sound",
45
+ "presentation:animations",
46
+ "anim:par",
47
+ "anim:seq"
48
+ ]);
49
+ function readSlideResidue(page, pkg) {
50
+ const elements = [];
51
+ const drawingPageProperties = findDrawingPageProperties(pkg, require_xml_query.attrValue(page, "draw:style-name"));
52
+ if (drawingPageProperties !== void 0 && ODP_TRANSITION_ATTRIBUTES.some((name) => require_xml_query.attrValue(drawingPageProperties, name) !== void 0)) elements.push(require_typed_shared_constructs.odfAttributeElement(drawingPageProperties, ...ODP_TRANSITION_ATTRIBUTES));
53
+ for (const child of page.children) if (child.type === "element" && ODP_PRESENTATION_EXTRA_TAGS.has(child.tag)) elements.push(child);
54
+ require_typed_shared_constructs.collectOdfUnmappedShapeResidue(page.children, elements);
55
+ return elements.length > 0 ? require_typed_shared_constructs.odfResidue("odp", ...elements) : void 0;
56
+ }
18
57
  function readSlide(page, pkg, listIdState) {
19
58
  const shapes = [];
20
59
  require_typed_draw_shapes.walkDrawShapes(page.children, [], pkg, shapes, { next: 0 }, listIdState);
60
+ const source = readSlideResidue(page, pkg);
21
61
  return {
22
62
  size: readSlideSize(page, pkg),
23
63
  shapes,
24
- notes: readSlideNotes(page)
64
+ notes: readSlideNotes(page),
65
+ ...source !== void 0 ? { source } : {}
25
66
  };
26
67
  }
27
68
  function readOdpContent(pkg) {
@@ -31,18 +72,24 @@ function readOdpContent(pkg) {
31
72
  const presentation = body === void 0 ? void 0 : require_xml_query.findChildElement(body.children, "office:presentation");
32
73
  const pages = presentation === void 0 ? [] : require_xml_query.childrenWithTag(presentation, "draw:page");
33
74
  const listIdState = { next: 1 };
75
+ const slides = pages.map((page) => readSlide(page, pkg, listIdState));
76
+ const source = {};
77
+ require_typed_shared_constructs.collectOdfNonContentPartResidue(pkg, "odp", source);
34
78
  return {
35
79
  metadata: require_typed_shared_metadata.readOdfMetadata(pkg),
36
- slides: pages.map((page) => readSlide(page, pkg, listIdState))
80
+ slides,
81
+ ...Object.keys(source).length > 0 ? { source } : {}
37
82
  };
38
83
  }
39
84
  function readOdp(pkg) {
40
- const { metadata, slides } = readOdpContent(pkg);
41
- return (0, document_schema_js.assemblePackage)({
85
+ const { metadata, slides, source } = readOdpContent(pkg);
86
+ const assembled = (0, document_schema_js.assemblePackage)({
42
87
  kind: "presentation",
43
88
  metadata,
44
89
  slides
45
90
  });
91
+ if (source !== void 0) assembled.source = source;
92
+ return assembled;
46
93
  }
47
94
  //#endregion
48
95
  exports.readOdp = readOdp;
@@ -1,2 +1,2 @@
1
- import { n as readOdp, r as readOdpContent, t as OdpDocument } from "../../read-CTfeWaWq.cjs";
1
+ import { n as readOdp, r as readOdpContent, t as OdpDocument } from "../../read-CDSmR3qt.cjs";
2
2
  export { OdpDocument, readOdp, readOdpContent };
@@ -1,2 +1,2 @@
1
- import { n as readOdp, r as readOdpContent, t as OdpDocument } from "../../read-Db_GZ0ZH.js";
1
+ import { n as readOdp, r as readOdpContent, t as OdpDocument } from "../../read-DfEHXwgn.js";
2
2
  export { OdpDocument, readOdp, readOdpContent };