js.documents 2.3.2 → 3.0.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 (106) hide show
  1. package/README.md +27 -14
  2. package/dist/codecs/registry.d.cts +8 -3
  3. package/dist/codecs/registry.d.ts +8 -3
  4. package/dist/convert/canonicalise.cjs +20 -0
  5. package/dist/convert/canonicalise.d.cts +5 -0
  6. package/dist/convert/canonicalise.d.ts +5 -0
  7. package/dist/convert/canonicalise.js +18 -0
  8. package/dist/convert/composition.cjs +29 -28
  9. package/dist/convert/composition.d.cts +1 -1
  10. package/dist/convert/composition.d.ts +1 -1
  11. package/dist/convert/composition.js +29 -28
  12. package/dist/convert/convert.cjs +14 -26
  13. package/dist/convert/convert.d.cts +1 -1
  14. package/dist/convert/convert.d.ts +1 -1
  15. package/dist/convert/convert.js +14 -26
  16. package/dist/convert/decompose.cjs +134 -0
  17. package/dist/convert/decompose.d.cts +13 -0
  18. package/dist/convert/decompose.d.ts +13 -0
  19. package/dist/convert/decompose.js +126 -0
  20. package/dist/convert/factor-styles.cjs +364 -0
  21. package/dist/convert/factor-styles.d.cts +6 -0
  22. package/dist/convert/factor-styles.d.ts +6 -0
  23. package/dist/convert/factor-styles.js +362 -0
  24. package/dist/convert/flatten.cjs +137 -0
  25. package/dist/convert/flatten.d.cts +5 -0
  26. package/dist/convert/flatten.d.ts +5 -0
  27. package/dist/convert/flatten.js +136 -0
  28. package/dist/convert/from-package.cjs +4 -3
  29. package/dist/convert/from-package.d.cts +2 -1
  30. package/dist/convert/from-package.d.ts +2 -1
  31. package/dist/convert/from-package.js +5 -4
  32. package/dist/convert/local.cjs +1 -1
  33. package/dist/convert/local.js +1 -1
  34. package/dist/convert/variant-bridges.cjs +0 -4
  35. package/dist/convert/variant-bridges.js +1 -5
  36. package/dist/csv/read.cjs +0 -1
  37. package/dist/csv/read.js +1 -2
  38. package/dist/edit/docx/numbering.d.cts +1 -1
  39. package/dist/edit/docx/numbering.d.ts +1 -1
  40. package/dist/edit/docx/paragraph.cjs +1 -0
  41. package/dist/edit/docx/paragraph.js +1 -0
  42. package/dist/edit/pdf/editor.cjs +1 -2
  43. package/dist/edit/pdf/editor.d.cts +2 -2
  44. package/dist/edit/pdf/editor.d.ts +2 -2
  45. package/dist/edit/pdf/editor.js +1 -2
  46. package/dist/edit/pdf/item.d.cts +1 -1
  47. package/dist/edit/pdf/item.d.ts +1 -1
  48. package/dist/edit/pdf/page.d.cts +2 -2
  49. package/dist/edit/pdf/page.d.ts +2 -2
  50. package/dist/edit/pdf/util.d.cts +1 -1
  51. package/dist/edit/pdf/util.d.ts +1 -1
  52. package/dist/fonts/registry.d.cts +1 -1
  53. package/dist/fonts/registry.d.ts +1 -1
  54. package/dist/index.cjs +10 -15
  55. package/dist/index.d.cts +7 -4
  56. package/dist/index.d.ts +7 -4
  57. package/dist/index.js +6 -3
  58. package/dist/{item-Dj6f1VTE.d.cts → item-D9vQKT0T.d.cts} +2 -1
  59. package/dist/{item-Dj6f1VTE.d.ts → item-D9vQKT0T.d.ts} +2 -1
  60. package/dist/latex/lint.cjs +3 -2
  61. package/dist/latex/lint.js +3 -2
  62. package/dist/layout/drawing.d.cts +2 -1
  63. package/dist/layout/drawing.d.ts +2 -1
  64. package/dist/layout/engine.cjs +8 -5
  65. package/dist/layout/engine.d.cts +2 -1
  66. package/dist/layout/engine.d.ts +2 -1
  67. package/dist/layout/engine.js +8 -5
  68. package/dist/layout/lattice.d.cts +1 -1
  69. package/dist/layout/lattice.d.ts +1 -1
  70. package/dist/layout/reconstruct.cjs +0 -5
  71. package/dist/layout/reconstruct.d.cts +2 -1
  72. package/dist/layout/reconstruct.d.ts +2 -1
  73. package/dist/layout/reconstruct.js +0 -5
  74. package/dist/layout/shared.cjs +2 -1
  75. package/dist/layout/shared.d.cts +2 -1
  76. package/dist/layout/shared.d.ts +2 -1
  77. package/dist/layout/shared.js +2 -1
  78. package/dist/layout/sheets.d.cts +2 -1
  79. package/dist/layout/sheets.d.ts +2 -1
  80. package/dist/layout/slides.d.cts +2 -1
  81. package/dist/layout/slides.d.ts +2 -1
  82. package/dist/markdown/render.cjs +0 -1
  83. package/dist/markdown/render.js +1 -2
  84. package/dist/model/embedded-drawing.cjs +5 -8
  85. package/dist/model/embedded-drawing.js +5 -8
  86. package/dist/model/formula.cjs +0 -2
  87. package/dist/model/formula.js +0 -2
  88. package/dist/odb/report/render.cjs +0 -1
  89. package/dist/odb/report/render.js +1 -2
  90. package/dist/odb/spreadsheet.cjs +0 -1
  91. package/dist/odb/spreadsheet.js +1 -2
  92. package/dist/odf/odg/read.cjs +0 -2
  93. package/dist/odf/odg/read.js +0 -2
  94. package/dist/odf/odp/read.cjs +0 -2
  95. package/dist/odf/odp/read.js +0 -2
  96. package/dist/odf/ods/read.cjs +0 -2
  97. package/dist/odf/ods/read.js +0 -2
  98. package/dist/odf/odt/read.cjs +0 -2
  99. package/dist/odf/odt/read.js +0 -2
  100. package/dist/ooxml/docx/read.cjs +0 -2
  101. package/dist/ooxml/docx/read.js +0 -2
  102. package/dist/ooxml/pptx/read.cjs +0 -2
  103. package/dist/ooxml/pptx/read.js +0 -2
  104. package/dist/svg/read.cjs +8 -11
  105. package/dist/svg/read.js +8 -11
  106. package/package.json +6 -6
