documents.js 4.4.7 → 4.5.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.
- package/README.md +11 -1
- package/dist/convert/convert.cjs +1 -1
- package/dist/convert/convert.js +1 -1
- package/dist/edit/odg/content.cjs +1 -1
- package/dist/edit/odg/content.js +1 -1
- package/dist/edit/odg/page.d.cts +1 -1
- package/dist/edit/odg/page.d.ts +1 -1
- package/dist/edit/odp/content.cjs +1 -1
- package/dist/edit/odp/content.js +1 -1
- package/dist/edit/odp/shape.d.cts +1 -1
- package/dist/edit/odp/shape.d.ts +1 -1
- package/dist/edit/odp/slide.d.cts +2 -2
- package/dist/edit/odp/slide.d.ts +2 -2
- package/dist/edit/ods/cell.cjs +1 -1
- package/dist/edit/ods/cell.js +1 -1
- package/dist/edit/odt/content.cjs +10 -8
- package/dist/edit/odt/content.d.cts +7 -4
- package/dist/edit/odt/content.d.ts +7 -4
- package/dist/edit/odt/content.js +10 -8
- package/dist/edit/odt/editor.cjs +1 -1
- package/dist/edit/odt/editor.d.cts +3 -3
- package/dist/edit/odt/editor.d.ts +3 -3
- package/dist/edit/odt/editor.js +1 -1
- package/dist/edit/odt/list.cjs +1 -1
- package/dist/edit/odt/list.d.cts +1 -1
- package/dist/edit/odt/list.d.ts +1 -1
- package/dist/edit/odt/list.js +1 -1
- package/dist/edit/odt/paragraph.cjs +22 -1
- package/dist/edit/odt/paragraph.d.cts +1 -1
- package/dist/edit/odt/paragraph.d.ts +1 -1
- package/dist/edit/odt/paragraph.js +22 -1
- package/dist/edit/odt/scaffold.cjs +12 -1
- package/dist/edit/odt/scaffold.js +12 -1
- package/dist/edit/odt/table.d.cts +1 -1
- package/dist/edit/odt/table.d.ts +1 -1
- package/dist/edit/pptx/content.cjs +2 -0
- package/dist/edit/pptx/content.d.cts +3 -2
- package/dist/edit/pptx/content.d.ts +3 -2
- package/dist/edit/pptx/content.js +3 -2
- package/dist/index.cjs +2 -1
- package/dist/index.d.cts +6 -6
- package/dist/index.d.ts +6 -6
- package/dist/index.js +3 -3
- package/dist/layout/drawing.cjs +1 -1
- package/dist/layout/drawing.js +1 -1
- package/dist/layout/reconstruct.cjs +1 -1
- package/dist/layout/reconstruct.js +1 -1
- package/dist/layout/shared.cjs +1 -0
- package/dist/layout/shared.d.cts +5 -1
- package/dist/layout/shared.d.ts +5 -1
- package/dist/layout/shared.js +1 -1
- package/dist/{list-D9MtQtjK.d.ts → list-Cg_zlwVv.d.ts} +1 -1
- package/dist/{list-BT1Zb3PV.d.cts → list-CzGRStUr.d.cts} +1 -1
- package/dist/{paragraph-CdGRPSYA.d.cts → paragraph-C9jf4pMK.d.cts} +3 -0
- package/dist/{paragraph-BPRc-VVV.d.ts → paragraph-CeFnOpEi.d.ts} +3 -0
- package/dist/{shape-Cuk0RTZn.d.cts → shape-C56METn9.d.cts} +2 -2
- package/dist/{shape-CCPBGhbV.d.ts → shape-JrdFW78K.d.ts} +2 -2
- package/dist/{table-Dtml8NyR.d.ts → table-CY1ChByv.d.ts} +1 -1
- package/dist/{table-b9-ipGtZ.d.cts → table-Cu8f1XmW.d.cts} +1 -1
- package/package.json +6 -6
package/README.md
CHANGED
|
@@ -303,7 +303,17 @@ const { comments, footnotes, headers, footers, numbering } = readDocxExtras(deco
|
|
|
303
303
|
console.log(Object.values(numbering)[0]?.levels['0']?.format); // numbering is keyed by numId, each level by its own level index
|
|
304
304
|
```
|
|
305
305
|
|
|
306
|
-
`openPptx`/`createPptx` and `PptxSlide`/`PptxShape` are the pptx equivalent. `
|
|
306
|
+
`openPptx`/`createPptx` and `PptxSlide`/`PptxShape` are the pptx equivalent. `embeddedPresentationSerialiser` is ooxml.js's embedded-presentation port wired from this package's own pptx builder. ooxml.js has no PresentationML writer and cannot depend on the one pptx writer in the ecosystem (`buildPptxPackage`, living here one layer above it), so its docx writer instead accepts an injected serialiser; pass this value as `BuildDocxContentOptions.serialiseEmbeddedPresentation` and a docx carrying an OLE-embedded presentation — which `readDocxContent` genuinely recovers as an `embeddedObject` block — round-trips through that writer, the nested deck re-serialised into a real `word/embeddings/oleObject<N>.pptx` payload rather than refused:
|
|
307
|
+
|
|
308
|
+
```ts
|
|
309
|
+
import { embeddedPresentationSerialiser } from 'documents.js';
|
|
310
|
+
import { buildDocxPackageFromContent, decodePackage, encodePackage, readDocxContent } from 'ooxml.js';
|
|
311
|
+
|
|
312
|
+
const content = readDocxContent(decodePackage(docxBytes)); // carries a presentation embed
|
|
313
|
+
const rebuilt = encodePackage(buildDocxPackageFromContent(content, { serialiseEmbeddedPresentation: embeddedPresentationSerialiser }));
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
`openOdt`/`createOdt` and `OdtParagraph`/`OdtRun`/`OdtTable`/`OdtList` are the odt equivalent, built on ODF's style-name-referencing model. `openOdp`/`createOdp` and `OdpSlide`/`OdpShape` reuse `OdtParagraph`/`OdtRun`/`OdtList` directly (a `draw:frame`'s `draw:text-box` holds the identical `text:p`/`text:span` model):
|
|
307
317
|
|
|
308
318
|
```ts
|
|
309
319
|
import { createOdp } from 'documents.js';
|
package/dist/convert/convert.cjs
CHANGED
|
@@ -2,9 +2,9 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
|
2
2
|
const require_model_geometry = require("../model/geometry.cjs");
|
|
3
3
|
const require_model_metadata = require("../model/metadata.cjs");
|
|
4
4
|
const require_edit_docx_content = require("../edit/docx/content.cjs");
|
|
5
|
+
const require_mathml_layout = require("../mathml/layout.cjs");
|
|
5
6
|
const require_edit_odt_content = require("../edit/odt/content.cjs");
|
|
6
7
|
const require_fonts_registry = require("../fonts/registry.cjs");
|
|
7
|
-
const require_mathml_layout = require("../mathml/layout.cjs");
|
|
8
8
|
const require_odf_formula_read = require("../odf/formula/read.cjs");
|
|
9
9
|
const require_odf_odt_read = require("../odf/odt/read.cjs");
|
|
10
10
|
const require_layout_engine = require("../layout/engine.cjs");
|
package/dist/convert/convert.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { flipY } from "../model/geometry.js";
|
|
2
2
|
import { resolveMetadataTimestamps } from "../model/metadata.js";
|
|
3
3
|
import { buildDocxPackage } from "../edit/docx/content.js";
|
|
4
|
+
import { layoutFormula } from "../mathml/layout.js";
|
|
4
5
|
import { buildOdtPackage } from "../edit/odt/content.js";
|
|
5
6
|
import { extractSourceFonts } from "../fonts/registry.js";
|
|
6
|
-
import { layoutFormula } from "../mathml/layout.js";
|
|
7
7
|
import { readOdfFormulaContent as readOdfFormulaContent$1 } from "../odf/formula/read.js";
|
|
8
8
|
import { readOdtContent as readOdtContent$1 } from "../odf/odt/read.js";
|
|
9
9
|
import { convertWordprocessingToLayout } from "../layout/engine.js";
|
|
@@ -41,7 +41,7 @@ function appendShape(page, shape) {
|
|
|
41
41
|
textShape.paragraphs()[0]?.remove();
|
|
42
42
|
for (const block of shape.blocks) {
|
|
43
43
|
if (block.kind !== "paragraph") continue;
|
|
44
|
-
require_edit_odt_content.populateParagraph(textShape.appendParagraph(), block);
|
|
44
|
+
require_edit_odt_content.populateParagraph(textShape.appendParagraph(), block, { headings: false });
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
47
|
//#endregion
|
package/dist/edit/odg/content.js
CHANGED
|
@@ -40,7 +40,7 @@ function appendShape(page, shape) {
|
|
|
40
40
|
textShape.paragraphs()[0]?.remove();
|
|
41
41
|
for (const block of shape.blocks) {
|
|
42
42
|
if (block.kind !== "paragraph") continue;
|
|
43
|
-
populateParagraph(textShape.appendParagraph(), block);
|
|
43
|
+
populateParagraph(textShape.appendParagraph(), block, { headings: false });
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
46
|
//#endregion
|
package/dist/edit/odg/page.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as ImageInit } from "../../image-3ql9_z1y.cjs";
|
|
2
|
-
import { t as OdpShape } from "../../shape-
|
|
2
|
+
import { t as OdpShape } from "../../shape-C56METn9.cjs";
|
|
3
3
|
import { a as OdgLineVector, l as PathVectorInit, n as LineVectorInit, o as OdgPathVector, r as OdgBoxVector, s as OdgVector, t as BoxVectorInit } from "../../vector-D03KX8Ux.cjs";
|
|
4
4
|
import { Box, ContentVector } from "document-schema.js";
|
|
5
5
|
import { Package, XmlElement, XmlNode } from "odf.js";
|
package/dist/edit/odg/page.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as ImageInit } from "../../image-3ql9_z1y.js";
|
|
2
|
-
import { t as OdpShape } from "../../shape-
|
|
2
|
+
import { t as OdpShape } from "../../shape-JrdFW78K.js";
|
|
3
3
|
import { a as OdgLineVector, l as PathVectorInit, n as LineVectorInit, o as OdgPathVector, r as OdgBoxVector, s as OdgVector, t as BoxVectorInit } from "../../vector-D03KX8Ux.js";
|
|
4
4
|
import { Box, ContentVector } from "document-schema.js";
|
|
5
5
|
import { Package, XmlElement, XmlNode } from "odf.js";
|
|
@@ -70,7 +70,7 @@ function appendShape(slide, shape) {
|
|
|
70
70
|
textShape.paragraphs()[0]?.remove();
|
|
71
71
|
for (const block of shape.blocks) {
|
|
72
72
|
if (block.kind !== "paragraph") continue;
|
|
73
|
-
require_edit_odt_content.populateParagraph(textShape.appendParagraph(), block);
|
|
73
|
+
require_edit_odt_content.populateParagraph(textShape.appendParagraph(), block, { headings: false });
|
|
74
74
|
}
|
|
75
75
|
}
|
|
76
76
|
//#endregion
|
package/dist/edit/odp/content.js
CHANGED
|
@@ -69,7 +69,7 @@ function appendShape(slide, shape) {
|
|
|
69
69
|
textShape.paragraphs()[0]?.remove();
|
|
70
70
|
for (const block of shape.blocks) {
|
|
71
71
|
if (block.kind !== "paragraph") continue;
|
|
72
|
-
populateParagraph(textShape.appendParagraph(), block);
|
|
72
|
+
populateParagraph(textShape.appendParagraph(), block, { headings: false });
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
75
|
//#endregion
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { i as buildTextBoxFrame, n as buildImageFrame, r as buildTableFrame, t as OdpShape } from "../../shape-
|
|
1
|
+
import { i as buildTextBoxFrame, n as buildImageFrame, r as buildTableFrame, t as OdpShape } from "../../shape-C56METn9.cjs";
|
|
2
2
|
export { OdpShape, buildImageFrame, buildTableFrame, buildTextBoxFrame };
|
package/dist/edit/odp/shape.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { i as buildTextBoxFrame, n as buildImageFrame, r as buildTableFrame, t as OdpShape } from "../../shape-
|
|
1
|
+
import { i as buildTextBoxFrame, n as buildImageFrame, r as buildTableFrame, t as OdpShape } from "../../shape-JrdFW78K.js";
|
|
2
2
|
export { OdpShape, buildImageFrame, buildTableFrame, buildTextBoxFrame };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as ImageInit } from "../../image-3ql9_z1y.cjs";
|
|
2
|
-
import { t as OdpShape } from "../../shape-
|
|
2
|
+
import { t as OdpShape } from "../../shape-C56METn9.cjs";
|
|
3
3
|
import { s as OdgVector } from "../../vector-D03KX8Ux.cjs";
|
|
4
|
-
import { a as TableInit, n as OdtTable } from "../../table-
|
|
4
|
+
import { a as TableInit, n as OdtTable } from "../../table-Cu8f1XmW.cjs";
|
|
5
5
|
import { Box, ContentFormula, ContentVector } from "document-schema.js";
|
|
6
6
|
import { Package, XmlElement, XmlNode } from "odf.js";
|
|
7
7
|
//#region src/edit/odp/slide.d.ts
|
package/dist/edit/odp/slide.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as ImageInit } from "../../image-3ql9_z1y.js";
|
|
2
|
-
import { t as OdpShape } from "../../shape-
|
|
2
|
+
import { t as OdpShape } from "../../shape-JrdFW78K.js";
|
|
3
3
|
import { s as OdgVector } from "../../vector-D03KX8Ux.js";
|
|
4
|
-
import { a as TableInit, n as OdtTable } from "../../table-
|
|
4
|
+
import { a as TableInit, n as OdtTable } from "../../table-CY1ChByv.js";
|
|
5
5
|
import { Box, ContentFormula, ContentVector } from "document-schema.js";
|
|
6
6
|
import { Package, XmlElement, XmlNode } from "odf.js";
|
|
7
7
|
//#region src/edit/odp/slide.d.ts
|
package/dist/edit/ods/cell.cjs
CHANGED
package/dist/edit/ods/cell.js
CHANGED
|
@@ -23,7 +23,8 @@ function isMergeableImageParagraph(block) {
|
|
|
23
23
|
}
|
|
24
24
|
function appendMergedImageParagraph(body, paragraphBlock, imageBlock) {
|
|
25
25
|
const paragraph = body.appendParagraph();
|
|
26
|
-
if (paragraphBlock.
|
|
26
|
+
if (paragraphBlock.headingLevel !== void 0) paragraph.headingLevel = paragraphBlock.headingLevel;
|
|
27
|
+
else if (paragraphBlock.styleId !== void 0) paragraph.styleId = paragraphBlock.styleId;
|
|
27
28
|
if (paragraphBlock.alignment !== void 0) paragraph.alignment = paragraphBlock.alignment;
|
|
28
29
|
paragraph.insertImageAfter({
|
|
29
30
|
format: imageBlock.format,
|
|
@@ -83,12 +84,13 @@ function appendListRun(body, paragraphs) {
|
|
|
83
84
|
const currentList = stack[stack.length - 1];
|
|
84
85
|
if (currentList === void 0) continue;
|
|
85
86
|
const item = currentList.addItem();
|
|
86
|
-
populateParagraph(item.appendParagraph(), para);
|
|
87
|
+
populateParagraph(item.appendParagraph(), para, { headings: true });
|
|
87
88
|
lastItem = item;
|
|
88
89
|
}
|
|
89
90
|
}
|
|
90
|
-
function populateParagraph(paragraph, block) {
|
|
91
|
-
if (block.
|
|
91
|
+
function populateParagraph(paragraph, block, options) {
|
|
92
|
+
if (options.headings && block.headingLevel !== void 0) paragraph.headingLevel = block.headingLevel;
|
|
93
|
+
else if (block.styleId !== void 0) paragraph.styleId = block.styleId;
|
|
92
94
|
if (block.alignment !== void 0) paragraph.alignment = block.alignment;
|
|
93
95
|
if (block.spacingBeforePt !== void 0) paragraph.spacingBeforePt = block.spacingBeforePt;
|
|
94
96
|
if (block.spacingAfterPt !== void 0) paragraph.spacingAfterPt = block.spacingAfterPt;
|
|
@@ -114,7 +116,7 @@ function populateParagraph(paragraph, block) {
|
|
|
114
116
|
function populateCellBlocks(cell, blocks) {
|
|
115
117
|
const [firstBlock, ...restBlocks] = blocks;
|
|
116
118
|
const firstParagraph = cell.paragraphs()[0];
|
|
117
|
-
if (firstBlock?.kind === "paragraph" && firstParagraph !== void 0) populateParagraph(firstParagraph, firstBlock);
|
|
119
|
+
if (firstBlock?.kind === "paragraph" && firstParagraph !== void 0) populateParagraph(firstParagraph, firstBlock, { headings: false });
|
|
118
120
|
else if (firstBlock?.kind === "image" && firstParagraph !== void 0) firstParagraph.insertImageAfter({
|
|
119
121
|
format: firstBlock.format,
|
|
120
122
|
bytes: (0, odf_js.base64ToBytes)(firstBlock.base64),
|
|
@@ -172,7 +174,7 @@ function appendTable(body, block) {
|
|
|
172
174
|
}), block);
|
|
173
175
|
}
|
|
174
176
|
function appendCellBlock(cell, block) {
|
|
175
|
-
if (block.kind === "paragraph") populateParagraph(cell.appendParagraph(), block);
|
|
177
|
+
if (block.kind === "paragraph") populateParagraph(cell.appendParagraph(), block, { headings: false });
|
|
176
178
|
else if (block.kind === "image") cell.appendParagraph().insertImageAfter({
|
|
177
179
|
format: block.format,
|
|
178
180
|
bytes: (0, odf_js.base64ToBytes)(block.base64),
|
|
@@ -182,7 +184,7 @@ function appendCellBlock(cell, block) {
|
|
|
182
184
|
});
|
|
183
185
|
}
|
|
184
186
|
function appendBlock(body, block) {
|
|
185
|
-
if (block.kind === "paragraph") populateParagraph(body.appendParagraph(), block);
|
|
187
|
+
if (block.kind === "paragraph") populateParagraph(body.appendParagraph(), block, { headings: true });
|
|
186
188
|
else if (block.kind === "image") body.appendParagraph().insertImageAfter({
|
|
187
189
|
format: block.format,
|
|
188
190
|
bytes: (0, odf_js.base64ToBytes)(block.base64),
|
|
@@ -205,7 +207,7 @@ function appendEmbeddedObject(body, block) {
|
|
|
205
207
|
populateParagraph(body.appendParagraph(), {
|
|
206
208
|
kind: "paragraph",
|
|
207
209
|
runs: [{ text: require_model_formula.formulaPlaceholderText(formula) }]
|
|
208
|
-
});
|
|
210
|
+
}, { headings: false });
|
|
209
211
|
return;
|
|
210
212
|
}
|
|
211
213
|
body.appendFormula(formula, block.frame);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as ClockPort } from "../../clock-C7SUuYN0.cjs";
|
|
2
|
-
import { t as OdtParagraph } from "../../paragraph-
|
|
3
|
-
import { n as OdtTable } from "../../table-
|
|
2
|
+
import { t as OdtParagraph } from "../../paragraph-C9jf4pMK.cjs";
|
|
3
|
+
import { n as OdtTable } from "../../table-Cu8f1XmW.cjs";
|
|
4
4
|
import { ContentDocument, ContentParagraph, ContentTable } from "document-schema.js";
|
|
5
5
|
import { Package } from "odf.js";
|
|
6
6
|
//#region src/edit/odt/content.d.ts
|
|
@@ -8,7 +8,10 @@ interface BuildOdtPackageOptions {
|
|
|
8
8
|
readonly clock?: ClockPort;
|
|
9
9
|
}
|
|
10
10
|
declare function buildOdtPackage(content: ContentDocument, options?: BuildOdtPackageOptions): Package;
|
|
11
|
-
|
|
11
|
+
interface PopulateParagraphOptions {
|
|
12
|
+
readonly headings: boolean;
|
|
13
|
+
}
|
|
14
|
+
declare function populateParagraph(paragraph: OdtParagraph, block: ContentParagraph, options: PopulateParagraphOptions): void;
|
|
12
15
|
declare function populateOdtTable(table: OdtTable, block: ContentTable): void;
|
|
13
16
|
//#endregion
|
|
14
|
-
export { BuildOdtPackageOptions, buildOdtPackage, populateOdtTable, populateParagraph };
|
|
17
|
+
export { BuildOdtPackageOptions, PopulateParagraphOptions, buildOdtPackage, populateOdtTable, populateParagraph };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as ClockPort } from "../../clock-C7SUuYN0.js";
|
|
2
|
-
import { t as OdtParagraph } from "../../paragraph-
|
|
3
|
-
import { n as OdtTable } from "../../table-
|
|
2
|
+
import { t as OdtParagraph } from "../../paragraph-CeFnOpEi.js";
|
|
3
|
+
import { n as OdtTable } from "../../table-CY1ChByv.js";
|
|
4
4
|
import { ContentDocument, ContentParagraph, ContentTable } from "document-schema.js";
|
|
5
5
|
import { Package } from "odf.js";
|
|
6
6
|
//#region src/edit/odt/content.d.ts
|
|
@@ -8,7 +8,10 @@ interface BuildOdtPackageOptions {
|
|
|
8
8
|
readonly clock?: ClockPort;
|
|
9
9
|
}
|
|
10
10
|
declare function buildOdtPackage(content: ContentDocument, options?: BuildOdtPackageOptions): Package;
|
|
11
|
-
|
|
11
|
+
interface PopulateParagraphOptions {
|
|
12
|
+
readonly headings: boolean;
|
|
13
|
+
}
|
|
14
|
+
declare function populateParagraph(paragraph: OdtParagraph, block: ContentParagraph, options: PopulateParagraphOptions): void;
|
|
12
15
|
declare function populateOdtTable(table: OdtTable, block: ContentTable): void;
|
|
13
16
|
//#endregion
|
|
14
|
-
export { BuildOdtPackageOptions, buildOdtPackage, populateOdtTable, populateParagraph };
|
|
17
|
+
export { BuildOdtPackageOptions, PopulateParagraphOptions, buildOdtPackage, populateOdtTable, populateParagraph };
|
package/dist/edit/odt/content.js
CHANGED
|
@@ -22,7 +22,8 @@ function isMergeableImageParagraph(block) {
|
|
|
22
22
|
}
|
|
23
23
|
function appendMergedImageParagraph(body, paragraphBlock, imageBlock) {
|
|
24
24
|
const paragraph = body.appendParagraph();
|
|
25
|
-
if (paragraphBlock.
|
|
25
|
+
if (paragraphBlock.headingLevel !== void 0) paragraph.headingLevel = paragraphBlock.headingLevel;
|
|
26
|
+
else if (paragraphBlock.styleId !== void 0) paragraph.styleId = paragraphBlock.styleId;
|
|
26
27
|
if (paragraphBlock.alignment !== void 0) paragraph.alignment = paragraphBlock.alignment;
|
|
27
28
|
paragraph.insertImageAfter({
|
|
28
29
|
format: imageBlock.format,
|
|
@@ -82,12 +83,13 @@ function appendListRun(body, paragraphs) {
|
|
|
82
83
|
const currentList = stack[stack.length - 1];
|
|
83
84
|
if (currentList === void 0) continue;
|
|
84
85
|
const item = currentList.addItem();
|
|
85
|
-
populateParagraph(item.appendParagraph(), para);
|
|
86
|
+
populateParagraph(item.appendParagraph(), para, { headings: true });
|
|
86
87
|
lastItem = item;
|
|
87
88
|
}
|
|
88
89
|
}
|
|
89
|
-
function populateParagraph(paragraph, block) {
|
|
90
|
-
if (block.
|
|
90
|
+
function populateParagraph(paragraph, block, options) {
|
|
91
|
+
if (options.headings && block.headingLevel !== void 0) paragraph.headingLevel = block.headingLevel;
|
|
92
|
+
else if (block.styleId !== void 0) paragraph.styleId = block.styleId;
|
|
91
93
|
if (block.alignment !== void 0) paragraph.alignment = block.alignment;
|
|
92
94
|
if (block.spacingBeforePt !== void 0) paragraph.spacingBeforePt = block.spacingBeforePt;
|
|
93
95
|
if (block.spacingAfterPt !== void 0) paragraph.spacingAfterPt = block.spacingAfterPt;
|
|
@@ -113,7 +115,7 @@ function populateParagraph(paragraph, block) {
|
|
|
113
115
|
function populateCellBlocks(cell, blocks) {
|
|
114
116
|
const [firstBlock, ...restBlocks] = blocks;
|
|
115
117
|
const firstParagraph = cell.paragraphs()[0];
|
|
116
|
-
if (firstBlock?.kind === "paragraph" && firstParagraph !== void 0) populateParagraph(firstParagraph, firstBlock);
|
|
118
|
+
if (firstBlock?.kind === "paragraph" && firstParagraph !== void 0) populateParagraph(firstParagraph, firstBlock, { headings: false });
|
|
117
119
|
else if (firstBlock?.kind === "image" && firstParagraph !== void 0) firstParagraph.insertImageAfter({
|
|
118
120
|
format: firstBlock.format,
|
|
119
121
|
bytes: base64ToBytes(firstBlock.base64),
|
|
@@ -171,7 +173,7 @@ function appendTable(body, block) {
|
|
|
171
173
|
}), block);
|
|
172
174
|
}
|
|
173
175
|
function appendCellBlock(cell, block) {
|
|
174
|
-
if (block.kind === "paragraph") populateParagraph(cell.appendParagraph(), block);
|
|
176
|
+
if (block.kind === "paragraph") populateParagraph(cell.appendParagraph(), block, { headings: false });
|
|
175
177
|
else if (block.kind === "image") cell.appendParagraph().insertImageAfter({
|
|
176
178
|
format: block.format,
|
|
177
179
|
bytes: base64ToBytes(block.base64),
|
|
@@ -181,7 +183,7 @@ function appendCellBlock(cell, block) {
|
|
|
181
183
|
});
|
|
182
184
|
}
|
|
183
185
|
function appendBlock(body, block) {
|
|
184
|
-
if (block.kind === "paragraph") populateParagraph(body.appendParagraph(), block);
|
|
186
|
+
if (block.kind === "paragraph") populateParagraph(body.appendParagraph(), block, { headings: true });
|
|
185
187
|
else if (block.kind === "image") body.appendParagraph().insertImageAfter({
|
|
186
188
|
format: block.format,
|
|
187
189
|
bytes: base64ToBytes(block.base64),
|
|
@@ -204,7 +206,7 @@ function appendEmbeddedObject(body, block) {
|
|
|
204
206
|
populateParagraph(body.appendParagraph(), {
|
|
205
207
|
kind: "paragraph",
|
|
206
208
|
runs: [{ text: formulaPlaceholderText(formula) }]
|
|
207
|
-
});
|
|
209
|
+
}, { headings: false });
|
|
208
210
|
return;
|
|
209
211
|
}
|
|
210
212
|
body.appendFormula(formula, block.frame);
|
package/dist/edit/odt/editor.cjs
CHANGED
|
@@ -80,7 +80,7 @@ var OdtEditor = class {
|
|
|
80
80
|
paragraphs() {
|
|
81
81
|
const officeText = findOfficeText(findContentRoot(this.pkg));
|
|
82
82
|
const out = [];
|
|
83
|
-
for (const child of officeText.children) if (child.type === "element" && child.tag === "text:p") out.push(new require_edit_odt_paragraph.OdtParagraph(officeText.children, child, this.pkg));
|
|
83
|
+
for (const child of officeText.children) if (child.type === "element" && (child.tag === "text:p" || child.tag === "text:h")) out.push(new require_edit_odt_paragraph.OdtParagraph(officeText.children, child, this.pkg));
|
|
84
84
|
return out;
|
|
85
85
|
}
|
|
86
86
|
tables() {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as ClockPort } from "../../clock-C7SUuYN0.cjs";
|
|
2
|
-
import { n as ParagraphInit, t as OdtParagraph } from "../../paragraph-
|
|
3
|
-
import { t as OdtList } from "../../list-
|
|
4
|
-
import { a as TableInit, n as OdtTable } from "../../table-
|
|
2
|
+
import { n as ParagraphInit, t as OdtParagraph } from "../../paragraph-C9jf4pMK.cjs";
|
|
3
|
+
import { t as OdtList } from "../../list-CzGRStUr.cjs";
|
|
4
|
+
import { a as TableInit, n as OdtTable } from "../../table-Cu8f1XmW.cjs";
|
|
5
5
|
import { Box, ContentFormula, ContentVector } from "document-schema.js";
|
|
6
6
|
import { Package } from "odf.js";
|
|
7
7
|
//#region src/edit/odt/editor.d.ts
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as ClockPort } from "../../clock-C7SUuYN0.js";
|
|
2
|
-
import { n as ParagraphInit, t as OdtParagraph } from "../../paragraph-
|
|
3
|
-
import { t as OdtList } from "../../list-
|
|
4
|
-
import { a as TableInit, n as OdtTable } from "../../table-
|
|
2
|
+
import { n as ParagraphInit, t as OdtParagraph } from "../../paragraph-CeFnOpEi.js";
|
|
3
|
+
import { t as OdtList } from "../../list-Cg_zlwVv.js";
|
|
4
|
+
import { a as TableInit, n as OdtTable } from "../../table-CY1ChByv.js";
|
|
5
5
|
import { Box, ContentFormula, ContentVector } from "document-schema.js";
|
|
6
6
|
import { Package } from "odf.js";
|
|
7
7
|
//#region src/edit/odt/editor.d.ts
|
package/dist/edit/odt/editor.js
CHANGED
|
@@ -79,7 +79,7 @@ var OdtEditor = class {
|
|
|
79
79
|
paragraphs() {
|
|
80
80
|
const officeText = findOfficeText(findContentRoot(this.pkg));
|
|
81
81
|
const out = [];
|
|
82
|
-
for (const child of officeText.children) if (child.type === "element" && child.tag === "text:p") out.push(new OdtParagraph(officeText.children, child, this.pkg));
|
|
82
|
+
for (const child of officeText.children) if (child.type === "element" && (child.tag === "text:p" || child.tag === "text:h")) out.push(new OdtParagraph(officeText.children, child, this.pkg));
|
|
83
83
|
return out;
|
|
84
84
|
}
|
|
85
85
|
tables() {
|
package/dist/edit/odt/list.cjs
CHANGED
|
@@ -35,7 +35,7 @@ var OdtListItem = class {
|
|
|
35
35
|
}
|
|
36
36
|
paragraphs() {
|
|
37
37
|
const out = [];
|
|
38
|
-
for (const child of this.node.children) if (child.type === "element" && child.tag === "text:p") out.push(new require_edit_odt_paragraph.OdtParagraph(this.node.children, child, this.pkg));
|
|
38
|
+
for (const child of this.node.children) if (child.type === "element" && (child.tag === "text:p" || child.tag === "text:h")) out.push(new require_edit_odt_paragraph.OdtParagraph(this.node.children, child, this.pkg));
|
|
39
39
|
return out;
|
|
40
40
|
}
|
|
41
41
|
get text() {
|
package/dist/edit/odt/list.d.cts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as OdtListItem, r as buildList, t as OdtList } from "../../list-
|
|
1
|
+
import { n as OdtListItem, r as buildList, t as OdtList } from "../../list-CzGRStUr.cjs";
|
|
2
2
|
export { OdtList, OdtListItem, buildList };
|
package/dist/edit/odt/list.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as OdtListItem, r as buildList, t as OdtList } from "../../list-
|
|
1
|
+
import { n as OdtListItem, r as buildList, t as OdtList } from "../../list-Cg_zlwVv.js";
|
|
2
2
|
export { OdtList, OdtListItem, buildList };
|
package/dist/edit/odt/list.js
CHANGED
|
@@ -34,7 +34,7 @@ var OdtListItem = class {
|
|
|
34
34
|
}
|
|
35
35
|
paragraphs() {
|
|
36
36
|
const out = [];
|
|
37
|
-
for (const child of this.node.children) if (child.type === "element" && child.tag === "text:p") out.push(new OdtParagraph(this.node.children, child, this.pkg));
|
|
37
|
+
for (const child of this.node.children) if (child.type === "element" && (child.tag === "text:p" || child.tag === "text:h")) out.push(new OdtParagraph(this.node.children, child, this.pkg));
|
|
38
38
|
return out;
|
|
39
39
|
}
|
|
40
40
|
get text() {
|
|
@@ -71,6 +71,26 @@ var OdtParagraph = class {
|
|
|
71
71
|
}
|
|
72
72
|
require_xml_edit.setAttr(node, "text:style-name", value);
|
|
73
73
|
}
|
|
74
|
+
get headingLevel() {
|
|
75
|
+
const node = this.live();
|
|
76
|
+
if (node.tag !== "text:h") return;
|
|
77
|
+
const raw = (0, ooxml_js.attr)(node, "text:outline-level");
|
|
78
|
+
if (raw === void 0) return 1;
|
|
79
|
+
const parsed = Number.parseInt(raw, 10);
|
|
80
|
+
return Number.isInteger(parsed) && parsed > 0 ? parsed : 1;
|
|
81
|
+
}
|
|
82
|
+
set headingLevel(value) {
|
|
83
|
+
const node = this.live();
|
|
84
|
+
if (value === void 0) {
|
|
85
|
+
node.tag = "text:p";
|
|
86
|
+
require_xml_edit.removeAttr(node, "text:outline-level");
|
|
87
|
+
require_xml_edit.removeAttr(node, "text:style-name");
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
node.tag = "text:h";
|
|
91
|
+
require_xml_edit.setAttr(node, "text:outline-level", String(value));
|
|
92
|
+
require_xml_edit.setAttr(node, "text:style-name", `Heading_20_${String(value)}`);
|
|
93
|
+
}
|
|
74
94
|
get alignment() {
|
|
75
95
|
return require_edit_odt_props.readCurrentStyleProperties(this.pkg, this.live(), "paragraph").alignment;
|
|
76
96
|
}
|
|
@@ -125,7 +145,8 @@ var OdtParagraph = class {
|
|
|
125
145
|
function buildParagraph(pkg, init = {}) {
|
|
126
146
|
const node = require_xml_fragment.el("text:p");
|
|
127
147
|
const paragraph = new OdtParagraph([], node, pkg);
|
|
128
|
-
if (init.
|
|
148
|
+
if (init.headingLevel !== void 0) paragraph.headingLevel = init.headingLevel;
|
|
149
|
+
else if (init.styleId !== void 0) paragraph.styleId = init.styleId;
|
|
129
150
|
if (init.alignment !== void 0) paragraph.alignment = init.alignment;
|
|
130
151
|
if (init.text !== void 0) node.children.push(require_edit_odt_run.buildRun(pkg, { text: init.text }));
|
|
131
152
|
return node;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as ParagraphInit, r as buildParagraph, t as OdtParagraph } from "../../paragraph-
|
|
1
|
+
import { n as ParagraphInit, r as buildParagraph, t as OdtParagraph } from "../../paragraph-C9jf4pMK.cjs";
|
|
2
2
|
export { OdtParagraph, ParagraphInit, buildParagraph };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as ParagraphInit, r as buildParagraph, t as OdtParagraph } from "../../paragraph-
|
|
1
|
+
import { n as ParagraphInit, r as buildParagraph, t as OdtParagraph } from "../../paragraph-CeFnOpEi.js";
|
|
2
2
|
export { OdtParagraph, ParagraphInit, buildParagraph };
|
|
@@ -70,6 +70,26 @@ var OdtParagraph = class {
|
|
|
70
70
|
}
|
|
71
71
|
setAttr(node, "text:style-name", value);
|
|
72
72
|
}
|
|
73
|
+
get headingLevel() {
|
|
74
|
+
const node = this.live();
|
|
75
|
+
if (node.tag !== "text:h") return;
|
|
76
|
+
const raw = attr(node, "text:outline-level");
|
|
77
|
+
if (raw === void 0) return 1;
|
|
78
|
+
const parsed = Number.parseInt(raw, 10);
|
|
79
|
+
return Number.isInteger(parsed) && parsed > 0 ? parsed : 1;
|
|
80
|
+
}
|
|
81
|
+
set headingLevel(value) {
|
|
82
|
+
const node = this.live();
|
|
83
|
+
if (value === void 0) {
|
|
84
|
+
node.tag = "text:p";
|
|
85
|
+
removeAttr(node, "text:outline-level");
|
|
86
|
+
removeAttr(node, "text:style-name");
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
node.tag = "text:h";
|
|
90
|
+
setAttr(node, "text:outline-level", String(value));
|
|
91
|
+
setAttr(node, "text:style-name", `Heading_20_${String(value)}`);
|
|
92
|
+
}
|
|
73
93
|
get alignment() {
|
|
74
94
|
return readCurrentStyleProperties(this.pkg, this.live(), "paragraph").alignment;
|
|
75
95
|
}
|
|
@@ -124,7 +144,8 @@ var OdtParagraph = class {
|
|
|
124
144
|
function buildParagraph(pkg, init = {}) {
|
|
125
145
|
const node = el("text:p");
|
|
126
146
|
const paragraph = new OdtParagraph([], node, pkg);
|
|
127
|
-
if (init.
|
|
147
|
+
if (init.headingLevel !== void 0) paragraph.headingLevel = init.headingLevel;
|
|
148
|
+
else if (init.styleId !== void 0) paragraph.styleId = init.styleId;
|
|
128
149
|
if (init.alignment !== void 0) paragraph.alignment = init.alignment;
|
|
129
150
|
if (init.text !== void 0) node.children.push(buildRun(pkg, { text: init.text }));
|
|
130
151
|
return node;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_xml_fragment = require("../../xml/fragment.cjs");
|
|
3
3
|
const require_xml_entities = require("../../xml/entities.cjs");
|
|
4
|
+
const require_layout_shared = require("../../layout/shared.cjs");
|
|
4
5
|
let document_schema_js = require("document-schema.js");
|
|
5
6
|
let odf_js = require("odf.js");
|
|
6
7
|
//#region src/edit/odt/scaffold.ts
|
|
@@ -62,12 +63,22 @@ function buildPageLayout() {
|
|
|
62
63
|
"fo:margin-left": `${DEFAULT_MARGIN_PT}pt`
|
|
63
64
|
})]);
|
|
64
65
|
}
|
|
66
|
+
function buildHeadingStyles() {
|
|
67
|
+
return Object.entries(require_layout_shared.HEADING_STYLES).map(([level, style]) => require_xml_fragment.el("style:style", {
|
|
68
|
+
"style:name": `Heading_20_${level}`,
|
|
69
|
+
"style:display-name": `Heading ${level}`,
|
|
70
|
+
"style:family": "paragraph"
|
|
71
|
+
}, [require_xml_fragment.el("style:text-properties", {
|
|
72
|
+
"fo:font-size": `${String(style.sizePt)}pt`,
|
|
73
|
+
"fo:font-weight": style.bold ? "bold" : "normal"
|
|
74
|
+
})]));
|
|
75
|
+
}
|
|
65
76
|
function buildStylesXml() {
|
|
66
77
|
return require_xml_fragment.el("office:document-styles", {
|
|
67
78
|
...(0, odf_js.xmlnsAttributes)([...STYLES_NS_PREFIXES]),
|
|
68
79
|
"office:version": ODF_VERSION
|
|
69
80
|
}, [
|
|
70
|
-
require_xml_fragment.el("office:styles"),
|
|
81
|
+
require_xml_fragment.el("office:styles", {}, buildHeadingStyles()),
|
|
71
82
|
require_xml_fragment.el("office:automatic-styles", {}, [buildPageLayout()]),
|
|
72
83
|
require_xml_fragment.el("office:master-styles", {}, [require_xml_fragment.el("style:master-page", {
|
|
73
84
|
"style:name": MASTER_PAGE_NAME,
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { el, txt } from "../../xml/fragment.js";
|
|
2
2
|
import { encodeXmlText as encodeXmlText$1 } from "../../xml/entities.js";
|
|
3
|
+
import { HEADING_STYLES } from "../../layout/shared.js";
|
|
3
4
|
import { PAGE_SIZE_LETTER } from "document-schema.js";
|
|
4
5
|
import { ODF_MEDIA_TYPES, setDocumentMediaType, syncManifest, xmlnsAttributes } from "odf.js";
|
|
5
6
|
//#region src/edit/odt/scaffold.ts
|
|
@@ -61,12 +62,22 @@ function buildPageLayout() {
|
|
|
61
62
|
"fo:margin-left": `${DEFAULT_MARGIN_PT}pt`
|
|
62
63
|
})]);
|
|
63
64
|
}
|
|
65
|
+
function buildHeadingStyles() {
|
|
66
|
+
return Object.entries(HEADING_STYLES).map(([level, style]) => el("style:style", {
|
|
67
|
+
"style:name": `Heading_20_${level}`,
|
|
68
|
+
"style:display-name": `Heading ${level}`,
|
|
69
|
+
"style:family": "paragraph"
|
|
70
|
+
}, [el("style:text-properties", {
|
|
71
|
+
"fo:font-size": `${String(style.sizePt)}pt`,
|
|
72
|
+
"fo:font-weight": style.bold ? "bold" : "normal"
|
|
73
|
+
})]));
|
|
74
|
+
}
|
|
64
75
|
function buildStylesXml() {
|
|
65
76
|
return el("office:document-styles", {
|
|
66
77
|
...xmlnsAttributes([...STYLES_NS_PREFIXES]),
|
|
67
78
|
"office:version": ODF_VERSION
|
|
68
79
|
}, [
|
|
69
|
-
el("office:styles"),
|
|
80
|
+
el("office:styles", {}, buildHeadingStyles()),
|
|
70
81
|
el("office:automatic-styles", {}, [buildPageLayout()]),
|
|
71
82
|
el("office:master-styles", {}, [el("style:master-page", {
|
|
72
83
|
"style:name": MASTER_PAGE_NAME,
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as TableInit, c as readCellDecoration, i as OdtTableRow, n as OdtTable, o as buildCellStyle, r as OdtTableCell, s as buildTable, t as CellDecoration } from "../../table-
|
|
1
|
+
import { a as TableInit, c as readCellDecoration, i as OdtTableRow, n as OdtTable, o as buildCellStyle, r as OdtTableCell, s as buildTable, t as CellDecoration } from "../../table-Cu8f1XmW.cjs";
|
|
2
2
|
export { CellDecoration, OdtTable, OdtTableCell, OdtTableRow, TableInit, buildCellStyle, buildTable, readCellDecoration };
|
package/dist/edit/odt/table.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as TableInit, c as readCellDecoration, i as OdtTableRow, n as OdtTable, o as buildCellStyle, r as OdtTableCell, s as buildTable, t as CellDecoration } from "../../table-
|
|
1
|
+
import { a as TableInit, c as readCellDecoration, i as OdtTableRow, n as OdtTable, o as buildCellStyle, r as OdtTableCell, s as buildTable, t as CellDecoration } from "../../table-CY1ChByv.js";
|
|
2
2
|
export { CellDecoration, OdtTable, OdtTableCell, OdtTableRow, TableInit, buildCellStyle, buildTable, readCellDecoration };
|
|
@@ -21,6 +21,7 @@ function buildPptxPackage(content, options) {
|
|
|
21
21
|
}
|
|
22
22
|
return editor.toPackage();
|
|
23
23
|
}
|
|
24
|
+
const embeddedPresentationSerialiser = (document) => (0, ooxml_js.encodePackage)(buildPptxPackage(document));
|
|
24
25
|
function appendShape(slide, shape, options) {
|
|
25
26
|
const [onlyBlock] = shape.blocks;
|
|
26
27
|
if (shape.blocks.length === 1 && onlyBlock?.kind === "embeddedObject" && require_model_embedded_drawing.drawingOfBlock(onlyBlock) !== void 0) {
|
|
@@ -146,3 +147,4 @@ function populatePptxTable(table, block, resolveHyperlinkRId) {
|
|
|
146
147
|
}
|
|
147
148
|
//#endregion
|
|
148
149
|
exports.buildPptxPackage = buildPptxPackage;
|
|
150
|
+
exports.embeddedPresentationSerialiser = embeddedPresentationSerialiser;
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { t as ClockPort } from "../../clock-C7SUuYN0.cjs";
|
|
2
2
|
import { t as OmmlDiagnosticSink } from "../../formula-Cs0IexVi.cjs";
|
|
3
3
|
import { ContentDocument } from "document-schema.js";
|
|
4
|
-
import { Package } from "ooxml.js";
|
|
4
|
+
import { EmbeddedPresentationSerialiser, Package } from "ooxml.js";
|
|
5
5
|
//#region src/edit/pptx/content.d.ts
|
|
6
6
|
interface BuildPptxPackageOptions {
|
|
7
7
|
readonly clock?: ClockPort;
|
|
8
8
|
readonly onMathDiagnostic?: OmmlDiagnosticSink;
|
|
9
9
|
}
|
|
10
10
|
declare function buildPptxPackage(content: ContentDocument, options?: BuildPptxPackageOptions): Package;
|
|
11
|
+
declare const embeddedPresentationSerialiser: EmbeddedPresentationSerialiser;
|
|
11
12
|
//#endregion
|
|
12
|
-
export { BuildPptxPackageOptions, buildPptxPackage };
|
|
13
|
+
export { BuildPptxPackageOptions, buildPptxPackage, embeddedPresentationSerialiser };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as ClockPort } from "../../clock-C7SUuYN0.js";
|
|
2
2
|
import { t as OmmlDiagnosticSink } from "../../formula-BKgIMfhi.js";
|
|
3
|
-
import { Package } from "ooxml.js";
|
|
3
|
+
import { EmbeddedPresentationSerialiser, Package } from "ooxml.js";
|
|
4
4
|
import { ContentDocument } from "document-schema.js";
|
|
5
5
|
//#region src/edit/pptx/content.d.ts
|
|
6
6
|
interface BuildPptxPackageOptions {
|
|
@@ -8,5 +8,6 @@ interface BuildPptxPackageOptions {
|
|
|
8
8
|
readonly onMathDiagnostic?: OmmlDiagnosticSink;
|
|
9
9
|
}
|
|
10
10
|
declare function buildPptxPackage(content: ContentDocument, options?: BuildPptxPackageOptions): Package;
|
|
11
|
+
declare const embeddedPresentationSerialiser: EmbeddedPresentationSerialiser;
|
|
11
12
|
//#endregion
|
|
12
|
-
export { BuildPptxPackageOptions, buildPptxPackage };
|
|
13
|
+
export { BuildPptxPackageOptions, buildPptxPackage, embeddedPresentationSerialiser };
|