@@ -11,11 +11,12 @@ import { throwIfAborted } from "../ports/abort.js";
11
11
  import { buildOdbTableCsv } from "../odb/csv.js";
12
12
  import { readOdbTables } from "../odb/read.js";
13
13
  import { odbTablesToSpreadsheetDocument } from "../odb/spreadsheet.js";
14
+ import { assemblePackage } from "./factor-styles.js";
14
15
  import { convertDocument } from "./composition.js";
15
16
  import { buildXlsxPackage, encodePackage } from "ooxml.js";
16
- import { COLOR_BLACK, CONTENT_FORMAT_VERSION, DOCUMENT_PACKAGE_FORMAT_VERSION, LAYOUT_FORMAT_VERSION, PAGE_SIZE_A4 } from "document-schema.js";
17
+ import { COLOR_BLACK, PAGE_SIZE_A4 } from "document-schema.js";
18
+ import { LAYOUT_FORMAT_VERSION, createFontMeasurer, createFontRegistry, loadMathFont, writePdf } from "pdf-codec";
17
19
  import { decodePackage as decodePackage$1, encodePackage as encodePackage$1, readOdfMetadata, readOdfParagraph, readOdfTable, readOdm } from "odf.js";
18
- import { createFontMeasurer, createFontRegistry, loadMathFont, writePdf } from "pdf-codec";
19
20
  //#region src/convert/convert.ts
20
21
  const mathMetricsAt = (sizePt) => loadMathFont().metricsAt(sizePt);
21
22
  function docxToPdf(bytes, options) {
@@ -78,16 +79,8 @@ function odfToPdf(bytes, options) {
78
79
  }],
79
80
  images: {}
80
81
  };
81
- options?.onDocument?.({
82
- formatVersion: DOCUMENT_PACKAGE_FORMAT_VERSION,
83
- content,
84
- pages: [{
85
- widthPt: PAGE_SIZE_A4.widthPt,
86
- heightPt: PAGE_SIZE_A4.heightPt
87
- }]
88
- });
89
82
  throwIfAborted(options?.signal);
90
- return writePdf(layout, {
83
+ const out = writePdf(layout, {
91
84
  signal: options?.signal,
92
85
  formulas: [{
93
86
  pageIndex: 0,
@@ -96,6 +89,11 @@ function odfToPdf(bytes, options) {
96
89
  box
97
90
  }]
98
91
  });
92
+ options?.onDocument?.(assemblePackage(content, [{
93
+ widthPt: PAGE_SIZE_A4.widthPt,
94
+ heightPt: PAGE_SIZE_A4.heightPt
95
+ }]));
96
+ return out;
99
97
  }
100
98
  function pdfToDocx(bytes, options) {
101
99
  return convertDocument("pdf", "docx", bytes, options);
@@ -279,7 +277,6 @@ function odmToPdf(bytes, options) {
279
277
  throwIfAborted(options?.signal);
280
278
  const content = {
281
279
  kind: "wordprocessing",
282
- formatVersion: CONTENT_FORMAT_VERSION,
283
280
  metadata: resolveMetadataTimestamps(readOdfMetadata(pkg), options?.clock),
284
281
  sections: combinedSections
285
282
  };
@@ -306,10 +303,7 @@ function odbToXlsx(bytes, options) {
306
303
  throwIfAborted(options?.signal);
307
304
  const content = odbTablesToSpreadsheetDocument(tables);
308
305
  const out = encodePackage(buildXlsxPackage(content));
309
- options?.onDocument?.({
310
- formatVersion: DOCUMENT_PACKAGE_FORMAT_VERSION,
311
- content
312
- });
306
+ options?.onDocument?.(assemblePackage(content));
313
307
  return out;
314
308
  }
315
309
  function odbToCsv(bytes, options) {
@@ -318,10 +312,7 @@ function odbToCsv(bytes, options) {
318
312
  const tables = readOdbTables(pkg, { timeZone: options?.timeZone });
319
313
  throwIfAborted(options?.signal);
320
314
  const csv = buildOdbTableCsv(tables, options?.table);
321
- if (options?.onDocument !== void 0) options.onDocument({
322
- formatVersion: DOCUMENT_PACKAGE_FORMAT_VERSION,
323
- content: odbTablesToSpreadsheetDocument(tables)
324
- });
315
+ if (options?.onDocument !== void 0) options.onDocument(assemblePackage(odbTablesToSpreadsheetDocument(tables)));
325
316
  return csv;
326
317
  }
327
318
  function odbReportToDocx(content, options) {
@@ -343,17 +334,14 @@ function odbReportToPdf(content, options) {
343
334
  measurer: createFontMeasurer(fonts),
344
335
  mathMetricsAt
345
336
  });
346
- options?.onDocument?.({
347
- formatVersion: DOCUMENT_PACKAGE_FORMAT_VERSION,
348
- content,
349
- pages: [...pages]
350
- });
351
- return writePdf(layout, {
337
+ const out = writePdf(layout, {
352
338
  signal: options?.signal,
353
339
  onSubstitution: options?.onSubstitution,
354
340
  formulas,
355
341
  fonts
356
342
  });
343
+ options?.onDocument?.(assemblePackage(content, pages));
344
+ return out;
357
345
  }
358
346
  //#endregion
359
347
  export { OdmUnresolvedSectionError, csvToMarkdown, csvToOds, csvToPdf, csvToXlsx, docxToMarkdown, docxToOdt, docxToPdf, docxToPptx, inlineOdmSectionToContentSection, markdownToCsv, markdownToDocx, markdownToOdt, markdownToPdf, markdownToXlsx, odbReportToDocx, odbReportToOdt, odbReportToPdf, odbToCsv, odbToXlsx, odfToPdf, odgToPdf, odgToSvg, odmToPdf, odpToOdt, odpToPdf, odpToPptx, odsToCsv, odsToPdf, odsToXlsx, odtToDocx, odtToMarkdown, odtToOdp, odtToPdf, pdfToCsv, pdfToDocx, pdfToMarkdown, pdfToOdg, pdfToOdp, pdfToOds, pdfToOdt, pdfToPptx, pdfToSvg, pdfToXlsx, pptxToDocx, pptxToOdp, pptxToPdf, svgToOdg, svgToPdf, xlsxToCsv, xlsxToMarkdown, xlsxToOds, xlsxToPdf };
@@ -0,0 +1,134 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ //#region src/convert/decompose.ts
3
+ function isHeadingParagraph(paragraph) {
4
+ return paragraph.headingLevel !== void 0;
5
+ }
6
+ function isListParagraph(paragraph) {
7
+ return paragraph.list !== void 0;
8
+ }
9
+ function decompose(content) {
10
+ switch (content.kind) {
11
+ case "wordprocessing": return content.sections.map(decomposeSection);
12
+ case "presentation": return content.slides.map(decomposeSlide);
13
+ case "spreadsheet": return content.sheets.map(decomposeSheet);
14
+ case "drawing": return content.pages.map(decomposeDrawPage);
15
+ case "formula": return [content.formula];
16
+ }
17
+ }
18
+ function decomposeSection(section) {
19
+ const { blocks, ...rest } = section;
20
+ return {
21
+ node: {
22
+ kind: "section",
23
+ ...rest
24
+ },
25
+ children: decomposeSectionBlocks(blocks)
26
+ };
27
+ }
28
+ function decomposeSectionBlocks(blocks) {
29
+ const root = [];
30
+ const headingStack = [];
31
+ const listStack = [];
32
+ const headingScope = () => headingStack.at(-1)?.children ?? root;
33
+ for (const block of blocks) {
34
+ if (block.kind !== "paragraph") {
35
+ const parent = listStack.at(-1);
36
+ (parent !== void 0 ? parent.children : headingScope()).push(block);
37
+ continue;
38
+ }
39
+ if (isHeadingParagraph(block)) {
40
+ listStack.length = 0;
41
+ const level = block.headingLevel;
42
+ for (let top = headingStack.at(-1); top !== void 0 && top.node.headingLevel >= level; top = headingStack.at(-1)) headingStack.pop();
43
+ const group = {
44
+ node: block,
45
+ children: []
46
+ };
47
+ const parent = headingStack.at(-1);
48
+ (parent !== void 0 ? parent.children : root).push(group);
49
+ headingStack.push(group);
50
+ } else if (isListParagraph(block)) openListGroup(listStack, headingScope(), block);
51
+ else {
52
+ listStack.length = 0;
53
+ headingScope().push(block);
54
+ }
55
+ }
56
+ return root;
57
+ }
58
+ function decomposeSlide(slide) {
59
+ const { shapes, ...rest } = slide;
60
+ return {
61
+ node: {
62
+ kind: "slide",
63
+ ...rest
64
+ },
65
+ children: shapes.map(decomposeShape)
66
+ };
67
+ }
68
+ function decomposeSheet(sheet) {
69
+ const { images, embeddedObjects, ...rest } = sheet;
70
+ const children = [...images, ...embeddedObjects ?? []];
71
+ return {
72
+ node: {
73
+ kind: "sheet",
74
+ ...rest
75
+ },
76
+ children
77
+ };
78
+ }
79
+ function decomposeDrawPage(page) {
80
+ const { shapes, vectors, ...rest } = page;
81
+ const children = [...shapes.map(decomposeShape), ...vectors];
82
+ return {
83
+ node: {
84
+ kind: "drawPage",
85
+ ...rest
86
+ },
87
+ children
88
+ };
89
+ }
90
+ function decomposeShape(shape) {
91
+ const { blocks, ...rest } = shape;
92
+ return {
93
+ node: rest,
94
+ children: decomposeShapeBlocks(blocks)
95
+ };
96
+ }
97
+ function decomposeShapeBlocks(blocks) {
98
+ const root = [];
99
+ const listStack = [];
100
+ for (const block of blocks) {
101
+ if (block.kind !== "paragraph") {
102
+ const parent = listStack.at(-1);
103
+ (parent !== void 0 ? parent.children : root).push(block);
104
+ continue;
105
+ }
106
+ if (isListParagraph(block)) {
107
+ openListGroup(listStack, root, block);
108
+ continue;
109
+ }
110
+ listStack.length = 0;
111
+ root.push(block);
112
+ }
113
+ return root;
114
+ }
115
+ function openListGroup(listStack, scopeChildren, paragraph) {
116
+ const level = paragraph.list.level;
117
+ for (let top = listStack.at(-1); top !== void 0 && top.node.list.level >= level; top = listStack.at(-1)) listStack.pop();
118
+ const group = {
119
+ node: paragraph,
120
+ children: []
121
+ };
122
+ const parent = listStack.at(-1);
123
+ (parent !== void 0 ? parent.children : scopeChildren).push(group);
124
+ listStack.push(group);
125
+ }
126
+ //#endregion
127
+ exports.decompose = decompose;
128
+ exports.decomposeDrawPage = decomposeDrawPage;
129
+ exports.decomposeSection = decomposeSection;
130
+ exports.decomposeShape = decomposeShape;
131
+ exports.decomposeSheet = decomposeSheet;
132
+ exports.decomposeSlide = decomposeSlide;
133
+ exports.isHeadingParagraph = isHeadingParagraph;
134
+ exports.isListParagraph = isListParagraph;
@@ -0,0 +1,13 @@
1
+ import { ContentDocument, ContentDrawPage, ContentFormula, ContentParagraph, ContentSection, ContentShape, ContentSheet, ContentSlide, DrawPageGroupNode, HeadingParagraph, ListParagraph, SectionGroupNode, ShapeGroupNode, SheetGroupNode, SlideGroupNode } from "document-schema.js";
2
+ //#region src/convert/decompose.d.ts
3
+ declare function isHeadingParagraph(paragraph: ContentParagraph): paragraph is HeadingParagraph;
4
+ declare function isListParagraph(paragraph: ContentParagraph): paragraph is ListParagraph;
5
+ type PackageChildren = SectionGroupNode[] | SlideGroupNode[] | SheetGroupNode[] | DrawPageGroupNode[] | ContentFormula[];
6
+ declare function decompose(content: ContentDocument): PackageChildren;
7
+ declare function decomposeSection(section: ContentSection): SectionGroupNode;
8
+ declare function decomposeSlide(slide: ContentSlide): SlideGroupNode;
9
+ declare function decomposeSheet(sheet: ContentSheet): SheetGroupNode;
10
+ declare function decomposeDrawPage(page: ContentDrawPage): DrawPageGroupNode;
11
+ declare function decomposeShape(shape: ContentShape): ShapeGroupNode;
12
+ //#endregion
13
+ export { PackageChildren, decompose, decomposeDrawPage, decomposeSection, decomposeShape, decomposeSheet, decomposeSlide, isHeadingParagraph, isListParagraph };
@@ -0,0 +1,13 @@
1
+ import { ContentDocument, ContentDrawPage, ContentFormula, ContentParagraph, ContentSection, ContentShape, ContentSheet, ContentSlide, DrawPageGroupNode, HeadingParagraph, ListParagraph, SectionGroupNode, ShapeGroupNode, SheetGroupNode, SlideGroupNode } from "document-schema.js";
2
+ //#region src/convert/decompose.d.ts
3
+ declare function isHeadingParagraph(paragraph: ContentParagraph): paragraph is HeadingParagraph;
4
+ declare function isListParagraph(paragraph: ContentParagraph): paragraph is ListParagraph;
5
+ type PackageChildren = SectionGroupNode[] | SlideGroupNode[] | SheetGroupNode[] | DrawPageGroupNode[] | ContentFormula[];
6
+ declare function decompose(content: ContentDocument): PackageChildren;
7
+ declare function decomposeSection(section: ContentSection): SectionGroupNode;
8
+ declare function decomposeSlide(slide: ContentSlide): SlideGroupNode;
9
+ declare function decomposeSheet(sheet: ContentSheet): SheetGroupNode;
10
+ declare function decomposeDrawPage(page: ContentDrawPage): DrawPageGroupNode;
11
+ declare function decomposeShape(shape: ContentShape): ShapeGroupNode;
12
+ //#endregion
13
+ export { PackageChildren, decompose, decomposeDrawPage, decomposeSection, decomposeShape, decomposeSheet, decomposeSlide, isHeadingParagraph, isListParagraph };
@@ -0,0 +1,126 @@
1
+ //#region src/convert/decompose.ts
2
+ function isHeadingParagraph(paragraph) {
3
+ return paragraph.headingLevel !== void 0;
4
+ }
5
+ function isListParagraph(paragraph) {
6
+ return paragraph.list !== void 0;
7
+ }
8
+ function decompose(content) {
9
+ switch (content.kind) {
10
+ case "wordprocessing": return content.sections.map(decomposeSection);
11
+ case "presentation": return content.slides.map(decomposeSlide);
12
+ case "spreadsheet": return content.sheets.map(decomposeSheet);
13
+ case "drawing": return content.pages.map(decomposeDrawPage);
14
+ case "formula": return [content.formula];
15
+ }
16
+ }
17
+ function decomposeSection(section) {
18
+ const { blocks, ...rest } = section;
19
+ return {
20
+ node: {
21
+ kind: "section",
22
+ ...rest
23
+ },
24
+ children: decomposeSectionBlocks(blocks)
25
+ };
26
+ }
27
+ function decomposeSectionBlocks(blocks) {
28
+ const root = [];
29
+ const headingStack = [];
30
+ const listStack = [];
31
+ const headingScope = () => headingStack.at(-1)?.children ?? root;
32
+ for (const block of blocks) {
33
+ if (block.kind !== "paragraph") {
34
+ const parent = listStack.at(-1);
35
+ (parent !== void 0 ? parent.children : headingScope()).push(block);
36
+ continue;
37
+ }
38
+ if (isHeadingParagraph(block)) {
39
+ listStack.length = 0;
40
+ const level = block.headingLevel;
41
+ for (let top = headingStack.at(-1); top !== void 0 && top.node.headingLevel >= level; top = headingStack.at(-1)) headingStack.pop();
42
+ const group = {
43
+ node: block,
44
+ children: []
45
+ };
46
+ const parent = headingStack.at(-1);
47
+ (parent !== void 0 ? parent.children : root).push(group);
48
+ headingStack.push(group);
49
+ } else if (isListParagraph(block)) openListGroup(listStack, headingScope(), block);
50
+ else {
51
+ listStack.length = 0;
52
+ headingScope().push(block);
53
+ }
54
+ }
55
+ return root;
56
+ }
57
+ function decomposeSlide(slide) {
58
+ const { shapes, ...rest } = slide;
59
+ return {
60
+ node: {
61
+ kind: "slide",
62
+ ...rest
63
+ },
64
+ children: shapes.map(decomposeShape)
65
+ };
66
+ }
67
+ function decomposeSheet(sheet) {
68
+ const { images, embeddedObjects, ...rest } = sheet;
69
+ const children = [...images, ...embeddedObjects ?? []];
70
+ return {
71
+ node: {
72
+ kind: "sheet",
73
+ ...rest
74
+ },
75
+ children
76
+ };
77
+ }
78
+ function decomposeDrawPage(page) {
79
+ const { shapes, vectors, ...rest } = page;
80
+ const children = [...shapes.map(decomposeShape), ...vectors];
81
+ return {
82
+ node: {
83
+ kind: "drawPage",
84
+ ...rest
85
+ },
86
+ children
87
+ };
88
+ }
89
+ function decomposeShape(shape) {
90
+ const { blocks, ...rest } = shape;
91
+ return {
92
+ node: rest,
93
+ children: decomposeShapeBlocks(blocks)
94
+ };
95
+ }
96
+ function decomposeShapeBlocks(blocks) {
97
+ const root = [];
98
+ const listStack = [];
99
+ for (const block of blocks) {
100
+ if (block.kind !== "paragraph") {
101
+ const parent = listStack.at(-1);
102
+ (parent !== void 0 ? parent.children : root).push(block);
103
+ continue;
104
+ }
105
+ if (isListParagraph(block)) {
106
+ openListGroup(listStack, root, block);
107
+ continue;
108
+ }
109
+ listStack.length = 0;
110
+ root.push(block);
111
+ }
112
+ return root;
113
+ }
114
+ function openListGroup(listStack, scopeChildren, paragraph) {
115
+ const level = paragraph.list.level;
116
+ for (let top = listStack.at(-1); top !== void 0 && top.node.list.level >= level; top = listStack.at(-1)) listStack.pop();
117
+ const group = {
118
+ node: paragraph,
119
+ children: []
120
+ };
121
+ const parent = listStack.at(-1);
122
+ (parent !== void 0 ? parent.children : scopeChildren).push(group);
123
+ listStack.push(group);
124
+ }
125
+ //#endregion
126
+ export { decompose, decomposeDrawPage, decomposeSection, decomposeShape, decomposeSheet, decomposeSlide, isHeadingParagraph, isListParagraph };